---
title: "List saved samples or reviewed messages for a sequence's agent"
method: GET
path: "/sequences/{sequence_id}/agent/examples/"
tags: ["sequences"]
---

# List saved samples or reviewed messages for a sequence's agent

`GET /sequences/{sequence_id}/agent/examples/`

## Request

- Base URL: `https://api.getoneprofile.ai` (the document declares no server; this is the origin it was published from)
- URL: `https://api.getoneprofile.ai/sequences/{sequence_id}/agent/examples/`
- Auth: one of:
  - API key in header `X-API-Key`
  - HTTP bearer

Read saved samples or reviewed messages for this sequence's agent.

One preview writes a contact's whole sequence and saves each step's draft
under that step's ``slot_key``, so the steps of a previewed contact have
samples here: every one the agent found words for.

## Path parameters

- `sequence_id` string, uuid, required

## Query parameters

- `view` 'samples' | 'reviewed'
- `record_id` string, uuid, nullable
- `slot_key` string, nullable
- `cursor` string, uuid, nullable
- `limit` integer

## Response `200`

Successful Response

- SequenceAgentExamplesReadSchema
  - `items` SequenceAgentExampleReadSchema[], required
    - `agent_version` integer, required
    - `approved` boolean, required
    - `body` string, required
    - `contact_label` string, nullable, required
    - `created_at` string, date-time, required
    - `declined` boolean, required
    - `edited` boolean, required
    - `is_sample` boolean, required
    - `kind` 'email' | 'linkedin_connection_note' | 'linkedin_message' | 'linkedin_inmail' | 'reply_email' | 'reply_linkedin', required: What one written message is, which decides its rules, its length and its channel.
    - `message_id` string, uuid, required
    - `original_body` string, required
    - `original_subject` string, nullable, required
    - `preview` SequenceAgentPreviewReadSchema: One message the agent wrote for one contact as a preview. Nobody receives it. Sender variables such as `{{Sender first name}}` are left in place: they are filled in for whichever mailbox sends the real message.
      - `agent_version` integer, required: The saved agent version that wrote this sample.
      - `angle` string, nullable, required: The hook the message leads with.
      - `body` string, required
      - `cached` boolean, required: True when the same preview was already written today and is shown again at no further cost.
      - `comparison_context` PreviewComparisonContext: Fingerprints of the inputs actually used, grouped for a readable comparison.
        - `context_fingerprints` object, required
        - `facts_offered` integer, nullable
        - `setting_fingerprints` object, required
      - `confidence` 'high' | 'medium' | 'low', required: The writer's own read on whether its message is ready to send unedited.
      - `confidence_score` integer, nullable, required: The same read as a score from 0 to 100.
      - `confident` boolean, nullable, required: Whether the message would be trusted to send on its own under a sender set to send when confident.
      - `created_at` string, date-time, required: When this sample was first written.
      - `facts_offered` integer, nullable: How many facts from the contact's row the agent was handed for this sample: the row's cells and the prepared angles from its research and AI columns, as bounded. Null on samples written before it was recorded.
      - `facts_used` string[], required: The facts about the contact the message is built on.
      - `findings` SequenceAgentPreviewFindingReadSchema[], required: What the checks noticed: spam phrases, placeholders, claims nobody can back.
        - `code` string, required
        - `excerpt` string, nullable
        - `message` string, required
        - `severity` string, required: warning (likely hurts) or info (worth knowing).
      - `insufficient_data` boolean, required: True when the agent said the contact's row gave it too little to go on.
      - `kind` 'email' | 'linkedin_connection_note' | 'linkedin_message' | 'linkedin_inmail' | 'reply_email' | 'reply_linkedin', required: What one written message is, which decides its rules, its length and its channel.
      - `message_id` string, uuid, required: The preview's id; rate it through the agent's feedback like any message.
      - `profile_read` boolean: True when the agent read the contact's LinkedIn profile for this preview.
      - `quality_score` integer, nullable, required: An independent reviewer's score from 0 to 100 for how well the message is grounded, safe and on topic.
      - `reach` 'none' | 'mcp' | 'web', required: How far a Use AI run may reach beyond the table's own data. The price lever and the budget lever both key on this. ``NONE`` is one plain completion; ``MCP`` runs the research loop against ONLY the org's attached MCP tools (no web-read fees, no page summaries); ``WEB`` is the full web research loop. A run that has both web and MCP executes (and bills) as ``WEB``.
      - `reasoning` string, nullable, required: Why the agent wrote what it wrote.
      - `subject` string, nullable, required: The subject; null when the message follows the previous email in its thread.
      - `written_as` string, nullable: Who the preview is written as, by name and title, when the sequence has two or more senders; null with one, when there is nobody to tell apart.
    - `record_id` string, uuid, required
    - `slot_key` string, nullable, required
    - `subject` string, nullable, required
  - `next_cursor` string, uuid, nullable

## Other responses

- `401`: Unauthorized
- `403`: Forbidden
- `404`: Not found.
- `422`: Invalid request made to the API.
- `500`: Internal server error.
- `502`: Bad gateway error.
- `503`: Service unavailable.

---

[API](https://skmtc.dev/getoneprofile/apis/api-reference-oneprofile.md) · [All operations](https://skmtc.dev/getoneprofile/apis/api-reference-oneprofile/llms.txt) · [OpenAPI document](https://skmtc.dev/getoneprofile/apis/api-reference-oneprofile/revisions/4a6bd71e3f02?raw)
