Dropbox Sign eSignature Requests
For sales and HR teams sending contracts through Dropbox Sign (formerly HelloSign): send a document or a saved template for signature, chase signers with a reminder, see who has signed, and fetch a download link for the completed PDF. Bulk send jobs and test_mode drafts are covered too.
Connect this API to an AI agent Browse all specs
What you can do with Dropbox Sign eSignature Requests via MCP
Every endpoint below becomes a governed tool your AI agent (Claude, ChatGPT, or a customer-facing VX agent) can call — with scoped permissions, sandbox testing, and audit logs.
| Method | Path | Operation | Description |
|---|---|---|---|
| GET | /account |
getAccount | Get the account's details, quotas and settings |
| GET | /signature_request/list |
listSignatureRequests | List signature requests sent or received, with an optional search query |
| GET | /signature_request/{signature_request_id} |
getSignatureRequest | Get a signature request and the status of each signer |
| POST | /signature_request/send |
sendSignatureRequest | Send documents (by file URL) to signers by email |
| POST | /signature_request/send_with_template |
sendSignatureRequestWithTemplate | Send a signature request built from a saved template |
| POST | /signature_request/remind/{signature_request_id} |
remindSigner | Email a signer a reminder to sign |
| POST | /signature_request/cancel/{signature_request_id} |
cancelSignatureRequest | Cancel a signature request that is not complete yet |
| GET | /signature_request/files_as_file_url/{signature_request_id} |
getSignedFilesUrl | Get a temporary download link for the request's PDF |
| GET | /template/list |
listTemplates | List the templates available to the account |
| GET | /template/{template_id} |
getTemplate | Get a template with its signer roles and merge fields |
| GET | /bulk_send_job/list |
listBulkSendJobs | List bulk send jobs |
| GET | /bulk_send_job/{bulk_send_job_id} |
getBulkSendJob | Get a bulk send job and the requests it created |
Authentication
api_key
HTTP Basic
Dropbox Sign API key, sent as HTTP Basic auth: the API key is the username and the password is empty.
How to get a credential
- Sign in at https://app.hellosign.com and open Settings > API.
- Under API key, click Generate key (or reveal an existing one) and copy it.
- While testing, send every request with
test_mode: true; test requests are free and not legally binding. Live (non-test) requests count against your API plan.
Permissions used
| Access | Operations |
|---|---|
| API key of the account (full account access) | all operations |
OAuth scope basic_account_info / account_access |
getAccount |
OAuth scopes request_signature, signature_request_access |
signature request and bulk send job operations |
OAuth scope template_access |
listTemplates, getTemplate |
Common errors
- 401 Unauthorized: the API key is wrong or was deleted. Generate a new key and update the credential.
- 403 Forbidden: the request is not visible to this account, or live sending needs an API plan (use
test_mode: true). - 400 Bad Request: missing
signers, an unreachablefile_urlsentry, or a template role name that does not match. - 409 Conflict on the file link: the signed files are still being prepared; retry in a few seconds.
- 429 Too Many Requests: the per-minute rate limit was hit (test mode has a lower limit). Wait a minute and retry.
Store the API key as a Basic-auth credential in VX Agents (username = API key, empty password); never paste it into chat.
Usage guide
Setup
- Credential: the Dropbox Sign API key (Settings > API) stored as Basic auth: username = API key, password empty.
- While trying it out, pass
test_mode: trueon every send. Test requests are free and carry a "not legally binding" watermark. - Optional preset: the default
subject/messageyour team uses in contract emails.
Send a contract and follow it through
getAccountto confirm which account the key belongs to and check its remaining quota.- For a recurring document,
listTemplates(usequeryto search by title) andgetTemplateto read its signer roles and merge fields. - Show the user the recipients, documents and message, and ask for confirmation. Then send:
- from a template:
sendSignatureRequestWithTemplatewithtemplate_ids,signers(one per template role:role,name,email_address) andcustom_fieldsto pre-fill merge fields; - from a document:
sendSignatureRequestwithfile_urls(public PDF/DOCX links),signers(name,email_address, optionalorder),title,subject,message.
- from a template:
- Track it with
getSignatureRequest:is_complete,is_declined, and each signer'sstatus_code(awaiting_signature,signed,declined...).listSignatureRequestswithquery(e.g.to:[email protected]) finds older ones. - If a signer is slow, confirm with the user, then
remindSignerwith theiremail_address. - Once complete,
getSignedFilesUrlreturns a temporary link to the signed PDF. - To withdraw an unsigned request (cannot be undone), confirm first, then
cancelSignatureRequest.
Good to know
- Sending, reminding and cancelling email real people: always confirm before calling them.
- File uploads are not supported here; pass documents as
file_urlsor use a template. - A reminder cannot be sent within 1 hour of the previous one, and not for embedded requests.
getSignedFilesUrlanswers 409 while files are being prepared; wait a few seconds and retry. The returned link expires.- Lists page with
pageandpage_size(max 100). - Bulk sends:
listBulkSendJobsandgetBulkSendJobshow the requests a bulk job created. - Source: Dropbox Sign API reference (https://developers.hellosign.com/api/api-quickstart), checked 2026-10-16.
How to use this spec
- Create a free VX Agents account (sandbox tools included).
- Open the marketplace and connect “Dropbox Sign eSignature Requests” to an agent.
- Expose it as an MCP server for Claude/ChatGPT, or chat with it directly.