Sections
JSON Format
Sections are represented as JSON objects with the following properties:
Name | Type | Read-only | Mandatory | Description |
---|---|---|---|---|
category_id | integer | false | false | The id of the category to which this section belongs |
created_at | string | true | false | The time at which the section was created |
description | string | false | false | The description of the section |
html_url | string | true | false | The url of this section in HC |
id | integer | true | false | Automatically assigned when creating subscriptions |
locale | string | false | true | The locale in which the section is displayed |
manageable_by | string | false | false | Deprecated. The set of users who can manage this section. Allowed values are "staff", or "managers". |
name | string | false | true | The name of the section |
outdated | boolean | true | false | Whether the section is out of date |
parent_section_id | integer | false | false | The id of the section to which this section belongs. Only writable for Guide Enterprise customers |
position | integer | false | false | The position of this section in the section list. By default the section is added to the end of the list |
source_locale | string | true | false | The source (default) locale of the section |
updated_at | string | true | false | The time at which the section was last updated |
url | string | true | false | The API url of this section |
user_segment_id | integer | false | false | Deprecated. The id of the user segment to which this section belongs. |
The manageable_by
attribute takes one of the following values:
Value | Users |
---|---|
staff | agents and managers |
managers | only Help Center managers |
Note that manageable_by
is only displayed to users who can manage the section.
Example
{
"category_id": 3465,
"description": "This section contains tricks for the airborne",
"id": 1635,
"locale": "en-us",
"manageable_by": "staff",
"name": "Avionics"
}
Create Section
POST /api/v2/help_center{/locale}/categories/{category_id}/sections
Creates a section in a given category. You must specify a section name and locale. The locale can be omitted if it's specified in the URL. Optionally, you can specify multiple translations for the section. The specified locales must be enabled for the current Help Center.
Allowed for
- Agents
Parameters
Name | Type | In | Required | Description |
---|---|---|---|---|
category_id | integer | Path | true | The unique ID of this Category |
locale | string | Path | false | The locale that the category is displayed in |
Using curl
curl https://{subdomain}.zendesk.com/api/v2/help_center/categories/{category_id}/sections.json \
-d '{"section": {"position": 2, "locale": "en-us", "name": "Avionics", \
"description": "This section contains articles on flight instruments"}}' \
-v -u {email_address}:{password} -X POST -H "Content-Type: application/json"
# You can also specify multiple translations for the new section:
curl https://{subdomain}.zendesk.com/api/v2/help_center/categories/{category_id}/sections.json \
-d '{"section": {"position": 2, "translations": \
[{"locale": "en-us", "title": "Avionics", \
"body": "This section contains articles on flight instruments"}, \
{"locale": "fr", "title": "Avionique", \
"body": "Cette section contient des articles sur les instruments de vol"}]}}' \
-v -u {email_address}:{password} -X POST -H "Content-Type: application/json"
Example Response
Status 201 Created
{
"section": {
"description": "This section contains articles on flight instruments",
"id": 3457836,
"locale": "en-us",
"name": "Avionics",
"position": 2
}
}
List Sections
GET /api/v2/help_center{/locale}/sections
GET /api/v2/help_center/{locale}/categories/{category_id}/sections
Lists all the sections in Help Center or in a specific category.
The {locale}
is required only for end users and anomynous users. Admins and agents can omit it.
Allowed for
- Agents
- End users
- Anonymous users
The response will list only the sections that the requesting agent, end-user, or anonymous user can view in Help Center.
Sorting
You can sort the results with the sort_by
and sort_order
query string parameters.
GET /api/v2/help_center/en-us/sections.json?sort_by=updated_at&sort_order=asc
The sort_by
parameter can have one of the following values:
value | description |
---|---|
position |
order set manually using the Arrange Content page. Default order |
created_at |
order by creation time |
updated_at |
order by update time |
The sort_order
parameter can have one of the following values:
value | description |
---|---|
asc |
ascending order |
desc |
descending order |
Sideloads
The following sideloads are supported:
Name | Will sideload |
---|---|
categories | the category |
translations | the section and category translations, if any |
Unlike other sideloads, translations are embedded within the section because they're not shared between resources. Category translations are only sideloaded if categories are.
Parameters
Name | Type | In | Required | Description |
---|---|---|---|---|
sort_by | string | Query | false | Sorts the results by one of the accepted values. Allowed values are "position", "created_at", or "updated_at". |
sort_order | string | Query | false | Selects the order of the results. Allowed values are "asc", or "desc". |
locale | string | Path | false | The locale that the category is displayed in |
Using curl
curl https://{subdomain}.zendesk.com/api/v2/help_center/{locale}/sections.json \
-v -u {email_address}:{password}
Example Response
Status 200 OK
{
"sections": [
{
"category_id": 888887,
"description": "This section contains articles on flight instruments",
"id": 35467,
"locale": "en-us",
"name": "Avionics"
},
{
"category_id": 887285,
"description": "This section contains weather resources for pilots",
"id": 36169,
"locale": "en-us",
"name": "Weather"
}
]
}
Show Section
GET /api/v2/help_center{/locale}/sections/{section_id}
Note: {/locale}
is an optional parameter for admins and agents. End users and anonymous users must provide the parameter.
Allowed for
- Agents
- End users
- Anonymous users
Sideloads
The following sideloads are supported:
Name | Will sideload |
---|---|
categories | the category |
translations | the section and category translations, if any |
Unlike other sideloads, translations are embedded within the section since they're not shared between resources. Category translations are only sideloaded if categories are.
Parameters
Name | Type | In | Required | Description |
---|---|---|---|---|
locale | string | Path | false | The locale that the category is displayed in |
section_id | integer | Path | true | The unique ID of this Section |
Using curl
curl https://{subdomain}.zendesk.com/api/v2/help_center/{locale}/sections/{section_id}.json \
-v -u {email_address}:{password}
Example Response
Status 200 OK
{
"section": {
"description": "This section contains articles on flight instruments",
"id": 3457836,
"locale": "en-us",
"name": "Avionics",
"position": 2
}
}
Update Section
PUT /api/v2/help_center{/locale}/sections/{section_id}
These endpoints only update section-level metadata such as the sorting position. They don't update section translations. See Translations.
Allowed for
- Help Center managers
Parameters
Name | Type | In | Required | Description |
---|---|---|---|---|
locale | string | Path | false | The locale that the category is displayed in |
section_id | integer | Path | true | The unique ID of this Section |
Using curl
curl https://{subdomain}.zendesk.com/api/v2/help_center/sections/{section_id}.json \
-d '{"section": {"position": 42}}' \
-v -u {email_address}:{password} -X PUT -H "Content-Type: application/json"
Example Response
Status 200 OK
{
"section": {
"description": "This section contains articles on flight instruments",
"id": 3457836,
"locale": "en-us",
"name": "Avionics",
"position": 2
}
}
Delete Section
DELETE /api/v2/help_center{/locale}/sections/{section_id}
WARNING: All articles in the section will also be deleted.
Allowed for
- Help Center managers
Parameters
Name | Type | In | Required | Description |
---|---|---|---|---|
locale | string | Path | false | The locale that the category is displayed in |
section_id | integer | Path | true | The unique ID of this Section |
Using curl
curl https://{subdomain}.zendesk.com/api/v2/help_center/sections/{section_id}.json \
-v -u {email_address}:{password} -X DELETE
Example Response
Status 204 No Content
Update Section Source Locale
PUT /api/v2/help_center{/locale}/sections/{section_id}/source_locale
This endpoint lets you set a section's source language to something other than the default language of your Help Center. For example, if the default language of your Help Center is English but your KB has a section only for Japanese customers, you can set the section's source locale to 'ja'.
Allowed for
- Help Center managers
Parameters
Name | Type | In | Required | Description |
---|---|---|---|---|
locale | string | Path | false | The locale that the category is displayed in |
section_id | integer | Path | true | The unique ID of this Section |
Using curl
curl https://{subdomain}.zendesk.com/api/v2/help_center/sections/{section_id}/source_locale.json \
-d '{"section_locale": "fr"}' -v -u {email_address}:{password} -X PUT \
-H "Content-Type: application/json"
Example Response
Status 200 OK