PATCH /public/v1/templates/{id}
Update a template. Currently supports updating template variables (tokens) and managing template roles.
🚧 Template status
You can only update a template in the PROCESSED status (
template.PROCESSED).After creating a new template, it usually retains a
template.uploadedstatus for 3-5 seconds while the template syncs across PandaDoc servers. When the template is available for further API calls, the template moves to thetemplate.PROCESSEDstate. Use Template Status or Webhooks to check template status.
Managing template roles
Pass a roles array to replace the full set of template roles in a single request:
- Items with an existing
idupdate that role (name,signing_order). - Items without an
idcreate a new role. - Existing roles whose
idis not in the array are deleted.
Role names must be unique within a template. Preassigned contacts and contact groups attached to roles in the template editor are preserved on updates and removed together with their role on deletion — they are not managed by this endpoint.
Servers
- https://api.pandadoc.com
Path parameters
| Name | Type | Required | Description |
|---|---|---|---|
id |
String | Yes |
Template ID |
Request headers
| Name | Type | Required | Description |
|---|---|---|---|
Content-Type |
String | Yes |
The media type of the request body.
Default value: "application/json" |
Request body fields
| Name | Type | Required | Description |
|---|---|---|---|
roles[] |
Array | No |
Replace the full set of template roles. Items with an existing |
roles[].id |
String | No |
Existing role identifier. Omit to create a new role. |
roles[].name |
String | Yes |
Role name. Must be unique within the template. |
roles[].signing_order |
Integer | No |
Signing order for the role. Set on every role as a contiguous sequence starting from |
tokens[] |
Array | No |
Create or initialize multiple CUSTOM variables with their values using tokens/values list. Template's predefined variables are read-only. Any attempts to do so will be ignored. |
tokens[].name |
String | Yes | |
tokens[].value |
String | Yes |
How to start integrating
- Add HTTP Task to your workflow definition.
- Search for the API you want to integrate with and click on the name.
- This loads the API reference documentation and prepares the Http request settings.
- Click Test request to test run your request to the API and see the API's response.