# Update Goal Action

Updates an automation goal's condition, revenue or savings without moving its successor. Omitted settings stay; supplied lists replace prior lists. Requires an unscheduled, inactive automation and its current revision from get-automation; dryRun previews without saving.

## Input schema:

```json
{
  "type": "object",
  "properties": {
    "automationId": {
      "type": "integer",
      "minimum": 1
    },
    "actionId": {
      "type": "integer",
      "minimum": 1
    },
    "revision": {
      "type": "string",
      "pattern": "^[a-f0-9]{64}$"
    },
    "settings": {
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "name": {
          "type": "string",
          "maxLength": 250
        },
        "color": {
          "type": "string",
          "enum": [
            "",
            "teal-light",
            "peach-light",
            "pink-light",
            "violet-light",
            "blue-light",
            "silver-light",
            "brown-light",
            "yellow-light",
            "green-light",
            "coldgreen-light",
            "teal-dark",
            "peach-dark",
            "pink-dark",
            "violet-dark",
            "blue-dark",
            "silver-dark",
            "brown-dark",
            "yellow-dark",
            "green-dark",
            "coldgreen-dark"
          ],
          "description": "Card colour from the editor palette, e.g. green-dark or blue-light. An empty string uses the default colour of the action type."
        },
        "segmentsOpAND": {
          "type": "boolean"
        },
        "segments": {
          "type": "array",
          "maxItems": 100,
          "items": {
            "type": "object",
            "additionalProperties": false,
            "required": [
              "conditionsOpAND",
              "conditions"
            ],
            "properties": {
              "conditionsOpAND": {
                "type": "boolean"
              },
              "conditions": {
                "type": "array",
                "maxItems": 100,
                "items": {
                  "type": "object",
                  "additionalProperties": false,
                  "required": [
                    "op",
                    "field"
                  ],
                  "properties": {
                    "op": {
                      "type": "string",
                      "minLength": 1,
                      "maxLength": 150
                    },
                    "field": {
                      "type": [
                        "string",
                        "integer"
                      ]
                    },
                    "value": {
                      "anyOf": [
                        {
                          "type": [
                            "string",
                            "number",
                            "boolean"
                          ]
                        },
                        {
                          "type": "array",
                          "maxItems": 100,
                          "items": {
                            "type": [
                              "string",
                              "number",
                              "boolean"
                            ]
                          }
                        }
                      ]
                    },
                    "value2": {
                      "anyOf": [
                        {
                          "type": [
                            "string",
                            "number",
                            "boolean"
                          ]
                        },
                        {
                          "type": "array",
                          "maxItems": 100,
                          "items": {
                            "type": [
                              "string",
                              "number",
                              "boolean"
                            ]
                          }
                        }
                      ]
                    }
                  }
                }
              }
            }
          }
        },
        "revenue": {
          "type": "number",
          "description": "Revenue of reaching the goal, in cents: 1000 is 10.00 EUR."
        },
        "savings": {
          "type": "number",
          "description": "Cost saving of reaching the goal, in cents: 1000 is 10.00 EUR."
        }
      }
    },
    "dryRun": {
      "type": "boolean",
      "default": false
    },
    "accountId": {
      "type": [
        "null",
        "integer"
      ],
      "default": null,
      "minimum": 1
    }
  },
  "required": [
    "automationId",
    "actionId",
    "revision",
    "settings"
  ],
  "additionalProperties": false
}
```

## Output schema:

```json
{
  "type": "object",
  "required": [
    "automationId",
    "name",
    "revision",
    "status",
    "editorUrl",
    "graph",
    "findings",
    "editable",
    "dryRun",
    "settings",
    "splitTests"
  ],
  "properties": {
    "automationId": {
      "type": "integer"
    },
    "name": {
      "type": "string"
    },
    "revision": {
      "type": "string"
    },
    "status": {
      "type": "string"
    },
    "editorUrl": {
      "type": "string"
    },
    "graph": {
      "type": "object",
      "required": [
        "start",
        "goals",
        "states"
      ],
      "properties": {
        "start": {
          "type": "integer"
        },
        "goals": {
          "type": "array",
          "items": {
            "type": "integer"
          }
        },
        "states": {
          "type": "array",
          "items": {
            "type": "object",
            "required": [
              "id",
              "type",
              "next",
              "nextNo"
            ],
            "properties": {
              "id": {
                "type": "integer"
              },
              "type": {
                "type": "string"
              },
              "next": {
                "type": "integer"
              },
              "nextNo": {
                "type": "integer"
              }
            },
            "additionalProperties": true
          }
        }
      }
    },
    "findings": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "actionId",
          "code",
          "message",
          "warning",
          "variantId"
        ],
        "properties": {
          "actionId": {
            "type": "integer"
          },
          "code": {
            "type": "string"
          },
          "message": {
            "type": "string"
          },
          "warning": {
            "type": "boolean"
          },
          "variantId": {
            "type": "integer"
          }
        }
      }
    },
    "editable": {
      "type": "boolean"
    },
    "dryRun": {
      "type": "boolean"
    },
    "settings": {
      "type": [
        "object",
        "array"
      ]
    },
    "splitTests": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "actionId",
          "id"
        ],
        "properties": {
          "actionId": {
            "type": "integer"
          },
          "id": {
            "type": "integer"
          },
          "missing": {
            "type": "boolean"
          },
          "revision": {
            "type": [
              "string",
              "null"
            ]
          },
          "durationSeconds": {
            "type": "integer"
          },
          "started": {
            "type": "integer"
          },
          "finished": {
            "type": "integer"
          },
          "winnerIndex": {
            "type": "integer"
          },
          "variants": {
            "type": "array",
            "items": {
              "type": "object",
              "required": [
                "kind",
                "entityId",
                "weight",
                "goalTagId"
              ],
              "properties": {
                "kind": {
                  "type": "string"
                },
                "entityId": {
                  "type": "integer"
                },
                "weight": {
                  "type": "integer"
                },
                "goalTagId": {
                  "type": "integer"
                },
                "contactCount": {
                  "type": "integer"
                },
                "conversionCount": {
                  "type": "integer"
                }
              }
            }
          }
        }
      }
    }
  }
}
```

