Note:This API endpoint is being deprecated. For more information, seeAnnouncing the removal of Net Promoter Score (NPS).

Every NPS survey is delivered to one or multiple recipients. For most businesses that use Zendesk Support, the recipients are customers. Agents and admins will never receive surveys. If the recipient responds to the survey, they’ll then become a user in your instance of Zendesk Support. If they’re already a user in your Zendesk Support instance, their NPS response will be associated with their user ID. If they’re not an existing user in your Zendesk Support instance, a unique user ID will be created on their behalf to capture their response. Visit theIncremental Exportdocumentation for information on how to export all recipients across surveys.

JSON format

Recipients are represented as JSON objects with the following properties:

Name Type Read-only Mandatory Description
created_at string true false When the recipient was created.
delivered_at string true false When the survey was delivered to the recipient.
email string false true The email of the recipient.
id integer true false Automatically assigned when the recipient is created.
locale string false false The recipient's locale.
name string false true The name of the recipient.
updated_at string true false When recipient was last updated (i.e., by responding to the survey).
user_id integer true false The recipient user ID.

Example

             
{"created_at":"2013-08-29T00:00:00-07:00","delivered_at":"2013-08-29T00:00:30-07:00","email":"[email protected]","id":1,"locale":"en-US","name":"Recipient Name","updated_at":"2013-08-29T00:00:30-07:00","user_id":154506367}

List Recipients

  • GET /api/v2/nps/surveys/{survey_id}/recipients

List recipients for a given survey.

Allowed for

  • Admins

Parameters

Name Type In Required Description
survey_id integer Path true ID of survey.

Code Samples

铜rl
              
铜rlhttps://{subdomain}.zendesk.com/api/v2/nps/surveys/{survey_id}/recipients.json\-v -u{email_address}:{password}
Go
              
