Loading...
Loading...
Port phone numbers from other carriers into Sinch with the Porting API. Automates port-in order creation, portability checks, order tracking, on-demand activation, and webhook notifications. Use when porting numbers, checking portability, creating port-in orders, tracking port status, activating ported numbers, uploading LOA documents, or configuring porting defaults.
npx skill4agent add sinch/skills sinch-porting-apidesiredPortDateonDemandActivation: true@sinch/sdk-core| Environment | URL |
|---|---|
| Production | |
export PROJECT_ID="your-project-id"
export ACCESS_TOKEN="your-oauth-token"curl -X POST "https://porting.api.sinch.com/v1/projects/$PROJECT_ID/portabilityChecks" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $ACCESS_TOKEN" \
-d '{
"phoneNumbers": ["+15551234567", "+15559876543"]
}'{
"phoneNumbers": [
{
"phoneNumber": "+15551234567",
"portable": true,
"carrier": "T-Mobile"
},
{
"phoneNumber": "+15559876543",
"portable": false,
"carrier": "Verizon",
"reason": "Number is not portable"
}
]
}curl -X POST "https://porting.api.sinch.com/v1/projects/$PROJECT_ID/orders/portIns" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $ACCESS_TOKEN" \
-d '{
"desiredPortSchedule": {
"desiredPortDate": "2026-05-15",
"desiredPortTime": "09:00:00",
"desiredPortTimeZone": "US/Eastern"
},
"customerOrderReference": "my-ref-123",
"phoneNumbers": [
{
"phoneNumber": "+15551234567",
"endUser": {
"name": "Acme Corp",
"streetNum": "123",
"streetName": "Main",
"streetType": "St",
"city": "Anytown",
"state": "CA",
"zipCode": "90210",
"typeOfService": "B"
},
"portOutInfo": {
"existingPortOutPin": "1234"
}
}
]
}'— Obtain this PIN from the losing carrier before submitting the order. See Create Port-In Order for full field reference.existingPortOutPin
{
"id": 12345,
"status": "PENDING",
"customerOrderReference": "my-ref-123",
"desiredPortSchedule": {
"desiredPortDate": "2026-05-15",
"desiredPortTime": "09:00:00",
"desiredPortTimeZone": "US/Eastern"
},
"phoneNumbers": [
{
"phoneNumber": "+15551234567",
"status": "PENDING"
}
]
}# Auth: same Bearer token header as above
curl "https://porting.api.sinch.com/v1/projects/$PROJECT_ID/orders/portIns/12345" \
-H "Authorization: Bearer $ACCESS_TOKEN"{
"id": 12345,
"status": "CONFIRMED",
"customerOrderReference": "my-ref-123",
"desiredPortSchedule": {
"desiredPortDate": "2026-05-15",
"desiredPortTime": "09:00:00",
"desiredPortTimeZone": "US/Eastern"
},
"phoneNumbers": [
{
"phoneNumber": "+15551234567",
"status": "CONFIRMED",
"focDate": "2026-05-15"
}
]
}# Auth: same Bearer token header as above
curl "https://porting.api.sinch.com/v1/projects/$PROJECT_ID/orders/portIns/12345/availableActivations" \
-H "Authorization: Bearer $ACCESS_TOKEN"{
"activationGroups": [
{
"groupId": "grp-001",
"phoneNumbers": ["+15551234567"],
"status": "READY"
}
]
}# Auth: same Bearer token header as above
curl -X POST "https://porting.api.sinch.com/v1/projects/$PROJECT_ID/orders/portIns/12345/activate" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $ACCESS_TOKEN" \
-d '{
"groupIds": ["grp-001"]
}'idPENDINGCONFIRMEDCOMPLETEDPENDING_CANCELATIONCANCELEDPENDINGCONFIRMEDACTIVATEDREJECTEDrejectReasonCANCELEDEXCLUDEDexclusionReasonfocDatenamestreetNumstreetNamecitystatezipCodeexistingPortOutPinaccountNumaccountPhoneNumberauthorizingNameauthorizingDatePOST /orders/portIns/{orderId}/documentsonDemandActivation: truePOST /orders/portIns/{orderId}/activatetypeRTCappIdESTtrunkIdFAXserviceIdA2PLCSMSMMSdesiredPortDatedesiredPortTime09:00:00desiredPortTimeZoneUS/EasternUS/CentralUS/MountainUS/PacificPOST /configurationPUT /configurationPOST /portabilityChecksphoneNumbersPOST /orders/portInsdesiredPortSchedulephoneNumbersendUserportOutInfoidPENDINGGET /orders/portInsorderStatusphoneNumbercustomerOrderReferencecreatedDateStartcreatedDateEndfocStartDatefocEndDatepageSizepageGET /orders/portIns/{orderId}GET /orders/portIns/phoneGroups/{orderId}PUT /orders/portIns/{orderId}PENDINGDELETE /orders/portIns/{orderId}PENDINGPOST /orders/portIns/{orderId}/notesPOST /orders/portIns/{orderId}/documentsGET /orders/portIns/{orderId}/documents/{documentId}GET /orders/portIns/{orderId}/availableActivationsPOST /orders/portIns/{orderId}/activatePOST /configurationPUT /configurationGET /configurationPOST /portabilityChecks+15551234567customerOrderReferencecountryCodeUSCAPUT /orders/portIns/{orderId}CONFIRMEDPENDING_CANCELATIONtypeOfServiceBRexistingPortOutPinportOutInfoaccountNumaccountPhoneNumberauthorizingNameauthorizingDatedesiredPortTimedesiredPortTimeZone09:00:00 US/EasternUS/EasternUS/CentralUS/MountainUS/PacificPOST /configurationGET /orders/portIns/{orderId}voiceConfigurationtypeRTCappIdESTtrunkIdFAXserviceId@sinch/sdk-coreresellerName