API Documentation

Integrate Zdottedline into your workflows with our REST + tRPC API.

API access available on Professional and Enterprise plans.

Authentication

All authenticated endpoints require a Bearer token in the Authorization header.

curl -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
  https://zdottedline.com/api/trpc/documents.list

Access tokens expire in 15 minutes. Use the refresh token endpoint to obtain new ones.

Base URL

https://zdottedline.com/api

Endpoints

POST/api/trpc/auth.registerPUBLIC
POST/api/trpc/auth.loginPUBLIC
GET/api/trpc/auth.meAUTH
POST/api/trpc/documents.uploadAUTH
GET/api/trpc/documents.listAUTH
GET/api/trpc/documents.getAUTH
POST/api/trpc/documents.addSignerAUTH
POST/api/trpc/documents.addFieldAUTH
POST/api/trpc/documents.sendAUTH
POST/api/trpc/signing.submitFieldsPUBLIC
GET/api/trpc/documents.getForSigningPUBLIC
GET/api/trpc/billing.statusAUTH
GET/api/trpc/team.listAUTH
POST/api/trpc/team.inviteAUTH
GET/api/healthPUBLIC

Example: Upload and Send a Document

1. Login

curl -X POST https://zdottedline.com/api/trpc/auth.login \ -H "Content-Type: application/json" \ -d '{"json":{"email":"you@company.com","password":"yourpassword"}}'

2. Upload a document

curl -X POST https://zdottedline.com/api/trpc/documents.upload \ -H "Authorization: Bearer ACCESS_TOKEN" \ -H "Content-Type: application/json" \ -d '{"json":{"title":"Contract","fileBase64":"...","fileName":"contract.pdf","mimeType":"application/pdf"}}'

3. Add a signer and send

# Add signer curl -X POST https://zdottedline.com/api/trpc/documents.addSigner \ -H "Authorization: Bearer ACCESS_TOKEN" \ -d '{"json":{"documentId":"DOC_ID","email":"signer@example.com","name":"Jane Smith","signOrder":1}}' # Send for signing curl -X POST https://zdottedline.com/api/trpc/documents.send \ -H "Authorization: Bearer ACCESS_TOKEN" \ -d '{"json":{"documentId":"DOC_ID"}}'

Webhooks

Webhook notifications for document events are coming soon. Subscribe to events like document.completed, signer.signed, and signer.declined.

Rate Limits

Authentication endpoints30 requests per minute
Public verification (/api/verify)30 requests per minute
General API (including uploads)100 requests per minute

Limits are per IP address. Exceeding one returns HTTP 429 with a Retry-After header. Separately, five failed sign-ins lock an account for 15 minutes.

Need help with the API?

Contact our developer support team.

support@zdottedline.com