import("fmt""io""net/http")funcmain(){url:="https://support.zendesk.com/api/v2/nps/surveys/1234/recipients"method:="GET"req,err:=http.NewRequest(method,url,nil)iferr!=nil{fmt.Println(err)return}req.Header.Add("Content-Type","application/json")req.Header.Add("Authorization",“基本< auth-value >”)// Base64 encoded "username:password"client:=&http.Client{}res,err:=client.Do(req)iferr!=nil{fmt.Println(err)return}deferres.Body.Close()body,err:=io.ReadAll(res.Body)iferr!=nil{fmt.Println(err)return}fmt.Println(string(body))}
Java
              
importcom.squareup.okhttp.*;OkHttpClientclient=newOkHttpClient();HttpUrl.BuilderurlBuilder=HttpUrl.parse("https://support.zendesk.com/api/v2/nps/surveys/1234/recipients").newBuilder();Requestrequest=newRequest.Builder().url(urlBuilder.build()).method("GET",null).addHeader("Content-Type","application/json").addHeader("Authorization",Credentials.basic("your-email","your-password")).build();Responseresponse=client.newCall(request).execute();
Nodejs
              
varaxios=require('axios');varconfig={method:'GET',url:'https://support.zendesk.com/api/v2/nps/surveys/1234/recipients',headers:{'Content-Type':'application/json','Authorization':'Basic ',// Base64 encoded "username:password"},};axios(config).then(function(response){console.log(JSON.stringify(response.data));}).catch(function(error){console.log(error);});
Python
              
importrequestsurl="https://support.zendesk.com/api/v2/nps/surveys/1234/recipients"headers={"Content-Type":"application/json",}response=requests.request("GET",url,auth=('',''),headers=headers)print(response.text)
Ruby
              
require"net/http"uri=URI("https://support.zendesk.com/api/v2/nps/surveys/1234/recipients")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:truedo|http|http.request(request)end

Example response(s)

200 OK
              
// Status 200 OK{"recipients":[{"created_at":"2020-07-01T18:00:00Z","delivered_at":"2020-07-01T20:00:00Z","email":"[email protected]","id":1,"locale":"en-US","name":"Recipient One","updated_at":"2020-07-01T18:00:00Z","user_id":null}]}

Create Recipient

  • POST /api/v2/nps/surveys/{survey_id}/recipients

创建一个新的接受调查。

Allowed for

  • Admins

Parameters

Name Type In Required Description
survey_id integer Path true ID of survey.

Example body

             
{"recipient":{"email":"[email protected]","name":"Recipient One"}}

Code Samples

铜rl
              
铜rl\--data'{"recipient": {"email": "[email protected]", "name": "Recipient One"}}'\--header"Content-Type: application/json"\--request POST\-v -u{email_address}:{password}https://{subdomain}.zendesk.com/api/v2/nps/surveys/{survey_id}/recipients.json
Go
              
import("fmt""io""net/http""strings")funcmain(){url:="https://support.zendesk.com/api/v2/nps/surveys/1234/recipients"method:="POST"payload:=strings.NewReader(`{"recipient": {"email": "[email protected]","name": "Recipient One"}}`)req,err:=http.NewRequest(method,url,payload)iferr!=nil{fmt.Println(err)return}req.Header.Add("Content-Type","application/json")req.Header.Add("Authorization",“基本< auth-value >”)// Base64 encoded "username:password"client:=&http.Client{}res,err:=client.Do(req)iferr!=nil{fmt.Println(err)return}deferres.Body.Close()body,err:=io.ReadAll(res.Body)iferr!=nil{fmt.Println(err)return}fmt.Println(string(body))}
Java
              
importcom.squareup.okhttp.*;OkHttpClientclient=newOkHttpClient();HttpUrl.BuilderurlBuilder=HttpUrl.parse("https://support.zendesk.com/api/v2/nps/surveys/1234/recipients").newBuilder();RequestBodybody=RequestBody.create(MediaType.parse("application/json"),"""{\"recipient\":{\"email\":\"[email protected].org\",\"name\":\"RecipientOne\"}}""");Requestrequest=newRequest.Builder().url(urlBuilder.build()).method("POST",body).addHeader("Content-Type","application/json").addHeader("Authorization",Credentials.basic("your-email","your-password")).build();Responseresponse=client.newCall(request).execute();
Nodejs
              
varaxios=require('axios');vardata=JSON.stringify({"recipient":{"email":"[email protected]","name":"Recipient One"}});varconfig={method:'POST',url:'https://support.zendesk.com/api/v2/nps/surveys/1234/recipients',headers:{'Content-Type':'application/json','Authorization':'Basic ',// Base64 encoded "username:password"},data:data,};axios(config).then(function(response){console.log(JSON.stringify(response.data));}).catch(function(error){console.log(error);});
Python
              
importrequestsimportjsonurl="https://support.zendesk.com/api/v2/nps/surveys/1234/recipients"payload=json.loads("""{"recipient": {"email": "[email protected]","name": "Recipient One"}}""")headers={"Content-Type":"application/json",}response=requests.request("POST",url,auth=('',''),headers=headers,json=payload)print(response.text)
Ruby
              
require"net/http"uri=URI("https://support.zendesk.com/api/v2/nps/surveys/1234/recipients")request=Net::HTTP::Post.new(uri,"Content-Type":"application/json")request.body=%q({"recipient":{"email":"[email protected]","name":"Recipient One"}})request.basic_auth"username","password"response=Net::HTTP.start uri.hostname,uri.port,use_ssl:truedo|http|http.request(request)end

Example response(s)

201 Created
              
// Status 201 Created{"recipient":{"created_at":"2020-07-01T18:00:00Z","delivered_at":"2020-07-01T20:00:00Z","email":"[email protected]","id":1,"locale":"en-US","name":"Recipient One","updated_at":"2020-07-01T18:00:00Z","user_id":null}}

Search Recipients

  • GET /api/v2/nps/surveys/{survey_id}/recipients/search?email={email}

Searches recipients by email address.

Allowed for

  • Admins

Parameters

Name Type In Required Description
email string Query true Email address.
survey_id integer Path true ID of survey.

Code Samples

铜rl
              
铜rlhttps://{subdomain}.zendesk.com/api/v2/nps/surveys/{survey_id}/recipients/search.json?email={email}\-v -u{email_address}:{password}
Go
              
import("fmt""io""net/http")funcmain(){url:="https://support.zendesk.com/api/v2/nps/surveys/1234/recipients/search?email=user%40domain.org"method:="GET"req,err:=http.NewRequest(method,url,nil)iferr!=nil{fmt.Println(err)return}req.Header.Add("Content-Type","application/json")req.Header.Add("Authorization",“基本< auth-value >”)// Base64 encoded "username:password"client:=&http.Client{}res,err:=client.Do(req)iferr!=nil{fmt.Println(err)return}deferres.Body.Close()body,err:=io.ReadAll(res.Body)iferr!=nil{fmt.Println(err)return}fmt.Println(string(body))}
Java
              
importcom.squareup.okhttp.*;OkHttpClientclient=newOkHttpClient();HttpUrl.BuilderurlBuilder=HttpUrl.parse("https://support.zendesk.com/api/v2/nps/surveys/1234/recipients/search").newBuilder().addQueryParameter("email","[email protected]");Requestrequest=newRequest.Builder().url(urlBuilder.build()).method("GET",null).addHeader("Content-Type","application/json").addHeader("Authorization",Credentials.basic("your-email","your-password")).build();Responseresponse=client.newCall(request).execute();
Nodejs
              
varaxios=require('axios');varconfig={method:'GET',url:'https://support.zendesk.com/api/v2/nps/surveys/1234/recipients/search',headers:{'Content-Type':'application/json','Authorization':'Basic ',// Base64 encoded "username:password"},params:{'email':'user%40domain.org',},};axios(config).then(function(response){console.log(JSON.stringify(response.data));}).catch(function(error){console.log(error);});
Python
              
importrequestsurl="https://support.zendesk.com/api/v2/nps/surveys/1234/recipients/search?email=user%40domain.org"headers={"Content-Type":"application/json",}response=requests.request("GET",url,auth=('',''),headers=headers)print(response.text)
Ruby
              
require"net/http"uri=URI("https://support.zendesk.com/api/v2/nps/surveys/1234/recipients/search")uri.query=URI.encode_www_form("email":"[email protected]")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:truedo|http|http.request(request)end

Example response(s)

200 OK
              
// Status 200 OK{"recipients":[{"created_at":"2020-07-01T18:00:00Z","delivered_at":"2020-07-01T20:00:00Z","email":"[email protected]","id":1,"locale":"en-US","name":"Recipient One","updated_at":"2020-07-01T18:00:00Z","user_id":null}]}

Show Recipient

  • GET /api/v2/nps/surveys/{survey_id}/recipients/{recipient_id}

Shows an existing recipient for a survey.

Allowed for

  • Admins

Parameters

Name Type In Required Description
recipient_id integer Path true ID of survey recipient.
survey_id integer Path true ID of survey.

Code Samples

铜rl
              
铜rlhttps://{subdomain}.zendesk.com/api/v2/nps/surveys/{survey_id}/recipients/{recipient_id}.json\-v -u{email_address}:{password}
Go
              
import("fmt""io""net/http")funcmain(){url:="https://support.zendesk.com/api/v2/nps/surveys/1234/recipients/2468"method:="GET"req,err:=http.NewRequest(method,url,nil)iferr!=nil{fmt.Println(err)return}req.Header.Add("Content-Type","application/json")req.Header.Add("Authorization",“基本< auth-value >”)// Base64 encoded "username:password"client:=&http.Client{}res,err:=client.Do(req)iferr!=nil{fmt.Println(err)return}deferres.Body.Close()body,err:=io.ReadAll(res.Body)iferr!=nil{fmt.Println(err)return}fmt.Println(string(body))}
Java
              
importcom.squareup.okhttp.*;OkHttpClientclient=newOkHttpClient();HttpUrl.BuilderurlBuilder=HttpUrl.parse("https://support.zendesk.com/api/v2/nps/surveys/1234/recipients/2468").newBuilder();Requestrequest=newRequest.Builder().url(urlBuilder.build()).method("GET",null).addHeader("Content-Type","application/json").addHeader("Authorization",Credentials.basic("your-email","your-password")).build();Responseresponse=client.newCall(request).execute();
Nodejs
              
varaxios=require('axios');varconfig={method:'GET',url:'https://support.zendesk.com/api/v2/nps/surveys/1234/recipients/2468',headers:{'Content-Type':'application/json','Authorization':'Basic ',// Base64 encoded "username:password"},};axios(config).then(function(response){console.log(JSON.stringify(response.data));}).catch(function(error){console.log(error);});
Python
              
importrequestsurl="https://support.zendesk.com/api/v2/nps/surveys/1234/recipients/2468"headers={"Content-Type":"application/json",}response=requests.request("GET",url,auth=('',''),headers=headers)print(response.text)
Ruby
              
require"net/http"uri=URI("https://support.zendesk.com/api/v2/nps/surveys/1234/recipients/2468")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:truedo|http|http.request(request)end

Example response(s)

200 OK
              
// Status 200 OK{"recipient":{"created_at":"2020-07-01T18:00:00Z","delivered_at":"2020-07-01T20:00:00Z","email":"[email protected]","id":1,"locale":"en-US","name":"Recipient One","updated_at":"2020-07-01T18:00:00Z","user_id":null}}

Update Recipient

  • PUT /api/v2/nps/surveys/{survey_id}/recipients/{recipient_id}

Updates an existing recipient for a survey.

Allowed for

  • Admins

Parameters

Name Type In Required Description
recipient_id integer Path true ID of survey recipient.
survey_id integer Path true ID of survey.

Example body

             
{"recipient":{"email":"[email protected]","name":"Recipient One"}}

Code Samples

铜rl
              
铜rl\--data'{"recipient": {"email": "[email protected]", "name": "Recipient One"}}'\--header"Content-Type: application/json"\--request PUT\-v -u{email_address}:{password}\https://{subdomain}.zendesk.com/api/v2/nps/surveys/{survey_id}/recipients/{recipient_id}.json
Go
              
import("fmt""io""net/http""strings")funcmain(){url:="https://support.zendesk.com/api/v2/nps/surveys/1234/recipients/2468"method:="PUT"payload:=strings.NewReader(`{"recipient": {"email": "[email protected]","name": "Recipient One"}}`)req,err:=http.NewRequest(method,url,payload)iferr!=nil{fmt.Println(err)return}req.Header.Add("Content-Type","application/json")req.Header.Add("Authorization",“基本< auth-value >”)// Base64 encoded "username:password"client:=&http.Client{}res,err:=client.Do(req)iferr!=nil{fmt.Println(err)return}deferres.Body.Close()body,err:=io.ReadAll(res.Body)iferr!=nil{fmt.Println(err)return}fmt.Println(string(body))}
Java
              
importcom.squareup.okhttp.*;OkHttpClientclient=newOkHttpClient();HttpUrl.BuilderurlBuilder=HttpUrl.parse("https://support.zendesk.com/api/v2/nps/surveys/1234/recipients/2468").newBuilder();RequestBodybody=RequestBody.create(MediaType.parse("application/json"),"""{\"recipient\":{\"email\":\"[email protected].org\",\"name\":\"RecipientOne\"}}""");Requestrequest=newRequest.Builder().url(urlBuilder.build()).method("PUT",body).addHeader("Content-Type","application/json").addHeader("Authorization",Credentials.basic("your-email","your-password")).build();Responseresponse=client.newCall(request).execute();
Nodejs
              
varaxios=require('axios');vardata=JSON.stringify({"recipient":{"email":"[email protected]","name":"Recipient One"}});varconfig={method:'PUT',url:'https://support.zendesk.com/api/v2/nps/surveys/1234/recipients/2468',headers:{'Content-Type':'application/json','Authorization':'Basic ',// Base64 encoded "username:password"},data:data,};axios(config).then(function(response){console.log(JSON.stringify(response.data));}).catch(function(error){console.log(error);});
Python
              
importrequestsimportjsonurl="https://support.zendesk.com/api/v2/nps/surveys/1234/recipients/2468"payload=json.loads("""{"recipient": {"email": "[email protected]","name": "Recipient One"}}""")headers={"Content-Type":"application/json",}response=requests.request("PUT",url,auth=('',''),headers=headers,json=payload)print(response.text)
Ruby
              
require"net/http"uri=URI("https://support.zendesk.com/api/v2/nps/surveys/1234/recipients/2468")request=Net::HTTP::Put.new(uri,"Content-Type":"application/json")request.body=%q({"recipient":{"email":"[email protected]","name":"Recipient One"}})request.basic_auth"username","password"response=Net::HTTP.start uri.hostname,uri.port,use_ssl:truedo|http|http.request(request)end

Example response(s)

200 OK
              
// Status 200 OK{"recipient":{"created_at":"2020-07-01T18:00:00Z","delivered_at":"2020-07-01T20:00:00Z","email":"[email protected]","id":1,"locale":"en-US","name":"Recipient One","updated_at":"2020-07-01T18:00:00Z","user_id":null}}