CtrlK
BlogDocsLog inGet started
Tessl Logo

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

85

Quality

83%

Does it follow best practices?

Impact

Pending

No eval scenarios have been run

SecuritybySnyk

Passed

No known issues

SKILL.md
Quality
Evals
Security

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

  • Documenso API Documentation
  • TypeScript SDK
  • Python SDK
  • OpenAPI Reference (v2)
  • Self-Hosting Guide

Next Steps

After successful auth, proceed to documenso-hello-world for your first document.

Repository
jeremylongshore/claude-code-plugins-plus-skills
Last updated
Created

Is this your skill?

If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.