openapi: 3.0.1 info: title: Ortto Accounts Transactional API description: REST API for Ortto (formerly Autopilot), a marketing automation, customer data platform (CDP), and analytics product. The API lets applications create and update people/contacts and accounts, send custom activity events, manage tags, retrieve campaign and asset reports, and send transactional email and SMS. Every request is authenticated with a custom API key supplied in the X-Api-Key header. The default service endpoint is https://api.ap3api.com/v1; customers in Australia or Europe use https://api.au.ap3api.com/v1 or https://api.eu.ap3api.com/v1 respectively. termsOfService: https://ortto.com/terms-of-service/ contact: name: Ortto Support url: https://help.ortto.com/ version: '1.0' servers: - url: https://api.ap3api.com/v1 description: Default service endpoint - url: https://api.au.ap3api.com/v1 description: Australia service endpoint - url: https://api.eu.ap3api.com/v1 description: Europe service endpoint security: - ApiKeyAuth: [] tags: - name: Transactional description: Send transactional email and SMS. paths: /transactional/send: post: operationId: sendTransactionalEmail tags: - Transactional summary: Send a transactional email description: Sends a transactional email. Set non_transactional to true to send as a marketing email. Up to 5 base64-encoded attachments are supported. A successful request returns a 202 Accepted. requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/TransactionalSendRequest' responses: '202': description: Request received and accepted for delivery. '401': $ref: '#/components/responses/Unauthorized' /transactional/send-sms: post: operationId: sendTransactionalSms tags: - Transactional summary: Send a transactional SMS requestBody: required: true content: application/json: schema: type: object properties: sms_id: type: string merge_by: type: array items: type: string people: type: array items: type: object additionalProperties: true responses: '202': description: Request received and accepted for delivery. '401': $ref: '#/components/responses/Unauthorized' components: schemas: TransactionalSendRequest: type: object properties: email_id: type: string description: ID of the transactional email asset to send. non_transactional: type: boolean description: When true, the message is sent as a marketing email. merge_by: type: array items: type: string people: type: array items: type: object properties: fields: type: object additionalProperties: true html_body: type: string subject: type: string attachments: type: array maxItems: 5 items: type: object properties: name: type: string data: type: string description: Base64-encoded file contents. mime_type: type: string Error: type: object properties: status: type: string error: type: string responses: Unauthorized: description: Missing or invalid API key. content: application/json: schema: $ref: '#/components/schemas/Error' securitySchemes: ApiKeyAuth: type: apiKey in: header name: X-Api-Key description: Custom private API key configured in Ortto under Settings, supplied on every request in the X-Api-Key header.