---
title: "Read one Verify run's Messages page"
method: GET
path: "/api/v1/verify_messages/runs/{scenario_run_id}"
tags: ["verify_messages"]
---

# Read one Verify run's Messages page

`GET /api/v1/verify_messages/runs/{scenario_run_id}`

## Request

- Base URL: `https://composal.com` (the document declares no server; this is the origin it was published from)
- URL: `https://composal.com/api/v1/verify_messages/runs/{scenario_run_id}`
- Auth: API key in cookie `__Host-verify_messages`

Authenticated only by the run's host-only Messages session cookie. A foreign Origin is refused.

## Path parameters

- `scenario_run_id` string, required

## Response `200`

The conversation as this run sees it

- VerifyMessagingPage
  - `scenario_run_id` string, required
  - `assistant_name` string, required
  - `assistant_number` string, required
  - `messages` VerifyMessagingPageMessage[], required
    - `id` string, required
    - `direction` 'incoming' | 'outgoing', required
    - `content` string, required: Plain text with any account link removed
    - `display_content` string, required: Message text with card links removed
    - `link` string, nullable, required: A link into the app under test; other links stay in content as text.
    - `links` object[], required
      - `url` string, required
      - `account_link` boolean, required
      - `preview` VerifyMessagingLinkPreview, required
        - `title` string, required
        - `description` string, required
        - `image` object, nullable, required
          - `id` string, required
          - `name` string, required
          - `content_type` string, required
          - `byte_size` integer, required
          - `url` string, required
          - `kind` 'image', required
    - `service` string, nullable, required
    - `receipt_status` 'sending' | 'sent' | 'delivered' | 'read' | 'failed' | 'unknown' | 'not_sent' | 'null', nullable, required
    - `date_sent` string, date-time, required
    - `attachments` VerifyMessagingAttachment[], required
      - `id` string, required
      - `name` string, required
      - `content_type` string, required
      - `byte_size` integer, required
      - `url` string, required
      - `download_url` string: Original file; url may be a JPEG preview for HEIC
      - `kind` 'image' | 'video' | 'audio' | 'file', required
    - `unsupported_attachment` boolean, required
    - `reply_to` string, nullable, required: Public ID of the visible quoted parent
    - `reactions` object[], required
      - `reaction` string, required
      - `count` integer, required
      - `reacted` boolean, required
    - `can_react` boolean, required
    - `can_reply` boolean, required
    - `send_style` 'celebration' | 'shooting_star' | 'fireworks' | 'lasers' | 'love' | 'confetti' | 'balloons' | 'spotlight' | 'echo' | 'invisible' | 'gentle' | 'loud' | 'slam' | 'null', nullable, required
    - `read_at` string, date-time, nullable, required
  - `operations` object[], required
    - `client_operation_id` string, required
    - `status` 'pending' | 'dispatch_committed' | 'accepted' | 'delivered' | 'failed' | 'unknown' | 'cancelled', required
    - `disposition` 'retry' | 'sent' | 'not_sent', required: retry resubmits this same operation; not_sent needs a new one; sent must not be sent again.
    - `error` string, nullable, required
  - `typing` boolean, required
  - `send_blocked_reason` string, nullable, required: Why the run cannot send now; null when it can.
  - `retry_blocked_reason` string, nullable, required: Why an admitted pending operation cannot retry now; null when it can.
  - `sends_remaining` integer, required
  - `expires_at` string, date-time, required
  - `attachment_limit` integer, required
  - `attachment_max_bytes` integer, required
  - `csrf_token` string, required: Sent back as X-Messages-CSRF-Token; useless without the session cookie.

## Other responses

- `401`: The Messages session is missing, expired, or belongs to another run or lease
- `403`: Cross-origin request refused
- `404`: Not found
- `422`: Unprocessable entity
- `502`: Bad gateway

---

[API](https://skmtc.dev/composal/apis/vex-api.md) - [All operations](https://skmtc.dev/composal/apis/vex-api/llms.txt) - [OpenAPI document](https://skmtc.dev/composal/apis/vex-api/revisions/74298a24e040?raw)
