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: $.