SDK
Package: @doctransit/sdk (mandate methods need 0.3+).
bash
npm i @doctransit/sdkts
import { DocTransitClient } from '@doctransit/sdk';
const client = new DocTransitClient();
const doc = await client.createDocument({
template_id: '…',
signers: [{ email: 'ada@example.com', name: 'Ada' }],
send: true,
});
await client.me();
await client.getFlags();
await client.listMandates();
// L1 — principal must confirm at confirm_url
await client.requestSign(doc.document_id, 'policy match');
// L2 — stored appearance now + email notify
await client.signAsPrincipal(doc.document_id, 'in-policy NDA');
await client.waitForDocument(doc.document_id);Auth: DOCTRANSIT_API_KEY and optional DOCTRANSIT_BASE_URL (default https://api.doctransit.com/v1), or pass { apiKey, baseUrl } to the constructor. prepareEditorSigning turns an editor draft into a signing envelope.
Drive packages (0.4+): uploadAsset (any allowed Drive file — not PDF-only uploadFile), listDrive, createTransfer, offerTransfer, listTransfers, getTransfer, claimTransfer, acceptTransfer, downloadTransfer, cancelTransfer. See Transfers.
See Signing with an agent for L1 vs L2, widgets, and errors.