Read channel details

GET/v1/channels/{channelId}

Requires an active organization membership and threads:read scope.

How to call this endpoint

Every ACP API request uses bearer authentication. The examples here show the actual request path, auth header, and body shape that the platform expects.

Path, query, and header parameters

These parameters control which ACP object the endpoint acts on and how the request is processed.

Path parameters
NameLocationTypeRequiredDescription
channelIdpathstringYes—
Query parameters
None.

Body schema

This endpoint does not require a request body.

None.

What the API returns

Each response code below includes the documented payload shape for the ACP API.

200Channel operation resultapplication/json
FieldTypeRequiredDescription
channelobjectYes—
channel.projectIdstringNoProject whose live access policy governs this conversation. Null for organization channels.
channel.idstringYesUnique identifier.
channel.threadIdstringYesCanonical thread ID. Use /threads/{threadId}/timeline and /threads/{threadId}/events for history and realtime.
channel.organizationIdstringYes—
channel.ownerIdstringYes—
channel.creatorIdstringNo—
channel.creatorobjectNo—
channel.creator.idstringYesUnique identifier.
channel.creator.userIdstringYesUser ID.
channel.creator.namestringYesHuman-readable name.
channel.creator.emailstringYes—
channel.creator.avatarUrlstringYes—
channel.ownerobjectNo—
channel.owner.idstringYesUnique identifier.
channel.owner.userIdstringYesUser ID.
channel.owner.namestringYesHuman-readable name.
channel.owner.emailstringYes—
channel.owner.avatarUrlstringYes—
channel.canTransferOwnershipbooleanNo—
channel.namestringYesHuman-readable name.
channel.descriptionstringYesHuman-readable description.
channel.archivedbooleanYes—
channel.defaultEnvironmentIdstringNoDefault environment for new agent mentions. Null uses the organization default; omission on update preserves the selection.
channel.metadataobjectYesFree-form metadata object.
channel.revisionintegerYes—
channel.createdAtstringYesISO 8601 timestamp.
channel.updatedAtstringYesISO 8601 timestamp.
channel.lastActivityAtstringYes—
channel.lastMessagestringYes—
channel.lastSequenceintegerYes—
channel.readSequenceintegerYes—
channel.unreadbooleanYes—
channel.canManagebooleanNo—
400Invalid input (400), unauthenticated (401), denied (403), unavailable resource (404), stale revision/idempotency conflict/archived channel (409), unavailable PostgreSQL backend (503), or failed operation (500).application/json
FieldTypeRequiredDescription
errorstringYes—
codestringNo—
messagestringYesMessage text.
401Invalid input (400), unauthenticated (401), denied (403), unavailable resource (404), stale revision/idempotency conflict/archived channel (409), unavailable PostgreSQL backend (503), or failed operation (500).application/json
FieldTypeRequiredDescription
errorstringYes—
codestringNo—
messagestringYesMessage text.
403Invalid input (400), unauthenticated (401), denied (403), unavailable resource (404), stale revision/idempotency conflict/archived channel (409), unavailable PostgreSQL backend (503), or failed operation (500).application/json
FieldTypeRequiredDescription
errorstringYes—
codestringNo—
messagestringYesMessage text.
404Invalid input (400), unauthenticated (401), denied (403), unavailable resource (404), stale revision/idempotency conflict/archived channel (409), unavailable PostgreSQL backend (503), or failed operation (500).application/json
FieldTypeRequiredDescription
errorstringYes—
codestringNo—
messagestringYesMessage text.
409Invalid input (400), unauthenticated (401), denied (403), unavailable resource (404), stale revision/idempotency conflict/archived channel (409), unavailable PostgreSQL backend (503), or failed operation (500).application/json
FieldTypeRequiredDescription
errorstringYes—
codestringNo—
messagestringYesMessage text.
500Invalid input (400), unauthenticated (401), denied (403), unavailable resource (404), stale revision/idempotency conflict/archived channel (409), unavailable PostgreSQL backend (503), or failed operation (500).application/json
FieldTypeRequiredDescription
errorstringYes—
codestringNo—
messagestringYesMessage text.
503Invalid input (400), unauthenticated (401), denied (403), unavailable resource (404), stale revision/idempotency conflict/archived channel (409), unavailable PostgreSQL backend (503), or failed operation (500).application/json
FieldTypeRequiredDescription
errorstringYes—
codestringNo—
messagestringYesMessage text.
Read channel details
Loading...
Response 200
Loading...
See the ACP quickstart and SDK flow