Optimizely Transactional mails API

Manage transactional mails that are triggered by a recipient action or event

Operations 24

GET /{clientId}/transactionalmail Get information about all transactional mails #
POST /{clientId}/transactionalmail Create a transactional mail #
GET /{clientId}/transactionalmail/{transactionalMailId} Get information about a transactional mail #
DELETE /{clientId}/transactionalmail/{transactionalMailId} Delete a transactional mail #
POST /{clientId}/transactionalmail/{transactionalMailId}/message Update a mailing #
POST /{clientId}/transactionalmail/{transactionalMailId}/message/attachments Add attachments into a campaign message. Only applicable for campaign message of type email #
DELETE /{clientId}/transactionalmail/{transactionalMailId}/message/attachments Delete attachments of a campaign message. Only applicable for campaign message of type email #
GET /{clientId}/transactionalmail/{transactionalMailId}/message/content Get the content of a mailing (email) #
POST /{clientId}/transactionalmail/{transactionalMailId}/message/content Update the content of a mailing #
GET /{clientId}/transactionalmail/{transactionalMailId}/message/test/{testMailingId} Get information about the sending status of all recipients of a test mailing #
POST /{clientId}/transactionalmail/{transactionalMailId}/message/tracking/links/{trackingLinkId} Update the tracking link configuration of a mailing #
GET /{clientId}/transactionalmail/{transactionalMailId}/message/tracking Get information about the tracking configuration of a mailing #
POST /{clientId}/transactionalmail/{transactionalMailId}/message/tracking Update the tracking configuration of a mailing #
GET /{clientId}/transactionalmail/{transactionalMailId}/recipientLists Get information about a "Recipients" node #
POST /{clientId}/transactionalmail/{transactionalMailId}/recipientLists Create or update a "Recipients" node #
GET /{clientId}/transactionalmail/{transactionalMailId}/test/{testMailingId} Get information about the sending status of all recipients of a test mailing #
POST /{clientId}/transactionalmail/{transactionalMailId}/test Send a test mailing #
POST /{clientId}/transactionalmail/{transactionalMailId}/send Send a transactional mail #
GET /{clientId}/transactionalmail/{transactionalMailId}/report Get a campaign report #
POST /{clientId}/transactionalmail/{transactionalMailId}/start Start a transactional mail #
POST /{clientId}/transactionalmail/{transactionalMailId}/stop Stop a transactional mail #
GET /{clientId}/transactionalmail/status Get the sending status of a sent transactional mail #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/optimizely-transactional-mails-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no email required.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

optimizely-transactional-mails-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Optimizely Campaign REST Transactional mails API
  description: 'This documentation lists all available resources and endpoints of the Optimizely Campaign REST API. The REST API lets you integrate Optimizely Campaign with your business applications and third-party software. Use Optimizely Campaign features and functionalities remotely to manage your recipient data, campaigns and mailings.<br><br>To use the REST API, set up your Optimizely Campaign client first. See <a href="https://docs.developers.optimizely.com/optimizely-campaign/docs/getting-started#client-setup" target="_blank">Client setup</a> on Optimizely World.<br><br>The base URL for all API requests is as follows: <i>https://api.campaign.episerver.net/rest/{clientId}/{component}/{path}?{parameters}</i><br><br><b>Try it out</b><br>The "Try it out" feature lets you test the API before you implement it in the target system. To perform real API requests against your client, authorize with your Base64-encoded credentials. See <a href="https://docs.developers.optimizely.com/optimizely-campaign/docs/getting-started#authenticate" target="_blank">Authentication</a> on Optimizely World.<br><br>To learn more about the Optimizely Campaign REST API, see <a href="https://docs.developers.optimizely.com/optimizely-campaign/docs/rest-api" target="_blank">Optimizely World</a>.<br><br><br>If you want to import the API definition in Postman, download the <a href="https://api.campaign.episerver.net/rest/openapi.json" target="_blank" download> source file</a> and import it in Postman as a collection.'
  version: '1'
servers:
- url: https://api.campaign.episerver.net/rest
tags:
- name: Transactional mails
  description: Manage transactional mails that are triggered by a recipient action or event
