POST
Attach an agent to an integration conversation

Authorizations

Authorization
string
header
required

An opaque BMA personal or organization bearer token.

Path Parameters

orgID
string
required

Organization ID (org_...).

Pattern: ^org_[a-z2-7]{26}$
projectID
string
required

Project ID (proj_...).

Pattern: ^proj_[a-z2-7]{26}$
integrationID
string
required

Integration ID (itg_...).

Pattern: ^itg_[a-z2-7]{26}$

Body

application/json
agent_id
string
required
Pattern: ^agt_[a-z2-7]{26}$
conversation
object
required

One concrete provider address, validated by the integration's capabilities.subscription.conversation_schema. Slack uses channel_id and optional thread_ts; Discord uses channel_id for a channel or thread_id for a thread; GitHub uses repository_id and pull_request. Discord accepts optional parent channel_id and guild_id alongside thread_id and validates their ID format, but subscription creation does not verify them against Discord or retain them as routing restrictions. Only thread_id is retained in a canonical thread address and returned by create/list responses. No credentials or runtime state.

Response

Created or existing subscription.

id
string
required
Pattern: ^isub_[a-z2-7]{26}$
project_id
string
required

Project ID (proj_...).

Pattern: ^proj_[a-z2-7]{26}$
integration_id
string
required
Pattern: ^itg_[a-z2-7]{26}$
agent_id
string
required
Pattern: ^agt_[a-z2-7]{26}$
agent_name
string
required

Agent name. Empty means the agent is unnamed; non-empty values use the ResourceName policy.

Maximum string length: 64
conversation
object
required

One concrete provider address, validated by the integration's capabilities.subscription.conversation_schema. Slack uses channel_id and optional thread_ts; Discord uses channel_id for a channel or thread_id for a thread; GitHub uses repository_id and pull_request. Discord accepts optional parent channel_id and guild_id alongside thread_id and validates their ID format, but subscription creation does not verify them against Discord or retain them as routing restrictions. Only thread_id is retained in a canonical thread address and returned by create/list responses. No credentials or runtime state.

created_at
string<date-time>
required
conversation_name
string

Saved display name for the conversation, when available.