This API lets you manage and interact with Zendesk apps. All actions from these endpoints are recorded in the Audit Log console of the affected Zendesk Support account.

To learn more about the process of creating and managing apps using the Apps REST API described on this page, see Creating and managing private apps

JSON format

Apps are represented as JSON objects with the following properties:

Name Type Read-only Mandatory Description
app_organization object true false Organization that submitted the app to the Zendesk Marketplace
author_email string true false The app author's email
author_name string true false The app author's name
author_url string true false The app author's URL
categories array true false Zendesk Marketplace categories to which the app belongs
collections array true false Zendesk Marketplace collections to which the app belongs
created_at string true false When the app was created
date_published string true false When the app was published on the Zendesk Marketplace
default_locale string true false The default locale for translations for the app
deprecated boolean true false If true, the app is deprecated
feature_color string true false Hexadecimal color value used to feature the app on the Zendesk Marketplace
featured boolean true false Whether or not the app is featured in the Zendesk Marketplace
framework_version string true false The app framework version for which the app was written
google_analytics_code string true false Universal Google Analytics ("UA-") tracking id for the app's detail page on the Zendesk Marketplace
id integer true false The id of the app
installable boolean true false Whether or not the app can be installed
installation_count integer true false Current number of installations of the app
installation_instructions string true false Instructions for installing the app
large_icon string true false The large icon url for an app
locations array true false Location ids for the app. To map these ids to app locations, see the App Locations endpoint
long_description string true false The app's long description in the Zendesk Marketplace
marketing_only boolean true false If true, the app is an integration app
name string true false The name of the app
obsolete boolean true false If true, the app is obsolete
owner_id integer true false The app developer id corresponding to the app
paid boolean true false If true, the app is a paid app
parameters array true false The parameters for the app
plans array true false Payment plans for the app
products array true false Zendesk products supported by the app
promoted boolean true false Whether or not the app is a promoted app in the Zendesk Marketplace
rating object true false The ratings of the app
raw_installation_instructions string true false The raw installation instructions
raw_long_description string true false The raw long description for the app in the Zendesk Marketplace
remote_installation_url string true false URL for the app's installation instructions
screenshots array true false Screenshots for the app when displayed in the Zendesk Marketplace
short_description string true false The short description of the app in the Zendesk Marketplace
single_install boolean true false Whether or not this app can only be installed once
small_icon string true false The url for the small logo for the app
state string true false Publication state for the app on the Zendesk Marketplace
stripe_publishable_key string true false Publishable key for the app developer's Stripe account
terms_conditions_url string true false URL for the app's terms and conditions
third_party_pricing object true false Third-party pricing information for the app
updated_at string true false When the app was last updated
version string true false The version of the app
visibility string true false The app is a private app, which is only visible to your account, or a public app. An example value is "private".

List All Apps

  • GET /api/v2/apps

Lists all public apps on the Zendesk Marketplace. For authenticated agents and admins, the endpoint also lists their account's private apps.

Allowed For

  • Everyone

Code Samples

