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 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.
API key issued via POST /v1/{workspace_id}/api-keys. Pass the returned api_key value as a Bearer token.
Successful Response
Insufficient permissions.
Use case or service not found.
Service already has a different use case bound for this channel, or the use case is bound in another workspace.
Unsupported use case channel.
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
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.
API key issued via POST /v1/{workspace_id}/api-keys. Pass the returned api_key value as a Bearer token.
Successful Response
No content
Insufficient permissions.
Use case is not bound to a service in this workspace.
Validation Error
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
Return the platform service this use case is bound to in this workspace, or 404 if unbound. Requires Channel.view permission.
API key issued via POST /v1/{workspace_id}/api-keys. Pass the returned api_key value as a Bearer token.
Successful Response
Insufficient permissions.
Use case is not bound to a service in this workspace.
Validation Error
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?

