Migrating from DocuSign
This guide helps you migrate an existing DocuSign eSignature integration to Propper Sign API with minimal code changes.
What: Move your e-signature workflows from DocuSign to Propper Sign.
Why it's straightforward: Propper Sign offers backwards-compatible API endpoints for common DocuSign operations, so migrations require minimal code changes—primarily updating the base URL and authentication.
Two options: Switch everything at once (hard cutover) or run both systems in parallel during transition.
Propper Sign offers backwards-compatible API endpoints for core DocuSign v2.1 signing workflows, including envelope creation, embedded signing, recipient routing, document retrieval, and status tracking. See Feature Parity for detailed compatibility information.
- Migrating Data from DocuSign - Use DocuSign Connect webhooks to import historical/completed envelopes and keep status synced
- Sign Webhooks - Propper → your backend event notifications
- Embedded Signing - Recipient view setup and best practices
Who This Guide Is For
This guide is for you if:
- You currently call DocuSign eSignature REST API v2.1 from your backend and want to switch to Propper
- You want minimal code changes and a predictable cutover process
Overview
Most migrations involve three changes:
- Base URL — Change where API requests are sent (from DocuSign servers to Propper servers)
- Authentication — Change how your system proves its identity (from DocuSign's JWT tokens to Propper's OAuth client credentials)
- Webhook strategy — Decide how you'll receive notifications about signing events
Do not hardcode na1.docusign.net or any specific DocuSign region. DocuSign recommends retrieving the correct base_uri via the UserInfo endpoint ↗ (/oauth/userinfo). The base URI depends on where your DocuSign account is hosted.
Migration Paths
Choose the approach that fits your situation:
Option A: Hard Cutover
Switch base URL and auth in one deployment. Best for:
- Simple integrations with few endpoints
- No in-flight DocuSign envelopes to track
- Teams comfortable with a clean break
Option B: Parallel Operation + Sync
Keep DocuSign running during transition, import into Propper via Connect. Best for:
- Complex integrations needing gradual migration
- Existing DocuSign envelopes that need to complete
- Teams wanting to test Propper before full cutover
See Migration Strategy with DocuSign Connect for the parallel approach.
Quick Migration Checklist
- Update API base URL to Propper
- Replace DocuSign auth with Propper OAuth (client credentials)
- Swap DocuSign SDK usage for:
- Direct HTTP calls (recommended), or
- A thin compatibility wrapper
- Update webhook strategy:
- If you used DocuSign Connect, decide whether to keep it during transition
- If you need Propper outbound events, configure Propper Webhooks
- Test core flows end-to-end (see Testing Checklist)
- Review Feature Parity (especially tabs and templates)
- Update error handling for Propper error codes
API Endpoint Mapping
Base URL
| Environment | DocuSign | Propper |
|---|---|---|
| Production | https://{base_uri} (from UserInfo ↗) | https://api.propper.ai |
DocuSign base URI is account-region specific. Always fetch it from /oauth/userinfo rather than hardcoding a region like na1, eu, or au.
Endpoint Paths
Propper uses the same path structure as DocuSign for core eSignature v2.1 envelope operations. Simply replace the base URL:
| Operation | Path |
|---|---|
| Create envelope | POST /accounts/{accountId}/envelopes |
| Get envelope | GET /accounts/{accountId}/envelopes/{envelopeId} |
| List envelopes | GET /accounts/{accountId}/envelopes |
| Update envelope | PUT /accounts/{accountId}/envelopes/{envelopeId} |
| Get recipients | GET /accounts/{accountId}/envelopes/{envelopeId}/recipients |
| Recipient view | POST /accounts/{accountId}/envelopes/{envelopeId}/views/recipient |
| Sender view | POST /accounts/{accountId}/envelopes/{envelopeId}/views/sender |
| List documents | GET /accounts/{accountId}/envelopes/{envelopeId}/documents |
| Download document | GET /accounts/{accountId}/envelopes/{envelopeId}/documents/{documentId} |
All paths are prefixed with /restapi/v2.1. See the DocuSign Envelopes API reference ↗ for detailed request/response schemas.
In Propper, the {accountId} path parameter is your Propper Organization ID. Find this in your Organization Settings.
Known Differences
| Field/Feature | DocuSign | Propper | Notes |
|---|---|---|---|
| Account ID | DocuSign account GUID | Propper org ID | Different value, same path position |
Recipient view returnUrl | Required | Required | Same field, same behavior |
Recipient view clientUserId | Required for embedded | Required for embedded | Same field, same behavior |