paths:
  /{clientId}/transactionalmail:
    get:
      tags:
      - Transactional mails
      summary: Get information about all transactional mails
      description: Get detailed information about all transactional mails, such as status, type, starting date, successor node or grid location. You can filter for mailings assigned to a folder or limit the number of retrieved mailings.
      operationId: selectTransactionalCampaigns
      parameters:
      - name: clientId
        in: path
        description: Client ID
        required: true
        schema:
          type: string
      - name: offset
        in: query
        description: Mailings offset <p><i>Default value :</i> 0</p>
        schema:
          type: integer
          format: int32
      - name: limit
        in: query
        description: 'Maximum number of transactional mails <p><i>Default value</i>: 100</p>'
        schema:
          type: integer
          format: int32
      - name: mediaType
        in: query
        description: 'Filter mailings by media type<p><i>Available values</i> : email, sms, letter, push</p>'
        schema:
          type: string
      - name: resultView
        in: query
        description: Choose whether to retrieve a DETAILED view including all nodes (messages, recipient lists, target groups) or a SUMMARY of metadata.<p><b>Note:</b> The more campaigns you have, the more time the detailed view takes to load.</p>
        schema:
          type: string
          default: SUMMARY
          enum:
          - SUMMARY
          - DETAILED
      - name: status
        in: query
        description: 'Filter mailings by status<p><i>Available values</i> : invalid, activationRequired, activated, canceled, paused, running, finished</p>'
        schema:
          type: string
      - name: sort
        in: query
        description: Sort result by specific criteria
        schema:
          type: string
          default: created
          enum:
          - id
          - name
          - description
          - status
          - created
          - modified
          - started
          - finished
      - name: folderId
        in: query
        description: Filter mailings assigned to a folder
        schema:
          type: integer
          format: int64
      - name: direction
        in: query
        description: Sort order
        schema:
          type: string
          enum:
          - ASC
          - DESC
      responses:
        '200':
          description: A list of transactional mails of a client was retrieved (empty if none exists).
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RestSmartCampaignStreamingCollection'
            application/vnd.optivo.broadmail.v1+json:
              schema:
                $ref: '#/components/schemas/RestSmartCampaignStreamingCollection'
        '400':
          description: Invalid limit request. Change the limit to less than 10000.
      security:
      - Authorization: []
    post:
      tags:
      - Transactional mails
      summary: Create a transactional mail
      description: Create a transactional mail and add information such as subjects for target groups, media code or successor and predecessor node.
      operationId: createTransactionalMailing
      parameters:
      - name: clientId
        in: path
        description: Client ID
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/EventBasedMailingRequestData'
      responses:
        '201':
          description: The transactional mail was created successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RestSmartCampaign'
            application/vnd.optivo.broadmail.v1+json:
              schema:
                $ref: '#/components/schemas/RestSmartCampaign'
        '400':
          description: The transactional mail could not be created. Ensure that the required parameters such as "recipientListIds", "mediaType", "subject", "senderAddress" or "content" are correctly added to the request.
      security:
      - Authorization: []
  /{clientId}/transactionalmail/{transactionalMailId}:
    get:
      tags:
      - Transactional mails
      summary: Get information about a transactional mail
      description: Get detailed information about a transactional mail, such as status, type or date and time of creation.
      operationId: getTransactionalMailing
      parameters:
      - name: clientId
        in: path
        description: Client ID
        required: true
        schema:
          type: string
      - name: transactionalMailId
        in: path
        description: Transactional mail ID
        required: true
        schema:
          type: integer
          format: int64
      responses:
        '200':
          description: The transactional mail was retrieved successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RestSmartCampaign'
            application/vnd.optivo.broadmail.v1+json:
              schema:
                $ref: '#/components/schemas/RestSmartCampaign'
      security:
      - Authorization: []
    delete:
      tags:
      - Transactional mails
      summary: Delete a transactional mail
      operationId: deleteTransactionalMailing
      parameters:
      - name: clientId
        in: path
        description: Client ID
        required: true
        schema:
          type: string
      - name: transactionalMailId
        in: path
        description: Transactional mail ID
        required: true
        schema:
          type: integer
          format: int64
      responses:
        '204':
          description: The transactional mail was deleted successfully.
        '409':
          description: The transactional mail could not be deleted because it contains started messages.
      security:
      - Authorization: []
  /{clientId}/transactionalmail/{transactionalMailId}/message:
    post:
      tags:
      - Transactional mails
      summary: Update a mailing
      description: Update information of a mailing, such as name, subject or content.
      operationId: updateCampaignMessage_3
      parameters:
      - name: clientId
        in: path
        description: Client ID
        required: true
        schema:
          type: integer
          format: int64
      - name: transactionalMailId
        in: path
        description: Transactional mail ID
        required: true
        schema:
          type: integer
          format: int64
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/MessageRequestData'
      responses:
        '200':
          description: The mailing was updated successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RestMessageNode'
            application/vnd.optivo.broadmail.v1+json:
              schema:
                $ref: '#/components/schemas/RestMessageNode'
      security:
      - Authorization: []
  /{clientId}/transactionalmail/{transactionalMailId}/message/attachments:
    post:
      tags:
      - Transactional mails
      summary: Add attachments into a campaign message. Only applicable for campaign message of type email
      description: Add attachments into a campaign message. With this operation you can add a single, or multiple attachments into a campaign message.
      operationId: addAttachments_2
      parameters:
      - name: clientId
        in: path
        description: Client ID
        required: true
        schema:
          type: integer
          format: int64
      - name: transactionalMailId
        in: path
        description: Transactional mail ID
        required: true
        schema:
          type: integer
          format: int64
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              type: object
              properties:
                attachmentIds:
                  type: array
                  description: A comma separated list of attachment ids to be added
                  items:
                    type: integer
                    format: int64
            encoding:
              attachmentIds:
                explode: false
      responses:
        '200':
          description: The attachments were successfully added into campaign message.
        '400':
          description: The "attachmentIds" parameter is either empty or invalid, or the campaign mailing is of type FAX.
        '404':
          description: The campaign mailing was not found.
        '405':
          description: The campaign message is not of type EMAIL.
      security:
      - Authorization: []
    delete:
      tags:
      - Transactional mails
      summary: Delete attachments of a campaign message. Only applicable for campaign message of type email
      operationId: deleteAttachments_2
      parameters:
      - name: clientId
        in: path
        description: Client ID
        required: true
        schema:
          type: integer
          format: int64
      - name: attachmentIds
        in: query
        description: A comma separated list of attachment ids to be deleted
        required: true
        explode: false
        schema:
          type: array
          items:
            type: integer
            format: int64
      - name: transactionalMailId
        in: path
        description: Transactional mail ID
        required: true
        schema:
          type: integer
          format: int64
      responses:
        '204':
          description: The attachments were successfully deleted from campaign message.
        '400':
          description: The "attachmentIds" parameter is empty, or the campaign mailing is of type FAX.
        '404':
          description: The campaign mailing was not found.
        '405':
          description: The campaign message is not of type EMAIL.
      security:
      - Authorization: []
  /{clientId}/transactionalmail/{transactionalMailId}/message/content:
    get:
      tags:
      - Transactional mails
      summary: Get the content of a mailing (email)
      description: Get the content of a mailing (email) and define the content type to be delivered.
      operationId: getCampaignMessageContent_2
      parameters:
      - name: clientId
        in: path
        description: Client ID
        required: true
        schema:
          type: string
      - name: Accept
        in: header
        description: 'Controls which content type is used <p><i>Available values</i> : text/plain, text/html<p><i>Default value</i> : text/plain</p><p>Does not work with the "Try it out" feature.</p>'
        schema:
          type: string
      - name: source
        in: query
        schema:
          type: string
          default: message
          enum:
          - EDITOR
          - MESSAGE
      - name: transactionalMailId
        in: path
        description: Transactional mail ID
        required: true
        schema:
          type: integer
          format: int64
      responses:
        '200':
          description: The content of the mailing (in the indicated content type) was retrieved successfully.
        '404':
          description: No content could be found for the indicated content type. Ensure that the "Accept" parameter has the correct content type and the content exists.
        '406':
          description: The content type is not supported. Ensure that the "Accept" parameter has the correct content type.
      security:
      - Authorization: []
    post:
      tags:
      - Transactional mails
      summary: Update the content of a mailing
      description: 'Update the content of a mailing. You can transmit plain text, html, or multipart content that consists of HTML and plain text. See <a href="https://world.episerver.com/blogs/philipp-gaska/dates/2021/6/updating-mailing-content-via-rest-api" target="_blank">Updating mailing content via REST API</a> on Optimizely World. <b>Note</b>: You can only update the content of mailings created via REST API. This operation is also not suitable for confirmation mailings.'
      operationId: storeCampaignMessageContent_2
      parameters:
      - name: clientId
        in: path
        description: Client ID
        required: true
        schema:
          type: string
      - name: transactionalMailId
        in: path
        description: Transactional mail ID
        required: true
        schema:
          type: integer
          format: int64
      requestBody:
        content:
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/MultiRequest'
      responses:
        '200':
          description: The mailing content was updated successfully.
        '409':
          description: The mailing content could not be updated because of a general error.
      security:
      - Authorization: []
  /{clientId}/transactionalmail/{transactionalMailId}/message/test/{testMailingId}:
    get:
      tags:
      - Transactional mails
      summary: Get information about the sending status of all recipients of a test mailing
      description: Get detailed information about the sending status of all recipients of a test mailing, such as enqueued, sending, sent or failed.
      operationId: getTestMailingReport_3
      parameters:
      - name: clientId
        in: path
        description: Client ID
        required: true
        schema:
          type: integer
          format: int64
      - name: testMailingId
        in: path
        description: Test mailing ID
        required: true
        schema:
          type: integer
          format: int32
      - name: transactionalMailId
        in: path
        description: Transactional mail ID
        required: true
        schema:
          type: integer
          format: int64
      responses:
        '200':
          description: The report was retrieved successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TestMailingReport'
            application/vnd.optivo.broadmail.v1+json:
              schema:
                $ref: '#/components/schemas/TestMailingReport'
      security:
      - Authorization: []
  /{clientId}/transactionalmail/{transactionalMailId}/message/tracking/links/{trackingLinkId}:
    get:
      tags:
      - Transactional mails
      summary: Get information about a tracking link of a mailing
      description: Get detailed information about a tracking link of a mailing, such as ID, URL or link occurrences in the text version.
      operationId: getTrackingLink_2
      parameters:
      - name: clientId
        in: path
        description: Client ID
        required: true
        schema:
          type: integer
          format: int64
      - name: trackingLinkId
        in: path
        description: Tracking link ID
        required: true
        schema:
          type: integer
          format: int64
      - name: transactionalMailId
        in: path
        description: Transactional mail ID
        required: true
        schema:
          type: integer
          format: int64
      responses:
        '200':
          description: The tracking link was retrieved successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RestTrackingLink'
            application/vnd.optivo.broadmail.v1+json:
              schema:
                $ref: '#/components/schemas/RestTrackingLink'
      security:
      - Authorization: []
    post:
      tags:
      - Transactional mails
      summary: Update the tracking link configuration of a mailing
      operationId: updateLinkTracking_2
      parameters:
      - name: clientId
        in: path
        description: Client ID
        required: true
        schema:
          type: integer
          format: int64
      - name: trackingLinkId
        in: path
        description: Tracking link ID
        required: true
        schema:
          type: integer
          format: int64
      - name: transactionalMailId
        in: path
        description: Transactional mail ID
        required: true
        schema:
          type: integer
          format: int64
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/TrackingLinkConfigurationRequestData'
      responses:
        '200':
          description: The tracking link configuration was updated successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RestTrackingLink'
            application/vnd.optivo.broadmail.v1+json:
              schema:
                $ref: '#/components/schemas/RestTrackingLink'
      security:
      - Authorization: []
  /{clientId}/transactionalmail/{transactionalMailId}/message/tracking/links:
    get:
      tags:
      - Transactional mails
      summary: Get information about all tracking links of a mailing
      description: Get detailed information about all tracking links of a mailing, such as ID, URL or link occurrences in the text version.
      operationId: getTrackingLinks_2
      parameters:
      - name: clientId
        in: path
        description: Client ID
        required: true
        schema:
          type: integer
          format: int64
      - name: transactionalMailId
        in: path
        description: Transactional mail ID
        required: true
        schema:
          type: integer
          format: int64
      responses:
        '200':
          description: The tracking links were retrieved successfully.
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/RestTrackingLink'
            application/vnd.optivo.broadmail.v1+json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/RestTrackingLink'
        '400':
          description: The number of tracking links exceeded the maximum of 3000.
      security:
      - Authorization: []
  /{clientId}/transactionalmail/{transactionalMailId}/message/tracking:
    get:
      tags:
      - Transactional mails
      summary: Get information about the tracking configuration of a mailing
      operationId: getTrackingConfiguration_2
      parameters:
      - name: clientId
        in: path
        description: Client ID
        required: true
        schema:
          type: integer
          format: int64
      - name: transactionalMailId
        in: path
        description: Transactional mail ID
        required: true
        schema:
          type: integer
          format: int64
      responses:
        '200':
          description: The tracking configuration was retrieved successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RestTrackingConfiguration'
            application/vnd.optivo.broadmail.v1+json:
              schema:
                $ref: '#/components/schemas/RestTrackingConfiguration'
      security:
      - Authorization: []
    post:
      tags:
      - Transactional mails
      summary: Update the tracking configuration of a mailing
      operationId: updateTrackingConfiguration_2
      parameters:
      - name: clientId
        in: path
        description: Client ID
        required: true
        schema:
          type: integer
          format: int64
      - name: transactionalMailId
        in: path
        description: Transactional mail ID
        required: true
        schema:
          type: integer
          format: int64
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/TrackingConfigurationRequestData'
      responses:
        '200':
          description: The tracking configuration was updated successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RestTrackingConfiguration'
            application/vnd.optivo.broadmail.v1+json:
              schema:
                $ref: '#/components/schemas/RestTrackingConfiguration'
      security:
      - Authorization: []
  /{clientId}/transactionalmail/{transactionalMailId}/recipientLists:
    get:
      tags:
      - Transactional mails
      summary: Get information about a "Recipients" node
      description: Get detailed information about a "Recipients" node, such as node ID, successor node ID or grid location.
      operationId: getRecipientListsNodeForSCMailing_2
      parameters:
      - name: clientId
        in: path
        description: Client ID
        required: true
        schema:
          type: string
      - name: transactionalMailId
        in: path
        description: Transactional mail ID
        required: true
        schema:
          type: integer
          format: int64
      responses:
        '200':
          description: The "Recipients" node was retrieved successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RestRecipientListsNode'
            application/vnd.optivo.broadmail.v1+json:
              schema:
                $ref: '#/components/schemas/RestRecipientListsNode'
        '404':
          description: 'The "Recipients" node could not be found. Ensure that the required parameters such as "campaignId" or "nodeId" are correct and the "Recipients" node exists. '
      security:
      - Authorization: []
    post:
      tags:
      - Transactional mails
      summary: Create or update a "Recipients" node
      description: Create or update a "Recipients" node. The "recipientListIds" parameter is only required for updating.
      operationId: createOrUpdateRecipientListsNode_2
      parameters:
      - name: clientId
        in: path
        description: Client ID
        required: true
        schema:
          type: string
      - name: transactionalMailId
        in: path
        description: Transactional mail ID
        required: true
        schema:
          type: integer
          format: int64
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/RecipientListsRequestData'
      responses:
        '200':
          description: The "Recipient" node was updated successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RestRecipientListsNode'
            application/vnd.optivo.broadmail.v1+json:
              schema:
                $ref: '#/components/schemas/RestRecipientListsNode'
        '201':
          description: The "Recipient" node was created successfully.
        '404':
          description: The "Recipient" node could not be found. Ensure that the required parameters such as "campaignId" or "recipientListIds" are correct and the "Recipients" node exists.
      security:
      - Authorization: []
  /{clientId}/transactionalmail/{transactionalMailId}/test/{testMailingId}:
    get:
      tags:
      - Transactional mails
      summary: Get information about the sending status of all recipients of a test mailing
      description: Get detailed information about the sending status of all recipients of a test mailing, such as enqueued, sending, sent or failed.
      operationId: getTestMailingReport_4
      parameters:
      - name: clientId
        in: path
        description: Client ID
        required: true
        schema:
          type: integer
          format: int64
      - name: testMailingId
        in: path
        description: Test mailing ID
        required: true
        schema:
          type: integer
          format: int32
      - name: transactionalMailId
        in: path
        description: Transactional mail ID
        required: true
        schema:
          type: integer
          format: int64
      responses:
        '200':
          description: The report was retrieved successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TestMailingReport'
            application/vnd.optivo.broadmail.v1+json:
              schema:
                $ref: '#/components/schemas/TestMailingReport'
      security:
      - Authorization: []
  /{clientId}/transactionalmail/{transactionalMailId}/test:
    post:
      tags:
      - Transactional mails
      summary: Send a test mailing
      description: Send a test mailing to check content, layout or target groups before sending the actual mailing.
      operationId: startTestMailing_4
      parameters:
      - name: clientId
        in: path
        description: Client ID
        required: true
        schema:
          type: integer
          format: int64
      - name: transactionalMailId
        in: path
        description: Transactional mail ID
        required: true
        schema:
          type: integer
          format: int64
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/TestMailingRequestData'
      responses:
        '202':
          description: The test message was sent successfully. The response contains a report on the recipients included in the test mailing (check "validRecipientAddresses" field).
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TestMailingStartedReport'
            application/vnd.optivo.broadmail.v1+json:
              schema:
                $ref: '#/components/schemas/TestMailingStartedReport'
        '400':
          description: At least one request parameter is not valid
      security:
      - Authorization: []
  /{clientId}/transactionalmail/{transactionalMailId}/send:
    post:
      tags:
      - Transactional mails
      summary: Send a transactional mail
      description: Send a transactional mail. You can specify attachment token or recipient data.
      operationId: sendTransactionalMailing
      parameters:
      - name: clientId
        in: path
        description: Client ID
        required: true
        schema:
          type: string
      - name: transactionalMailId
        in: path
        description: Transactional mail ID
        required: true
        schema:
          type: integer
          format: int64
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/SendTransactionalMailingRequestData'
      responses:
        '202':
          description: The transactional mail was accepted and is sent asynchronously. To retrieve the sending status of the transactional mail, use the returned mailId and the GET status operation.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RestMailId'
            application/vnd.optivo.broadmail.v1+json:
              schema:
                $ref: '#/components/schemas/RestMailId'
        '400':
          description: The required recipientId/recipientListId is not provided and the recipient list is not assigned to the mailing. Add the required parameters and try again.
      security:
      - Authorization: []
  /{clientId}/transactionalmail/{transactionalMailId}/report:
    get:
      tags:
      - Transactional mails
      summary: Get a campaign report
      description: Get a detailed campaign report containing information such as number of recipients, opens, clicks, bounces or unsubscribes.
      operationId: getReport_2
      parameters:
      - name: clientId
        in: path
        description: Client ID
        required: true
        schema:
          type: string
      - name: transactionalMailId
        in: path
        description: Transactional mail ID
        required: true
        schema:
          type: integer
          format: int64
      responses:
        '200':
          description: The report was retrieved successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CampaignMailingRestReport'
            application/vnd.optivo.broadmail.v1+json:
              schema:
                $ref: '#/components/schemas/CampaignMailingRestReport'
      security:
      - Authorization: []
  /{clientId}/transactionalmail/{transactionalMailId}/start:
    post:
      tags:
      - Transactional mails
      summary: Start a transactional mail
      operationId: startTransactionalMailing
      parameters:
      - name: clientId
        in: path
        description: Client ID
        required: true
        schema:
          type: string
      - name: transactionalMailId
        in: path
        description: Transactional mail ID
        required: true
        schema:
          type: integer
          format: int64
      responses:
        '200':
          description: The transactional mail was started successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RestSmartCampaign'
            application/vnd.optivo.broadmail.v1+json:
              schema:
                $ref: '#/components/schemas/RestSmartCampaign'
        '409':
          description: The transactional mail could not be started because it must be in status "Activated". Please check the status of the mailing.
      security:
      - Authorization: []
  /{clientId}/transactionalmail/{transactionalMailId}/stop:
    post:
      tags:
      - Transactional mails
      summary: Stop a transactional mail
      operationId: stopTransactionalMailing
      parameters:
      - name: clientId
        in: path
        description: Client ID
        required: true
        schema:
          type: string
      - name: transactionalMailId
        in: path
        description: Transactional mail ID
        required: true
        schema:
          type: integer
          format: int64
      responses:
        '200':
          description: The transactional mail was stopped successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RestSmartCampaign'
            application/vnd.optivo.broadmail.v1+json:
              schema:
                $ref: '#/components/schemas/RestSmartCampaign'
        '409':


# --- truncated at 32 KB (63 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/optimizely/refs/heads/main/openapi/optimizely-transactional-mails-api-openapi.yml