Create a document template
/document-templatesUploads a PDF or DOCX as a new template and returns it with 201 and a Location. Send multipart/form-data with the file in document. The token's user is recorded as the uploader. validated is false until processing has read the file, a moment after the response. Over 20 MB: 413. Any other file type: 422. dry_run in any form is 422. Needs only the scope. Emits document_template.created after commit; no email. It has no delete route, so it can't be undone.
Query parameters
Not supported. Sending dry_run in any form, even false, is 422 on this field.
Headers
Makes a retry safe. Send a new UUID for each new request and reuse it only to retry that request; the first response is replayed for 24 hours.
Request body
multipart/form-data, required
The template file, a PDF or a DOCX.
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": [
{
"page": 1,
"width_pt": 1,
"height_pt": 1
}
],
"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"
}
}Authorization failed. error.code is one of org_disabled,
ip_blocked, missing_scope, scope_disabled, user_disabled.
The request body is over the server's size limit (error.code = payload_too_large). Nothing was read or stored.
The request can't be processed (HTTP 422): validation_failed with one ErrorDetail per
problem, or a code documented on the operation.
Examples
curl -X POST https://your-org-domain/kong/core/api/v2/document-templates\
-H "Authorization: Bearer $HELM_API_KEY"\
-H "Content-Type: application/json"