curl
curl https://{subdomain}.zendesk.com/api/v2/apps.json \  -u {email_address}:{password}
Go
import (	"fmt"	"io"	"net/http")
func main() {	url := "https://support.zendesk.com/api/v2/apps"	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 "username:password"
	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/apps")		.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/apps',  headers: {	'Content-Type': 'application/json',	'Authorization': 'Basic <auth-value>', // Base64 encoded "username:password"  },};
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/apps"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/apps")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
// Status 200 OK
{  "apps": [    {      "app_organization": {        "country_code": "US",        "email": "[email protected]",        "id": 123,        "name": "Acme",        "stripe_account_id": null,        "website": "https://example.com"      },      "author_email": "[email protected]",      "author_name": "Zendesk User",      "author_url": "https://example.com",      "categories": [],      "collections": [],      "created_at": "2012-05-14T22:28:18Z",      "date_published": "2016-10-26T22:26:18Z",      "default_locale": "en",      "deprecated": false,      "feature_color": null,      "featured": false,      "framework_version": "2.0",      "google_analytics_code": null,      "id": 12345,      "installable": true,      "installation_count": 1234,      "installation_instructions": "",      "large_icon": "/api/v2/apps/12345/assets/logo.png",      "locations": [        7,        2,        1,        3,        4,        5,        6,        10,        8,        19,        17,        15,        18,        16,        25,        22,        23,        24      ],      "long_description": "",      "marketing_only": false,      "name": "Bookmarks",      "obsolete": false,      "owner_id": 1,      "paid": false,      "parameters": [        {          "app_id": 12345,          "created_at": "2012-06-14T17:31:08Z",          "default_value": null,          "id": 21,          "kind": "text",          "name": "name",          "position": 0,          "required": true,          "secure": true,          "updated_at": "2012-06-14T17:31:08Z"        }      ],      "plans": [        {          "active": true,          "amount": 0,          "app_id": 12345,          "cost_id": 1,          "cost_type": "CostFree",          "created_at": "2019-05-15T05:41:13.000Z",          "description": "<p>This is the default plan all existing apps have. You can change the description and name of this plan, or create new ones.</p>\\n",          "entity_id": 123456,          "id": 123,          "name": "Default Plan",          "plan_type": "one_off",          "service_identifier": null,          "stripe_account": null,          "stripe_plan_id": null,          "stripe_publishable_key": null,          "trial_days": 0,          "updated_at": "2019-05-15T05:41:13.000Z",          "vat_reversible": null        }      ],      "products": [        "support",        "chat",        "sell"      ],      "promoted": false,      "rating": {        "average": 3,        "count": {          "1": 2,          "2": 2,          "3": 2,          "4": 2,          "5": 2        },        "total_count": 10      },      "raw_installation_instructions": null,      "raw_long_description": null,      "remote_installation_url": null,      "screenshots": [],      "short_description": null,      "single_install": true,      "small_icon": "/api/v2/apps/12345/assets/logo-small.png",      "state": "published",      "stripe_publishable_key": null,      "terms_conditions_url": null,      "third_party_pricing": {        "has_third_party_pricing": false,        "third_party_pricing_url": null      },      "updated_at": "2014-01-21T00:32:03Z",      "version": "1.0",      "visibility": "private"    }  ]}

List Owned Apps

  • GET /api/v2/apps/owned

Lists apps owned by the current account.

Allowed For

  • Admins

Sideloads

The categories and parameters objects are automatically side-loaded with each app object. However, you can exclude them from the response. Example:

curl https://{subdomain}.zendesk.com/api/v2/apps/owned.json?exclude=parameters \ -u {email_address}:{password}

Code Samples

curl
curl https://{subdomain}.zendesk.com/api/v2/apps/owned.json \  -u {email_address}:{password}
Go
import (	"fmt"	"io"	"net/http")
func main() {	url := "https://support.zendesk.com/api/v2/apps/owned"	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 "username:password"
	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/apps/owned")		.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/apps/owned',  headers: {	'Content-Type': 'application/json',	'Authorization': 'Basic <auth-value>', // Base64 encoded "username:password"  },};
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/apps/owned"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/apps/owned")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
// Status 200 OK
{  "apps": [    {      "author_email": "[email protected]",      "author_name": "Zendesk User",      "author_url": "http://www.example.com",      "categories": [],      "closed_preview": false,      "created_at": "2012-05-14T22:28:18Z",      "default_locale": "en",      "deprecated": false,      "feature_color": null,      "featured": false,      "framework_version": "1.0",      "google_analytics_code": null,      "id": 12345,      "installable": true,      "installation_instructions": "",      "large_icon": "/api/v2/apps/12345/assets/logo.png",      "long_description": "",      "marketing_only": false,      "name": "Bookmarks",      "obsolete": false,      "owner_id": 1,      "paid": false,      "parameters": [        {          "app_id": 12345,          "created_at": "2012-06-14T17:31:08Z",          "default_value": null,          "id": 21,          "kind": "text",          "name": "name",          "position": 0,          "required": true,          "secure": true,          "updated_at": "2012-06-14T17:31:08Z"        }      ],      "products": [        "support",        "chat",        "sell"      ],      "promoted": false,      "raw_installation_instructions": null,      "raw_long_description": null,      "remote_installation_url": null,      "screenshots": [],      "short_description": null,      "single_install": true,      "small_icon": "/api/v2/apps/12345/assets/logo-small.png",      "state": "published",      "terms_conditions_url": null,      "updated_at": "2014-01-21T00:32:03Z",      "version": "1.0",      "visibility": "private"    }  ]}

