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

# List the messages sent to an Event's guests

> Returns the Event's messages, newest first, with their delivery status. The authenticated user must be the Event's owner, one of its hosts, or a member of the owning team. Co-hosts cannot message guests. PBAC permission for team events: `calEvent.update`. Cursor-based pagination: pass `pagination.nextCursor` from a previous response as the `cursor` query parameter to fetch the next page; omit `cursor` for the first page. If accessed using an OAuth access token, the `EVENT_READ` scope is required.



## OpenAPI

````yaml /api-reference/v2/openapi.json get /v2/events/{uuid}/messages
openapi: 3.0.0
info:
  title: Cal.com API v2
  description: ''
  version: 1.0.0
  contact: {}
servers: []
security: []
tags: []
paths:
  /v2/events/{uuid}/messages:
    get:
      tags:
        - Events
      summary: List the messages sent to an Event's guests
      description: >-
        Returns the Event's messages, newest first, with their delivery status.
        The authenticated user must be the Event's owner, one of its hosts, or a
        member of the owning team. Co-hosts cannot message guests. PBAC
        permission for team events: `calEvent.update`. Cursor-based pagination:
        pass `pagination.nextCursor` from a previous response as the `cursor`
        query parameter to fetch the next page; omit `cursor` for the first
        page. If accessed using an OAuth access token, the `EVENT_READ` scope is
        required.
      operationId: EventMessagesController_listMessages
      parameters:
        - name: uuid
          required: true
          in: path
          description: >-
            Event UUID. Accepts the canonical UUID (e.g.
            `018ff5cd-6dc4-7d57-bcbc-374702ca8b38`) or its short-uuid (Flickr
            Base58) form (e.g. `1cbZYoAFoJdwqN4tixezd5`).
          schema:
            type: string
            format: uuid
        - name: cursor
          required: false
          in: query
          description: >-
            Opaque cursor for cursor-based pagination. Pass the
            `pagination.nextCursor` value from a previous response to fetch the
            next page. Omit to fetch the first page.
          schema:
            type: string
        - name: Authorization
          in: header
          description: >-
            value must be `Bearer <token>` where `<token>` is api key prefixed
            with cal_, managed user access token, or OAuth access token
          required: true
          schema:
            type: string
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MessagesOutputResponseDto'
        '400':
          description: Invalid Event UUID, or invalid cursor
        '401':
          description: Unauthenticated
        '403':
          description: Insufficient permissions
        '404':
          description: Event not found
components:
  schemas:
    MessagesOutputResponseDto:
      type: object
      properties:
        status:
          enum:
            - success
            - error
          type: string
          example: success
        data:
          type: array
          items:
            $ref: '#/components/schemas/MessageOutputDto'
        pagination:
          $ref: '#/components/schemas/EventsCursorPaginationMetaDto'
      required:
        - status
        - data
        - pagination
    MessageOutputDto:
      type: object
      properties:
        id:
          type: string
        segment:
          enum:
            - GOING
            - MAYBE
            - PENDING
          type: string
        createdAt:
          format: date-time
          type: string
        sender:
          nullable: true
          description: '`null` once the sender''s account is deleted.'
          type: object
          allOf:
            - $ref: '#/components/schemas/MessageSenderOutputDto'
        status:
          enum:
            - SENDING
            - SENT
            - PARTIALLY_SENT
            - NOT_SENT
            - NOT_SENT_EVENT_UNSENDABLE
          type: string
          description: >-
            `SENDING` while it goes out, `SENT`, `PARTIALLY_SENT`, `NOT_SENT`,
            or `NOT_SENT_EVENT_UNSENDABLE` when the Event stopped accepting
            messages before it went out.
        counts:
          nullable: true
          description: '`null` while sending and whenever nothing was delivered.'
          type: object
          allOf:
            - $ref: '#/components/schemas/MessageCountsOutputDto'
      required:
        - id
        - segment
        - createdAt
        - status
    EventsCursorPaginationMetaDto:
      type: object
      properties:
        nextCursor:
          type: string
          nullable: true
          description: >-
            Opaque cursor to fetch the next page. Pass this value as the
            `cursor` query parameter on the next request. `null` when `hasMore`
            is `false`.
          example: >-
            eyJ2IjoyLCJzdGFydFRpbWUiOiIyMDMwLTAxLTAxVDAwOjAwOjAwLjAwMFoiLCJldmVudFR5cGVVdWlkIjoiMDE4ZjRjMmUtM2YxYS03YWJjLTlkZWYtMDEyMzQ1Njc4OWFiIn0
        hasMore:
          type: boolean
          description: Whether more pages are available after this one.
          example: true
      required:
        - nextCursor
        - hasMore
    MessageSenderOutputDto:
      type: object
      properties:
        id:
          type: number
        name:
          type: string
          nullable: true
      required:
        - id
    MessageCountsOutputDto:
      type: object
      properties:
        sentCount:
          type: number
        failedCount:
          type: number
        skippedPhoneCount:
          type: number
          description: Guests skipped because they have only a phone number.
        skippedUnsubscribedCount:
          type: number
          description: Guests skipped because they unsubscribed from the Event's emails.
      required:
        - sentCount
        - failedCount
        - skippedPhoneCount
        - skippedUnsubscribedCount

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.