GEThttps://core-api.heysadie.ai/phone-numbers/available
country locality areaCode success data phoneNumbers phoneNumber region postalCode isoCountry total metadata timestamp version path error code message details fieldList available numbers
Returns a list of phone numbers available for purchase. These numbers come directly from our external phone number provider and are not yet assigned to your account. You can filter the results by: - `country` (required): Country code such as US, AU, NZ, CA, GB, CH. Note: IT (Italy) may not be available for searches yet. - `locality` (optional): City or region name like Melbourne, Sydney, Perth, etc. - `areaCode` (optional): Area code that the phone number should start with (e.g., '438' for numbers starting with +1 438..). Use this endpoint when you want to show your users a list of numbers they can choose to register for their assistant. ⚠️ This does not return numbers you already own: use `GET /phone-numbers` for that.
Try it in the API ExplorerExample request
curl "https://core-api.heysadie.ai/phone-numbers/available?country=string" \
-H "Authorization: ApiKey YOUR_API_KEY"Authentication
Authenticate with an API key in the Authorization header using the ApiKey scheme. See Authentication for how keys work and where to get them.
AuthorizationstringrequiredAPI key in the ApiKey scheme: ApiKey YOUR_API_KEY. Tenant keys authorize their own tenant; organization keys can act on any tenant in the organization.
X-Tenant-Idstring (uuid)optionalRequired when authenticating with an organization key: it selects the tenant the request acts on. Omit with tenant keys.
Request
Query parameters
countrystringrequiredCountry code (e.g., US, AU, NZ, CA, GB, CH). Note: IT may not be available yet.
localitystringoptionalOptional locality name (e.g., Melbourne, Perth)
areaCodestringoptionalOptional area code that the phone number should start with (e.g., '438' for numbers starting with +1 438..)
Responses
successbooleanrequiredtrue on every 2xx
dataobjectoptionalThe result
Show 2 child properties
phoneNumbersobject[]requiredAvailable phone numbers for purchase
Show 5 item properties
phoneNumberstring | nullrequiredlocalitystring | nullrequiredregionstring | nullrequiredpostalCodestring | nullrequiredisoCountrystring | nullrequiredtotalnumberrequiredTotal number of available phone numbers returned
metadataobjectoptionalRequest metadata
Show 3 child properties
timestampstringrequiredWhen the server answered, ISO 8601 UTC
versionstringrequiredAPI version
pathstringoptionalThe URL that was requested
400The request is invalid. `details` lists each field that failed
successbooleanrequiredfalse on every error
errorobjectoptionalWhat went wrong: a stable `code` to branch on and a human-readable `message`
Show 3 child properties
codeenumrequiredA parameter or body field broke a rule
"VALIDATION_ERROR"messagestringrequiredHuman-readable explanation. Do not parse it; branch on `code`
detailsobject[]optionalOne entry per field that failed
Show 2 item properties
fieldstringrequiredThe offending field
messagestringrequiredThe rule it broke
metadataobjectoptionalRequest metadata
Show 3 child properties
timestampstringrequiredWhen the server answered, ISO 8601 UTC
versionstringrequiredAPI version
pathstringoptionalThe URL that was requested
401Missing or invalid credentials
successbooleanrequiredfalse on every error
errorobjectoptionalWhat went wrong: a stable `code` to branch on and a human-readable `message`
Show 2 child properties
codeenumrequiredNo valid credentials
"UNAUTHORIZED"messagestringrequiredHuman-readable explanation. Do not parse it; branch on `code`
metadataobjectoptionalRequest metadata
Show 3 child properties
timestampstringrequiredWhen the server answered, ISO 8601 UTC
versionstringrequiredAPI version
pathstringoptionalThe URL that was requested
403The credentials are valid but may not use this route
successbooleanrequiredfalse on every error
errorobjectoptionalWhat went wrong: a stable `code` to branch on and a human-readable `message`
Show 2 child properties
codeenumrequiredThe credentials may not use this route
"FORBIDDEN"messagestringrequiredHuman-readable explanation. Do not parse it; branch on `code`
metadataobjectoptionalRequest metadata
Show 3 child properties
timestampstringrequiredWhen the server answered, ISO 8601 UTC
versionstringrequiredAPI version
pathstringoptionalThe URL that was requested
404Not found, or outside the caller's scope
successbooleanrequiredfalse on every error
errorobjectoptionalWhat went wrong: a stable `code` to branch on and a human-readable `message`
Show 2 child properties
codeenumrequiredAn id names nothing the caller can see
"RESOURCE_NOT_FOUND"messagestringrequiredHuman-readable explanation. Do not parse it; branch on `code`
metadataobjectoptionalRequest metadata
Show 3 child properties
timestampstringrequiredWhen the server answered, ISO 8601 UTC
versionstringrequiredAPI version
pathstringoptionalThe URL that was requested
500An unexpected server error
successbooleanrequiredfalse on every error
errorobjectoptionalWhat went wrong: a stable `code` to branch on and a human-readable `message`
Show 2 child properties
codeenumrequiredAn unexpected server failure
"INTERNAL_SERVER_ERROR"messagestringrequiredHuman-readable explanation. Do not parse it; branch on `code`
metadataobjectoptionalRequest metadata
Show 3 child properties
timestampstringrequiredWhen the server answered, ISO 8601 UTC
versionstringrequiredAPI version
pathstringoptionalThe URL that was requested