> documenso-install-auth

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".

fetch
$curl "https://skillshub.wtf/jeremylongshore/claude-code-plugins-plus-skills/documenso-install-auth?format=md"
SKILL.mddocumenso-install-auth

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 app.documenso.com or self-hosted instance
  • 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

  1. Log in to your Documenso dashboard (https://app.documenso.com or your self-hosted URL).
  2. Click your avatar (top-right) and select User settings (or Team settings for team-scoped keys).
  3. Navigate to the API tokens tab.
  4. Click Create API Key, give it a descriptive name (e.g. ci-pipeline-prod).
  5. 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

EnvironmentBase URL (v2)Base URL (v1, legacy)
Cloud productionhttps://app.documenso.com/api/v2https://app.documenso.com/api/v1
Cloud staginghttps://stg-app.documenso.com/api/v2https://stg-app.documenso.com/api/v1
Self-hostedhttps://your-instance.com/api/v2https://your-instance.com/api/v1

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

ErrorHTTPCauseSolution
Unauthorized401Invalid or expired API keyRegenerate key in dashboard
Forbidden403Personal key accessing team resourcesUse team-scoped API key
Module not foundN/ASDK not installedRun npm install @documenso/sdk-typescript
Network errorN/AFirewall or DNS issueVerify outbound HTTPS to app.documenso.com
ERR_INVALID_URLN/ABad serverURL valueInclude protocol and path: https://host/api/v2

Security Checklist

  • API key stored in environment variable, never in source code
  • .env is listed in .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.

┌ stats

installs/wk0
░░░░░░░░░░
github stars1.7K
██████████
first seenMar 23, 2026
└────────────

┌ repo

jeremylongshore/claude-code-plugins-plus-skills
by jeremylongshore
└────────────