List agent conversations
Changed onPaginated list of conversations for the agent (owned and shared-with-me), excluding archived threads.
Request
- Base URLhttps://app.pipeshub.com/api/v1
- URLhttps://app.pipeshub.com/api/v1/agents/{agentKey}/conversations
- Auth
- HTTP bearer
- or OAuth 2Authorization code: /api/v1/oauth2/authorizeClient credentialsToken URL: /api/v1/oauth2/token scopes: agent:read
Path parameters
Agent identifier used to scope the conversation list.
Query parameters
1-based page number. Defaults to 1.
Page size. Defaults to 20; maximum 100.
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.
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.
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.
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.
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.
Optional status filter applied to the sharedWithMeConversations branch of the response. The main conversations list ignores this parameter.
Optional archived flag applied to the sharedWithMeConversations branch before the route-level non-archived guard is enforced. Accepted values are true and false.
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 thequeryrequest parametersearch - breaking
added the pattern
^(unassigned|[0-9a-fA-F]{24})$to thequeryrequest parameterprojectId - breaking
added the pattern
^\d{4}-\d{2}-\d{2}([T ]\d{2}:\d{2}(:\d{2}(\.\d+)?)?(Z|[+-]\d{2}:?\d{2})?)?$to thequeryrequest parameterendDate - breaking
added the pattern
^\d{4}-\d{2}-\d{2}([T ]\d{2}:\d{2}(:\d{2}(\.\d+)?)?(Z|[+-]\d{2}:?\d{2})?)?$to thequeryrequest parameterstartDate - 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
- breaking
- 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