When you purchase a phone number in Talk, some countries have regulations that require you to provide an address to verify your business. For more information, see Zendesk Talk and Zendesk Text number address requirements in Zendesk help
Addresses are represented as JSON objects with the following properties:
Name
Type
Read-only
Mandatory
Description
city
string
false
true
The city of the address
country_code
string
false
true
The ISO code of the country for this address
id
integer
true
false
Automatically assigned upon creation
name
string
false
true
The name of the address
provider_reference
string
false
false
The provider reference of the address
province
string
false
true
The province of the address
state
string
false
false
The state of the address
street
string
false
true
The street of the address
zip
string
false
true
The zip of the address
Example
{
"city" : "San Francisco" ,
"country_code" : "US" ,
"id" : 900000076706 ,
"name" : "Zendesk" ,
"provider_reference" : "AD499983e566f656f862549f965ec10e36" ,
"province" : "California" ,
"state" : null ,
"street" : "1019 Market Street" ,
"zip" : "94103"
}
List Addresses
GET /api/v2/channels/voice/addresses
Allowed For
Code Samples
curl
curl https:// { subdomain } .zendesk.com/api/v2/channels/voice/addresses.json
-v -u { email_address } : { password }
Go
import (
"fmt"
"io"
"net/http"
)
func main ( ) {
url := "https://support.zendesk.com/api/v2/channels/voice/addresses"
method := "GET"
req , err := http . NewRequest ( method , url , nil )
if err != nil {
fmt . Println ( err )
return
}
req . Header . Add ( "Content-Type" , "application/json" )
req . Header . Add ( "Authorization" , "Basic <auth-value>" )
client := & http . Client { }
res , err := client . Do ( req )
if err != nil {
fmt . Println ( err )
return
}
defer res . Body . Close ( )
body , err := io . ReadAll ( res . Body )
if err != nil {
fmt . Println ( err )
return
}
fmt . Println ( string ( body ) )
}
Java
import com . squareup . okhttp . * ;
OkHttpClient client = new OkHttpClient ( ) ;
HttpUrl . Builder urlBuilder = HttpUrl . parse ( "https://support.zendesk.com/api/v2/channels/voice/addresses" )
. newBuilder ( ) ;
Request request = new Request . Builder ( )
. url ( urlBuilder . build ( ) )
. method ( "GET" , null )
. addHeader ( "Content-Type" , "application/json" )
. addHeader ( "Authorization" , Credentials . basic ( "your-email" , "your-password" ) )
. build ( ) ;
Response response = client . newCall ( request ) . execute ( ) ;
Nodejs
var axios = require ( 'axios' ) ;
var config = {
method : 'GET' ,
url : 'https://support.zendesk.com/api/v2/channels/voice/addresses' ,
headers : {
'Content-Type' : 'application/json' ,
'Authorization' : 'Basic <auth-value>' ,
} ,
} ;
axios ( config )
. then ( function ( response ) {
console . log ( JSON . stringify ( response . data ) ) ;
} )
. catch ( function ( error ) {
console . log ( error ) ;
} ) ;
Python
import requests
url = "https://support.zendesk.com/api/v2/channels/voice/addresses"
headers = {
"Content-Type" : "application/json" ,
}
response = requests . request (
"GET" ,
url ,
auth = ( '<username>' , '<password>' ) ,
headers = headers
)
print ( response . text )
Ruby
require "net/http"
uri = URI ( "https://support.zendesk.com/api/v2/channels/voice/addresses" )
request = Net : : HTTP : : Get . new ( uri , "Content-Type" : "application/json" )
request . basic_auth "username" , "password"
response = Net : : HTTP . start uri . hostname , uri . port , use_ssl : true do | http |
http . request ( request )
end
Example response(s)
200 OK
{
"addresses" : [
{
"city" : "San Francisco" ,
"country_code" : "US" ,
"id" : 900000076706 ,
"name" : "Zendesk" ,
"provider_reference" : "AD1624d6a83d1c6ade58bb236d0e8348ae" ,
"province" : "California" ,
"state" : null ,
"street" : "1019 Market Street" ,
"zip" : "94103"
}
] ,
"count" : 1 ,
"next_page" : null ,
"previous_page" : null
}
Show Address
GET /api/v2/channels/voice/addresses/{address_id}
Allowed For
Parameters
Name
Type
In
Required
Description
address_id
integer
Path
true
ID of an address
Code Samples
curl
curl https:// { subdomain } .zendesk.com/api/v2/channels/voice/addresses/ { address_id } .json \
-v -u { email_address } : { password }
Go
import (
"fmt"
"io"
"net/http"
)
func main ( ) {
url := "https://support.zendesk.com/api/v2/channels/voice/addresses/360000250391"
method := "GET"
req , err := http . NewRequest ( method , url , nil )
if err != nil {
fmt . Println ( err )
return
}
req . Header . Add ( "Content-Type" , "application/json" )
req . Header . Add ( "Authorization" , "Basic <auth-value>" )
client := & http . Client { }
res , err := client . Do ( req )
if err != nil {
fmt . Println ( err )
return
}
defer res . Body . Close ( )
body , err := io . ReadAll ( res . Body )
if err != nil {
fmt . Println ( err )
return
}
fmt . Println ( string ( body ) )
}
Java
import com . squareup . okhttp . * ;
OkHttpClient client = new OkHttpClient ( ) ;
HttpUrl . Builder urlBuilder = HttpUrl . parse ( "https://support.zendesk.com/api/v2/channels/voice/addresses/360000250391" )
. newBuilder ( ) ;
Request request = new Request . Builder ( )
. url ( urlBuilder . build ( ) )
. method ( "GET" , null )
. addHeader ( "Content-Type" , "application/json" )
. addHeader ( "Authorization" , Credentials . basic ( "your-email" , "your-password" ) )
. build ( ) ;
Response response = client . newCall ( request ) . execute ( ) ;
Nodejs
var axios = require ( 'axios' ) ;
var config = {
method : 'GET' ,
url : 'https://support.zendesk.com/api/v2/channels/voice/addresses/360000250391' ,
headers : {
'Content-Type' : 'application/json' ,
'Authorization' : 'Basic <auth-value>' ,
} ,
} ;
axios ( config )
. then ( function ( response ) {
console . log ( JSON . stringify ( response . data ) ) ;
} )
. catch ( function ( error ) {
console . log ( error ) ;
} ) ;
Python
import requests
url = "https://support.zendesk.com/api/v2/channels/voice/addresses/360000250391"
headers = {
"Content-Type" : "application/json" ,
}
response = requests . request (
"GET" ,
url ,
auth = ( '<username>' , '<password>' ) ,
headers = headers
)
print ( response . text )
Ruby
require "net/http"
uri = URI ( "https://support.zendesk.com/api/v2/channels/voice/addresses/360000250391" )
request = Net : : HTTP : : Get . new ( uri , "Content-Type" : "application/json" )
request . basic_auth "username" , "password"
response = Net : : HTTP . start uri . hostname , uri . port , use_ssl : true do | http |
http . request ( request )
end
Example response(s)
200 OK
{
"address" : {
"city" : "San Francisco" ,
"country_code" : "US" ,
"id" : 900000076706 ,
"name" : "Zendesk" ,
"provider_reference" : "AD1624d6a83d1c6ade58bb236d0e8248ae" ,
"province" : "California" ,
"state" : null ,
"street" : "1019 Market Street" ,
"zip" : "94103"
}
}
Create Address
POST /api/v2/channels/voice/addresses
Allowed For
Example body
{
"address" : {
"city" : "San Francisco" ,
"country_code" : "US" ,
"name" : "Zendesk" ,
"province" : "California" ,
"street" : "1019 Market Street" ,
"zip" : "94103"
}
}
Code Samples
curl
curl https:// { subdomain } .zendesk.com/api/v2/channels/voice/addresses.json \
-d '{"address":{"name":"Zendesk","street":"1019 Market Street","zip":"94103","city":"San Francisco","province":"California","country_code":"US"}}' \
-H "Content-Type: application/json" -X POST \
-v -u { email_address } : { password }
Go
import (
"fmt"
"io"
"net/http"
"strings"
)
func main ( ) {
url := "https://support.zendesk.com/api/v2/channels/voice/addresses"
method := "POST"
payload := strings . NewReader ( `{
"address": {
"city": "San Francisco",
"country_code": "US",
"name": "Zendesk",
"province": "California",
"street": "1019 Market Street",
"zip": "94103"
}
}` )
req , err := http . NewRequest ( method , url , payload )
if err != nil {
fmt . Println ( err )
return
}
req . Header . Add ( "Content-Type" , "application/json" )
req . Header . Add ( "Authorization" , "Basic <auth-value>" )
client := & http . Client { }
res , err := client . Do ( req )
if err != nil {
fmt . Println ( err )
return
}
defer res . Body . Close ( )
body , err := io . ReadAll ( res . Body )
if err != nil {
fmt . Println ( err )
return
}
fmt . Println ( string ( body ) )
}
Java
import com . squareup . okhttp . * ;
OkHttpClient client = new OkHttpClient ( ) ;
HttpUrl . Builder urlBuilder = HttpUrl . parse ( "https://support.zendesk.com/api/v2/channels/voice/addresses" )
. newBuilder ( ) ;
RequestBody body = RequestBody . create ( MediaType . parse ( "application/json" ) ,
"" "
{
\"address\" : {
\"city\" : \" San Francisco \" ,
\"country_code\" : \" US \" ,
\"name\" : \" Zendesk \" ,
\"province\" : \" California \" ,
\"street\" : \" 1019 Market Street \" ,
\"zip\" : \" 94103 \"
}
} "" " ) ;
Request request = new Request . Builder ( )
. url ( urlBuilder . build ( ) )
. method ( "POST" , body )
. addHeader ( "Content-Type" , "application/json" )
. addHeader ( "Authorization" , Credentials . basic ( "your-email" , "your-password" ) )
. build ( ) ;
Response response = client . newCall ( request ) . execute ( ) ;
Nodejs
var axios = require ( 'axios' ) ;
var data = JSON . stringify ( {
"address" : {
"city" : "San Francisco" ,
"country_code" : "US" ,
"name" : "Zendesk" ,
"province" : "California" ,
"street" : "1019 Market Street" ,
"zip" : "94103"
}
} ) ;
var config = {
method : 'POST' ,
url : 'https://support.zendesk.com/api/v2/channels/voice/addresses' ,
headers : {
'Content-Type' : 'application/json' ,
'Authorization' : 'Basic <auth-value>' ,
} ,
data : data ,
} ;
axios ( config )
. then ( function ( response ) {
console . log ( JSON . stringify ( response . data ) ) ;
} )
. catch ( function ( error ) {
console . log ( error ) ;
} ) ;
Python
import requests
import json
url = "https://support.zendesk.com/api/v2/channels/voice/addresses"
payload = json . loads ( """{
"address": {
"city": "San Francisco",
"country_code": "US",
"name": "Zendesk",
"province": "California",
"street": "1019 Market Street",
"zip": "94103"
}
}""" )
headers = {
"Content-Type" : "application/json" ,
}
response = requests . request (
"POST" ,
url ,
auth = ( '<username>' , '<password>' ) ,
headers = headers ,
json = payload
)
print ( response . text )
Ruby
require "net/http"
uri = URI ( "https://support.zendesk.com/api/v2/channels/voice/addresses" )
request = Net : : HTTP : : Post . new ( uri , "Content-Type" : "application/json" )
request . body = % q ( {
"address" : {
"city" : "San Francisco" ,
"country_code" : "US" ,
"name" : "Zendesk" ,
"province" : "California" ,
"street" : "1019 Market Street" ,
"zip" : "94103"
}
} )
request . basic_auth "username" , "password"
response = Net : : HTTP . start uri . hostname , uri . port , use_ssl : true do | http |
http . request ( request )
end
Example response(s)
201 Created
{
"address" : {
"city" : "San Francisco" ,
"country_code" : "US" ,
"id" : 900000076706 ,
"name" : "Zendesk" ,
"provider_reference" : "AD1624d6a83d1c6ade58bb236d0e8248ae" ,
"province" : "California" ,
"state" : null ,
"street" : "1019 Market Street" ,
"zip" : "94103"
}
}
Update Address
PUT /api/v2/channels/voice/addresses/{address_id}
Allowed For
Parameters
Name
Type
In
Required
Description
address_id
integer
Path
true
ID of an address
Example body
{
"address" : {
"name" : "New address name"
}
}
Code Samples
curl
curl https:// { subdomain } .zendesk.com/api/v2/channels/voice/addresses/ { address_id } .json \
-v -u { email_address } : { password }
Go
import (
"fmt"
"io"
"net/http"
"strings"
)
func main ( ) {
url := "https://support.zendesk.com/api/v2/channels/voice/addresses/360000250391"
method := "PUT"
payload := strings . NewReader ( `{
"address": {
"name": "New address name"
}
}` )
req , err := http . NewRequest ( method , url , payload )
if err != nil {
fmt . Println ( err )
return
}
req . Header . Add ( "Content-Type" , "application/json" )
req . Header . Add ( "Authorization" , "Basic <auth-value>" )
client := & http . Client { }
res , err := client . Do ( req )
if err != nil {
fmt . Println ( err )
return
}
defer res . Body . Close ( )
body , err := io . ReadAll ( res . Body )
if err != nil {
fmt . Println ( err )
return
}
fmt . Println ( string ( body ) )
}
Java
import com . squareup . okhttp . * ;
OkHttpClient client = new OkHttpClient ( ) ;
HttpUrl . Builder urlBuilder = HttpUrl . parse ( "https://support.zendesk.com/api/v2/channels/voice/addresses/360000250391" )
. newBuilder ( ) ;
RequestBody body = RequestBody . create ( MediaType . parse ( "application/json" ) ,
"" "
{
\"address\" : {
\"name\" : \" New address name\"
}
} "" " ) ;
Request request = new Request . Builder ( )
. url ( urlBuilder . build ( ) )
. method ( "PUT" , body )
. addHeader ( "Content-Type" , "application/json" )
. addHeader ( "Authorization" , Credentials . basic ( "your-email" , "your-password" ) )
. build ( ) ;
Response response = client . newCall ( request ) . execute ( ) ;
Nodejs
var axios = require ( 'axios' ) ;
var data = JSON . stringify ( {
"address" : {
"name" : "New address name"
}
} ) ;
var config = {
method : 'PUT' ,
url : 'https://support.zendesk.com/api/v2/channels/voice/addresses/360000250391' ,
headers : {
'Content-Type' : 'application/json' ,
'Authorization' : 'Basic <auth-value>' ,
} ,
data : data ,
} ;
axios ( config )
. then ( function ( response ) {
console . log ( JSON . stringify ( response . data ) ) ;
} )
. catch ( function ( error ) {
console . log ( error ) ;
} ) ;
Python
import requests
import json
url = "https://support.zendesk.com/api/v2/channels/voice/addresses/360000250391"
payload = json . loads ( """{
"address": {
"name": "New address name"
}
}""" )
headers = {
"Content-Type" : "application/json" ,
}
response = requests . request (
"PUT" ,
url ,
auth = ( '<username>' , '<password>' ) ,
headers = headers ,
json = payload
)
print ( response . text )
Ruby
require "net/http"
uri = URI ( "https://support.zendesk.com/api/v2/channels/voice/addresses/360000250391" )
request = Net : : HTTP : : Put . new ( uri , "Content-Type" : "application/json" )
request . body = % q ( {
"address" : {
"name" : "New address name"
}
} )
request . basic_auth "username" , "password"
response = Net : : HTTP . start uri . hostname , uri . port , use_ssl : true do | http |
http . request ( request )
end
Example response(s)
200 OK
{
"address" : {
"city" : "San Francisco" ,
"country_code" : "US" ,
"id" : 900000076706 ,
"name" : "Zendesk" ,
"provider_reference" : "AD1624d6a83d1c6ade58bb236d0e8248ae" ,
"province" : "California" ,
"state" : null ,
"street" : "1019 Market Street" ,
"zip" : "94103"
}
}
Delete Address
DELETE /api/v2/channels/voice/addresses/{address_id}
Allowed For
Parameters
Name
Type
In
Required
Description
address_id
integer
Path
true
ID of an address
Code Samples
curl
curl https:// { subdomain } .zendesk.com/api/v2/channels/voice/addresses/ { address_id } .json \
-X DELETE -v -u { email_address } : { password }
Go
import (
"fmt"
"io"
"net/http"
)
func main ( ) {
url := "https://support.zendesk.com/api/v2/channels/voice/addresses/360000250391"
method := "DELETE"
req , err := http . NewRequest ( method , url , nil )
if err != nil {
fmt . Println ( err )
return
}
req . Header . Add ( "Content-Type" , "application/json" )
req . Header . Add ( "Authorization" , "Basic <auth-value>" )
client := & http . Client { }
res , err := client . Do ( req )
if err != nil {
fmt . Println ( err )
return
}
defer res . Body . Close ( )
body , err := io . ReadAll ( res . Body )
if err != nil {
fmt . Println ( err )
return
}
fmt . Println ( string ( body ) )
}
Java
import com . squareup . okhttp . * ;
OkHttpClient client = new OkHttpClient ( ) ;
HttpUrl . Builder urlBuilder = HttpUrl . parse ( "https://support.zendesk.com/api/v2/channels/voice/addresses/360000250391" )
. newBuilder ( ) ;
Request request = new Request . Builder ( )
. url ( urlBuilder . build ( ) )
. method ( "DELETE" , null )
. addHeader ( "Content-Type" , "application/json" )
. addHeader ( "Authorization" , Credentials . basic ( "your-email" , "your-password" ) )
. build ( ) ;
Response response = client . newCall ( request ) . execute ( ) ;
Nodejs
var axios = require ( 'axios' ) ;
var config = {
method : 'DELETE' ,
url : 'https://support.zendesk.com/api/v2/channels/voice/addresses/360000250391' ,
headers : {
'Content-Type' : 'application/json' ,
'Authorization' : 'Basic <auth-value>' ,
} ,
} ;
axios ( config )
. then ( function ( response ) {
console . log ( JSON . stringify ( response . data ) ) ;
} )
. catch ( function ( error ) {
console . log ( error ) ;
} ) ;
Python
import requests
url = "https://support.zendesk.com/api/v2/channels/voice/addresses/360000250391"
headers = {
"Content-Type" : "application/json" ,
}
response = requests . request (
"DELETE" ,
url ,
auth = ( '<username>' , '<password>' ) ,
headers = headers
)
print ( response . text )
Ruby
require "net/http"
uri = URI ( "https://support.zendesk.com/api/v2/channels/voice/addresses/360000250391" )
request = Net : : HTTP : : Delete . new ( uri , "Content-Type" : "application/json" )
request . basic_auth "username" , "password"
response = Net : : HTTP . start uri . hostname , uri . port , use_ssl : true do | http |
http . request ( request )
end
Example response(s)
200 OK