Stores and manages OAuth clients for an integration. You use an OAuth client to create an OAuth connection. SeeCreating and managing OAuth connections

Authentication

You can authorize requests to OAuth Clients endpoints using aZIS OAuth access token. A Zendesk app can also authorize requests to these endpoints using an admin's browser session. SeeMaking API requests from a Zendesk app.

JSON format

OAuth Clients are represented as JSON objects with the following properties:

Name Type Read-only Mandatory Description
auth_url string false false 授权URLof the OAuth provider
client_id string false 真正的 The client secret obtained from your OAuth provider
client_secret string false 真正的 The client secret obtained from your OAuth Provider
created_by string 真正的 false User who created the connection
default_scopes string false false A set of case-sensitive and space-delimited OAuth scopes
grant_type string false false Default grant type for the client's OAuth flows. Valid values are "authorization_code" and "client_credentials". Defaults to "authorization_code"
integration string false false The name of the integration.
token_url string false 真正的 The token URL of the OAuth provider to exchange for an access token
uuid string 真正的 false The UUID of the OAuth client

Show OAuth Clients

  • GET /api/services/zis/connections/oauth/clients/{integration}

Returns all OAuth clients for a ZIS integration.

Parameters

Name Type In Required Description
integration string Path 真正的 Name of the integration

Code Samples

cURL
              
旋度https://{subdomain}.zendesk.com/api/services/zis/connections/oauth/clients/{integration}\-H"Authorization: Bearer {access_token}"
Go
              
