FruxonDocs
ApiAgent topics

List the agent's topics, optionally filtered by participant and/or state.

Returns topic rows most-recently-active first. Each row carries the agent-generated `outcomeOneLiner` (when a summary exists), a `hasStructuredSummary` flag the FE uses to decide whether the row expands, and the distinct channels the topic has run on. Filter by `participantId` for one person's timeline, by `state` (`ACTIVE` / `IDLE` / `RESOLVED` / `EXPIRED` / `ABANDONED`) to narrow to, e.g., resolved topics, and by `channelAddress` to narrow to the topics that have run on one channel (the address of a `channels[]` entry — e.g. the texter vs the telegram edge). Topics with no recorded channel are excluded when `channelAddress` is set. Sandbox (debug-console and fork) topics are filed under the participant they spoke as, but they are not that person's history, so they are left out unless `includeSandbox` is true.

GET
/v1/tenants/{tenant}/agents/{agent}/topics
AuthorizationBearer <token>

JWT Authorization header using the Bearer scheme. Enter 'Bearer' [space] and then your token.

In: header

Path Parameters

agent*string

The unique identifier of the agent.

tenant*string

The tenant identifier

Query Parameters

PageSize?integer

The maximum number of items to return per page

Formatint32
PageToken.Skip?integer
Formatint32
PageToken.Cursor?string

Opaque pagination token returned by an external service. Pass it back unchanged rather than interpreting it as an offset.

participantId?string

Optional participant filter.

Formatuuid
state?string

Optional topic-state filter.

Value in"UNSPECIFIED" | "ACTIVE" | "IDLE" | "RESOLVED" | "EXPIRED" | "ABANDONED"
channelAddress?string

Optional channel-address filter (matches a channels[].address).

includeSandbox?boolean

Also list sandbox (debug-console and fork) topics. Defaults to false.

Defaultfalse

Response Body

curl -X GET "https://api.fruxon.com/v1/tenants/string/agents/string/topics"
{
  "items": [
    {
      "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
      "agentId": "string",
      "participantId": "9f6624b5-5f99-42b6-899f-30f2b369cbd7",
      "participantDisplayName": "string",
      "subject": {
        "kind": "string",
        "reference": null
      },
      "goal": "string",
      "state": "UNSPECIFIED",
      "priority": "UNSPECIFIED",
      "resolution": "UNSPECIFIED",
      "isEscalated": true,
      "isConsolePaused": true,
      "consoleOwnership": "UNSPECIFIED",
      "consoleOwnerDisplayName": "string",
      "consoleOwnershipObservedAt": 0,
      "isHome": true,
      "isSandbox": true,
      "parentTopicId": "68a74c7a-e79b-47fb-a66b-0110a8919c16",
      "outcomeOneLiner": "string",
      "hasStructuredSummary": true,
      "channels": [
        {
          "kind": "UNSPECIFIED",
          "address": "string",
          "provider": "string",
          "conversationRowId": "406393ba-286e-4f2d-a7f0-516137c4d133"
        }
      ],
      "workItem": {
        "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
        "typeKey": "string",
        "externalKey": "string",
        "roleKey": "string",
        "sequence": 0
      },
      "originKind": "UNSPECIFIED",
      "createdAt": 0,
      "lastActivityAt": 0,
      "resolvedAt": 0
    }
  ],
  "nextPageToken": "string",
  "totalCount": 0
}
Empty
Empty
{
  "type": "string",
  "title": "string",
  "status": 0,
  "detail": "string",
  "instance": "string",
  "property1": null,
  "property2": null
}