---
title: "Get message"
method: GET
path: "/v1/runs/{run_id}/messages/{id}"
tags: ["runs"]
---

# Get message

`GET /v1/runs/{run_id}/messages/{id}`

## Request

- Base URL: `https://api.patricia.app` (the document declares no server; this is the origin it was published from)
- URL: `https://api.patricia.app/v1/runs/{run_id}/messages/{id}`
- Auth: HTTP bearer

Retrieve a single message by ID. Use 'any' as run_id to skip parent validation.

## Path parameters

- `id` string, uuid, required
- `run_id` string, required: Agent Run ID. Use 'any' to search across all parents.

## Headers

- `X-Tenant-Id` string, nullable

## Response `200`

The requested message.

- ModelsConversationMessageFullValidator: Read-only response shape for the conversation transcript. All fields optional so ``fields=`` projection validates (runflow read pattern). Append-only, with no Create/Update/Merge validators.
  - `id` string, uuid, nullable
  - `tenant_id` string, uuid, nullable
  - `conversation_id` string, uuid, nullable
  - `run_id` string, uuid, nullable
  - `role` string, nullable
  - `author_actor_id` string, uuid, nullable
  - `content` string, nullable
  - `card` object, nullable
  - `platform_message_id` string, nullable
  - `token_count` integer, nullable
  - `created_at` string, date-time, nullable

## Other responses

- `400`: Bad request
- `401`: Unauthorized
- `403`: Forbidden. Inspect response body `code` for the specific reason (for example: PERMISSION_DENIED, EMAIL_NOT_VERIFIED, TENANT_ACCESS_REQUIRED, ROLE_UNRESOLVED)
- `404`: Not found
- `422`: Validation error

---

[API](https://skmtc.dev/patricia/apis/patricia-api.md) · [All operations](https://skmtc.dev/patricia/apis/patricia-api/llms.txt) · [OpenAPI document](https://skmtc.dev/patricia/apis/patricia-api/revisions/0dfb44495ea1?raw)
