List all conversations
Changed onRetrieve paginated conversations for the authenticated user.
Overview:
Use the optional source query parameter to choose which list to return: owned — only conversations you own (userId matches the current user). shared — conversations where you have recipient access (isShared and your user appears in sharedWith), without the owner-only branch. Defaults to owned when omitted. Each call returns one list; call twice if you need both.
Filtering:
- Only non-archived conversations are returned by default
- Use /conversations/show/archives for archived conversations
Sorting:
Conversations are sorted by last activity timestamp (most recent first) by default. With source=owned, conversations the caller pinned (PATCH /conversations/{conversationId}/pin) come first, in the same order, whatever sortBy is. source=shared is never pinned-first.
Query parameters not listed here are ignored, not refused.
Request
- Base URLhttps://app.pipeshub.com/api/v1
- URLhttps://app.pipeshub.com/api/v1/conversations
- Auth
- HTTP bearer
- or OAuth 2Authorization code: /api/v1/oauth2/authorizeClient credentialsToken URL: /api/v1/oauth2/token scopes: conversation:read
Query parameters
owned — owner list (userId filter only). shared — explicit share grant list (isShared + sharedWith). Includes agent conversations shared with the caller; those rows carry agentKey. Defaults to owned when omitted.
Page number (1-based). Defaults to 1. The validator accepts any number, so a fraction such as 1.5 is not refused; it is truncated (1.5 reads as page 1).
Page size. Defaults to 10; values above 100, and fractions, are refused (400 VALIDATION_ERROR).
Sort field. Invalid values fall back to lastActivityAt.
Sort direction. Defaults to desc unless set to asc.
When set, restricts results to that conversation ID (if visible under the chosen source).
Case-insensitive match on title and message content (max 1000 characters).
Filter by createdAt ≥ this instant. Must be a full ISO 8601 date-time with Z or a numeric offset; a bare date is refused.
Filter by createdAt ≤ this instant. Must be a full ISO 8601 date-time with Z or a numeric offset; a bare date is refused.
When set, filters by isShared. Accepts exactly true, false, 1 or 0.
Restrict results to a single project. Pass a project's id to list conversations linked to that project (visible to the caller — owner, member, or org-visible project with projectVisibility: project), or the literal string unassigned to list conversations with no projectId.
Response
List of conversations for the requested source
Changes
- breaking
the
queryrequest parametersharedwas restricted to a list of enum values - breaking
for the
queryrequest parameterlimit, default value10was added - breaking
added the pattern
^(unassigned|[0-9a-fA-F]{24})$to thequeryrequest parameterprojectId - breaking
added the pattern
^[0-9a-fA-F]{24}$to thequeryrequest parameterconversationId - breaking
added the pattern
^\d{4}-\d{2}-\d{2}T([01]\d|2[0-3]):[0-5]\d:[0-5]\d(\.\d+)?(Z|[+-]\d{2}:?\d{2})$to thequeryrequest parameterendDate - breaking
added the pattern
^\d{4}-\d{2}-\d{2}T([01]\d|2[0-3]):[0-5]\d:[0-5]\d(\.\d+)?(Z|[+-]\d{2}:?\d{2})$to thequeryrequest parameterstartDate - warning
for the
queryrequest parametersearch, the maxLength was set to1000 - warning
for the
queryrequest parameterlimit, the max was set to100.00 - info
added the new enum value
0to thequeryrequest parametershared - info
added the new enum value
1to thequeryrequest parametershared - info
added the new enum value
falseto thequeryrequest parametershared - info
added the new enum value
trueto thequeryrequest parametershared - info
for the
queryrequest parameterpage, the type was generalized fromintegertonumber - info
added the media type
application/jsonfor the response with the status - info
added the media type
application/jsonfor the response with the status - 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
- breaking
- info
added the optional property
//to the response with the status
- info