openapi: 3.0.1 info: title: HubSpot Automation Actions v4 description: Basepom for all HubSpot Projects version: 2026-09 x-hubspot-product-tier-requirements: marketing: PROFESSIONAL sales: PROFESSIONAL service: PROFESSIONAL cms: PROFESSIONAL commerce: PROFESSIONAL crmHub: PROFESSIONAL dataHub: PROFESSIONAL servers: - url: https://api.hubapi.com tags: - name: Callbacks - name: Definitions - name: Functions - name: Revisions paths: /automation/actions/2026-09/{appId}: get: tags: - Definitions summary: Retrieve custom action definitions description: Retrieve custom workflow action definitions by app ID. operationId: get-/automation/actions/2026-09/{appId}_getPage parameters: - name: appId in: path description: '' required: true style: simple explode: false schema: type: integer format: int32 - name: after in: query 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. required: false style: form explode: true schema: type: string - name: archived in: query description: Whether to return only results that have been archived. required: false style: form explode: true schema: type: boolean default: false - name: limit in: query description: The maximum number of results to display per page. required: false style: form explode: true schema: type: integer format: int32 responses: '200': description: successful operation content: application/json: schema: $ref: '#/components/schemas/CollectionResponsePublicActionDefinitionForwardPaging' default: description: '' $ref: '#/components/responses/Error' security: - oauth2: - developers-read post: tags: - Definitions summary: Create a new custom action definition description: Create a new custom workflow action. operationId: post-/automation/actions/2026-09/{appId}_create parameters: - name: appId in: path description: '' required: true style: simple explode: false schema: type: integer format: int32 requestBody: content: application/json: schema: $ref: '#/components/schemas/PublicActionDefinitionEgg' required: true responses: '201': description: successful operation headers: Location: description: URL of the newly created resource style: simple explode: false schema: type: string content: application/json: schema: $ref: '#/components/schemas/PublicActionDefinition' default: description: '' $ref: '#/components/responses/Error' security: - oauth2: - developers-write /automation/actions/2026-09/{appId}/{definitionId}: get: tags: - Definitions summary: Retrieve a custom action definition description: Retrieve a custom workflow action definition by ID. operationId: get-/automation/actions/2026-09/{appId}/{definitionId}_getById parameters: - name: appId in: path description: '' required: true style: simple explode: false schema: type: integer format: int32 - name: definitionId in: path description: '' required: true style: simple explode: false schema: type: string - name: archived in: query description: Whether to return only results that have been archived. required: false style: form explode: true schema: type: boolean default: false responses: '200': description: successful operation content: application/json: schema: $ref: '#/components/schemas/PublicActionDefinition' default: description: '' $ref: '#/components/responses/Error' security: - oauth2: - developers-read delete: tags: - Definitions summary: Delete an action definition description: Delete an action definition by ID. operationId: delete-/automation/actions/2026-09/{appId}/{definitionId}_archive parameters: - name: appId in: path description: '' required: true style: simple explode: false schema: type: integer format: int32 - name: definitionId in: path description: '' required: true style: simple explode: false schema: type: string responses: '204': description: No content content: {} default: description: '' $ref: '#/components/responses/Error' security: - oauth2: - developers-write patch: tags: - Definitions summary: Update an existing action definition description: Update an existing action definition by ID. operationId: patch-/automation/actions/2026-09/{appId}/{definitionId}_update parameters: - name: appId in: path description: '' required: true style: simple explode: false schema: type: integer format: int32 - name: definitionId in: path description: '' required: true style: simple explode: false schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/PublicActionDefinitionPatch' required: true responses: '200': description: successful operation content: application/json: schema: $ref: '#/components/schemas/PublicActionDefinition' default: description: '' $ref: '#/components/responses/Error' security: - oauth2: - developers-write /automation/actions/2026-09/{appId}/{definitionId}/functions: get: tags: - Functions summary: Retrieve functions for a given definition description: Retrieve all functions included in a definition. operationId: get-/automation/actions/2026-09/{appId}/{definitionId}/functions_getPage parameters: - name: appId in: path description: '' required: true style: simple explode: false schema: type: integer format: int32 - name: definitionId in: path description: '' required: true style: simple explode: false schema: type: string responses: '200': description: successful operation content: application/json: schema: $ref: '#/components/schemas/CollectionResponsePublicActionFunctionIdentifierNoPaging' default: description: '' $ref: '#/components/responses/Error' security: - oauth2: - developers-read /automation/actions/2026-09/{appId}/{definitionId}/functions/{functionType}: get: tags: - Functions summary: Retrieve functions by a type for a given definition description: Retrieve functions of a specific type for a given definition. operationId: get-/automation/actions/2026-09/{appId}/{definitionId}/functions/{functionType}_getByFunctionType parameters: - name: appId in: path description: '' required: true style: simple explode: false schema: type: integer format: int32 - name: definitionId in: path description: '' required: true style: simple explode: false schema: type: string - name: functionType in: path description: '' required: true style: simple explode: false schema: type: string enum: - POST_ACTION_EXECUTION - POST_FETCH_OPTIONS - PRE_ACTION_EXECUTION - PRE_FETCH_OPTIONS responses: '200': description: successful operation content: application/json: schema: $ref: '#/components/schemas/PublicActionFunction' default: description: '' $ref: '#/components/responses/Error' security: - oauth2: - developers-read put: tags: - Functions summary: Insert a function for a definition description: Add a function for a given definition. operationId: put-/automation/actions/2026-09/{appId}/{definitionId}/functions/{functionType}_createOrReplaceByFunctionType parameters: - name: appId in: path description: '' required: true style: simple explode: false schema: type: integer format: int32 - name: definitionId in: path description: '' required: true style: simple explode: false schema: type: string - name: functionType in: path description: '' required: true style: simple explode: false schema: type: string enum: - POST_ACTION_EXECUTION - POST_FETCH_OPTIONS - PRE_ACTION_EXECUTION - PRE_FETCH_OPTIONS requestBody: content: text/plain: schema: type: string required: true responses: '200': description: successful operation content: application/json: schema: $ref: '#/components/schemas/PublicActionFunctionIdentifier' default: description: '' $ref: '#/components/responses/Error' security: - oauth2: - developers-write delete: tags: - Functions summary: Delete a function for a definition description: Delete a function within a given definition. operationId: delete-/automation/actions/2026-09/{appId}/{definitionId}/functions/{functionType}_archiveByFunctionType parameters: - name: appId in: path description: '' required: true style: simple explode: false schema: type: integer format: int32 - name: definitionId in: path description: '' required: true style: simple explode: false schema: type: string - name: functionType in: path description: '' required: true style: simple explode: false schema: type: string enum: - POST_ACTION_EXECUTION - POST_FETCH_OPTIONS - PRE_ACTION_EXECUTION - PRE_FETCH_OPTIONS responses: '204': description: No content content: {} default: description: '' $ref: '#/components/responses/Error' security: - oauth2: - developers-write /automation/actions/2026-09/{appId}/{definitionId}/functions/{functionType}/{functionId}: get: tags: - Functions summary: Retrieve a function from a given definition description: Retrieve a specific function from a given definition. operationId: get-/automation/actions/2026-09/{appId}/{definitionId}/functions/{functionType}/{functionId}_getById parameters: - name: appId in: path description: '' required: true style: simple explode: false schema: type: integer format: int32 - name: definitionId in: path description: '' required: true style: simple explode: false schema: type: string - name: functionId in: path description: '' required: true style: simple explode: false schema: type: string - name: functionType in: path description: '' required: true style: simple explode: false schema: type: string enum: - POST_ACTION_EXECUTION - POST_FETCH_OPTIONS - PRE_ACTION_EXECUTION - PRE_FETCH_OPTIONS responses: '200': description: successful operation content: application/json: schema: $ref: '#/components/schemas/PublicActionFunction' default: description: '' $ref: '#/components/responses/Error' security: - oauth2: - developers-read put: tags: - Functions summary: Update a function for a definition description: Update a function for a given definition by ID. operationId: put-/automation/actions/2026-09/{appId}/{definitionId}/functions/{functionType}/{functionId}_createOrReplace parameters: - name: appId in: path description: '' required: true style: simple explode: false schema: type: integer format: int32 - name: definitionId in: path description: '' required: true style: simple explode: false schema: type: string - name: functionId in: path description: '' required: true style: simple explode: false schema: type: string - name: functionType in: path description: '' required: true style: simple explode: false schema: type: string enum: - POST_ACTION_EXECUTION - POST_FETCH_OPTIONS - PRE_ACTION_EXECUTION - PRE_FETCH_OPTIONS requestBody: content: text/plain: schema: type: string required: true responses: '200': description: successful operation content: application/json: schema: $ref: '#/components/schemas/PublicActionFunctionIdentifier' default: description: '' $ref: '#/components/responses/Error' security: - oauth2: - developers-write delete: tags: - Functions summary: Archive a function for a definition description: Archive a function for a specific definition. operationId: delete-/automation/actions/2026-09/{appId}/{definitionId}/functions/{functionType}/{functionId}_archive parameters: - name: appId in: path description: '' required: true style: simple explode: false schema: type: integer format: int32 - name: definitionId in: path description: '' required: true style: simple explode: false schema: type: string - name: functionId in: path description: '' required: true style: simple explode: false schema: type: string - name: functionType in: path description: '' required: true style: simple explode: false schema: type: string enum: - POST_ACTION_EXECUTION - POST_FETCH_OPTIONS - PRE_ACTION_EXECUTION - PRE_FETCH_OPTIONS responses: '204': description: No content content: {} default: description: '' $ref: '#/components/responses/Error' security: - oauth2: - developers-write /automation/actions/2026-09/{appId}/{definitionId}/requires-object: get: tags: - Definitions summary: Retrieve the object requirement status for a custom action definition. description: Retrieve whether a custom action definition requires an object. operationId: get-/automation/actions/2026-09/{appId}/{definitionId}/requires-object_/automation/v4/actions/{appId}/{definitionId}/requires-object parameters: - name: appId in: path description: '' required: true style: simple explode: false schema: type: integer format: int32 - name: definitionId in: path description: '' required: true style: simple explode: false schema: type: string responses: '200': description: successful operation content: application/json: schema: $ref: '#/components/schemas/PublicActionDefinitionRequiresObjectResponse' default: description: '' $ref: '#/components/responses/Error' security: - oauth2: - developers-read post: tags: - Definitions summary: Set the object requirement for a custom action definition. description: Set whether a custom action definition requires an object. operationId: post-/automation/actions/2026-09/{appId}/{definitionId}/requires-object_/automation/v4/actions/{appId}/{definitionId}/requires-object parameters: - name: appId in: path description: '' required: true style: simple explode: false schema: type: integer format: int32 - name: definitionId in: path description: '' required: true style: simple explode: false schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/PublicActionDefinitionRequiresObjectRequest' required: true responses: '204': description: No content content: {} default: description: '' $ref: '#/components/responses/Error' security: - oauth2: - developers-write /automation/actions/2026-09/{appId}/{definitionId}/revisions: get: tags: - Revisions summary: Retrieve revisions for a given definition description: Retrieve the versions of a definition by ID. operationId: get-/automation/actions/2026-09/{appId}/{definitionId}/revisions_getPage parameters: - name: appId in: path description: '' required: true style: simple explode: false schema: type: integer format: int32 - name: definitionId in: path description: '' required: true style: simple explode: false schema: type: string - name: after in: query 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. required: false style: form explode: true schema: type: string - name: limit in: query description: The maximum number of results to display per page. required: false style: form explode: true schema: type: integer format: int32 responses: '200': description: successful operation content: application/json: schema: $ref: '#/components/schemas/CollectionResponsePublicActionRevisionForwardPaging' default: description: '' $ref: '#/components/responses/Error' security: - oauth2: - developers-read /automation/actions/2026-09/{appId}/{definitionId}/revisions/{revisionId}: get: tags: - Revisions summary: Retrieve a specific revision of a definition description: Retrieve a specific revision of a definition by revision ID. operationId: get-/automation/actions/2026-09/{appId}/{definitionId}/revisions/{revisionId}_getById parameters: - name: appId in: path description: '' required: true style: simple explode: false schema: type: integer format: int32 - name: definitionId in: path description: '' required: true style: simple explode: false schema: type: string - name: revisionId in: path description: '' required: true style: simple explode: false schema: type: string responses: '200': description: successful operation content: application/json: schema: $ref: '#/components/schemas/PublicActionRevision' default: description: '' $ref: '#/components/responses/Error' security: - oauth2: - developers-read /automation/actions/callbacks/2026-09/complete: post: tags: - Callbacks summary: Complete a batch of callbacks description: Complete a batch of blocked action executions. operationId: post-/automation/actions/callbacks/2026-09/complete_completeBatch parameters: [] requestBody: content: application/json: schema: $ref: '#/components/schemas/BatchInputCallbackCompletionBatchRequest' required: true responses: '204': description: No content content: {} default: description: '' $ref: '#/components/responses/Error' security: - oauth2: - automation /automation/actions/callbacks/2026-09/{callbackId}/complete: post: tags: - Callbacks summary: Completes a callback description: Complete a specific blocked action execution by ID. operationId: post-/automation/actions/callbacks/2026-09/{callbackId}/complete_complete parameters: - name: callbackId in: path required: true style: simple explode: false schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/CallbackCompletionRequest' required: true responses: '204': description: No content content: {} default: description: '' $ref: '#/components/responses/Error' security: - oauth2: - automation components: schemas: ActionExecutionIndexIdentifier: required: - actionExecutionIndex - enrollmentId type: object properties: actionExecutionIndex: type: integer description: The index number representing the execution order of the action. format: int32 enrollmentId: type: integer description: The ID associated with the enrollment process. format: int64 AgentRequestContext: title: AGENTS required: - agentId - chirpAiContextObject - source type: object properties: agentId: type: integer description: The unique identifier for the agent making the request. format: int64 chirpAiContextObject: $ref: '#/components/schemas/ChirpAiContextObject' source: type: string description: Indicates the source of the request, with the default value being 'AGENTS'. default: AGENTS enum: - AGENTS trajectoryId: type: string description: The unique identifier for the trajectory associated with the agent request. x-hubspot-sub-type-impl: true ArrayFieldSchema: title: ARRAY required: - items - type type: object properties: items: description: Defines the type of elements contained within the array, which can be an integer, long, double, string, boolean, another array, or an object. oneOf: - $ref: '#/components/schemas/IntegerFieldSchema' - $ref: '#/components/schemas/LongFieldSchema' - $ref: '#/components/schemas/DoubleFieldSchema' - $ref: '#/components/schemas/StringFieldSchema' - $ref: '#/components/schemas/BooleanFieldSchema' - $ref: '#/components/schemas/ArrayFieldSchema' - $ref: '#/components/schemas/ObjectFieldSchema' - $ref: '#/components/schemas/UnknownFieldSchema' type: type: string description: Specifies that the field is of type 'ARRAY'. default: ARRAY enum: - ARRAY x-hubspot-sub-type-impl: true BatchInputCallbackCompletionBatchRequest: required: - inputs type: object properties: inputs: type: array items: $ref: '#/components/schemas/CallbackCompletionBatchRequest' BooleanFieldSchema: title: BOOLEAN required: - type type: object properties: type: type: string description: Specifies the field type as BOOLEAN, indicating that the field can hold a true or false value. default: BOOLEAN enum: - BOOLEAN x-hubspot-sub-type-impl: true CallbackCompletionBatchRequest: required: - callbackId - outputFields - typedOutputs type: object properties: callbackId: type: string description: The unique identifier for the callback. failureReasonType: type: string description: Specifies the type of failure reason for the callback completion. outputFields: type: object additionalProperties: type: string description: Holds the output fields for the callback completion. requestContext: description: Defines the context of the request, which can be one of several predefined types. oneOf: - $ref: '#/components/schemas/WorkflowsRequestContext' - $ref: '#/components/schemas/AgentRequestContext' - $ref: '#/components/schemas/CopilotRequestContext' - $ref: '#/components/schemas/StandaloneRequestContext' - $ref: '#/components/schemas/TestRequestContext' typedOutputs: type: object properties: {} description: Contains the typed outputs for the callback completion. CallbackCompletionRequest: required: - outputFields - typedOutputs type: object properties: failureReasonType: type: string description: Indicates the reason for the failure of a callback completion. outputFields: type: object additionalProperties: type: string description: Contains the output fields associated with the callback, with each field represented as a key-value pair. requestContext: description: Specifies the context in which the request is made, which can be one of several predefined contexts. oneOf: - $ref: '#/components/schemas/WorkflowsRequestContext' - $ref: '#/components/schemas/AgentRequestContext' - $ref: '#/components/schemas/CopilotRequestContext' - $ref: '#/components/schemas/StandaloneRequestContext' - $ref: '#/components/schemas/TestRequestContext' typedOutputs: type: object properties: {} description: Holds the typed outputs related to the callback, structured as an object. ChirpAiContextObject: required: - applicationGroup - applicationId - isPrivate - metadata - otelContextHolder - unstructuredSources type: object properties: applicationGroup: type: string description: The group to which the application belongs. applicationId: type: string description: The identifier for the application associated with the context. complianceIds: $ref: '#/components/schemas/ComplianceIds' conversationId: type: string featureId: type: string description: The identifier for the feature associated with the context. inferenceId: type: string description: The identifier for the inference associated with the context. isPrivate: type: boolean metadata: type: object additionalProperties: type: string description: Additional metadata related to the context, represented as key-value pairs. otelContextHolder: type: object additionalProperties: type: string description: Holds OpenTelemetry context information as key-value pairs. trajectoryId: type: string description: The identifier for the trajectory, formatted as a UUID. format: uuid unstructuredSources: type: array items: type: string enum: - NONE - USER_INPUT - LOGGED_EMAIL - VIDEO_CALL - AUDIO_CALL - CALL_TRANSCRIPT - MEETING_TRANSCRIPT - FORMS - FEEDBACK_SURVEY - PDF - QUOTE - INVOICE - OTHER_ATTACHMENT_DOC - WHATSAPP - SMS - CHAT - FACEBOOK_MESSENGER - CUSTOM_CHANNEL_OR_API - MANY - NOTE - DERIVED CollectionResponsePublicActionDefinitionForwardPaging: required: - results type: object properties: paging: $ref: '#/components/schemas/ForwardPaging' results: type: array items: $ref: '#/components/schemas/PublicActionDefinition' CollectionResponsePublicActionFunctionIdentifierNoPaging: required: - results type: object properties: results: type: array items: $ref: '#/components/schemas/PublicActionFunctionIdentifier' CollectionResponsePublicActionRevisionForwardPaging: required: - results type: object properties: paging: $ref: '#/components/schemas/ForwardPaging' results: type: array items: $ref: '#/components/schemas/PublicActionRevision' ComplianceIds: required: - contactIds - portalIds - userIds type: object properties: contactIds: type: array items: $ref: '#/components/schemas/ContactId' noContactIdReason: type: string description: The reason why no contact ID is available. noPortalIdReason: type: string description: The reason why no portal ID is available. noUserIdReason: type: string description: The reason why no user ID is available. portalIds: type: array items: type: integer format: int32 userIds: type: array items: type: integer format: int32 ContactId: required: - portalId type: object properties: email: type: string description: The email address of the contact. portalId: type: integer description: The ID of the portal associated with the contact. format: int32 vid: type: integer description: The unique identifier for the contact. format: int64 CopilotRequestContext: title: COPILOT required: - source type: object properties: source: type: string description: Indicates the source of the request, with the default value being 'COPILOT'. default: COPILOT enum: - COPILOT trajectoryId: type: string description: The unique identifier for the trajectory. x-hubspot-sub-type-impl: true DoubleFieldSchema: title: DOUBLE required: - type type: object properties: maximum: type: number description: The maximum allowable value for the double field. minimum: type: number description: The minimum allowable value for the double field. type: type: string description: Indicates the field type as DOUBLE. default: DOUBLE enum: - DOUBLE x-hubspot-sub-type-impl: true Error: required: - category - correlationId - message type: object properties: category: type: string description: The error category context: type: object additionalProperties: type: array items: type: string description: Context about the error condition example: '{invalidPropertyName=[propertyValue], missingScopes=[scope1, scope2]}' correlationId: type: string description: A unique identifier for the request. Include this value with any error reports or support tickets format: uuid example: aeb5f871-7f07-4993-9211-075dc63e7cbf errors: type: array description: further information about the error items: $ref: '#/components/schemas/ErrorDetail' links: type: object additionalProperties: type: string description: A map of link names to associated URIs containing documentation about the error or recommended remediation steps message: type: string description: A human readable message describing the error along with remediation steps where appropriate example: An error occurred subCategory: type: string description: A specific category that contains more specific detail about the error description: Represents an error response returned by the API when an operation fails. This component is used in various endpoints to provide detailed information about the error encountered. example: message: Invalid input (details will vary based on the error) correlationId: aeb5f871-7f07-4993-9211-075dc63e7cbf category: VALIDATION_ERROR links: knowledge-base: https://www.hubspot.com/products/service/knowledge-base ErrorDetail: required: - message type: object properties: code: type: string description: The status code associated with the error detail context: type: object additionalProperties: type: array items: type: string description: Context about the error condition example: '{missingScopes=[scope1, scope2]}' in: type: string description: The name of the field or parameter in which the error was found. message: type: string description: A human readable message describing the error along with remediation steps where appropriate subCategory: type: string description: A specific category that contains more specific detail about the error description: Represents detailed information about an error that occurred in the API. This component is used to provide additional context and specifics about errors, typically as part of an error response. FieldTypeDefinition: required: - externalOptions - name - options - schema - type - useChirp type: object properties: description: type: string description: A detailed explanation of the field's purpose and usage. externalOptions: type: boolean description: Indicates whether the field's options are sourced externally. externalOptionsReferenceType: type: string description: Specifies the type of external reference for options. fieldType: type: string description: Describes the field's type in the UI, with accepted values like booleancheckbox, calculation_equation, checkbox, date, file, html, number, phonenumber, radio, select, text, textarea, unknown. enum: - booleancheckbox - calculation_equation - calculation_read_time - calculation_rollup - calculation_score - checkbox - date - file - html - number - phonenumber - radio - select - text - textarea - unknown helpText: type: string description: Additional information or guidance about the field. label: type: string description: The user-friendly label for the field. name: type: string description: The unique identifier for the field. options: type: array items: $ref: '#/components/schemas/Option' optionsUrl: type: string description: A URL that provides options for the field. referencedObjectType: type: string description: Indicates the type of object that the field references, with accepted values like OWNER. enum: - ABANDONED_CART - ACCEPTANCE_TEST - AD - AD_ACCOUNT - AD_CAMPAIGN - AD_GROUP - AI_FORECAST - ALL_PAGES - APPROVAL - APPROVAL_STEP - ATTRIBUTION - AUDIENCE - AUTOMATION_JOURNEY - AUTOMATION_PLATFORM_FLOW - AUTOMATION_PLATFORM_FLOW_ACTION - BET_ALERT - BET_DELIVERABLE_SERVICE - BLOG_LISTING_PAGE - BLOG_POST - CALL - CAMPAIGN - CAMPAIGN_BUDGET_ITEM - CAMPAIGN_SPEND_ITEM - CAMPAIGN_STEP - CAMPAIGN_TEMPLATE - CAMPAIGN_TEMPLATE_STEP - CART - CASE_STUDY - CHATFLOW - CLIP - CMS_URL - COMBO_EVENT_CONFIGURATION - COMMERCE_PAYMENT - COMMUNICATION - COMPANY - CONTACT - CONTACT_CREATE_ATTRIBUTION - CONTENT - CONTENT_AUDIT - CONTENT_AUDIT_PAGE - CONVERSATION - CONVERSATION_INBOX - CONVERSATION_SESSION - CRM_OBJECTS_DUMMY_TYPE - CRM_PIPELINES_DUMMY_TYPE - CTA - CTA_VARIANT - DATA_PRIVACY_CONSENT - DATA_SYNC_STATE - DEAL - DEAL_CREATE_ATTRIBUTION - DEAL_REGISTRATION - DEAL_SPLIT - DISCOUNT - DISCOUNT_CODE - DISCOUNT_TEMPLATE - EMAIL - ENGAGEMENT - EXPORT - EXTERNAL_WEB_URL - FEE - FEEDBACK_SUBMISSION - FEEDBACK_SURVEY - FILE_MANAGER_FILE - FILE_MANAGER_FOLDER - FOLDER - FORECAST - FORM - FORM_SUBMISSION_INBOUNDDB - GOAL_TARGET - GOAL_TARGET_GROUP - GOAL_TEMPLATE - GSC_PROPERTY - HUB - IMPORT - INVOICE - KEYWORD - KNOWLEDGE_ARTICLE - LANDING_PAGE - LEAD - LINE_ITEM - MARKETING_CALENDAR - MARKETING_CAMPAIGN_UTM - MARKETING_EMAIL - MARKETING_EVENT - MARKETING_EVENT_ATTENDANCE - MARKETING_SMS - MEDIA_BRIDGE - MEETING_EVENT - MIC - NOTE - OBJECT_LIST - ORDER - OWNER - PARTNER_ACCOUNT - PARTNER_CLIENT - PARTNER_CLIENT_REVENUE - PARTNER_SERVICE - PAYMENT_LINK - PAYMENT_SCHEDULE - PAYMENT_SCHEDULE_INSTALLMENT - PERMISSIONS_TESTING - PLAYBOOK - PLAYBOOK_QUESTION - PLAYBOOK_SUBMISSION - PLAYBOOK_SUBMISSION_ANSWER - PLAYLIST - PLAYLIST_FOLDER - PODCAST_EPISODE - PORTAL - PORTAL_OBJECT_SYNC_MESSAGE - POSTAL_MAIL - PRIVACY_SCANNER_COOKIE - PRODUCT - PRODUCT_OR_FOLDER - PROPERTY_INFO - PROSPECTING_AGENT_CONTACT_ASSIGNMENT - PUBLISHING_TASK - QUARANTINED_SUBMISSION - QUOTA - QUOTE - QUOTE_FIELD - QUOTE_MODULE - QUOTE_MODULE_FIELD - QUOTE_TEMPLATE - RESTORABLE_CRM_OBJECT - ROSTER - ROSTER_MEMBER - SALES_DOCUMENT - SALES_TASK - SALES_WORKLOAD - SALESFORCE_SYNC_ERROR - SCHEDULING_PAGE - SCHEMAS_BACKEND_TEST - SCORE_CONFIGURATION - SEQUENCE - SEQUENCE_ENROLLMENT - SEQUENCE_STEP - SEQUENCE_STEP_ENROLLMENT - SERVICE - SITE_PAGE - SNIPPET - SOCIAL_BROADCAST - SOCIAL_CHANNEL - SOCIAL_POST - SOCIAL_PROFILE - SOX_PROTECTED_DUMMY_TYPE - SOX_PROTECTED_TEST_TYPE - SUBMISSION_TAG - SUBSCRIPTION - TASK - TASK_TEMPLATE - TAX - TEMPLATE - TICKET - UNKNOWN - UNSUBSCRIBE - USER - VIEW - VIEW_BLOCK - WEB_INTERACTIVE schema: description: Defines the structure and constraints of the field. oneOf: - $ref: '#/components/schemas/IntegerFieldSchema' - $ref: '#/components/schemas/LongFieldSchema' - $ref: '#/components/schemas/DoubleFieldSchema' - $ref: '#/components/schemas/StringFieldSchema' - $ref: '#/components/schemas/BooleanFieldSchema' - $ref: '#/components/schemas/ArrayFieldSchema' - $ref: '#/components/schemas/ObjectFieldSchema' - $ref: '#/components/schemas/UnknownFieldSchema' type: type: string description: Specifies the data type of the field, with accepted values like bool, date, datetime, enumeration, json, number, object_coordinates, phone_number, string. enum: - bool - currency_number - date - datetime - enumeration - json - number - object_coordinates - phone_number - string - time_range useChirp: type: boolean description: Specifies whether the field uses the Chirp feature. ForwardPaging: type: object properties: next: $ref: '#/components/schemas/NextPage' description: Paging information for forward-only pagination. Contains the next page reference when more results are available; omitted or empty on the last page. IntegerFieldSchema: title: INTEGER required: - type type: object properties: maximum: type: integer description: The maximum value allowed for the integer field. format: int32 minimum: type: integer description: The minimum value allowed for the integer field. format: int32 type: type: string description: The type of the field, which is set to INTEGER. default: INTEGER enum: - INTEGER x-hubspot-sub-type-impl: true LongFieldSchema: title: LONG required: - type type: object properties: maximum: type: integer description: The maximum value allowed for the long field. format: int64 minimum: type: integer description: The minimum value allowed for the long field. format: int64 type: type: string description: The type of the field, which is LONG by default. default: LONG enum: - LONG x-hubspot-sub-type-impl: true NextPage: required: - after type: object properties: after: type: string description: A paging cursor token for retrieving subsequent pages. link: type: string description: A URL that can be used to retrieve the next page results. description: Specifies the paging information needed to retrieve the next set of results in a paginated API response ObjectFieldSchema: title: OBJECT required: - properties - type type: object properties: properties: type: object properties: {} description: Contains the properties of the object. type: type: string description: Specifies the type of the field, which is 'OBJECT' by default. default: OBJECT enum: - OBJECT x-hubspot-sub-type-impl: true Option: required: - description - displayOrder - doubleData - hidden - label - readOnly - value type: object properties: description: type: string description: A description of the option. displayOrder: type: integer description: The position of the item relative to others in the list. format: int32 doubleData: type: number description: A numerical value associated with the option. hidden: type: boolean description: Whether the option is displayed in HubSpot's UI. label: type: string description: A user-friendly label that identifies the option. readOnly: type: boolean description: Whether the option is read-only. value: type: string description: The actual value of the option. description: A HubSpot property option OutputFieldDefinition: required: - typeDefinition type: object properties: typeDefinition: $ref: '#/components/schemas/FieldTypeDefinition' PublicActionDefinition: required: - actionUrl - functions - id - inputFields - labels - objectTypes - published - revisionId type: object properties: actionUrl: type: string archivedAt: type: integer format: int64 executionRules: type: array items: $ref: '#/components/schemas/PublicExecutionTranslationRule' functions: type: array items: $ref: '#/components/schemas/PublicActionFunctionIdentifier' id: type: string inputFieldDependencies: type: array items: oneOf: - $ref: '#/components/schemas/PublicSingleFieldDependency' - $ref: '#/components/schemas/PublicConditionalSingleFieldDependency' inputFields: type: array items: $ref: '#/components/schemas/PublicInputFieldDefinition' labels: type: object additionalProperties: $ref: '#/components/schemas/PublicActionLabels' objectRequestOptions: $ref: '#/components/schemas/PublicObjectRequestOptions' objectTypes: type: array items: type: string outputFields: type: array items: $ref: '#/components/schemas/OutputFieldDefinition' published: type: boolean revisionId: type: string PublicActionDefinitionEgg: required: - actionUrl - functions - inputFields - labels - objectTypes - published type: object properties: actionUrl: type: string description: The URL endpoint where the action is executed. archivedAt: type: integer description: The timestamp indicating when the action was archived. format: int64 executionRules: type: array items: $ref: '#/components/schemas/PublicExecutionTranslationRule' functions: type: array items: $ref: '#/components/schemas/PublicActionFunction' inputFieldDependencies: type: array items: oneOf: - $ref: '#/components/schemas/PublicSingleFieldDependency' - $ref: '#/components/schemas/PublicConditionalSingleFieldDependency' inputFields: type: array items: $ref: '#/components/schemas/PublicInputFieldDefinition' labels: type: object additionalProperties: $ref: '#/components/schemas/PublicActionLabels' description: Holds various labels associated with the action, including names and descriptions. objectRequestOptions: $ref: '#/components/schemas/PublicObjectRequestOptions' objectTypes: type: array items: type: string outputFields: type: array items: $ref: '#/components/schemas/OutputFieldDefinition' published: type: boolean description: Indicates whether the action is published and available for use. PublicActionDefinitionPatch: type: object properties: actionUrl: type: string description: The URL endpoint where the action is executed. executionRules: type: array items: $ref: '#/components/schemas/PublicExecutionTranslationRule' inputFieldDependencies: type: array items: oneOf: - $ref: '#/components/schemas/PublicSingleFieldDependency' - $ref: '#/components/schemas/PublicConditionalSingleFieldDependency' inputFields: type: array items: $ref: '#/components/schemas/PublicInputFieldDefinition' labels: type: object additionalProperties: $ref: '#/components/schemas/PublicActionLabels' description: Contains labels for the action, including names and descriptions. objectRequestOptions: $ref: '#/components/schemas/PublicObjectRequestOptions' objectTypes: type: array items: type: string outputFields: type: array items: $ref: '#/components/schemas/OutputFieldDefinition' published: type: boolean description: Indicates whether the action is published and available for use. PublicActionDefinitionRequiresObjectRequest: required: - requiresObject type: object properties: requiresObject: type: boolean description: Indicates whether a custom action definition requires an associated object. PublicActionDefinitionRequiresObjectResponse: required: - requiresObject type: object properties: requiresObject: type: boolean description: Indicates whether a custom action definition requires an object. PublicActionFunction: required: - functionSource - functionType type: object properties: functionSource: type: string description: The source code or script that defines the function's behavior. functionType: type: string description: 'The type of function, with accepted values: POST_ACTION_EXECUTION, POST_FETCH_OPTIONS, PRE_ACTION_EXECUTION, PRE_FETCH_OPTIONS.' enum: - POST_ACTION_EXECUTION - POST_FETCH_OPTIONS - PRE_ACTION_EXECUTION - PRE_FETCH_OPTIONS id: type: string description: The unique identifier for the action function. PublicActionFunctionIdentifier: required: - functionType type: object properties: functionType: type: string description: 'The type of function, with accepted values: POST_ACTION_EXECUTION, POST_FETCH_OPTIONS, PRE_ACTION_EXECUTION, PRE_FETCH_OPTIONS.' enum: - POST_ACTION_EXECUTION - POST_FETCH_OPTIONS - PRE_ACTION_EXECUTION - PRE_FETCH_OPTIONS id: type: string description: The unique identifier for the function. PublicActionLabels: required: - actionName type: object properties: actionCardContent: type: string description: Content displayed on the action card. actionDescription: type: string description: A description of what the action does. actionName: type: string description: The name of the action. appDisplayName: type: string description: The display name of the application associated with the action. executionRules: type: object additionalProperties: type: string description: Rules that govern the execution of the action. inputFieldDescriptions: type: object additionalProperties: type: string description: Descriptions for each input field. inputFieldLabels: type: object additionalProperties: type: string description: Labels for the input fields. inputFieldOptionLabels: type: object additionalProperties: type: object additionalProperties: type: string description: Labels for the options available in input fields. outputFieldLabels: type: object additionalProperties: type: string description: Labels for the output fields. PublicActionRevision: required: - createdAt - definition - id - revisionId type: object properties: createdAt: type: string description: The date and time when the action revision was created. format: date-time definition: $ref: '#/components/schemas/PublicActionDefinition' id: type: string description: The unique identifier for the action revision. revisionId: type: string description: The unique identifier for the specific revision of the action. PublicConditionalSingleFieldDependency: title: CONDITIONAL_SINGLE_FIELD required: - controllingFieldName - controllingFieldValue - dependencyType - dependentFieldNames type: object properties: controllingFieldName: type: string description: The name of the field that determines the dependency. controllingFieldValue: type: string description: The value of the controlling field that triggers the dependency. dependencyType: type: string description: The type of dependency, with the default value being CONDITIONAL_SINGLE_FIELD. default: CONDITIONAL_SINGLE_FIELD enum: - CONDITIONAL_SINGLE_FIELD dependentFieldNames: type: array items: type: string x-hubspot-sub-type-impl: true PublicExecutionTranslationRule: required: - conditions - labelName type: object properties: conditions: type: object additionalProperties: type: object properties: {} description: Defines the conditions that must be met for the execution rule to apply. labelName: type: string description: Specifies the name of the label associated with the execution rule. PublicFieldTypeDefinition: required: - name - options - type type: object properties: description: type: string description: A detailed explanation of the field's purpose. fieldType: type: string description: The type of field, with accepted values including booleancheckbox, calculation_equation, checkbox, date, file, html, number, phonenumber, radio, select, text, and textarea. enum: - booleancheckbox - calculation_equation - checkbox - date - file - html - number - phonenumber - radio - select - text - textarea helpText: type: string description: Additional information or guidance about the field. label: type: string description: A user-friendly name for the field. name: type: string description: The internal name used to identify the field. options: type: array items: $ref: '#/components/schemas/PublicOption' optionsUrl: type: string description: A URL that provides options for the field. referencedObjectType: type: string description: The type of object that the field references, with accepted values including OWNER. enum: - OWNER type: type: string description: The data type of the field, with accepted values including bool, date, datetime, enumeration, json, number, object_coordinates, phone_number, and string. enum: - bool - date - datetime - enumeration - json - number - object_coordinates - phone_number - string PublicInputFieldDefinition: required: - isRequired - typeDefinition type: object properties: isRequired: type: boolean description: Indicates whether the input field is mandatory. supportedValueTypes: type: array items: type: string enum: - STATIC_VALUE - OBJECT_PROPERTY typeDefinition: $ref: '#/components/schemas/PublicFieldTypeDefinition' PublicObjectRequestOptions: required: - properties type: object properties: properties: type: array items: type: string PublicOption: required: - label - value type: object properties: description: type: string description: A description of the option. displayOrder: type: integer description: The position of the option relative to others in the list. format: int32 label: type: string description: A user-friendly label that identifies the option. value: type: string description: The actual value of the option. PublicSingleFieldDependency: title: SINGLE_FIELD required: - controllingFieldName - dependencyType - dependentFieldNames type: object properties: controllingFieldName: type: string description: The name of the field that controls the dependency. dependencyType: type: string description: The type of dependency, with the default value being 'SINGLE_FIELD'. default: SINGLE_FIELD enum: - SINGLE_FIELD dependentFieldNames: type: array items: type: string x-hubspot-sub-type-impl: true StandaloneRequestContext: title: STANDALONE required: - chirpAiContextObject - source type: object properties: chirpAiContextObject: $ref: '#/components/schemas/ChirpAiContextObject' source: type: string description: Indicates the source of the request, with the default value being 'STANDALONE'. default: STANDALONE enum: - STANDALONE trajectoryId: type: string description: A unique identifier for tracking the trajectory of the request. x-hubspot-sub-type-impl: true StringFieldSchema: title: STRING required: - type type: object properties: format: type: string description: 'Specifies the format of the string, with accepted values: DATE, DATE_TIME, OBJECT_COORDINATE, TIME, URI.' enum: - DATE - DATE_TIME - MONTH_AND_DAY - OBJECT_COORDINATE - TIME - URI type: type: string description: Indicates that the type is a string, with the default value being STRING. default: STRING enum: - STRING x-hubspot-sub-type-impl: true TestRequestContext: title: TEST required: - source type: object properties: source: type: string description: Indicates the source of the test request, with the only accepted value being 'TEST'. default: TEST enum: - TEST x-hubspot-sub-type-impl: true UnknownFieldSchema: title: UNKNOWN required: - type type: object properties: type: type: string default: UNKNOWN enum: - UNKNOWN x-hubspot-sub-type-impl: true WorkflowsRequestContext: title: WORKFLOWS required: - source - workflowId type: object properties: actionExecutionIndexIdentifier: $ref: '#/components/schemas/ActionExecutionIndexIdentifier' actionId: type: integer description: The ID of the action within the workflow context. format: int64 source: type: string description: Indicates the source of the request, with the default value being WORKFLOWS. default: WORKFLOWS enum: - WORKFLOWS workflowId: type: integer description: The ID of the workflow associated with the request context. format: int64 x-hubspot-sub-type-impl: true responses: Error: description: An error occurred. content: '*/*': schema: $ref: '#/components/schemas/Error' securitySchemes: developer_hapikey: type: apiKey name: hapikey in: query oauth2: type: oauth2 flows: authorizationCode: authorizationUrl: https://app.hubspot.com/oauth/authorize tokenUrl: https://api.hubapi.com/oauth/v1/token scopes: automation: '' developers-read: '' developers-write: '' private_apps: type: apiKey name: private-app in: header private_apps_legacy: type: apiKey name: private-app-legacy in: header x-hubspot-available-client-libraries: - Node - Python - Ruby - PHP x-hubspot-product-tier-requirements: marketing: PROFESSIONAL sales: PROFESSIONAL service: PROFESSIONAL cms: PROFESSIONAL commerce: PROFESSIONAL crmHub: PROFESSIONAL dataHub: PROFESSIONAL