Initiate Number Jobs
Starts the execution of an operation on a set of numbers. Supported operations are: MOVE
, NUMBER_USAGE_CHANGE
.
This API requires a full administrator auth token with a scope of spark-admin:telephony_config_write
.
Notes
Although the job can internally perform the DELETE
& ACTIVATE
actions, only the MOVE
and NUMBER_USAGE_CHANGE
operations are publicly supported.
Although the numbers
field is an array, we currently only support a single number with each request for MOVE
operation type and change of usage type of up to 1000 numbers per request.
Only one number can be moved at any given time. If a move of another number is initiated while a move job is in progress the API call will receive a 409
http status code.
In order to move a number,
The number must be unassigned.
Both locations must have the same PSTN Connection Type.
Both locations must have the same PSTN Provider.
Both locations have to be in the same country.
For example, you can move from Cisco Calling Plan to Cisco Calling Plan, but you cannot move from Cisco Calling Plan to a location with Cloud Connected PSTN.
In order to change the number usage,
The number must be unassigned.
Number Usage Type can be set to
NONE
if carrier has the PSTN serviceGEOGRAPHIC_NUMBERS
.Number Usage Type can be set to
SERVICE
if carrier has the PSTN serviceSERVICE_NUMBERS
.
For example, you can initiate a NUMBER_USAGE_CHANGE
job to change the number type from Standard number to Service number, or the other way around.
Body Parameters
Indicates the kind of operation to be carried out.
Mandatory for a MOVE
operation. The target location within organization where the unassigned numbers will be moved from the source location.
Mandatory for NUMBER_USAGE_CHANGE
operation. Indicates the number usage type.
Numbers on which to execute the operation.
The source location of the numbers on which to execute the operation.
The numbers on which to execute the operation.
Response Properties
Job name.
Unique identifier of the job.
Job type.
Unique identifier to track the flow of HTTP requests.
Unique identifier to identify which user has run the job.
Unique identifier to identify the customer who has run the job.
Unique identifier to identify the customer for which the job was run.
Unique identifier to identify the instance of the job.
Displays the most recent step's execution status. Contains execution statuses of all the steps involved in the execution of the job.
Unique identifier that identifies each instance of the job.
Last updated time (in UTC format) post one of the step execution completion.
Displays status for overall steps that are part of the job.
Exit Code for a job.
Job creation time in UTC format.
Time lapsed since the job execution started.
Indicates the most recent status (STARTING, STARTED, COMPLETED, FAILED) of the job at the time of invocation.
Most recent exit code of the job at the time of invocation.
Job is in progress.
Job has completed successfully.
Job has failed.
Job has been stopped.
Job has completed with errors.
Indicates operation type that was carried out.
Unique location identifier for which the job was run.
Unique location identifier for which the numbers have been moved.
Job statistics.
Indicates the total number of phone numbers requested to be moved.
Indicates the total number of phone numbers successfully deleted.
Indicates the total number of phone numbers successfully moved.
Indicates the total number of phone numbers failed.
Count of phone numbers for which usage changed.
Response Codes
The list below describes the common success and error responses you should expect from the API.
Code | Status | Description |
---|---|---|
200 | OK | Successful request with body content. |
201 | Created | The request has succeeded and has led to the creation of a resource. |
202 | Accepted | The request has been accepted for processing. |
204 | No Content | Successful request without body content. |
400 | Bad Request | The request was invalid or cannot be otherwise served. An accompanying error message will explain further. |
401 | Unauthorized | Authentication credentials were missing or incorrect. |
403 | Forbidden | The request is understood, but it has been refused or access is not allowed. |
404 | Not Found | The URI requested is invalid or the resource requested, such as a user, does not exist. Also returned when the requested format is not supported by the requested method. |
405 | Method Not Allowed | The request was made to a resource using an HTTP request method that is not supported. |
409 | Conflict | The request could not be processed because it conflicts with some established rule of the system. For example, a person may not be added to a room more than once. |
410 | Gone | The requested resource is no longer available. |
415 | Unsupported Media Type | The request was made to a resource without specifying a media type or used a media type that is not supported. |
423 | Locked | The requested resource is temporarily unavailable. A Retry-After header may be present that specifies how many seconds you need to wait before attempting the request again. |
428 | Precondition Required | File(s) cannot be scanned for malware and need to be force downloaded. |
429 | Too Many Requests | Too many requests have been sent in a given amount of time and the request has been rate limited. A Retry-After header should be present that specifies how many seconds you need to wait before a successful request can be made. |
500 | Internal Server Error | Something went wrong on the server. If the issue persists, feel free to contact the Webex Developer Support team. |
502 | Bad Gateway | The server received an invalid response from an upstream server while processing the request. Try again later. |
503 | Service Unavailable | Server is overloaded with requests. Try again later. |
504 | Gateway Timeout | An upstream server failed to respond on time. If your query uses max parameter, please try to reduce it. |
Header
Body
- operationstringRequiredIndicates the kind of operation to be carried out.
- targetLocationIdstringMandatory for a `MOVE` operation. The target location within organization where the unassigned numbers will be moved from the source location.
- numberUsageTypestringMandatory for `NUMBER_USAGE_CHANGE` operation. Indicates the number usage type.
- numberListarrayRequiredNumbers on which to execute the operation.
// Example 1 { "operation": "MOVE", "targetLocationId": "Y2lzY29zcGFyazovL3VzL0xPQ0FUSU9OLzgxYjUzYzk3LTQxNGQtNDhjYy1hZThiLWNhZmM0MDc4NDAwNw", "numberList": [{ "locationId": "Y2lzY29zcGFyazovL3VzL0xPQ0FUSU9OLzUyMjNiYmVkLTQyYzktNDU0ZC1hMWYzLTdmYWQ1Y2M3ZTZlMw", "numbers": ["+14155552000"] }] } // Example 2 { "operation": "NUMBER_USAGE_CHANGE", "numberUsageType": "SERVICE", "numberList": [ { "locationId": "Y2lzY29zcGFyazovL3VzL0xPQ0FUSU9OLzUyMjNiYmVkLTQyYzktNDU0ZC1hMWYzLTdmYWQ1Y2M3ZTZlMw", "numbers": ["+14155552000", "+14155552001", "+14155552002", "+14155552003"] }, { "locationId": "Y2lzY29zcGFyazovL3VzL0xPQ0FUSU9OLzYzMzRjY2ZlLTUzZDAtNTY1ZS1iMmc0LTdmYWQ1Y2M3ZTdlNA==", "numbers": ["+14166663100", "+14166663101", "+14166663102", "+14166663103"] } ] }
{ "name": "managenumbers", "id": "Y2lzY29zcGFyazovL3VzL0pPQl9JRC84M2U1MjNlYy02NjY2LTRlZjAtODcwYi0xZjViZGI1NDNhZDU", "jobType": "managenumbers", "trackingId": "NA_c989fd47-391e-47c0-8fe4-b45711871a42", "sourceUserId": "Y2lzY29zcGFyazovL3VzL1BFT1BMRS8wNTUyZjY3Yi01OWE5LTQxYmItODczNi0xYjA0MWQxZGRkNWU", "sourceCustomerId": "Y2lzY29zcGFyazovL3VzL09SR0FOSVpBVElPTi85MTE1NDM1Ny1iZWQxLTQ1ZDUtYWE4Zi00ZTUwYzBkZWNmMzM", "targetCustomerId": "Y2lzY29zcGFyazovL3VzL09SR0FOSVpBVElPTi85MTE1NDM1Ny1iZWQxLTQ1ZDUtYWE4Zi00ZTUwYzBkZWNmMzM", "instanceId": 0, "jobExecutionStatus": [ { "id": 0, "startTime": "2022-09-13T10:56:41.241Z", "lastUpdated": "2022-09-13T10:56:41.242Z", "statusMessage": "STARTED", "exitCode": "UNKNOWN", "createdTime": "2022-09-13T10:56:41.054Z", "timeElapsed": "PT0S" } ], "latestExecutionStatus": "STARTED", "latestExecutionExitCode": "UNKNOWN", "operationType": "MOVE", "sourceLocationId": "5223bbed-42c9-454d-a1f3-7fad5cc7e6e3", "targetLocationId": "81b53c97-414d-48cc-ae8b-cafc40784007", "counts": { "totalNumbers": 0, "numbersDeleted": 0, "numbersMoved": 0, "numbersFailed": 0, "numbersUsageChanged": 0 } }