Build thread trace clusters
GET
/v1/threads/{threadId}/trace-clustersCluster first-class thread steps and execution logs into decision-level trace sequences with deterministic permission-ring metadata and best-effort observer summaries.
How to call this endpoint
Every ACP API request uses bearer authentication. The examples here show the actual request path, auth header, and body shape that the platform expects.
Path, query, and header parameters
These parameters control which ACP object the endpoint acts on and how the request is processed.
Path parameters
| Name | Location | Type | Required | Description |
|---|---|---|---|---|
| threadId | path | string | Yes | Thread ID |
Query parameters
| Name | Location | Type | Required | Description |
|---|---|---|---|---|
| limit | query | integer | No | — |
| logLimit | query | integer | No | — |
| observer | query | 0 | 1 | false | true | No | Set to 0 or false to skip the model observer and use deterministic clustering only. |
Body schema
This endpoint does not require a request body.
None.
What the API returns
Each response code below includes the documented payload shape for the ACP API.
200Trace cluster resultapplication/json
| Field | Type | Required | Description |
|---|---|---|---|
| object | string | Yes | — |
| threadId | string | Yes | Thread ID. |
| generatedAt | string | No | — |
| observerModel | string | No | — |
| observerStatus | model | fallback | No | — |
| observerError | string | No | — |
| traceClusters | object | Yes | — |
| traceClusters.version | integer | No | — |
| traceClusters.source | observer | deterministic | No | — |
| traceClusters.actions | object[] | No | — |
| traceClusters.sequences | object[] | No | — |
| traceClusters.stats | object | No | — |
404Thread not found
None.