Conversations
List conversation members
Lists members of a group conversation. Pass conversation_id as a query parameter and paginate with cursor / limit. Each item returns peer_id / display_name / avatar_url; role is member, admin, or superadmin, where superadmin is the owner or creator. Returns 400 when the conversation type does not support membership lookups (for example 1:1 user chats).
https://api.unifyport.ai/v1/accounts/{account_id}/conversations/membersSupported channels
Before you call
Use a server-side X-Api-Key for the workspace that owns the resource. Replace every placeholder before running a sample.
Prepare your parameters
- account_id
- Use data.id from account creation or an account query. Account identifiers belong to the workspace selected by X-Api-Key. Get account
- conversation_id
- Conversation to look up — the value returned as conversation_id by List conversations.
Request parameters
Headers
X-Api-KeyWorkspace API key. The workspace is resolved from this header.
Path parameters
account_idIdentifier used in the conversations route.
Query parameters
conversation_idConversation to look up — the value returned as conversation_id by List conversations.
typeConversation type (user, group, or channel) to disambiguate the lookup.
enum: user, group, channel
cursorOpaque provider cursor. Pass the previous next_cursor unchanged; omit or leave empty for the first page. Forged, expired, or cross-query cursors may be ignored, reset to the first page, or cause a provider error. Do not rely on a uniform 400 response.
limitPage size from 1 to 100. Endpoint descriptions state the endpoint-specific default.
minimum: 1 · maximum: 100
Request body
This endpoint does not require a JSON request body.
Understand the result
Read the documented response fields and HTTP status, then follow the related operations for your next step.
Response 200 OK
{
"request_id": "<REQUEST_ID>",
"data": {
"items": [
{
"peer_id": "user_example",
"display_name": "",
"avatar_url": "",
"role": "superadmin"
}
],
"next_cursor": "",
"has_more": false
}
}
Response body
peer_idStable channel-side member identifier. Store and use it as an opaque string.
usernameProvider username for the member, when available.
display_nameMember display name, or an empty string when missing.
avatar_urlMember avatar URL, or an empty string when missing.
roleNormalized group role: superadmin for the owner or creator, admin for administrators, and member for ordinary or unknown roles.
enum: member, admin, superadmin
joined_atProvider-reported time when the member joined.
format: date-time
extraProvider-specific member fields, such as a phone number.
next_cursorOpaque cursor for the next page. Pass it back as cursor; an empty string means there are no more pages.
has_moretrue when more results are available beyond this page.
Responses
200200 OK
Request succeeded. See the example response body.
400Bad Request
The request body, path, or parameters are invalid.
401Unauthorized
The X-Api-Key header is missing or invalid.
404Not Found
The requested resource was not found. Check error.code and the current operation.
409Conflict
The requested operation conflicts with an existing provider account or resource.
500Internal Server Error
The service encountered an unexpected error.
501Not Implemented
The selected provider does not implement this operation.
502Bad Gateway
The provider adapter or upstream provider could not complete the operation.
If the request fails
Inspect HTTP status and error.code/numeric_code, and keep request_id for diagnosis. Correct invalid parameters, complete required authorization or check runtime state as appropriate. Confirm the outcome before retrying a send or another write. Error reference
- invalid_request · 10000 · 400
- Check required fields, formats and channel conditions, then correct the request.
- missing_api_key · 11000 · 401
- Check X-Api-Key and whether the workspace is active.
- invalid_api_key · 11001 · 401
- Check X-Api-Key and whether the workspace is active.