| name | documenso-upgrade-migration |
| description | Manage Documenso API version upgrades and SDK migrations.
Use when upgrading from v1 to v2 API, updating SDK versions,
or migrating between Documenso versions.
Trigger with phrases like "documenso upgrade", "documenso v2 migration",
"update documenso SDK", "documenso API version".
|
| allowed-tools | Read, Write, Edit, Bash(npm:*) |
| version | 1.13.0 |
| license | MIT |
| author | Jeremy Longshore <jeremy@intentsolutions.io> |
| tags | ["saas","documenso","api","migration"] |
| compatibility | Designed for Claude Code, also compatible with Codex and OpenClaw |
Documenso Upgrade & Migration
Current State
!npm list @documenso/sdk-typescript 2>/dev/null || echo 'SDK not installed'
!npm list documenso-sdk-python 2>/dev/null || pip show documenso-sdk-python 2>/dev/null | head -3 || echo 'Python SDK not installed'
Overview
Guide for upgrading between Documenso API versions and SDK updates. Documenso has two API versions: v1 (legacy, document-centric) and v2 (recommended, envelope-based with multi-document support). The TypeScript and Python SDKs use the v2 API by default.
Prerequisites
- Current Documenso integration working
- Test environment available
- Feature flag system (recommended for gradual rollout)
API Version Comparison
| Feature | v1 (legacy) | v2 (recommended) |
|---|
| Base path | /api/v1/ | /api/v2/ |
| Document model | Documents | Envelopes (can contain multiple documents) |
| SDK support | REST only | TypeScript + Python SDK |
| Template API | /templates/{id}/create-document | Via envelope create |
| Authentication | Authorization: Bearer | Authorization: Bearer (same) |
| Status | Maintained, not deprecated | Actively developed |
Instructions
Step 1: Upgrade SDK to Latest
npm list @documenso/sdk-typescript
npm install @documenso/sdk-typescript@latest
npm info @documenso/sdk-typescript changelog
pip install --upgrade documenso-sdk-python
Step 2: v1 REST to v2 SDK Migration
const BASE = "https://app.documenso.com/api/v1";
const headers = { : };
res = (, {
: ,
: { ...headers, : },
: .({ : }),
});
doc = res.();
listRes = (, { headers });
{ documents } = listRes.();
{ } ;
client = ({ : process..! });
doc = client..({ : });
{ documents } = client..({ : , : });