DocuSeal Templates API
Templates represent reusable document signing forms with fields and signatures to be collected. It's possible to create unique template forms with fields and signatures using HTML or with tagged PDFs.
Templates represent reusable document signing forms with fields and signatures to be collected. It's possible to create unique template forms with fields and signatures using HTML or with tagged PDFs.
openapi: 3.0.0
info:
version: 1.0.0
title: DocuSeal Submissions Templates API
description: DocuSeal API specs
contact:
name: DocuSeal
email: admin@docuseal.com
url: https://www.docuseal.com
servers:
- url: https://api.docuseal.com
description: Global Server
- url: https://api.docuseal.eu
description: EU Server
tags:
- name: Templates
description: Templates represent reusable document signing forms with fields and signatures to be collected. It's possible to create unique template forms with fields and signatures using HTML or with tagged PDFs.
paths:
/templates:
get:
security:
- AuthToken: []
tags:
- Templates
summary: List all templates
description: The API endpoint provides the ability to retrieve a list of available document templates.
operationId: getTemplates
parameters:
- name: q
in: query
required: false
schema:
type: string
description: Filter templates based on the name partial match.
- name: slug
in: query
required: false
schema:
type: string
description: Filter templates by unique slug.
example: opaKWh8WWTAcVG
- name: external_id
in: query
required: false
schema:
type: string
description: The unique application-specific identifier provided for the template via API or Embedded template form builder. It allows you to receive only templates with your specified external ID.
- name: folder
in: query
required: false
schema:
type: string
description: Filter templates by folder name.
- name: archived
in: query
required: false
schema:
type: boolean
description: Get only archived templates instead of active ones.
- name: limit
in: query
required: false
schema:
type: integer
description: The number of templates to return. Default value is 10. Maximum value is 100.
- name: after
in: query
required: false
schema:
type: integer
description: The unique identifier of the template to start the list from. It allows you to receive only templates with an ID greater than the specified value. Pass ID value from the `pagination.next` response to load the next batch of templates.
- name: before
in: query
required: false
schema:
type: integer
description: The unique identifier of the template to end the list with. It allows you to receive only templates with an ID less than the specified value.
responses:
'200':
description: OK
content:
application/json:
schema:
type: object
required:
- data
- pagination
properties:
data:
type: array
description: List of templates.
items:
type: object
required:
- id
- slug
- name
- preferences
- schema
- fields
- submitters
- author_id
- created_at
- updated_at
- source
- external_id
- folder_id
- folder_name
- author
- documents
properties:
id:
type: integer
description: Unique identifier of the document template.
slug:
type: string
description: Unique slug of the document template.
name:
type: string
description: The name of the template.
preferences:
type: object
description: Template preferences.
schema:
type: array
description: List of documents attached to the template.
items:
type: object
required:
- attachment_uuid
- name
properties:
attachment_uuid:
type: string
description: Unique identifier of attached document to the template.
name:
type: string
description: Name of the attached document to the template.
fields:
type: array
description: List of fields to be filled in the template.
items:
type: object
required:
- uuid
- submitter_uuid
- name
- type
- required
- areas
properties:
uuid:
type: string
description: Unique identifier of the field.
submitter_uuid:
type: string
description: Unique identifier of the submitter that filled the field.
name:
type: string
description: Field name.
type:
type: string
description: Type of the field (e.g., text, signature, date, initials).
enum:
- heading
- text
- signature
- initials
- date
- number
- image
- checkbox
- multiple
- file
- radio
- select
- cells
- stamp
- payment
- phone
- verification
- kba
- strikethrough
required:
type: boolean
description: Indicates if the field is required.
preferences:
type: object
description: Field display preferences.
properties:
font_size:
type: integer
description: Font size of the field value in pixels.
font_type:
type: string
description: Font type of the field value.
font:
type: string
description: Font family of the field value.
color:
type: string
description: Font color of the field value.
background:
type: string
description: Field box background color.
align:
type: string
description: Horizontal alignment of the field text value.
valign:
type: string
description: Vertical alignment of the field text value.
format:
type: string
description: The data format for different field types.
price:
type: number
description: Price value of the payment field. Only for payment fields.
currency:
type: string
description: Currency value of the payment field. Only for payment fields.
mask:
type: boolean
description: Indicates if the field is masked on the document.
reasons:
description: An array of signature reasons to choose from.
type: array
items:
type: string
areas:
type: array
description: List of areas where the field is located in the document.
items:
type: object
required:
- x
- y
- w
- h
- attachment_uuid
- page
properties:
x:
type: number
description: X coordinate of the area where the field is located in the document.
y:
type: number
description: Y coordinate of the area where the field is located in the document.
w:
type: number
description: Width of the area where the field is located in the document.
h:
type: number
description: Height of the area where the field is located in the document.
attachment_uuid:
type: string
description: Unique identifier of the attached document where the field is located.
page:
type: integer
description: Page number of the attached document where the field is located.
submitters:
type: array
description: The list of submitters for the template.
items:
type: object
required:
- name
- uuid
properties:
name:
type: string
description: The name of the submitter.
uuid:
type: string
description: Unique identifier of the submitter.
author_id:
type: integer
description: Unique identifier of the author of the template.
archived_at:
type: string
nullable: true
description: Date and time when the template was archived.
created_at:
type: string
description: The date and time when the template was created.
updated_at:
type: string
description: The date and time when the template was last updated.
source:
type: string
description: Source of the template.
enum:
- native
- api
- embed
external_id:
type: string
nullable: true
description: Your application-specific unique string key to identify this template within your app.
folder_id:
type: integer
description: Unique identifier of the folder where the template is located.
folder_name:
type: string
description: Folder name where the template is located.
shared_link:
type: boolean
description: Indicates if the template is accessible by link.
author:
type: object
required:
- id
- first_name
- last_name
- email
properties:
id:
type: integer
description: Unique identifier of the author.
first_name:
type: string
description: First name of the author.
last_name:
type: string
description: Last name of the author.
email:
type: string
description: Author email.
documents:
type: array
description: List of documents attached to the template.
items:
type: object
required:
- id
- uuid
- url
- preview_image_url
- filename
properties:
id:
type: integer
description: Unique identifier of the document.
uuid:
type: string
description: Unique identifier of the document.
url:
type: string
description: URL of the document.
preview_image_url:
type: string
description: Document preview image URL.
filename:
type: string
description: Document filename.
pagination:
type: object
required:
- count
- next
- prev
properties:
count:
type: integer
description: Templates count.
next:
type: integer
nullable: true
description: The ID of the template after which the next page starts.
prev:
type: integer
nullable: true
description: The ID of the template before which the previous page ends.
example:
data:
- id: 1
slug: iRgjDX7WDK6BRo
name: Example Template
preferences: {}
schema:
- attachment_uuid: d94e615f-76e3-46d5-8f98-36bdacb8664a
name: example-document
fields:
- uuid: 594bdf04-d941-4ca6-aa73-93e61d625c02
submitter_uuid: 0954d146-db8c-4772-aafe-2effc7c0e0c0
name: Full Name
type: text
required: true
preferences: {}
areas:
- x: 0.2638888888888889
y: 0.168958742632613
w: 0.325
h: 0.04616895874263263
attachment_uuid: d94e615f-76e3-46d5-8f98-36bdacb8664a
page: 0
submitters:
- name: First Party
uuid: 0954d146-db8c-4772-aafe-2effc7c0e0c0
author_id: 1
archived_at: null
created_at: '2023-12-14T15:21:57.375Z'
updated_at: '2023-12-14T15:22:55.094Z'
source: native
folder_id: 1
folder_name: Default
external_id: c248ffba-ef81-48b7-8e17-e3cecda1c1c5
shared_link: true
author:
id: 1
first_name: John
last_name: Doe
email: john.doe@example.com
documents:
- id: 5
uuid: d94e615f-76e3-46d5-8f98-36bdacb8664a
url: https://docuseal.com/file/hash/sample-document.pdf
preview_image_url: https://docuseal.com/file/hash/0.jpg
filename: example-document.pdf
pagination:
count: 1
next: 1
prev: 2
/templates/{id}:
get:
security:
- AuthToken: []
tags:
- Templates
summary: Get a template
description: The API endpoint provides the functionality to retrieve information about a document template.
operationId: getTemplate
parameters:
- name: id
in: path
required: true
schema:
type: integer
description: The unique identifier of the document template.
example: 1000001
responses:
'200':
description: OK
content:
application/json:
schema:
type: object
required:
- id
- slug
- name
- preferences
- schema
- fields
- submitters
- author_id
- archived_at
- created_at
- updated_at
- source
- external_id
- folder_id
- folder_name
- author
- documents
properties:
id:
type: integer
description: Unique identifier of the document template.
slug:
type: string
description: Unique slug of the document template.
name:
type: string
description: The name of the template.
preferences:
type: object
description: Template preferences.
schema:
type: array
description: List of documents attached to the template.
items:
type: object
required:
- attachment_uuid
- name
properties:
attachment_uuid:
type: string
description: Unique identifier of attached document to the template.
name:
type: string
description: Name of the attached document to the template.
fields:
type: array
description: List of fields to be filled in the template.
items:
type: object
required:
- uuid
- submitter_uuid
- name
- type
- required
- areas
properties:
uuid:
type: string
description: Unique identifier of the field.
submitter_uuid:
type: string
description: Unique identifier of the submitter that filled the field.
name:
type: string
description: Field name.
type:
type: string
description: Type of the field (e.g., text, signature, date, initials).
enum:
- heading
- text
- signature
- initials
- date
- number
- image
- checkbox
- multiple
- file
- radio
- select
- cells
- stamp
- payment
- phone
- verification
- kba
- strikethrough
required:
type: boolean
description: Indicates if the field is required.
preferences:
type: object
description: Field display preferences.
properties:
font_size:
type: integer
description: Font size of the field value in pixels.
font_type:
type: string
description: Font type of the field value.
font:
type: string
description: Font family of the field value.
color:
type: string
description: Font color of the field value.
background:
type: string
description: Field box background color.
align:
type: string
description: Horizontal alignment of the field text value.
valign:
type: string
description: Vertical alignment of the field text value.
format:
type: string
description: The data format for different field types.
price:
type: number
description: Price value of the payment field. Only for payment fields.
currency:
type: string
description: Currency value of the payment field. Only for payment fields.
mask:
type: boolean
description: Indicates if the field is masked on the document.
reasons:
description: An array of signature reasons to choose from.
type: array
items:
type: string
areas:
type: array
description: List of areas where the field is located in the document.
items:
type: object
required:
- x
- y
- w
- h
- attachment_uuid
- page
properties:
x:
type: number
description: X coordinate of the area where the field is located in the document.
y:
type: number
description: Y coordinate of the area where the field is located in the document.
w:
type: number
description: Width of the area where the field is located in the document.
h:
type: number
description: Height of the area where the field is located in the document.
attachment_uuid:
type: string
description: Unique identifier of the attached document where the field is located.
page:
type: integer
description: Page number of the attached document where the field is located.
submitters:
type: array
description: The list of submitters for the template.
items:
type: object
required:
- name
- uuid
properties:
name:
type: string
description: The name of the submitter.
uuid:
type: string
description: Unique identifier of the submitter.
author_id:
type: integer
description: Unique identifier of the author of the template.
archived_at:
type: string
nullable: true
description: Date and time when the template was archived.
created_at:
type: string
description: The date and time when the template was created.
updated_at:
type: string
description: The date and time when the template was last updated.
source:
type: string
description: Source of the template.
enum:
- native
- api
- embed
external_id:
type: string
nullable: true
description: Your application-specific unique string key to identify this template within your app.
folder_id:
type: integer
description: Unique identifier of the folder where the template is located.
folder_name:
type: string
description: Folder name where the template is located.
shared_link:
type: boolean
description: Indicates if the template is accessible by link.
author:
type: object
required:
- id
- first_name
- last_name
- email
properties:
id:
type: integer
description: Unique identifier of the author.
first_name:
type: string
description: First name of the author.
last_name:
type: string
description: Last name of the author.
email:
type: string
description: Author email.
documents:
type: array
description: List of documents attached to the template.
items:
type: object
required:
- id
- uuid
- url
- preview_image_url
- filename
properties:
id:
type: integer
description: Unique identifier of the document.
uuid:
type: string
description: Unique identifier of the document.
url:
type: string
description: URL of the document.
preview_image_url:
type: string
description: Document preview image URL.
filename:
type: string
description: Document filename.
example:
id: 1
slug: iRgjDX7WDK6BRo
name: Example Template
preferences: {}
schema:
- attachment_uuid: d94e615f-76e3-46d5-8f98-36bdacb8664a
name: example-document
fields:
- uuid: 594bdf04-d941-4ca6-aa73-93e61d625c02
submitter_uuid: 0954d146-db8c-4772-aafe-2effc7c0e0c0
name: Full Name
type: text
required: true
preferences: {}
areas:
- x: 0.2638888888888889
y: 0.168958742632613
w: 0.325
h: 0.04616895874263263
attachment_uuid: d94e615f-76e3-46d5-8f98-36bdacb8664a
page: 0
submitters:
- name: First Party
uuid: 0954d146-db8c-4772-aafe-2effc7c0e0c0
author_id: 1
archived_at: null
created_at: '2023-12-14T15:21:57.375Z'
updated_at: '2023-12-14T15:22:55.094Z'
source: native
folder_id: 1
folder_name: Default
external_id: c248ffba-ef81-48b7-8e17-e3cecda1c1c5
shared_link: true
author:
id: 1
first_name: John
last_name: Doe
email: john.doe@example.com
documents:
- id: 5
uuid: d94e615f-76e3-46d5-8f98-36bdacb8664a
url: https://docuseal.com/file/hash/sample-document.pdf
# --- truncated at 32 KB (147 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/docuseal/refs/heads/main/openapi/docuseal-templates-api-openapi.yml