Agents

List agent conversations

Changed on

Paginated list of conversations for the agent (owned and shared-with-me), excluding archived threads.

get/agents/{agentKey}/conversations

Request

  • Base URL
    https://app.pipeshub.com/api/v1
  • URL
    https://app.pipeshub.com/api/v1/agents/{agentKey}/conversations
  • Auth
    • HTTP bearer
    • or OAuth 2
      Authorization code: /api/v1/oauth2/authorize
      Client credentials
      Token URL: /api/v1/oauth2/token scopes: agent:read

Path parameters

agentKeystring required

Agent identifier used to scope the conversation list.

Query parameters

pageinteger

1-based page number. Defaults to 1.

limitinteger

Page size. Defaults to 20; maximum 100.

sortBystring

Preferred sort field. Supported values are createdAt, lastActivityAt, and title.

The current gateway validator preserves legacy behavior: unsupported values are accepted but ignored, and the handler falls back to lastActivityAt.

sortOrderstring

Preferred sort direction. Supported values are asc and desc.

The current gateway validator preserves legacy behavior: unsupported values are accepted but ignored, and the handler falls back to descending order.

searchstring

Case-insensitive search term applied to conversation title and messages.content. Maximum length is 1000 characters. A printf-style format specifier (%s, %x, ...) is refused with VALIDATION_ERROR; markup (HTML tags, javascript:, event handlers) is refused with HTTP_BAD_REQUEST by the sanitizer every route runs.

startDatestring
Example:2026-05-26T00:00:00.000Z

Inclusive lower bound on createdAt, as an ISO 8601 date or date-time. The validator accepts any string JavaScript Date can parse (so also forms like May 1 2026); one it cannot parse returns HTTP 400.

endDatestring
Example:2026-05-27T00:00:00.000Z

Inclusive upper bound on createdAt, as an ISO 8601 date or date-time. The validator accepts any string JavaScript Date can parse (so also forms like May 1 2026); one it cannot parse returns HTTP 400.

statusstring

Optional status filter applied to the sharedWithMeConversations branch of the response. The main conversations list ignores this parameter.

isArchived'true' | 'false'

Optional archived flag applied to the sharedWithMeConversations branch before the route-level non-archived guard is enforced. Accepted values are true and false.

projectIdstring

Restrict results to a single project. Pass a project's id, or the literal string unassigned to list agent conversations with no projectId. Anything else is refused with HTTP 400.

Response

Conversation list

Changes

    • breaking

      added the pattern ^(?![\s\S]*?(?:(?<!\w)%(?:\d{1,10}\$)?[#0\-+ ]{0,10}(?:\d{1,10})?(?:\.\d{1,10})?(?:h{1,2}|l{1,2}|L|z|j|t)?[nsxXp]|<[^>]{0,10000}>)) to the query request parameter search

    • breaking

      added the pattern ^(unassigned|[0-9a-fA-F]{24})$ to the query request parameter projectId

    • breaking

      added the pattern ^\d{4}-\d{2}-\d{2}([T ]\d{2}:\d{2}(:\d{2}(\.\d+)?)?(Z|[+-]\d{2}:?\d{2})?)?$ to the query request parameter endDate

    • breaking

      added the pattern ^\d{4}-\d{2}-\d{2}([T ]\d{2}:\d{2}(:\d{2}(\.\d+)?)?(Z|[+-]\d{2}:?\d{2})?)?$ to the query request parameter startDate

    • info

      added the non-success response with the status

    • info

      added the non-success response with the status

    • info

      added the optional property //// to the response with the status

    • info

      added the optional property /// to the response with the status

    • info

      added the optional property //// to the response with the status

    • info

      added the optional property /// to the response with the status

    • info

      added the optional property // to the response with the status

    • info

      added the optional property //// to the response with the status

    • info

      added the optional property // to the response with the status

    • info

      added the optional property //// to the response with the status