Your knowledge base is organised in sections, and each article belongs to one. With the API you can list sections, add and delete them, and list or search the articles in a section. The articles themselves are in KB Articles.
Examples use your token in $TENDER_TOKEN (see Authentication). Creating and deleting need a token with Read and write access.
List sections
curl -H "Accept: application/vnd.tender-v1+json" \
-H "Authorization: Bearer $TENDER_TOKEN" \
https://api.tenderapp.com/yoursite/sections
{
"sections": [
{
"title": "Getting Started",
"created_at": "2026-10-09T06:47:11Z",
"updated_at": "2026-10-09T06:47:11Z",
"permalink": "getting-started",
"faqs_count": 3,
"beta": false,
"important": false,
"redirection_id": null,
"href": "https://api.tenderapp.com/yoursite/sections/3",
"faqs_href": "https://api.tenderapp.com/yoursite/sections/3/faqs{/state}{?page}",
"html_href": "https://yoursite.tenderapp.com/kb/getting-started"
},
{
"title": "Integrations",
"created_at": "2026-10-09T06:47:11Z",
"updated_at": "2026-10-09T06:47:11Z",
"permalink": "integrations",
"faqs_count": 3,
"beta": false,
"important": false,
"redirection_id": null,
"href": "https://api.tenderapp.com/yoursite/sections/5",
"faqs_href": "https://api.tenderapp.com/yoursite/sections/5/faqs{/state}{?page}",
"html_href": "https://yoursite.tenderapp.com/kb/integrations"
}
],
"offset": 0,
"total": 4,
"per_page": 30
}
Sections come in the order they have in your knowledge base, 30 to a page (?page=2 for the next).
Get one section
A section's id is the number at the end of its href.
curl -H "Accept: application/vnd.tender-v1+json" \
-H "Authorization: Bearer $TENDER_TOKEN" \
https://api.tenderapp.com/yoursite/sections/5
The answer is the section on its own, with the fields below.
Section fields
| Field | What it is |
|---|---|
title |
The section's name. |
permalink |
The name as used in the section's web address. |
faqs_count |
How many articles in the section aren't drafts (published, or scheduled to publish). |
beta |
Only people with beta access see the section and its articles. |
important |
Only people with important access see the section and its articles. |
redirection_id |
Always null here. |
html_href |
The section on your site. |
href |
This section in the API. |
faqs_href |
The section's articles: a URI template, see below. |
created_at, updated_at |
When the section was added and last changed. |
Articles in a section
faqs_href lists a section's articles, in their order in the section:
curl -H "Accept: application/vnd.tender-v1+json" \
-H "Authorization: Bearer $TENDER_TOKEN" \
https://api.tenderapp.com/yoursite/sections/5/faqs
{
"faqs": [
{
"title": "Syncing with Google Calendar",
"permalink": "syncing-with-google-calendar",
"published_at": "2026-07-21T06:47:11Z",
"keywords": "google calendar sync ical",
"html_href": "https://yoursite.tenderapp.com/kb/integrations/syncing-with-google-calendar",
"href": "https://api.tenderapp.com/yoursite/faqs/11",
"section_href": "https://api.tenderapp.com/yoursite/sections/5"
},
{
"title": "Slack notifications",
"permalink": "slack-notifications",
"published_at": "2026-07-31T06:47:11Z",
"keywords": "slack notify channel",
"html_href": "https://yoursite.tenderapp.com/kb/integrations/slack-notifications",
"href": "https://api.tenderapp.com/yoursite/faqs/12",
"section_href": "https://api.tenderapp.com/yoursite/sections/5"
}
],
"offset": 0,
"total": 3,
"per_page": 30
}
The list has drafts too. Add /published or /draft to the path for just one kind: sections/5/faqs/published. Each article has all the fields described in KB Articles, its text included.
Search a section
/search with a query searches the articles of one section. It looks at titles, text and keywords.
curl -H "Accept: application/vnd.tender-v1+json" \
-H "Authorization: Bearer $TENDER_TOKEN" \
"https://api.tenderapp.com/yoursite/sections/5/search?query=calendar"
{
"faqs": [
{
"title": "Syncing with Google Calendar",
"keywords": "google calendar sync ical",
"html_href": "https://yoursite.tenderapp.com/kb/integrations/syncing-with-google-calendar",
"href": "https://api.tenderapp.com/yoursite/faqs/11"
}
],
"offset": 0,
"total": 1,
"per_page": 30
}
Matching articles come in their order in the section, not ranked by how well they match. To search the whole knowledge base, see KB Articles.
Create a section
POST a title. You can also send a permalink (made from the title if you don't), and beta or important set to true.
curl -H "Accept: application/vnd.tender-v1+json" \
-H "Authorization: Bearer $TENDER_TOKEN" \
-H "Content-Type: application/json" \
-d '{"title":"Reports & Dashboards"}' \
https://api.tenderapp.com/yoursite/sections
HTTP/1.1 201 Created
Location: http://api.tenderapp.com/yoursite/sections/7
{
"title": "Reports & Dashboards",
"created_at": "2026-10-09T07:18:15Z",
"updated_at": "2026-10-09T07:18:15Z",
"permalink": "reports-dashboards",
"faqs_count": 0,
"beta": false,
"important": false,
"redirection_id": null,
"href": "https://api.tenderapp.com/yoursite/sections/7",
"faqs_href": "https://api.tenderapp.com/yoursite/sections/7/faqs{/state}{?page}",
"html_href": "https://yoursite.tenderapp.com/kb/reports-dashboards"
}
Without a title you get a 422:
{
"title": ["can't be blank"]
}
The API can't rename or reorder sections: do that in your knowledge base on your dashboard.
Delete a section
Deleting a section deletes every article in it, drafts included. Move any articles you want to keep to another section first (see KB Articles).
curl -X DELETE \
-H "Accept: application/vnd.tender-v1+json" \
-H "Authorization: Bearer $TENDER_TOKEN" \
https://api.tenderapp.com/yoursite/sections/7
{}
Tender answers straight away and deletes the section and its articles in the background, so the section can still show up for a few seconds.
