The Hosted Phone Numbers API is currently in development and not intended for use by new customers. This documentation exists to support customers who are already using the API. A new version of this API will be released as a generally available (GA) product in the near future. New customers should wait for the Hosted Phone Numbers GA release.
The Hosted Number Orders product allows an account to request for their phone numbers to be hosted on Twilio for SMS. Start the Hosted Number onboarding process by sending a POST
to the list resource, which will create a new request to host a phone number, or move the Hosted Number Order along the onboarding process by updating the status of the Hosted Number Orders Instance Resource. Upon creation of a Hosted Number Order instance resource, a corresponding IncomingPhoneNumbers instance resource will also be created. Currently, Twilio only has the ability to onboard landline or toll-free US & Canada numbers that are not currently SMS enabled.
After the number's ownership has been verified, the user will then need to create a new Authorization Document that is electronically signed, giving Twilio permission to route SMS to and from Twilio's network. To see how to interact with the Authorization Documents resource, please visit the Public API reference.
Once the process is completed, users will be able to answer phone calls on their existing infrastructure and leverage the same number identity for two-way SMS on Twilio's platform.
sid
type: SID<HR>A 34 character string that uniquely identifies this HostedNumberOrder.
^HR[0-9a-fA-F]{32}$
34
34
account_sid
type: SID<AC>A 34 character string that uniquely identifies the account.
^AC[0-9a-fA-F]{32}$
34
34
incoming_phone_number_sid
type: SID<PN>A 34 character string that uniquely identifies the IncomingPhoneNumber resource that represents the phone number being hosted.
^PN[0-9a-fA-F]{32}$
34
34
address_sid
type: SID<AD>A 34 character string that uniquely identifies the Address resource that represents the address of the owner of this phone number.
^AD[0-9a-fA-F]{32}$
34
34
signing_document_sid
type: SID<PX>A 34 character string that uniquely identifies the Authorization Document the user needs to sign.
^PX[0-9a-fA-F]{32}$
34
34
phone_number
type: string<phone-number>Phone number to be hosted. This must be in E.164 format, e.g., +16175551212
capabilities
type: object<phone-number-capabilities>Set of booleans describing the capabilities hosted on Twilio's platform. SMS is currently only supported.
friendly_name
type: stringA 64 character string that is a human-readable text that describes this resource.
unique_name
type: stringProvides a unique and addressable name to be assigned to this HostedNumberOrder, assigned by the developer, to be optionally used in addition to SID.
status
type: enum<string>Status of this resource. It can hold one of the values: 1. Twilio Processing 2. Received, 3. Pending LOA, 4. Carrier Processing, 5. Completed, 6. Action Required, 7. Failed. See the HostedNumberOrders Status Values section for more information on each of these statuses.
received
pending-verification
verified
pending-loa
carrier-processing
testing
completed
failed
action-required
failure_reason
type: stringA message that explains why a hosted_number_order went to status "action-required"
date_created
type: string<date-time>The date this resource was created, given as GMT RFC 2822 format.
date_updated
type: string<date-time>The date that this resource was updated, given as GMT RFC 2822 format.
verification_attempts
type: integerThe number of attempts made to verify ownership of the phone number that is being hosted.
cc_emails
type: array[string]A list of emails that LOA document for this HostedNumberOrder will be carbon copied to.
verification_type
type: enum<string>The type of ownership verification required to move the number to a verified
state. The verification methods are phone-call
or phone-bill
.
phone-call
phone-bill
verification_document_sid
type: SID<RI>A 34 character string that uniquely identifies the Identity Document resource that represents the document for verifying ownership of the number to be hosted.
^RI[0-9a-fA-F]{32}$
34
34
extension
type: stringA numerical extension to be used when making the ownership verification call.
call_delay
type: integerA value between 0-30 specifying the number of seconds to delay initiating the ownership verification call.
verification_code
type: stringA verification code provided in the response for a user to enter when they pick up the phone call.
verification_call_sids
type: array[string]A list of 34 character strings that are unique identifiers for the calls placed as part of ownership verification.
Status | Description |
---|---|
twilio-processing | Twilio is processing your request and will either send to the failed status if the number is not eligible to be hosted, or move the number to received status. |
received | Twilio has received the HostedNumberOrder request and determined that the phone number in the request can be hosted on Twilio's platform. |
pending-verification | Twilio is awaiting the Hosted Number Order to be verified by the end-user by picking up the phone and listening to a security token. The verification code is valid for 10 minutes. Subsequent calls to the API within the expiration time will send the same verification code. There can be a max of three verification attempts before the status changes to action_required. |
verified | Twilio has confirmed with a security token that the person answering the phone has verified their request for Hosted SMS. |
pending-loa | LOA for the HostedNumberOrder has been generated, but the document has not yet been signed by the email recipient specified on the HostedNumberOrder. |
carrier-processing | LOA for the HostedNumberOrder has been signed, and the phone number has been submitted to Twilio's underlying provider/carrier to enable the specified capabilities. |
testing | The phone number is undergoing capability testing for the capabilities specified in this order. |
completed | HostedNumberOrder onboarding has completed and the phone number is ready for use. |
action-required | HostedNumberOrder onboarding encountered a failure. An operations specialist will investigate the failure. |
failed | The Hosted Number Order failed because the number is currently SMS enabled or has been idle for more than 30 days. At this point, it is no longer possible to re-submit the request for the failed Hosted Number Order. However, a new Hosted Number Order can be created for the same phone number once SMS registration has been deactivated on the phone number or the previous Hosted Number Order has failed due to being idle. |
When a Hosted Number Order changes status, Twilio will make an asynchronous HTTP request to the StatusCallback URL if you provided one in your API request. By capturing this request, you can determine when the Hosted Number Order changes status.
The Hosted Number Orders status callback request passes the parameters listed in the table below:
Status | Description |
---|---|
Status | The new status of the Hosted Number Order |
HostedNumberOrderSid | The unique sid of the Hosted Number Order |
PhoneNumber | The [+E.164][e164] format of the Hosted Number Order |
POST https://preview.twilio.com/HostedNumbers/HostedNumberOrders
Creates a new Hosted Number Order for the specified capability. Currently, only SMS is a supported capability.
SmsCapability
type: booleanRequiredUsed to specify that the SMS capability will be hosted on Twilio's platform.
AccountSid
type: SID<AC>This defaults to the AccountSid of the authorization the user is using. This can be provided to specify a subaccount to add the HostedNumberOrder to.
^AC[0-9a-fA-F]{32}$
34
34
FriendlyName
type: stringA 64 character string that is a human readable text that describes this resource.
UniqueName
type: stringOptional. Provides a unique and addressable name to be assigned to this HostedNumberOrder, assigned by the developer, to be optionally used in addition to SID.
CcEmails
type: array[string]Optional. A list of emails that the LOA document for this HostedNumberOrder will be carbon copied to.
SmsUrl
type: string<uri>The URL that Twilio should request when somebody sends an SMS to the phone number. This will be copied onto the IncomingPhoneNumber resource.
SmsMethod
type: enum<http-method>The HTTP method that should be used to request the SmsUrl. Must be either GET
or POST
. This will be copied onto the IncomingPhoneNumber resource.
GET
POST
SmsFallbackUrl
type: string<uri>A URL that Twilio will request if an error occurs requesting or executing the TwiML defined by SmsUrl. This will be copied onto the IncomingPhoneNumber resource.
SmsFallbackMethod
type: enum<http-method>The HTTP method that should be used to request the SmsFallbackUrl. Must be either GET
or POST
. This will be copied onto the IncomingPhoneNumber resource.
GET
POST
StatusCallbackUrl
type: string<uri>Optional. The Status Callback URL attached to the IncomingPhoneNumber resource.
StatusCallbackMethod
type: enum<http-method>Optional. The Status Callback Method attached to the IncomingPhoneNumber resource.
GET
POST
SmsApplicationSid
type: SID<AP>Optional. The 34 character sid of the application Twilio should use to handle SMS messages sent to this number. If a SmsApplicationSid
is present, Twilio will ignore all of the SMS urls above and use those set on the application.
^AP[0-9a-fA-F]{32}$
34
34
AddressSid
type: SID<AD>Optional. A 34 character string that uniquely identifies the Address resource that represents the address of the owner of this phone number.
^AD[0-9a-fA-F]{32}$
34
34
Email
type: stringOptional. Email of the owner of this phone number that is being hosted.
VerificationType
type: enum<string>Optional. The method used for verifying ownership of the number to be hosted. One of phone-call (default) or phone-bill.
phone-call
phone-bill
VerificationDocumentSid
type: SID<RI>Optional. The unique sid identifier of the Identity Document that represents the document for verifying ownership of the number to be hosted. Required when VerificationType is phone-bill.
^RI[0-9a-fA-F]{32}$
34
34
GET https://preview.twilio.com/HostedNumbers/HostedNumberOrders/{Sid}
Returns a single, existing Hosted Number Orders instance resource specified by the requested Hosted Number Orders instance resource SID.
Sid
type: SID<HR>A 34 character string that uniquely identifies this HostedNumberOrder.
^HR[0-9a-fA-F]{32}$
34
34
GET https://preview.twilio.com/HostedNumbers/HostedNumberOrders
Status
type: enum<string>The Status of this HostedNumberOrder. One of received
, pending-verification
, verified
, pending-loa
, carrier-processing
, testing
, completed
, failed
, or action-required
.
received
pending-verification
verified
pending-loa
carrier-processing
testing
completed
failed
action-required
PhoneNumber
type: string<phone-number>An E164 formatted phone number hosted by this HostedNumberOrder.
IncomingPhoneNumberSid
type: SID<PN>A 34 character string that uniquely identifies the IncomingPhoneNumber resource created by this HostedNumberOrder.
^PN[0-9a-fA-F]{32}$
34
34
FriendlyName
type: stringA human readable description of this resource, up to 64 characters.
UniqueName
type: stringProvides a unique and addressable name to be assigned to this HostedNumberOrder, assigned by the developer, to be optionally used in addition to SID.
PageSize
type: integerHow many resources to return in each list page. The default is 50, and the maximum is 1000.
1
Page
type: integerThe page index. This value is simply for client state.
0
POST https://preview.twilio.com/HostedNumbers/HostedNumberOrders/{Sid}
Tries to update a single, existing Hosted Number Orders instance resource's properties and returns the updated resource representation if successful. The returned response is identical to that returned above when fetching.
Sid
type: SID<HR>A 34 character string that uniquely identifies this HostedNumberOrder.
^HR[0-9a-fA-F]{32}$
34
34
FriendlyName
type: stringA 64 character string that is a human readable text that describes this resource.
UniqueName
type: stringProvides a unique and addressable name to be assigned to this HostedNumberOrder, assigned by the developer, to be optionally used in addition to SID.
CcEmails
type: array[string]Optional. A list of emails that LOA document for this HostedNumberOrder will be carbon copied to.
Status
type: enum<string>User can only post to pending-verification
status to transition the HostedNumberOrder to initiate a verification call or verification of ownership with a copy of a phone bill.
received
pending-verification
verified
pending-loa
carrier-processing
testing
completed
failed
action-required
VerificationCode
type: stringA verification code that is given to the user via a phone call to the phone number that is being hosted.
VerificationType
type: enum<string>Optional. The method used for verifying ownership of the number to be hosted. One of phone-call (default) or phone-bill.
phone-call
phone-bill
VerificationDocumentSid
type: SID<RI>Optional. The unique sid identifier of the Identity Document that represents the document for verifying ownership of the number to be hosted. Required when VerificationType is phone-bill.
^RI[0-9a-fA-F]{32}$
34
34
CallDelay
type: integerThe number of seconds, between 0 and 60, to delay before initiating the verification call. Defaults to 0.
Ownership Verification is a security measure to host the number with Twilio for SMS to ensure the authenticity of the request.
DELETE https://preview.twilio.com/HostedNumbers/HostedNumberOrders/{Sid}
Cancels the Hosted Number Order, and consequently, deletes the corresponding Incoming Phone Number.
You can only issue the DELETE
request when the HostedNumberOrder status is in received
, pending-verification
, verified
or pending-loa
. If the Hosted Number Order is completed
, you can off-board the Twilio platform by issuing a DELETE
request to the corresponding IncomingPhoneNumbers. If the Hosted Number Order is in a failed
state due to either current SMS enablement or idle timeout, a new Hosted Number Order can be created. Please note that the Hosted Number Order will keep failing if SMS enablement is not removed from the number.
Sid
type: SID<HR>A 34 character string that uniquely identifies this HostedNumberOrder.
^HR[0-9a-fA-F]{32}$
34
34