> For clean Markdown content of this page, append .md to this URL. For the complete documentation index, see https://docs.postnuvia.com/llms.txt.

# Connect

GET /v0

Reference: https://docs.postnuvia.com/api-reference/websockets/websockets

## AsyncAPI Specification

```yaml
asyncapi: 2.6.0
info:
  title: Connect
  version: subpackage_websockets.websockets
channels:
  /v0:
    bindings:
      ws:
        query:
          type: object
          properties:
            api_key:
              type: string
    publish:
      operationId: websockets-publish
      summary: Server messages
      message:
        oneOf:
          - $ref: >-
              #/components/messages/subpackage_websockets.websockets-server-0-subscribed
          - $ref: >-
              #/components/messages/subpackage_websockets.websockets-server-1-message_received
          - $ref: >-
              #/components/messages/subpackage_websockets.websockets-server-2-message_sent
          - $ref: >-
              #/components/messages/subpackage_websockets.websockets-server-3-message_delivered
          - $ref: >-
              #/components/messages/subpackage_websockets.websockets-server-4-message_bounced
          - $ref: >-
              #/components/messages/subpackage_websockets.websockets-server-5-message_complained
          - $ref: >-
              #/components/messages/subpackage_websockets.websockets-server-6-message_rejected
          - $ref: >-
              #/components/messages/subpackage_websockets.websockets-server-7-message_opened
          - $ref: >-
              #/components/messages/subpackage_websockets.websockets-server-8-domain_verified
          - $ref: >-
              #/components/messages/subpackage_websockets.websockets-server-9-calendar_event_created
          - $ref: >-
              #/components/messages/subpackage_websockets.websockets-server-10-calendar_event_updated
          - $ref: >-
              #/components/messages/subpackage_websockets.websockets-server-11-calendar_event_deleted
          - $ref: >-
              #/components/messages/subpackage_websockets.websockets-server-12-calendar_event_responded
          - $ref: >-
              #/components/messages/subpackage_websockets.websockets-server-13-calendar_event_starting
          - $ref: >-
              #/components/messages/subpackage_websockets.websockets-server-14-calendar_event_ending
          - $ref: >-
              #/components/messages/subpackage_websockets.websockets-server-15-error
    subscribe:
      operationId: websockets-subscribe
      summary: Client message
      message:
        name: subscribe
        payload:
          $ref: '#/components/schemas/websockets_Subscribe'
servers:
  prod:
    url: wss://ws.postnuvia.com/
    protocol: wss
    x-default: true
  prod-x402:
    url: wss://x402.ws.postnuvia.com/
    protocol: wss
  prod-mpp:
    url: wss://mpp.ws.postnuvia.com/
    protocol: wss
  eu-prod:
    url: wss://ws.postnuvia.eu/
    protocol: wss
components:
  messages:
    subpackage_websockets.websockets-server-0-subscribed:
      name: subscribed
      payload:
        $ref: '#/components/schemas/websockets_Subscribed'
    subpackage_websockets.websockets-server-1-message_received:
      name: message_received
      payload:
        $ref: '#/components/schemas/events_MessageReceivedEvent'
    subpackage_websockets.websockets-server-2-message_sent:
      name: message_sent
      payload:
        $ref: '#/components/schemas/events_MessageSentEvent'
    subpackage_websockets.websockets-server-3-message_delivered:
      name: message_delivered
      payload:
        $ref: '#/components/schemas/events_MessageDeliveredEvent'
    subpackage_websockets.websockets-server-4-message_bounced:
      name: message_bounced
      payload:
        $ref: '#/components/schemas/events_MessageBouncedEvent'
    subpackage_websockets.websockets-server-5-message_complained:
      name: message_complained
      payload:
        $ref: '#/components/schemas/events_MessageComplainedEvent'
    subpackage_websockets.websockets-server-6-message_rejected:
      name: message_rejected
      payload:
        $ref: '#/components/schemas/events_MessageRejectedEvent'
    subpackage_websockets.websockets-server-7-message_opened:
      name: message_opened
      payload:
        $ref: '#/components/schemas/events_MessageOpenedEvent'
    subpackage_websockets.websockets-server-8-domain_verified:
      name: domain_verified
      payload:
        $ref: '#/components/schemas/events_DomainVerifiedEvent'
    subpackage_websockets.websockets-server-9-calendar_event_created:
      name: calendar_event_created
      payload:
        $ref: '#/components/schemas/events_CalendarEventCreatedEvent'
    subpackage_websockets.websockets-server-10-calendar_event_updated:
      name: calendar_event_updated
      payload:
        $ref: '#/components/schemas/events_CalendarEventUpdatedEvent'
    subpackage_websockets.websockets-server-11-calendar_event_deleted:
      name: calendar_event_deleted
      payload:
        $ref: '#/components/schemas/events_CalendarEventDeletedEvent'
    subpackage_websockets.websockets-server-12-calendar_event_responded:
      name: calendar_event_responded
      payload:
        $ref: '#/components/schemas/events_CalendarEventRespondedEvent'
    subpackage_websockets.websockets-server-13-calendar_event_starting:
      name: calendar_event_starting
      payload:
        $ref: '#/components/schemas/events_CalendarEventStartingEvent'
    subpackage_websockets.websockets-server-14-calendar_event_ending:
      name: calendar_event_ending
      payload:
        $ref: '#/components/schemas/events_CalendarEventEndingEvent'
    subpackage_websockets.websockets-server-15-error:
      name: error
      payload:
        $ref: '#/components/schemas/websockets_Error'
  schemas:
    events_EventType:
      type: string
      enum:
        - message.received
        - message.received.spam
        - message.received.blocked
        - message.received.unauthenticated
        - message.sent
        - message.delivered
        - message.bounced
        - message.complained
        - message.rejected
        - message.opened
        - domain.verified
        - calendar.event.created
        - calendar.event.updated
        - calendar.event.deleted
        - calendar.event.responded
        - calendar.event.starting
        - calendar.event.ending
      title: EventType
    events_EventTypes:
      type: array
      items:
        $ref: '#/components/schemas/events_EventType'
      description: Event types for which to send events.
      title: EventTypes
    events_InboxIds:
      type: array
      items:
        type: string
      description: Inboxes for which to send events. Maximum 10 per webhook.
      title: InboxIds
    events_PodIds:
      type: array
      items:
        type: string
      description: Pods for which to send events. Maximum 10 per webhook.
      title: PodIds
    websockets_Subscribed:
      type: object
      properties:
        type:
          type: string
          enum:
            - subscribed
        event_types:
          $ref: '#/components/schemas/events_EventTypes'
        inbox_ids:
          $ref: '#/components/schemas/events_InboxIds'
        pod_ids:
          $ref: '#/components/schemas/events_PodIds'
      required:
        - type
      title: Subscribed
    events_MessageReceivedEventType:
      type: string
      enum:
        - message.received
        - message.received.spam
        - message.received.blocked
        - message.received.unauthenticated
      title: MessageReceivedEventType
    events_EventId:
      type: string
      description: ID of event.
      title: EventId
    inboxes_InboxId:
      type: string
      description: The ID of the inbox.
      title: InboxId
    threads_ThreadId:
      type: string
      description: ID of thread.
      title: ThreadId
    messages_MessageId:
      type: string
      description: ID of message.
      title: MessageId
    messages_MessageLabels:
      type: array
      items:
        type: string
      description: Labels of message.
      title: MessageLabels
    messages_MessageTimestamp:
      type: string
      format: date-time
      description: Time at which message was sent or drafted.
      title: MessageTimestamp
    messages_MessageFrom:
      type: string
      description: >-
        Address of sender. In format `username@domain.com` or `Display Name
        <username@domain.com>`.
      title: MessageFrom
    messages_MessageTo:
      type: array
      items:
        type: string
      description: >-
        Addresses of recipients. In format `username@domain.com` or `Display
        Name <username@domain.com>`.
      title: MessageTo
    messages_MessageCc:
      type: array
      items:
        type: string
      description: >-
        Addresses of CC recipients. In format `username@domain.com` or `Display
        Name <username@domain.com>`.
      title: MessageCc
    messages_MessageBcc:
      type: array
      items:
        type: string
      description: >-
        Addresses of BCC recipients. In format `username@domain.com` or `Display
        Name <username@domain.com>`.
      title: MessageBcc
    messages_MessageSubject:
      type: string
      description: Subject of message.
      title: MessageSubject
    messages_MessagePreview:
      type: string
      description: Text preview of message.
      title: MessagePreview
    messages_MessageText:
      type: string
      description: Plain text body of message.
      title: MessageText
    messages_MessageHtml:
      type: string
      description: HTML body of message.
      title: MessageHtml
    attachments_AttachmentId:
      type: string
      description: ID of attachment.
      title: AttachmentId
    attachments_AttachmentFilename:
      type: string
      description: Filename of attachment.
      title: AttachmentFilename
    attachments_AttachmentSize:
      type: integer
      description: Size of attachment in bytes.
      title: AttachmentSize
    attachments_AttachmentContentType:
      type: string
      description: Content type of attachment.
      title: AttachmentContentType
    attachments_AttachmentContentDisposition:
      type: string
      enum:
        - inline
        - attachment
      description: Content disposition of attachment.
      title: AttachmentContentDisposition
    attachments_AttachmentContentId:
      type: string
      description: Content ID of attachment.
      title: AttachmentContentId
    attachments_Attachment:
      type: object
      properties:
        attachment_id:
          $ref: '#/components/schemas/attachments_AttachmentId'
        filename:
          $ref: '#/components/schemas/attachments_AttachmentFilename'
        size:
          $ref: '#/components/schemas/attachments_AttachmentSize'
        content_type:
          $ref: '#/components/schemas/attachments_AttachmentContentType'
        content_disposition:
          $ref: '#/components/schemas/attachments_AttachmentContentDisposition'
        content_id:
          $ref: '#/components/schemas/attachments_AttachmentContentId'
      required:
        - attachment_id
        - size
      title: Attachment
    messages_MessageAttachments:
      type: array
      items:
        $ref: '#/components/schemas/attachments_Attachment'
      description: Attachments in message.
      title: MessageAttachments
    messages_MessageInReplyTo:
      type: string
      description: ID of message being replied to.
      title: MessageInReplyTo
    messages_MessageCalendarEventId:
      type: string
      description: >-
        The calendar event this email's invitation was applied to: set when the
        email's calendar

        invitation, update, cancellation or attendee reply changed the inbox's
        calendar, a few seconds

        after the email arrives. For an email about one date of a recurring
        event, it is that date's

        event ID. Absent on other emails, and on invitations that were not
        imported. Calendar is in

        private beta.
      title: MessageCalendarEventId
    messages_MessageReferences:
      type: array
      items:
        type: string
      description: IDs of previous messages in thread.
      title: MessageReferences
    messages_MessageHeaders:
      type: object
      additionalProperties:
        type: string
      description: Headers in message.
      title: MessageHeaders
    messages_MessageSize:
      type: integer
      description: Size of message in bytes.
      title: MessageSize
    messages_MessageUpdatedAt:
      type: string
      format: date-time
      description: Time at which message was last updated.
      title: MessageUpdatedAt
    messages_MessageCreatedAt:
      type: string
      format: date-time
      description: Time at which message was created.
      title: MessageCreatedAt
    messages_Message:
      type: object
      properties:
        inbox_id:
          $ref: '#/components/schemas/inboxes_InboxId'
        thread_id:
          $ref: '#/components/schemas/threads_ThreadId'
        message_id:
          $ref: '#/components/schemas/messages_MessageId'
        labels:
          $ref: '#/components/schemas/messages_MessageLabels'
        timestamp:
          $ref: '#/components/schemas/messages_MessageTimestamp'
        from:
          $ref: '#/components/schemas/messages_MessageFrom'
        reply_to:
          type: array
          items:
            type: string
          description: >-
            Reply-to addresses. In format `username@domain.com` or `Display Name
            <username@domain.com>`.
        to:
          $ref: '#/components/schemas/messages_MessageTo'
        cc:
          $ref: '#/components/schemas/messages_MessageCc'
        bcc:
          $ref: '#/components/schemas/messages_MessageBcc'
        subject:
          $ref: '#/components/schemas/messages_MessageSubject'
        preview:
          $ref: '#/components/schemas/messages_MessagePreview'
        text:
          $ref: '#/components/schemas/messages_MessageText'
        html:
          $ref: '#/components/schemas/messages_MessageHtml'
        extracted_text:
          type: string
          description: Extracted new text content.
        extracted_html:
          type: string
          description: Extracted new HTML content.
        attachments:
          $ref: '#/components/schemas/messages_MessageAttachments'
        in_reply_to:
          $ref: '#/components/schemas/messages_MessageInReplyTo'
        calendar_event_id:
          $ref: '#/components/schemas/messages_MessageCalendarEventId'
        references:
          $ref: '#/components/schemas/messages_MessageReferences'
        headers:
          $ref: '#/components/schemas/messages_MessageHeaders'
        size:
          $ref: '#/components/schemas/messages_MessageSize'
        updated_at:
          $ref: '#/components/schemas/messages_MessageUpdatedAt'
        created_at:
          $ref: '#/components/schemas/messages_MessageCreatedAt'
      required:
        - inbox_id
        - thread_id
        - message_id
        - labels
        - timestamp
        - from
        - to
        - size
        - updated_at
        - created_at
      title: Message
    threads_ThreadLabels:
      type: array
      items:
        type: string
      description: Labels of thread.
      title: ThreadLabels
    threads_ThreadTimestamp:
      type: string
      format: date-time
      description: Timestamp of last sent or received message.
      title: ThreadTimestamp
    threads_ThreadReceivedTimestamp:
      type: string
      format: date-time
      description: Timestamp of last received message.
      title: ThreadReceivedTimestamp
    threads_ThreadSentTimestamp:
      type: string
      format: date-time
      description: Timestamp of last sent message.
      title: ThreadSentTimestamp
    threads_ThreadSenders:
      type: array
      items:
        type: string
      description: >-
        Senders in thread. In format `username@domain.com` or `Display Name
        <username@domain.com>`.
      title: ThreadSenders
    threads_ThreadRecipients:
      type: array
      items:
        type: string
      description: >-
        Recipients in thread. In format `username@domain.com` or `Display Name
        <username@domain.com>`.
      title: ThreadRecipients
    threads_ThreadSubject:
      type: string
      description: Subject of thread.
      title: ThreadSubject
    threads_ThreadPreview:
      type: string
      description: Text preview of last message in thread.
      title: ThreadPreview
    threads_ThreadAttachments:
      type: array
      items:
        $ref: '#/components/schemas/attachments_Attachment'
      description: Attachments in thread.
      title: ThreadAttachments
    threads_ThreadLastMessageId:
      type: string
      description: ID of last message in thread.
      title: ThreadLastMessageId
    threads_ThreadMessageCount:
      type: integer
      description: Number of messages in thread.
      title: ThreadMessageCount
    threads_ThreadSize:
      type: integer
      description: Size of thread in bytes.
      title: ThreadSize
    threads_ThreadUpdatedAt:
      type: string
      format: date-time
      description: Time at which thread was last updated.
      title: ThreadUpdatedAt
    threads_ThreadCreatedAt:
      type: string
      format: date-time
      description: Time at which thread was created.
      title: ThreadCreatedAt
    threads_ThreadItem:
      type: object
      properties:
        inbox_id:
          $ref: '#/components/schemas/inboxes_InboxId'
        thread_id:
          $ref: '#/components/schemas/threads_ThreadId'
        labels:
          $ref: '#/components/schemas/threads_ThreadLabels'
        timestamp:
          $ref: '#/components/schemas/threads_ThreadTimestamp'
        received_timestamp:
          $ref: '#/components/schemas/threads_ThreadReceivedTimestamp'
        sent_timestamp:
          $ref: '#/components/schemas/threads_ThreadSentTimestamp'
        senders:
          $ref: '#/components/schemas/threads_ThreadSenders'
        recipients:
          $ref: '#/components/schemas/threads_ThreadRecipients'
        subject:
          $ref: '#/components/schemas/threads_ThreadSubject'
        preview:
          $ref: '#/components/schemas/threads_ThreadPreview'
        attachments:
          $ref: '#/components/schemas/threads_ThreadAttachments'
        last_message_id:
          $ref: '#/components/schemas/threads_ThreadLastMessageId'
        message_count:
          $ref: '#/components/schemas/threads_ThreadMessageCount'
        size:
          $ref: '#/components/schemas/threads_ThreadSize'
        updated_at:
          $ref: '#/components/schemas/threads_ThreadUpdatedAt'
        created_at:
          $ref: '#/components/schemas/threads_ThreadCreatedAt'
      required:
        - inbox_id
        - thread_id
        - labels
        - timestamp
        - senders
        - recipients
        - last_message_id
        - message_count
        - size
        - updated_at
        - created_at
      title: ThreadItem
    events_MessageReceivedEvent:
      type: object
      properties:
        type:
          type: string
          enum:
            - event
        event_type:
          $ref: '#/components/schemas/events_MessageReceivedEventType'
        event_id:
          $ref: '#/components/schemas/events_EventId'
        message:
          $ref: '#/components/schemas/messages_Message'
        thread:
          $ref: '#/components/schemas/threads_ThreadItem'
      required:
        - type
        - event_type
        - event_id
        - message
        - thread
      description: >-
        A message was received. Spam, blocked, and unauthenticated
        received-message events use the same payload shape with different
        `event_type` values.
      title: MessageReceivedEvent
    events_Timestamp:
      type: string
      format: date-time
      description: Timestamp of event.
      title: Timestamp
    events_Send:
      type: object
      properties:
        inbox_id:
          $ref: '#/components/schemas/inboxes_InboxId'
        thread_id:
          $ref: '#/components/schemas/threads_ThreadId'
        message_id:
          $ref: '#/components/schemas/messages_MessageId'
        timestamp:
          $ref: '#/components/schemas/events_Timestamp'
        recipients:
          type: array
          items:
            type: string
          description: Sent recipients.
      required:
        - inbox_id
        - thread_id
        - message_id
        - timestamp
        - recipients
      title: Send
    events_MessageSentEvent:
      type: object
      properties:
        type:
          type: string
          enum:
            - event
        event_type:
          type: string
          enum:
            - message.sent
        event_id:
          $ref: '#/components/schemas/events_EventId'
        send:
          $ref: '#/components/schemas/events_Send'
      required:
        - type
        - event_type
        - event_id
        - send
      title: MessageSentEvent
    events_Delivery:
      type: object
      properties:
        inbox_id:
          $ref: '#/components/schemas/inboxes_InboxId'
        thread_id:
          $ref: '#/components/schemas/threads_ThreadId'
        message_id:
          $ref: '#/components/schemas/messages_MessageId'
        timestamp:
          $ref: '#/components/schemas/events_Timestamp'
        recipients:
          type: array
          items:
            type: string
          description: Delivered recipients.
      required:
        - inbox_id
        - thread_id
        - message_id
        - timestamp
        - recipients
      title: Delivery
    events_MessageDeliveredEvent:
      type: object
      properties:
        type:
          type: string
          enum:
            - event
        event_type:
          type: string
          enum:
            - message.delivered
        event_id:
          $ref: '#/components/schemas/events_EventId'
        delivery:
          $ref: '#/components/schemas/events_Delivery'
      required:
        - type
        - event_type
        - event_id
        - delivery
      title: MessageDeliveredEvent
    events_Recipient:
      type: object
      properties:
        address:
          type: string
          description: Recipient address.
        status:
          type: string
          description: Recipient status.
      required:
        - address
        - status
      title: Recipient
    events_Bounce:
      type: object
      properties:
        inbox_id:
          $ref: '#/components/schemas/inboxes_InboxId'
        thread_id:
          $ref: '#/components/schemas/threads_ThreadId'
        message_id:
          $ref: '#/components/schemas/messages_MessageId'
        timestamp:
          $ref: '#/components/schemas/events_Timestamp'
        type:
          type: string
          description: Bounce type.
        sub_type:
          type: string
          description: Bounce sub-type.
        recipients:
          type: array
          items:
            $ref: '#/components/schemas/events_Recipient'
          description: Bounced recipients.
      required:
        - inbox_id
        - thread_id
        - message_id
        - timestamp
        - type
        - sub_type
        - recipients
      title: Bounce
    events_MessageBouncedEvent:
      type: object
      properties:
        type:
          type: string
          enum:
            - event
        event_type:
          type: string
          enum:
            - message.bounced
        event_id:
          $ref: '#/components/schemas/events_EventId'
        bounce:
          $ref: '#/components/schemas/events_Bounce'
      required:
        - type
        - event_type
        - event_id
        - bounce
      title: MessageBouncedEvent
    events_Complaint:
      type: object
      properties:
        inbox_id:
          $ref: '#/components/schemas/inboxes_InboxId'
        thread_id:
          $ref: '#/components/schemas/threads_ThreadId'
        message_id:
          $ref: '#/components/schemas/messages_MessageId'
        timestamp:
          $ref: '#/components/schemas/events_Timestamp'
        type:
          type: string
          description: Complaint type.
        sub_type:
          type: string
          description: Complaint sub-type.
        recipients:
          type: array
          items:
            type: string
          description: Complained recipients.
      required:
        - inbox_id
        - thread_id
        - message_id
        - timestamp
        - type
        - sub_type
        - recipients
      title: Complaint
    events_MessageComplainedEvent:
      type: object
      properties:
        type:
          type: string
          enum:
            - event
        event_type:
          type: string
          enum:
            - message.complained
        event_id:
          $ref: '#/components/schemas/events_EventId'
        complaint:
          $ref: '#/components/schemas/events_Complaint'
      required:
        - type
        - event_type
        - event_id
        - complaint
      title: MessageComplainedEvent
    events_Reject:
      type: object
      properties:
        inbox_id:
          $ref: '#/components/schemas/inboxes_InboxId'
        thread_id:
          $ref: '#/components/schemas/threads_ThreadId'
        message_id:
          $ref: '#/components/schemas/messages_MessageId'
        timestamp:
          $ref: '#/components/schemas/events_Timestamp'
        reason:
          type: string
          description: Reject reason.
      required:
        - inbox_id
        - thread_id
        - message_id
        - timestamp
        - reason
      title: Reject
    events_MessageRejectedEvent:
      type: object
      properties:
        type:
          type: string
          enum:
            - event
        event_type:
          type: string
          enum:
            - message.rejected
        event_id:
          $ref: '#/components/schemas/events_EventId'
        reject:
          $ref: '#/components/schemas/events_Reject'
      required:
        - type
        - event_type
        - event_id
        - reject
      title: MessageRejectedEvent
    events_Open:
      type: object
      properties:
        inbox_id:
          $ref: '#/components/schemas/inboxes_InboxId'
        thread_id:
          $ref: '#/components/schemas/threads_ThreadId'
        message_id:
          $ref: '#/components/schemas/messages_MessageId'
        timestamp:
          $ref: '#/components/schemas/events_Timestamp'
      required:
        - inbox_id
        - thread_id
        - message_id
        - timestamp
      title: Open
    events_MessageOpenedEvent:
      type: object
      properties:
        type:
          type: string
          enum:
            - event
        event_type:
          type: string
          enum:
            - message.opened
        event_id:
          $ref: '#/components/schemas/events_EventId'
        open:
          $ref: '#/components/schemas/events_Open'
      required:
        - type
        - event_type
        - event_id
        - open
      description: >-
        A tracked message was opened for the first time. Sent once per message:
        repeat opens do not

        resend it.
      title: MessageOpenedEvent
    pods_PodId:
      type: string
      description: ID of pod.
      title: PodId
    domains_DomainId:
      type: string
      description: The ID of the domain.
      title: DomainId
    domains_DomainName:
      type: string
      description: The name of the domain (e.g., `example.com`).
      title: DomainName
    domains_VerificationStatus:
      type: string
      enum:
        - NOT_STARTED
        - PENDING
        - INVALID
        - FAILED
        - VERIFYING
        - VERIFIED
      title: VerificationStatus
    domains_Status:
      $ref: '#/components/schemas/domains_VerificationStatus'
      description: The verification status of the domain.
      title: Status
    domains_FeedbackEnabled:
      type: boolean
      description: Bounce and complaint notifications are sent to your inboxes.
      title: FeedbackEnabled
    domains_InboundEnabled:
      type: boolean
      description: >-
        Receive email for this domain. Defaults to `true`. Set `false` for a
        send-only

        domain: the apex MX record is not required and is omitted from
        `records`, so the

        domain's existing email provider keeps receiving its mail. Inboxes on a
        send-only

        domain can still send.
      title: InboundEnabled
    domains_SubdomainsEnabled:
      type: boolean
      description: >-
        Allow inboxes on any subdomain of this domain. Adds a required wildcard
        MX

        record (`*.<domain>`) to `records`.
      title: SubdomainsEnabled
    domains_TrackingEnabled:
      type: boolean
      description: >-
        Serve open tracking pixels from this domain. Adds a required
        `link.<domain>`

        CNAME record to `records`, which must be published and verified before

        `track_opens` can be used on a send.
      title: TrackingEnabled
    domains_RecordType:
      type: string
      enum:
        - TXT
        - CNAME
        - MX
      title: RecordType
    domains_RecordStatus:
      type: string
      enum:
        - MISSING
        - INVALID
        - VALID
      title: RecordStatus
    domains_VerificationRecord:
      type: object
      properties:
        type:
          $ref: '#/components/schemas/domains_RecordType'
          description: The type of the DNS record.
        name:
          type: string
          description: The name or host of the record.
        value:
          type: string
          description: The value of the record.
        status:
          $ref: '#/components/schemas/domains_RecordStatus'
          description: The verification status of this specific record.
        priority:
          type: integer
          description: The priority of the MX record.
        reason:
          type: string
          description: >-
            Why the record is INVALID, when known. `duplicate_records` means the
            expected value is present but extra records coexist at the same
            name; `value_mismatch` means a record exists but does not match the
            expected value.
      required:
        - type
        - name
        - value
        - status
      title: VerificationRecord
    domains_ClientId:
      type: string
      description: Client ID of domain.
      title: ClientId
    domains_Domain:
      type: object
      properties:
        pod_id:
          $ref: '#/components/schemas/pods_PodId'
        domain_id:
          $ref: '#/components/schemas/domains_DomainId'
        domain:
          $ref: '#/components/schemas/domains_DomainName'
        status:
          $ref: '#/components/schemas/domains_Status'
        reason:
          type: string
          description: >-
            Why the domain is not (yet) VERIFIED, when known.
            `dns_records_missing` / `dns_records_invalid` point at the DNS
            records. The `ses_*` values mean the records look right and
            sending-infrastructure validation has not converged:
            `ses_dkim_pending` / `ses_mail_from_pending` (still checking),
            `ses_dkim_temporary_failure` / `ses_mail_from_temporary_failure` (a
            transient error the infrastructure keeps retrying on its own —
            usually resolves without changes), `ses_dkim_failed` /
            `ses_mail_from_failed` (a terminal verdict; re-verify after fixing),
            `ses_dkim_not_started` / `ses_mail_from_not_started` (the attribute
            was never configured on the identity — re-verify to push it), and
            `ses_not_verified_for_sending`. Absent when VERIFIED.
        feedback_enabled:
          $ref: '#/components/schemas/domains_FeedbackEnabled'
        inbound_enabled:
          $ref: '#/components/schemas/domains_InboundEnabled'
          description: >-
            Absent on domains created before this field existed; those receive
            email.
        subdomains_enabled:
          $ref: '#/components/schemas/domains_SubdomainsEnabled'
        tracking_enabled:
          $ref: '#/components/schemas/domains_TrackingEnabled'
        records:
          type: array
          items:
            $ref: '#/components/schemas/domains_VerificationRecord'
          description: >-
            A list of DNS records required to verify the domain. Includes the
            apex

            MX record unless `inbound_enabled` is false, and a wildcard MX
            record

            (`*.<domain>`) when `subdomains_enabled` is true.
        client_id:
          $ref: '#/components/schemas/domains_ClientId'
        updated_at:
          type: string
          format: date-time
          description: Time at which the domain was last updated.
        created_at:
          type: string
          format: date-time
          description: Time at which the domain was created.
      required:
        - domain_id
        - domain
        - status
        - feedback_enabled
        - subdomains_enabled
        - tracking_enabled
        - records
        - updated_at
        - created_at
      title: Domain
    events_DomainVerifiedEvent:
      type: object
      properties:
        type:
          type: string
          enum:
            - event
        event_type:
          type: string
          enum:
            - domain.verified
        event_id:
          $ref: '#/components/schemas/events_EventId'
        domain:
          $ref: '#/components/schemas/domains_Domain'
      required:
        - type
        - event_type
        - event_id
        - domain
      title: DomainVerifiedEvent
    calendar_CalendarEventId:
      type: string
      description: >-
        ID of a calendar event. A one-off or recurring event is addressed by its
        UUID. One date of a

        recurring event is addressed by a dated ID, `<uuid>_<slot>`:
        `<uuid>_t20261015T090000` for a

        timed date (the original wall-clock start in the event's time zone) or
        `<uuid>_d20261015` for an

        all-day date. Dated IDs are stable: moving a date keeps its original ID.
      title: CalendarEventId
    calendar_CalendarEventKind:
      type: string
      enum:
        - single
        - series
        - instance
      description: >-
        What the event object represents.


        - `single`: a one-off event, addressed by its UUID.

        - `series`: the definition of a recurring event, addressed by its UUID.
        It carries
          `recurrence`; `start` and `end` describe its first date.
        - `instance`: one date of a recurring event, addressed by its dated ID.
        It carries `series_id`,
          `original_start` and `is_exception`.
      title: CalendarEventKind
    calendar_WallTime:
      type: string
      description: >-
        A local wall-clock time without an offset, interpreted in the event's
        `timezone`.

        Timed events use `YYYY-MM-DDTHH:mm:ss` (for example
        `2026-10-15T09:00:00`). All-day events use

        `YYYY-MM-DD`. Years must be between 1900 and 9999.
      title: WallTime
    calendar_CalendarEventStatus:
      type: string
      enum:
        - confirmed
        - tentative
        - cancelled
      description: >-
        Status of the event. A `cancelled` event or date stays readable but
        sends no

        `calendar.event.starting` or `calendar.event.ending` webhooks
        (cancelling a date that is

        already running still sends its `calendar.event.ending`). A date
        cancelled by deleting its

        dated ID is removed from the series instead, so reading it can return
        `404` or `410`.
      title: CalendarEventStatus
    calendar_IanaTimezone:
      type: string
      description: >-
        Canonical IANA time zone name, for example `America/New_York`,
        `Europe/London` or `UTC`.

        Abbreviations such as `PST`, Windows names such as `Pacific Standard
        Time`, and spellings that

        differ from the canonical name are rejected.
      title: IanaTimezone
    calendar_DurationMode:
      type: string
      enum:
        - nominal
        - exact
      description: >-
        How the event's length is kept when a date crosses a daylight-saving
        change.


        - `exact`: the event lasts the same elapsed time. Default for one-off
        timed events.

        - `nominal`: the event keeps its wall-clock end time (a 09:00 to 10:00
        meeting stays 09:00 to
          10:00 local time). Default for recurring timed events.

        All-day events are always `nominal`.
      title: DurationMode
    calendar_RecurrencePeriod:
      type: object
      properties:
        start:
          $ref: '#/components/schemas/calendar_WallTime'
        end:
          $ref: '#/components/schemas/calendar_WallTime'
        duration:
          type: string
          description: ISO 8601 duration, for example `PT30M`.
      required:
        - start
      description: >-
        An extra date (RDATE) given as a period. Specify exactly one of `end` or
        `duration`.
      title: RecurrencePeriod
    calendar_RecurrenceDate:
      oneOf:
        - $ref: '#/components/schemas/calendar_WallTime'
        - $ref: '#/components/schemas/calendar_RecurrencePeriod'
      description: A wall-clock date or date-time, or (timed events only) a period.
      title: RecurrenceDate
    calendar_Recurrence:
      type: object
      properties:
        rule:
          type: string
          description: Normalized RRULE body, without the `RRULE:` prefix.
        exdates:
          type: array
          items:
            $ref: '#/components/schemas/calendar_WallTime'
        rdates:
          type: array
          items:
            $ref: '#/components/schemas/calendar_RecurrenceDate'
        truncate_before:
          $ref: '#/components/schemas/calendar_WallTime'
          description: >-
            Set when the series was ended with a `mode=future` delete: no date
            starting at or after

            this wall-clock time occurs.
      required:
        - rule
      description: The recurrence of a series, as stored.
      title: Recurrence
    calendar_AttendeeStatus:
      type: string
      enum:
        - needs_action
        - accepted
        - declined
        - tentative
      description: The attendee's response to the invitation.
      title: AttendeeStatus
    calendar_AttendeeRole:
      type: string
      enum:
        - required
        - optional
      description: Whether the attendee's presence is required.
      title: AttendeeRole
    calendar_Attendee:
      type: object
      properties:
        email:
          type: string
          description: >-
            Email address of the attendee. Stored in lowercase. Must be unique
            within the event.
        name:
          type: string
          description: Display name of the attendee. At most 256 characters.
        status:
          $ref: '#/components/schemas/calendar_AttendeeStatus'
          description: Response status. Defaults to `needs_action`.
        role:
          $ref: '#/components/schemas/calendar_AttendeeRole'
          description: Defaults to `required`.
        comment:
          type: string
          description: >-
            Comment the attendee sent with their response. At most 4,096 UTF-8
            bytes; on create or

            update, a longer comment is dropped rather than rejected.
        responded_at:
          type: string
          format: date-time
          description: Time at which the attendee last responded.
      required:
        - email
      title: Attendee
    calendar_CalendarEventSource:
      type: string
      enum:
        - api
        - email
      description: >-
        Where the event came from. `api` events were created through this API
        and the inbox is their

        organizer. `email` events were created from a calendar invitation (iMIP)
        received by the inbox;

        their organizer is the sender of the invitation.
      title: CalendarEventSource
    calendar_ResourceRevision:
      type: integer
      description: >-
        Revision of the resource. It increases on every change. The resource's
        `etag` is

        `"rv-<resource_revision>"`.
      title: ResourceRevision
    calendar_CalendarEvent:
      type: object
      properties:
        event_id:
          $ref: '#/components/schemas/calendar_CalendarEventId'
        kind:
          $ref: '#/components/schemas/calendar_CalendarEventKind'
        series_id:
          type: string
          description: For `instance` events, the UUID of the series this date belongs to.
        original_start:
          $ref: '#/components/schemas/calendar_WallTime'
          description: >-
            For `instance` events, the date's start as the series rule generated
            it, before any edit.
        original_start_at:
          type: string
          format: date-time
          description: For `instance` events, `original_start` as a UTC instant.
        is_exception:
          type: boolean
          description: >-
            For `instance` events, `true` when this date was edited or moved,
            individually or by a `mode=future` change.
        title:
          type: string
          description: Title of the event.
        description:
          type: string
          description: >-
            Description of the event. Omitted from agenda and instance list
            items.
        location:
          type: string
          description: Location of the event.
        metadata:
          description: >-
            Your own JSON value for the event, usually an object. Never sent to
            attendees. Omitted from agenda and instance list items.
        status:
          $ref: '#/components/schemas/calendar_CalendarEventStatus'
        all_day:
          type: boolean
          description: Whether this is an all-day event.
        start:
          $ref: '#/components/schemas/calendar_WallTime'
          description: Local start time in `timezone`. For all-day events, the first day.
        end:
          $ref: '#/components/schemas/calendar_WallTime'
          description: >-
            Local end time in `timezone`. For all-day events, the last day
            (inclusive).
        timezone:
          $ref: '#/components/schemas/calendar_IanaTimezone'
        duration_mode:
          $ref: '#/components/schemas/calendar_DurationMode'
        duration_value:
          type: integer
          description: >-
            Length of the event, in milliseconds for timed events and in days
            for all-day events.
        start_at:
          type: string
          format: date-time
          description: >-
            Start as a UTC instant. This is when `calendar.event.starting` is
            due.
        end_at:
          type: string
          format: date-time
          description: End as a UTC instant. This is when `calendar.event.ending` is due.
        recurrence:
          $ref: '#/components/schemas/calendar_Recurrence'
          description: For `series` events, the recurrence.
        attendees:
          type: array
          items:
            $ref: '#/components/schemas/calendar_Attendee'
          description: >-
            Attendees of the event. Omitted from agenda and instance list items;
            `attendee_count` is always present.
        attendee_count:
          type: integer
          description: Number of attendees.
        response_status:
          $ref: '#/components/schemas/calendar_AttendeeStatus'
          description: >-
            The inbox's own response: the `status` of its entry in `attendees`.
            Present only on events

            the inbox can respond to: `email` events with an `organizer_email`
            and an

            `origin_message_id` that list the inbox as an attendee. Included on
            agenda and instance list

            items, which omit `attendees`. `needs_action` means the invitation
            is waiting for a reply.
        uid:
          type: string
          description: >-
            iCalendar UID of the event. Invitations about this event carry the
            same UID.
        sequence:
          type: integer
          description: >-
            iCalendar SEQUENCE number. It increases when a change to a one-off
            or series event affects

            what attendees see (time, status, title, description, location,
            recurrence or attendees).

            A change to a dated event increases it only when the change is sent
            with `send_invites`.
        source:
          $ref: '#/components/schemas/calendar_CalendarEventSource'
        organizer_email:
          type: string
          description: Email address of the organizer. For `api` events, the inbox.
        origin_message_id:
          type: string
          description: >-
            For `email` events, the ID of the message whose invitation last
            created or updated the event.
        resource_revision:
          $ref: '#/components/schemas/calendar_ResourceRevision'
          description: >-
            Present on `single` and `series` events, except agenda items and

            `calendar.event.starting` and `calendar.event.ending` payloads,
            which omit it.
        created_at:
          type: string
          format: date-time
          description: >-
            Time at which the event (or, for a date, the definition governing
            it) was created.
        updated_at:
          type: string
          format: date-time
          description: >-
            Time at which the event (or, for a date, the definition governing
            it) was last updated.
        etag:
          type: string
          description: >-
            The event's or date's current version, also sent as the `ETag`
            response header. Send it in

            `If-Match` to make an update, delete or response conditional.
            Present on Get, Create,

            Update, Delete and Respond responses; list items and webhooks omit
            it. Treat it as opaque:

            a dated event's `etag` (`"occ-..."`) is not derived from
            `resource_revision`.
      required:
        - event_id
        - kind
        - title
        - status
        - all_day
        - start
        - end
        - timezone
        - duration_mode
        - duration_value
        - start_at
        - end_at
        - attendee_count
        - uid
        - sequence
        - source
        - created_at
        - updated_at
      description: >-
        A calendar event. The same shape is used by every response, list item
        and webhook. `kind` says

        whether it is a one-off event, the definition of a recurring series, or
        one date of a series.
      title: CalendarEvent
    events_CalendarEventCreatedEvent:
      type: object
      properties:
        type:
          type: string
          enum:
            - event
        event_type:
          type: string
          enum:
            - calendar.event.created
        event_id:
          $ref: '#/components/schemas/events_EventId'
          description: >-
            Equals the `operation_id` returned by the request that made the
            change.
        inbox_id:
          $ref: '#/components/schemas/inboxes_InboxId'
        calendar_event:
          $ref: '#/components/schemas/calendar_CalendarEvent'
      required:
        - type
        - event_type
        - event_id
        - inbox_id
        - calendar_event
      description: >-
        An event was created, through the API or from an invitation the inbox
        received. Also sent when

        one date of a recurring event is edited for the first time;
        `calendar_event` is then that date.
      title: CalendarEventCreatedEvent
    events_CalendarEventPrevious:
      type: object
      properties:
        title:
          type: string
        description:
          type: string
        location:
          type: string
        metadata:
          description: Any type
        status:
          $ref: '#/components/schemas/calendar_CalendarEventStatus'
        all_day:
          type: boolean
        start:
          $ref: '#/components/schemas/calendar_WallTime'
        end:
          $ref: '#/components/schemas/calendar_WallTime'
        timezone:
          $ref: '#/components/schemas/calendar_IanaTimezone'
        duration_mode:
          $ref: '#/components/schemas/calendar_DurationMode'
        recurrence:
          $ref: '#/components/schemas/calendar_Recurrence'
        attendees:
          type: array
          items:
            $ref: '#/components/schemas/calendar_Attendee'
      description: >-
        The values that a `calendar.event.updated` change replaced, for the
        fields it changed. Only

        changed fields appear; a field that had no value before the change is
        absent.
      title: CalendarEventPrevious
    events_CalendarEventUpdatedEvent:
      type: object
      properties:
        type:
          type: string
          enum:
            - event
        event_type:
          type: string
          enum:
            - calendar.event.updated
        event_id:
          $ref: '#/components/schemas/events_EventId'
          description: >-
            Equals the `operation_id` returned by the request that made the
            change.
        inbox_id:
          $ref: '#/components/schemas/inboxes_InboxId'
        calendar_event:
          $ref: '#/components/schemas/calendar_CalendarEvent'
        previous:
          $ref: '#/components/schemas/events_CalendarEventPrevious'
          description: >-
            For changes to a one-off or series event, the prior values of the
            fields that changed.
      required:
        - type
        - event_type
        - event_id
        - inbox_id
        - calendar_event
      description: >-
        An event, or one or more dates of a recurring event, changed.
        `calendar_event` is the event

        (or the date) after the change. Cancelling dates with a delete on a
        dated ID also sends this

        event, with the cancelled date as `calendar_event`.
      title: CalendarEventUpdatedEvent
    events_CalendarEventDeletedEvent:
      type: object
      properties:
        type:
          type: string
          enum:
            - event
        event_type:
          type: string
          enum:
            - calendar.event.deleted
        event_id:
          $ref: '#/components/schemas/events_EventId'
          description: >-
            Equals the `deletion_id` returned by the request that made the
            change.
        inbox_id:
          $ref: '#/components/schemas/inboxes_InboxId'
        calendar_event:
          $ref: '#/components/schemas/calendar_CalendarEvent'
      required:
        - type
        - event_type
        - event_id
        - inbox_id
        - calendar_event
      description: >-
        A one-off or recurring event was deleted. `calendar_event` is the event
        as it was. Cancelling

        dates of a recurring event sends `calendar.event.updated` instead.
      title: CalendarEventDeletedEvent
    events_CalendarEventRespondedEvent:
      type: object
      properties:
        type:
          type: string
          enum:
            - event
        event_type:
          type: string
          enum:
            - calendar.event.responded
        event_id:
          $ref: '#/components/schemas/events_EventId'
        inbox_id:
          $ref: '#/components/schemas/inboxes_InboxId'
        calendar_event:
          $ref: '#/components/schemas/calendar_CalendarEvent'
      required:
        - type
        - event_type
        - event_id
        - inbox_id
        - calendar_event
      description: >-
        An attendee's response changed: the inbox responded with the respond
        endpoint, or an attendee

        replied by email to an invitation the inbox sent.
        `calendar_event.attendees` holds the new

        statuses.
      title: CalendarEventRespondedEvent
    events_CalendarEventStartingEvent:
      type: object
      properties:
        type:
          type: string
          enum:
            - event
        event_type:
          type: string
          enum:
            - calendar.event.starting
        event_id:
          $ref: '#/components/schemas/events_EventId'
          description: Stable for this date and boundary. Use it to deduplicate deliveries.
        inbox_id:
          $ref: '#/components/schemas/inboxes_InboxId'
        calendar_event:
          $ref: '#/components/schemas/calendar_CalendarEvent'
          description: The event or date as it stood when the boundary was first processed.
        scheduled_at:
          type: string
          format: date-time
          description: The start this webhook is for (the event's `start_at`).
      required:
        - type
        - event_type
        - event_id
        - inbox_id
        - calendar_event
        - scheduled_at
      description: >-
        An event, or one date of a recurring event, has started. Usually sent
        within a minute after

        `scheduled_at`. If a date is first picked up after it has already ended
        and more than 5

        minutes after its start (for example, an event created entirely in the
        past), neither its

        `calendar.event.starting` nor its `calendar.event.ending` is sent.
        Retries carry the same

        `event_id` and an identical body.
      title: CalendarEventStartingEvent
    events_CalendarEventEndingEvent:
      type: object
      properties:
        type:
          type: string
          enum:
            - event
        event_type:
          type: string
          enum:
            - calendar.event.ending
        event_id:
          $ref: '#/components/schemas/events_EventId'
          description: Stable for this date and boundary. Use it to deduplicate deliveries.
        inbox_id:
          $ref: '#/components/schemas/inboxes_InboxId'
        calendar_event:
          $ref: '#/components/schemas/calendar_CalendarEvent'
          description: The event or date as it stood when the boundary was first processed.
        scheduled_at:
          type: string
          format: date-time
          description: The end this webhook is for (the event's `end_at`).
      required:
        - type
        - event_type
        - event_id
        - inbox_id
        - calendar_event
        - scheduled_at
      description: >-
        An event, or one date of a recurring event, has ended. Usually sent
        within a minute after

        `scheduled_at`. Retries carry the same `event_id` and an identical body.
      title: CalendarEventEndingEvent
    ErrorName:
      type: string
      description: Name of error.
      title: ErrorName
    ErrorMessage:
      type: string
      description: Error message.
      title: ErrorMessage
    websockets_Error:
      type: object
      properties:
        type:
          type: string
          enum:
            - error
        name:
          $ref: '#/components/schemas/ErrorName'
        message:
          $ref: '#/components/schemas/ErrorMessage'
      required:
        - type
        - name
        - message
      title: Error
    websockets_Subscribe:
      type: object
      properties:
        type:
          type: string
          enum:
            - subscribe
        event_types:
          $ref: '#/components/schemas/events_EventTypes'
        inbox_ids:
          $ref: '#/components/schemas/events_InboxIds'
        pod_ids:
          $ref: '#/components/schemas/events_PodIds'
      required:
        - type
      title: Subscribe

```