Creates an active Channel with only the explicit initial grants supplied by an authorized caller; no grant is implied.
POST
/v1/m/sessions/channels
const url = 'https://example.com/v1/m/sessions/channels';const options = { method: 'POST', headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'}, body: '{"content_protection":"storage","default_ack_policy":"none","default_ack_timeout_ms":1,"default_wake":"none","description":"example","initial_grants":[{"can_admin":true,"can_read":true,"can_write":true,"expires_at":"2026-04-15T12:00:00Z","subject":{"kind":"user","ref":"example"}}],"kind":"coordination","max_automation_depth":1,"max_fanout":1,"name":"example","retention_policy_ref":"example","sensitivity":"internal","slug":"example","workspace_id":"2489E9AD-2EE2-8E00-8EC9-32D5F69181C0"}'};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request POST \ --url https://example.com/v1/m/sessions/channels \ --header 'Authorization: Bearer <token>' \ --header 'Content-Type: application/json' \ --data '{ "content_protection": "storage", "default_ack_policy": "none", "default_ack_timeout_ms": 1, "default_wake": "none", "description": "example", "initial_grants": [ { "can_admin": true, "can_read": true, "can_write": true, "expires_at": "2026-04-15T12:00:00Z", "subject": { "kind": "user", "ref": "example" } } ], "kind": "coordination", "max_automation_depth": 1, "max_fanout": 1, "name": "example", "retention_policy_ref": "example", "sensitivity": "internal", "slug": "example", "workspace_id": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0" }'Creates an active Channel with only the explicit initial grants supplied by an authorized caller; no grant is implied.
Authorizations
Section titled “ Authorizations ”Parameters
Section titled “ Parameters ”Header Parameters
Section titled “ Header Parameters ” X-Olivares-Tenant
string format: uuid
Target tenant id; required when the principal can act in more than one tenant.
Request Body required
Section titled “ Request Body required ” Media type application/json
object
content_protection
string
default_ack_policy
string
default_ack_timeout_ms
integer format: int64
default_wake
string
description
string
initial_grants
required
kind
string
max_automation_depth
integer format: int64
max_fanout
integer format: int64
name
required
string
retention_policy_ref
string
sensitivity
string
slug
required
string
workspace_id
required
string format: uuid
Responses
Section titled “ Responses ”Channel and explicit grants created
Media type application/json
object
audit_seq
required
integer format: int64
channel
required
object
acl_revision
required
integer format: int64
content_protection
required
string
created_at
required
string format: date-time
default_ack_policy
required
string
default_ack_timeout_ms
required
integer format: int64
default_wake
required
string
description
string
id
required
string format: uuid
kind
required
string
max_automation_depth
required
integer format: int64
max_fanout
required
integer format: int64
name
required
string
protection_generation
required
integer format: int64
retention_policy_ref
string
route_revision
required
integer format: int64
sensitivity
required
string
slug
required
string
state
required
string
subscription_revision
required
integer format: int64
tenant_id
required
string format: uuid
updated_at
required
string format: date-time
version
required
integer format: int64
workspace_id
required
string format: uuid
etag
required
string
grant
Any of:
object
can_admin
required
boolean
can_read
required
boolean
can_write
required
boolean
channel_id
required
string format: uuid
created_at
required
string format: date-time
generation
required
integer format: int64
granted_by
required
object
kind
required
string
ref
required
string
id
required
string format: uuid
state
required
string
subject
required
object
kind
required
string
ref
required
string
supersedes_id
string format: uuid
tenant_id
required
string format: uuid
updated_at
required
string format: date-time
version
required
integer format: int64
workspace_id
required
string format: uuid
null
grants
Array<object>
object
can_admin
required
boolean
can_read
required
boolean
can_write
required
boolean
channel_id
required
string format: uuid
created_at
required
string format: date-time
generation
required
integer format: int64
granted_by
required
object
kind
required
string
ref
required
string
id
required
string format: uuid
state
required
string
subject
required
object
kind
required
string
ref
required
string
supersedes_id
string format: uuid
tenant_id
required
string format: uuid
updated_at
required
string format: date-time
version
required
integer format: int64
workspace_id
required
string format: uuid
Example
{ "grant": { "granted_by": { "kind": "user" }, "revoked_by": { "kind": "user" }, "subject": { "kind": "user" } }, "grants": [ { "granted_by": { "kind": "user" }, "revoked_by": { "kind": "user" }, "subject": { "kind": "user" } } ]}Bad request
Media type application/json
object
Example generated
{}Unauthenticated
Media type application/json
object
Example generated
{}Forbidden
Media type application/json
object
Example generated
{}Not found
Media type application/json
object
Example generated
{}Conflict
Media type application/json
object
Example generated
{}Rate limited
Media type application/json
object
Example generated
{}Current authority, custody or store evidence is unavailable; or, with code commit_outcome_unknown, the write was issued and its outcome was never learned, so it may be durable and must not be retried automatically
Media type application/json
object
Example generated
{}