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

# Get a message by ID

> Get a single message by its unique identifier, including any attached media.



## OpenAPI

````yaml https://openphone-public-api-prod.s3.us-west-2.amazonaws.com/public/openphone-public-api-2026-03-30-prod.json get /messages/{messageId}
openapi: 3.1.0
info:
  title: Quo Public API
  version: 1.0.0
  description: API for connecting with Quo.
  contact:
    name: Quo Support
    email: support@quo.com
    url: https://support.quo.com/
  termsOfService: https://www.quo.com/terms
servers:
  - description: Production server
    url: https://api.quo.com
security:
  - apiKey: []
tags:
  - description: Operations related to the organization's A2P registration
    name: A2P Registration
  - description: Operations related to calls placed by an AI agent
    name: Agent Calls
  - description: Operations related to text conversations held by an AI agent
    name: Agent Conversations
  - description: Operations related to calls
    name: Calls
  - description: >-
      Operations related to call summaries, including AI-generated summaries and
      Sona voice assistant summaries
    name: Call Summaries
  - description: >-
      Operations related to call transcripts, including AI-generated transcripts
      and Sona voice assistant transcripts
    name: Call Transcripts
  - description: Operations related to contacts
    name: Contacts
  - description: Operations related to contact shares
    name: Contact Shares
  - description: Operations related to contact notes
    name: Contact Notes
  - description: Operations related to contact properties
    name: Contact Properties
  - description: Operations related to conversations
    name: Conversations
  - description: Operations related to workspace invitations
    name: Invites
  - description: Operations related to text messages
    name: Messages
  - description: Operations related to the organization
    name: Organization
  - description: Operations related to phone numbers
    name: Phone Numbers
  - description: Operations related to users
    name: Users
  - description: Operations related to webhooks
    name: Webhooks
  - description: >-
      Operations related to webhook events, including delivery history and test
      events
    name: Webhook Events
