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

# Update a Draft

> Updates an existing message draft.



## OpenAPI

````yaml PATCH /inbox_messages/{id}
openapi: 3.1.0
info:
  title: Moonbase REST API
  version: v0
servers:
  - url: https://api.moonbase.ai/v0
security:
  - bearer: []
tags:
  - name: Inboxes
    description: Manage your inboxes, conversations, and messages
  - name: Collections
    description: Manage your collections and items
  - name: Marketing
    description: Manage your marketing campaigns and forms
  - name: Activities
    description: View activities and capture calls
  - name: Library
    description: Manage your meetings, files, and notes
paths:
  /inbox_messages/{id}:
    patch:
      tags:
        - Inboxes
      summary: Update a message draft
      description: Updates an existing message draft.
      parameters:
        - name: id
          in: path
          required: true
          schema:
            type: string
          description: The ID of the message to update.
          explode: true
      requestBody:
        description: The `Message` values to update.
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/InboxMessageUpdateParams'
            examples:
              Default:
                summary: Default
                value:
                  type: email_message
                  subject: Test Subject
                  body:
                    markdown: >-
                      This is the body of the message. It supports
                      [markdown](https://en.wikipedia.org/wiki/Markdown).
                  to:
                    - email: bob@example.com
                      name: Bob
                    - email: jack@example.com
                  cc:
                    - email: joe@example.com
                      name: Joe
                  bcc:
                    - email: steve@example.com
                      name: Steve
                  lock_version: 0
      responses:
        '200':
          description: Update succeeded.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Message'
              examples:
                Default:
                  summary: Default
                  value:
                    id: 1CLJt2v5aNd8G5SGzEaeVU
                    type: email_message
                    body:
                      markdown: >-
                        This is the body of the message. It supports
                        [markdown](https://en.wikipedia.org/wiki/Markdown).
                    addresses:
                      - id: 1CLJt2v7opRhSWqVEtHwYT
                        type: email_message_address
                        email: person-366@example-366.com
                        role: from
                      - id: 1CLJt2vEzvEeoG1qPRazvx
                        type: email_message_address
                        email: bob@example.com
                        role: to
                        person:
                          id: 1CLJt2vGyyqc4yvgwnDhsA
                          type: item
                          collection:
                            id: 1CLJt2ubZ7zAZFBxUxeBHo
                            type: collection
                            ref: people
                        organization:
                          id: 1CLJt2vFzT38S7yGAbuMQ4
                          type: item
                          collection:
                            id: 1CLJt2uco2zG6pdjxS37sg
                            type: collection
                            ref: organizations
                      - id: 1CLJt2vFFJSGhyWC5ifb3j
                        type: email_message_address
                        email: jack@example.com
                        role: to
                        person:
                          id: 1CLJt2vLCxSetHHKycFMPF
                          type: item
                          collection:
                            id: 1CLJt2ubZ7zAZFBxUxeBHo
                            type: collection
                            ref: people
                        organization:
                          id: 1CLJt2vFzT38S7yGAbuMQ4
                          type: item
                          collection:
                            id: 1CLJt2uco2zG6pdjxS37sg
                            type: collection
                            ref: organizations
                      - id: 1CLJt2vFVgdtcgzYn1kBAW
                        type: email_message_address
                        email: joe@example.com
                        role: cc
                        person:
                          id: 1CLJt2vNSQFE4igYEFxeSE
                          type: item
                          collection:
                            id: 1CLJt2ubZ7zAZFBxUxeBHo
                            type: collection
                            ref: people
                        organization:
                          id: 1CLJt2vFzT38S7yGAbuMQ4
                          type: item
                          collection:
                            id: 1CLJt2uco2zG6pdjxS37sg
                            type: collection
                            ref: organizations
                      - id: 1CLJt2vFk4qWXQUuUJpmHH
                        type: email_message_address
                        email: steve@example.com
                        role: bcc
                        person:
                          id: 1CLJt2vQvEFR9sa7BCkXbz
                          type: item
                          collection:
                            id: 1CLJt2ubZ7zAZFBxUxeBHo
                            type: collection
                            ref: people
                        organization:
                          id: 1CLJt2vFzT38S7yGAbuMQ4
                          type: item
                          collection:
                            id: 1CLJt2uco2zG6pdjxS37sg
                            type: collection
                            ref: organizations
                    conversation:
                      id: 1CLJt2v6592N5WQzNpjpj2
                      type: inbox_conversation
                      created_at: '2025-02-17T16:00:00.000Z'
                      updated_at: '2025-02-17T16:00:00.000Z'
                      tags: []
                      subject: Test Subject
                      last_message_at: '2025-02-17T16:00:00.000Z'
                      state: unassigned
                      follow_up: false
                      unread: true
                      bulk: false
                      spam: false
                      trash: false
                      draft: true
                    lock_version: 1
                    created_at: '2025-02-17T16:00:00.000Z'
                    unread: true
                    bulk: false
                    spam: false
                    trash: false
                    draft: true
                    subject: Test Subject
        '400':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Errors'
              examples:
                Default:
                  summary: Default
                  value:
                    type: errors
                    errors:
                      - type: error
                        status: '400'
                        title: Bad Request
                        detail: >-
                          The request could not be understood due to malformed
                          syntax or invalid parameters.
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Errors'
              examples:
                Default:
                  summary: Default
                  value:
                    type: errors
                    errors:
                      - type: error
                        status: '401'
                        title: Unauthorized
                        detail: >-
                          Invalid or missing API key or JWT. You should provide
                          your Moonbase API Key or JWT in the authorization
                          header, in the format: "Authorization: Bearer
                          MOONBASE_API_KEY"
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Errors'
              examples:
                Default:
                  summary: Default
                  value:
                    type: errors
                    errors:
                      - type: error
                        status: '403'
                        title: Forbidden
        '404':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Errors'
              examples:
                Message not found:
                  summary: Message not found
                  value:
                    type: errors
                    errors:
                      - type: error
                        status: '404'
                        title: Not Found
        '409':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Errors'
              examples:
                Conflict:
                  summary: Conflict
                  value:
                    type: errors
                    errors:
                      - type: error
                        status: '409'
                        title: Conflict
                        detail: Resource was modified since your last read.
                        meta:
                          current_lock_version: 0
        '422':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Errors'
              examples:
                Not a draft:
                  summary: Not a draft
                  value:
                    type: errors
                    errors:
                      - type: error
                        status: '422'
                        title: Unprocessable Entity
                        detail: Only draft messages can be updated
        '429':
          description: Too Many Requests
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Errors'
              examples:
                Default:
                  summary: Default
                  value:
                    type: errors
                    errors:
                      - type: error
                        status: '429'
                        title: Too Many Requests
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Errors'
              examples:
                Default:
                  summary: Default
                  value:
                    type: errors
                    errors:
                      - type: error
                        status: '500'
                        title: Internal Server Error
        '503':
          description: Service Unavailable
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Errors'
              examples:
                Default:
                  summary: Default
                  value:
                    type: errors
                    errors:
                      - type: error
                        status: '503'
                        title: Service Unavailable
                        detail: >-
                          The service is temporarily unavailable, please try
                          again later.
      x-codeSamples:
        - lang: JavaScript
          source: |-
            import Moonbase from '@moonbaseai/sdk';

            const client = new Moonbase({
              apiKey: process.env['MOONBASE_API_KEY'], // This is the default and can be omitted
            });

            const inboxMessage = await client.inboxMessages.update('id', {
              message: { lock_version: 0, type: 'email_message' },
            });

            console.log(inboxMessage);
        - lang: Python
          source: |-
            import os
            from moonbase import Moonbase

            client = Moonbase(
                api_key=os.environ.get("MOONBASE_API_KEY"),  # This is the default and can be omitted
            )
            inbox_message = client.inbox_messages.update(
                id="id",
                message={
                    "lock_version": 0,
                    "type": "email_message",
                },
            )
            print(inbox_message)
        - lang: Go
          source: "package main\n\nimport (\n\t\"context\"\n\t\"fmt\"\n\n\t\"github.com/moonbaseai/moonbase-sdk-go\"\n\t\"github.com/moonbaseai/moonbase-sdk-go/option\"\n)\n\nfunc main() {\n\tclient := moonbase.NewClient(\n\t\toption.WithAPIKey(\"My API Key\"),\n\t)\n\tinboxMessage, err := client.InboxMessages.Update(\n\t\tcontext.TODO(),\n\t\t\"id\",\n\t\tmoonbase.InboxMessageUpdateParams{\n\t\t\tOfEmailMessageUpdates: &moonbase.InboxMessageUpdateParamsMessageEmailMessageUpdateParams{\n\t\t\t\tLockVersion: 0,\n\t\t\t},\n\t\t},\n\t)\n\tif err != nil {\n\t\tpanic(err.Error())\n\t}\n\tfmt.Printf(\"%+v\\n\", inboxMessage)\n}\n"
        - lang: Ruby
          source: >-
            require "moonbase"


            moonbase = Moonbase::Client.new(api_key: "My API Key")


            inbox_message = moonbase.inbox_messages.update("id", message:
            {lock_version: 0, type: :email_message})


            puts(inbox_message)
components:
  schemas:
    InboxMessageUpdateParams:
      description: Parameters for updating a draft message in an existing conversation.
      oneOf:
        - $ref: '#/components/schemas/EmailMessageUpdateParams'
        - $ref: '#/components/schemas/SlackMessageUpdateParams'
    Message:
      title: Message
      oneOf:
        - $ref: '#/components/schemas/EmailMessage'
        - $ref: '#/components/schemas/SlackMessage'
      discriminator:
        propertyName: type
        mapping:
          email_message:
            $ref: '#/components/schemas/EmailMessage'
          slack_message:
            $ref: '#/components/schemas/SlackMessage'
    Errors:
      title: Errors
      description: >-
        The Errors object is a container that holds multiple Error objects when
        an API request encounters several validation or processing issues. This
        allows the API to return comprehensive feedback about all problems
        encountered in a single response.
      type: object
      properties:
        type:
          type: string
          const: errors
        errors:
          description: A list of `Error` objects.
          type: array
          items:
            $ref: '#/components/schemas/Error'
      required:
        - type
    EmailMessageUpdateParams:
      title: EmailMessageUpdateParams
      description: Parameters for updating a draft message in an existing conversation.
      type: object
      properties:
        type:
          type: string
          const: email_message
        lock_version:
          description: >-
            The current lock version of the draft for optimistic concurrency
            control.
          type: integer
        subject:
          description: The subject line of the email.
          type: string
        body:
          $ref: '#/components/schemas/FormattedText'
          description: The email body.
        to:
          description: A list of the recipients.
          type: array
          items:
            $ref: '#/components/schemas/EmailMessageAddressParams'
        cc:
          description: A list of the CC recipients.
          type: array
          items:
            $ref: '#/components/schemas/EmailMessageAddressParams'
        bcc:
          description: A list of the BCC recipients.
          type: array
          items:
            $ref: '#/components/schemas/EmailMessageAddressParams'
      required:
        - type
        - lock_version
    SlackMessageUpdateParams:
      title: SlackMessageUpdateParams
      description: Parameters for updating a draft message in an existing conversation.
      type: object
      properties:
        type:
          type: string
          const: slack_message
        lock_version:
          description: >-
            The current lock version of the draft for optimistic concurrency
            control.
          type: integer
        subject:
          description: >-
            The subject line of the conversation (not included in actual Slack
            message).
          type: string
        body:
          $ref: '#/components/schemas/FormattedText'
          description: The message body.
        to:
          description: The Slack channel to post the message in.
          type: array
          items:
            $ref: '#/components/schemas/SlackMessageAddressParams'
          minItems: 1
          maxItems: 1
      required:
        - type
        - lock_version
    EmailMessage:
      title: EmailMessage
      description: >-
        The Email Message object represents a single email within a
        `Conversation`.
      type: object
      properties:
        type:
          description: >-
            String representing the object’s type. Always `email_message` for
            this object.
          type: string
          const: email_message
        id:
          description: Unique identifier for the object.
          type: string
        lock_version:
          description: >-
            The current lock version of the message for optimistic concurrency
            control.
          type: integer
        created_at:
          description: The time the message was received, as an ISO 8601 timestamp in UTC.
          type: string
          format: date-time
        unread:
          description: '`true` if the message has not been read.'
          type: boolean
        bulk:
          description: '`true` if the message appears to be part of a bulk mailing.'
          type: boolean
        spam:
          description: '`true` if the message is classified as spam.'
          type: boolean
        trash:
          description: '`true` if the message is in the trash.'
          type: boolean
        draft:
          description: '`true` if the message is a draft that has not been sent.'
          type: boolean
        subject:
          description: The subject line of the email.
          type: string
        summary:
          description: A concise, system-generated summary of the email content.
          type: string
        body:
          $ref: '#/components/schemas/FormattedText'
        addresses:
          description: >
            A list of `Address` objects associated with the message (sender and
            recipients).


            **Note:** Only present when requested using the `include` query
            parameter.
          type: array
          items:
            $ref: '#/components/schemas/EmailMessageAddress'
        attachments:
          description: >
            A list of `Attachment` objects on the message.


            **Note:** Only present when requested using the `include` query
            parameter.
          type: array
          items:
            $ref: '#/components/schemas/MessageAttachment'
        conversation:
          $ref: '#/components/schemas/InboxConversation'
          description: >
            The `Conversation` thread this message is part of.


            **Note:** Only present when requested using the `include` query
            parameter.
      required:
        - subject
        - type
        - id
        - lock_version
        - created_at
        - unread
        - bulk
        - spam
        - trash
        - draft
        - body
    SlackMessage:
      title: SlackMessage
      description: >-
        The Slack Message object represents a single Slack post within a
        `Conversation`.
      type: object
      properties:
        type:
          description: >-
            String representing the object’s type. Always `slack_message` for
            this object.
          type: string
          const: slack_message
        id:
          description: Unique identifier for the object.
          type: string
        lock_version:
          description: >-
            The current lock version of the message for optimistic concurrency
            control.
          type: integer
        created_at:
          description: The time the message was received, as an ISO 8601 timestamp in UTC.
          type: string
          format: date-time
        unread:
          description: '`true` if the message has not been read.'
          type: boolean
        bulk:
          description: '`true` if the message appears to be part of a bulk mailing.'
          type: boolean
        spam:
          description: '`true` if the message is classified as spam.'
          type: boolean
        trash:
          description: '`true` if the message is in the trash.'
          type: boolean
        draft:
          description: '`true` if the message is a draft that has not been sent.'
          type: boolean
        subject:
          description: >-
            The subject line of the message (for messages received from Slack,
            this is a snippet of the message; for messages sent to Slack, it can
            be set, but is not sent to Slack).
          type: string
        summary:
          description: A concise, system-generated summary of the message content.
          type: string
        body:
          $ref: '#/components/schemas/FormattedText'
        addresses:
          description: >
            A list of `SlackMessageAddress` objects associated with the message
            (sender and recipients).


            **Note:** Only present when requested using the `include` query
            parameter.
          type: array
          items:
            $ref: '#/components/schemas/SlackMessageAddress'
        attachments:
          description: >
            A list of `Attachment` objects on the message.


            **Note:** Only present when requested using the `include` query
            parameter.
          type: array
          items:
            $ref: '#/components/schemas/MessageAttachment'
        conversation:
          $ref: '#/components/schemas/InboxConversation'
          description: >
            The `Conversation` thread this message is part of.


            **Note:** Only present when requested using the `include` query
            parameter.
      required:
        - subject
        - type
        - id
        - lock_version
        - created_at
        - unread
        - bulk
        - spam
        - trash
        - draft
        - body
    Error:
      title: Error
      description: >-
        The Error object represents a single error that occurred during API
        request processing. It provides detailed information about what went
        wrong, including a unique identifier, status code, and human-readable
        descriptions to help developers understand and resolve the issue.
      type: object
      properties:
        type:
          type: string
          const: error
        id:
          description: A unique identifier for this specific error instance.
          type: string
        status:
          description: The HTTP status code for this problem, as a string.
          type: string
        code:
          description: An application-specific error code string.
          type: string
        title:
          description: A short, human-readable summary of the problem.
          type: string
        detail:
          description: A human-readable explanation of this specific error.
          type: string
        source:
          $ref: '#/components/schemas/ErrorSource'
          description: >-
            An object containing more specific information about the part of the
            request that caused the error.
        meta:
          type: object
          additionalProperties: true
      required:
        - type
    FormattedText:
      title: FormattedText
      description: >-
        Structured content that can be rendered in multiple formats, currently
        supporting Markdown.
      type: object
      properties:
        markdown:
          description: The content formatted as Markdown text.
          type: string
      required: []
    EmailMessageAddressParams:
      title: EmailMessageAddressParams
      description: ''
      type: object
      properties:
        email:
          description: The email address.
          type: string
          format: email
        name:
          description: The recipient's name.
          type: string
      required:
        - email
    SlackMessageAddressParams:
      title: SlackMessageAddressParams
      description: ''
      type: object
      properties:
        type:
          type: string
          const: slack_channel
        provider_id:
          description: The Slack channel ID.
          type: string
        name:
          description: The channel name name.
          type: string
      required:
        - type
        - provider_id
    EmailMessageAddress:
      title: EmailMessageAddress
      description: >-
        The EmailMessageAddress object represents a recipient or sender of a
        message. It contains an email address and can be linked to a person and
        an organization in your collections.
      type: object
      properties:
        type:
          description: >-
            String representing the object’s type. Always `message_address` for
            this object.
          type: string
          const: email_message_address
        id:
          description: Unique identifier for the object.
          type: string
        email:
          description: The email address.
          type: string
          format: email
        role:
          description: >-
            The role of the address in the message. Can be `from`, `reply_to`,
            `to`, `cc`, or `bcc`.
          type: string
          enum:
            - from
            - reply_to
            - to
            - cc
            - bcc
        person:
          $ref: '#/components/schemas/ItemPointer'
        organization:
          $ref: '#/components/schemas/ItemPointer'
      required:
        - email
        - type
        - id
        - role
    MessageAttachment:
      title: MessageAttachment
      description: >-
        The Attachment object represents a file attached to a message. You can
        download the file content via the `download_url`.
      type: object
      properties:
        type:
          description: >-
            String representing the object’s type. Always `message_attachment`
            for this object.
          type: string
          const: message_attachment
        id:
          description: Unique identifier for the object.
          type: string
        filename:
          description: The original name of the uploaded file, including its extension.
          type: string
        size:
          description: The size of the file in bytes.
          type: integer
        download_url:
          description: >-
            A temporary, signed URL to download the file content. The URL
            expires after one hour.
          type: string
          format: uri
        created_at:
          description: >-
            Time at which the object was created, as an ISO 8601 timestamp in
            UTC.
          type: string
          format: date-time
      required:
        - type
        - id
        - filename
        - size
        - download_url
        - created_at
    InboxConversation:
      title: InboxConversation
      description: The Conversation object represents a thread of related messages.
      type: object
      properties:
        type:
          description: >-
            String representing the object’s type. Always `inbox_conversation`
            for this object.
          type: string
          const: inbox_conversation
        id:
          description: Unique identifier for the object.
          type: string
        last_message_at:
          description: >-
            The time of the most recent activity in the conversation, as an ISO
            8601 timestamp in UTC.
          type: string
          format: date-time
        state:
          description: >-
            The current state, which can be `unassigned`, `active`, `closed`, or
            `waiting`.
          type: string
          enum:
            - unassigned
            - active
            - closed
            - waiting
        follow_up:
          description: Whether the conversation is marked for follow-up.
          type: boolean
        unread:
          description: '`true` if the conversation contains unread messages.'
          type: boolean
        bulk:
          description: '`true` if the conversation appears to be part of a bulk mailing.'
          type: boolean
        spam:
          description: '`true` if the conversation is marked as spam.'
          type: boolean
        trash:
          description: '`true` if the conversation is in the trash.'
          type: boolean
        draft:
          description: '`true` if a new draft reply to this conversation has been started.'
          type: boolean
        created_at:
          description: >-
            Time at which the object was created, as an ISO 8601 timestamp in
            UTC.
          type: string
          format: date-time
        updated_at:
          description: >-
            Time at which the object was last updated, as an ISO 8601 timestamp
            in UTC.
          type: string
          format: date-time
        tags:
          description: A list of `Tag` objects applied to this conversation.
          type: array
          items:
            $ref: '#/components/schemas/Tag'
        subject:
          description: The subject line of the conversation.
          type: string
        unsnooze_at:
          description: >-
            If the conversation is snoozed, this is the time it will reappear in
            the inbox, as an ISO 8601 timestamp in UTC.
          type: string
          format: date-time
        inbox:
          $ref: '#/components/schemas/Inbox'
          description: >
            The `Inbox` that this conversations belongs to.


            **Note:** Only present when requested using the `include` query
            parameter.
        messages:
          description: >
            The `Message` objects that belong to this conversation.


            **Note:** Only present when requested using the `include` query
            parameter.
          type: array
          items:
            $ref: '#/components/schemas/Message'
      required:
        - state
        - type
        - id
        - last_message_at
        - follow_up
        - unread
        - bulk
        - spam
        - trash
        - draft
        - created_at
        - updated_at
        - tags
        - subject
    SlackMessageAddress:
      title: SlackMessageAddress
      oneOf:
        - $ref: '#/components/schemas/SlackMessageChannelAddress'
        - $ref: '#/components/schemas/SlackMessageUserAddress'
      discriminator:
        propertyName: type
        mapping:
          slack_message_channel_address:
            $ref: '#/components/schemas/SlackMessageChannelAddress'
          slack_message_user_address:
            $ref: '#/components/schemas/SlackMessageUserAddress'
    ErrorSource:
      title: ErrorSource
      description: >-
        The ErrorSource object provides additional context about the specific
        part of an API request that caused an error. It can point to either a
        field in the request document or a query parameter that contains invalid
        data.
      type: object
      properties:
        pointer:
          description: >-
            A JSON Pointer [RFC6901] to the associated entity in the request
            document.
          type: string
        parameter:
          description: A string indicating which URI query parameter caused the error.
          type: string
      required: []
    ItemPointer:
      title: ItemPointer
      description: >-
        A reference to an `Item` within a specific `Collection`, providing the
        context needed to locate the item.
      type: object
      properties:
        type:
          description: >-
            String representing the object’s type. Always `item` for this
            object.
          type: string
          const: item
        id:
          description: Unique identifier of the item.
          type: string
        collection:
          $ref: '#/components/schemas/CollectionPointer'
          description: A reference to the `Collection` containing this item.
      required:
        - collection
        - type
        - id
    Tag:
      title: Tag
      description: >-
        A Tag is a label that can be applied to supported resources (such as
        conversations, calls, and meetings) for organization and filtering.
      type: object
      properties:
        type:
          description: String representing the object’s type. Always `tag` for this object.
          type: string
          const: tag
        id:
          description: Unique identifier for the object.
          type: string
        name:
          description: The name of the tag.
          type: string
        color:
          $ref: '#/components/schemas/NamedColor'
          description: The color for the tag.
      required:
        - name
        - type
        - id
        - color
    Inbox:
      title: Inbox
      description: >-
        The Inbox object represents a shared inbox for receiving and sending
        messages.
      type: object
      properties:
        type:
          description: >-
            String representing the object’s type. Always `inbox` for this
            object.
          type: string
          const: inbox
        id:
          description: Unique identifier for the object.
          type: string
        name:
          description: The display name of the inbox.
          type: string
        tagsets:
          description: >
            A list of `TagsetPointer` objects referring to the Tagsets
            associated with this inbox, which defines the tags available for its
            conversations.
          type: array
          items:
            $ref: '#/components/schemas/TagsetPointer'
        created_at:
          description: >-
            Time at which the object was created, as an ISO 8601 timestamp in
            UTC.
          type: string
          format: date-time
        updated_at:
          description: >-
            Time at which the object was last updated, as an ISO 8601 timestamp
            in UTC.
          type: string
          format: date-time
        can_read:
          type: boolean
      required:
        - name
        - type
        - id
        - tagsets
        - created_at
        - updated_at
    SlackMessageChannelAddress:
      title: SlackMessageChannelAddress
      description: >-
        The SlackMessageChannelAddress object represents a Slack channels
        address on a message. It contains a Slack Channel ID and can be linked
        to a person and an organization in your collections.
      type: object
      properties:
        type:
          description: >-
            String representing the object’s type. Always
            `slack_message_channel_address` for this object.
          type: string
          const: slack_message_channel_address
        id:
          description: Unique identifier for the object.
          type: string
        provider_id:
          description: The Slack Channel ID.
          type: string
        role:
          description: >-
            The role of the address in the message. Can be `from`, `reply_to`,
            `to`, `cc`, or `bcc`.
          type: string
          enum:
            - from
            - to
            - cc
            - bcc
        person:
          $ref: '#/components/schemas/ItemPointer'
        organization:
          $ref: '#/components/schemas/ItemPointer'
      required:
        - type
        - id
        - provider_id
        - role
    SlackMessageUserAddress:
      title: SlackMessageUserAddress
      description: >-
        The SlackMessageUserAddress object represents a Slack user address on a
        message. It contains a Slack User ID  and can be linked to a person and
        an organization in your collections.
      type: object
      properties:
        type:
          description: >-
            String representing the object’s type. Always
            `slack_message_user_address` for this object.
          type: string
          const: slack_message_user_address
        id:
          description: Unique identifier for the object.
          type: string
        provider_id:
          description: The Slack User ID
          type: string
        role:
          description: >-
            The role of the address in the message. Can be `from`, `reply_to`,
            `to`, `cc`, or `bcc`.
          type: string
          enum:
            - from
            - to
            - cc
            - bcc
        person:
          $ref: '#/components/schemas/ItemPointer'
        organization:
          $ref: '#/components/schemas/ItemPointer'
      required:
        - type
        - id
        - provider_id
        - role
    CollectionPointer:
      title: CollectionPointer
      description: >-
        A lightweight reference to a `Collection`, containing the minimal
        information needed to identify it.
      type: object
      properties:
        type:
          description: >-
            String representing the object’s type. Always `collection` for this
            object.
          type: string
          const: collection
        id:
          description: Unique identifier of the collection.
          type: string
        ref:
          description: The stable, machine-readable reference identifier of the collection.
          type: string
      required:
        - type
        - id
        - ref
    NamedColor:
      type: string
      enum:
        - amber
        - blue
        - cyan
        - emerald
        - fuchsia
        - green
        - indigo
        - lime
        - lunar
        - orange
        - pink
        - purple
        - red
        - rose
        - sky
        - teal
        - violet
        - yellow
      description: >-
        One of Moonbase's standard color names. Moonbase renders these
        consistently across light and dark modes.
    TagsetPointer:
      title: TagsetPointer
      type: object
      properties:
        type:
          type: string
          const: tagset
        id:
          type: string
      required:
        - type
        - id
  securitySchemes:
    bearer:
      type: http
      scheme: bearer
      description: Your Moonbase API key.

````