Dropbox Sign (HelloSign) Template API
{'$ref': './markdown/en/tags/template-tag-description.md'}
{'$ref': './markdown/en/tags/template-tag-description.md'}
openapi: 3.0.3
info:
title: Dropbox Sign Account Template API
description: Dropbox Sign v3 API
termsOfService: https://www.hellosign.com/terms
contact:
email: apisupport@hellosign.com
license:
name: MIT
url: https://opensource.org/licenses/MIT
version: 3.0.0
servers:
- url: https://api.hellosign.com/v3
security:
- api_key: []
- oauth2:
- account_access
- signature_request_access
- template_access
- team_access
- api_app_access
- basic_account_info
- request_signature
tags:
- name: Template
description:
$ref: ./markdown/en/tags/template-tag-description.md
paths:
/template/add_user/{template_id}:
post:
tags:
- Template
summary: Add User to Template
description: Gives the specified Account access to the specified Template. The specified Account must be a part of your Team.
operationId: templateAddUser
parameters:
- name: template_id
in: path
description: The id of the Template to give the Account access to.
required: true
schema:
type: string
example: f57db65d3f933b5316d398057a36176831451a35
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/TemplateAddUserRequest'
examples:
example:
$ref: '#/components/examples/TemplateAddUserRequest'
responses:
'200':
description: successful operation
headers:
X-RateLimit-Limit:
$ref: '#/components/headers/X-RateLimit-Limit'
X-RateLimit-Remaining:
$ref: '#/components/headers/X-RateLimit-Remaining'
X-Ratelimit-Reset:
$ref: '#/components/headers/X-Ratelimit-Reset'
content:
application/json:
schema:
$ref: '#/components/schemas/TemplateGetResponse'
examples:
example:
$ref: '#/components/examples/TemplateAddUserResponse'
4XX:
description: failed_operation
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
examples:
400_example:
$ref: '#/components/examples/Error400Response'
401_example:
$ref: '#/components/examples/Error401Response'
402_example:
$ref: '#/components/examples/Error402Response'
403_example:
$ref: '#/components/examples/Error403Response'
429_example:
$ref: '#/components/examples/Error429Response'
404_example:
$ref: '#/components/examples/Error404Response'
4XX_example:
$ref: '#/components/examples/Error4XXResponse'
security:
- api_key: []
- oauth2:
- template_access
x-codeSamples:
- lang: PHP
label: PHP
source:
$ref: examples/TemplateAddUserExample.php
- lang: C#
label: C#
source:
$ref: examples/TemplateAddUserExample.cs
- lang: TypeScript
label: TypeScript
source:
$ref: examples/TemplateAddUserExample.ts
- lang: Java
label: Java
source:
$ref: examples/TemplateAddUserExample.java
- lang: Ruby
label: Ruby
source:
$ref: examples/TemplateAddUserExample.rb
- lang: Python
label: Python
source:
$ref: examples/TemplateAddUserExample.py
- lang: cURL
label: cURL
source:
$ref: examples/TemplateAddUserExample.sh
x-meta:
seo:
title: Add User to Template | REST API | Dropbox Sign for Developers
description: The RESTful Dropbox Sign API easily allows you to build custom eSign integrations. To find out how to give an Account access to a Template, click here.
/template/create:
post:
tags:
- Template
summary: Create Template
description: 'Creates a template that can be used in future signature requests.
If `client_id` is provided, the template will be created as an embedded template. Embedded templates can be used for embedded signature requests and can be edited later by generating a new `edit_url` with [/embedded/edit_url/{template_id}](/api/reference/operation/embeddedEditUrl/).
Template creation may complete asynchronously after the initial request is accepted. It is recommended that a callback be implemented to listen for the callback event. A `template_created` event indicates the template is ready to use, while a `template_error` event indicates there was a problem while creating the template. If a callback handler has been configured and the event has not been received within 60 minutes of making the call, check the status of the request in the API dashboard and retry the request if necessary.'
operationId: templateCreate
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/TemplateCreateRequest'
examples:
example:
$ref: '#/components/examples/TemplateCreateRequest'
form_fields_per_document_example:
$ref: '#/components/examples/TemplateCreateRequestFormFieldsPerDocument'
form_field_groups_example:
$ref: '#/components/examples/TemplateCreateRequestFormFieldGroups'
form_field_rules_example:
$ref: '#/components/examples/TemplateCreateRequestFormFieldRules'
multipart/form-data:
schema:
$ref: '#/components/schemas/TemplateCreateRequest'
responses:
'200':
description: successful operation
headers:
X-RateLimit-Limit:
$ref: '#/components/headers/X-RateLimit-Limit'
X-RateLimit-Remaining:
$ref: '#/components/headers/X-RateLimit-Remaining'
X-Ratelimit-Reset:
$ref: '#/components/headers/X-Ratelimit-Reset'
content:
application/json:
schema:
$ref: '#/components/schemas/TemplateCreateResponse'
examples:
example:
$ref: '#/components/examples/TemplateCreateResponse'
4XX:
description: failed_operation
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
examples:
400_example:
$ref: '#/components/examples/Error400Response'
401_example:
$ref: '#/components/examples/Error401Response'
402_example:
$ref: '#/components/examples/Error402Response'
403_example:
$ref: '#/components/examples/Error403Response'
429_example:
$ref: '#/components/examples/Error429Response'
404_example:
$ref: '#/components/examples/Error404Response'
409_example:
$ref: '#/components/examples/Error409Response'
4XX_example:
$ref: '#/components/examples/Error4XXResponse'
security:
- api_key: []
- oauth2:
- template_access
x-codeSamples:
- lang: PHP
label: PHP
source:
$ref: examples/TemplateCreateExample.php
- lang: C#
label: C#
source:
$ref: examples/TemplateCreateExample.cs
- lang: TypeScript
label: TypeScript
source:
$ref: examples/TemplateCreateExample.ts
- lang: Java
label: Java
source:
$ref: examples/TemplateCreateExample.java
- lang: Ruby
label: Ruby
source:
$ref: examples/TemplateCreateExample.rb
- lang: Python
label: Python
source:
$ref: examples/TemplateCreateExample.py
- lang: cURL
label: cURL
source:
$ref: examples/TemplateCreateExample.sh
x-meta:
seo:
title: Create Template | Dropbox Sign for Developers
description: The RESTful Dropbox Sign API easily allows you to build custom eSign integrations. To find out how to create an template, click here.
/template/create_embedded_draft:
post:
tags:
- Template
summary: Create Embedded Template Draft
description: The first step in an embedded template workflow. Creates a draft template that can then be further set up in the template 'edit' stage.
operationId: templateCreateEmbeddedDraft
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/TemplateCreateEmbeddedDraftRequest'
examples:
example:
$ref: '#/components/examples/TemplateCreateEmbeddedDraftRequest'
form_fields_per_document_example:
$ref: '#/components/examples/TemplateCreateEmbeddedDraftRequestFormFieldsPerDocument'
form_field_groups_example:
$ref: '#/components/examples/TemplateCreateEmbeddedDraftRequestFormFieldGroups'
form_field_rules_example:
$ref: '#/components/examples/TemplateCreateEmbeddedDraftRequestFormFieldRules'
multipart/form-data:
schema:
$ref: '#/components/schemas/TemplateCreateEmbeddedDraftRequest'
responses:
'200':
description: successful operation
headers:
X-RateLimit-Limit:
$ref: '#/components/headers/X-RateLimit-Limit'
X-RateLimit-Remaining:
$ref: '#/components/headers/X-RateLimit-Remaining'
X-Ratelimit-Reset:
$ref: '#/components/headers/X-Ratelimit-Reset'
content:
application/json:
schema:
$ref: '#/components/schemas/TemplateCreateEmbeddedDraftResponse'
examples:
example:
$ref: '#/components/examples/TemplateCreateEmbeddedDraftResponse'
4XX:
description: failed_operation
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
examples:
400_example:
$ref: '#/components/examples/Error400Response'
401_example:
$ref: '#/components/examples/Error401Response'
402_example:
$ref: '#/components/examples/Error402Response'
403_example:
$ref: '#/components/examples/Error403Response'
429_example:
$ref: '#/components/examples/Error429Response'
404_example:
$ref: '#/components/examples/Error404Response'
409_example:
$ref: '#/components/examples/Error409Response'
4XX_example:
$ref: '#/components/examples/Error4XXResponse'
security:
- api_key: []
- oauth2:
- template_access
x-codeSamples:
- lang: PHP
label: PHP
source:
$ref: examples/TemplateCreateEmbeddedDraftExample.php
- lang: C#
label: C#
source:
$ref: examples/TemplateCreateEmbeddedDraftExample.cs
- lang: TypeScript
label: TypeScript
source:
$ref: examples/TemplateCreateEmbeddedDraftExample.ts
- lang: Java
label: Java
source:
$ref: examples/TemplateCreateEmbeddedDraftExample.java
- lang: Ruby
label: Ruby
source:
$ref: examples/TemplateCreateEmbeddedDraftExample.rb
- lang: Python
label: Python
source:
$ref: examples/TemplateCreateEmbeddedDraftExample.py
- lang: cURL
label: cURL
source:
$ref: examples/TemplateCreateEmbeddedDraftExample.sh
x-meta:
seo:
title: Create Embedded Template Draft | Dropbox Sign for Developers
description: The RESTful Dropbox Sign API easily allows you to build custom eSign integrations. To find out how to create an embedded draft template, click here.
/template/delete/{template_id}:
post:
tags:
- Template
summary: Delete Template
description: Completely deletes the template specified from the account.
operationId: templateDelete
parameters:
- name: template_id
in: path
description: The id of the Template to delete.
required: true
schema:
type: string
example: f57db65d3f933b5316d398057a36176831451a35
responses:
'200':
description: successful operation
headers:
X-RateLimit-Limit:
$ref: '#/components/headers/X-RateLimit-Limit'
X-RateLimit-Remaining:
$ref: '#/components/headers/X-RateLimit-Remaining'
X-Ratelimit-Reset:
$ref: '#/components/headers/X-Ratelimit-Reset'
content:
application/json: {}
4XX:
description: failed_operation
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
examples:
400_example:
$ref: '#/components/examples/Error400Response'
401_example:
$ref: '#/components/examples/Error401Response'
402_example:
$ref: '#/components/examples/Error402Response'
403_example:
$ref: '#/components/examples/Error403Response'
429_example:
$ref: '#/components/examples/Error429Response'
404_example:
$ref: '#/components/examples/Error404Response'
409_example:
$ref: '#/components/examples/Error409Response'
4XX_example:
$ref: '#/components/examples/Error4XXResponse'
security:
- api_key: []
- oauth2:
- template_access
x-codeSamples:
- lang: PHP
label: PHP
source:
$ref: examples/TemplateDeleteExample.php
- lang: C#
label: C#
source:
$ref: examples/TemplateDeleteExample.cs
- lang: TypeScript
label: TypeScript
source:
$ref: examples/TemplateDeleteExample.ts
- lang: Java
label: Java
source:
$ref: examples/TemplateDeleteExample.java
- lang: Ruby
label: Ruby
source:
$ref: examples/TemplateDeleteExample.rb
- lang: Python
label: Python
source:
$ref: examples/TemplateDeleteExample.py
- lang: cURL
label: cURL
source:
$ref: examples/TemplateDeleteExample.sh
x-meta:
seo:
title: Delete Template | API Documentation | Dropbox Sign for Developers
description: The RESTful Dropbox Sign API easily allows you to build custom integrations. To find out how to completely delete a template from the account, click here.
/template/files/{template_id}:
get:
tags:
- Template
summary: Get Template Files
description: 'Obtain a copy of the current documents specified by the `template_id` parameter. Returns a PDF or ZIP file.
If the files are currently being prepared, a status code of `409` will be returned instead. In this case please wait for the `template_created` callback event.'
operationId: templateFiles
parameters:
- name: template_id
in: path
description: The id of the template files to retrieve.
required: true
schema:
type: string
example: f57db65d3f933b5316d398057a36176831451a35
- name: file_type
in: query
description: Set to `pdf` for a single merged document or `zip` for a collection of individual documents.
schema:
type: string
enum:
- pdf
- zip
responses:
'200':
description: successful operation
headers:
X-RateLimit-Limit:
$ref: '#/components/headers/X-RateLimit-Limit'
X-RateLimit-Remaining:
$ref: '#/components/headers/X-RateLimit-Remaining'
X-Ratelimit-Reset:
$ref: '#/components/headers/X-Ratelimit-Reset'
content:
application/pdf:
schema:
type: string
format: binary
application/zip:
schema:
type: string
format: binary
4XX:
description: failed_operation
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
examples:
400_example:
$ref: '#/components/examples/Error400Response'
401_example:
$ref: '#/components/examples/Error401Response'
402_example:
$ref: '#/components/examples/Error402Response'
403_example:
$ref: '#/components/examples/Error403Response'
429_example:
$ref: '#/components/examples/Error429Response'
404_example:
$ref: '#/components/examples/Error404Response'
409_example:
$ref: '#/components/examples/Error409Response'
422_example:
$ref: '#/components/examples/Error422Response'
4XX_example:
$ref: '#/components/examples/Error4XXResponse'
security:
- api_key: []
- oauth2:
- template_access
x-codeSamples:
- lang: PHP
label: PHP
source:
$ref: examples/TemplateFilesExample.php
- lang: C#
label: C#
source:
$ref: examples/TemplateFilesExample.cs
- lang: TypeScript
label: TypeScript
source:
$ref: examples/TemplateFilesExample.ts
- lang: Java
label: Java
source:
$ref: examples/TemplateFilesExample.java
- lang: Ruby
label: Ruby
source:
$ref: examples/TemplateFilesExample.rb
- lang: Python
label: Python
source:
$ref: examples/TemplateFilesExample.py
- lang: cURL
label: cURL
source:
$ref: examples/TemplateFilesExample.sh
x-meta:
seo:
title: Get Template Files | API Documentation | Dropbox Sign for Developers
description: The RESTful Dropbox Sign API easily allows you to build custom integrations. To find out how to get a copy of the current specified documents, click here.
/template/files_as_data_uri/{template_id}:
get:
tags:
- Template
summary: Get Template Files as Data Uri
description: 'Obtain a copy of the current documents specified by the `template_id` parameter. Returns a JSON object with a `data_uri` representing the base64 encoded file (PDFs only).
If the files are currently being prepared, a status code of `409` will be returned instead. In this case please wait for the `template_created` callback event.'
operationId: templateFilesAsDataUri
parameters:
- name: template_id
in: path
description: The id of the template files to retrieve.
required: true
schema:
type: string
example: f57db65d3f933b5316d398057a36176831451a35
responses:
'200':
description: successful operation
headers:
X-RateLimit-Limit:
$ref: '#/components/headers/X-RateLimit-Limit'
X-RateLimit-Remaining:
$ref: '#/components/headers/X-RateLimit-Remaining'
X-Ratelimit-Reset:
$ref: '#/components/headers/X-Ratelimit-Reset'
content:
application/json:
schema:
$ref: '#/components/schemas/FileResponseDataUri'
examples:
example:
$ref: '#/components/examples/TemplateFilesResponse'
4XX:
description: failed_operation
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
examples:
400_example:
$ref: '#/components/examples/Error400Response'
401_example:
$ref: '#/components/examples/Error401Response'
402_example:
$ref: '#/components/examples/Error402Response'
403_example:
$ref: '#/components/examples/Error403Response'
429_example:
$ref: '#/components/examples/Error429Response'
404_example:
$ref: '#/components/examples/Error404Response'
409_example:
$ref: '#/components/examples/Error409Response'
422_example:
$ref: '#/components/examples/Error422Response'
4XX_example:
$ref: '#/components/examples/Error4XXResponse'
security:
- api_key: []
- oauth2:
- template_access
x-codeSamples:
- lang: PHP
label: PHP
source:
$ref: examples/TemplateFilesAsDataUriExample.php
- lang: C#
label: C#
source:
$ref: examples/TemplateFilesAsDataUriExample.cs
- lang: TypeScript
label: TypeScript
source:
$ref: examples/TemplateFilesAsDataUriExample.ts
- lang: Java
label: Java
source:
$ref: examples/TemplateFilesAsDataUriExample.java
- lang: Ruby
label: Ruby
source:
$ref: examples/TemplateFilesAsDataUriExample.rb
- lang: Python
label: Python
source:
$ref: examples/TemplateFilesAsDataUriExample.py
- lang: cURL
label: cURL
source:
$ref: examples/TemplateFilesAsDataUriExample.sh
x-meta:
seo:
title: Get Template Files | API Documentation | Dropbox Sign for Developers
description: The RESTful Dropbox Sign API easily allows you to build custom integrations. To find out how to get a copy of the current specified documents, click here.
/template/files_as_file_url/{template_id}:
get:
tags:
- Template
summary: Get Template Files as File Url
description: 'Obtain a copy of the current documents specified by the `template_id` parameter. Returns a JSON object with a url to the file (PDFs only).
If the files are currently being prepared, a status code of `409` will be returned instead. In this case please wait for the `template_created` callback event.'
operationId: templateFilesAsFileUrl
parameters:
- name: template_id
in: path
description: The id of the template files to retrieve.
required: true
schema:
type: string
example: f57db65d3f933b5316d398057a36176831451a35
- name: force_download
in: query
description: By default when opening the `file_url` a browser will download the PDF and save it locally. When set to `0` the PDF file will be displayed in the browser.
schema:
type: integer
default: 1
responses:
'200':
description: successful operation
headers:
X-RateLimit-Limit:
$ref: '#/components/headers/X-RateLimit-Limit'
X-RateLimit-Remaining:
$ref: '#/components/headers/X-RateLimit-Remaining'
X-Ratelimit-Reset:
$ref: '#/components/headers/X-Ratelimit-Reset'
content:
application/json:
schema:
$ref: '#/components/schemas/FileResponse'
examples:
example:
$ref: '#/components/examples/TemplateFilesResponse'
4XX:
description: failed_operation
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
examples:
400_example:
$ref: '#/components/examples/Error400Response'
401_example:
$ref: '#/components/examples/Error401Response'
402_example:
$ref: '#/components/examples/Error402Response'
403_example:
$ref: '#/components/examples/Error403Response'
429_example:
$ref: '#/components/examples/Error429Response'
404_example:
$ref: '#/components/examples/Error404Response'
409_example:
$ref: '#/components/examples/Error409Response'
422_example:
$ref: '#/components/examples/Error422Response'
4XX_example:
$ref: '#/components/examples/Error4XXResponse'
security:
- api_key: []
- oauth2:
- template_access
x-codeSamples:
- lang: PHP
label: PHP
source:
$ref: examples/TemplateFilesAsFileUrlExample.php
- lang: C#
label: C#
source:
$ref: examples/TemplateFilesAsFileUrlExample.cs
- lang: TypeScript
label: TypeScript
source:
$ref: examples/TemplateFilesAsFileUrlExample.ts
- lang: Java
label: Java
source:
$ref: examples/TemplateFilesAsFileUrlExample.java
- lang: Ruby
label: Ruby
source:
$ref: examples/TemplateFilesAsFileUrlExample.rb
- lang: Python
label: Python
source:
$ref: examples/TemplateFilesAsFileUrlExample.py
- lang: cURL
label: cURL
source:
$ref: examples/TemplateFilesAsFileUrlExample.sh
x-meta:
seo:
title: Get Template Files | API Documentation | Dropbox Sign for Developers
description: The RESTful Dropbox Sign API easily allows you to build custom integrations. To find out how to get a copy of the current specified documents, click here.
/template/{template_id}:
get:
tags:
- Template
summary: Get Template
description: Returns the Template specified by the `template_id` parameter.
operationId: templateGet
parameters:
- name: template_id
in: path
description: The id of the Template to retrieve.
required: true
schema:
type: string
example: f57db65d3f933b5316d398057a36176831451a35
responses:
'200':
description: successful operation
headers:
X-RateLimit-Limit:
$ref: '#/components/headers/X-RateLimit-Limit'
X-RateLimit-Remaining:
$ref: '#/components/headers/X-RateLimit-Remaining'
X-Ratelimit-Reset:
$ref: '#/components/headers/X-Ratelimit-Reset'
content:
application/json:
schema:
$ref: '#/components/schemas/TemplateGetResponse'
examples:
example:
$ref: '#/components/examples/TemplateGetResponse'
4XX:
description: failed_operation
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
examples:
400_example:
$ref: '#/components/examples/Error400Response'
401_example:
$ref: '#/components/examples/Error401Response'
402_example:
$ref: '#/components/examples/Error402Response'
403_example:
$ref: '#/components/examples/Error403Response'
429_example:
$ref: '#/components/examples/Error429Response'
404_example:
$ref: '#/components/examples/Error404Response'
4XX_example:
$ref: '#/components/examples/Error4XXResponse'
security:
- api_key: []
- oauth2:
- template_access
x-codeSamples:
- lang: PHP
label: PHP
source:
$ref: examples/TemplateGetExample.php
- lang: C#
label: C#
source:
$ref: examples/TemplateGetExample.cs
- lang: TypeScript
label: TypeScript
source:
$ref: examples/TemplateGetExample.ts
- lang: Java
label: Java
source:
$ref: examples/TemplateGetExample.java
- lang: Ruby
label: Ruby
source:
$ref: examples/TemplateGetExample.rb
- lang: Python
label: Python
source:
$ref: examples/TemplateGetExample.py
- lang: cURL
label: cURL
source:
$ref: examples/TemplateGetExample.sh
x-meta:
seo:
title: Get Template | API Documentation | Dropbox Sign for Developers
description: The RESTful Dropbox Sign API easily allows you to build custom integrations. To find out how to return the Template specified by the `template_id` parameter, click here.
/template/list:
get:
tags:
- Template
summary: List Templates
description: 'Returns a list of the Templates that are accessible by you.
Take a look at our [search guide](/api/reference/search/) to learn more about querying templates.'
operationId: templateList
parameters:
- name: account_id
in: query
description: Which account to return Templates for. Must be a team member. Use `all` to indicate all team members. Defaults to your account.
schema:
type: string
- name: page
in: query
description: Which page number of the Template List to return. Defaults to `1`.
schema:
type: integer
default: 1
- name: page_size
in: query
description: Number of objects to be returned per page. Must be between `1` and `100`. Default is `20`.
schema:
type: integer
default: 20
maximum: 100
minimum: 1
- name: query
in: query
description: String that includes search terms and/or fields to be used to filter the Template objects.
schema:
type: string
responses:
'200':
description: successful operation
headers:
X-RateLimit-Limit:
$ref: '#/components/headers/X-RateLimit-Limit'
X-RateLimit-Remaining:
$ref: '#/components/headers/X-RateLimit-Remaining'
X-Ratelimit-Reset:
$ref: '#/components/headers/X-Ratelimit-Reset'
content:
application/json:
schema:
$ref: '#/components/schemas/TemplateListResponse'
examples:
example:
$ref: '#/components/examples/TemplateListResponse'
4XX:
description: failed_operation
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
examples:
400_example:
$ref: '#/components/examples/Error400Response'
401_example:
$ref: '#/components/examples/Error401Response'
402_example:
$ref: '#/components/examples/Error402Response'
403_example:
$ref: '#/components/examples/Error403Response'
429_example:
$ref: '#/components/examples/Error429Response'
409_example:
$ref: '#/components/examples/Error409Response'
4XX_example:
$ref: '#/components/examples/Error4XXResponse'
security:
- api_key: []
- oauth2:
- template_access
x-codeSamples:
- lang: PHP
label: P
# --- truncated at 32 KB (111 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/hellosign/refs/heads/main/openapi/hellosign-template-api-openapi.yml