Phone numbers
Salvy and BYON WhatsApp number lifecycle.
Available regions
GET/v1/phone-numbers/available-regions
Response
| Field | Type | Notes |
|---|---|---|
objectrequired | "list" | |
datarequired | object[] |
Provision (Salvy)
POST/v1/phone-numbers/provision
Request body
| Field | Type | Notes |
|---|---|---|
dddrequired | string | pattern: ^\d{2}$ |
display_name | string | len 1..255 |
Response
| Field | Type | Notes |
|---|---|---|
idrequired | string | |
objectrequired | "phone_number" | |
sourcerequired | "salvy" | "byon" | |
statusrequired | "requested" | "provisioning" | "provisioned" | "verifying" | "active" | "failed" | "release_requested" | "released" | "disconnected" | |
environmentrequired | "sandbox" | "production" | |
display_namerequired | string | null | |
dddrequired | string | null | |
phonerequired | string | null | |
provider_number_idrequired | string | null | |
meta_phone_number_idrequired | string | null | |
waba_idrequired | string | null | |
quality_ratingrequired | "green" | "yellow" | "red" | "unknown" | |
messaging_tierrequired | "tier_50" | "tier_250" | "tier_1k" | "tier_10k" | "tier_100k" | "unlimited" | "unknown" | |
messaging_limit_tierrequired | string | null | |
meta_throughput_tierrequired | "1" | "2" | "3" | "4" | "unlimited" | null | |
meta_quality_ratingrequired | string | null | |
current_24h_unique_recipientsrequired | integer | range 0..9007199254740991 |
verification_coderequired | string | null | |
verification_code_received_atrequired | string<ISO-8601> | null | |
monthly_fee_brlrequired | string | null | |
error_coderequired | string | null | |
error_messagerequired | string | null | |
created_atrequired | string<ISO-8601> | pattern: ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z|([+-](?:[01]\d|2[0-3]):[0-5]\d)))$ |
updated_atrequired | string<ISO-8601> | pattern: ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z|([+-](?:[01]\d|2[0-3]):[0-5]\d)))$ |
activated_atrequired | string<ISO-8601> | null | |
released_atrequired | string<ISO-8601> | null | |
recent_messagesrequired | object[] |
Connect (BYON)
POST/v1/phone-numbers/connect
Request body
| Field | Type | Notes |
|---|---|---|
phonerequired | string | pattern: ^\+\d{8,15}$ |
meta_phone_number_idrequired | string | len 1..∞ |
display_name | string | len 1..255 |
Response
| Field | Type | Notes |
|---|---|---|
idrequired | string | |
objectrequired | "phone_number" | |
sourcerequired | "salvy" | "byon" | |
statusrequired | "requested" | "provisioning" | "provisioned" | "verifying" | "active" | "failed" | "release_requested" | "released" | "disconnected" | |
environmentrequired | "sandbox" | "production" | |
display_namerequired | string | null | |
dddrequired | string | null | |
phonerequired | string | null | |
provider_number_idrequired | string | null | |
meta_phone_number_idrequired | string | null | |
waba_idrequired | string | null | |
quality_ratingrequired | "green" | "yellow" | "red" | "unknown" | |
messaging_tierrequired | "tier_50" | "tier_250" | "tier_1k" | "tier_10k" | "tier_100k" | "unlimited" | "unknown" | |
messaging_limit_tierrequired | string | null | |
meta_throughput_tierrequired | "1" | "2" | "3" | "4" | "unlimited" | null | |
meta_quality_ratingrequired | string | null | |
current_24h_unique_recipientsrequired | integer | range 0..9007199254740991 |
verification_coderequired | string | null | |
verification_code_received_atrequired | string<ISO-8601> | null | |
monthly_fee_brlrequired | string | null | |
error_coderequired | string | null | |
error_messagerequired | string | null | |
created_atrequired | string<ISO-8601> | pattern: ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z|([+-](?:[01]\d|2[0-3]):[0-5]\d)))$ |
updated_atrequired | string<ISO-8601> | pattern: ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z|([+-](?:[01]\d|2[0-3]):[0-5]\d)))$ |
activated_atrequired | string<ISO-8601> | null | |
released_atrequired | string<ISO-8601> | null | |
recent_messagesrequired | object[] |
List
GET/v1/phone-numbers
Response
| Field | Type | Notes |
|---|---|---|
objectrequired | "list" | |
datarequired | object[] | |
has_morerequired | boolean | |
next_cursorrequired | string | null |
Retrieve
GET/v1/phone-numbers/{'{id}'}
Response
| Field | Type | Notes |
|---|---|---|
idrequired | string | |
objectrequired | "phone_number" | |
sourcerequired | "salvy" | "byon" | |
statusrequired | "requested" | "provisioning" | "provisioned" | "verifying" | "active" | "failed" | "release_requested" | "released" | "disconnected" | |
environmentrequired | "sandbox" | "production" | |
display_namerequired | string | null | |
dddrequired | string | null | |
phonerequired | string | null | |
provider_number_idrequired | string | null | |
meta_phone_number_idrequired | string | null | |
waba_idrequired | string | null | |
quality_ratingrequired | "green" | "yellow" | "red" | "unknown" | |
messaging_tierrequired | "tier_50" | "tier_250" | "tier_1k" | "tier_10k" | "tier_100k" | "unlimited" | "unknown" | |
messaging_limit_tierrequired | string | null | |
meta_throughput_tierrequired | "1" | "2" | "3" | "4" | "unlimited" | null | |
meta_quality_ratingrequired | string | null | |
current_24h_unique_recipientsrequired | integer | range 0..9007199254740991 |
verification_coderequired | string | null | |
verification_code_received_atrequired | string<ISO-8601> | null | |
monthly_fee_brlrequired | string | null | |
error_coderequired | string | null | |
error_messagerequired | string | null | |
created_atrequired | string<ISO-8601> | pattern: ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z|([+-](?:[01]\d|2[0-3]):[0-5]\d)))$ |
updated_atrequired | string<ISO-8601> | pattern: ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z|([+-](?:[01]\d|2[0-3]):[0-5]\d)))$ |
activated_atrequired | string<ISO-8601> | null | |
released_atrequired | string<ISO-8601> | null | |
recent_messagesrequired | object[] |