{
  "openapi": "3.0.1",
  "servers": [
    {
      "url": "https://api.hubapi.com"
    }
  ],
  "info": {
    "title": "Automation Actions V4",
    "version": "v4",
    "x-hubspot-api-use-case": "You want to empower other users in your account to automate specialized parts of their day-to-day processes (e.g., creating highly customized quotes based on the data from an enrolled contact and their associations).",
    "x-hubspot-documentation-banner": "NONE",
    "x-hubspot-introduction": "Use the automation API to define custom actions in the HubSpot workflows tool, which allows users in your account to integrate with external services as they build out a HubSpot workflow.",
    "x-hubspot-product-tier-requirements": {
      "marketing": "PROFESSIONAL",
      "sales": "PROFESSIONAL",
      "service": "PROFESSIONAL"
    },
    "x-hubspot-related-documentation": [
      {
        "name": "Custom Workflow Actions Guide",
        "url": "https://hubspot.dev/guides/api/automation/custom-workflow-actions"
      }
    ],
    "x-logo": {
      "url": "https://developers.hubspot.com/hubfs/assets/hubspot.com/buzz/HubSpotOpenGraph.png"
    },
    "x-origin": [
      {
        "format": "openapi",
        "url": "https://api.hubspot.com/api-catalog-public/v1/apis/automation/v4/actions",
        "version": "3.0"
      }
    ],
    "x-providerName": "hubapi.com",
    "x-serviceName": "automation"
  },
  "tags": [
    {
      "name": "Callbacks"
    },
    {
      "name": "Revisions"
    },
    {
      "name": "Functions"
    },
    {
      "name": "Definitions"
    }
  ],
  "paths": {
    "/automation/v4/actions/callbacks/complete": {
      "post": {
        "operationId": "post-/automation/v4/actions/callbacks/complete_completeBatch",
        "parameters": [],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/BatchInputCallbackCompletionBatchRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "204": {
            "content": {},
            "description": "No content"
          },
          "default": {
            "$ref": "#/components/responses/Error"
          }
        },
        "security": [
          {
            "oauth2_legacy": [
              "automation"
            ]
          },
          {
            "private_apps_legacy": []
          }
        ],
        "summary": "Completes a batch of callbacks",
        "tags": [
          "Callbacks"
        ]
      }
    },
    "/automation/v4/actions/callbacks/{callbackId}/complete": {
      "post": {
        "operationId": "post-/automation/v4/actions/callbacks/{callbackId}/complete_complete",
        "parameters": [
          {
            "explode": false,
            "in": "path",
            "name": "callbackId",
            "required": true,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CallbackCompletionRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "204": {
            "content": {},
            "description": "No content"
          },
          "default": {
            "$ref": "#/components/responses/Error"
          }
        },
        "security": [
          {
            "oauth2_legacy": [
              "automation"
            ]
          },
          {
            "private_apps_legacy": []
          }
        ],
        "summary": "Completes a single callback",
        "tags": [
          "Callbacks"
        ]
      }
    },
    "/automation/v4/actions/{appId}": {
      "get": {
        "operationId": "get-/automation/v4/actions/{appId}_getPage",
        "parameters": [
          {
            "description": "The maximum number of results to display per page.",
            "explode": true,
            "in": "query",
            "name": "limit",
            "required": false,
            "schema": {
              "format": "int32",
              "type": "integer"
            },
            "style": "form"
          },
          {
            "description": "The paging cursor token of the last successfully read resource will be returned as the `paging.next.after` JSON property of a paged response containing more results.",
            "explode": true,
            "in": "query",
            "name": "after",
            "required": false,
            "schema": {
              "type": "string"
            },
            "style": "form"
          },
          {
            "description": "Whether to return only results that have been archived.",
            "explode": true,
            "in": "query",
            "name": "archived",
            "required": false,
            "schema": {
              "default": false,
              "type": "boolean"
            },
            "style": "form"
          },
          {
            "explode": false,
            "in": "path",
            "name": "appId",
            "required": true,
            "schema": {
              "format": "int32",
              "type": "integer"
            },
            "style": "simple"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CollectionResponsePublicActionDefinitionForwardPaging"
                }
              }
            },
            "description": "successful operation"
          },
          "default": {
            "$ref": "#/components/responses/Error"
          }
        },
        "security": [
          {
            "developer_hapikey": []
          }
        ],
        "summary": "Get paged extension definitions",
        "tags": [
          "Definitions"
        ]
      },
      "post": {
        "operationId": "post-/automation/v4/actions/{appId}_create",
        "parameters": [
          {
            "explode": false,
            "in": "path",
            "name": "appId",
            "required": true,
            "schema": {
              "format": "int32",
              "type": "integer"
            },
            "style": "simple"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PublicActionDefinitionEgg"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicActionDefinition"
                }
              }
            },
            "description": "successful operation"
          },
          "default": {
            "$ref": "#/components/responses/Error"
          }
        },
        "security": [
          {
            "developer_hapikey": []
          }
        ],
        "summary": "Create a new extension definition",
        "tags": [
          "Definitions"
        ]
      }
    },
    "/automation/v4/actions/{appId}/{definitionId}": {
      "delete": {
        "operationId": "delete-/automation/v4/actions/{appId}/{definitionId}_archive",
        "parameters": [
          {
            "explode": false,
            "in": "path",
            "name": "definitionId",
            "required": true,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          },
          {
            "explode": false,
            "in": "path",
            "name": "appId",
            "required": true,
            "schema": {
              "format": "int32",
              "type": "integer"
            },
            "style": "simple"
          }
        ],
        "responses": {
          "204": {
            "content": {},
            "description": "No content"
          },
          "default": {
            "$ref": "#/components/responses/Error"
          }
        },
        "security": [
          {
            "developer_hapikey": []
          }
        ],
        "summary": "Archive an extension definition",
        "tags": [
          "Definitions"
        ]
      },
      "get": {
        "operationId": "get-/automation/v4/actions/{appId}/{definitionId}_getById",
        "parameters": [
          {
            "explode": false,
            "in": "path",
            "name": "definitionId",
            "required": true,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          },
          {
            "description": "Whether to return only results that have been archived.",
            "explode": true,
            "in": "query",
            "name": "archived",
            "required": false,
            "schema": {
              "default": false,
              "type": "boolean"
            },
            "style": "form"
          },
          {
            "explode": false,
            "in": "path",
            "name": "appId",
            "required": true,
            "schema": {
              "format": "int32",
              "type": "integer"
            },
            "style": "simple"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicActionDefinition"
                }
              }
            },
            "description": "successful operation"
          },
          "default": {
            "$ref": "#/components/responses/Error"
          }
        },
        "security": [
          {
            "developer_hapikey": []
          }
        ],
        "summary": "Get extension definition by Id",
        "tags": [
          "Definitions"
        ]
      },
      "patch": {
        "operationId": "patch-/automation/v4/actions/{appId}/{definitionId}_update",
        "parameters": [
          {
            "explode": false,
            "in": "path",
            "name": "definitionId",
            "required": true,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          },
          {
            "explode": false,
            "in": "path",
            "name": "appId",
            "required": true,
            "schema": {
              "format": "int32",
              "type": "integer"
            },
            "style": "simple"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PublicActionDefinitionPatch"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicActionDefinition"
                }
              }
            },
            "description": "successful operation"
          },
          "default": {
            "$ref": "#/components/responses/Error"
          }
        },
        "security": [
          {
            "developer_hapikey": []
          }
        ],
        "summary": "Patch an existing extension definition",
        "tags": [
          "Definitions"
        ]
      }
    },
    "/automation/v4/actions/{appId}/{definitionId}/functions": {
      "get": {
        "operationId": "get-/automation/v4/actions/{appId}/{definitionId}/functions_getPage",
        "parameters": [
          {
            "explode": false,
            "in": "path",
            "name": "definitionId",
            "required": true,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          },
          {
            "explode": false,
            "in": "path",
            "name": "appId",
            "required": true,
            "schema": {
              "format": "int32",
              "type": "integer"
            },
            "style": "simple"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CollectionResponsePublicActionFunctionIdentifierNoPaging"
                }
              }
            },
            "description": "successful operation"
          },
          "default": {
            "$ref": "#/components/responses/Error"
          }
        },
        "security": [
          {
            "developer_hapikey": []
          }
        ],
        "summary": "Get all functions for a given definition",
        "tags": [
          "Functions"
        ]
      }
    },
    "/automation/v4/actions/{appId}/{definitionId}/functions/{functionType}": {
      "delete": {
        "operationId": "delete-/automation/v4/actions/{appId}/{definitionId}/functions/{functionType}_archiveByFunctionType",
        "parameters": [
          {
            "explode": false,
            "in": "path",
            "name": "definitionId",
            "required": true,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          },
          {
            "explode": false,
            "in": "path",
            "name": "functionType",
            "required": true,
            "schema": {
              "enum": [
                "PRE_ACTION_EXECUTION",
                "PRE_FETCH_OPTIONS",
                "POST_FETCH_OPTIONS",
                "POST_ACTION_EXECUTION"
              ],
              "type": "string"
            },
            "style": "simple"
          },
          {
            "explode": false,
            "in": "path",
            "name": "appId",
            "required": true,
            "schema": {
              "format": "int32",
              "type": "integer"
            },
            "style": "simple"
          }
        ],
        "responses": {
          "204": {
            "content": {},
            "description": "No content"
          },
          "default": {
            "$ref": "#/components/responses/Error"
          }
        },
        "security": [
          {
            "developer_hapikey": []
          }
        ],
        "summary": "Delete a function for a definition",
        "tags": [
          "Functions"
        ]
      },
      "get": {
        "operationId": "get-/automation/v4/actions/{appId}/{definitionId}/functions/{functionType}_getByFunctionType",
        "parameters": [
          {
            "explode": false,
            "in": "path",
            "name": "definitionId",
            "required": true,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          },
          {
            "explode": false,
            "in": "path",
            "name": "functionType",
            "required": true,
            "schema": {
              "enum": [
                "PRE_ACTION_EXECUTION",
                "PRE_FETCH_OPTIONS",
                "POST_FETCH_OPTIONS",
                "POST_ACTION_EXECUTION"
              ],
              "type": "string"
            },
            "style": "simple"
          },
          {
            "explode": false,
            "in": "path",
            "name": "appId",
            "required": true,
            "schema": {
              "format": "int32",
              "type": "integer"
            },
            "style": "simple"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicActionFunction"
                }
              }
            },
            "description": "successful operation"
          },
          "default": {
            "$ref": "#/components/responses/Error"
          }
        },
        "security": [
          {
            "developer_hapikey": []
          }
        ],
        "summary": "Get all functions by a type for a given definition",
        "tags": [
          "Functions"
        ]
      },
      "put": {
        "operationId": "put-/automation/v4/actions/{appId}/{definitionId}/functions/{functionType}_createOrReplaceByFunctionType",
        "parameters": [
          {
            "explode": false,
            "in": "path",
            "name": "definitionId",
            "required": true,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          },
          {
            "explode": false,
            "in": "path",
            "name": "functionType",
            "required": true,
            "schema": {
              "enum": [
                "PRE_ACTION_EXECUTION",
                "PRE_FETCH_OPTIONS",
                "POST_FETCH_OPTIONS",
                "POST_ACTION_EXECUTION"
              ],
              "type": "string"
            },
            "style": "simple"
          },
          {
            "explode": false,
            "in": "path",
            "name": "appId",
            "required": true,
            "schema": {
              "format": "int32",
              "type": "integer"
            },
            "style": "simple"
          }
        ],
        "requestBody": {
          "content": {
            "text/plain": {
              "schema": {
                "type": "string"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicActionFunctionIdentifier"
                }
              }
            },
            "description": "successful operation"
          },
          "default": {
            "$ref": "#/components/responses/Error"
          }
        },
        "security": [
          {
            "developer_hapikey": []
          }
        ],
        "summary": "Insert a function for a definition",
        "tags": [
          "Functions"
        ]
      }
    },
    "/automation/v4/actions/{appId}/{definitionId}/functions/{functionType}/{functionId}": {
      "delete": {
        "operationId": "delete-/automation/v4/actions/{appId}/{definitionId}/functions/{functionType}/{functionId}_archive",
        "parameters": [
          {
            "explode": false,
            "in": "path",
            "name": "definitionId",
            "required": true,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          },
          {
            "explode": false,
            "in": "path",
            "name": "functionType",
            "required": true,
            "schema": {
              "enum": [
                "PRE_ACTION_EXECUTION",
                "PRE_FETCH_OPTIONS",
                "POST_FETCH_OPTIONS",
                "POST_ACTION_EXECUTION"
              ],
              "type": "string"
            },
            "style": "simple"
          },
          {
            "explode": false,
            "in": "path",
            "name": "functionId",
            "required": true,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          },
          {
            "explode": false,
            "in": "path",
            "name": "appId",
            "required": true,
            "schema": {
              "format": "int32",
              "type": "integer"
            },
            "style": "simple"
          }
        ],
        "responses": {
          "204": {
            "content": {},
            "description": "No content"
          },
          "default": {
            "$ref": "#/components/responses/Error"
          }
        },
        "security": [
          {
            "developer_hapikey": []
          }
        ],
        "summary": "Archive a function for a definition",
        "tags": [
          "Functions"
        ]
      },
      "get": {
        "operationId": "get-/automation/v4/actions/{appId}/{definitionId}/functions/{functionType}/{functionId}_getById",
        "parameters": [
          {
            "explode": false,
            "in": "path",
            "name": "definitionId",
            "required": true,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          },
          {
            "explode": false,
            "in": "path",
            "name": "functionType",
            "required": true,
            "schema": {
              "enum": [
                "PRE_ACTION_EXECUTION",
                "PRE_FETCH_OPTIONS",
                "POST_FETCH_OPTIONS",
                "POST_ACTION_EXECUTION"
              ],
              "type": "string"
            },
            "style": "simple"
          },
          {
            "explode": false,
            "in": "path",
            "name": "functionId",
            "required": true,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          },
          {
            "explode": false,
            "in": "path",
            "name": "appId",
            "required": true,
            "schema": {
              "format": "int32",
              "type": "integer"
            },
            "style": "simple"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicActionFunction"
                }
              }
            },
            "description": "successful operation"
          },
          "default": {
            "$ref": "#/components/responses/Error"
          }
        },
        "security": [
          {
            "developer_hapikey": []
          }
        ],
        "summary": "Get a function for a given definition",
        "tags": [
          "Functions"
        ]
      },
      "put": {
        "operationId": "put-/automation/v4/actions/{appId}/{definitionId}/functions/{functionType}/{functionId}_createOrReplace",
        "parameters": [
          {
            "explode": false,
            "in": "path",
            "name": "definitionId",
            "required": true,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          },
          {
            "explode": false,
            "in": "path",
            "name": "functionType",
            "required": true,
            "schema": {
              "enum": [
                "PRE_ACTION_EXECUTION",
                "PRE_FETCH_OPTIONS",
                "POST_FETCH_OPTIONS",
                "POST_ACTION_EXECUTION"
              ],
              "type": "string"
            },
            "style": "simple"
          },
          {
            "explode": false,
            "in": "path",
            "name": "functionId",
            "required": true,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          },
          {
            "explode": false,
            "in": "path",
            "name": "appId",
            "required": true,
            "schema": {
              "format": "int32",
              "type": "integer"
            },
            "style": "simple"
          }
        ],
        "requestBody": {
          "content": {
            "text/plain": {
              "schema": {
                "type": "string"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicActionFunctionIdentifier"
                }
              }
            },
            "description": "successful operation"
          },
          "default": {
            "$ref": "#/components/responses/Error"
          }
        },
        "security": [
          {
            "developer_hapikey": []
          }
        ],
        "summary": "Insert a function for a definition",
        "tags": [
          "Functions"
        ]
      }
    },
    "/automation/v4/actions/{appId}/{definitionId}/revisions": {
      "get": {
        "operationId": "get-/automation/v4/actions/{appId}/{definitionId}/revisions_getPage",
        "parameters": [
          {
            "explode": false,
            "in": "path",
            "name": "definitionId",
            "required": true,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          },
          {
            "description": "The maximum number of results to display per page.",
            "explode": true,
            "in": "query",
            "name": "limit",
            "required": false,
            "schema": {
              "format": "int32",
              "type": "integer"
            },
            "style": "form"
          },
          {
            "description": "The paging cursor token of the last successfully read resource will be returned as the `paging.next.after` JSON property of a paged response containing more results.",
            "explode": true,
            "in": "query",
            "name": "after",
            "required": false,
            "schema": {
              "type": "string"
            },
            "style": "form"
          },
          {
            "explode": false,
            "in": "path",
            "name": "appId",
            "required": true,
            "schema": {
              "format": "int32",
              "type": "integer"
            },
            "style": "simple"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CollectionResponsePublicActionRevisionForwardPaging"
                }
              }
            },
            "description": "successful operation"
          },
          "default": {
            "$ref": "#/components/responses/Error"
          }
        },
        "security": [
          {
            "developer_hapikey": []
          }
        ],
        "summary": "Get all revisions for a given definition",
        "tags": [
          "Revisions"
        ]
      }
    },
    "/automation/v4/actions/{appId}/{definitionId}/revisions/{revisionId}": {
      "get": {
        "operationId": "get-/automation/v4/actions/{appId}/{definitionId}/revisions/{revisionId}_getById",
        "parameters": [
          {
            "explode": false,
            "in": "path",
            "name": "definitionId",
            "required": true,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          },
          {
            "explode": false,
            "in": "path",
            "name": "revisionId",
            "required": true,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          },
          {
            "explode": false,
            "in": "path",
            "name": "appId",
            "required": true,
            "schema": {
              "format": "int32",
              "type": "integer"
            },
            "style": "simple"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicActionRevision"
                }
              }
            },
            "description": "successful operation"
          },
          "default": {
            "$ref": "#/components/responses/Error"
          }
        },
        "security": [
          {
            "developer_hapikey": []
          }
        ],
        "summary": "Gets a revision for a given definition by revision id",
        "tags": [
          "Revisions"
        ]
      }
    }
  },
  "components": {
    "responses": {
      "Error": {
        "content": {
          "*/*": {
            "schema": {
              "$ref": "#/components/schemas/Error"
            }
          }
        },
        "description": "An error occurred."
      }
    },
    "schemas": {
      "BatchInputCallbackCompletionBatchRequest": {
        "properties": {
          "inputs": {
            "items": {
              "$ref": "#/components/schemas/CallbackCompletionBatchRequest"
            },
            "type": "array"
          }
        },
        "required": [
          "inputs"
        ],
        "type": "object"
      },
      "CallbackCompletionBatchRequest": {
        "properties": {
          "callbackId": {
            "type": "string"
          },
          "outputFields": {
            "additionalProperties": {
              "type": "string"
            },
            "type": "object"
          }
        },
        "required": [
          "callbackId",
          "outputFields"
        ],
        "type": "object"
      },
      "CallbackCompletionRequest": {
        "properties": {
          "outputFields": {
            "additionalProperties": {
              "type": "string"
            },
            "type": "object"
          }
        },
        "required": [
          "outputFields"
        ],
        "type": "object"
      },
      "CollectionResponsePublicActionDefinitionForwardPaging": {
        "properties": {
          "paging": {
            "$ref": "#/components/schemas/ForwardPaging"
          },
          "results": {
            "items": {
              "$ref": "#/components/schemas/PublicActionDefinition"
            },
            "type": "array"
          }
        },
        "required": [
          "results"
        ],
        "type": "object"
      },
      "CollectionResponsePublicActionFunctionIdentifierNoPaging": {
        "properties": {
          "results": {
            "items": {
              "$ref": "#/components/schemas/PublicActionFunctionIdentifier"
            },
            "type": "array"
          }
        },
        "required": [
          "results"
        ],
        "type": "object"
      },
      "CollectionResponsePublicActionRevisionForwardPaging": {
        "properties": {
          "paging": {
            "$ref": "#/components/schemas/ForwardPaging"
          },
          "results": {
            "items": {
              "$ref": "#/components/schemas/PublicActionRevision"
            },
            "type": "array"
          }
        },
        "required": [
          "results"
        ],
        "type": "object"
      },
      "Error": {
        "example": {
          "category": "VALIDATION_ERROR",
          "correlationId": "aeb5f871-7f07-4993-9211-075dc63e7cbf",
          "links": {
            "knowledge-base": "https://www.hubspot.com/products/service/knowledge-base"
          },
          "message": "Invalid input (details will vary based on the error)"
        },
        "properties": {
          "category": {
            "description": "The error category",
            "example": "VALIDATION_ERROR",
            "type": "string"
          },
          "context": {
            "additionalProperties": {
              "items": {
                "type": "string"
              },
              "type": "array"
            },
            "description": "Context about the error condition",
            "example": {
              "invalidPropertyName": [
                "propertyValue"
              ],
              "missingScopes": [
                "scope1",
                "scope2"
              ]
            },
            "type": "object"
          },
          "correlationId": {
            "description": "A unique identifier for the request. Include this value with any error reports or support tickets",
            "example": "aeb5f871-7f07-4993-9211-075dc63e7cbf",
            "format": "uuid",
            "type": "string"
          },
          "errors": {
            "description": "further information about the error",
            "items": {
              "$ref": "#/components/schemas/ErrorDetail"
            },
            "type": "array"
          },
          "links": {
            "additionalProperties": {
              "type": "string"
            },
            "description": "A map of link names to associated URIs containing documentation about the error or recommended remediation steps",
            "example": {
              "knowledge-base": "https://www.hubspot.com/products/service/knowledge-base"
            },
            "type": "object"
          },
          "message": {
            "description": "A human readable message describing the error along with remediation steps where appropriate",
            "example": "Invalid input (details will vary based on the error)",
            "type": "string"
          },
          "subCategory": {
            "description": "A specific category that contains more specific detail about the error",
            "type": "string"
          }
        },
        "required": [
          "category",
          "correlationId",
          "message"
        ],
        "type": "object"
      },
      "ErrorDetail": {
        "properties": {
          "code": {
            "description": "The status code associated with the error detail",
            "type": "string"
          },
          "context": {
            "additionalProperties": {
              "items": {
                "type": "string"
              },
              "type": "array"
            },
            "description": "Context about the error condition",
            "example": {
              "missingScopes": [
                "scope1",
                "scope2"
              ]
            },
            "type": "object"
          },
          "in": {
            "description": "The name of the field or parameter in which the error was found.",
            "type": "string"
          },
          "message": {
            "description": "A human readable message describing the error along with remediation steps where appropriate",
            "type": "string"
          },
          "subCategory": {
            "description": "A specific category that contains more specific detail about the error",
            "type": "string"
          }
        },
        "required": [
          "message"
        ],
        "type": "object"
      },
      "FieldTypeDefinition": {
        "properties": {
          "description": {
            "type": "string"
          },
          "externalOptions": {
            "type": "boolean"
          },
          "externalOptionsReferenceType": {
            "type": "string"
          },
          "fieldType": {
            "enum": [
              "booleancheckbox",
              "checkbox",
              "date",
              "file",
              "number",
              "phonenumber",
              "radio",
              "select",
              "text",
              "textarea",
              "calculation_equation",
              "calculation_rollup",
              "calculation_score",
              "calculation_read_time",
              "unknown",
              "html"
            ],
            "type": "string"
          },
          "helpText": {
            "type": "string"
          },
          "label": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "options": {
            "items": {
              "$ref": "#/components/schemas/Option"
            },
            "type": "array"
          },
          "optionsUrl": {
            "type": "string"
          },
          "referencedObjectType": {
            "enum": [
              "CONTACT",
              "COMPANY",
              "DEAL",
              "ENGAGEMENT",
              "TICKET",
              "OWNER",
              "PRODUCT",
              "LINE_ITEM",
              "BET_DELIVERABLE_SERVICE",
              "CONTENT",
              "CONVERSATION",
              "BET_ALERT",
              "PORTAL",
              "QUOTE",
              "FORM_SUBMISSION_INBOUNDDB",
              "QUOTA",
              "UNSUBSCRIBE",
              "COMMUNICATION",
              "FEEDBACK_SUBMISSION",
              "ATTRIBUTION",
              "SALESFORCE_SYNC_ERROR",
              "RESTORABLE_CRM_OBJECT",
              "HUB",
              "LANDING_PAGE",
              "PRODUCT_OR_FOLDER",
              "TASK",
              "FORM",
              "MARKETING_EMAIL",
              "AD_ACCOUNT",
              "AD_CAMPAIGN",
              "AD_GROUP",
              "AD",
              "KEYWORD",
              "CAMPAIGN",
              "SOCIAL_CHANNEL",
              "SOCIAL_POST",
              "SITE_PAGE",
              "BLOG_POST",
              "IMPORT",
              "EXPORT",
              "CTA",
              "TASK_TEMPLATE",
              "AUTOMATION_PLATFORM_FLOW",
              "OBJECT_LIST",
              "NOTE",
              "MEETING_EVENT",
              "CALL",
              "EMAIL",
              "PUBLISHING_TASK",
              "CONVERSATION_SESSION",
              "CONTACT_CREATE_ATTRIBUTION",
              "INVOICE",
              "MARKETING_EVENT",
              "CONVERSATION_INBOX",
              "CHATFLOW",
              "MEDIA_BRIDGE",
              "SEQUENCE",
              "SEQUENCE_STEP",
              "FORECAST",
              "SNIPPET",
              "TEMPLATE",
              "DEAL_CREATE_ATTRIBUTION",
              "QUOTE_TEMPLATE",
              "QUOTE_MODULE",
              "QUOTE_MODULE_FIELD",
              "QUOTE_FIELD",
              "SEQUENCE_ENROLLMENT",
              "SUBSCRIPTION",
              "ACCEPTANCE_TEST",
              "SOCIAL_BROADCAST",
              "DEAL_SPLIT",
              "DEAL_REGISTRATION",
              "GOAL_TARGET",
              "GOAL_TARGET_GROUP",
              "PORTAL_OBJECT_SYNC_MESSAGE",
              "FILE_MANAGER_FILE",
              "FILE_MANAGER_FOLDER",
              "SEQUENCE_STEP_ENROLLMENT",
              "APPROVAL",
              "APPROVAL_STEP",
              "CTA_VARIANT",
              "SALES_DOCUMENT",
              "DISCOUNT",
              "FEE",
              "TAX",
              "MARKETING_CALENDAR",
              "PERMISSIONS_TESTING",
              "PRIVACY_SCANNER_COOKIE",
              "DATA_SYNC_STATE",
              "WEB_INTERACTIVE",
              "PLAYBOOK",
              "FOLDER",
              "PLAYBOOK_QUESTION",
              "PLAYBOOK_SUBMISSION",
              "PLAYBOOK_SUBMISSION_ANSWER",
              "COMMERCE_PAYMENT",
              "GSC_PROPERTY",
              "SOX_PROTECTED_DUMMY_TYPE",
              "BLOG_LISTING_PAGE",
              "QUARANTINED_SUBMISSION",
              "PAYMENT_SCHEDULE",
              "PAYMENT_SCHEDULE_INSTALLMENT",
              "MARKETING_CAMPAIGN_UTM",
              "DISCOUNT_TEMPLATE",
              "DISCOUNT_CODE",
              "FEEDBACK_SURVEY",
              "CMS_URL",
              "SALES_TASK",
              "SALES_WORKLOAD",
              "USER",
              "POSTAL_MAIL",
              "SCHEMAS_BACKEND_TEST",
              "PAYMENT_LINK",
              "SUBMISSION_TAG",
              "CAMPAIGN_STEP",
              "SCHEDULING_PAGE",
              "SOX_PROTECTED_TEST_TYPE",
              "ORDER",
              "MARKETING_SMS",
              "PARTNER_ACCOUNT",
              "CAMPAIGN_TEMPLATE",
              "CAMPAIGN_TEMPLATE_STEP",
              "PLAYLIST",
              "CLIP",
              "CAMPAIGN_BUDGET_ITEM",
              "CAMPAIGN_SPEND_ITEM",
              "MIC",
              "CONTENT_AUDIT",
              "CONTENT_AUDIT_PAGE",
              "PLAYLIST_FOLDER",
              "LEAD",
              "ABANDONED_CART",
              "EXTERNAL_WEB_URL",
              "VIEW",
              "VIEW_BLOCK",
              "ROSTER",
              "CART",
              "AUTOMATION_PLATFORM_FLOW_ACTION",
              "SOCIAL_PROFILE",
              "PARTNER_CLIENT",
              "ROSTER_MEMBER",
              "MARKETING_EVENT_ATTENDANCE",
              "ALL_PAGES",
              "AI_FORECAST",
              "CRM_PIPELINES_DUMMY_TYPE",
              "KNOWLEDGE_ARTICLE",
              "PROPERTY_INFO",
              "DATA_PRIVACY_CONSENT",
              "GOAL_TEMPLATE",
              "SCORE_CONFIGURATION",
              "AUDIENCE",
              "PARTNER_CLIENT_REVENUE",
              "AUTOMATION_JOURNEY",
              "UNKNOWN"
            ],
            "type": "string"
          },
          "type": {
            "enum": [
              "string",
              "number",
              "bool",
              "datetime",
              "enumeration",
              "date",
              "phone_number",
              "currency_number",
              "json",
              "object_coordinates"
            ],
            "type": "string"
          }
        },
        "required": [
          "externalOptions",
          "name",
          "options",
          "type"
        ],
        "type": "object"
      },
      "ForwardPaging": {
        "properties": {
          "next": {
            "$ref": "#/components/schemas/NextPage"
          }
        },
        "type": "object"
      },
      "InputFieldDefinition": {
        "properties": {
          "automationFieldType": {
            "type": "string"
          },
          "isRequired": {
            "type": "boolean"
          },
          "supportedValueTypes": {
            "items": {
              "enum": [
                "STATIC_VALUE",
                "OBJECT_PROPERTY",
                "FIELD_DATA",
                "FETCHED_OBJECT_PROPERTY",
                "ENROLLMENT_EVENT_PROPERTY"
              ],
              "type": "string"
            },
            "type": "array"
          },
          "typeDefinition": {
            "$ref": "#/components/schemas/FieldTypeDefinition"
          }
        },
        "required": [
          "isRequired",
          "typeDefinition"
        ],
        "type": "object"
      },
      "NextPage": {
        "properties": {
          "after": {
            "type": "string"
          },
          "link": {
            "type": "string"
          }
        },
        "required": [
          "after"
        ],
        "type": "object"
      },
      "Option": {
        "properties": {
          "description": {
            "type": "string"
          },
          "displayOrder": {
            "format": "int32",
            "type": "integer"
          },
          "doubleData": {
            "type": "number"
          },
          "hidden": {
            "type": "boolean"
          },
          "label": {
            "type": "string"
          },
          "readOnly": {
            "type": "boolean"
          },
          "value": {
            "type": "string"
          }
        },
        "required": [
          "description",
          "displayOrder",
          "doubleData",
          "hidden",
          "label",
          "readOnly",
          "value"
        ],
        "type": "object"
      },
      "OutputFieldDefinition": {
        "properties": {
          "typeDefinition": {
            "$ref": "#/components/schemas/FieldTypeDefinition"
          }
        },
        "required": [
          "typeDefinition"
        ],
        "type": "object"
      },
      "PublicActionDefinition": {
        "properties": {
          "actionUrl": {
            "type": "string"
          },
          "archivedAt": {
            "format": "int64",
            "type": "integer"
          },
          "executionRules": {
            "items": {
              "$ref": "#/components/schemas/PublicExecutionTranslationRule"
            },
            "type": "array"
          },
          "functions": {
            "items": {
              "$ref": "#/components/schemas/PublicActionFunctionIdentifier"
            },
            "type": "array"
          },
          "id": {
            "type": "string"
          },
          "inputFieldDependencies": {
            "items": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/PublicSingleFieldDependency"
                },
                {
                  "$ref": "#/components/schemas/PublicConditionalSingleFieldDependency"
                }
              ]
            },
            "type": "array"
          },
          "inputFields": {
            "items": {
              "$ref": "#/components/schemas/InputFieldDefinition"
            },
            "type": "array"
          },
          "labels": {
            "additionalProperties": {
              "$ref": "#/components/schemas/PublicActionLabels"
            },
            "type": "object"
          },
          "objectRequestOptions": {
            "$ref": "#/components/schemas/PublicObjectRequestOptions"
          },
          "objectTypes": {
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "outputFields": {
            "items": {
              "$ref": "#/components/schemas/OutputFieldDefinition"
            },
            "type": "array"
          },
          "published": {
            "type": "boolean"
          },
          "revisionId": {
            "type": "string"
          }
        },
        "required": [
          "actionUrl",
          "functions",
          "id",
          "inputFields",
          "labels",
          "objectTypes",
          "published",
          "revisionId"
        ],
        "type": "object"
      },
      "PublicActionDefinitionEgg": {
        "properties": {
          "actionUrl": {
            "type": "string"
          },
          "archivedAt": {
            "format": "int64",
            "type": "integer"
          },
          "executionRules": {
            "items": {
              "$ref": "#/components/schemas/PublicExecutionTranslationRule"
            },
            "type": "array"
          },
          "functions": {
            "items": {
              "$ref": "#/components/schemas/PublicActionFunction"
            },
            "type": "array"
          },
          "inputFieldDependencies": {
            "items": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/PublicSingleFieldDependency"
                },
                {
                  "$ref": "#/components/schemas/PublicConditionalSingleFieldDependency"
                }
              ]
            },
            "type": "array"
          },
          "inputFields": {
            "items": {
              "$ref": "#/components/schemas/InputFieldDefinition"
            },
            "type": "array"
          },
          "labels": {
            "additionalProperties": {
              "$ref": "#/components/schemas/PublicActionLabels"
            },
            "type": "object"
          },
          "objectRequestOptions": {
            "$ref": "#/components/schemas/PublicObjectRequestOptions"
          },
          "objectTypes": {
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "outputFields": {
            "items": {
              "$ref": "#/components/schemas/OutputFieldDefinition"
            },
            "type": "array"
          },
          "published": {
            "type": "boolean"
          }
        },
        "required": [
          "actionUrl",
          "functions",
          "inputFields",
          "labels",
          "objectTypes",
          "published"
        ],
        "type": "object"
      },
      "PublicActionDefinitionPatch": {
        "properties": {
          "actionUrl": {
            "type": "string"
          },
          "executionRules": {
            "items": {
              "$ref": "#/components/schemas/PublicExecutionTranslationRule"
            },
            "type": "array"
          },
          "inputFieldDependencies": {
            "items": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/PublicSingleFieldDependency"
                },
                {
                  "$ref": "#/components/schemas/PublicConditionalSingleFieldDependency"
                }
              ]
            },
            "type": "array"
          },
          "inputFields": {
            "items": {
              "$ref": "#/components/schemas/InputFieldDefinition"
            },
            "type": "array"
          },
          "labels": {
            "additionalProperties": {
              "$ref": "#/components/schemas/PublicActionLabels"
            },
            "type": "object"
          },
          "objectRequestOptions": {
            "$ref": "#/components/schemas/PublicObjectRequestOptions"
          },
          "objectTypes": {
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "outputFields": {
            "items": {
              "$ref": "#/components/schemas/OutputFieldDefinition"
            },
            "type": "array"
          },
          "published": {
            "type": "boolean"
          }
        },
        "type": "object"
      },
      "PublicActionFunction": {
        "properties": {
          "functionSource": {
            "type": "string"
          },
          "functionType": {
            "enum": [
              "PRE_ACTION_EXECUTION",
              "PRE_FETCH_OPTIONS",
              "POST_FETCH_OPTIONS",
              "POST_ACTION_EXECUTION"
            ],
            "type": "string"
          },
          "id": {
            "type": "string"
          }
        },
        "required": [
          "functionSource",
          "functionType"
        ],
        "type": "object"
      },
      "PublicActionFunctionIdentifier": {
        "properties": {
          "functionType": {
            "enum": [
              "PRE_ACTION_EXECUTION",
              "PRE_FETCH_OPTIONS",
              "POST_FETCH_OPTIONS",
              "POST_ACTION_EXECUTION"
            ],
            "type": "string"
          },
          "id": {
            "type": "string"
          }
        },
        "required": [
          "functionType"
        ],
        "type": "object"
      },
      "PublicActionLabels": {
        "properties": {
          "actionCardContent": {
            "type": "string"
          },
          "actionDescription": {
            "type": "string"
          },
          "actionName": {
            "type": "string"
          },
          "appDisplayName": {
            "type": "string"
          },
          "executionRules": {
            "additionalProperties": {
              "type": "string"
            },
            "type": "object"
          },
          "inputFieldDescriptions": {
            "additionalProperties": {
              "type": "string"
            },
            "type": "object"
          },
          "inputFieldLabels": {
            "additionalProperties": {
              "type": "string"
            },
            "type": "object"
          },
          "inputFieldOptionLabels": {
            "additionalProperties": {
              "additionalProperties": {
                "type": "string"
              },
              "type": "object"
            },
            "type": "object"
          },
          "outputFieldLabels": {
            "additionalProperties": {
              "type": "string"
            },
            "type": "object"
          }
        },
        "required": [
          "actionName"
        ],
        "type": "object"
      },
      "PublicActionRevision": {
        "properties": {
          "createdAt": {
            "format": "date-time",
            "type": "string"
          },
          "definition": {
            "$ref": "#/components/schemas/PublicActionDefinition"
          },
          "id": {
            "type": "string"
          },
          "revisionId": {
            "type": "string"
          }
        },
        "required": [
          "createdAt",
          "definition",
          "id",
          "revisionId"
        ],
        "type": "object"
      },
      "PublicConditionalSingleFieldDependency": {
        "properties": {
          "controllingFieldName": {
            "type": "string"
          },
          "controllingFieldValue": {
            "type": "string"
          },
          "dependencyType": {
            "default": "CONDITIONAL_SINGLE_FIELD",
            "enum": [
              "CONDITIONAL_SINGLE_FIELD"
            ],
            "type": "string"
          },
          "dependentFieldNames": {
            "items": {
              "type": "string"
            },
            "type": "array"
          }
        },
        "required": [
          "controllingFieldName",
          "controllingFieldValue",
          "dependencyType",
          "dependentFieldNames"
        ],
        "title": "CONDITIONAL_SINGLE_FIELD",
        "type": "object"
      },
      "PublicExecutionTranslationRule": {
        "properties": {
          "conditions": {
            "additionalProperties": {
              "properties": {},
              "type": "object"
            },
            "type": "object"
          },
          "labelName": {
            "type": "string"
          }
        },
        "required": [
          "conditions",
          "labelName"
        ],
        "type": "object"
      },
      "PublicObjectRequestOptions": {
        "properties": {
          "properties": {
            "items": {
              "type": "string"
            },
            "type": "array"
          }
        },
        "required": [
          "properties"
        ],
        "type": "object"
      },
      "PublicSingleFieldDependency": {
        "properties": {
          "controllingFieldName": {
            "type": "string"
          },
          "dependencyType": {
            "default": "SINGLE_FIELD",
            "enum": [
              "SINGLE_FIELD"
            ],
            "type": "string"
          },
          "dependentFieldNames": {
            "items": {
              "type": "string"
            },
            "type": "array"
          }
        },
        "required": [
          "controllingFieldName",
          "dependencyType",
          "dependentFieldNames"
        ],
        "title": "SINGLE_FIELD",
        "type": "object"
      }
    },
    "securitySchemes": {
      "developer_hapikey": {
        "in": "query",
        "name": "hapikey",
        "type": "apiKey"
      },
      "oauth2_legacy": {
        "flows": {
          "authorizationCode": {
            "authorizationUrl": "https://app.hubspot.com/oauth/authorize",
            "scopes": {
              "automation": "Read from and write to my Workflows"
            },
            "tokenUrl": "https://api.hubapi.com/oauth/v1/token"
          }
        },
        "type": "oauth2"
      },
      "private_apps_legacy": {
        "in": "header",
        "name": "private-app-legacy",
        "type": "apiKey"
      }
    }
  },
  "x-hubspot-available-client-libraries": [
    "PHP",
    "Node",
    "Ruby",
    "Python"
  ],
  "x-hubspot-documentation-banner": "NONE",
  "x-hubspot-product-tier-requirements": {
    "marketing": "PROFESSIONAL",
    "sales": "PROFESSIONAL",
    "service": "PROFESSIONAL"
  }
}