Skip to content

Porting API (1.0)

Automated processing of port-in phone number operations

Download OpenAPI description
Overview
License

MIT

Languages
Servers
v1.0 of the porting API

https://porting.api.sinch.com/v1/projects/{projectId}/

Port-in numbers

You can create orders, check portability, and more. When you port in phone numbers to Sinch you need to make sure the numbers are portable, you can use the portability check to make sure the numbers are portable before creating an order. If a number is not portable the whole order will fail. When porting a number to Sinch you can either use the dashboard or the API, the API is recommended for larger orders and for automation.

Note: For port orders of over 500 numbers, please contact the support team.

The recommended way to port numbers to Sinch is to schedule the port, this means that you create an order and specify a desired port date and time, If you have more advanced needs like on-demand activation, you can read more about that in the advanced porting section.

Operations
Webhooks

Webhooks for porting

Sinch uses webhooks to notify you of events that happen in the porting system.

You can configure webhooks for porting events in the porting defaults API or via the dashboard. Anytime a port is then made via the dashboard or we at Sinch trigger an update we will call your webhook url with the event type and a payload depending on event type.

Request

This is a webhook that will be called when an order is updated, it will contain the order and the status of the order.

Security
basicAuth or bearerAuth
Bodyapplication/json
eventstring

The event that triggered the webhook.

Default "ORDER_UPDATED"
ValueDescription
ORDER_UPDATED

The order was updated it can be status or any other updates to a pending order

orderIdstring

The order ID that was updated.

orderobject(OrderBaseItem)
application/json
{ "type": "ORDER_UPDATED", "orderId": "897867", "order": { "id": 897867, "customerOrderReference": "123456", "desiredPortSchedule": {}, "status": "PENDING", "onDemandActivation": false, "phoneNumbers": [] } }

Request

This notification occurs if at least one number on the port order was activated.

Security
basicAuth or bearerAuth
Bodyapplication/json
eventstring

The event that triggered the webhook.

Default "NUMBERS_ACTIVATED"
Enum ValueDescription
ORDER_UPDATED

The order was updated. This could be a status update or any other updates to a pending order.

NUMBERS_ACTIVATED

At least one number was activated.

NUMBERS_CONFIRMED

At least one number was confirmed.

NUMBERS_REJECTED

At least one number was rejected.

NEW_ORDER_NOTE

A new note was added to the order.

orderIdstring

The order ID that was updated.

phoneNumbersArray of objects(PhoneNumberMinItem)
application/json
{ "type": "NUMBERS_ACTIVATED", "orderId": 897867, "phoneNumbers": [ {} ] }

Request

This notification occurs when at least one number on the port order was confirmed. This notification also occurs when the number is ready to be activated and onDemandActivation was set to true or if it will be activated at the specified confirmation date.

Security
basicAuth or bearerAuth
Bodyapplication/json
eventstring

The event that triggered the webhook.

Default "NUMBERS_ACTIVATED"
Enum ValueDescription
ORDER_UPDATED

The order was updated. This could be a status update or any other updates to a pending order.

NUMBERS_ACTIVATED

At least one number was activated.

NUMBERS_CONFIRMED

At least one number was confirmed.

NUMBERS_REJECTED

At least one number was rejected.

NEW_ORDER_NOTE

A new note was added to the order.

orderIdstring

The order ID that was updated.

phoneNumbersArray of objects(PhoneNumberMinItem)
application/json
{ "type": "NUMBERS_CONFIRMED", "orderId": 897867, "phoneNumbers": [ {} ] }

Request

This notification occurs if at least one number on the port order was rejected. Look at rejected reasons for more details on what went wrong.

Security
basicAuth or bearerAuth
Bodyapplication/json
eventstring

The event that triggered the webhook.

Default "NUMBERS_ACTIVATED"
Enum ValueDescription
ORDER_UPDATED

The order was updated. This could be a status update or any other updates to a pending order.

NUMBERS_ACTIVATED

At least one number was activated.

NUMBERS_CONFIRMED

At least one number was confirmed.

NUMBERS_REJECTED

At least one number was rejected.

NEW_ORDER_NOTE

A new note was added to the order.

orderIdstring

The order ID that was updated.

phoneNumbersArray of objects(PhoneNumberMinItem)
application/json
{ "type": "NUMBERS_REJECTED", "orderId": 897867, "phoneNumbers": [ {} ] }

Request

This notification occurs if a note was added to the order either by Sinch or by you.

Security
basicAuth or bearerAuth
Bodyapplication/json
eventstring

The event that triggered the webhook.

Enum ValueDescription
ORDER_UPDATED

The order was updated. This could be a status update or any other updates to a pending order.

NUMBERS_ACTIVATED

At least one number was activated.

NUMBERS_CONFIRMED

At least one number was confirmed.

NUMBERS_REJECTED

At least one number was rejected.

NEW_ORDER_NOTE

A new note was added to the order.

orderIdstring

The order ID that was updated.

notestring

The note that was added.

application/json
{ "type": "NEW_ORDER_NOTE", "orderId": 897867, "note": "This is a note" }

Port-in settings

Porting default settings

Operations

Advanced porting

This section is for advanced porting operations, like on demand activating numbers, getting available numbers for activation, and more. If you are looking for basic porting operations like creating an order, checking portability, and more, please refer to the Port-in numbers section.

Operations