Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Install and configure Documenso SDK/API authentication. Use when setting up a new Documenso integration, configuring API keys, or initializing Documenso in your project. Trigger with phrases like "install documenso", "setup documenso", "documenso auth", "configure documenso API key".
| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-01 | ✗→✓ | ▲ Improved | 48% | 0% |
| case-02 | ✗→✓ | ▲ Improved | 41% | 0% |
| case-03 | ✗→✓ | ▲ Improved | 46% | 0% |
| case-04 | ✗→✓ | ▲ Improved | 252% | 0% |
| case-05 | ✗→✓ | ▲ Improved | 69% | 0% |
Set up the Documenso SDK and configure API authentication for document signing. Covers the TypeScript SDK (@documenso/sdk-typescript), the Python SDK (documenso-sdk-python), and raw REST API usage. Documenso exposes two API versions: v1 (legacy, documents only) and v2 (envelopes, multi-document, recommended for new work).
app.documenso.com or self-hosted instanceTypeScript / Node.js:
bashnpm install @documenso/sdk-typescript # or pnpm add @documenso/sdk-typescript
Python:
bashpip install documenso-sdk-python # or uv pip install documenso-sdk-python
https://app.documenso.com or your self-hosted URL).ci-pipeline-prod).Team API keys inherit the team's document and template access. Personal keys only access your own documents.
bash# .env (never commit this file) DOCUMENSO_API_KEY=api_xxxxxxxxxxxxxxxxxxxxxxxxxx
Add .env to .gitignore:
bashecho ".env" >> .gitignore
TypeScript — v2 API (recommended):
typescriptimport { Documenso } from "@documenso/sdk-typescript"; const documenso = new Documenso({ apiKey: process.env.DOCUMENSO_API_KEY!, // For self-hosted, override the server URL: // serverURL: "https://sign.yourcompany.com/api/v2", });
TypeScript — v1 REST (legacy):
typescriptconst BASE = process.env.DOCUMENSO_BASE_URL ?? "https://app.documenso.com/api/v1"; const headers = { Authorization: `Bearer ${process.env.DOCUMENSO_API_KEY}` }; const res = await fetch(`${BASE}/documents`, { headers }); const docs = await res.json();
Python:
pythonfrom documenso_sdk_python import Documenso import os client = Documenso(api_key=os.environ["DOCUMENSO_API_KEY"])
typescript// verify-connection.ts import { Documenso } from "@documenso/sdk-typescript"; async function verify() { const client = new Documenso({ apiKey: process.env.DOCUMENSO_API_KEY! }); const { documents } = await client.documents.findV0({ page: 1, perPage: 1 }); console.log(`Connected — ${documents.length >= 0 ? "OK" : "FAIL"}`); } verify().catch(console.error);
Run with npx tsx verify-connection.ts.
| Environment | Base URL (v2) | Base URL (v1, legacy) | |-------------|---------------|-----------------------| | Cloud production | https://app.documenso.com/api/v2 | https://app.documenso.com/api/v1 | | Cloud staging | https://stg-app.documenso.com/api/v2 | https://stg-app.documenso.com/api/v1 | | Self-hosted | https://your-instance.com/api/v2 | https://your-instance.com/api/v1 |
typescriptconst documenso = new Documenso({ apiKey: process.env.DOCUMENSO_API_KEY!, serverURL: process.env.DOCUMENSO_BASE_URL, // e.g. "https://sign.acme.com/api/v2" });
| Error | HTTP | Cause | Solution | |-------|------|-------|----------| | Unauthorized | 401 | Invalid or expired API key | Regenerate key in dashboard | | Forbidden | 403 | Personal key accessing team resources | Use team-scoped API key | | Module not found | N/A | SDK not installed | Run npm install @documenso/sdk-typescript | | Network error | N/A | Firewall or DNS issue | Verify outbound HTTPS to app.documenso.com | | ERR_INVALID_URL | N/A | Bad serverURL value | Include protocol and path: https://host/api/v2 |
.env is listed in .gitignoreAfter successful auth, proceed to documenso-hello-world for your first document.
Other measured skills in the registry, with their headline benchmark lift.