SimpleSign365

Developers

The same documents as the web app, from code. Full API documentation will be published later; this page is an overview.

In the API, one document with its signers is called an envelope.

Base URLs

Each region has its own API. A key works only in the region where it was created, and the envelope is processed and stored there.

Authentication

Send a regional API key as Authorization: Bearer <key>. Keys are shown once, can be scoped, and two can be active at the same time so you can rotate without downtime.

Envelopes

One call creates and sends an envelope, or saves a draft with send: false. Documents can be PDF, Word or HTML. Recipients can sign in parallel or in sequence, and CC recipients receive the final PDF. Fields can be given as explicit page rectangles, or as text anchors in the document such as {{ss.sign:1}}. Creation returns 202 and the envelope moves from processing to sent and completed.

curl https://eu.simplesign365.com/v1/envelopes \
  -H "Authorization: Bearer $SIMPLESIGN_API_KEY" \
  -H "Idempotency-Key: 7b1c0f52-2d1e-4c0a-9d55-3a1f6a0e9b10" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "NDA Acme",
    "send": true,
    "routing": "sequential",
    "documents": [{ "id": "doc_a", "name": "nda.pdf", "content_base64": "..." }],
    "recipients": [
      { "id": "r1", "role": "signer", "name": "Ann", "email": "[email protected]", "order": 1 }
    ],
    "fields": [
      { "recipient_id": "r1", "type": "signature", "document_id": "doc_a",
        "page": 3, "rect": { "x": 72, "y": 600, "w": 180, "h": 50 } }
    ]
  }'

You can send invitations from a connected Microsoft 365 mailbox, or ask for a short-lived single-use signing URL to embed signing in your own app.

Templates

Create templates with roles and field positions, then create envelopes from them and prefill field values by key.

Webhooks

Subscribe to events such as envelope.completed, recipient.completed and envelope.declined. Each delivery is signed with a header, in the same style as Stripe:

SimpleSign-Signature: t=1760000000,v1=<hex hmac-sha256(secret, "{t}.{raw_body}")>

Compare in constant time and reject timestamps older than 5 minutes. Failed deliveries are retried with backoff, and an events endpoint lets you catch up on anything you missed.

Idempotency

Send an Idempotency-Key header on any POST that creates or changes something. Repeating the same key and body returns the stored response; reusing a key with a different body is rejected. Keys are kept for 24 hours.

Errors and paging

Errors use application/problem+json (RFC 9457) with a request ID. Lists are cursor based, newest first.

Pricing

The API is included in every paid plan (Solo, Team, Office and Business). Documents sent through the API count toward the same monthly documents as documents sent from the app; when they are used up, sending pauses until the next month or a larger plan. The Free plan has test keys: test documents are marked "not legally binding", do not count, and are deleted after 14 days. See pricing.