Skip to main content
POST
/
v1
/
sip
/
port
/
initiate
Initiate Port Request
curl --request POST \
  --url https://api.bland.ai/v1/sip/port/initiate \
  --header 'Content-Type: application/json' \
  --header 'authorization: <authorization>' \
  --data '
{
  "phone_numbers": [
    {}
  ],
  "losing_carrier_information": {},
  "target_port_date": "<string>",
  "documents": [
    {}
  ],
  "pin": "<string>"
}
'
{
  "data": {
    "port_request_id": "port_xyz789",
    "status": "waiting_for_signature",
    "signature_url": "https://sign.example.com/loa/port_xyz789",
    "phone_numbers": ["+14150000000", "+14150000001"]
  },
  "errors": null
}

Headers

authorization
string
required
Your API key for authentication.

Body

phone_numbers
array
required
Array of phone numbers to port. Each must be in E.164 format. You should verify portability first using GET /v1/sip/port/check.
losing_carrier_information
object
required
Information about the current carrier:
  • customer_type (string) — "business" or "personal"
  • business_name (string) — Business name on the account (if business)
  • first_name (string) — Account holder first name
  • last_name (string) — Account holder last name
  • account_number (string) — Account number with the losing carrier
  • authorized_representative_email (string) — Email for LOA signing
  • notification_emails (array) — Additional emails for status updates
  • address (object) — Service address: street, street2, city, state, zip, country
target_port_date
string
Requested port date in ISO 8601 format. Must be at least 7 days from today. If omitted, the earliest possible date is used.
documents
array
Array of document SIDs returned from POST /v1/sip/port/document.
pin
string
Account PIN from the losing carrier (required for some numbers — check via portability endpoint).

Response

port_request_id
string
Unique identifier for the port request.
status
string
Initial status: "waiting_for_signature".
signature_url
string
URL for electronically signing the Letter of Authorization.
phone_numbers
array
Array of phone numbers included in the port request.
Number porting typically takes 7–14 business days. Track progress via GET /v1/sip/port or the SIP Dashboard. Port status flow: waiting_for_signaturesubmittedin_progresscompleted
Example Request
curl -X POST https://api.bland.ai/v1/sip/port/initiate \
  -H "Authorization: Bearer <token>" \
  -H "Content-Type: application/json" \
  -d '{
    "phone_numbers": ["+14150000000", "+14150000001"],
    "losing_carrier_information": {
      "customer_type": "business",
      "business_name": "Acme Corp",
      "first_name": "Jane",
      "last_name": "Doe",
      "account_number": "ACC-12345",
      "authorized_representative_email": "jane@acme.com",
      "notification_emails": ["it@acme.com"],
      "address": {
        "street": "123 Main St",
        "street2": "Suite 100",
        "city": "San Francisco",
        "state": "CA",
        "zip": "94105",
        "country": "US"
      }
    },
    "target_port_date": "2026-03-20T00:00:00Z",
    "documents": ["doc_abc123"]
  }'
{
  "data": {
    "port_request_id": "port_xyz789",
    "status": "waiting_for_signature",
    "signature_url": "https://sign.example.com/loa/port_xyz789",
    "phone_numbers": ["+14150000000", "+14150000001"]
  },
  "errors": null
}