Skillshub documenso-install-auth
install
source · Clone the upstream repo
git clone https://github.com/ComeOnOliver/skillshub
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/ComeOnOliver/skillshub "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/jeremylongshore/claude-code-plugins-plus-skills/documenso-install-auth" ~/.claude/skills/comeonoliver-skillshub-documenso-install-auth && rm -rf "$T"
manifest:
skills/jeremylongshore/claude-code-plugins-plus-skills/documenso-install-auth/SKILL.mdsource content
Documenso Install & Auth
Overview
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).
Prerequisites
- Node.js 18+ or Python 3.10+
- Package manager (npm, pnpm, yarn, pip, or uv)
- Documenso account — cloud at
or self-hosted instanceapp.documenso.com - API key generated from the Documenso dashboard
Instructions
Step 1: Install the SDK
TypeScript / Node.js:
npm install @documenso/sdk-typescript # or pnpm add @documenso/sdk-typescript
Python:
pip install documenso-sdk-python # or uv pip install documenso-sdk-python
Step 2: Generate an API Key
- Log in to your Documenso dashboard (
or your self-hosted URL).https://app.documenso.com - Click your avatar (top-right) and select User settings (or Team settings for team-scoped keys).
- Navigate to the API tokens tab.
- Click Create API Key, give it a descriptive name (e.g.
).ci-pipeline-prod - Copy the key immediately — it is shown only once.
Team API keys inherit the team's document and template access. Personal keys only access your own documents.
Step 3: Store the Key Securely
# .env (never commit this file) DOCUMENSO_API_KEY=api_xxxxxxxxxxxxxxxxxxxxxxxxxx
Add
.env to .gitignore:
echo ".env" >> .gitignore
Step 4: Initialize the Client
TypeScript — v2 API (recommended):
import { 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):
const 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:
from documenso_sdk_python import Documenso import os client = Documenso(api_key=os.environ["DOCUMENSO_API_KEY"])
Step 5: Verify the Connection
// 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.
API Endpoints
| Environment | Base URL (v2) | Base URL (v1, legacy) |
|---|---|---|
| Cloud production | | |
| Cloud staging | | |
| Self-hosted | | |
Self-Hosted Base URL Override
const documenso = new Documenso({ apiKey: process.env.DOCUMENSO_API_KEY!, serverURL: process.env.DOCUMENSO_BASE_URL, // e.g. "https://sign.acme.com/api/v2" });
Error Handling
| 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 |
| Network error | N/A | Firewall or DNS issue | Verify outbound HTTPS to |
| N/A | Bad value | Include protocol and path: |
Security Checklist
- API key stored in environment variable, never in source code
-
is listed in.env.gitignore - CI secrets use masked/encrypted storage (GitHub Secrets, Vault, etc.)
- Team keys rotated on employee offboarding
- Self-hosted instances use HTTPS with valid TLS certificates
Resources
Next Steps
After successful auth, proceed to
documenso-hello-world for your first document.