Skip to content

Register E911 for a number

PUT
/api/v2/numbers/{id}/e911
curl --request PUT \
--url https://api.sipstack.com/api/v2/numbers/example/e911 \
--header 'Content-Type: application/json' \
--header 'x-api-key: <x-api-key>' \
--data '{ "callerName": "Acme Inc — Front Desk", "houseNumber": "123", "streetName": "Main St", "city": "Toronto", "stateProvince": "ON", "postalCode": "M5V 2T6", "country": "CA", "locationId": "example", "feeAcknowledged": true }'

Sets or updates the E911 registration for one of your numbers — same address validation, fee acknowledgment, and carrier provisioning as the Switchboard E911 tab. A single PUT both enables E911 for the first time (with feeAcknowledged: true) and updates an already-enabled number. Strictly org-scoped: 404 on a number that isn’t yours. Requires numbers:write.

Pending carrier orders. PUT /numbers/:id/e911 and the portal E911 save routes return an uncoded 202 (accepted, still processing) while the carrier order is processing; do not treat 202 as confirmed. Only a 200 means the registration is saved. After a 202, E911 is not active at the new address yet; you do not need to save again — read the number back later. While that order is still in progress, another save for the same number answers 409 with E911-302 (a save for this number is already in progress).

id
required
string

The phone-number id from your inventory.

Media type application/json

Register or update E911 for a number. Provide a street address (callerName + address fields) or a locationId to inherit an existing registered location. Enabling E911 for the first time requires feeAcknowledged: true (the recurring E911 fee acknowledgment).

object
callerName
string
Example
Acme Inc — Front Desk
houseNumber
string
Example
123
streetName
string
Example
Main St
city
string
Example
Toronto
stateProvince
string
Example
ON
postalCode
string
Example
M5V 2T6
country
string
Example
CA
locationId

Inherit an existing registered location instead of supplying an address.

string
feeAcknowledged

Required true on first-time enable — acknowledges the recurring E911 fee.

boolean

E911 registration saved.

Media type application/json
object
success
boolean
message
string
data

The saved E911 registration.

object
key
additional properties
any
Example
{
"message": "E911 registration saved"
}

Accepted, NOT confirmed. The carrier order is still processing (not an error, no error code). Do not treat 202 as confirmed: E911 is not active at this address yet.

Media type application/json
object
success
boolean
message

Customer-facing “accepted, still processing” text (uncoded).

string
data
object
registration
string
Allowed values: pending
key
additional properties
any
Example
{
"success": true,
"message": "Your E911 address was accepted but is still being processed. E911 is not active at this address yet.",
"data": {
"registration": "pending"
}
}

Missing phone-number id, or an invalid/incomplete address (or missing fee acknowledgment on first enable).

Media type application/json

Inline error shape used by the messaging API and management endpoints.

object
success
boolean
error
string
Example
{
"success": false,
"error": "Recipient phone number (to) is required"
}

Missing or invalid API key.

Media type application/json

Inline error shape used by the messaging API and management endpoints.

object
success
boolean
error
string
Example
{
"success": false,
"error": "Recipient phone number (to) is required"
}

The key is missing the numbers:write scope, or the account API tier is not on your plan.

Media type application/json

Inline error shape used by the messaging API and management endpoints.

object
success
boolean
error
string
Example
{
"success": false,
"error": "Recipient phone number (to) is required"
}

Number not found in your organization.

Media type application/json

Inline error shape used by the messaging API and management endpoints.

object
success
boolean
error
string
Example
{
"success": false,
"error": "Recipient phone number (to) is required"
}

A save for this number is already in progress (coded E911-302). Wait for it to finish, then try again.

Media type application/json

Inline error shape used by the messaging API and management endpoints.

object
success
boolean
error
string
Example
{
"success": false,
"error": "Recipient phone number (to) is required"
}