VX Agents

OpenAPI Marketplace · Documents & E-signature

DocuSign eSignature

v1.0.1 · 11 endpoints · 0 connections · shared by vx.ai

Let an agent send documents for signature with DocuSign: list templates, create and send envelopes from a template, track envelope and recipient status, review the audit trail and get a signing link. Curated from DocuSign's official OpenAPI specification.

Connect this API to an AI agent Browse all specs

What you can do with DocuSign eSignature 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.

MethodPathOperationDescription
GET /v2.1/accounts/{accountId} getAccount Get the DocuSign account's details
GET /v2.1/accounts/{accountId}/templates listTemplates List or search signing templates
GET /v2.1/accounts/{accountId}/templates/{templateId} getTemplate Get a template with its roles and documents
GET /v2.1/accounts/{accountId}/envelopes listEnvelopes Search envelopes by date, status or text
POST /v2.1/accounts/{accountId}/envelopes createEnvelope Create an envelope (from a template) as a draft or send it for signature
GET /v2.1/accounts/{accountId}/envelopes/{envelopeId} getEnvelope Get an envelope's status
PUT /v2.1/accounts/{accountId}/envelopes/{envelopeId} updateEnvelope Send a draft envelope or void a sent one
GET /v2.1/accounts/{accountId}/envelopes/{envelopeId}/recipients listEnvelopeRecipients See each recipient's signing status
GET /v2.1/accounts/{accountId}/envelopes/{envelopeId}/documents listEnvelopeDocuments List the documents in an envelope
GET /v2.1/accounts/{accountId}/envelopes/{envelopeId}/audit_events getEnvelopeAuditEvents Get the envelope's audit trail (sent, viewed, signed)
POST /v2.1/accounts/{accountId}/envelopes/{envelopeId}/views/recipient createRecipientSigningLink Get an embedded signing link for a recipient

Authentication

docusignOAuth

OAuth 2.0

Scopes: signature

DocuSign eSignature uses an OAuth 2.0 access token sent as Authorization: Bearer <token>.

How to get a credential

  1. Sign in to DocuSign and open Settings > Apps and Keys (use a developer account at developers.docusign.com to test first).
  2. Click Add App and Integration Key, add a secret key and the VX Agents OAuth redirect URI.
  3. Complete the Go-Live review so the integration key works against production accounts.
  4. Connect with the Authorization Code grant and the signature scope (add extended for long-lived refresh tokens).
  5. Note your API Account ID (Apps and Keys page) and account base URI: you pass the account id as accountId on every call.

Permissions used

Scope Operations
signature getAccount, listTemplates, getTemplate, listEnvelopes, getEnvelope, createEnvelope, updateEnvelope, listEnvelopeRecipients, listEnvelopeDocuments, getEnvelopeAuditEvents, createRecipientSigningLink

Common errors

  • 401 Unauthorized (USER_AUTHENTICATION_FAILED): token expired (they last 8 hours); refresh it or reconnect.
  • 400 USER_LACKS_MEMBERSHIP / ACCOUNT_LACKS_PERMISSIONS: wrong accountId for this user, or the user is not a sender on that account.
  • 400 INVALID_REQUEST_BODY / TEMPLATE_ID_INVALID: check templateId and that every template role has a name and email.
  • 429 / HOURLY_APIINVOCATION_LIMIT_EXCEEDED: DocuSign allows about 3,000 calls per hour per account; slow down and avoid polling (do not poll an envelope more than once every 15 minutes).

Store the token as a VX Agents credential (OAuth2) and attach it to the agent; never paste it into chat.

Usage guide

Setup

  • Connect a DocuSign OAuth credential with the signature scope (see the authentication section).
  • Preset accountId to your API Account ID (Settings > Apps and Keys). Every operation needs it.
  • Base URL is https://www.docusign.net/restapi (DocuSign production). Accounts are hosted on a shard (na2, na3, eu, au...); if calls return USER_LACKS_MEMBERSHIP or a redirect, the account must be reached through its own base URI shown on the Apps and Keys page.

Send a document for signature from a template

  1. listTemplates with search_text (template name) to find the templateId.
  2. getTemplate with include=recipients to read the role names (e.g. Signer, Client) the template expects.
  3. Collect each signer's name and email from the user. Show a summary (template, roles, recipients, email subject) and wait for the user to confirm before sending.
  4. createEnvelope with templateId, templateRoles (roleName, name, email; routingOrder for signing order), emailSubject, and status:
    • created = save a draft for the user to review in DocuSign,
    • sent = email the recipients now.
  5. Send a reviewed draft later with updateEnvelope { "status": "sent" }.

Track and follow up

  1. listEnvelopes with from_date (required unless you pass envelope_ids), optional status (sent,delivered,completed,declined,voided) and search_text.
  2. getEnvelope for overall status; listEnvelopeRecipients to see who has signed; getEnvelopeAuditEvents for the full trail; listEnvelopeDocuments for the files.
  3. Embedded signing: create the envelope with clientUserId on the role, then createRecipientSigningLink with the same userName, email, clientUserId, authenticationMethod: "none" and a returnUrl. The link expires after 5 minutes.
  4. Cancel with updateEnvelope { "status": "voided", "voidedReason": "..." } only after the user confirms.

Good to know

  • Dates are ISO 8601, e.g. 2026-10-01 or 2026-10-01T00:00:00Z.
  • Envelope and template ids are GUIDs.
  • Do not poll one envelope more than once every 15 minutes (DocuSign rate rules); about 3,000 calls/hour per account.
  • Sending creates a legally binding signing request: always confirm recipients and template first.

How to use this spec

  1. Create a free VX Agents account (sandbox tools included).
  2. Open the marketplace and connect “DocuSign eSignature” to an agent.
  3. Expose it as an MCP server for Claude/ChatGPT, or chat with it directly.

Related APIs