import("fmt""io""net/http")funcmain(){url:="https://support.zendesk.com/api/services/zis/connections/oauth/clients/my_integration"method:="GET"req,err:=http.NewRequest(method,url,nil)iferr!=nil{fmt.Println(err)return}req.Header.Add(“Content-Type","application/json")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/services/zis/connections/oauth/clients/my_integration").newBuilder();Requestrequest=newRequest.Builder().url(urlBuilder.build()).method("GET",null).addHeader(“Content-Type","application/json").build();Responseresponse=client.newCall(request).execute();
Nodejs
              
varaxios=require('axios');varconfig={method:'GET',url:'https://support.zendesk.com/api/services/zis/connections/oauth/clients/my_integration',headers:{'Content-Type':'application/json',},};axios(config).then(function(response){console.log(JSON.stringify(response.data));}).catch(function(error){console.log(error);});
Python
              
importrequestsurl="https://support.zendesk.com/api/services/zis/connections/oauth/clients/my_integration"headers={“Content-Type":"application/json",}response=requests.request("GET",url,headers=headers)print(response.text)
Ruby
              
require"net/http"uri=URI("https://support.zendesk.com/api/services/zis/connections/oauth/clients/my_integration")request=Net::HTTP::Get.new(uri,“Content-Type":"application/json")response=Net::HTTP.start uri.hostname,uri.port,use_ssl:真正的do|http|http.request(request)end

Example response(s)

200 OK
              
// Status 200 OK{"clients":[{"auth_url":"https://client.int/auth","client_id":"my_client_id","client_secret":"my_client_secret","created_by":"test_user","default_scopes":"read write","grant_type":“authorization_code”,"integration":"my_integration","token_url":"https://client.int/tokens","uuid":"2fea765a-5ae4-4e3b-b457-a4f7836d041b"}]}
401 Unauthorized
              
// Status 401 Unauthorized{"errors":[{"code":"1200","detail":"Unauthorized","status":"401"}]}
403 Forbidden
              
// Status 403 Forbidden{"errors":[{"code":"1200","detail":"Forbidden","status":"403"}]}
429 Too Many Requests
              
// Status 429 Too Many Requests{"errors":[{"code":"1300","detail":"Too many requests","status":"429"}]}

Create OAuth Client

  • POST /api/services/zis/connections/oauth/clients/{integration}

Creates an OAuth client.

Parameters

Name Type In Required Description
integration string Path 真正的 Name of the integration

Example body

             
{"auth_url":"https://client.int/auth","client_id":"my_client_id","client_secret":"my_client_secret","default_scopes":"read write","grant_type":“authorization_code”,"name":"my_oauth_client_name","token_url":"https://client.int/tokens"}

Code Samples

cURL
              
旋度https://{subdomain}.zendesk.com/api/services/zis/connections/oauth/clients/{integration}\-H"Authorization: Bearer {access_token}"\-X POST\-H'content-type: application/json'\-d'{"auth_url": "https://client.int/auth","client_id": "my_client_id","client_secret": "my_client_secret","grant_type": "authorization_code","default_scopes": "read write","name": "my_oauth_client","token_url": "https://client.int/tokens"}'
Go
              
import("fmt""io""net/http""strings")funcmain(){url:="https://support.zendesk.com/api/services/zis/connections/oauth/clients/my_integration"method:="POST"payload:=strings.NewReader(`{"auth_url": "https://client.int/auth","client_id": "my_client_id","client_secret": "my_client_secret","default_scopes": "read write","grant_type": "authorization_code","name": "my_oauth_client_name","token_url": "https://client.int/tokens"}`)req,err:=http.NewRequest(method,url,payload)iferr!=nil{fmt.Println(err)return}req.Header.Add(“Content-Type","application/json")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/services/zis/connections/oauth/clients/my_integration").newBuilder();RequestBodybody=RequestBody.create(MediaType.parse("application/json"),"""{\"auth_url\":\"https://client.int/auth\",\"client_id\":\"my_client_id\",\"client_secret\":\"my_client_secret\",\"default_scopes\":\"read write\",\"grant_type\":\"authorization_code\",\"name\":\"my_oauth_client_name\",\"token_url\":\"https://client.int/tokens\"}""");Requestrequest=newRequest.Builder().url(urlBuilder.build()).method("POST",body).addHeader(“Content-Type","application/json").build();Responseresponse=client.newCall(request).execute();
Nodejs
              
varaxios=require('axios');vardata=JSON.stringify({"auth_url":"https://client.int/auth","client_id":"my_client_id","client_secret":"my_client_secret","default_scopes":"read write","grant_type":“authorization_code”,"name":"my_oauth_client_name","token_url":"https://client.int/tokens"});varconfig={method:'POST',url:'https://support.zendesk.com/api/services/zis/connections/oauth/clients/my_integration',headers:{'Content-Type':'application/json',},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/services/zis/connections/oauth/clients/my_integration"payload=json.loads("""{"auth_url": "https://client.int/auth","client_id": "my_client_id","client_secret": "my_client_secret","default_scopes": "read write","grant_type": "authorization_code","name": "my_oauth_client_name","token_url": "https://client.int/tokens"}""")headers={“Content-Type":"application/json",}response=requests.request("POST",url,headers=headers,json=payload)print(response.text)
Ruby
              
require"net/http"uri=URI("https://support.zendesk.com/api/services/zis/connections/oauth/clients/my_integration")request=Net::HTTP::Post.new(uri,“Content-Type":"application/json")request.body=%q({"auth_url":"https://client.int/auth","client_id":"my_client_id","client_secret":"my_client_secret","default_scopes":"read write","grant_type":“authorization_code”,"name":"my_oauth_client_name","token_url":"https://client.int/tokens"})response=Net::HTTP.start uri.hostname,uri.port,use_ssl:真正的do|http|http.request(request)end

Example response(s)

200 OK
              
// Status 200 OK{"uuid":"2fea765a-5ae4-4e3b-b457-a4f7836d041b"}
400 Bad Request
              
// Status 400 Bad Request{"errors":[{"code":"1301","detail":"Invalid request","status":"400"}]}
401 Unauthorized
              
// Status 401 Unauthorized{"errors":[{"code":"1200","detail":"Unauthorized","status":"401"}]}
403 Forbidden
              
// Status 403 Forbidden{"errors":[{"code":"1200","detail":"Forbidden","status":"403"}]}
422 Unprocessable Entity
              
// Status 422 Unprocessable Entity{"errors":[{"code":"1303","detail":"Invalid value for: Integration. Desc: Integration cannot be nil","status":"422"}]}
429 Too Many Requests
              
// Status 429 Too Many Requests{"errors":[{"code":"1300","detail":"Too many requests","status":"429"}]}

Show OAuth Client

  • GET /api/services/zis/connections/oauth/clients/{integration}/{client_uuid}

Return details for an OAuth client.

Parameters

Name Type In Required Description
client_uuid string Path 真正的 The UUID of the OAuth client
integration string Path 真正的 Name of the integration

Code Samples

cURL
              
旋度https://{subdomain}.zendesk.com/api/services/zis/connections/oauth/clients/{integration}/{client_uuid}\-H"Authorization: Bearer {access_token}"
Go
              
import("fmt""io""net/http")funcmain(){url:="https://support.zendesk.com/api/services/zis/connections/oauth/clients/my_integration/2fea765a-5ae4-4e3b-b457-a4f7836d041b"method:="GET"req,err:=http.NewRequest(method,url,nil)iferr!=nil{fmt.Println(err)return}req.Header.Add(“Content-Type","application/json")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/services/zis/connections/oauth/clients/my_integration/2fea765a-5ae4-4e3b-b457-a4f7836d041b").newBuilder();Requestrequest=newRequest.Builder().url(urlBuilder.build()).method("GET",null).addHeader(“Content-Type","application/json").build();Responseresponse=client.newCall(request).execute();
Nodejs
              
varaxios=require('axios');varconfig={method:'GET',url:'https://support.zendesk.com/api/services/zis/connections/oauth/clients/my_integration/2fea765a-5ae4-4e3b-b457-a4f7836d041b',headers:{'Content-Type':'application/json',},};axios(config).then(function(response){console.log(JSON.stringify(response.data));}).catch(function(error){console.log(error);});
Python
              
importrequestsurl="https://support.zendesk.com/api/services/zis/connections/oauth/clients/my_integration/2fea765a-5ae4-4e3b-b457-a4f7836d041b"headers={“Content-Type":"application/json",}response=requests.request("GET",url,headers=headers)print(response.text)
Ruby
              
require"net/http"uri=URI("https://support.zendesk.com/api/services/zis/connections/oauth/clients/my_integration/2fea765a-5ae4-4e3b-b457-a4f7836d041b")request=Net::HTTP::Get.new(uri,“Content-Type":"application/json")response=Net::HTTP.start uri.hostname,uri.port,use_ssl:真正的do|http|http.request(request)end

Example response(s)

200 OK
              
// Status 200 OK{"auth_url":"https://client.int/auth","client_id":"my_client_id","client_secret":"my_client_secret","created_by":"test_user","default_scopes":"read write","grant_type":“authorization_code”,"integration":"my_integration","token_url":"https://client.int/tokens","uuid":"2fea765a-5ae4-4e3b-b457-a4f7836d041b"}
401 Unauthorized
              
// Status 401 Unauthorized{"errors":[{"code":"1200","detail":"Unauthorized","status":"401"}]}
403 Forbidden
              
// Status 403 Forbidden{"errors":[{"code":"1200","detail":"Forbidden","status":"403"}]}
404 Not Found
              
// Status 404 Not Found{"errors":[{"code":"1302","detail":"Not found","status":"404"}]}
429 Too Many Requests
              
// Status 429 Too Many Requests{"errors":[{"code":"1300","detail":"Too many requests","status":"429"}]}

Update OAuth Client

  • PATCH /api/services/zis/connections/oauth/clients/{integration}/{client_uuid}

Updates an OAuth client.

Parameters

Name Type In Required Description
client_uuid string Path 真正的 The UUID of the OAuth client
integration string Path 真正的 Name of the integration

Example body

             
{"auth_url":"https://client.int/auth","client_id":"my_client_id","client_secret":"my_client_secret","default_scopes":"read write","grant_type":“authorization_code”,"token_url":"https://client.int/tokens"}

Code Samples

cURL
              
旋度https://{subdomain}.zendesk.com/api/services/zis/connections/oauth/clients/{integration}/{client_uuid}\-H"Authorization: Bearer {access_token}"\-X PATCH\-H'content-type: application/json'\-d'{"auth_url": "https://client.int/auth","client_id": "my_client_id","client_secret": "my_client_secret","grant_type": "authorization_code","default_scopes": "read write","token_url": "https://client.int/tokens"}'
Go
              
import("fmt""io""net/http""strings")funcmain(){url:="https://support.zendesk.com/api/services/zis/connections/oauth/clients/my_integration/2fea765a-5ae4-4e3b-b457-a4f7836d041b"method:="PATCH"payload:=strings.NewReader(`{"auth_url": "https://client.int/auth","client_id": "my_client_id","client_secret": "my_client_secret","default_scopes": "read write","grant_type": "authorization_code","token_url": "https://client.int/tokens"}`)req,err:=http.NewRequest(method,url,payload)iferr!=nil{fmt.Println(err)return}req.Header.Add(“Content-Type","application/json")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/services/zis/connections/oauth/clients/my_integration/2fea765a-5ae4-4e3b-b457-a4f7836d041b").newBuilder();RequestBodybody=RequestBody.create(MediaType.parse("application/json"),"""{\"auth_url\":\"https://client.int/auth\",\"client_id\":\"my_client_id\",\"client_secret\":\"my_client_secret\",\"default_scopes\":\"read write\",\"grant_type\":\"authorization_code\",\"token_url\":\"https://client.int/tokens\"}""");Requestrequest=newRequest.Builder().url(urlBuilder.build()).method("PATCH",body).addHeader(“Content-Type","application/json").build();Responseresponse=client.newCall(request).execute();
Nodejs
              
varaxios=require('axios');vardata=JSON.stringify({"auth_url":"https://client.int/auth","client_id":"my_client_id","client_secret":"my_client_secret","default_scopes":"read write","grant_type":“authorization_code”,"token_url":"https://client.int/tokens"});varconfig={method:'PATCH',url:'https://support.zendesk.com/api/services/zis/connections/oauth/clients/my_integration/2fea765a-5ae4-4e3b-b457-a4f7836d041b',headers:{'Content-Type':'application/json',},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/services/zis/connections/oauth/clients/my_integration/2fea765a-5ae4-4e3b-b457-a4f7836d041b"payload=json.loads("""{"auth_url": "https://client.int/auth","client_id": "my_client_id","client_secret": "my_client_secret","default_scopes": "read write","grant_type": "authorization_code","token_url": "https://client.int/tokens"}""")headers={“Content-Type":"application/json",}response=requests.request("PATCH",url,headers=headers,json=payload)print(response.text)
Ruby
              
require"net/http"uri=URI("https://support.zendesk.com/api/services/zis/connections/oauth/clients/my_integration/2fea765a-5ae4-4e3b-b457-a4f7836d041b")request=Net::HTTP::Patch.new(uri,“Content-Type":"application/json")request.body=%q({"auth_url":"https://client.int/auth","client_id":"my_client_id","client_secret":"my_client_secret","default_scopes":"read write","grant_type":“authorization_code”,"token_url":"https://client.int/tokens"})response=Net::HTTP.start uri.hostname,uri.port,use_ssl:真正的do|http|http.request(request)end

Example response(s)

200 OK
              
// Status 200 OKnull
400 Bad Request
              
// Status 400 Bad Request{"errors":[{"code":"1301","detail":"Invalid request","status":"400"}]}
401 Unauthorized
              
// Status 401 Unauthorized{"errors":[{"code":"1200","detail":"Unauthorized","status":"401"}]}
403 Forbidden
              
// Status 403 Forbidden{"errors":[{"code":"1200","detail":"Forbidden","status":"403"}]}
404 Not Found
              
// Status 404 Not Found{"errors":[{"code":"1302","detail":"Not found","status":"404"}]}
422 Unprocessable Entity
              
// Status 422 Unprocessable Entity{"errors":[{"code":"1303","detail":"Invalid value for: Integration. Desc: Integration cannot be nil","status":"422"}]}
429 Too Many Requests
              
// Status 429 Too Many Requests{"errors":[{"code":"1300","detail":"Too many requests","status":"429"}]}

删除OAuth Client

  • DELETE /api/services/zis/connections/oauth/clients/{integration}/{client_uuid}

删除s an OAuth client.

Parameters

Name Type In Required Description
client_uuid string Path 真正的 The UUID of the OAuth client
integration string Path 真正的 Name of the integration

Code Samples

cURL
              
旋度https://{subdomain}.zendesk.com/api/services/zis/connections/oauth/clients/{integration}/{client_uuid}\-H"Authorization: Bearer {access_token}"\-X DELETE
Go
              
import("fmt""io""net/http")funcmain(){url:="https://support.zendesk.com/api/services/zis/connections/oauth/clients/my_integration/2fea765a-5ae4-4e3b-b457-a4f7836d041b"method:="DELETE"req,err:=http.NewRequest(method,url,nil)iferr!=nil{fmt.Println(err)return}req.Header.Add(“Content-Type","application/json")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/services/zis/connections/oauth/clients/my_integration/2fea765a-5ae4-4e3b-b457-a4f7836d041b").newBuilder();Requestrequest=newRequest.Builder().url(urlBuilder.build()).method("DELETE",null).addHeader(“Content-Type","application/json").build();Responseresponse=client.newCall(request).execute();
Nodejs
              
varaxios=require('axios');varconfig={method:'DELETE',url:'https://support.zendesk.com/api/services/zis/connections/oauth/clients/my_integration/2fea765a-5ae4-4e3b-b457-a4f7836d041b',headers:{'Content-Type':'application/json',},};axios(config).then(function(response){console.log(JSON.stringify(response.data));}).catch(function(error){console.log(error);});
Python
              
importrequestsurl="https://support.zendesk.com/api/services/zis/connections/oauth/clients/my_integration/2fea765a-5ae4-4e3b-b457-a4f7836d041b"headers={“Content-Type":"application/json",}response=requests.request("DELETE",url,headers=headers)print(response.text)
Ruby
              
require"net/http"uri=URI("https://support.zendesk.com/api/services/zis/connections/oauth/clients/my_integration/2fea765a-5ae4-4e3b-b457-a4f7836d041b")request=Net::HTTP::删除.new(uri,“Content-Type":"application/json")response=Net::HTTP.start uri.hostname,uri.port,use_ssl:真正的do|http|http.request(request)end

Example response(s)

204 No Content
              
// Status 204 No Contentnull
401 Unauthorized
              
// Status 401 Unauthorized{"errors":[{"code":"1200","detail":"Unauthorized","status":"401"}]}
403 Forbidden
              
// Status 403 Forbidden{"errors":[{"code":"1200","detail":"Forbidden","status":"403"}]}
404 Not Found
              
// Status 404 Not Found{"errors":[{"code":"1302","detail":"Not found","status":"404"}]}
429 Too Many Requests
              
// Status 429 Too Many Requests{"errors":[{"code":"1300","detail":"Too many requests","status":"429"}]}