openapi: 3.2.0 info: title: Platform - Integrations Workflows V2 API version: '1.0' contact: name: OneTrust Support url: https://my.onetrust.com/s/contactsupport license: name: Apache 2.0 url: https://www.apache.org/licenses/LICENSE-2.0 description: The Integrations APIs are used to configure, manage, and automate integrations. They provide functionality to handle system credentials, import and export workflows, and manage integration details. servers: - url: https://{hostname}/api/integrationmanager variables: hostname: default: hostname description: The OneTrust hostname such as app.onetrust.com, app-eu.onetrust.com, app-de.onetrust.com, app-uk.onetrust.com, app-apac.onetrust.com, trial.onetrust.com, or uat.onetrust.com. tags: - name: Workflows V2 description: APIs used to import and export workflows in JSON format for version 2 workflows. externalDocs: description: OpenAPI 3.1.0 - Download Definition url: https://developer.onetrust.com/onetrust/openapi/platform-integrations.json paths: /v2/workflows/export: get: operationId: exportWorkflowUsingGET_1 summary: Export Workflow description: Use this API to export an integration workflow as a JSON file. tags: - Workflows V2 x-onetrust: spec-label: https://developer.onetrust.com/onetrust/openapi/platform-integrations.json parameters: - name: workflowName in: query description: Name of the workflow to export. required: true schema: type: string example: my-workflow responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/WorkflowActionsV2Request' '400': description: Bad Request '401': description: Unauthorized '403': description: Forbidden '429': description: "Too Many Requests. \nFor more information, see [API Rate Limits](https://developer.onetrust.com/onetrust/reference/rate-limits-overview)." headers: Retry-After: schema: description: The number of seconds after which requests will be allowed again. format: int32 ot-period: schema: description: The unit of time for which the rate limit applies enum: - HOUR - MINUTE ot-ratelimit-event-id: schema: description: The unique identifier for the rate-limiting event. format: uuid ot-request-made: schema: description: The number of requests made within the specified period. format: int32 ot-requests-allowed: schema: description: The number of requests allowed within the specified period. format: int32 '500': description: Internal Server Error security: - OAUTH2: - INTEGRATIONS /v2/workflows/import: post: operationId: importWorkflowUsingPOST_1 summary: Import Workflow description: Use this API to import an integration workflow from a provided JSON file. tags: - Workflows V2 x-onetrust: spec-label: https://developer.onetrust.com/onetrust/openapi/platform-integrations.json parameters: - name: name in: query description: Optional display name for the imported workflow; defaults to the name in the file. required: false schema: type: string example: my-imported-workflow requestBody: content: multipart/form-data: schema: type: object properties: file: description: JSON file containing the workflow configuration type: string format: binary required: - file responses: '201': description: Created content: application/json: {} '400': description: Bad Request '401': description: Unauthorized '403': description: Forbidden '429': description: "Too Many Requests. \nFor more information, see [API Rate Limits](https://developer.onetrust.com/onetrust/reference/rate-limits-overview)." headers: Retry-After: schema: description: The number of seconds after which requests will be allowed again. format: int32 ot-period: schema: description: The unit of time for which the rate limit applies enum: - HOUR - MINUTE ot-ratelimit-event-id: schema: description: The unique identifier for the rate-limiting event. format: uuid ot-request-made: schema: description: The number of requests made within the specified period. format: int32 ot-requests-allowed: schema: description: The number of requests allowed within the specified period. format: int32 '500': description: Internal Server Error security: - OAUTH2: - INTEGRATIONS components: schemas: ScheduledTrigger: allOf: - $ref: '#/components/schemas/BaseTrigger' - type: object properties: cronExpression: type: string dateTime: $ref: '#/components/schemas/ScheduleDateTime' runManual: type: boolean isRunManual: type: boolean ScheduleDateTimeField: type: object properties: label: type: string value: type: string cronExp: type: string AbstractExpression: type: object properties: type: type: string enum: - AND_EXPRESSION - OR_EXPRESSION - NOT_EXPRESSION - BINARY_EXPRESSION ConfigTrigger: allOf: - $ref: '#/components/schemas/BaseTrigger' - type: object properties: eventCode: type: string OrExpression: allOf: - $ref: '#/components/schemas/AbstractExpression' - type: object properties: expressions: type: array items: $ref: '#/components/schemas/AbstractExpression' AndExpression: allOf: - $ref: '#/components/schemas/AbstractExpression' - type: object properties: expressions: type: array items: $ref: '#/components/schemas/AbstractExpression' ScheduleDateTime: type: object properties: seconds: type: string minutes: type: string hours: $ref: '#/components/schemas/ScheduleDateTimeField' dayOfMonth: type: string month: type: string dayOfWeek: $ref: '#/components/schemas/ScheduleDateTimeField' startMonth: type: string year: type: string frequency: $ref: '#/components/schemas/ScheduleDateTimeField' frequencyIntervalTracker: type: string WorkflowTriggerDto: type: object properties: id: description: The unique identifier for id. type: string format: uuid name: description: Trigger name. type: string example: New Customer Signup workflowName: description: Workflow name that this trigger belongs to. type: string example: Customer Onboarding workflowId: description: Workflow ID that this trigger belongs to. type: string format: uuid example: 123e4567-e89b-12d3-a456-426614174000 triggerType: description: Trigger type. type: string example: EVENT enum: - EVENT - SCHEDULED - WEBHOOK - SUBFLOW - CONFIG triggerContext: description: Context payload specific to the trigger type. oneOf: - $ref: '#/components/schemas/BaseTrigger' - $ref: '#/components/schemas/ConfigTrigger' - $ref: '#/components/schemas/EventTrigger' - $ref: '#/components/schemas/ScheduledTrigger' - $ref: '#/components/schemas/SubflowTrigger' - $ref: '#/components/schemas/WebHookTrigger' description: description: Trigger description. type: string example: Triggered when a new customer signs up eventCode: description: Event code that activates this workflow. type: string example: CUSTOMER_SIGNUP schema: description: JSON schema describing the expected trigger payload. type: string lookupFields: description: Lookup fields used to find existing records. $ref: '#/components/schemas/LookupFields' sample: description: Sample trigger payload. type: string required: - name - triggerType - workflowId WebHookTrigger: allOf: - $ref: '#/components/schemas/BaseTrigger' - type: object properties: eventCode: type: string referenceUrl: type: string schema: type: string sample: type: string decryptionRequired: type: boolean decryptionCredentialId: type: string format: uuid SubflowTrigger: allOf: - $ref: '#/components/schemas/BaseTrigger' - type: object properties: eventCode: type: string referenceUrl: type: string FieldDescription: type: object properties: key: description: Value for key. type: string name: description: Value for name. type: string body: description: Value for body. type: string example: description: Value for example. type: string type: description: Value for type. type: string jsonPath: description: Value for json path. type: string displayName: description: Value for display name. type: string NotExpression: allOf: - $ref: '#/components/schemas/AbstractExpression' - type: object properties: operand: $ref: '#/components/schemas/AbstractExpression' LookupFields: type: object properties: fields: description: List of fields. type: array items: $ref: '#/components/schemas/FieldDescription' step: description: Value for step. type: string WorkflowActionsV2Request: type: object properties: formatVersion: description: Version of the workflow definition format. type: string example: V2.0 default: '2.0' name: description: Workflow name. type: string example: Customer Data Sync minLength: 1 description: description: Workflow description. type: string example: Workflow to sync customer data from CRM to database enabled: description: Whether this workflow is enabled. type: boolean example: true default: 'false' workflowType: description: Workflow type. type: string example: CUSTOM enum: - CUSTOM - COMPOSITE - CONFIG - PRESET integrationName: description: Integration name that owns this workflow. type: string example: Salesforce referenceIntegrationName: description: Reference integration name when this is a template workflow. type: string example: Salesforce-Template dlqEnabled: description: Whether Dead Letter Queue (DLQ) is enabled for this workflow. type: boolean example: true default: 'false' sourceType: description: Integration source type. type: string example: INSTANCE enum: - SEED - USER_DEFINED - INSTANCE - PRESET_INSTANCE - RULE - CUSTOM_WIZARD_WORKFLOW - EMBEDDED processType: description: Process type for this workflow node. type: string example: HTTP enum: - HTTP - FTP - FILEPARSER - FILEGENERATOR - TRANSFORM - SOURCE - SQL - SINK - MESSAGELOG - CONDITION - APPLYEACH - EMAILACTION - PAGINATION - FILEUPLOAD - SUBFLOW - HTTPFILEUPLOAD - DOWHILE - SOAPACTION - SDKACTION throttlingLimit: description: Maximum concurrent executions (throttle limit) for the workflow. type: integer format: int32 example: 100 maximum: 750 minimum: 50 defaultDlqAction: description: Default action when a DLQ event occurs (NONE, PURGE, or REPROCESS). type: string example: REPROCESS enum: - NONE - PURGE - REPROCESS trigger: description: Trigger configuration for the workflow. $ref: '#/components/schemas/WorkflowTriggerDto' actions: description: List of actions. type: array items: description: List of actions/nodes in the workflow directions: description: List of directions. type: array items: description: List of directional flows between workflow nodes required: - name - trigger - workflowType EventTrigger: allOf: - $ref: '#/components/schemas/BaseTrigger' - type: object properties: eventCode: type: string condition: oneOf: - $ref: '#/components/schemas/AndExpression' - $ref: '#/components/schemas/BinaryExpression' - $ref: '#/components/schemas/NotExpression' - $ref: '#/components/schemas/OrExpression' baseCondition: oneOf: - $ref: '#/components/schemas/AndExpression' - $ref: '#/components/schemas/BinaryExpression' - $ref: '#/components/schemas/NotExpression' - $ref: '#/components/schemas/OrExpression' preCondition: oneOf: - $ref: '#/components/schemas/AndExpression' - $ref: '#/components/schemas/BinaryExpression' - $ref: '#/components/schemas/NotExpression' - $ref: '#/components/schemas/OrExpression' BaseTrigger: type: object properties: type: type: string enum: - EVENT - SCHEDULED - WEBHOOK - SUBFLOW - CONFIG webhook: type: boolean subFlow: type: boolean config: type: boolean BinaryExpression: allOf: - $ref: '#/components/schemas/AbstractExpression' - type: object properties: lookupField: type: string minLength: 1 operator: type: string enum: - CONTAINS - DOES_NOT_CONTAIN - EQUAL_TO - NOT_EQUAL_TO - GREATER_THAN - GREATER_THAN_OR_EQUAL_TO - LESS_THAN - LESS_THAN_OR_EQUAL_TO - STARTS_WITH - ENDS_WITH value: type: string minLength: 1 name: type: string valueLoad: type: string required: - operator securitySchemes: OAUTH2: type: oauth2 flows: clientCredentials: tokenUrl: https://{hostname}/api/access/v1/oauth/token scopes: INTEGRATIONS: Integration scope for external systems x-onetrust: spec-label: OpenAPI 3.1.0 links: - '{''Integrations Knowledge Base'': ''https://my.onetrust.com/s/topic/0TO1Q000000ItT9WAK/integrations''}' x-readme: explorer-enabled: false proxy-enabled: false metrics-enabled: false