Get Information About App

  • GET /api/v2/apps/{app_id}

Retrieves information about the specified app accessible to the current user and account.

Allowed For

  • Everyone

Parameters

Name Type In Required Description
app_id integer Path true The ID of the app to be retrieved

Code Samples

curl
curl https://{subdomain}.zendesk.com/api/v2/apps/{app_id}.json \  -v -u {email_address}:{password}
Go
import (	"fmt"	"io"	"net/http")
func main() {	url := "https://support.zendesk.com/api/v2/apps/1"	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 "username:password"
	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/apps/1")		.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/apps/1',  headers: {	'Content-Type': 'application/json',	'Authorization': 'Basic <auth-value>', // Base64 encoded "username:password"  },};
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/apps/1"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/apps/1")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
// Status 200 OK
{  "author_email": "[email protected]",  "author_name": "Zendesk User",  "author_url": "http://www.example.com",  "categories": [],  "closed_preview": false,  "created_at": "2012-05-14T22:28:18Z",  "default_locale": "en",  "deprecated": false,  "feature_color": null,  "featured": false,  "framework_version": "2.0",  "google_analytics_code": null,  "id": 12345,  "installable": true,  "installation_instructions": "",  "large_icon": "/api/v2/apps/12345/assets/logo.png",  "long_description": "",  "marketing_only": false,  "name": "Bookmarks",  "obsolete": false,  "owner_id": 1,  "paid": false,  "parameters": [    {      "app_id": 12345,      "created_at": "2012-06-14T17:31:08Z",      "default_value": null,      "id": 21,      "kind": "text",      "name": "name",      "position": 0,      "required": true,      "secure": true,      "updated_at": "2012-06-14T17:31:08Z"    }  ],  "products": [    "support",    "chat",    "sell"  ],  "promoted": false,  "raw_installation_instructions": null,  "raw_long_description": null,  "remote_installation_url": null,  "screenshots": [],  "short_description": null,  "single_install": true,  "small_icon": "/api/v2/apps/12345/assets/logo-small.png",  "state": "published",  "terms_conditions_url": null,  "updated_at": "2014-01-21T00:32:03Z",  "version": "1.0",  "visibility": "private"}

Get App Public Key

  • GET /api/v2/apps/{app_id}/public_key

Reveals the app's public key in PEM format.

You can use it to verify that certain requests from the app are legitimate.

Allowed For

  • Agents

Parameters

Name Type In Required Description
app_id integer Path true The ID of the app

Code Samples

curl
curl https://{subdomain}.zendesk.com/api/v2/apps/{app_id}/public_key.pem \  -u {email_address}:{password}
Go
import (	"fmt"	"io"	"net/http")
func main() {	url := "https://support.zendesk.com/api/v2/apps/1/public_key"	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 "username:password"
	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/apps/1/public_key")		.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/apps/1/public_key',  headers: {	'Content-Type': 'application/json',	'Authorization': 'Basic <auth-value>', // Base64 encoded "username:password"  },};
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/apps/1/public_key"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/apps/1/public_key")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
// Status 200 OK
"-----BEGIN PUBLIC KEY-----\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA6Z6U0KVY2HstBHKDiNIx\nFoxzkhhMjvyB3LiBWLqre+H1rHiqZl3Q3oQ1+61qNyBBulu+6hr1GkkIVVEHBnfe\n9OO+u2F9UAMi6JMl2L7QaaTxa+fR8ADNRNmg+5vsdKq/+nNTf2EA2ynwpwt/F5yp\nmKg6n8jhy0eqsea4qKpYLLEE6AguR04KXgQymb0Mg0PQsNowpFCoLTg3IXZGCIVE\nztOfgYaYPOVwGr3pN71L4cW5euyKPl36tpp42iHyuJ3mP3q2d7GPfLwUoLNsDZYQ\nZ8vcOkvkA7N0tZUDqIzofKGwsjk/++LYBFL04Qbj3avRHcouo70q13Lb+k4rm20u\nlwIDAQAB\n-----END PUBLIC KEY-----\n"

