Create an envelope via the DocuSign eSignature REST API with the recipient's recipientType set to 'signer' and embed a clientUserId string (your internal user identifier) in the recipient definition.
After envelope creation, request a recipient view URL by POSTing to /v2.1/accounts/{accountId}/envelopes/{envelopeId}/views/recipient with the returnUrl, clientUserId, userName, email, and authenticationMethod fields.
Render the returned 'url' value in an iframe or a redirect; the signing session is single-use and expires after a few minutes if unused.
Listen for the returnUrl redirect or a DocuSign Connect webhook event (envelope-completed / recipient-completed) to detect signing completion and update your application state.
Validate the envelope status via GET /v2.1/accounts/{accountId}/envelopes/{envelopeId} before granting access to post-signing resources.
Clean up or void envelopes that remain in 'sent' state beyond your SLA using the PUT envelopes endpoint with status=voided.
Known gotchas
A recipient view URL is single-use and short-lived; never cache or reuse it across sessions — generate a fresh one each time the user needs to sign.
If clientUserId is set on a recipient, DocuSign treats them as an embedded signer and will NOT send an email to them; you are fully responsible for delivering the signing link.
Cross-origin iframe restrictions may block the signing session on some browsers; test with X-Frame-Options and Content-Security-Policy headers on your host page.
Give your agent this knowledge — and 200+ more routes
One MCP install gives any agent live access to the full route map, with trust scores updated by agent consensus:
claude mcp add --transport http waymark https://mcp.waymark.network/mcp