List document templates
/document-templatesLists the tenant's document (subscription) templates, oldest first, and returns one page. Each says what kind of file it holds, whether its processing has finished and how many field placements it has. filter[q] matches the name or the original filename. Add include=mapped_field_refs to embed the form fields that have a placement. Needs only the scope; the token's user is not checked. Use GET /document-templates/{id} for one template and GET /document-templates/{id}/positions for its placements. It changes nothing.
Query parameters
- Default:
Page size (1–100). Defaults to 25; values are clamped to the range.
25 Opaque pagination cursor taken from a prior response's
meta.next_cursor.Comma-separated top-level fields to return.
idis always returned.Set to
mapped_field_refsto embed the distinct form field references that have a placement on each template.Comma-separated fields to sort by: created_at, updated_at or name. Prefix a field with
-for descending. Defaults tocreated_at. The template's internal id is always the final tiebreak.Templates whose name or original filename contains this text, ignoring case.
- One of:
Only templates of this kind: pdf or docx. Takes
[in]and[not_in]with a comma-separated list.pdf,docx Only templates whose processing has finished when true, only those still being processed when false.
Only templates uploaded in a range, written
filter[created_at][gte]=2026-10-01. Takes gt, gte, lt and lte.
Responses
{
"data": [
{
"id": "9a9d1c5e-4f2b-4c8e-9a7d-2f1e6b3c4d5a",
"name": "string",
"type": "subscription_document",
"kind": "docx",
"original_filename": "string",
"validated": true,
"variable_count": 1,
"variables": [
"string"
],
"page_metadata": [
{}
],
"positions_count": 1,
"mapped_field_refs": [
"string"
],
"validated_at": "2026-06-12T10:00:00+00:00",
"created_at": "2026-06-12T10:00:00+00:00",
"updated_at": "2026-06-12T10:00:00+00:00"
}
],
"meta": {
"limit": 1,
"next_cursor": "string",
"prev_cursor": "string"
}
}Authorization failed. error.code is one of org_disabled,
ip_blocked, missing_scope, scope_disabled, user_disabled.
The request can't be processed (HTTP 422): validation_failed with one ErrorDetail per
problem, or a code documented on the operation.
Examples
curl https://your-org-domain/kong/core/api/v2/document-templates\
-H "Authorization: Bearer $HELM_API_KEY"\
-H "Content-Type: application/json"