paths:
  /messages/{messageId}:
    get:
      tags:
        - Messages
      summary: Get a message by ID
      description: >-
        Get a single message by its unique identifier, including any attached
        media.
      operationId: getMessageById
      parameters:
        - in: path
          name: messageId
          required: true
          schema:
            description: The unique identifier of the message.
            examples:
              - AC123abc
            type: string
            pattern: ^AC(.*)$
          example: AC123abc
        - in: header
          name: Quo-Api-Version
          required: true
          schema:
            type: string
            enum:
              - '2026-03-30'
            description: 'API version header. Supported values: 2026-03-30'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                required:
                  - data
                properties:
                  data:
                    type: object
                    required:
                      - id
                      - to
                      - from
                      - text
                      - conversationId
                      - direction
                      - status
                      - createdAt
                      - updatedAt
                      - media
                    properties:
                      id:
                        description: The unique identifier of the message.
                        examples:
                          - AC123abc
                        example: AC123abc
                        type: string
                        pattern: ^AC(.*)$
                      to:
                        type: array
                        items:
                          anyOf:
                            - type: string
                              description: >-
                                A phone number in E.164 format, including the
                                country code.
                              examples:
                                - '+15555555555'
                              pattern: ^\+[1-9]\d{1,14}$
                              example: '+15555555555'
                            - type: string
                              description: >-
                                Short code phone number (3-8 digits, no country
                                code)
                              pattern: ^[0-9]{3,8}$
                            - type: string
                              pattern: >-
                                ^([aA](nonymous|NONYMOUS))|([bB](locked|LOCKED))|([rR](estricted|ESTRICTED))$
                          description: >-
                            A phone number in E.164 format, a short code (3-8
                            digits), or a non-phone-number caller ID (Anonymous,
                            Restricted, or Blocked).
                          examples:
                            - '+15555555555'
                            - '12345'
                            - Anonymous
                          example: '+15555555555'
                        description: >-
                          Recipients of the message. Includes your Quo number
                          for incoming messages.
                      from:
                        anyOf:
                          - type: string
                            description: >-
                              A phone number in E.164 format, including the
                              country code.
                            examples:
                              - '+15555555555'
                            pattern: ^\+[1-9]\d{1,14}$
                            example: '+15555555555'
                          - type: string
                            description: >-
                              Short code phone number (3-8 digits, no country
                              code)
                            pattern: ^[0-9]{3,8}$
                          - type: string
                            pattern: >-
                              ^([aA](nonymous|NONYMOUS))|([bB](locked|LOCKED))|([rR](estricted|ESTRICTED))$
                        description: >-
                          A phone number in E.164 format, a short code (3-8
                          digits), or a non-phone-number caller ID (Anonymous,
                          Restricted, or Blocked).
                        examples:
                          - '+15555555555'
                          - '12345'
                          - Anonymous
                        example: '+15555555555'
                      text:
                        type: string
                        description: The content of the message.
                        examples:
                          - Hello, world!
                        example: Hello, world!
                      phoneNumberId:
                        anyOf:
                          - description: >-
                              The unique identifier of the Quo phone number that
                              the message was sent from.
                            examples:
                              - PN123abc
                            example: PN123abc
                            type: string
                            pattern: ^PN(.*)$
                          - type: 'null'
                      conversationId:
                        description: The unique identifier of the conversation.
                        examples:
                          - CN123abc
                        example: CN123abc
                        type: string
                        pattern: ^CN(.*)$
                      direction:
                        type: string
                        enum:
                          - incoming
                          - outgoing
                        description: >-
                          The direction of the message relative to the Quo
                          number.
                        examples:
                          - incoming
                        example: incoming
                      userId:
                        anyOf:
                          - description: >-
                              The unique identifier of the user or system actor
                              (e.g. Sona) who sent the message. Null for
                              incoming messages.
                            examples:
                              - US123abc
                            example: US123abc
                            anyOf:
                              - type: string
                                pattern: ^US(.*)$
                              - type: string
                                pattern: ^SYU(.*)$
                          - type: 'null'
                      status:
                        type: string
                        enum:
                          - queued
                          - sent
                          - delivered
                          - undelivered
                          - received
                          - failed
                        description: The status of the message.
                        examples:
                          - sent
                        example: sent
                      createdAt:
                        description: >-
                          The timestamp when the message was created, in ISO
                          8601 format.
                        examples:
                          - '2022-01-01T00:00:00Z'
                        example: '2022-01-01T00:00:00Z'
                        type: string
                        format: date-time
                      updatedAt:
                        description: >-
                          The timestamp when the message status was last
                          updated, in ISO 8601 format.
                        examples:
                          - '2022-01-01T00:00:00Z'
                        example: '2022-01-01T00:00:00Z'
                        type: string
                        format: date-time
                      media:
                        type: array
                        items:
                          type: object
                          required:
                            - url
                          properties:
                            url:
                              type: string
                              description: The URL of the attached media.
                              examples:
                                - https://example.com/image.png
                              example: https://example.com/image.png
                            type:
                              anyOf:
                                - type: string
                                  description: The MIME type of the attached media.
                                  examples:
                                    - image/png
                                  example: image/png
                                - type: 'null'
                        description: Media attached to the message.
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                type: object
                required:
                  - message
                  - docs
                  - title
                properties:
                  message:
                    type: string
                  docs:
                    type: string
                    const: https://quo.com/docs
                  title:
                    type: string
                    const: Bad Request
                  trace:
                    type: string
                  errors:
                    type: array
                    items:
                      type: object
                      required:
                        - path
                        - message
                        - schema
                      properties:
                        path:
                          type: string
                        message:
                          type: string
                        value: {}
                        schema:
                          type: object
                          required:
                            - type
                          properties:
                            type:
                              type: string
              example:
                message: The input was invalid
                docs: https://quo.com/docs
                title: Bad Request
                errors:
                  - path: /messageId
                    message: Expected string to match '^AC(.*)$'
                    value: abc123
                    schema:
                      type: TemplateLiteral
                      pattern: ^AC(.*)$
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                type: object
                required:
                  - message
                  - docs
                  - title
                properties:
                  message:
                    type: string
                  docs:
                    type: string
                    const: https://quo.com/docs
                  title:
                    type: string
                    const: Unauthorized
                  trace:
                    type: string
                  errors:
                    type: array
                    items:
                      type: object
                      required:
                        - path
                        - message
                        - schema
                      properties:
                        path:
                          type: string
                        message:
                          type: string
                        value: {}
                        schema:
                          type: object
                          required:
                            - type
                          properties:
                            type:
                              type: string
              example:
                message: Unauthorized
                docs: https://quo.com/docs
                title: Unauthorized
                trace: '6897907457496870895'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                type: object
                required:
                  - message
                  - docs
                  - title
                properties:
                  message:
                    type: string
                  docs:
                    type: string
                    const: https://quo.com/docs
                  title:
                    type: string
                    const: Forbidden
                  trace:
                    type: string
                  errors:
                    type: array
                    items:
                      type: object
                      required:
                        - path
                        - message
                        - schema
                      properties:
                        path:
                          type: string
                        message:
                          type: string
                        value: {}
                        schema:
                          type: object
                          required:
                            - type
                          properties:
                            type:
                              type: string
              example:
                message: The user is forbidden from accessing the message
                docs: https://quo.com/docs
                title: Forbidden
                trace: '6897907457496870895'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                type: object
                required:
                  - message
                  - docs
                  - title
                properties:
                  message:
                    type: string
                  docs:
                    type: string
                    const: https://quo.com/docs
                  title:
                    type: string
                    const: Not Found
                  trace:
                    type: string
                  errors:
                    type: array
                    items:
                      type: object
                      required:
                        - path
                        - message
                        - schema
                      properties:
                        path:
                          type: string
                        message:
                          type: string
                        value: {}
                        schema:
                          type: object
                          required:
                            - type
                          properties:
                            type:
                              type: string
              example:
                message: Message not found
                docs: https://quo.com/docs
                title: Not Found
                trace: '6897907457496870895'
        '422':
          description: Unprocessable Entity
          content:
            application/json:
              schema:
                type: object
                required:
                  - message
                  - docs
                  - title
                properties:
                  message:
                    type: string
                  docs:
                    type: string
                    const: https://quo.com/docs
                  title:
                    type: string
                    const: Unprocessable Entity
                  trace:
                    type: string
                  errors:
                    type: array
                    items:
                      type: object
                      required:
                        - path
                        - message
                        - schema
                      properties:
                        path:
                          type: string
                        message:
                          type: string
                        value: {}
                        schema:
                          type: object
                          required:
                            - type
                          properties:
                            type:
                              type: string
              example:
                message: The message has permanently failed and cannot be retried
                docs: https://quo.com/docs
                title: Unprocessable Entity
                trace: '6897907457496870895'
        '500':
          description: Unknown Error
          content:
            application/json:
              schema:
                type: object
                required:
                  - message
                  - docs
                  - title
                properties:
                  message:
                    type: string
                  docs:
                    type: string
                    const: https://quo.com/docs
                  title:
                    type: string
                    const: Unknown
                  trace:
                    type: string
                  errors:
                    type: array
                    items:
                      type: object
                      required:
                        - path
                        - message
                        - schema
                      properties:
                        path:
                          type: string
                        message:
                          type: string
                        value: {}
                        schema:
                          type: object
                          required:
                            - type
                          properties:
                            type:
                              type: string
              example:
                message: We have encountered an unknown error
                docs: https://quo.com/docs
                title: Unknown
                trace: '6897907457496870895'
      security:
        - apiKey: []
components:
  securitySchemes:
    apiKey:
      in: header
      name: Authorization
      type: apiKey

````