openapi: 3.2.0 info: title: Trigger campaigns using Execution API description: 'Interactive Message Execution API helps you with messaging capabilities. Using this REST API, you can send marketing or transactional messages using a Campaign Id using Email, SMS and Push channels. You will need the Campaign ID to send message using API.

Related documentation:
To learn more about the API triggered Campaign creation flow and supported channels, refer to the [product documentation](https://experienceleague.adobe.com/en/docs/journey-optimizer/using/campaigns/api-triggered-campaigns/api-triggered-campaigns).

Code examples:
Examples of how to trigger Campaigns using various channels are available on [this page](https://developer.adobe.com/journey-optimizer-apis/references/messaging-samples).

API path:
Base path for Interactive Message Execution APIs: https://platform.adobe.io/ajo/im/executions
Example of a complete path: https://platform.adobe.io/ajo/im/executions/unitary

Required headers:
All calls require the headers Authorization, x-gw-ims-org-id, and x-api-key. For more information on how to obtain these values, see the [authentication tutorial](https://developer.adobe.com/journey-optimizer-apis/references/authentication).

Call timeout
The call to the Interactive Message Execution REST API has a timeout of 60 sec. However internal retries are in place in case of unexpected timeouts to guarantee the delivery.' version: 1.0.1 license: name: Apache 2.0 url: https://www.apache.org/licenses/LICENSE-2.0.html servers: - url: https://platform-stage.adobe.io/ajo description: Stage Environment - url: https://platform.adobe.io/ajo description: Production Environment security: - imsUserToken: [] tags: - name: execution paths: /im/executions/unitary: parameters: - $ref: '#/components/parameters/x-api-key' - $ref: '#/components/parameters/x-request-id' - $ref: '#/components/parameters/x-gw-ims-org-id' - $ref: '#/components/parameters/x-sandbox-name' post: summary: Trigger an unitary message execution. tags: - execution operationId: postIMUnitaryMessageExecution security: - imsUserToken: [] description: '' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/imExecutionRequestUnitary' responses: '202': description: Accepted content: application/json: schema: $ref: '#/components/schemas/imExecutionResponse' '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/errorResponse' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/errorResponse' '503': description: Personalized attachment resolution is temporarily unavailable (error code 160028). Retry the request. content: application/json: schema: $ref: '#/components/schemas/errorResponse' /im/executions/audience: parameters: - $ref: '#/components/parameters/x-api-key' - $ref: '#/components/parameters/x-request-id' - $ref: '#/components/parameters/x-gw-ims-org-id' - $ref: '#/components/parameters/x-sandbox-name' post: summary: Trigger or Schedule an Audience Based Message execution. tags: - execution operationId: postIMAudienceMessageExecution security: - imsUserToken: [] description: '' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/imExecutionRequestAudience' responses: '202': description: Accepted content: application/json: schema: oneOf: - $ref: '#/components/schemas/imExecutionResponse' - $ref: '#/components/schemas/ScheduledExecutionResponse' '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/errorResponse' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/errorResponse' /im/executions/audience/{executionId}: parameters: - name: executionId in: path description: execution id required: true schema: type: string - $ref: '#/components/parameters/x-api-key' - $ref: '#/components/parameters/x-request-id' - $ref: '#/components/parameters/x-gw-ims-org-id' - $ref: '#/components/parameters/x-sandbox-name' get: summary: Get Execution Status for Audience Based Message executions. tags: - execution operationId: getBatchExecutionStatusByExecutionId security: - imsUserToken: [] description: '' responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/executionStatusResponse' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/errorResponse' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/errorResponse' /im/executions/schedules/{scheduleId}: parameters: - name: scheduleId in: path description: schedule id required: true schema: type: string - $ref: '#/components/parameters/x-api-key' - $ref: '#/components/parameters/x-request-id' - $ref: '#/components/parameters/x-gw-ims-org-id' - $ref: '#/components/parameters/x-sandbox-name' get: summary: Get Execution Status for Audience Based Message executions. tags: - execution operationId: getBatchExecutionStatusByScheduleId security: - imsUserToken: [] description: '' responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/ScheduledExecutionResponse' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/errorResponse' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/errorResponse' delete: summary: Delete a scheduled campaign execution. tags: - execution operationId: deleteScheduledExecution security: - imsUserToken: [] description: Deletes a scheduled campaign execution before it has been triggered. responses: '200': description: OK content: application/json: schema: type: object description: Empty response for successful deletion '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/errorResponse' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/errorResponse' /im/executions/highthroughput: parameters: - $ref: '#/components/parameters/x-api-key' - $ref: '#/components/parameters/x-request-id' - $ref: '#/components/parameters/x-gw-ims-org-id' - $ref: '#/components/parameters/x-sandbox-name' post: summary: Trigger an unitary high throughput message execution. tags: - execution operationId: postIMUnitaryHAMessageExecution security: - imsUserToken: [] description: '' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/imExecutionRequestHighThroughput' responses: '202': description: Accepted content: application/json: schema: $ref: '#/components/schemas/imExecutionResponse' '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/errorResponse' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/errorResponse' '503': description: Personalized attachment resolution is temporarily unavailable (error code 160028). Retry the request. content: application/json: schema: $ref: '#/components/schemas/errorResponse' components: schemas: imExecutionRequestHighThroughput: description: the IM Execution Request Unitary High Throughput type: object required: - requestId - campaignId - recipients properties: requestId: type: string description: the Unique Request Identifier example: request-12345 campaignId: type: string description: the Campaign Identifier example: campaign-12345 recipients: type: array description: the list of recipients items: oneOf: - $ref: '#/components/schemas/ExternalRecipient' discriminator: propertyName: type mapping: external: '#/components/schemas/ExternalRecipient' minItems: 1 maxItems: 20 schedule: type: object description: The time at which campaign execution should be triggered properties: executeAt: type: string format: date-time description: the time of execution trigger example: '2016-08-29T09:12:33.001Z' errorResponse: description: the error response type: object properties: type: type: string description: the error type example: https://ns.adobe.com/aep/errors/MSG-000052-400 title: type: string description: the error title example: An error has occurred status: description: the error status type: integer example: 400 report: description: the error report type: object properties: additionalContext: additionalProperties: type: string required: - additionalContext example: additionalContext: requestId: 04e7a2a5-f6db-4d15-a1ba-edda77bdb66f campaignId: campaign-1234567 profile: type: object description: the profile data used for dynamic variable substitution in message content additionalProperties: oneOf: - type: string - type: object example: person: name: firstName: Jane lastName: Doe Audience: type: object description: 'Details of the AEP Audience ' required: - id properties: id: type: string description: Represents either audience or segment id example: AEP-ProfileID-12345 recipientChannelData: type: object description: the Channel Data for recipient , Its an Optional Field for type aep properties: emailAddress: type: string description: the email address for emailing which also doubles up as the external userId example: customer123@example.com mobilePhoneNumber: type: string description: the mobile phone number for sms example: 111-111-1111 personalizedAttachments: type: array description: Personalized PDF attachments for this email recipient. A rendered email can contain at most five attachments. Combined attachment size is limited to 5 MB by default, or 10 MB if your organization has the applicable attachment size add-on. These limits include any static attachments authored in the campaign. Attachment validation occurs before the request is accepted; one invalid attachment rejects the entire request. minItems: 1 maxItems: 5 items: $ref: '#/components/schemas/personalizedAttachment' ExternalRecipient: type: object description: External Recipient Information required: - type - userId - namespace properties: type: type: string description: 'recipient type: external' example: external userId: type: string description: External profile identifier, usually same as emailId or phoneNumber example: customer123@example.com namespace: type: string description: the AEP Profile namespace example: email channelData: $ref: '#/components/schemas/recipientChannelData' profile: $ref: '#/components/schemas/profile' context: $ref: '#/components/schemas/context' attachments: $ref: '#/components/schemas/personalizedAttachments' context: type: object description: the context data used for dynamic variable substitution in message content additionalProperties: oneOf: - type: string - type: object example: product: Gaming Laptop imExecutionRequestUnitary: description: the IM Execution Request Unitary type: object required: - requestId - campaignId - recipients properties: requestId: type: string description: the Unique Request Identifier example: request-12345 campaignId: type: string description: the Campaign Identifier example: campaign-12345 recipients: $ref: '#/components/schemas/recipients' recipients: type: array description: the list of recipients items: oneOf: - $ref: '#/components/schemas/AEPRecipient' - $ref: '#/components/schemas/ExternalRecipient' discriminator: propertyName: type mapping: aep: '#/components/schemas/AEPRecipient' external: '#/components/schemas/ExternalRecipient' minItems: 1 maxItems: 20 personalizedAttachment: type: object description: A PDF attachment stored in the Adobe Experience Platform Data Landing Zone associated with the request sandbox. required: - name - contentType - source properties: name: type: string description: The filename displayed by the email client. It must end in .pdf and cannot contain path separators, parent-directory references, or control characters. example: invoice.pdf contentType: type: string description: The attachment MIME type. Only PDF attachments are supported. enum: - application/pdf example: application/pdf source: $ref: '#/components/schemas/dlzAttachmentSource' imExecutionResponse: description: the execution response type: object properties: executionId: description: the execution ID type: string example: HUMA-00859153 requestId: description: the request ID type: string example: REQ-80940549 createdAt: type: string format: date-time description: the message execution creation time example: '2016-08-29T09:12:33.001Z' createdBy: description: the message execution creation user type: string example: 5d1281e6d935456i4273@AdobeId modifiedAt: type: string format: date-time description: the message execution modification time example: '2016-08-29T09:12:33.001Z' modifiedBy: description: the message execution modification user type: string example: 4c0190e5d702748f0931@AdobeId dlzAttachmentSource: type: object description: Identifies an existing object in the Adobe Experience Platform Data Landing Zone. required: - type - path properties: type: type: string description: The attachment source type. enum: - dlzPath example: dlzPath path: type: string description: The non-empty Data Landing Zone object path. Do not include credentials, backslashes, empty path segments, or current/parent-directory segments. example: personalized-attachments/campaign-12345/customer-123/invoice.pdf imExecutionRequestAudience: description: the IM Execution Request Audience type: object required: - campaignId properties: requestId: type: string description: the Unique Request Identifier example: request-12345 campaignId: type: string description: the Campaign Identifier example: campaign-12345 audience: $ref: '#/components/schemas/Audience' context: $ref: '#/components/schemas/context' schedule: $ref: '#/components/schemas/schedule' executionStatusResponse: type: object description: Execution Status Response required: - executionId - status - createdAt properties: executionId: type: string description: executionId example: CMA-09378831 campaignId: type: string description: campaignId example: campaignId-12345 audienceId: type: string description: audienceId example: audienceId-12345 status: type: string description: execution status enum: - Succeeded - InProgress - Failed example: Succeeded targetedProfileCount: type: integer description: number of profiles exported example: '2' createdAt: type: string format: date-time example: '2016-08-29T09:12:33.001Z' ScheduledExecutionResponse: type: object description: Scheduled Execution Response for scheduling or status check of scheduled execution required: - scheduleId - scheduleStatus properties: scheduleId: type: string description: scheduleId example: schedule-id-123 audience: $ref: '#/components/schemas/Audience' campaignId: type: string description: campaignId example: campaignId-12345 executeAt: type: string format: date-time description: the time of execution trigger example: '2016-08-29T09:12:33.001Z' scheduleStatus: type: string description: schedule status enum: - Scheduled - Triggered example: Scheduled executionDetails: $ref: '#/components/schemas/executionStatusResponse' AEPRecipient: type: object description: the AEP Recipient Information required: - type - userId - namespace properties: type: type: string description: 'recipient type: aep' example: aep userId: type: string description: the AEP Profile identifier example: AEP-ProfileID-12345 namespace: type: string description: the AEP Profile namespace example: email mergePolicyName: type: string description: Merge Policy Name example: Default Timebased mergePolicySchema: type: string description: Merge Policy Schema example: _xdm.context.profile channelData: $ref: '#/components/schemas/recipientChannelData' profile: $ref: '#/components/schemas/profile' context: $ref: '#/components/schemas/context' attachments: $ref: '#/components/schemas/personalizedAttachments' parameters: x-sandbox-name: name: x-sandbox-name description: Provides the platform Sandbox Name required: true in: header schema: type: string x-request-id: name: x-request-id description: A unique id generated by Adobe.io. This parameter will be auto-generated, do not include it in your payload. required: false in: header schema: type: string x-gw-ims-org-id: name: x-gw-ims-org-id description: The ims org id for which the action is being taken. required: true in: header schema: type: string x-api-key: name: x-api-key description: The API key belonging to the calling client. required: true in: header schema: type: string securitySchemes: imsUserToken: type: http scheme: bearer bearerFormat: JWT