For the complete documentation index, see llms.txt. This page is also available as Markdown.

Use Cases & Bindings

Bind a provisioned communication use case to a workspace service, inspect its routing, and remove the binding when routing should stop.

A use case identifies an approved channel setup and purpose. Concurrence provisions the channel resources and supplies the use-case identifier; the Platform API connects that use case to the service handling its conversations.

Provisioning and Workspace Routing

Use-case creation, inventory, and deletion belong to managed channel provisioning and are not part of the public Platform API contract. The former Platform use-case list and explicit ownership endpoints have been removed. There is no separate ownership claim before binding: the service binding establishes the workspace linkage.

Complete the channel setup with Concurrence, then bind the supplied use-case identifier to a service in your workspace. Removing a binding stops that routing; it does not delete the upstream number, line, domain, or use case. See Channel Manager for channel availability.

Service Binding

A use case can be bound to a platform service. A binding is unique per workspace for a given service and channel pair: only one use case may bind a given (service, channel) at a time.

Bind a Service

Upserts a binding for the use case. Rebinding within the same workspace replaces the prior service. A binding in another workspace returns a conflict. A different use case cannot bind a service and channel pair that is already bound.

Permission required: Channel.create

Bind a use case to a platform service

put

Bind this use case to a platform service in the current workspace. PUT semantics — rebinding to a different service replaces the prior binding. Inbound webhook events for the use case will resolve to this workspace; outbound dispatch from the service will route through this use case for its channel. 409 if a different use case already binds the same (service, channel) pair, or if this use case is bound in another workspace. 404 if the service or use case is missing or the service belongs to another workspace. Requires Channel.create permission.

Authorizations
AuthorizationstringRequired

API key issued via POST /v1/{workspace_id}/api-keys. Pass the returned api_key value as a Bearer token.

Path parameters
workspace_idstring · uuidRequired
use_case_idstring · uuidRequired
Body
service_idstring · uuidRequired
Responses
200

Successful Response

application/json
use_case_idstring · uuidRequired
service_idstring · uuidRequired
workspace_idstring · uuidRequired
channelstring · enumRequiredPossible values:
created_atstring · date-timeRequired
updated_atstring · date-timeRequired
put/v1/{workspace_id}/use-cases/{use_case_id}/service-binding
PUT /v1/{workspace_id}/use-cases/{use_case_id}/service-binding HTTP/1.1
Host: platform.api-us.concurrence.com
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 53

{
  "service_id": "123e4567-e89b-12d3-a456-426614174000"
}
{
  "use_case_id": "123e4567-e89b-12d3-a456-426614174000",
  "service_id": "123e4567-e89b-12d3-a456-426614174000",
  "workspace_id": "123e4567-e89b-12d3-a456-426614174000",
  "channel": "inbound_voice",
  "created_at": "2026-01-01T00:00:00.000Z",
  "updated_at": "2026-01-01T00:00:00.000Z"
}

Unbind a Service

Removes the use case binding from its service. Fails if no live binding exists for the use case.

Permission required: Channel.delete

Unbind a use case from its platform service

delete

Release a use case from its bound service in this workspace. 404 if the use case is not currently bound (covers both 'never bound' and 'already unbound'). Requires Channel.delete permission.

Authorizations
AuthorizationstringRequired

API key issued via POST /v1/{workspace_id}/api-keys. Pass the returned api_key value as a Bearer token.

Path parameters
workspace_idstring · uuidRequired
use_case_idstring · uuidRequired
Responses
204

Successful Response

No content

delete/v1/{workspace_id}/use-cases/{use_case_id}/service-binding
DELETE /v1/{workspace_id}/use-cases/{use_case_id}/service-binding HTTP/1.1
Host: platform.api-us.concurrence.com
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*

No content

Get the Service Binding

Returns the current service binding for the use case. Fails if no binding exists for the use case.

Permission required: Channel.view

Get the service binding for a use case

get

Return the platform service this use case is bound to in this workspace, or 404 if unbound. Requires Channel.view permission.

Authorizations
AuthorizationstringRequired

API key issued via POST /v1/{workspace_id}/api-keys. Pass the returned api_key value as a Bearer token.

Path parameters
workspace_idstring · uuidRequired
use_case_idstring · uuidRequired
Responses
200

Successful Response

application/json
use_case_idstring · uuidRequired
service_idstring · uuidRequired
workspace_idstring · uuidRequired
channelstring · enumRequiredPossible values:
created_atstring · date-timeRequired
updated_atstring · date-timeRequired
get/v1/{workspace_id}/use-cases/{use_case_id}/service-binding
GET /v1/{workspace_id}/use-cases/{use_case_id}/service-binding HTTP/1.1
Host: platform.api-us.concurrence.com
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
  "use_case_id": "123e4567-e89b-12d3-a456-426614174000",
  "service_id": "123e4567-e89b-12d3-a456-426614174000",
  "workspace_id": "123e4567-e89b-12d3-a456-426614174000",
  "channel": "inbound_voice",
  "created_at": "2026-01-01T00:00:00.000Z",
  "updated_at": "2026-01-01T00:00:00.000Z"
}

Last updated

Was this helpful?