Ortto Transactional API

Send transactional email and SMS.

OpenAPI Specification

ortto-transactional-api-openapi.yml Raw ↑
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.