Fill fields and sign
One atomic action: writes the signer's field values, applies their PNG data-URL signature, records ESIGN consent (required), and advances the document — enforcing turn order, validating required fields, and rejecting values for fields that aren't theirs. When the last signer completes, the final PDF is built (signatures stamped, certificate appended) and everyone is emailed.
View as MarkdownPath Parameters
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/json
application/json
application/json
application/json
application/json
curl -X POST "https://example.com/public/signing/string/complete" \ -H "Content-Type: application/json" \ -d '{ "consent": true }'{ "status": "string", "document": { "id": "string", "name": "string", "status": "string", "completedAt": "2019-08-24T14:15:22Z" }}Signing session
The recipient's view of the document: metadata, a presigned file URL (final artifact once completed), all fields (own fields flagged "mine"), redacted co-recipients, and whether it is their turn. The first open records a "viewed" audit event. Unauthenticated — the token is the credential. IP rate-limited (60/min). When the recipient has an access code, the session is LOCKED until the X-Access-Code header carries the right code: the response is {locked: true, codeIncorrect, document: {name, status}, recipient: {name}} — 200 with no code supplied, 401 with a wrong one. All /public/signing action endpoints then require the same header (401 with {locked: true} otherwise).
Decline to sign
Closes the document with status "declined", records the reason in the audit trail, and emails the owner.