The Configs API is used to find, create, and manage configuration settings for an integration.

JSON Format

Configs are represented as JSON objects with the following properties:

Name Type Read-only Mandatory Description
config object false false The Config JSON object. Other properties are metadata
created_at string true false The date and time the Config was created
id integer true false The unique ID of the Config
integration string true false Name of the integration that the Config belongs to
scope string false false Name of the scope that the Config belongs to
updated_at string true false The date and time the Config was last updated
zendesk_account_id integer true false The Zendesk account ID the Config belongs to

Show Configuration

  • GET /api/services/zis/integrations/{integration}/configs?filter[scope]={filter[scope]}

Returns configuration settings for the integration. The filter[scope] parameter accepts an asterisk (*) as a wildcard to match multiple scopes. Example: filter[scope]=foo*. The lookup is scoped to an account when used with a customer subdomain.

Parameters

Name Type In Required Description
filter[scope] string Query true The integration scope the configuration belongs to
page[after] integer Query false Specifies the start of the page returned
page[size] integer Query false The number of configurations to return. Returns a maximum of 100 records per page
integration string Path true Name of the integration.

Using cURL

curl 'https://{subdomain}.zendesk.com/api/services/zis/integrations/{integration}/configs?filter[scope]=my_scope' \-H "Authorization: Bearer {access_token}"

Using cURL

curl "https://{subdomain}.zendesk.com/api/services/zis/integrations/{integration}/configs?filter[scope]=my_scope&page[size]=2" \-H "Authorization: Bearer {access_token}"

Example Response

Status 200 OK
{  "configs": [    {      "config": {        "description": "A config object can be anything, this is an example.",        "id": 999,        "name": "my_config"      },      "created_at": "2021-08-30T04:40:17Z",      "id": 1,      "integration": "my_integration",      "scope": "my_scope",      "updated_at": "2021-08-31T04:40:17Z",      "zendesk_account_id": 123    }  ],  "links": {    "next": ""  },  "meta": {    "has_more": true  },  "next": null}

Create Configuration

  • POST /api/services/zis/integrations/{integration}/configs

Creates configuration settings for an integration.

Parameters

Name Type In Required Description
integration string Path true Name of the integration.

Example Body

{  "config": {    "description": "A config object can be anything, this is an example.",    "id": 999,    "name": "my_config"  },  "scope": "my_scope"}

Using cURL

for i in {1..10}; do  curl -X POST \  'https://{subdomain}.zendesk.com/api/services/zis/integrations/{integration}/configs' \  -H "Authorization: Bearer {access_token}" \  -H 'Content-Type: application/json' \  -d '{    "scope": '\"foo_bar_baz${i}\"',    "Config": {"enable_comment_sync": "true"}  }';done

Example Response

Status 201 Created
{  "config": {    "config": {      "description": "A config object can be anything, this is an example.",      "id": 999,      "name": "my_config"    },    "created_at": "2021-08-30T04:40:17Z",    "id": 1,    "integration": "my_integration",    "scope": "my_integration",    "updated_at": "2021-08-31T04:40:17Z",    "zendesk_account_id": 22  }}

Update Configuration

  • PUT /api/services/zis/integrations/{integration}/configs/{scope}

Updates the configuration settings for an integration. Note: The configuration settings provided will completely overwrite the existing configuration.

Parameters

Name Type In Required Description
integration string Path true Name of the integration.
scope string Path true Name of the scope that the config belongs to. Special characters should be URL encoded in a URL path. Example: "foo/bar" to "foo%2Fbar"

Example Body

{  "config": {    "description": "A config object can be anything, this is an example.",    "id": 999,    "name": "my_config"  }}

Using cURL

curl -X PUT \'https://{subdomain}.zendesk.com/api/services/zis/integrations/{integration}/configs/foo_bar_baz1' \-H "Authorization: Bearer {access_token}" \-H 'Content-Type: application/json' \-d '{"Config": {"enable_comment_sync": "false"} }'

Example Response

Status 200 OK
{  "config": {    "config": {      "description": "A config object can be anything, this is an example.",      "id": 999,      "name": "my_config"    },    "created_at": "2021-08-30T04:40:17Z",    "id": 1,    "integration": "my_integration",    "scope": "my_integration",    "updated_at": "2021-08-31T04:40:17Z",    "zendesk_account_id": 22  }}

Merge Configuration

  • PATCH /api/services/zis/integrations/{integration}/configs/{scope}

Merges the provided configuration settings with the existing configuration.

Parameters

Name Type In Required Description
integration string Path true Name of the integration.
scope string Path true Name of the scope that the config belongs to. Special characters should be URL encoded in a URL path. Example: "foo/bar" to "foo%2Fbar"

Example Body

{  "config": {    "description": "A config object can be anything, this is an example.",    "id": 999,    "name": "my_config"  }}

Using cURL

curl -X PATCH \'https://{subdomain}.zendesk.com/api/services/zis/integrations/{integration}/configs/foo_bar_baz1' \-H "Authorization: Bearer {access_token}" \-H 'Content-Type: application/json' \-d '{"Config": {"enable_comment_sync": "false"} }'

Example Response

Status 200 OK
{  "config": {    "config": {      "description": "A config object can be anything, this is an example.",      "id": 999,      "name": "my_config"    },    "created_at": "2021-08-30T04:40:17Z",    "id": 1,    "integration": "my_integration",    "scope": "my_integration",    "updated_at": "2021-08-31T04:40:17Z",    "zendesk_account_id": 22  }}

Delete Configuration

  • DELETE /api/services/zis/integrations/{integration}/configs/{scope}

Deletes the existing configuration settings.

Parameters

Name Type In Required Description
integration string Path true Name of the integration.
scope string Path true Name of the scope that the config belongs to. Special characters should be URL encoded in a URL path. Example: "foo/bar" to "foo%2Fbar"

Using cURL

curl -X DELETE "https://{subdomain}.zendesk.com/api/services/zis/integrations/{integration}/configs/my_scope" \-H "Authorization: Bearer {access_token}"

Example Response

Status 204 No Content