Developer Reference

PearSign API documentation

A REST API for electronic signatures: create and send envelopes for signature, track their status, download completed documents with their audit trail, and receive webhooks when something changes. Authentication is a bearer token over HTTPS on every request.

  1. Create an API key in Settings → Developer API. Enter Sandbox when available and generate a ps_test_ key there. Production requires a separate ps_live_ key.
  2. Send the key as a bearer token in the Authorization header. All requests require HTTPS.
  3. Send and sign a test envelope, verify its signed webhook, then download the latest PDF. Downloads return binary PDF bytes; save the response to a file.
  4. Sandbox uses separate data and sends no real email, SMS or payments. Test sends do not consume production allowance. Existing production keys keep working.
  5. Handle standard HTTP status codes. Rate-limit headers are included on every response.

The API is organised into nine resource groups: Envelopes for creating and sending documents out for signature, Documents for retrieving completed files, Templates and Fields for reusable documents and the positions signers fill in, FusionForms for guided fill-out flows, Webhooks for delivery of events as they happen, Audit for the tamper-evident trail behind a signature, and Tenant management and Public API for organisation and unauthenticated surfaces.

The full machine-readable specification is published at /api/v1/openapi.json. Loading the interactive explorer…

Elsewhere on PearSign: the product, , how signatures are secured and the guides.

LOADING

PearSign REST API

A REST API for creating envelopes, sending them for signature, reading signing status and retrieving audit records. Every response is JSON.

Authentication

Every request carries an API key as a bearer token in the Authorization header. Keys are issued per organisation from Settings, and a request without a valid key is rejected with 401.

curl https://pearsign.com/api/v1/envelopes \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json"

The base URL is https://pearsign.com/api/v1. Keep the key server-side: it carries the permissions of the organisation that issued it, and a key in browser code is readable by anyone who opens the page.

Endpoints

Tenant management

  • GET/api/v1/api-keysList API keys
  • POST/api/v1/api-keysCreate API key
  • GET/api/v1/api-keys/{id}Get API key
  • PATCH/api/v1/api-keys/{id}Update API key
  • DELETE/api/v1/api-keys/{id}Revoke API key
  • POST/api/v1/api-keys/{id}/rotateRotate API key
  • GET/api/v1/oauth/clientsList OAuth clients
  • POST/api/v1/oauth/clientsCreate OAuth client
  • GET/api/v1/oauth/clients/{id}Get OAuth client
  • PATCH/api/v1/oauth/clients/{id}Update OAuth client
  • DELETE/api/v1/oauth/clients/{id}Delete OAuth client
  • POST/api/v1/oauth/clients/{id}/rotate-secretRotate OAuth client secret

Audit

  • GET/api/v1/audit/api-logsList API logs
  • GET/api/v1/audit/statsGet API stats

Public API

  • GET/api/v1/documentsList documents
  • GET/api/v1/documents/{id}Get document
  • GET/api/v1/envelopes/summaryPer-rep envelope scorecard for a date range
  • POST/api/v1/fusion-forms/{code}/submitCreate FusionForm signing session
  • GET/api/v1/templatesList templates
  • POST/api/v1/templatesCreate template
  • GET/api/v1/templates/{id}Get template
  • PATCH/api/v1/templates/{id}Update template
  • DELETE/api/v1/templates/{id}Delete template

Documents

  • GET/api/v1/documents/{id}/fieldsGet document field schema

Envelopes

  • GET/api/v1/envelopesList envelopes
  • POST/api/v1/envelopesCreate envelope
  • GET/api/v1/envelopes/{id}Get envelope
  • PATCH/api/v1/envelopes/{id}Update envelope
  • DELETE/api/v1/envelopes/{id}Void envelope
  • GET/api/v1/envelopes/{id}/fieldsGet envelope field values
  • POST/api/v1/envelopes/{id}/fieldsUpdate envelope field values
  • GET/api/v1/envelopes/{id}/downloadDownload original or latest signed PDF
  • POST/api/v1/envelopes/sendSend envelope from template

Templates

  • GET/api/v1/templates/{id}/fieldsGet template field schema

Environments

Live API operations require a ps_live_ key. ps_test_ keys are currently disabled and return 403 while PearSign’s isolated API sandbox is being built; they never operate on live tenant data.

Errors and rate limits

Errors return a JSON body with a message field and a conventional status code: 400 for a malformed request, 401 for a missing or invalid key, 403 when the key’s organisation may not reach the resource, 404 when it does not exist. Requests are rate limited per API key; a limited request returns 429 and should be retried with backoff.