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:
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 } /token: { api_token }
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 ( ) ;
String userCredentials = "your_email_address" + "/token:" + "your_api_token" ;
String basicAuth = "Basic " + java . util . Base64 . getEncoder ( ) . encodeToString ( userCredentials . getBytes ( ) ) ;
Request request = new Request . Builder ( )
. url ( urlBuilder . build ( ) )
. method ( "GET" , null )
. addHeader ( "Content-Type" , "application/json" )
. addHeader ( "Authorization" , basicAuth )
. 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
from requests . auth import HTTPBasicAuth
url = "https://support.zendesk.com/api/v2/channels/voice/addresses"
headers = {
"Content-Type" : "application/json" ,
}
email_address = 'your_email_address'
api_token = 'your_api_token'
auth = HTTPBasicAuth ( f' { email_address } /token' , api_token )
response = requests . request (
"GET" ,
url ,
auth = auth ,
headers = headers
)
print ( response . text )
Ruby
require "net/http"
require "base64"
uri = URI ( "https://support.zendesk.com/api/v2/channels/voice/addresses" )
request = Net : : HTTP : : Get . new ( uri , "Content-Type" : "application/json" )
email = "your_email_address"
api_token = "your_api_token"
credentials = "#{email}/token:#{api_token}"
encoded_credentials = Base64 . strict_encode64 ( credentials )
request [ "Authorization" ] = "Basic #{encoded_credentials}"
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
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 } /token: { api_token }
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 ( ) ;
String userCredentials = "your_email_address" + "/token:" + "your_api_token" ;
String basicAuth = "Basic " + java . util . Base64 . getEncoder ( ) . encodeToString ( userCredentials . getBytes ( ) ) ;
Request request = new Request . Builder ( )
. url ( urlBuilder . build ( ) )
. method ( "GET" , null )
. addHeader ( "Content-Type" , "application/json" )
. addHeader ( "Authorization" , basicAuth )
. 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
from requests . auth import HTTPBasicAuth
url = "https://support.zendesk.com/api/v2/channels/voice/addresses/360000250391"
headers = {
"Content-Type" : "application/json" ,
}
email_address = 'your_email_address'
api_token = 'your_api_token'
auth = HTTPBasicAuth ( f' { email_address } /token' , api_token )
response = requests . request (
"GET" ,
url ,
auth = auth ,
headers = headers
)
print ( response . text )
Ruby
require "net/http"
require "base64"
uri = URI ( "https://support.zendesk.com/api/v2/channels/voice/addresses/360000250391" )
request = Net : : HTTP : : Get . new ( uri , "Content-Type" : "application/json" )
email = "your_email_address"
api_token = "your_api_token"
credentials = "#{email}/token:#{api_token}"
encoded_credentials = Base64 . strict_encode64 ( credentials )
request [ "Authorization" ] = "Basic #{encoded_credentials}"
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 } /token: { api_token }
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 \"
}
} "" " ) ;
String userCredentials = "your_email_address" + "/token:" + "your_api_token" ;
String basicAuth = "Basic " + java . util . Base64 . getEncoder ( ) . encodeToString ( userCredentials . getBytes ( ) ) ;
Request request = new Request . Builder ( )
. url ( urlBuilder . build ( ) )
. method ( "POST" , body )
. addHeader ( "Content-Type" , "application/json" )
. addHeader ( "Authorization" , basicAuth )
. 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
from requests . auth import HTTPBasicAuth
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" ,
}
email_address = 'your_email_address'
api_token = 'your_api_token'
auth = HTTPBasicAuth ( f' { email_address } /token' , api_token )
response = requests . request (
"POST" ,
url ,
auth = auth ,
headers = headers ,
json = payload
)
print ( response . text )
Ruby
require "net/http"
require "base64"
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"
}
} )
email = "your_email_address"
api_token = "your_api_token"
credentials = "#{email}/token:#{api_token}"
encoded_credentials = Base64 . strict_encode64 ( credentials )
request [ "Authorization" ] = "Basic #{encoded_credentials}"
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
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 } /token: { api_token }
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\"
}
} "" " ) ;
String userCredentials = "your_email_address" + "/token:" + "your_api_token" ;
String basicAuth = "Basic " + java . util . Base64 . getEncoder ( ) . encodeToString ( userCredentials . getBytes ( ) ) ;
Request request = new Request . Builder ( )
. url ( urlBuilder . build ( ) )
. method ( "PUT" , body )
. addHeader ( "Content-Type" , "application/json" )
. addHeader ( "Authorization" , basicAuth )
. 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
from requests . auth import HTTPBasicAuth
url = "https://support.zendesk.com/api/v2/channels/voice/addresses/360000250391"
payload = json . loads ( """{
"address": {
"name": "New address name"
}
}""" )
headers = {
"Content-Type" : "application/json" ,
}
email_address = 'your_email_address'
api_token = 'your_api_token'
auth = HTTPBasicAuth ( f' { email_address } /token' , api_token )
response = requests . request (
"PUT" ,
url ,
auth = auth ,
headers = headers ,
json = payload
)
print ( response . text )
Ruby
require "net/http"
require "base64"
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"
}
} )
email = "your_email_address"
api_token = "your_api_token"
credentials = "#{email}/token:#{api_token}"
encoded_credentials = Base64 . strict_encode64 ( credentials )
request [ "Authorization" ] = "Basic #{encoded_credentials}"
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
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 } /token: { api_token }
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 ( ) ;
String userCredentials = "your_email_address" + "/token:" + "your_api_token" ;
String basicAuth = "Basic " + java . util . Base64 . getEncoder ( ) . encodeToString ( userCredentials . getBytes ( ) ) ;
Request request = new Request . Builder ( )
. url ( urlBuilder . build ( ) )
. method ( "DELETE" , null )
. addHeader ( "Content-Type" , "application/json" )
. addHeader ( "Authorization" , basicAuth )
. 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
from requests . auth import HTTPBasicAuth
url = "https://support.zendesk.com/api/v2/channels/voice/addresses/360000250391"
headers = {
"Content-Type" : "application/json" ,
}
email_address = 'your_email_address'
api_token = 'your_api_token'
auth = HTTPBasicAuth ( f' { email_address } /token' , api_token )
response = requests . request (
"DELETE" ,
url ,
auth = auth ,
headers = headers
)
print ( response . text )
Ruby
require "net/http"
require "base64"
uri = URI ( "https://support.zendesk.com/api/v2/channels/voice/addresses/360000250391" )
request = Net : : HTTP : : Delete . new ( uri , "Content-Type" : "application/json" )
email = "your_email_address"
api_token = "your_api_token"
credentials = "#{email}/token:#{api_token}"
encoded_credentials = Base64 . strict_encode64 ( credentials )
request [ "Authorization" ] = "Basic #{encoded_credentials}"
response = Net : : HTTP . start uri . hostname , uri . port , use_ssl : true do | http |
http . request ( request )
end
Example response(s)
200 OK