Remove Operator
Detach an operator from a virtual number. The operator record itself is preserved — only the routing assignment is removed.
DELETE
https://api.identitycall.ai/api/v1/public/virtual_numbers/:id/remove_operatorRemoves the link between a virtual number and an operator.
Requires write permission
Scopes
| API key scope | Behavior |
|---|---|
| Account-wide | Can detach from any virtual number on the account. |
| Project-scoped | Returns 404 if the virtual number is not in the key’s project. |
Path Parameters
Parameters
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
id | integer | Yes | - | Virtual number ID |
Query / Body Parameters
Parameters
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
operator_id | integer | Yes | - | ID of the operator to detach. Pass as a query string parameter or in a JSON body. |
Request
cURL
curl -X DELETE "https://api.identitycall.ai/api/v1/public/virtual_numbers/7/remove_operator?operator_id=22" \
-H "Authorization: Bearer $IDENTITYCALL_API_KEY"Response
Returns the same detail payload as Get Virtual Number, reflecting the updated operator list.
Response200 OK
{
"data": {
"id": 7,
"phone_number": "+15551234567",
"name": "US Sales Line",
"country_code": "US",
"active": true,
"recording": true,
"routing_strategy": "priority",
"ai_receptionist_enabled": false,
"stats": { "total_calls": 142, "answered_calls": 118, "missed_calls": 24, "average_duration_seconds": 184 },
"operators": [
{ "id": 12, "name": "Alice Carter", "phone_number": "+15555550112", "initials": "AC", "priority": 0 }
],
"available_operators": [
{ "id": 22, "name": "Greta Hall", "phone_number": "+15555550199", "initials": "GH" }
],
"recent_calls": []
}
}Errors
| Status | Error | Description |
|---|---|---|
| 404 | ”Resource not found” | Virtual number doesn’t exist, isn’t accessible, or the operator isn’t currently attached |