Access & visibility
Allow voice.UpdateVoiceBinding on your API key.
Acting member required. Send Brigg-Act-As with an approved member account ID. The key supplies permissions; the member selects whose data is used.
The selected member must be active and approved by the credential. This selects whose private data is used; the credential supplies permissions. Private ownership and project boundaries still apply.
Request fields
Send a JSON object with the following fields. Required fields must be included; omit optional fields you do not need.
idstringRequiredUse id from bindings, not key from offerings. voice.GetVoiceCatalog.
At least 1 character.
inbox_idstringRequiredInbox ID from ListInboxes, or the original inbox_id of an existing binding. Updating cannot move a binding to another inbox.
At least 1 character.
offering_keystringRequiredExact key from GetVoiceCatalog.offerings. Treat it as an opaque string; do not build it from a capability label.
At least 1 character.
revisionstringRequiredRevision from the selected offering, reviewed before enabling it. A changed revision is refused with HTTP 409; re-read the catalogue and review the change.
At least 1 character.
settingsobjectRequiredComplete settings for this offering. For meeting booking, supply booking_link_id from the catalogue's meetings. Updating replaces settings rather than merging individual keys.
Nested fields
booking_link_idstringOptionalActive booking link ID from GetVoiceCatalog.meetings. Required by the built-in meeting-booking offering; links requiring unsupported extra questions cannot be used for phone booking.
enabledbooleanRequiredWhether this feature is enabled.
Bind a capability to an inbox
Get voice catalogue returns team/inbox offerings and existing bindings. An offering supplies a capability such as booking; it is not a speech voice. Copy its key to the request's offering_key, and copy revision exactly. Only enable an available offering. For built-in meeting booking, supply settings.booking_link_id from the catalogue's meetings: the link must be active and must not require extra questions unsupported by phone booking.
Select the request's inbox_id from List inboxes. The inbox must have an assigned agent and the acting member must have inbox-management authority. A personal assistant instead requires its owner's identity; workspace delegation does not bypass that ownership check. The public catalogue describes the team/inbox workflow.
Add creates a binding. Update requires the binding's existing id and its original inbox; it cannot move a binding between inboxes. Binding responses call these fields inbox_id and offering_key; requests use inbox_id and offering_key. Submit the complete desired offering_key, revision, enabled and settings: update is not a partial settings patch. Read the catalogue first to preserve settings you want to retain.
A 409 means an offering is no longer available or its revision changed. Re-read the catalogue, review the new capability and submit a new logical request with the reviewed revision. A 400 can mean invalid booking settings; 403 means the acting member cannot manage the target. Inspect the error message for the cause. Test the inbox with Start voice test after changing its capabilities.
Response
Returns 200 OK with a JSON body.
idstringRequiredBinding ID to retain for updates and removal.
inbox_idstringRequiredInbox to which this binding belongs. It is the request's inbox_id.
offering_keystringRequiredStable key identifying a published voice capability.
revisionstringRequiredRevision identifying the version of this capability or configuration.
enabledbooleanRequiredWhether this binding is enabled. The offering's availability and revision are checked when enabling it.
settingsVoiceBindingSettingsOptionalConfiguration fields defined by this voice capability.
VoiceBindingSettings
booking_link_idstringOptionalActive booking link selected for this inbox's meeting-booking capability.
Errors & retries
Set BRIGG_REQUEST_ID once for each logical action. The samples send it as Idempotency-Key. Reuse the same value and body on retries, including after a timeout; a missing response does not prove the action failed.
For rate limits, follow the server’s retry guidance and back off. See HTTP errors and safe retries and limits.
| HTTP status | Code | What to do |
|---|---|---|
| 400 | invalid_json |
Send a JSON object with Content-Type: application/json. |
| 400 | invalid_input |
Check the request fields and types. Supply a stable Idempotency-Key containing 1–200 characters. |
| 401 | invalid_key |
The workspace API key is missing, invalid or revoked. |
| 403 | forbidden |
Check the key’s operation and resource grants. Supply Brigg-Act-As with a member authorized by the key’s delegation grant. The selected member must be active and approved by the credential. This selects whose private data is used; the credential supplies permissions. Private ownership and project boundaries still apply. |
| 404 | not_found |
The requested operation or resource is not available to this credential. |
| 429 | rate_limited |
Wait for Retry-After before retrying. Reuse the original Idempotency-Key. |
Next steps
JSON schemas
Use the complete schemas for validation or client generation.
Full request JSON schema
{
"type": "object",
"properties": {
"id": {
"type": "string",
"minLength": 1,
"description": "Use id from bindings, not key from offerings. [voice.GetVoiceCatalog](/reference/voice/GetVoiceCatalog)."
},
"inbox_id": {
"type": "string",
"minLength": 1,
"description": "Inbox ID from ListInboxes, or the original inbox_id of an existing binding. Updating cannot move a binding to another inbox."
},
"offering_key": {
"type": "string",
"minLength": 1,
"description": "Exact key from GetVoiceCatalog.offerings. Treat it as an opaque string; do not build it from a capability label."
},
"revision": {
"type": "string",
"minLength": 1,
"description": "Revision from the selected offering, reviewed before enabling it. A changed revision is refused with HTTP 409; re-read the catalogue and review the change."
},
"settings": {
"type": "object",
"properties": {
"booking_link_id": {
"type": "string",
"description": "Active booking link ID from GetVoiceCatalog.meetings. Required by the built-in meeting-booking offering; links requiring unsupported extra questions cannot be used for phone booking."
}
},
"additionalProperties": false,
"description": "Complete settings for this offering. For meeting booking, supply booking_link_id from the catalogue's meetings. Updating replaces settings rather than merging individual keys."
},
"enabled": {
"type": "boolean",
"description": "Whether this feature is enabled."
}
},
"required": [
"id",
"inbox_id",
"offering_key",
"revision",
"settings",
"enabled"
],
"additionalProperties": false,
"examples": [
{
"id": "voice_binding_booking",
"inbox_id": "e_inbox_support",
"offering_key": "[\"builtin\",\"brigg\",\"book_meeting\"]",
"revision": "revision_booking_1",
"enabled": true,
"settings": {
"booking_link_id": "booking_support"
}
}
]
}Full response JSON schema
{
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "Binding ID to retain for updates and removal."
},
"inbox_id": {
"type": "string",
"description": "Inbox to which this binding belongs. It is the request's inbox_id."
},
"offering_key": {
"type": "string",
"description": "Stable key identifying a published voice capability."
},
"revision": {
"type": "string",
"description": "Revision identifying the version of this capability or configuration."
},
"enabled": {
"type": "boolean",
"description": "Whether this binding is enabled. The offering's availability and revision are checked when enabling it."
},
"settings": {
"description": "Configuration fields defined by this voice capability.",
"title": "VoiceBindingSettings",
"type": "object",
"properties": {
"booking_link_id": {
"type": "string",
"description": "Active booking link selected for this inbox's meeting-booking capability."
}
},
"required": [],
"additionalProperties": false
}
},
"required": [
"id",
"inbox_id",
"offering_key",
"revision",
"enabled"
],
"additionalProperties": false,
"examples": [
{
"id": "voice_binding_booking",
"inbox_id": "e_inbox_support",
"offering_key": "[\"builtin\",\"brigg\",\"book_meeting\"]",
"revision": "revision_booking_1",
"enabled": true,
"settings": {
"booking_link_id": "booking_support"
}
}
]
}