DocuSign REST API — Templates
DocuSign REST API — Templates. 12 operations. Lead operation: Docusign Gets the definition of a template.. Self-contained Naftiko capability covering one Docusign business surface.
What You Can Do
MCP Tools
docusign-gets-definition-template
Docusign Gets the definition of a template.
docusign-creates-template
Docusign Creates a template.
docusign-gets-list-templates-specified
Docusign Gets a list of templates for a specified account.
docusign-updates-existing-template
Docusign Updates an existing template.
docusign-returns-document-page-image-s
Docusign Returns document page image(s) based on input.
docusign-deletes-page-document-template
Docusign Deletes a page from a document in an template.
docusign-gets-page-image-template
Docusign Gets a page image from a template for display.
docusign-rotates-page-image-template
Docusign Rotates page image from a template for display.
docusign-gets-template-notification-information
Docusign Gets template notification information.
docusign-updates-notification-structure-existing
Docusign Updates the notification structure for an existing template.
docusign-shares-template-group
Docusign Shares a template with a group
docusign-removes-member-group-s-sharing
Docusign Removes a member group's sharing permissions for a template.
Capability Spec
naftiko: 1.0.0-alpha2
info:
label: DocuSign REST API — Templates
description: 'DocuSign REST API — Templates. 12 operations. Lead operation: Docusign Gets the definition of a template..
Self-contained Naftiko capability covering one Docusign business surface.'
tags:
- Docusign
- Templates
created: '2026-05-19'
modified: '2026-05-19'
binds:
- namespace: env
keys:
DOCUSIGN_API_KEY: DOCUSIGN_API_KEY
capability:
consumes:
- type: http
namespace: docusign-templates
baseUri: https://www.docusign.net/restapi
description: DocuSign REST API — Templates business capability. Self-contained, no shared references.
resources:
- name: v2-accounts-accountId-templates
path: /v2/accounts/{accountId}/templates
operations:
- name: templatesgettemplates
method: GET
description: Docusign Gets the definition of a template.
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: accountId
in: path
type: string
description: The external account number (int) or account id GUID.
required: true
- name: count
in: query
type: string
description: The number of records to return.
- name: folder
in: query
type: string
description: The query value can be a folder name or folder ID. The response will only return templates in the specified
folder.
- name: folder_ids
in: query
type: string
description: A comma-separated list of folder ID GUIDs.
- name: from_date
in: query
type: string
description: Start of the search date range. Only returns templates created on or after this date/time. If no value
is specified, there is no limit on the earliest date crea
- name: include
in: query
type: string
description: 'A comma-separated list of additional information to include in the response. Valid values are: '
- name: modified_from_date
in: query
type: string
- name: modified_to_date
in: query
type: string
- name: order
in: query
type: string
description: 'Sets the direction order used to sort the list. Valid values are: '
- name: order_by
in: query
type: string
description: 'Sets the file attribute used to sort the list. Valid values are: '
- name: search_text
in: query
type: string
description: The search text used to search the names of templates.
- name: shared_by_me
in: query
type: string
description: If true, the response only includes templates shared by the user. If false, the response only returns
template not shared by the user. If not specified, the res
- name: start_position
in: query
type: string
description: The starting index for the first template shown in the response. This must be greater than or equal
to 0 (zero).
- name: to_date
in: query
type: string
description: End of the search date range. Only returns templates created up to this date/time. If no value is provided,
this defaults to the current date.
- name: used_from_date
in: query
type: string
description: Start of the search date range. Only returns templates used or edited on or after this date/time. If
no value is specified, there is no limit on the earliest da
- name: used_to_date
in: query
type: string
description: End of the search date range. Only returns templates used or edited up to this date/time. If no value
is provided, this defaults to the current date.
- name: user_filter
in: query
type: string
description: 'Sets if the templates shown in the response Valid values are: -owned_by_me: only shows templates
the user owns. -shared_with_me: only shows templates that are'
- name: user_id
in: query
type: string
description: The id of the user.
- name: templatesposttemplates
method: POST
description: Docusign Creates a template.
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: accountId
in: path
type: string
description: The external account number (int) or account id GUID.
required: true
- name: body
in: body
type: object
description: Request body (JSON).
required: false
- name: v2-accounts-accountId-templates-templateId
path: /v2/accounts/{accountId}/templates/{templateId}
operations:
- name: templatesgettemplate
method: GET
description: Docusign Gets a list of templates for a specified account.
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: accountId
in: path
type: string
description: The external account number (int) or account id GUID.
required: true
- name: templateId
in: path
type: string
description: The ID of the template being accessed.
required: true
- name: include
in: query
type: string
description: 'A comma-separated list of additional information to include in the response. Valid values are: '
- name: templatesputtemplate
method: PUT
description: Docusign Updates an existing template.
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: accountId
in: path
type: string
description: The external account number (int) or account id GUID.
required: true
- name: templateId
in: path
type: string
description: The ID of the template being accessed.
required: true
- name: body
in: body
type: object
description: Request body (JSON).
required: false
- name: v2-accounts-accountId-templates-templateId-documents-documentId-pages
path: /v2/accounts/{accountId}/templates/{templateId}/documents/{documentId}/pages
operations:
- name: pagesgettemplatepageimages
method: GET
description: Docusign Returns document page image(s) based on input.
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: accountId
in: path
type: string
description: The external account number (int) or account id GUID.
required: true
- name: documentId
in: path
type: string
description: The ID of the document being accessed.
required: true
- name: templateId
in: path
type: string
description: The ID of the template being accessed.
required: true
- name: count
in: query
type: string
description: The maximum number of results to be returned by this request.
- name: dpi
in: query
type: string
description: Number of dots per inch for the resulting image. The default if not used is 94. The range is 1-310.
- name: max_height
in: query
type: string
description: Sets the maximum height (in pixels) of the returned image.
- name: max_width
in: query
type: string
description: Sets the maximum width (in pixels) of the returned image.
- name: nocache
in: query
type: string
- name: show_changes
in: query
type: string
- name: start_position
in: query
type: string
description: The position within the total result set from which to start returning values. The value **thumbnail**
may be used to return the page image.
- name: v2-accounts-accountId-templates-templateId-documents-documentId-pages-pageNumber
path: /v2/accounts/{accountId}/templates/{templateId}/documents/{documentId}/pages/{pageNumber}
operations:
- name: pagesdeletetemplatepage
method: DELETE
description: Docusign Deletes a page from a document in an template.
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: accountId
in: path
type: string
description: The external account number (int) or account id GUID.
required: true
- name: documentId
in: path
type: string
description: The ID of the document being accessed.
required: true
- name: pageNumber
in: path
type: string
description: The page number being accessed.
required: true
- name: templateId
in: path
type: string
description: The ID of the template being accessed.
required: true
- name: body
in: body
type: object
description: Request body (JSON).
required: false
- name: v2-accounts-accountId-templates-templateId-documents-documentId-pages-pageNumber
path: /v2/accounts/{accountId}/templates/{templateId}/documents/{documentId}/pages/{pageNumber}/page_image
operations:
- name: pagesgettemplatepageimage
method: GET
description: Docusign Gets a page image from a template for display.
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: accountId
in: path
type: string
description: The external account number (int) or account id GUID.
required: true
- name: documentId
in: path
type: string
description: The ID of the document being accessed.
required: true
- name: pageNumber
in: path
type: string
description: The page number being accessed.
required: true
- name: templateId
in: path
type: string
description: The ID of the template being accessed.
required: true
- name: dpi
in: query
type: string
description: Number of dots per inch for the resulting image. The default if not used is 94. The range is 1-310.
- name: max_height
in: query
type: string
description: Sets the maximum height (in pixels) of the returned image.
- name: max_width
in: query
type: string
description: Sets the maximum width (in pixels) of the returned image.
- name: show_changes
in: query
type: string
- name: pagesputtemplatepageimage
method: PUT
description: Docusign Rotates page image from a template for display.
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: accountId
in: path
type: string
description: The external account number (int) or account id GUID.
required: true
- name: documentId
in: path
type: string
description: The ID of the document being accessed.
required: true
- name: pageNumber
in: path
type: string
description: The page number being accessed.
required: true
- name: templateId
in: path
type: string
description: The ID of the template being accessed.
required: true
- name: body
in: body
type: object
description: Request body (JSON).
required: false
- name: v2-accounts-accountId-templates-templateId-notification
path: /v2/accounts/{accountId}/templates/{templateId}/notification
operations:
- name: notificationgettemplatestemplateidnotification
method: GET
description: Docusign Gets template notification information.
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: accountId
in: path
type: string
description: The external account number (int) or account id GUID.
required: true
- name: templateId
in: path
type: string
description: The ID of the template being accessed.
required: true
- name: notificationputtemplatestemplateidnotification
method: PUT
description: Docusign Updates the notification structure for an existing template.
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: accountId
in: path
type: string
description: The external account number (int) or account id GUID.
required: true
- name: templateId
in: path
type: string
description: The ID of the template being accessed.
required: true
- name: body
in: body
type: object
description: Request body (JSON).
required: false
- name: v2-accounts-accountId-templates-templateId-templatePart
path: /v2/accounts/{accountId}/templates/{templateId}/{templatePart}
operations:
- name: templatesputtemplatepart
method: PUT
description: Docusign Shares a template with a group
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: accountId
in: path
type: string
description: The external account number (int) or account id GUID.
required: true
- name: templateId
in: path
type: string
description: The ID of the template being accessed.
required: true
- name: templatePart
in: path
type: string
description: Currently, the only defined part is **groups**.
required: true
- name: body
in: body
type: object
description: Request body (JSON).
required: false
- name: templatesdeletetemplatepart
method: DELETE
description: Docusign Removes a member group's sharing permissions for a template.
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: accountId
in: path
type: string
description: The external account number (int) or account id GUID.
required: true
- name: templateId
in: path
type: string
description: The ID of the template being accessed.
required: true
- name: templatePart
in: path
type: string
description: Currently, the only defined part is **groups**.
required: true
- name: body
in: body
type: object
description: Request body (JSON).
required: false
exposes:
- type: rest
namespace: docusign-templates-rest
port: 8080
description: REST adapter for DocuSign REST API — Templates. One Spectral-compliant resource per consumed operation, prefixed
with /v1.
resources:
- path: /v1/v2/accounts/{accountid}/templates
name: v2-accounts-accountid-templates
description: REST surface for v2-accounts-accountId-templates.
operations:
- method: GET
name: templatesgettemplates
description: Docusign Gets the definition of a template.
call: docusign-templates.templatesgettemplates
with:
accountId: rest.accountId
count: rest.count
folder: rest.folder
folder_ids: rest.folder_ids
from_date: rest.from_date
include: rest.include
modified_from_date: rest.modified_from_date
modified_to_date: rest.modified_to_date
order: rest.order
order_by: rest.order_by
search_text: rest.search_text
shared_by_me: rest.shared_by_me
start_position: rest.start_position
to_date: rest.to_date
used_from_date: rest.used_from_date
used_to_date: rest.used_to_date
user_filter: rest.user_filter
user_id: rest.user_id
outputParameters:
- type: object
mapping: $.
- method: POST
name: templatesposttemplates
description: Docusign Creates a template.
call: docusign-templates.templatesposttemplates
with:
accountId: rest.accountId
body: rest.body
outputParameters:
- type: object
mapping: $.
- path: /v1/v2/accounts/{accountid}/templates/{templateid}
name: v2-accounts-accountid-templates-templateid
description: REST surface for v2-accounts-accountId-templates-templateId.
operations:
- method: GET
name: templatesgettemplate
description: Docusign Gets a list of templates for a specified account.
call: docusign-templates.templatesgettemplate
with:
accountId: rest.accountId
templateId: rest.templateId
include: rest.include
outputParameters:
- type: object
mapping: $.
- method: PUT
name: templatesputtemplate
description: Docusign Updates an existing template.
call: docusign-templates.templatesputtemplate
with:
accountId: rest.accountId
templateId: rest.templateId
body: rest.body
outputParameters:
- type: object
mapping: $.
- path: /v1/v2/accounts/{accountid}/templates/{templateid}/documents/{documentid}/pages
name: v2-accounts-accountid-templates-templateid-documents-documentid-pages
description: REST surface for v2-accounts-accountId-templates-templateId-documents-documentId-pages.
operations:
- method: GET
name: pagesgettemplatepageimages
description: Docusign Returns document page image(s) based on input.
call: docusign-templates.pagesgettemplatepageimages
with:
accountId: rest.accountId
documentId: rest.documentId
templateId: rest.templateId
count: rest.count
dpi: rest.dpi
max_height: rest.max_height
max_width: rest.max_width
nocache: rest.nocache
show_changes: rest.show_changes
start_position: rest.start_position
outputParameters:
- type: object
mapping: $.
- path: /v1/v2/accounts/{accountid}/templates/{templateid}/documents/{documentid}/pages/{pagenumber}
name: v2-accounts-accountid-templates-templateid-documents-documentid-pages-pagenumber
description: REST surface for v2-accounts-accountId-templates-templateId-documents-documentId-pages-pageNumber.
operations:
- method: DELETE
name: pagesdeletetemplatepage
description: Docusign Deletes a page from a document in an template.
call: docusign-templates.pagesdeletetemplatepage
with:
accountId: rest.accountId
documentId: rest.documentId
pageNumber: rest.pageNumber
templateId: rest.templateId
body: rest.body
outputParameters:
- type: object
mapping: $.
- path: /v1/v2/accounts/{accountid}/templates/{templateid}/documents/{documentid}/pages/{pagenumber}/page-image
name: v2-accounts-accountid-templates-templateid-documents-documentid-pages-pagenumber
description: REST surface for v2-accounts-accountId-templates-templateId-documents-documentId-pages-pageNumber.
operations:
- method: GET
name: pagesgettemplatepageimage
description: Docusign Gets a page image from a template for display.
call: docusign-templates.pagesgettemplatepageimage
with:
accountId: rest.accountId
documentId: rest.documentId
pageNumber: rest.pageNumber
templateId: rest.templateId
dpi: rest.dpi
max_height: rest.max_height
max_width: rest.max_width
show_changes: rest.show_changes
outputParameters:
- type: object
mapping: $.
- method: PUT
name: pagesputtemplatepageimage
description: Docusign Rotates page image from a template for display.
call: docusign-templates.pagesputtemplatepageimage
with:
accountId: rest.accountId
documentId: rest.documentId
pageNumber: rest.pageNumber
templateId: rest.templateId
body: rest.body
outputParameters:
- type: object
mapping: $.
- path: /v1/v2/accounts/{accountid}/templates/{templateid}/notification
name: v2-accounts-accountid-templates-templateid-notification
description: REST surface for v2-accounts-accountId-templates-templateId-notification.
operations:
- method: GET
name: notificationgettemplatestemplateidnotification
description: Docusign Gets template notification information.
call: docusign-templates.notificationgettemplatestemplateidnotification
with:
accountId: rest.accountId
templateId: rest.templateId
outputParameters:
- type: object
mapping: $.
- method: PUT
name: notificationputtemplatestemplateidnotification
description: Docusign Updates the notification structure for an existing template.
call: docusign-templates.notificationputtemplatestemplateidnotification
with:
accountId: rest.accountId
templateId: rest.templateId
body: rest.body
outputParameters:
- type: object
mapping: $.
- path: /v1/v2/accounts/{accountid}/templates/{templateid}/{templatepart}
name: v2-accounts-accountid-templates-templateid-templatepart
description: REST surface for v2-accounts-accountId-templates-templateId-templatePart.
operations:
- method: PUT
name: templatesputtemplatepart
description: Docusign Shares a template with a group
call: docusign-templates.templatesputtemplatepart
with:
accountId: rest.accountId
templateId: rest.templateId
templatePart: rest.templatePart
body: rest.body
outputParameters:
- type: object
mapping: $.
- method: DELETE
name: templatesdeletetemplatepart
description: Docusign Removes a member group's sharing permissions for a template.
call: docusign-templates.templatesdeletetemplatepart
with:
accountId: rest.accountId
templateId: rest.templateId
templatePart: rest.templatePart
body: rest.body
outputParameters:
- type: object
mapping: $.
- type: mcp
namespace: docusign-templates-mcp
port: 9090
transport: http
description: MCP adapter for DocuSign REST API — Templates. One tool per consumed operation, routed inline through this
capability's consumes block.
tools:
- name: docusign-gets-definition-template
description: Docusign Gets the definition of a template.
hints:
readOnly: true
destructive: false
idempotent: true
call: docusign-templates.templatesgettemplates
with:
accountId: tools.accountId
count: tools.count
folder: tools.folder
folder_ids: tools.folder_ids
from_date: tools.from_date
include: tools.include
modified_from_date: tools.modified_from_date
modified_to_date: tools.modified_to_date
order: tools.order
order_by: tools.order_by
search_text: tools.search_text
shared_by_me: tools.shared_by_me
start_position: tools.start_position
to_date: tools.to_date
used_from_date: tools.used_from_date
used_to_date: tools.used_to_date
user_filter: tools.user_filter
user_id: tools.user_id
outputParameters:
- type: object
mapping: $.
- name: docusign-creates-template
description: Docusign Creates a template.
hints:
readOnly: false
destructive: false
idempotent: false
call: docusign-templates.templatesposttemplates
with:
accountId: tools.accountId
body: tools.body
outputParameters:
- type: object
mapping: $.
- name: docusign-gets-list-templates-specified
description: Docusign Gets a list of templates for a specified account.
hints:
readOnly: true
destructive: false
idempotent: true
call: docusign-templates.templatesgettemplate
with:
accountId: tools.accountId
templateId: tools.templateId
include: tools.include
outputParameters:
- type: object
mapping: $.
- name: docusign-updates-existing-template
description: Docusign Updates an existing template.
hints:
readOnly: false
destructive: false
idempotent: true
call: docusign-templates.templatesputtemplate
with:
accountId: tools.accountId
templateId: tools.templateId
body: tools.body
outputParameters:
- type: object
mapping: $.
- name: docusign-returns-document-page-image-s
description: Docusign Returns document page image(s) based on input.
hints:
readOnly: true
destructive: false
idempotent: true
call: docusign-templates.pagesgettemplatepageimages
with:
accountId: tools.accountId
documentId: tools.documentId
templateId: tools.templateId
count: tools.count
dpi: tools.dpi
max_height: tools.max_height
max_width: tools.max_width
nocache: tools.nocache
show_changes: tools.show_changes
start_position: tools.start_position
outputParameters:
- type: object
mapping: $.
- name: docusign-deletes-page-document-template
description: Docusign Deletes a page from a document in an template.
hints:
readOnly: false
destructive: true
idempotent: true
call: docusign-templates.pagesdeletetemplatepage
with:
accountId: tools.accountId
documentId: tools.documentId
pageNumber: tools.pageNumber
templateId: tools.templateId
body: tools.body
outputParameters:
- type: object
mapping: $.
- name: docusign-gets-page-image-template
description: Docusign Gets a page image from a template for display.
hints:
readOnly: true
destructive: false
idempotent: true
call: docusign-templates.pagesgettemplatepageimage
with:
accountId: tools.accountId
documentId: tools.documentId
pageNumber: tools.pageNumber
templateId: tools.templateId
dpi: tools.dpi
max_height: tools.max_height
max_width: tools.max_width
show_changes: tools.show_changes
outputParameters:
- type: object
mapping: $.
- name: docusign-rotates-page-image-template
description: Docusign Rotates page image from a template for display.
hints:
readOnly: false
destructive: false
idempotent: true
call: docusign-templates.pagesputtemplatepageimage
with:
accountId: tools.accountId
documentId: tools.documentId
pageNumber: tools.pageNumber
templateId: tools.templateId
body: tools.body
outputParameters:
- type: object
mapping: $.
- name: docusign-gets-template-notification-information
description: Docusign Gets template notification information.
hints:
readOnly: true
destructive: false
idempotent: true
call: docusign-templates.notificationgettemplatestemplateidnotification
with:
accountId: tools.accountId
templateId: tools.templateId
outputParameters:
- type: object
mapping: $.
- name: docusign-updates-notification-structure-existing
description: Docusign Updates the notification structure for an existing template.
hints:
readOnly: false
destructive: false
idempotent: true
call: docusign-templates.notificationputtemplatestemplateidnotification
with:
accountId: tools.accountId
templateId: tools.templateId
body: tools.body
outputParameters:
- type: object
mapping: $.
- name: docusign-shares-template-group
description: Docusign Shares a template with a group
hints:
readOnly: false
destructive: false
idempotent: true
call: docusign-templates.templatesputtemplatepart
with:
accountId: tools.accountId
templateId: tools.templateId
templatePart: tools.templatePart
body: tools.body
outputParameters:
- type: object
mapping: $.
- name: docusign-removes-member-group-s-sharing
description: Docusign Removes a member group's sharing permissions for a template.
hints:
readOnly: false
destructive: true
idempotent: true
call: docusign-templates.templatesdeletetemplatepart
with:
accountId: tools.accountId
templateId: tools.templateId
templatePart: tools.templatePart
body: tools.body
outputParameters:
- type: object
mapping: $.