Create App

  • POST /api/v2/apps

Adds a build of a new app to the job queue.

You must provide an upload_id in the post payload to this endpoint in order to specify the uploaded app package to use for the build. See Upload App Package.

The response contains a job_id to check the status of the build. See Get Job Status.

Allowed For

  • Admins

Code Samples

curl
curl https://{subdomain}.zendesk.com/api/v2/apps.json \  -d '{"name":"My App", "short_description":"My App description", "upload_id":"123"}' \  -H "Content-Type: application/json" -X POST \  -u {email_address}:{password}
Go
import (	"fmt"	"io"	"net/http")
func main() {	url := "https://support.zendesk.com/api/v2/apps"	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 "username:password"
	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/apps")		.newBuilder();RequestBody body = RequestBody.create(MediaType.parse("application/json"),		"""""");
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 config = {  method: 'POST',  url: 'https://support.zendesk.com/api/v2/apps',  headers: {	'Content-Type': 'application/json',	'Authorization': 'Basic <auth-value>', // Base64 encoded "username:password"  },};
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/apps"headers = {	"Content-Type": "application/json",}
response = requests.request(	"POST",	url,	auth=('<username>', '<password>'),	headers=headers)
print(response.text)
Ruby
require "net/http"uri = URI("https://support.zendesk.com/api/v2/apps")request = Net::HTTP::Post.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
// Status 200 OK
{  "job_id": "fa8cac3098330130f49c14109fd02dfb"}

Update App

  • PUT /api/v2/apps/{app_id}

Adds a build of an existing app to the job queue.

You must provide the id of the app you want to update. Use the List Owned Apps endpoint to get the id.

You must also provide an upload_id to specify the uploaded app package to use for the build. See Upload App Package.

The response contains a job_id to check the status of the build. See Get Job Status.

Allowed For

  • Admins

Parameters

Name Type In Required Description
app_id integer Path true The ID of the app to be updated

Code Samples

curl
curl https://{subdomain}.zendesk.com/api/v2/apps/{app_id}.json \  -d '{"name":"My App", "short_description":"My App description", "upload_id":"123"}' \  -H "Content-Type: application/json" -X PUT \  -u {email_address}:{password}
Go
import (	"fmt"	"io"	"net/http")
func main() {	url := "https://support.zendesk.com/api/v2/apps/1"	method := "PUT"	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 "username:password"
	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/apps/1")		.newBuilder();RequestBody body = RequestBody.create(MediaType.parse("application/json"),		"""""");
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 config = {  method: 'PUT',  url: 'https://support.zendesk.com/api/v2/apps/1',  headers: {	'Content-Type': 'application/json',	'Authorization': 'Basic <auth-value>', // Base64 encoded "username:password"  },};
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/apps/1"headers = {	"Content-Type": "application/json",}
response = requests.request(	"PUT",	url,	auth=('<username>', '<password>'),	headers=headers)
print(response.text)
Ruby
require "net/http"uri = URI("https://support.zendesk.com/api/v2/apps/1")request = Net::HTTP::Put.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
// Status 200 OK
{  "job_id": "fa8cac3098330130f49c14109fd02dfb"}

Delete App

  • DELETE /api/v2/apps/{app_id}

Deletes the specified app and removes it from the My Apps page in Zendesk Support.

Allowed For

  • Admins

Parameters

Name Type In Required Description
app_id integer Path true The ID of the app to be deleted

Code Samples

curl
curl https://{subdomain}.zendesk.com/api/v2/apps/{app_id}.json \  -u {email_address}:{password} -X DELETE
Go
import (	"fmt"	"io"	"net/http")
func main() {	url := "https://support.zendesk.com/api/v2/apps/1"	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>") // Base64 encoded "username:password"
	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/apps/1")		.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/apps/1',  headers: {	'Content-Type': 'application/json',	'Authorization': 'Basic <auth-value>', // Base64 encoded "username:password"  },};
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/apps/1"headers = {	"Content-Type": "application/json",}
response = requests.request(	"DELETE",	url,	auth=('<username>', '<password>'),	headers=headers)
print(response.text)
Ruby
require "net/http"uri = URI