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
