---
title: "Get agent conversation"
method: GET
path: "/api/apps/{app_id}/agent-configs/conversations/{conversation_id}"
---

# Get agent conversation

`GET /api/apps/{app_id}/agent-configs/conversations/{conversation_id}`

## Request

- Base URL: `https://app.base44.com`
- URL: `https://app.base44.com/api/apps/{app_id}/agent-configs/conversations/{conversation_id}`
- Auth: HTTP bearer

<Info>This API is in beta. Endpoints, fields, and behavior may still change, so avoid depending on it in production.</Info>

Returns one conversation with one of the app's agents, with its most recent messages.

The messages are what the app's user and the agent wrote, so they can hold personal data. They also include what the agent's tools returned.

This is limited to 120 requests a minute per app for each workspace's personal API keys, so every key in a workspace shares one allowance. Some workspaces have a different limit.

<Note>This endpoint accepts a personal API key, including a read-only one, from anyone with access to the app, viewers included. Workspace API keys are not authorized for it.</Note>

## Path parameters

- `conversation_id` string, required: ID of the conversation. Get this from [List agent conversation users](/api-reference/list-agent-conversation-users).
- `app_id` string, required: ID of the app whose agents to read.

## Response `200`

The conversation and its most recent messages.

- ConversationDetailResponse: One conversation with one of the app's agents, with its messages.
  - `id` string, required: ID of the conversation.
  - `app_id` string, required: ID of the app.
  - `agent_name` string, required: Name of the agent the conversation is with.
  - `created_by_id` string, nullable: ID of the app user who started the conversation. An anonymous visitor's conversation carries `anonymous`, `guest`, an empty string, or `null` instead.
  - `created_by_email` string, nullable: Email of the app user who started the conversation, or `null` for an anonymous visitor or an app user who no longer exists.
  - `metadata` object: Free-form data stored with the conversation. It holds whatever the app set when it created the conversation, plus channel details such as a WhatsApp user's phone number.
  - `messages` unknown[]: Up to the 200 most recent messages, oldest first. Each message has a `role` of `user` or `assistant` and its `content`. An assistant message also lists the `tool_calls` the agent made and what each one returned, which can include records from the app's data.
    - unknown
  - `message_count` integer: Number of messages in the conversation.
  - `credit_count` number: Credits charged for the agent's replies in the conversation.
  - `answering` string: Who answers the next customer message: `ai` (the agent), `human` (the app owner stepped in or replied from their own WhatsApp Business phone), or `escalated` (the agent asked for the owner and is waiting).
  - `answering_version` integer: Version of the answering mode. Send it back as `expected_version` when changing the mode.
  - `human_until` string, date-time, nullable: When a hold taken from the owner's own phone ends and the agent resumes, or null while the owner has stepped in.
  - `escalation_summary` string, nullable: Why the agent asked for the owner, when it did.
  - `created_date` string, date-time, nullable: When the conversation was created, as a UTC timestamp in ISO 8601 format.
  - `updated_date` string, date-time, nullable: When the conversation was last updated, as a UTC timestamp in ISO 8601 format.

## Other responses

- `400`: `conversation_id` isn't a valid conversation ID.
- `401`: Missing or invalid credentials.
- `403`: You don't have access to this app, or you used a workspace API key.
- `404`: App not found, or the app has no such conversation.
- `429`: Too many requests for this app in the last minute from personal API keys in your workspace.

## Changes

> 58 revisions in range; 1 not diffed.

- **2026-10-20** `f25dc342541a`: 4 info
  - added the optional property `answering` to the response with the `200` status
  - added the optional property `answering_version` to the response with the `200` status
  - added the optional property `escalation_summary` to the response with the `200` status
  - added the optional property `human_until` to the response with the `200` status
- **2026-10-12** `5e139db2e643`: 1 info
  - the endpoint scheme security `PersonalAccessTokenAuth` was added to the API
- **2026-09-29** `d2b7ac8beb0c`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/adexad/apis/base44-app-management-api/changes/api/apps/:app_id/agent-configs/conversations/:conversation_id/get.md)

---

[API](https://skmtc.dev/adexad/apis/base44-app-management-api.md) · [All operations](https://skmtc.dev/adexad/apis/base44-app-management-api/llms.txt) · [OpenAPI document](https://skmtc.dev/adexad/apis/base44-app-management-api/revisions/fa29e915c226?raw)
