Purchase number for location
POST/phone-system/numbers/location/:locationId/purchase
Purchase number for location. With version: v3, the HTTP 201 body is the standard success envelope (status, data, message, statusCode). The v3 purchase fields live under data: number, locationId, id, and underLcAccount (renamed from under_ghl_account).
Request
Send v3 to use the v3 response contract (AIP). This is the supported version value for these endpoints.
v3Location ID as string
- application/json
- Body
- Example (auto)
Bodyrequired
phoneNumber to purchase
addressSid twilio address id
bundleSid twilio bundle id
country for which the phone numbers are being requested
type of phone number to be purchased
stripe payment intent id
stripe account id
stripe registered payment method id
locality of the user in which number is being purchased
region of the user in which number is being purchased
fingerprintId is request id which is unique for every purchase number request
Skip location-level KYC verification if agency-level compliance has already been verified
{
"phoneNumber": "830236932",
"addressSid": "ADXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
"bundleSid": "BUXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
"countryCode": "US",
"numberType": "local",
"paymentIntentId": "pi_3Oxxxxxxxxxxxxxxxxxxxx",
"stripeAccountId": "acct_1Oxxxxxxxxxxxxxxxx",
"paymentMethodId": "pm_1Oxxxxxxxxxxxxxxxx",
"locality": "Austin",
"region": "TX",
"fingerprintId": "purchase-req-abc-123",
"skipLocationKYC": false
}
Success envelope; v3 purchase details are in data (slim shape: number, locationId, id, underLcAccount).
- application/json
- Schema
- Example (auto)
Schema
Outcome indicator from the shared success helper.
successV3 purchase payload: purchased number, location, Twilio account id, and underLcAccount.
Human-readable success message.
HTTP status echoed in the response body.
{
"status": "success",
"data": {
"number": "+17745678902",
"locationId": "tDtDnQdgm2LXpyiqYvZ6",
"id": "twilio-account-123",
"underLcAccount": false
},
"message": "Number purchase successful",
"statusCode": 201
}