Action APIs

These endpoints allow external systems to initiate contact center actions — placing outbound calls on behalf of logged-in agents and scheduling callbacks submitted through web forms or third-party platforms.

All requests are authenticated using a Service User bearer token scoped to CCaaS.

For rate limiting rules and a full list of expected response statuses, see API Limits & Statuses.


Click to Dial

Triggers an outbound call for a specified agent who is currently logged into the Contact Center Agent Client.

When the agent is using the Xima softphone (WebRTC), the call is placed immediately. When the agent is on a UC phone, the system first rings the agent's extension — once answered, the outbound call is then initiated to the target number.

Endpoint

POST /rest/api/v1/agents/{extension}/click-to-dial

Path Parameters

ParameterTypeRequiredDescription
extensionstringYesThe agent's extension number

Headers

HeaderValueRequiredDescription
Content-Typeapplication/jsonYesResponse returned as JSON
AuthorizationBearerYesThe Service User API bearer token
Host<hostname>.xima.cloudYesThe FQDN

Request Body

FieldTypeRequiredDescription
numberToDialstringYesThe number or extension the agent should dial, formatted as the agent would dial it.
outboundCallerIdstringNoThe outbound caller ID the call should present. Must be a number registered in CCaaS.
externalPrefixstringNoThe external dial prefix (e.g., 9).
📘

Outbound Caller ID

The outboundCallerId value must be a number registered in CCaaS as an available outbound number for the agent. To use whatever the agent has most recently selected in CC-Agent Client instead, see Selected Outbound Number.

Request

POST /rest/api/v1/agents/{extension}/click-to-dial HTTP/1.1
Host: <hostname>.xima.cloud
Content-Type: application/json
Authorization: Bearer <api_bearer_token>

{
  "numberToDial": "",
  "outboundCallerId": "",
  "externalPrefix": ""
}

Response

Returns 204 No Content on success.

Available Outbound Caller IDs

Returns all outbound caller IDs available to the specified agent, along with the currently selected outbound number.

Endpoint

GET /rest/api/v1/agents/{extension}/outbound-caller-ids

Path Parameters

ParameterTypeRequiredDescription
extensionstringYesThe agent's extension number

Headers

HeaderValueRequiredDescription
AuthorizationBearerYesThe Service User API bearer token
Host<hostname>.xima.cloudYesThe FQDN

Request

GET /rest/api/v1/agents/{extension}/outbound-caller-ids HTTP/1.1
Host: <hostname>.xima.cloud
Authorization: Bearer <api_bearer_token>

Response

Returns a JSON object containing the agent's currently selected outbound caller ID and the full list of available outbound caller IDs.

{
  "selectedOutboundCallerId": {
    "label": "",
    "outboundCallerId": ""
  },
  "outboundCallerIds": [
    {
      "label": "",
      "outboundCallerId": ""
    },
    {
      "label": "",
      "outboundCallerId": ""
    }
  ]
}

Selected Outbound Number

When the agent has multiple available outbound numbers, this variant uses whichever number the agent has currently selected in CC-Agent Client rather than specifying one explicitly.

Endpoint

POST /rest/api/v1/agents/{extension}/click-to-dial

Path Parameters

ParameterTypeRequiredDescription
extensionstringYesThe agent's extension number

Headers

HeaderValueRequiredDescription
Content-Typeapplication/jsonYesResponse returned as JSON
AuthorizationBearerYesThe Service User API bearer token
Host<hostname>.xima.cloudYesThe FQDN

Request Body

FieldTypeRequiredDescription
numberToDialstringYesThe external party number to dial.
useSelectedOutboundCallerIdbooleanNoWhen set to true, uses the agent's currently selected outbound caller ID. Default is false.

Request

POST /rest/api/v1/agents/{extension}/click-to-dial HTTP/1.1
Host: <hostname>.xima.cloud
Content-Type: application/json
Authorization: Bearer <api_bearer_token>

{
  "numberToDial": "",
  "useSelectedOutboundCallerId": <true/false>
}

Response

Returns 204 No Content on success.

Update Agent's Selected Outbound Caller ID

Sets the agent's active outbound caller ID programmatically. The agent will see the updated label and number reflected in CC-Agent Client. If followed immediately by a Click to Dial request using useSelectedOutboundCallerId, the updated number will be used for the outbound call.

Endpoint

POST /rest/api/v1/agents/{extension}/selected-outbound-caller-id

Path Parameters

ParameterTypeRequiredDescription
extensionstringYesThe agent's extension number

Headers

HeaderValueRequiredDescription
Content-Typeapplication/jsonYesResponse returned as JSON
AuthorizationBearerYesThe Service User API bearer token
Host<hostname>.xima.cloudYesThe FQDN

Request Body

FieldTypeRequiredDescription
labelstringYesThe label assigned to the outbound caller ID in CCaaS.
outboundCallerIdstringYesThe outbound caller ID number to set as active.

Request

POST /rest/api/v1/agents/{AgentExt}/selected-outbound-caller-id HTTP/1.1
Host: <hostname>.xima.cloud
Content-Type: application/json
Authorization: Bearer <api_bearer_token>

{
  "label": "",
  "outboundCallerId": ""
}

Response

Returns 204 No Content on success.


Callback API

Schedules a callback for a specified skill group. When a callback is scheduled via this endpoint, the system follows the skill's existing queue callback rules — the placeholder enters the queue immediately and an outbound call is placed when the interaction reaches the front and an agent is available.

This endpoint is primarily used for online form submissions, allowing a website or external system to request a callback on behalf of a visitor without the caller waiting on hold.

Best Practices

Use the Reserve Agent callback strategy — With Wait in Queue, callbacks can reach the front of the queue after hours when no agents are logged in. Reserve Agent requires an available agent before the outbound call is initiated.

Use a dedicated skill group for API callbacks — Each form-submitted callback logs as a zero-second inbound call to the target skill. Using a dedicated skill keeps API-originated callbacks separate from traditional inbound traffic and simplifies reporting.

Build a dedicated language pack for the skill — Default language packs include callback greetings that may not be appropriate for form-submitted callbacks. A custom language pack can better greet the customer in context.

Endpoint

POST /rest/api/v1/callback

Headers

HeaderValueRequiredDescription
Content-Typeapplication/jsonYesResponse returned as JSON
AuthorizationBearerYesThe Service User API bearer token
Host<hostname>.xima.cloudYesThe FQDN

Request Body

FieldTypeRequiredDescription
skillstringYesThe exact name of the skill group to schedule the callback in. Must match an existing skill name exactly.
callbackNumberstringYesThe number the system will dial when attempting to reach the requesting party.

Request

POST /rest/api/v1/callback HTTP/1.1
Host: <hostname>.xima.cloud
Content-Type: application/json
Authorization: Bearer <api_bearer_token>

{
  "skill": "",
  "callbackNumber": ""
}

Response

Returns 204 No Content on success.