GET
/api/public/v1/build-sessions/{sessionId}/messages

Read a session’s transcript

The conversation, oldest first, a page at a time. What people and the agent said (`TEXT`) by default — a row with `isPlan` is a plan awaiting approval, and a `SYSTEM` row is the platform narrating a stop, an archive or a failure. Pass `kinds` to include the agent’s internal work as well: `THINKING`, and `TOOL_USE` / `TOOL_RESULT` rows carrying `toolName`, `toolInput` and `toolOutput`, which are most of a transcript by volume. Read the last page (`offset` from the pagination total) to see where the agent is.

Required scope

The access token must carry this scope. A token missing it gets 403 Forbidden. Grant them to an API client under Dev Tools → API, to an assistant or CLI sign-in when you approve or edit it under Dev Tools, and to a teammate under Employee → Permissions.

builder:read

Path Parameters

NameTypeRequiredDescription
sessionIdstringRequiredBuild session ID.

Query Parameters

NameTypeRequiredDescription
kindsstring
TEXT
THINKING
TOOL_USE
TOOL_RESULT
OptionalComma-separated kinds to include.Default: TEXT
limitnumberOptionalMessages per page (1-100).Default: 20
offsetnumberOptionalMessages to skip.Default: 0
GETExample request
curl
curl -X GET "https://www.pxb.app/api/public/v1/build-sessions/{sessionId}/messages" \
  -H "Authorization: Bearer your_access_token"
200Example response
json
{
  "message": "Build session messages retrieved successfully!",
  "content": {
    "messages": [
      {
        "id": "bsm_44aa",
        "role": "ASSISTANT",
        "kind": "TEXT",
        "content": "Here is the plan: add a `build-session` resource to the CLI inventory, document the endpoints, and let the MCP catalog derive the tools…",
        "isPlan": true,
        "toolName": null,
        "toolInput": null,
        "toolOutput": null,
        "employee": null,
        "attachments": [],
        "createdAt": "2026-10-09T14:03:12.000Z"
      }
    ],
    "pagination": {
      "total": 42,
      "limit": 20,
      "offset": 0,
      "hasMore": true
    }
  }
}

In the console

The same thing done by hand, for anyone comparing the API against the screen they already use.

Builder
/builder
  1. Open a session and read the conversation.