You can control the order of apps in specific locations.
For more information on locations, seeSetting the app location in the Apps developer docs.
JSON format
App Installation Locations are represented as JSON objects with the following properties:
| Name | Type | Read-only | Mandatory | Description |
|---|---|---|---|---|
| installations | array | false | false | An array of app installation ids |
| location_name | string | false | false | Location name. Example: nav_bar |
Example
{"installations":[8765,5678],"location_name":"nav_bar"}
List Location Installations
GET /api/v2/apps/location_installations
Allowed for
- Admins
Code Samples
curl
curl https://{subdomain}.zendesk.com/api/v2/apps/location_installations.json\-u{email_address}/token:{api_token}
Go
import("fmt""io""net/http")funcmain(){url:="https://support.zendesk.com/api/v2/apps/location_installations"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>")// Base64 encoded "{email_address}/token:{api_token}"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=newOkHttpClient();HttpUrl.Builder urlBuilder=HttpUrl.parse("https://support.zendesk.com/api/v2/apps/location_installations").newBuilder();String userCredentials="your_email_address"+"/token:"+"your_api_token";String basicAuth="Basic "+ java.util.Base64.getEncoder().encodeToString(userCredentials.getBytes());Request request=newRequest.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/apps/location_installations',headers:{'Content-Type':'application/json','Authorization':'Basic <auth-value>',// Base64 encoded "{email_address}/token:{api_token}"},};axios(config).then(function(response){console.log(JSON.stringify(response.data));}).catch(function(error){console.log(error);});
Python
import requestsfrom requests.authimport HTTPBasicAuthurl="https://support.zendesk.com/api/v2/apps/location_installations"headers={"Content-Type":"application/json",}email_address='your_email_address'api_token='your_api_token'# Use basic authenticationauth= 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/apps/location_installations")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:truedo|http|http.request(request)end
Example response(s)
200 OK
// Status 200 OK{"location_installations":[{"installations":[82,56],"location_name":"nav_bar"},{"installations":[111,82,87,56,46,96,77],"location_name":"ticket_sidebar"},{"installations":[111,82,56],"location_name":"new_ticket_sidebar"},{"installations":[106,91],"location_name":"top_bar"}]}
Reorder App Installations For Location
POST /api/v2/apps/location_installations/reorder
Creates or updates the relevant location installation with a specified installation order.
When implementing this API in response to a user reordering installations, ensure you throttle your API calls to a reasonable limit.
Allowed For
- Admins
Code Samples
curl
curl https://{subdomain}.zendesk.com/api/v2/apps/location_installations/reorder.json\-d'{"installations": [82, 56], "location_name": "nav_bar"}'\-H"Content-Type: application/json" -X POST\-u{email_address}/token:{api_token}
Go
import("fmt""io""net/http")funcmain(){url:="https://support.zendesk.com/api/v2/apps/location_installations/reorder"method:="POST"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>")// Base64 encoded "{email_address}/token:{api_token}"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=newOkHttpClient();HttpUrl.Builder urlBuilder=HttpUrl.parse("https://support.zendesk.com/api/v2/apps/location_installations/reorder").newBuilder();RequestBody body=RequestBody.create(MediaType.parse("application/json"),"""""");String userCredentials="your_email_address"+"/token:"+"your_api_token";String basicAuth="Basic "+ java.util.Base64.getEncoder().encodeToString(userCredentials.getBytes());Request request=newRequest.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 config={method:'POST',url:'https://support.zendesk.com/api/v2/apps/location_installations/reorder',headers:{'Content-Type':'application/json','Authorization':'Basic <auth-value>',// Base64 encoded "{email_address}/token:{api_token}"},};axios(config).then(function(response){console.log(JSON.stringify(response.data));}).catch(function(error){console.log(error);});
Python
import requestsfrom requests.authimport HTTPBasicAuthurl="https://support.zendesk.com/api/v2/apps/location_installations/reorder"headers={"Content-Type":"application/json",}email_address='your_email_address'api_token='your_api_token'# Use basic authenticationauth= HTTPBasicAuth(f'{email_address}/token', api_token)response= requests.request("POST",url,auth=auth,headers=headers)print(response.text)
Ruby
require"net/http"require"base64"uri=URI("https://support.zendesk.com/api/v2/apps/location_installations/reorder")request=Net::HTTP::Post.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:truedo|http|http.request(request)end
Example response(s)
201 Created
// Status 201 Created{"location_installation":{"installations":[82,56],"location_name":"nav_bar"}}