> ## Documentation Index
> Fetch the complete documentation index at: https://loops.so/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Publish a transactional email

> Publish the transactional email's current draft email message. The draft becomes the published version and the draft is cleared.

The transactional email's current draft email message is published. The draft becomes the published version and the draft is cleared.

After publishing, use the returned `id` as `transactionalId` with [Send a transactional email](/docs/api-reference/send-transactional-email) to send the email.


## OpenAPI

````yaml /openapi.json post /v1/transactional-emails/{transactionalId}/publish
openapi: 3.1.0
info:
  title: Loops OpenAPI Spec
  description: This is the OpenAPI Spec for the [Loops API](https://loops.so/docs/api).
  version: 1.21.0
servers:
  - url: https://app.loops.so/api
security: []
tags:
  - name: API key
  - name: Audience segments
    description: View audience segments
  - name: Campaigns
    description: Create and manage email campaigns
  - name: Campaign groups
    description: Organize campaigns into groups
  - name: Components
    description: View email components
  - name: Configuration
    description: View configuration settings
  - name: Contacts
    description: Manage contacts in your audience
  - name: Contact properties
    description: Manage contact properties
  - name: Email messages
    description: Manage email message content for campaigns
  - name: Events
    description: Trigger workflows with events
  - name: Event patterns
    description: View workflow event patterns
  - name: Mailing lists
    description: View mailing lists
  - name: Themes
    description: View email themes
  - name: Transactional emails
    description: Create, manage, and send transactional emails
  - name: Transactional groups
    description: Organize transactional emails into groups
  - name: Uploads
    description: Upload image assets
  - name: Workflows
    description: View and mutate workflow graphs
  - name: Workflow nodes
    description: View and mutate workflow nodes
paths:
  /v1/transactional-emails/{transactionalId}/publish:
    parameters:
      - name: transactionalId
        in: path
        required: true
        description: The ID of the transactional email.
        schema:
          type: string
    post:
      tags:
        - Transactional emails
      summary: Publish a transactional email draft
      description: >-
        Publish the transactional email's current draft email message. The draft
        becomes the published version and the draft is cleared.
      responses:
        '200':
          description: Transactional email published.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TransactionalResource'
        '400':
          description: Invalid `transactionalId`.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TransactionalFailureResponse'
        '401':
          description: Invalid API key or content API not enabled for this team.
        '404':
          description: Transactional email not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TransactionalFailureResponse'
        '405':
          description: Wrong HTTP request method.
        '409':
          description: No draft to publish.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TransactionalFailureResponse'
        '422':
          description: >-
            Draft failed validation, sending domain is not verified, or content
            was flagged as unsafe.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TransactionalFailureResponse'
      security:
        - apiKey: []
components:
  schemas:
    TransactionalResource:
      type: object
      properties:
        id:
          type: string
          description: The ID of the transactional email.
        name:
          type: string
          description: The name of the transactional email.
        draftEmailMessageId:
          type:
            - string
            - 'null'
          description: >-
            The ID of the draft email message. `null` if there is no draft
            version.
        publishedEmailMessageId:
          type:
            - string
            - 'null'
          description: >-
            The ID of the published email message. `null` if there is no
            published version.
        transactionalGroupId:
          type:
            - string
            - 'null'
          description: The ID of the group this transactional email belongs to.
        createdAt:
          type: string
          format: date-time
          description: ISO 8601 timestamp for when the transactional email was created.
        updatedAt:
          type: string
          format: date-time
          description: >-
            ISO 8601 timestamp for when the transactional email was last
            updated.
        dataVariables:
          type: array
          description: >-
            Data variable names used by the published email. Empty for
            unpublished transactional emails.
          items:
            type: string
      required:
        - id
        - name
        - draftEmailMessageId
        - publishedEmailMessageId
        - transactionalGroupId
        - createdAt
        - updatedAt
        - dataVariables
    TransactionalFailureResponse:
      type: object
      properties:
        message:
          type: string
      required:
        - message
  securitySchemes:
    apiKey:
      type: http
      scheme: bearer

````

## Related topics

- [Transactional email API examples](/docs/api-reference/examples/transactional-emails.md)
- [Create a transactional email](/docs/api-reference/create-transactional-email.md)
- [API Introduction](/docs/api-reference/intro.md)
- [Transactional email](/docs/transactional.md)
- [Integrately](/docs/integrations/integrately.md)
