{"openapi":"3.1.0","info":{"title":"BENJO Sign API","version":"1.0.0","description":"Templates, documents, signers and signed files of BENJO Sign; webhooks and per-document callbacks. Full guide: /docs."},"servers":[{"url":"https://sign.bybenjo.com/api/v1"}],"security":[{"apiKey":[]}],"tags":[{"name":"Organisation"},{"name":"Templates"},{"name":"Documents"},{"name":"Signers"},{"name":"Files"},{"name":"Verification"},{"name":"Webhooks"},{"name":"Deliveries"}],"paths":{"/me":{"get":{"operationId":"getMe","tags":["Organisation"],"summary":"The key's organisation and scopes","security":[{"apiKey":[]}],"parameters":[],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"$ref":"#/components/schemas/Me"}}}}}},"401":{"description":"Missing / invalid API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-codeSamples":[{"lang":"curl","source":"curl https://sign.bybenjo.com/api/v1/me \\\n  -H \"Authorization: Bearer $SIGN_API_KEY\""},{"lang":"JavaScript","source":"const res = await fetch(\"https://sign.bybenjo.com/api/v1/me\", {\n  method: \"GET\",\n  headers: {\n    Authorization: `Bearer ${process.env.SIGN_API_KEY}`,\n  },\n});\nconst { data } = await res.json();"}]}},"/events":{"get":{"operationId":"listEventTypes","tags":["Webhooks"],"summary":"Event types you can subscribe to","security":[{"apiKey":[]}],"parameters":[],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string"},"description":{"type":"string"},"perSigner":{"type":"boolean"}}}}}}}}}},"x-codeSamples":[{"lang":"curl","source":"curl https://sign.bybenjo.com/api/v1/events \\\n  -H \"Authorization: Bearer $SIGN_API_KEY\""},{"lang":"JavaScript","source":"const res = await fetch(\"https://sign.bybenjo.com/api/v1/events\", {\n  method: \"GET\",\n  headers: {\n    Authorization: `Bearer ${process.env.SIGN_API_KEY}`,\n  },\n});\nconst { data } = await res.json();"}]}},"/templates":{"get":{"operationId":"listTemplates","tags":["Templates"],"summary":"List templates","security":[{"apiKey":[]}],"x-scope":"templates.read","parameters":[{"name":"status","in":"query","description":"active (default), archived or all.","schema":{"type":"string","enum":["active","archived","all"]}},{"name":"limit","in":"query","description":"1–100 (default 20).","schema":{"type":"integer","minimum":1,"maximum":100}},{"name":"cursor","in":"query","description":"From the previous page's pagination.nextCursor.","schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","required":["data","pagination"],"properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/Template"}},"pagination":{"$ref":"#/components/schemas/Pagination"}}}}}},"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Missing / invalid API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"The key lacks the scope","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limited","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-codeSamples":[{"lang":"curl","source":"curl https://sign.bybenjo.com/api/v1/templates \\\n  -H \"Authorization: Bearer $SIGN_API_KEY\""},{"lang":"JavaScript","source":"const res = await fetch(\"https://sign.bybenjo.com/api/v1/templates\", {\n  method: \"GET\",\n  headers: {\n    Authorization: `Bearer ${process.env.SIGN_API_KEY}`,\n  },\n});\nconst { data, pagination } = await res.json();"}]},"post":{"operationId":"createTemplate","tags":["Templates"],"summary":"Create a template","description":"From a Word file with {{variables}}, a PDF (with `fields` + `areas` for the boxes), editor HTML or plain text. Variables: `{{customer_name}}`, `{{price;type=currency}}`, `{{sig;type=signature;role=client}}`.","security":[{"apiKey":[]}],"x-scope":"templates.write","parameters":[{"name":"Idempotency-Key","in":"header","description":"Optional. The same key returns the first answer for 24 hours (a different body → 422).","schema":{"type":"string","maxLength":100}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TemplateCreate"},"example":{"name":"Service agreement","html":"<h1>Service agreement</h1><p>Client: {{client_name}}</p><p>Price: {{price;type=currency}}</p><p>{{client_sig;type=signature;role=client}}</p>","roles":[{"key":"client","label":"Client"}]}}}},"responses":{"201":{"description":"Created","content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"$ref":"#/components/schemas/Template"}}}}}},"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Missing / invalid API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"The key lacks the scope","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limited","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-codeSamples":[{"lang":"curl","source":"curl -X POST https://sign.bybenjo.com/api/v1/templates \\\n  -H \"Authorization: Bearer $SIGN_API_KEY\" \\\n  -H \"Content-Type: application/json\" \\\n  -H \"Idempotency-Key: $(uuidgen)\" \\\n  -d '{\n  \"name\": \"Service agreement\",\n  \"html\": \"<h1>Service agreement</h1><p>Client: {{client_name}}</p><p>Price: {{price;type=currency}}</p><p>{{client_sig;type=signature;role=client}}</p>\",\n  \"roles\": [\n    {\n      \"key\": \"client\",\n      \"label\": \"Client\"\n    }\n  ]\n}'"},{"lang":"JavaScript","source":"const res = await fetch(\"https://sign.bybenjo.com/api/v1/templates\", {\n  method: \"POST\",\n  headers: {\n    Authorization: `Bearer ${process.env.SIGN_API_KEY}`,\n    \"Content-Type\": \"application/json\",\n    \"Idempotency-Key\": crypto.randomUUID(),\n  },\n  body: JSON.stringify({\n    \"name\": \"Service agreement\",\n    \"html\": \"<h1>Service agreement</h1><p>Client: {{client_name}}</p><p>Price: {{price;type=currency}}</p><p>{{client_sig;type=signature;role=client}}</p>\",\n    \"roles\": [\n      {\n        \"key\": \"client\",\n        \"label\": \"Client\"\n      }\n    ]\n  }),\n});\nconst { data, pagination } = await res.json();"}]}},"/templates/{id}":{"get":{"operationId":"getTemplate","tags":["Templates"],"summary":"Get a template","security":[{"apiKey":[]}],"x-scope":"templates.read","parameters":[{"name":"id","in":"path","required":true,"description":"The template id (tpl_…).","schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"$ref":"#/components/schemas/Template"}}}}}},"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Missing / invalid API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"The key lacks the scope","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limited","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-codeSamples":[{"lang":"curl","source":"curl https://sign.bybenjo.com/api/v1/templates/tpl_8KqL2mZs0aPd4XyB \\\n  -H \"Authorization: Bearer $SIGN_API_KEY\""},{"lang":"JavaScript","source":"const res = await fetch(\"https://sign.bybenjo.com/api/v1/templates/tpl_8KqL2mZs0aPd4XyB\", {\n  method: \"GET\",\n  headers: {\n    Authorization: `Bearer ${process.env.SIGN_API_KEY}`,\n  },\n});\nconst { data } = await res.json();"}]},"patch":{"operationId":"updateTemplate","tags":["Templates"],"summary":"Rename, archive or restore a template","security":[{"apiKey":[]}],"x-scope":"templates.write","parameters":[{"name":"id","in":"path","required":true,"description":"The template id (tpl_…).","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TemplateUpdate"},"example":{"name":"Service agreement 2026"}}}},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"$ref":"#/components/schemas/Template"}}}}}},"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Missing / invalid API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"The key lacks the scope","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limited","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-codeSamples":[{"lang":"curl","source":"curl -X PATCH https://sign.bybenjo.com/api/v1/templates/tpl_8KqL2mZs0aPd4XyB \\\n  -H \"Authorization: Bearer $SIGN_API_KEY\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\n  \"name\": \"Service agreement 2026\"\n}'"},{"lang":"JavaScript","source":"const res = await fetch(\"https://sign.bybenjo.com/api/v1/templates/tpl_8KqL2mZs0aPd4XyB\", {\n  method: \"PATCH\",\n  headers: {\n    Authorization: `Bearer ${process.env.SIGN_API_KEY}`,\n    \"Content-Type\": \"application/json\",\n  },\n  body: JSON.stringify({\n    \"name\": \"Service agreement 2026\"\n  }),\n});\nconst { data } = await res.json();"}]},"delete":{"operationId":"archiveTemplate","tags":["Templates"],"summary":"Archive a template","description":"Templates are never deleted (documents keep their version); an archived template can't be used for new documents until restored.","security":[{"apiKey":[]}],"x-scope":"templates.write","parameters":[{"name":"id","in":"path","required":true,"description":"The template id (tpl_…).","schema":{"type":"string"}}],"responses":{"200":{"description":"Archived","content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"$ref":"#/components/schemas/Template"}}}}}},"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Missing / invalid API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"The key lacks the scope","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limited","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-codeSamples":[{"lang":"curl","source":"curl -X DELETE https://sign.bybenjo.com/api/v1/templates/tpl_8KqL2mZs0aPd4XyB \\\n  -H \"Authorization: Bearer $SIGN_API_KEY\""},{"lang":"JavaScript","source":"const res = await fetch(\"https://sign.bybenjo.com/api/v1/templates/tpl_8KqL2mZs0aPd4XyB\", {\n  method: \"DELETE\",\n  headers: {\n    Authorization: `Bearer ${process.env.SIGN_API_KEY}`,\n  },\n});\nconst { data } = await res.json();"}]}},"/templates/{id}/inputs":{"get":{"operationId":"getTemplateInputs","tags":["Templates"],"summary":"The inputs of a document from this template (form fields)","description":"What you give when you create a document from this template, as form-field descriptions (name, label, type: text / email / number / boolean / select / collection, required, options, spec): `signers` — one collection per signer role (name, email, phone, lang); `values` — the fields the creator fills (prefill, by variable name); `fields` — both, ready for a form (no-code tools such as Make build their dynamic forms from it). Send the answers back as `signers: { <role>: { name, email } }` and `values: { <name>: … }` on POST /documents.","security":[{"apiKey":[]}],"x-scope":"templates.read","parameters":[{"name":"id","in":"path","required":true,"description":"The template id (tpl_…).","schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"$ref":"#/components/schemas/TemplateInputs"}}}}}},"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Missing / invalid API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"The key lacks the scope","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limited","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-codeSamples":[{"lang":"curl","source":"curl https://sign.bybenjo.com/api/v1/templates/tpl_8KqL2mZs0aPd4XyB/inputs \\\n  -H \"Authorization: Bearer $SIGN_API_KEY\""},{"lang":"JavaScript","source":"const res = await fetch(\"https://sign.bybenjo.com/api/v1/templates/tpl_8KqL2mZs0aPd4XyB/inputs\", {\n  method: \"GET\",\n  headers: {\n    Authorization: `Bearer ${process.env.SIGN_API_KEY}`,\n  },\n});\nconst { data } = await res.json();"}]}},"/documents":{"get":{"operationId":"listDocuments","tags":["Documents"],"summary":"List documents","security":[{"apiKey":[]}],"x-scope":"documents.read","parameters":[{"name":"status","in":"query","description":"Comma list: draft, sent, opened, partially_signed, completed, declined, cancelled, expired.","schema":{"type":"string"}},{"name":"templateId","in":"query","description":"Documents of this template.","schema":{"type":"string"}},{"name":"externalId","in":"query","description":"Your id.","schema":{"type":"string"}},{"name":"q","in":"query","description":"Search the name, signers' names / e-mails / phones, external id.","schema":{"type":"string"}},{"name":"createdFrom","in":"query","description":"YYYY-MM-DD","schema":{"type":"string"}},{"name":"createdTo","in":"query","description":"YYYY-MM-DD (inclusive)","schema":{"type":"string"}},{"name":"completedFrom","in":"query","description":"YYYY-MM-DD","schema":{"type":"string"}},{"name":"completedTo","in":"query","description":"YYYY-MM-DD (inclusive)","schema":{"type":"string"}},{"name":"archived","in":"query","description":"exclude (default), only or all.","schema":{"type":"string","enum":["exclude","only","all"]}},{"name":"limit","in":"query","description":"1–100 (default 20).","schema":{"type":"integer","minimum":1,"maximum":100}},{"name":"cursor","in":"query","description":"From the previous page's pagination.nextCursor.","schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","required":["data","pagination"],"properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/Document"}},"pagination":{"$ref":"#/components/schemas/Pagination"}}}}}},"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Missing / invalid API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"The key lacks the scope","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limited","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-codeSamples":[{"lang":"curl","source":"curl https://sign.bybenjo.com/api/v1/documents \\\n  -H \"Authorization: Bearer $SIGN_API_KEY\""},{"lang":"JavaScript","source":"const res = await fetch(\"https://sign.bybenjo.com/api/v1/documents\", {\n  method: \"GET\",\n  headers: {\n    Authorization: `Bearer ${process.env.SIGN_API_KEY}`,\n  },\n});\nconst { data, pagination } = await res.json();"}]},"post":{"operationId":"createDocument","tags":["Documents"],"summary":"Create a document from a template","description":"A draft with the signers and the prefilled values. `send: true` sends it at once. Missing required values are listed in `missing` (sending is blocked until they are filled).","security":[{"apiKey":[]}],"x-scope":"documents.write","parameters":[{"name":"Idempotency-Key","in":"header","description":"Optional. The same key returns the first answer for 24 hours (a different body → 422).","schema":{"type":"string","maxLength":100}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DocumentCreate"},"example":{"templateId":"tpl_8KqL2mZs0aPd4XyB","values":{"client_name":"Dana Levi","price":"12500"},"signers":[{"role":"client","name":"Dana Levi","email":"dana@example.com"}],"externalId":"crm-4711","metadata":{"deal":"D-88"},"callbackUrl":"https://example.com/hooks/sign","callback":"dana@example.com","send":true,"deliver":"email"}}}},"responses":{"201":{"description":"Created","content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"$ref":"#/components/schemas/Document"}}}}}},"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Missing / invalid API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"The key lacks the scope","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"externalId already used","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limited","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-codeSamples":[{"lang":"curl","source":"curl -X POST https://sign.bybenjo.com/api/v1/documents \\\n  -H \"Authorization: Bearer $SIGN_API_KEY\" \\\n  -H \"Content-Type: application/json\" \\\n  -H \"Idempotency-Key: $(uuidgen)\" \\\n  -d '{\n  \"templateId\": \"tpl_8KqL2mZs0aPd4XyB\",\n  \"values\": {\n    \"client_name\": \"Dana Levi\",\n    \"price\": \"12500\"\n  },\n  \"signers\": [\n    {\n      \"role\": \"client\",\n      \"name\": \"Dana Levi\",\n      \"email\": \"dana@example.com\"\n    }\n  ],\n  \"externalId\": \"crm-4711\",\n  \"metadata\": {\n    \"deal\": \"D-88\"\n  },\n  \"callbackUrl\": \"https://example.com/hooks/sign\",\n  \"callback\": \"dana@example.com\",\n  \"send\": true,\n  \"deliver\": \"email\"\n}'"},{"lang":"JavaScript","source":"const res = await fetch(\"https://sign.bybenjo.com/api/v1/documents\", {\n  method: \"POST\",\n  headers: {\n    Authorization: `Bearer ${process.env.SIGN_API_KEY}`,\n    \"Content-Type\": \"application/json\",\n    \"Idempotency-Key\": crypto.randomUUID(),\n  },\n  body: JSON.stringify({\n    \"templateId\": \"tpl_8KqL2mZs0aPd4XyB\",\n    \"values\": {\n      \"client_name\": \"Dana Levi\",\n      \"price\": \"12500\"\n    },\n    \"signers\": [\n      {\n        \"role\": \"client\",\n        \"name\": \"Dana Levi\",\n        \"email\": \"dana@example.com\"\n      }\n    ],\n    \"externalId\": \"crm-4711\",\n    \"metadata\": {\n      \"deal\": \"D-88\"\n    },\n    \"callbackUrl\": \"https://example.com/hooks/sign\",\n    \"callback\": \"dana@example.com\",\n    \"send\": true,\n    \"deliver\": \"email\"\n  }),\n});\nconst { data, pagination } = await res.json();"}]}},"/documents/one-time":{"post":{"operationId":"createOneTimeDocument","tags":["Documents"],"summary":"Create a one-time document (no template)","description":"From an uploaded file (PDF / DOCX / image; a PDF with `fields` + `areas` for the boxes), editor HTML, plain text, or a copy of a template for this document only.","security":[{"apiKey":[]}],"x-scope":"documents.write","parameters":[{"name":"Idempotency-Key","in":"header","description":"Optional. The same key returns the first answer for 24 hours (a different body → 422).","schema":{"type":"string","maxLength":100}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OneTimeCreate"},"example":{"name":"NDA — Acme","html":"<h2>Non-disclosure agreement</h2><p>Between Acme and {{client_name}}.</p><p>{{client_sig;type=signature;role=client}}</p>","values":{"client_name":"Dana Levi"},"signers":[{"role":"client","name":"Dana Levi","email":"dana@example.com"}],"callbackUrl":"https://example.com/hooks/sign"}}}},"responses":{"201":{"description":"Created","content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"$ref":"#/components/schemas/Document"}}}}}},"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Missing / invalid API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"The key lacks the scope","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Too large","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limited","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-codeSamples":[{"lang":"curl","source":"curl -X POST https://sign.bybenjo.com/api/v1/documents/one-time \\\n  -H \"Authorization: Bearer $SIGN_API_KEY\" \\\n  -H \"Content-Type: application/json\" \\\n  -H \"Idempotency-Key: $(uuidgen)\" \\\n  -d '{\n  \"name\": \"NDA — Acme\",\n  \"html\": \"<h2>Non-disclosure agreement</h2><p>Between Acme and {{client_name}}.</p><p>{{client_sig;type=signature;role=client}}</p>\",\n  \"values\": {\n    \"client_name\": \"Dana Levi\"\n  },\n  \"signers\": [\n    {\n      \"role\": \"client\",\n      \"name\": \"Dana Levi\",\n      \"email\": \"dana@example.com\"\n    }\n  ],\n  \"callbackUrl\": \"https://example.com/hooks/sign\"\n}'"},{"lang":"JavaScript","source":"const res = await fetch(\"https://sign.bybenjo.com/api/v1/documents/one-time\", {\n  method: \"POST\",\n  headers: {\n    Authorization: `Bearer ${process.env.SIGN_API_KEY}`,\n    \"Content-Type\": \"application/json\",\n    \"Idempotency-Key\": crypto.randomUUID(),\n  },\n  body: JSON.stringify({\n    \"name\": \"NDA — Acme\",\n    \"html\": \"<h2>Non-disclosure agreement</h2><p>Between Acme and {{client_name}}.</p><p>{{client_sig;type=signature;role=client}}</p>\",\n    \"values\": {\n      \"client_name\": \"Dana Levi\"\n    },\n    \"signers\": [\n      {\n        \"role\": \"client\",\n        \"name\": \"Dana Levi\",\n        \"email\": \"dana@example.com\"\n      }\n    ],\n    \"callbackUrl\": \"https://example.com/hooks/sign\"\n  }),\n});\nconst { data } = await res.json();"}]}},"/documents/{id}":{"get":{"operationId":"getDocument","tags":["Documents"],"summary":"Get a document","security":[{"apiKey":[]}],"x-scope":"documents.read","parameters":[{"name":"id","in":"path","required":true,"description":"The document id (doc_…).","schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"$ref":"#/components/schemas/Document"}}}}}},"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Missing / invalid API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"The key lacks the scope","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limited","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-codeSamples":[{"lang":"curl","source":"curl https://sign.bybenjo.com/api/v1/documents/doc_Hs7Q2nX4LpV9aZr1 \\\n  -H \"Authorization: Bearer $SIGN_API_KEY\""},{"lang":"JavaScript","source":"const res = await fetch(\"https://sign.bybenjo.com/api/v1/documents/doc_Hs7Q2nX4LpV9aZr1\", {\n  method: \"GET\",\n  headers: {\n    Authorization: `Bearer ${process.env.SIGN_API_KEY}`,\n  },\n});\nconst { data } = await res.json();"}]},"patch":{"operationId":"updateDocument","tags":["Documents"],"summary":"Update a document","description":"On a draft: name, values, signers, order, expiry. At any time: externalId, metadata, callbackUrl / callbackEvents / callbackFormat (null removes it), callback.","security":[{"apiKey":[]}],"x-scope":"documents.write","parameters":[{"name":"id","in":"path","required":true,"description":"The document id (doc_…).","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DocumentUpdate"},"example":{"values":{"price":"13000"},"metadata":{"deal":"D-89"}}}}},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"$ref":"#/components/schemas/Document"}}}}}},"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Missing / invalid API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"The key lacks the scope","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Sent documents can't change values / signers","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limited","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-codeSamples":[{"lang":"curl","source":"curl -X PATCH https://sign.bybenjo.com/api/v1/documents/doc_Hs7Q2nX4LpV9aZr1 \\\n  -H \"Authorization: Bearer $SIGN_API_KEY\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\n  \"values\": {\n    \"price\": \"13000\"\n  },\n  \"metadata\": {\n    \"deal\": \"D-89\"\n  }\n}'"},{"lang":"JavaScript","source":"const res = await fetch(\"https://sign.bybenjo.com/api/v1/documents/doc_Hs7Q2nX4LpV9aZr1\", {\n  method: \"PATCH\",\n  headers: {\n    Authorization: `Bearer ${process.env.SIGN_API_KEY}`,\n    \"Content-Type\": \"application/json\",\n  },\n  body: JSON.stringify({\n    \"values\": {\n      \"price\": \"13000\"\n    },\n    \"metadata\": {\n      \"deal\": \"D-89\"\n    }\n  }),\n});\nconst { data } = await res.json();"}]}},"/documents/{id}/send":{"post":{"operationId":"sendDocument","tags":["Documents"],"summary":"Send for signature","description":"Issues a personal link per signer. deliver=link returns the links (you deliver them); email = we e-mail each signer whose turn it is (sequential order: the next signer gets theirs after the previous one signs); auto = e-mail when the signer has an address. You can set / change the callback here too.","security":[{"apiKey":[]}],"x-scope":"documents.write","parameters":[{"name":"id","in":"path","required":true,"description":"The document id (doc_…).","schema":{"type":"string"}},{"name":"Idempotency-Key","in":"header","description":"Optional. The same key returns the first answer for 24 hours (a different body → 422).","schema":{"type":"string","maxLength":100}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Send"},"example":{"deliver":"email","callback":"dana@example.com"}}}},"responses":{"200":{"description":"Sent","content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"allOf":[{"$ref":"#/components/schemas/Document"},{"type":"object","properties":{"deliver":{"type":"string"},"links":{"type":"array","items":{"$ref":"#/components/schemas/SigningLink"}}}}]}}}}}},"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Missing / invalid API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"The key lacks the scope","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Already sent","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limited","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-codeSamples":[{"lang":"curl","source":"curl -X POST https://sign.bybenjo.com/api/v1/documents/doc_Hs7Q2nX4LpV9aZr1/send \\\n  -H \"Authorization: Bearer $SIGN_API_KEY\" \\\n  -H \"Content-Type: application/json\" \\\n  -H \"Idempotency-Key: $(uuidgen)\" \\\n  -d '{\n  \"deliver\": \"email\",\n  \"callback\": \"dana@example.com\"\n}'"},{"lang":"JavaScript","source":"const res = await fetch(\"https://sign.bybenjo.com/api/v1/documents/doc_Hs7Q2nX4LpV9aZr1/send\", {\n  method: \"POST\",\n  headers: {\n    Authorization: `Bearer ${process.env.SIGN_API_KEY}`,\n    \"Content-Type\": \"application/json\",\n    \"Idempotency-Key\": crypto.randomUUID(),\n  },\n  body: JSON.stringify({\n    \"deliver\": \"email\",\n    \"callback\": \"dana@example.com\"\n  }),\n});\nconst { data } = await res.json();"}]}},"/documents/{id}/remind":{"post":{"operationId":"remindDocument","tags":["Documents"],"summary":"Remind the signers who haven't signed","security":[{"apiKey":[]}],"x-scope":"documents.write","parameters":[{"name":"id","in":"path","required":true,"description":"The document id (doc_…).","schema":{"type":"string"}},{"name":"Idempotency-Key","in":"header","description":"Optional. The same key returns the first answer for 24 hours (a different body → 422).","schema":{"type":"string","maxLength":100}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"signerId":{"type":"string","description":"Only this signer (default: everyone whose turn it is)."}}},"example":{}}}},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"allOf":[{"$ref":"#/components/schemas/Document"},{"type":"object","properties":{"reminded":{"type":"array","items":{"type":"object"}}}}]}}}}}},"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Missing / invalid API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"The key lacks the scope","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Nothing to remind","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limited","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-codeSamples":[{"lang":"curl","source":"curl -X POST https://sign.bybenjo.com/api/v1/documents/doc_Hs7Q2nX4LpV9aZr1/remind \\\n  -H \"Authorization: Bearer $SIGN_API_KEY\" \\\n  -H \"Content-Type: application/json\" \\\n  -H \"Idempotency-Key: $(uuidgen)\" \\\n  -d '{}'"},{"lang":"JavaScript","source":"const res = await fetch(\"https://sign.bybenjo.com/api/v1/documents/doc_Hs7Q2nX4LpV9aZr1/remind\", {\n  method: \"POST\",\n  headers: {\n    Authorization: `Bearer ${process.env.SIGN_API_KEY}`,\n    \"Content-Type\": \"application/json\",\n    \"Idempotency-Key\": crypto.randomUUID(),\n  },\n  body: JSON.stringify({}),\n});\nconst { data } = await res.json();"}]}},"/documents/{id}/cancel":{"post":{"operationId":"cancelDocument","tags":["Documents"],"summary":"Cancel a document","security":[{"apiKey":[]}],"x-scope":"documents.write","parameters":[{"name":"id","in":"path","required":true,"description":"The document id (doc_…).","schema":{"type":"string"}},{"name":"Idempotency-Key","in":"header","description":"Optional. The same key returns the first answer for 24 hours (a different body → 422).","schema":{"type":"string","maxLength":100}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"reason":{"type":"string"}}},"example":{"reason":"replaced by a new offer"}}}},"responses":{"200":{"description":"Cancelled","content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"$ref":"#/components/schemas/Document"}}}}}},"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Missing / invalid API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"The key lacks the scope","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Already finished","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limited","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-codeSamples":[{"lang":"curl","source":"curl -X POST https://sign.bybenjo.com/api/v1/documents/doc_Hs7Q2nX4LpV9aZr1/cancel \\\n  -H \"Authorization: Bearer $SIGN_API_KEY\" \\\n  -H \"Content-Type: application/json\" \\\n  -H \"Idempotency-Key: $(uuidgen)\" \\\n  -d '{\n  \"reason\": \"replaced by a new offer\"\n}'"},{"lang":"JavaScript","source":"const res = await fetch(\"https://sign.bybenjo.com/api/v1/documents/doc_Hs7Q2nX4LpV9aZr1/cancel\", {\n  method: \"POST\",\n  headers: {\n    Authorization: `Bearer ${process.env.SIGN_API_KEY}`,\n    \"Content-Type\": \"application/json\",\n    \"Idempotency-Key\": crypto.randomUUID(),\n  },\n  body: JSON.stringify({\n    \"reason\": \"replaced by a new offer\"\n  }),\n});\nconst { data } = await res.json();"}]}},"/documents/{id}/archive":{"post":{"operationId":"archiveDocument","tags":["Documents"],"summary":"Archive a finished document","security":[{"apiKey":[]}],"x-scope":"documents.write","parameters":[{"name":"id","in":"path","required":true,"description":"The document id (doc_…).","schema":{"type":"string"}},{"name":"Idempotency-Key","in":"header","description":"Optional. The same key returns the first answer for 24 hours (a different body → 422).","schema":{"type":"string","maxLength":100}}],"responses":{"200":{"description":"Archived","content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"$ref":"#/components/schemas/Document"}}}}}},"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Missing / invalid API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"The key lacks the scope","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Not finished","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limited","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-codeSamples":[{"lang":"curl","source":"curl -X POST https://sign.bybenjo.com/api/v1/documents/doc_Hs7Q2nX4LpV9aZr1/archive \\\n  -H \"Authorization: Bearer $SIGN_API_KEY\" \\\n  -H \"Content-Type: application/json\" \\\n  -H \"Idempotency-Key: $(uuidgen)\" \\\n  -d '{}'"},{"lang":"JavaScript","source":"const res = await fetch(\"https://sign.bybenjo.com/api/v1/documents/doc_Hs7Q2nX4LpV9aZr1/archive\", {\n  method: \"POST\",\n  headers: {\n    Authorization: `Bearer ${process.env.SIGN_API_KEY}`,\n    \"Content-Type\": \"application/json\",\n    \"Idempotency-Key\": crypto.randomUUID(),\n  },\n  body: JSON.stringify({}),\n});\nconst { data } = await res.json();"}]}},"/documents/{id}/unarchive":{"post":{"operationId":"unarchiveDocument","tags":["Documents"],"summary":"Take a document out of the archive","security":[{"apiKey":[]}],"x-scope":"documents.write","parameters":[{"name":"id","in":"path","required":true,"description":"The document id (doc_…).","schema":{"type":"string"}},{"name":"Idempotency-Key","in":"header","description":"Optional. The same key returns the first answer for 24 hours (a different body → 422).","schema":{"type":"string","maxLength":100}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"$ref":"#/components/schemas/Document"}}}}}},"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Missing / invalid API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"The key lacks the scope","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limited","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-codeSamples":[{"lang":"curl","source":"curl -X POST https://sign.bybenjo.com/api/v1/documents/doc_Hs7Q2nX4LpV9aZr1/unarchive \\\n  -H \"Authorization: Bearer $SIGN_API_KEY\" \\\n  -H \"Content-Type: application/json\" \\\n  -H \"Idempotency-Key: $(uuidgen)\" \\\n  -d '{}'"},{"lang":"JavaScript","source":"const res = await fetch(\"https://sign.bybenjo.com/api/v1/documents/doc_Hs7Q2nX4LpV9aZr1/unarchive\", {\n  method: \"POST\",\n  headers: {\n    Authorization: `Bearer ${process.env.SIGN_API_KEY}`,\n    \"Content-Type\": \"application/json\",\n    \"Idempotency-Key\": crypto.randomUUID(),\n  },\n  body: JSON.stringify({}),\n});\nconst { data } = await res.json();"}]}},"/documents/{id}/signers/{signerId}":{"patch":{"operationId":"updateSigner","tags":["Signers"],"summary":"Change a signer after sending (before they start)","description":"Name / e-mail / phone / a custom message. The old link stops working; `resend: true` with deliver=email e-mails the new one, otherwise the response carries it.","security":[{"apiKey":[]}],"x-scope":"documents.write","parameters":[{"name":"id","in":"path","required":true,"description":"The document id (doc_…).","schema":{"type":"string"}},{"name":"signerId","in":"path","required":true,"description":"The signer id (sg_…).","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string"},"email":{"type":"string"},"phone":{"type":"string"},"message":{"type":"object"},"resend":{"type":"boolean"},"deliver":{"type":"string","enum":["link","email","auto"]}}},"example":{"email":"dana.levi@example.com","resend":true,"deliver":"email"}}}},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"allOf":[{"$ref":"#/components/schemas/Document"},{"type":"object","properties":{"link":{"$ref":"#/components/schemas/SigningLink"}}}]}}}}}},"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Missing / invalid API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"The key lacks the scope","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"The signer already started / finished","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limited","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-codeSamples":[{"lang":"curl","source":"curl -X PATCH https://sign.bybenjo.com/api/v1/documents/doc_Hs7Q2nX4LpV9aZr1/signers/sg_k2Pq9Lx7Vr3T \\\n  -H \"Authorization: Bearer $SIGN_API_KEY\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\n  \"email\": \"dana.levi@example.com\",\n  \"resend\": true,\n  \"deliver\": \"email\"\n}'"},{"lang":"JavaScript","source":"const res = await fetch(\"https://sign.bybenjo.com/api/v1/documents/doc_Hs7Q2nX4LpV9aZr1/signers/sg_k2Pq9Lx7Vr3T\", {\n  method: \"PATCH\",\n  headers: {\n    Authorization: `Bearer ${process.env.SIGN_API_KEY}`,\n    \"Content-Type\": \"application/json\",\n  },\n  body: JSON.stringify({\n    \"email\": \"dana.levi@example.com\",\n    \"resend\": true,\n    \"deliver\": \"email\"\n  }),\n});\nconst { data } = await res.json();"}]}},"/documents/{id}/comments":{"get":{"operationId":"listComments","tags":["Documents"],"summary":"The document's comment threads","description":"Signers comment on the document (in general, on a field, a text passage or a point on a page) and can ask for changes, which pauses signing. Each thread belongs to one signer; `by` is signer or organisation.","security":[{"apiKey":[]}],"x-scope":"documents.read","parameters":[{"name":"id","in":"path","required":true,"description":"The document id (doc_…).","schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"$ref":"#/components/schemas/Comments"}}}}}},"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Missing / invalid API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"The key lacks the scope","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limited","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-codeSamples":[{"lang":"curl","source":"curl https://sign.bybenjo.com/api/v1/documents/doc_Hs7Q2nX4LpV9aZr1/comments \\\n  -H \"Authorization: Bearer $SIGN_API_KEY\""},{"lang":"JavaScript","source":"const res = await fetch(\"https://sign.bybenjo.com/api/v1/documents/doc_Hs7Q2nX4LpV9aZr1/comments\", {\n  method: \"GET\",\n  headers: {\n    Authorization: `Bearer ${process.env.SIGN_API_KEY}`,\n  },\n});\nconst { data } = await res.json();"}]}},"/documents/{id}/comments/{threadId}/reply":{"post":{"operationId":"replyComment","tags":["Documents"],"summary":"Reply to a thread (and resolve it)","description":"The signer sees the reply on the signing page (no message is sent). `resolve: true` closes the thread.","security":[{"apiKey":[]}],"x-scope":"documents.write","parameters":[{"name":"id","in":"path","required":true,"description":"The document id (doc_…).","schema":{"type":"string"}},{"name":"threadId","in":"path","required":true,"description":"The thread id (th_…).","schema":{"type":"string"}},{"name":"Idempotency-Key","in":"header","description":"Optional. The same key returns the first answer for 24 hours (a different body → 422).","schema":{"type":"string","maxLength":100}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["text"],"properties":{"text":{"type":"string","maxLength":2000},"resolve":{"type":"boolean"}}},"example":{"text":"עדכנו את שעת ההגעה ל-18:00 — אפשר לחתום.","resolve":true}}}},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"object","properties":{"id":{"type":"string"},"status":{"type":"string","enum":["open","resolved"]},"messages":{"type":"integer"}}}}}}}},"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Missing / invalid API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"The key lacks the scope","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limited","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-codeSamples":[{"lang":"curl","source":"curl -X POST https://sign.bybenjo.com/api/v1/documents/doc_Hs7Q2nX4LpV9aZr1/comments/threadId/reply \\\n  -H \"Authorization: Bearer $SIGN_API_KEY\" \\\n  -H \"Content-Type: application/json\" \\\n  -H \"Idempotency-Key: $(uuidgen)\" \\\n  -d '{\n  \"text\": \"עדכנו את שעת ההגעה ל-18:00 — אפשר לחתום.\",\n  \"resolve\": true\n}'"},{"lang":"JavaScript","source":"const res = await fetch(\"https://sign.bybenjo.com/api/v1/documents/doc_Hs7Q2nX4LpV9aZr1/comments/threadId/reply\", {\n  method: \"POST\",\n  headers: {\n    Authorization: `Bearer ${process.env.SIGN_API_KEY}`,\n    \"Content-Type\": \"application/json\",\n    \"Idempotency-Key\": crypto.randomUUID(),\n  },\n  body: JSON.stringify({\n    \"text\": \"עדכנו את שעת ההגעה ל-18:00 — אפשר לחתום.\",\n    \"resolve\": true\n  }),\n});\nconst { data } = await res.json();"}]}},"/documents/{id}/versions":{"post":{"operationId":"reviseDocument","tags":["Documents"],"summary":"Revise a sent document (a new version)","description":"Text changes `{ changes: [{ find, replace }] }`, a whole editor document `{ doc }` (editor-authored content), or a revised file `{ file: { filename, dataBase64 } }`; plus values?, note?, deliver? (link by default). Every signature on the old version is invalidated; signers see the changes highlighted (inserted text marked yellow, deleted text struck through) and sign the new version. Fires document.revised.","security":[{"apiKey":[]}],"x-scope":"documents.write","parameters":[{"name":"id","in":"path","required":true,"description":"The document id (doc_…).","schema":{"type":"string"}},{"name":"Idempotency-Key","in":"header","description":"Optional. The same key returns the first answer for 24 hours (a different body → 422).","schema":{"type":"string","maxLength":100}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"changes":{"type":"array","items":{"type":"object","properties":{"find":{"type":"string"},"replace":{"type":"string"}}}},"doc":{"type":"object"},"file":{"type":"object","properties":{"filename":{"type":"string"},"dataBase64":{"type":"string"}}},"values":{"type":"object"},"note":{"type":"string"},"deliver":{"type":"string","enum":["link","email","auto"]}}},"example":{"changes":[{"find":"בשעה 17:00","replace":"בשעה 18:00"}],"note":"שעת ההגעה עודכנה","deliver":"email"}}}},"responses":{"201":{"description":"The new version","content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"allOf":[{"$ref":"#/components/schemas/Document"},{"type":"object","properties":{"version":{"type":"integer"},"revision":{"type":"object"},"links":{"type":"array","items":{"$ref":"#/components/schemas/SigningLink"}}}}]}}}}}},"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Missing / invalid API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"The key lacks the scope","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Not revisable now","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limited","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-codeSamples":[{"lang":"curl","source":"curl -X POST https://sign.bybenjo.com/api/v1/documents/doc_Hs7Q2nX4LpV9aZr1/versions \\\n  -H \"Authorization: Bearer $SIGN_API_KEY\" \\\n  -H \"Content-Type: application/json\" \\\n  -H \"Idempotency-Key: $(uuidgen)\" \\\n  -d '{\n  \"changes\": [\n    {\n      \"find\": \"בשעה 17:00\",\n      \"replace\": \"בשעה 18:00\"\n    }\n  ],\n  \"note\": \"שעת ההגעה עודכנה\",\n  \"deliver\": \"email\"\n}'"},{"lang":"JavaScript","source":"const res = await fetch(\"https://sign.bybenjo.com/api/v1/documents/doc_Hs7Q2nX4LpV9aZr1/versions\", {\n  method: \"POST\",\n  headers: {\n    Authorization: `Bearer ${process.env.SIGN_API_KEY}`,\n    \"Content-Type\": \"application/json\",\n    \"Idempotency-Key\": crypto.randomUUID(),\n  },\n  body: JSON.stringify({\n    \"changes\": [\n      {\n        \"find\": \"בשעה 17:00\",\n        \"replace\": \"בשעה 18:00\"\n      }\n    ],\n    \"note\": \"שעת ההגעה עודכנה\",\n    \"deliver\": \"email\"\n  }),\n});\nconst { data } = await res.json();"}]}},"/documents/{id}/signed.pdf":{"get":{"operationId":"downloadSignedPdf","tags":["Files"],"summary":"Download the signed PDF","description":"The sealed PDF (digitally signed, timestamped). Header X-Content-SHA256 carries its hash. After the retention period (see the document's `storage`) the files are deleted from the server: 410 with `driveLink` (the copy in the owner's Google Drive, or null).","security":[{"apiKey":[]}],"x-scope":"documents.read","parameters":[{"name":"id","in":"path","required":true,"description":"The document id (doc_…).","schema":{"type":"string"}}],"responses":{"200":{"description":"The PDF","content":{"application/pdf":{"schema":{"type":"string","format":"binary"}}}},"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Missing / invalid API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"The key lacks the scope","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not completed yet","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"410":{"description":"The files were deleted from the server (retention) — error.driveLink: the Drive copy or null","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limited","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-codeSamples":[{"lang":"curl","source":"curl https://sign.bybenjo.com/api/v1/documents/doc_Hs7Q2nX4LpV9aZr1/signed.pdf \\\n  -H \"Authorization: Bearer $SIGN_API_KEY\" \\\n  -o document.pdf"},{"lang":"JavaScript","source":"const res = await fetch(\"https://sign.bybenjo.com/api/v1/documents/doc_Hs7Q2nX4LpV9aZr1/signed.pdf\", {\n  headers: { Authorization: `Bearer ${process.env.SIGN_API_KEY}` },\n});\nawait fs.promises.writeFile(\"document.pdf\", Buffer.from(await res.arrayBuffer()));"}]}},"/documents/{id}/audit.pdf":{"get":{"operationId":"downloadAuditPdf","tags":["Files"],"summary":"Download the audit certificate","security":[{"apiKey":[]}],"x-scope":"documents.read","parameters":[{"name":"id","in":"path","required":true,"description":"The document id (doc_…).","schema":{"type":"string"}}],"responses":{"200":{"description":"The PDF","content":{"application/pdf":{"schema":{"type":"string","format":"binary"}}}},"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Missing / invalid API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"The key lacks the scope","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not completed yet","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"410":{"description":"The files were deleted from the server (retention) — error.driveLink: the Drive copy or null","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limited","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-codeSamples":[{"lang":"curl","source":"curl https://sign.bybenjo.com/api/v1/documents/doc_Hs7Q2nX4LpV9aZr1/audit.pdf \\\n  -H \"Authorization: Bearer $SIGN_API_KEY\" \\\n  -o document.pdf"},{"lang":"JavaScript","source":"const res = await fetch(\"https://sign.bybenjo.com/api/v1/documents/doc_Hs7Q2nX4LpV9aZr1/audit.pdf\", {\n  headers: { Authorization: `Bearer ${process.env.SIGN_API_KEY}` },\n});\nawait fs.promises.writeFile(\"document.pdf\", Buffer.from(await res.arrayBuffer()));"}]}},"/documents/{id}/audit":{"get":{"operationId":"getAuditTrail","tags":["Files"],"summary":"The audit trail (JSON)","description":"Every action on the document: created, sent, opened, signed, declined… Ids, counts and hashes only — never values.","security":[{"apiKey":[]}],"x-scope":"documents.read","parameters":[{"name":"id","in":"path","required":true,"description":"The document id (doc_…).","schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/AuditEvent"}}}}}}},"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Missing / invalid API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"The key lacks the scope","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limited","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-codeSamples":[{"lang":"curl","source":"curl https://sign.bybenjo.com/api/v1/documents/doc_Hs7Q2nX4LpV9aZr1/audit \\\n  -H \"Authorization: Bearer $SIGN_API_KEY\""},{"lang":"JavaScript","source":"const res = await fetch(\"https://sign.bybenjo.com/api/v1/documents/doc_Hs7Q2nX4LpV9aZr1/audit\", {\n  method: \"GET\",\n  headers: {\n    Authorization: `Bearer ${process.env.SIGN_API_KEY}`,\n  },\n});\nconst { data } = await res.json();"}]}},"/verify":{"post":{"operationId":"verifyPdf","tags":["Verification"],"summary":"Verify a signed PDF","description":"The PDF as the body (Content-Type: application/pdf, ≤ 30 MB), or a multipart form with a `file`. Read in memory, never stored.","security":[{"apiKey":[]}],"x-scope":"documents.read","parameters":[{"name":"Idempotency-Key","in":"header","description":"Optional. The same key returns the first answer for 24 hours (a different body → 422).","schema":{"type":"string","maxLength":100}}],"requestBody":{"required":true,"content":{"application/pdf":{"schema":{"type":"string","format":"binary"}}}},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"$ref":"#/components/schemas/Verification"}}}}}},"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Missing / invalid API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"The key lacks the scope","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Too large","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limited","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-codeSamples":[{"lang":"curl","source":"curl -X POST https://sign.bybenjo.com/api/v1/verify \\\n  -H \"Authorization: Bearer $SIGN_API_KEY\" \\\n  -H \"Content-Type: application/pdf\" \\\n  --data-binary @signed.pdf"},{"lang":"JavaScript","source":"const res = await fetch(\"https://sign.bybenjo.com/api/v1/verify\", {\n  method: \"POST\",\n  headers: { Authorization: `Bearer ${process.env.SIGN_API_KEY}`, \"Content-Type\": \"application/pdf\" },\n  body: await fs.promises.readFile(\"signed.pdf\"),\n});\nconst { data } = await res.json();"}]}},"/verify/{sha256}":{"get":{"operationId":"verifyHash","tags":["Verification"],"summary":"Look up a signed file by its SHA-256","security":[{"apiKey":[]}],"x-scope":"documents.read","parameters":[{"name":"sha256","in":"path","required":true,"description":"64 hex characters.","schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"$ref":"#/components/schemas/Verification"}}}}}},"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Missing / invalid API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"The key lacks the scope","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limited","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-codeSamples":[{"lang":"curl","source":"curl https://sign.bybenjo.com/api/v1/verify/3f2a… \\\n  -H \"Authorization: Bearer $SIGN_API_KEY\""},{"lang":"JavaScript","source":"const res = await fetch(\"https://sign.bybenjo.com/api/v1/verify/3f2a…\", {\n  method: \"GET\",\n  headers: {\n    Authorization: `Bearer ${process.env.SIGN_API_KEY}`,\n  },\n});\nconst { data } = await res.json();"}]}},"/webhooks":{"get":{"operationId":"listWebhooks","tags":["Webhooks"],"summary":"List webhook subscriptions","security":[{"apiKey":[]}],"x-scope":"webhooks.manage","parameters":[],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/Webhook"}}}}}}},"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Missing / invalid API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"The key lacks the scope","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limited","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-codeSamples":[{"lang":"curl","source":"curl https://sign.bybenjo.com/api/v1/webhooks \\\n  -H \"Authorization: Bearer $SIGN_API_KEY\""},{"lang":"JavaScript","source":"const res = await fetch(\"https://sign.bybenjo.com/api/v1/webhooks\", {\n  method: \"GET\",\n  headers: {\n    Authorization: `Bearer ${process.env.SIGN_API_KEY}`,\n  },\n});\nconst { data } = await res.json();"}]},"post":{"operationId":"createWebhook","tags":["Webhooks"],"summary":"Subscribe to events","description":"The response carries the subscription's signing `secret` ONCE — keep it to verify deliveries.","security":[{"apiKey":[]}],"x-scope":"webhooks.manage","parameters":[{"name":"Idempotency-Key","in":"header","description":"Optional. The same key returns the first answer for 24 hours (a different body → 422).","schema":{"type":"string","maxLength":100}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WebhookCreate"},"example":{"url":"https://example.com/hooks/sign","events":["document.signed","document.completed","document.declined"],"format":"full"}}}},"responses":{"201":{"description":"Created","content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"allOf":[{"$ref":"#/components/schemas/Webhook"},{"type":"object","properties":{"secret":{"type":"string"}}}]}}}}}},"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Missing / invalid API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"The key lacks the scope","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limited","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-codeSamples":[{"lang":"curl","source":"curl -X POST https://sign.bybenjo.com/api/v1/webhooks \\\n  -H \"Authorization: Bearer $SIGN_API_KEY\" \\\n  -H \"Content-Type: application/json\" \\\n  -H \"Idempotency-Key: $(uuidgen)\" \\\n  -d '{\n  \"url\": \"https://example.com/hooks/sign\",\n  \"events\": [\n    \"document.signed\",\n    \"document.completed\",\n    \"document.declined\"\n  ],\n  \"format\": \"full\"\n}'"},{"lang":"JavaScript","source":"const res = await fetch(\"https://sign.bybenjo.com/api/v1/webhooks\", {\n  method: \"POST\",\n  headers: {\n    Authorization: `Bearer ${process.env.SIGN_API_KEY}`,\n    \"Content-Type\": \"application/json\",\n    \"Idempotency-Key\": crypto.randomUUID(),\n  },\n  body: JSON.stringify({\n    \"url\": \"https://example.com/hooks/sign\",\n    \"events\": [\n      \"document.signed\",\n      \"document.completed\",\n      \"document.declined\"\n    ],\n    \"format\": \"full\"\n  }),\n});\nconst { data } = await res.json();"}]}},"/webhooks/{id}":{"get":{"operationId":"getWebhook","tags":["Webhooks"],"summary":"Get a subscription","security":[{"apiKey":[]}],"x-scope":"webhooks.manage","parameters":[{"name":"id","in":"path","required":true,"description":"The subscription id (whk_…).","schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"$ref":"#/components/schemas/Webhook"}}}}}},"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Missing / invalid API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"The key lacks the scope","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limited","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-codeSamples":[{"lang":"curl","source":"curl https://sign.bybenjo.com/api/v1/webhooks/whk_3nV7bQ1sLx9TzYpR \\\n  -H \"Authorization: Bearer $SIGN_API_KEY\""},{"lang":"JavaScript","source":"const res = await fetch(\"https://sign.bybenjo.com/api/v1/webhooks/whk_3nV7bQ1sLx9TzYpR\", {\n  method: \"GET\",\n  headers: {\n    Authorization: `Bearer ${process.env.SIGN_API_KEY}`,\n  },\n});\nconst { data } = await res.json();"}]},"patch":{"operationId":"updateWebhook","tags":["Webhooks"],"summary":"Change / pause / resume a subscription","security":[{"apiKey":[]}],"x-scope":"webhooks.manage","parameters":[{"name":"id","in":"path","required":true,"description":"The subscription id (whk_…).","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WebhookUpdate"},"example":{"enabled":true}}}},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"$ref":"#/components/schemas/Webhook"}}}}}},"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Missing / invalid API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"The key lacks the scope","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limited","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-codeSamples":[{"lang":"curl","source":"curl -X PATCH https://sign.bybenjo.com/api/v1/webhooks/whk_3nV7bQ1sLx9TzYpR \\\n  -H \"Authorization: Bearer $SIGN_API_KEY\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\n  \"enabled\": true\n}'"},{"lang":"JavaScript","source":"const res = await fetch(\"https://sign.bybenjo.com/api/v1/webhooks/whk_3nV7bQ1sLx9TzYpR\", {\n  method: \"PATCH\",\n  headers: {\n    Authorization: `Bearer ${process.env.SIGN_API_KEY}`,\n    \"Content-Type\": \"application/json\",\n  },\n  body: JSON.stringify({\n    \"enabled\": true\n  }),\n});\nconst { data } = await res.json();"}]},"delete":{"operationId":"deleteWebhook","tags":["Webhooks"],"summary":"Delete a subscription","security":[{"apiKey":[]}],"x-scope":"webhooks.manage","parameters":[{"name":"id","in":"path","required":true,"description":"The subscription id (whk_…).","schema":{"type":"string"}}],"responses":{"200":{"description":"Deleted","content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"object","properties":{"deleted":{"type":"boolean"}}}}}}}},"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Missing / invalid API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"The key lacks the scope","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limited","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-codeSamples":[{"lang":"curl","source":"curl -X DELETE https://sign.bybenjo.com/api/v1/webhooks/whk_3nV7bQ1sLx9TzYpR \\\n  -H \"Authorization: Bearer $SIGN_API_KEY\""},{"lang":"JavaScript","source":"const res = await fetch(\"https://sign.bybenjo.com/api/v1/webhooks/whk_3nV7bQ1sLx9TzYpR\", {\n  method: \"DELETE\",\n  headers: {\n    Authorization: `Bearer ${process.env.SIGN_API_KEY}`,\n  },\n});\nconst { data } = await res.json();"}]}},"/webhooks/{id}/test":{"post":{"operationId":"testWebhook","tags":["Webhooks"],"summary":"Send a signed test ping now","security":[{"apiKey":[]}],"x-scope":"webhooks.manage","parameters":[{"name":"id","in":"path","required":true,"description":"The subscription id (whk_…).","schema":{"type":"string"}}],"responses":{"200":{"description":"The delivery (delivered / failed / blocked)","content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"$ref":"#/components/schemas/Delivery"}}}}}},"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Missing / invalid API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"The key lacks the scope","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limited","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-codeSamples":[{"lang":"curl","source":"curl -X POST https://sign.bybenjo.com/api/v1/webhooks/whk_3nV7bQ1sLx9TzYpR/test \\\n  -H \"Authorization: Bearer $SIGN_API_KEY\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{}'"},{"lang":"JavaScript","source":"const res = await fetch(\"https://sign.bybenjo.com/api/v1/webhooks/whk_3nV7bQ1sLx9TzYpR/test\", {\n  method: \"POST\",\n  headers: {\n    Authorization: `Bearer ${process.env.SIGN_API_KEY}`,\n    \"Content-Type\": \"application/json\",\n  },\n  body: JSON.stringify({}),\n});\nconst { data } = await res.json();"}]}},"/webhooks/{id}/rotate-secret":{"post":{"operationId":"rotateWebhookSecret","tags":["Webhooks"],"summary":"Replace the subscription's signing secret","security":[{"apiKey":[]}],"x-scope":"webhooks.manage","parameters":[{"name":"id","in":"path","required":true,"description":"The subscription id (whk_…).","schema":{"type":"string"}}],"responses":{"200":{"description":"The new secret (shown once)","content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"object","properties":{"secret":{"type":"string"}}}}}}}},"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Missing / invalid API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"The key lacks the scope","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limited","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-codeSamples":[{"lang":"curl","source":"curl -X POST https://sign.bybenjo.com/api/v1/webhooks/whk_3nV7bQ1sLx9TzYpR/rotate-secret \\\n  -H \"Authorization: Bearer $SIGN_API_KEY\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{}'"},{"lang":"JavaScript","source":"const res = await fetch(\"https://sign.bybenjo.com/api/v1/webhooks/whk_3nV7bQ1sLx9TzYpR/rotate-secret\", {\n  method: \"POST\",\n  headers: {\n    Authorization: `Bearer ${process.env.SIGN_API_KEY}`,\n    \"Content-Type\": \"application/json\",\n  },\n  body: JSON.stringify({}),\n});\nconst { data } = await res.json();"}]}},"/callback-secret/rotate":{"post":{"operationId":"rotateCallbackSecret","tags":["Webhooks"],"summary":"Replace the organisation's callback signing secret","description":"Per-document callbackUrl deliveries are signed with this secret (the same HMAC scheme as webhooks).","security":[{"apiKey":[]}],"x-scope":"webhooks.manage","parameters":[],"responses":{"200":{"description":"The new secret","content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"object","properties":{"secret":{"type":"string"}}}}}}}},"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Missing / invalid API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"The key lacks the scope","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limited","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-codeSamples":[{"lang":"curl","source":"curl -X POST https://sign.bybenjo.com/api/v1/callback-secret/rotate \\\n  -H \"Authorization: Bearer $SIGN_API_KEY\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{}'"},{"lang":"JavaScript","source":"const res = await fetch(\"https://sign.bybenjo.com/api/v1/callback-secret/rotate\", {\n  method: \"POST\",\n  headers: {\n    Authorization: `Bearer ${process.env.SIGN_API_KEY}`,\n    \"Content-Type\": \"application/json\",\n  },\n  body: JSON.stringify({}),\n});\nconst { data } = await res.json();"}]}},"/deliveries":{"get":{"operationId":"listDeliveries","tags":["Deliveries"],"summary":"The delivery log (webhooks + callbacks)","security":[{"apiKey":[]}],"x-scope":"webhooks.manage","parameters":[{"name":"subscriptionId","in":"query","description":"Only this subscription.","schema":{"type":"string"}},{"name":"documentId","in":"query","description":"Only this document's deliveries.","schema":{"type":"string"}},{"name":"status","in":"query","description":"pending, retrying, delivered, failed or blocked.","schema":{"type":"string"}},{"name":"limit","in":"query","description":"1–200 (default 50).","schema":{"type":"integer"}},{"name":"before","in":"query","description":"createdAt of the last item you have (older ones).","schema":{"type":"string"}}],"responses":{"200":{"description":"Newest first","content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/Delivery"}}}}}}},"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Missing / invalid API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"The key lacks the scope","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limited","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-codeSamples":[{"lang":"curl","source":"curl https://sign.bybenjo.com/api/v1/deliveries \\\n  -H \"Authorization: Bearer $SIGN_API_KEY\""},{"lang":"JavaScript","source":"const res = await fetch(\"https://sign.bybenjo.com/api/v1/deliveries\", {\n  method: \"GET\",\n  headers: {\n    Authorization: `Bearer ${process.env.SIGN_API_KEY}`,\n  },\n});\nconst { data } = await res.json();"}]}},"/deliveries/{id}":{"get":{"operationId":"getDelivery","tags":["Deliveries"],"summary":"One delivery, with its payload","security":[{"apiKey":[]}],"x-scope":"webhooks.manage","parameters":[{"name":"id","in":"path","required":true,"description":"The delivery id (dlv_…).","schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"allOf":[{"$ref":"#/components/schemas/Delivery"},{"type":"object","properties":{"payload":{}}}]}}}}}},"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Missing / invalid API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"The key lacks the scope","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limited","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-codeSamples":[{"lang":"curl","source":"curl https://sign.bybenjo.com/api/v1/deliveries/dlv_Q4m8Zr2Tk1pWc7Ns \\\n  -H \"Authorization: Bearer $SIGN_API_KEY\""},{"lang":"JavaScript","source":"const res = await fetch(\"https://sign.bybenjo.com/api/v1/deliveries/dlv_Q4m8Zr2Tk1pWc7Ns\", {\n  method: \"GET\",\n  headers: {\n    Authorization: `Bearer ${process.env.SIGN_API_KEY}`,\n  },\n});\nconst { data } = await res.json();"}]}},"/deliveries/{id}/resend":{"post":{"operationId":"resendDelivery","tags":["Deliveries"],"summary":"Deliver the same event again","description":"A new delivery of the same event (same event id — de-duplicate on it), queued now. 30 per organisation per hour.","security":[{"apiKey":[]}],"x-scope":"webhooks.manage","parameters":[{"name":"id","in":"path","required":true,"description":"The delivery id (dlv_…).","schema":{"type":"string"}}],"responses":{"202":{"description":"Queued","content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"$ref":"#/components/schemas/Delivery"}}}}}},"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Missing / invalid API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"The key lacks the scope","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limited","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-codeSamples":[{"lang":"curl","source":"curl -X POST https://sign.bybenjo.com/api/v1/deliveries/dlv_Q4m8Zr2Tk1pWc7Ns/resend \\\n  -H \"Authorization: Bearer $SIGN_API_KEY\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{}'"},{"lang":"JavaScript","source":"const res = await fetch(\"https://sign.bybenjo.com/api/v1/deliveries/dlv_Q4m8Zr2Tk1pWc7Ns/resend\", {\n  method: \"POST\",\n  headers: {\n    Authorization: `Bearer ${process.env.SIGN_API_KEY}`,\n    \"Content-Type\": \"application/json\",\n  },\n  body: JSON.stringify({}),\n});\nconst { data } = await res.json();"}]}}},"webhooks":{"document.created":{"post":{"summary":"document.created","description":"A document was created (a draft — from the dashboard, the API, a public link or a bulk send).\n\nSent to subscriptions that chose this event (format \"full\" or \"simple\"), and to a document's callbackUrl (format \"simple\" by default). Signed with X-Sign-Signature.","parameters":[{"name":"X-Sign-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"t=<unix seconds>,v1=<hex HMAC-SHA256(secret, \"<t>.<raw body>\")>"},{"name":"X-Sign-Event","in":"header","schema":{"type":"string"}},{"name":"X-Sign-Delivery","in":"header","schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/EventFull"},{"$ref":"#/components/schemas/EventSimple"}]},"examples":{"simple":{"summary":"format: simple","value":[{"event":{"event_name":"created","event_timestamp":"2026-10-14T09:58:02.114Z"},"inputData":{"שם מלא":"דנה לוי","תעודת זהות":null,"תאריך האירוע":"2026-12-24","חבילה":"פרימיום","תוספות":null,"מאשר/ת את התנאים":null,"חתימה":null,"צילום תעודה":null},"user_data":{"callback":"dana@example.com","sent_by_channel":"Email"},"submission_id":"doc_Hs7Q2nX4LpV9aZr1","submission_file_link":"https://sign.example.com/app#documents/doc/doc_Hs7Q2nX4LpV9aZr1","form_id":"tpl_8KqL2mZs0aPd4XyB","form_name":"הסכם מתן שירותי צילום - חתונה.","document_id":"doc_Hs7Q2nX4LpV9aZr1","external_id":"crm-4711","metadata":{"deal":"D-88"}}]},"full":{"summary":"format: full","value":{"id":"evt_5f1d2c9a7b3e4d6f8a0b1c2d","type":"document.created","createdAt":"2026-10-14T09:58:02.114Z","organizationId":"org_5TkLq8Wm2Nx7Pz4R","data":{"document":{"id":"doc_Hs7Q2nX4LpV9aZr1","externalId":"crm-4711","metadata":{"deal":"D-88"},"name":"הסכם מתן שירותי צילום - חתונה.","status":"draft","templateId":"tpl_8KqL2mZs0aPd4XyB","oneTime":false,"createdAt":"2026-10-14T09:58:02.114Z","sentAt":null,"completedAt":null,"expiresAt":"2026-11-13T21:59:59.000Z","signers":[{"id":"sg_k2Pq9Lx7Vr3T","role":"client","name":"דנה לוי","email":"dana@example.com","status":"pending","sentAt":null,"openedAt":null,"signedAt":null,"declinedAt":null}],"downloads":null,"storage":null}}}}}}}},"responses":{"200":{"description":"Any 2xx acknowledges the delivery; anything else (or no answer in 10 s) is retried."}}}},"document.sent":{"post":{"summary":"document.sent","description":"The document was sent for signature (signing links issued).\n\nSent to subscriptions that chose this event (format \"full\" or \"simple\"), and to a document's callbackUrl (format \"simple\" by default). Signed with X-Sign-Signature.","parameters":[{"name":"X-Sign-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"t=<unix seconds>,v1=<hex HMAC-SHA256(secret, \"<t>.<raw body>\")>"},{"name":"X-Sign-Event","in":"header","schema":{"type":"string"}},{"name":"X-Sign-Delivery","in":"header","schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/EventFull"},{"$ref":"#/components/schemas/EventSimple"}]},"examples":{"simple":{"summary":"format: simple","value":[{"event":{"event_name":"sent","event_timestamp":"2026-10-14T09:58:03.902Z"},"inputData":{"שם מלא":"דנה לוי","תעודת זהות":null,"תאריך האירוע":"2026-12-24","חבילה":"פרימיום","תוספות":null,"מאשר/ת את התנאים":null,"חתימה":null,"צילום תעודה":null},"user_data":{"callback":"dana@example.com","sent_by_channel":"Email"},"submission_id":"doc_Hs7Q2nX4LpV9aZr1","submission_file_link":"https://sign.example.com/app#documents/doc/doc_Hs7Q2nX4LpV9aZr1","form_id":"tpl_8KqL2mZs0aPd4XyB","form_name":"הסכם מתן שירותי צילום - חתונה.","document_id":"doc_Hs7Q2nX4LpV9aZr1","external_id":"crm-4711","metadata":{"deal":"D-88"}}]},"full":{"summary":"format: full","value":{"id":"evt_5f1d2c9a7b3e4d6f8a0b1c2d","type":"document.sent","createdAt":"2026-10-14T09:58:03.902Z","organizationId":"org_5TkLq8Wm2Nx7Pz4R","data":{"document":{"id":"doc_Hs7Q2nX4LpV9aZr1","externalId":"crm-4711","metadata":{"deal":"D-88"},"name":"הסכם מתן שירותי צילום - חתונה.","status":"sent","templateId":"tpl_8KqL2mZs0aPd4XyB","oneTime":false,"createdAt":"2026-10-14T09:58:02.114Z","sentAt":"2026-10-14T09:58:03.902Z","completedAt":null,"expiresAt":"2026-11-13T21:59:59.000Z","signers":[{"id":"sg_k2Pq9Lx7Vr3T","role":"client","name":"דנה לוי","email":"dana@example.com","status":"sent","sentAt":"2026-10-14T09:58:03.902Z","openedAt":null,"signedAt":null,"declinedAt":null}],"downloads":null,"storage":null}}}}}}}},"responses":{"200":{"description":"Any 2xx acknowledges the delivery; anything else (or no answer in 10 s) is retried."}}}},"document.viewed":{"post":{"summary":"document.viewed","description":"A signer opened the document for the first time (once per signer).\n\nSent to subscriptions that chose this event (format \"full\" or \"simple\"), and to a document's callbackUrl (format \"simple\" by default). Signed with X-Sign-Signature.","parameters":[{"name":"X-Sign-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"t=<unix seconds>,v1=<hex HMAC-SHA256(secret, \"<t>.<raw body>\")>"},{"name":"X-Sign-Event","in":"header","schema":{"type":"string"}},{"name":"X-Sign-Delivery","in":"header","schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/EventFull"},{"$ref":"#/components/schemas/EventSimple"}]},"examples":{"simple":{"summary":"format: simple","value":[{"event":{"event_name":"opened","event_timestamp":"2026-10-14T10:00:01.420Z"},"inputData":{"שם מלא":"דנה לוי","תעודת זהות":null,"תאריך האירוע":"2026-12-24","חבילה":"פרימיום","תוספות":null,"מאשר/ת את התנאים":null,"חתימה":null,"צילום תעודה":null},"user_data":{"callback":"dana@example.com","sent_by_channel":"Email"},"submission_id":"sg_k2Pq9Lx7Vr3T","submission_file_link":"https://sign.example.com/app#documents/doc/doc_Hs7Q2nX4LpV9aZr1","form_id":"tpl_8KqL2mZs0aPd4XyB","form_name":"הסכם מתן שירותי צילום - חתונה.","document_id":"doc_Hs7Q2nX4LpV9aZr1","external_id":"crm-4711","metadata":{"deal":"D-88"}}]},"full":{"summary":"format: full","value":{"id":"evt_5f1d2c9a7b3e4d6f8a0b1c2d","type":"document.viewed","createdAt":"2026-10-14T10:00:01.420Z","organizationId":"org_5TkLq8Wm2Nx7Pz4R","data":{"document":{"id":"doc_Hs7Q2nX4LpV9aZr1","externalId":"crm-4711","metadata":{"deal":"D-88"},"name":"הסכם מתן שירותי צילום - חתונה.","status":"opened","templateId":"tpl_8KqL2mZs0aPd4XyB","oneTime":false,"createdAt":"2026-10-14T09:58:02.114Z","sentAt":"2026-10-14T09:58:03.902Z","completedAt":null,"expiresAt":"2026-11-13T21:59:59.000Z","signers":[{"id":"sg_k2Pq9Lx7Vr3T","role":"client","name":"דנה לוי","email":"dana@example.com","status":"opened","sentAt":"2026-10-14T09:58:03.902Z","openedAt":"2026-10-14T10:00:01.420Z","signedAt":null,"declinedAt":null}],"downloads":null,"storage":null},"signer":{"id":"sg_k2Pq9Lx7Vr3T","role":"client","name":"דנה לוי","email":"dana@example.com","status":"opened","sentAt":"2026-10-14T09:58:03.902Z","openedAt":"2026-10-14T10:00:01.420Z","signedAt":null,"declinedAt":null}}}}}}}},"responses":{"200":{"description":"Any 2xx acknowledges the delivery; anything else (or no answer in 10 s) is retried."}}}},"document.signed":{"post":{"summary":"document.signed","description":"One signer finished signing (once per signer).\n\nSent to subscriptions that chose this event (format \"full\" or \"simple\"), and to a document's callbackUrl (format \"simple\" by default). Signed with X-Sign-Signature.","parameters":[{"name":"X-Sign-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"t=<unix seconds>,v1=<hex HMAC-SHA256(secret, \"<t>.<raw body>\")>"},{"name":"X-Sign-Event","in":"header","schema":{"type":"string"}},{"name":"X-Sign-Delivery","in":"header","schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/EventFull"},{"$ref":"#/components/schemas/EventSimple"}]},"examples":{"simple":{"summary":"format: simple","value":[{"event":{"event_name":"submitted","event_timestamp":"2026-10-14T10:00:15.863Z"},"inputData":{"שם מלא":"דנה לוי","תעודת זהות":"*****6789","תאריך האירוע":"2026-12-24","חבילה":"פרימיום","תוספות":["אלבום","מגנטים"],"מאשר/ת את התנאים":true,"חתימה":"https://sign.example.com/files/eyJvIjoib3JnXzVUa0wiLCJkIjoiZG9jX0hzN1EyIiwiayI6Iisignature.Qm9vX3NpZ25hdHVyZQ","צילום תעודה":["https://sign.example.com/files/eyJvIjoib3JnXzVUa0wiLCJkIjoiZG9jX0hzN1EyIiwiayI6Iifile0.Qm9vX3NpZ25hdHVyZQ"]},"user_data":{"callback":"dana@example.com","sent_by_channel":"Email"},"submission_id":"sg_k2Pq9Lx7Vr3T","submission_file_link":"https://sign.example.com/app#documents/doc/doc_Hs7Q2nX4LpV9aZr1","form_id":"tpl_8KqL2mZs0aPd4XyB","form_name":"הסכם מתן שירותי צילום - חתונה.","document_id":"doc_Hs7Q2nX4LpV9aZr1","external_id":"crm-4711","metadata":{"deal":"D-88"}}]},"full":{"summary":"format: full","value":{"id":"evt_5f1d2c9a7b3e4d6f8a0b1c2d","type":"document.signed","createdAt":"2026-10-14T10:00:15.863Z","organizationId":"org_5TkLq8Wm2Nx7Pz4R","data":{"document":{"id":"doc_Hs7Q2nX4LpV9aZr1","externalId":"crm-4711","metadata":{"deal":"D-88"},"name":"הסכם מתן שירותי צילום - חתונה.","status":"partially_signed","templateId":"tpl_8KqL2mZs0aPd4XyB","oneTime":false,"createdAt":"2026-10-14T09:58:02.114Z","sentAt":"2026-10-14T09:58:03.902Z","completedAt":null,"expiresAt":"2026-11-13T21:59:59.000Z","signers":[{"id":"sg_k2Pq9Lx7Vr3T","role":"client","name":"דנה לוי","email":"dana@example.com","status":"signed","sentAt":"2026-10-14T09:58:03.902Z","openedAt":"2026-10-14T10:00:01.420Z","signedAt":"2026-10-14T10:00:15.863Z","declinedAt":null}],"downloads":null,"storage":null},"signer":{"id":"sg_k2Pq9Lx7Vr3T","role":"client","name":"דנה לוי","email":"dana@example.com","status":"signed","sentAt":"2026-10-14T09:58:03.902Z","openedAt":"2026-10-14T10:00:01.420Z","signedAt":"2026-10-14T10:00:15.863Z","declinedAt":null}}}}}}}},"responses":{"200":{"description":"Any 2xx acknowledges the delivery; anything else (or no answer in 10 s) is retried."}}}},"document.completed":{"post":{"summary":"document.completed","description":"Every signer signed — the signed PDF and the audit certificate are ready.\n\nSent to subscriptions that chose this event (format \"full\" or \"simple\"), and to a document's callbackUrl (format \"simple\" by default). Signed with X-Sign-Signature.","parameters":[{"name":"X-Sign-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"t=<unix seconds>,v1=<hex HMAC-SHA256(secret, \"<t>.<raw body>\")>"},{"name":"X-Sign-Event","in":"header","schema":{"type":"string"}},{"name":"X-Sign-Delivery","in":"header","schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/EventFull"},{"$ref":"#/components/schemas/EventSimple"}]},"examples":{"simple":{"summary":"format: simple","value":[{"event":{"event_name":"completed","event_timestamp":"2026-10-14T10:00:16.310Z"},"inputData":{"שם מלא":"דנה לוי","תעודת זהות":"*****6789","תאריך האירוע":"2026-12-24","חבילה":"פרימיום","תוספות":["אלבום","מגנטים"],"מאשר/ת את התנאים":true,"חתימה":"https://sign.example.com/files/eyJvIjoib3JnXzVUa0wiLCJkIjoiZG9jX0hzN1EyIiwiayI6Iisignature.Qm9vX3NpZ25hdHVyZQ","צילום תעודה":["https://sign.example.com/files/eyJvIjoib3JnXzVUa0wiLCJkIjoiZG9jX0hzN1EyIiwiayI6Iifile0.Qm9vX3NpZ25hdHVyZQ"]},"user_data":{"callback":"dana@example.com","sent_by_channel":"Email"},"submission_id":"sg_Vb8Lm2Qa6Ns1","submission_file_link":"https://sign.example.com/files/eyJvIjoib3JnXzVUa0wiLCJkIjoiZG9jX0hzN1EyIiwiayI6Iisigned.Qm9vX3NpZ25hdHVyZQ","form_id":"tpl_8KqL2mZs0aPd4XyB","form_name":"הסכם מתן שירותי צילום - חתונה.","document_id":"doc_Hs7Q2nX4LpV9aZr1","external_id":"crm-4711","metadata":{"deal":"D-88"}}]},"full":{"summary":"format: full","value":{"id":"evt_5f1d2c9a7b3e4d6f8a0b1c2d","type":"document.completed","createdAt":"2026-10-14T10:00:16.310Z","organizationId":"org_5TkLq8Wm2Nx7Pz4R","data":{"document":{"id":"doc_Hs7Q2nX4LpV9aZr1","externalId":"crm-4711","metadata":{"deal":"D-88"},"name":"הסכם מתן שירותי צילום - חתונה.","status":"completed","templateId":"tpl_8KqL2mZs0aPd4XyB","oneTime":false,"createdAt":"2026-10-14T09:58:02.114Z","sentAt":"2026-10-14T09:58:03.902Z","completedAt":"2026-10-14T10:00:16.310Z","expiresAt":"2026-11-13T21:59:59.000Z","signers":[{"id":"sg_k2Pq9Lx7Vr3T","role":"client","name":"דנה לוי","email":"dana@example.com","status":"signed","sentAt":"2026-10-14T09:58:03.902Z","openedAt":"2026-10-14T10:00:01.420Z","signedAt":"2026-10-14T10:00:15.863Z","declinedAt":null},{"id":"sg_Vb8Lm2Qa6Ns1","role":"company","name":"סטודיו אור","email":"office@example.com","status":"signed","sentAt":"2026-10-14T10:00:15.900Z","openedAt":"2026-10-14T10:00:16.000Z","signedAt":"2026-10-14T10:00:16.300Z","declinedAt":null}],"downloads":{"signedPdf":"https://sign.example.com/files/eyJvIjoib3JnXzVUa0wiLCJkIjoiZG9jX0hzN1EyIiwiayI6Iisigned.Qm9vX3NpZ25hdHVyZQ","auditPdf":"https://sign.example.com/files/eyJvIjoib3JnXzVUa0wiLCJkIjoiZG9jX0hzN1EyIiwiayI6Iiaudit.Qm9vX3NpZ25hdHVyZQ","expiresAt":"2026-10-14T11:00:16.310Z"},"storage":{"server":"kept","deleteAt":"2027-01-12T10:00:16.310Z","deletedAt":null,"drive":{"status":"saved","signedPdf":"https://drive.google.com/file/d/1AbCdEfGhIjKlMnOpQrStUvWxYz/view","auditPdf":"https://drive.google.com/file/d/1ZyXwVuTsRqPoNmLkJiHgFeDcBa/view"}}}}}}}}}},"responses":{"200":{"description":"Any 2xx acknowledges the delivery; anything else (or no answer in 10 s) is retried."}}}},"document.declined":{"post":{"summary":"document.declined","description":"A signer declined to sign (with the reason).\n\nSent to subscriptions that chose this event (format \"full\" or \"simple\"), and to a document's callbackUrl (format \"simple\" by default). Signed with X-Sign-Signature.","parameters":[{"name":"X-Sign-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"t=<unix seconds>,v1=<hex HMAC-SHA256(secret, \"<t>.<raw body>\")>"},{"name":"X-Sign-Event","in":"header","schema":{"type":"string"}},{"name":"X-Sign-Delivery","in":"header","schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/EventFull"},{"$ref":"#/components/schemas/EventSimple"}]},"examples":{"simple":{"summary":"format: simple","value":[{"event":{"event_name":"declined","event_timestamp":"2026-10-14T10:04:40.007Z"},"inputData":{"שם מלא":"דנה לוי","תעודת זהות":null,"תאריך האירוע":"2026-12-24","חבילה":"פרימיום","תוספות":null,"מאשר/ת את התנאים":null,"חתימה":null,"צילום תעודה":null},"user_data":{"callback":"dana@example.com","sent_by_channel":"Email"},"submission_id":"sg_k2Pq9Lx7Vr3T","submission_file_link":"https://sign.example.com/app#documents/doc/doc_Hs7Q2nX4LpV9aZr1","form_id":"tpl_8KqL2mZs0aPd4XyB","form_name":"הסכם מתן שירותי צילום - חתונה.","document_id":"doc_Hs7Q2nX4LpV9aZr1","external_id":"crm-4711","metadata":{"deal":"D-88"},"reason":"המחיר לא מתאים"}]},"full":{"summary":"format: full","value":{"id":"evt_5f1d2c9a7b3e4d6f8a0b1c2d","type":"document.declined","createdAt":"2026-10-14T10:04:40.007Z","organizationId":"org_5TkLq8Wm2Nx7Pz4R","data":{"document":{"id":"doc_Hs7Q2nX4LpV9aZr1","externalId":"crm-4711","metadata":{"deal":"D-88"},"name":"הסכם מתן שירותי צילום - חתונה.","status":"declined","templateId":"tpl_8KqL2mZs0aPd4XyB","oneTime":false,"createdAt":"2026-10-14T09:58:02.114Z","sentAt":"2026-10-14T09:58:03.902Z","completedAt":null,"expiresAt":"2026-11-13T21:59:59.000Z","signers":[{"id":"sg_k2Pq9Lx7Vr3T","role":"client","name":"דנה לוי","email":"dana@example.com","status":"declined","sentAt":"2026-10-14T09:58:03.902Z","openedAt":"2026-10-14T10:00:01.420Z","signedAt":null,"declinedAt":"2026-10-14T10:04:40.007Z"}],"downloads":null,"storage":null},"signer":{"id":"sg_k2Pq9Lx7Vr3T","role":"client","name":"דנה לוי","email":"dana@example.com","status":"declined","sentAt":"2026-10-14T09:58:03.902Z","openedAt":"2026-10-14T10:00:01.420Z","signedAt":null,"declinedAt":"2026-10-14T10:04:40.007Z"},"reason":"המחיר לא מתאים"}}}}}}},"responses":{"200":{"description":"Any 2xx acknowledges the delivery; anything else (or no answer in 10 s) is retried."}}}},"document.expired":{"post":{"summary":"document.expired","description":"The document expired before everyone signed.\n\nSent to subscriptions that chose this event (format \"full\" or \"simple\"), and to a document's callbackUrl (format \"simple\" by default). Signed with X-Sign-Signature.","parameters":[{"name":"X-Sign-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"t=<unix seconds>,v1=<hex HMAC-SHA256(secret, \"<t>.<raw body>\")>"},{"name":"X-Sign-Event","in":"header","schema":{"type":"string"}},{"name":"X-Sign-Delivery","in":"header","schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/EventFull"},{"$ref":"#/components/schemas/EventSimple"}]},"examples":{"simple":{"summary":"format: simple","value":[{"event":{"event_name":"expired","event_timestamp":"2026-11-13T21:59:59.000Z"},"inputData":{"שם מלא":"דנה לוי","תעודת זהות":null,"תאריך האירוע":"2026-12-24","חבילה":"פרימיום","תוספות":null,"מאשר/ת את התנאים":null,"חתימה":null,"צילום תעודה":null},"user_data":{"callback":"dana@example.com","sent_by_channel":"Email"},"submission_id":"doc_Hs7Q2nX4LpV9aZr1","submission_file_link":"https://sign.example.com/app#documents/doc/doc_Hs7Q2nX4LpV9aZr1","form_id":"tpl_8KqL2mZs0aPd4XyB","form_name":"הסכם מתן שירותי צילום - חתונה.","document_id":"doc_Hs7Q2nX4LpV9aZr1","external_id":"crm-4711","metadata":{"deal":"D-88"}}]},"full":{"summary":"format: full","value":{"id":"evt_5f1d2c9a7b3e4d6f8a0b1c2d","type":"document.expired","createdAt":"2026-11-13T21:59:59.000Z","organizationId":"org_5TkLq8Wm2Nx7Pz4R","data":{"document":{"id":"doc_Hs7Q2nX4LpV9aZr1","externalId":"crm-4711","metadata":{"deal":"D-88"},"name":"הסכם מתן שירותי צילום - חתונה.","status":"expired","templateId":"tpl_8KqL2mZs0aPd4XyB","oneTime":false,"createdAt":"2026-10-14T09:58:02.114Z","sentAt":"2026-10-14T09:58:03.902Z","completedAt":null,"expiresAt":"2026-11-13T21:59:59.000Z","signers":[{"id":"sg_k2Pq9Lx7Vr3T","role":"client","name":"דנה לוי","email":"dana@example.com","status":"sent","sentAt":"2026-10-14T09:58:03.902Z","openedAt":null,"signedAt":null,"declinedAt":null}],"downloads":null,"storage":null}}}}}}}},"responses":{"200":{"description":"Any 2xx acknowledges the delivery; anything else (or no answer in 10 s) is retried."}}}},"document.cancelled":{"post":{"summary":"document.cancelled","description":"The organisation cancelled the document.\n\nSent to subscriptions that chose this event (format \"full\" or \"simple\"), and to a document's callbackUrl (format \"simple\" by default). Signed with X-Sign-Signature.","parameters":[{"name":"X-Sign-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"t=<unix seconds>,v1=<hex HMAC-SHA256(secret, \"<t>.<raw body>\")>"},{"name":"X-Sign-Event","in":"header","schema":{"type":"string"}},{"name":"X-Sign-Delivery","in":"header","schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/EventFull"},{"$ref":"#/components/schemas/EventSimple"}]},"examples":{"simple":{"summary":"format: simple","value":[{"event":{"event_name":"cancelled","event_timestamp":"2026-10-14T11:12:30.551Z"},"inputData":{"שם מלא":"דנה לוי","תעודת זהות":null,"תאריך האירוע":"2026-12-24","חבילה":"פרימיום","תוספות":null,"מאשר/ת את התנאים":null,"חתימה":null,"צילום תעודה":null},"user_data":{"callback":"dana@example.com","sent_by_channel":"Email"},"submission_id":"doc_Hs7Q2nX4LpV9aZr1","submission_file_link":"https://sign.example.com/app#documents/doc/doc_Hs7Q2nX4LpV9aZr1","form_id":"tpl_8KqL2mZs0aPd4XyB","form_name":"הסכם מתן שירותי צילום - חתונה.","document_id":"doc_Hs7Q2nX4LpV9aZr1","external_id":"crm-4711","metadata":{"deal":"D-88"}}]},"full":{"summary":"format: full","value":{"id":"evt_5f1d2c9a7b3e4d6f8a0b1c2d","type":"document.cancelled","createdAt":"2026-10-14T11:12:30.551Z","organizationId":"org_5TkLq8Wm2Nx7Pz4R","data":{"document":{"id":"doc_Hs7Q2nX4LpV9aZr1","externalId":"crm-4711","metadata":{"deal":"D-88"},"name":"הסכם מתן שירותי צילום - חתונה.","status":"cancelled","templateId":"tpl_8KqL2mZs0aPd4XyB","oneTime":false,"createdAt":"2026-10-14T09:58:02.114Z","sentAt":"2026-10-14T09:58:03.902Z","completedAt":null,"expiresAt":"2026-11-13T21:59:59.000Z","signers":[{"id":"sg_k2Pq9Lx7Vr3T","role":"client","name":"דנה לוי","email":"dana@example.com","status":"sent","sentAt":"2026-10-14T09:58:03.902Z","openedAt":null,"signedAt":null,"declinedAt":null}],"downloads":null,"storage":null}}}}}}}},"responses":{"200":{"description":"Any 2xx acknowledges the delivery; anything else (or no answer in 10 s) is retried."}}}},"comment.created":{"post":{"summary":"comment.created","description":"A signer or the organisation added a comment (comments feature).\n\nSent to subscriptions that chose this event (format \"full\" or \"simple\"), and to a document's callbackUrl (format \"simple\" by default). Signed with X-Sign-Signature.","parameters":[{"name":"X-Sign-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"t=<unix seconds>,v1=<hex HMAC-SHA256(secret, \"<t>.<raw body>\")>"},{"name":"X-Sign-Event","in":"header","schema":{"type":"string"}},{"name":"X-Sign-Delivery","in":"header","schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/EventFull"},{"$ref":"#/components/schemas/EventSimple"}]},"examples":{"simple":{"summary":"format: simple","value":[{"event":{"event_name":"comment","event_timestamp":"2026-10-14T10:02:11.215Z"},"inputData":{"שם מלא":"דנה לוי","תעודת זהות":null,"תאריך האירוע":"2026-12-24","חבילה":"פרימיום","תוספות":null,"מאשר/ת את התנאים":null,"חתימה":null,"צילום תעודה":null},"user_data":{"callback":"dana@example.com","sent_by_channel":"Email"},"submission_id":"sg_k2Pq9Lx7Vr3T","submission_file_link":"https://sign.example.com/app#documents/doc/doc_Hs7Q2nX4LpV9aZr1","form_id":"tpl_8KqL2mZs0aPd4XyB","form_name":"הסכם מתן שירותי צילום - חתונה.","document_id":"doc_Hs7Q2nX4LpV9aZr1","external_id":"crm-4711","metadata":{"deal":"D-88"},"comment":{"id":"msg_x81TqLm2","threadId":"th_4hPq8Lw2Zx","text":"אפשר לשנות את שעת ההגעה ל-18:00?","at":"2026-10-14T10:02:11.215Z","author":{"kind":"signer","role":"client"},"anchor":{"kind":"field","text":"תאריך האירוע"},"reply":false,"version":1}}]},"full":{"summary":"format: full","value":{"id":"evt_5f1d2c9a7b3e4d6f8a0b1c2d","type":"comment.created","createdAt":"2026-10-14T10:02:11.215Z","organizationId":"org_5TkLq8Wm2Nx7Pz4R","data":{"document":{"id":"doc_Hs7Q2nX4LpV9aZr1","externalId":"crm-4711","metadata":{"deal":"D-88"},"name":"הסכם מתן שירותי צילום - חתונה.","status":"opened","templateId":"tpl_8KqL2mZs0aPd4XyB","oneTime":false,"createdAt":"2026-10-14T09:58:02.114Z","sentAt":"2026-10-14T09:58:03.902Z","completedAt":null,"expiresAt":"2026-11-13T21:59:59.000Z","signers":[{"id":"sg_k2Pq9Lx7Vr3T","role":"client","name":"דנה לוי","email":"dana@example.com","status":"opened","sentAt":"2026-10-14T09:58:03.902Z","openedAt":"2026-10-14T10:00:01.420Z","signedAt":null,"declinedAt":null}],"downloads":null,"storage":null},"signer":{"id":"sg_k2Pq9Lx7Vr3T","role":"client","name":"דנה לוי","email":"dana@example.com","status":"opened","sentAt":"2026-10-14T09:58:03.902Z","openedAt":"2026-10-14T10:00:01.420Z","signedAt":null,"declinedAt":null},"comment":{"id":"msg_x81TqLm2","threadId":"th_4hPq8Lw2Zx","text":"אפשר לשנות את שעת ההגעה ל-18:00?","at":"2026-10-14T10:02:11.215Z","author":{"kind":"signer","role":"client"},"anchor":{"kind":"field","text":"תאריך האירוע"},"reply":false,"version":1}}}}}}}},"responses":{"200":{"description":"Any 2xx acknowledges the delivery; anything else (or no answer in 10 s) is retried."}}}},"document.changes_requested":{"post":{"summary":"document.changes_requested","description":"A signer asked for changes (comments feature).\n\nSent to subscriptions that chose this event (format \"full\" or \"simple\"), and to a document's callbackUrl (format \"simple\" by default). Signed with X-Sign-Signature.","parameters":[{"name":"X-Sign-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"t=<unix seconds>,v1=<hex HMAC-SHA256(secret, \"<t>.<raw body>\")>"},{"name":"X-Sign-Event","in":"header","schema":{"type":"string"}},{"name":"X-Sign-Delivery","in":"header","schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/EventFull"},{"$ref":"#/components/schemas/EventSimple"}]},"examples":{"simple":{"summary":"format: simple","value":[{"event":{"event_name":"changes_requested","event_timestamp":"2026-10-14T10:02:12.010Z"},"inputData":{"שם מלא":"דנה לוי","תעודת זהות":null,"תאריך האירוע":"2026-12-24","חבילה":"פרימיום","תוספות":null,"מאשר/ת את התנאים":null,"חתימה":null,"צילום תעודה":null},"user_data":{"callback":"dana@example.com","sent_by_channel":"Email"},"submission_id":"sg_k2Pq9Lx7Vr3T","submission_file_link":"https://sign.example.com/app#documents/doc/doc_Hs7Q2nX4LpV9aZr1","form_id":"tpl_8KqL2mZs0aPd4XyB","form_name":"הסכם מתן שירותי צילום - חתונה.","document_id":"doc_Hs7Q2nX4LpV9aZr1","external_id":"crm-4711","metadata":{"deal":"D-88"}}]},"full":{"summary":"format: full","value":{"id":"evt_5f1d2c9a7b3e4d6f8a0b1c2d","type":"document.changes_requested","createdAt":"2026-10-14T10:02:12.010Z","organizationId":"org_5TkLq8Wm2Nx7Pz4R","data":{"document":{"id":"doc_Hs7Q2nX4LpV9aZr1","externalId":"crm-4711","metadata":{"deal":"D-88"},"name":"הסכם מתן שירותי צילום - חתונה.","status":"opened","templateId":"tpl_8KqL2mZs0aPd4XyB","oneTime":false,"createdAt":"2026-10-14T09:58:02.114Z","sentAt":"2026-10-14T09:58:03.902Z","completedAt":null,"expiresAt":"2026-11-13T21:59:59.000Z","signers":[{"id":"sg_k2Pq9Lx7Vr3T","role":"client","name":"דנה לוי","email":"dana@example.com","status":"opened","sentAt":"2026-10-14T09:58:03.902Z","openedAt":"2026-10-14T10:00:01.420Z","signedAt":null,"declinedAt":null}],"downloads":null,"storage":null},"signer":{"id":"sg_k2Pq9Lx7Vr3T","role":"client","name":"דנה לוי","email":"dana@example.com","status":"opened","sentAt":"2026-10-14T09:58:03.902Z","openedAt":"2026-10-14T10:00:01.420Z","signedAt":null,"declinedAt":null}}}}}}}},"responses":{"200":{"description":"Any 2xx acknowledges the delivery; anything else (or no answer in 10 s) is retried."}}}},"document.revised":{"post":{"summary":"document.revised","description":"The organisation revised the document — a new version for the signers (comments feature).\n\nSent to subscriptions that chose this event (format \"full\" or \"simple\"), and to a document's callbackUrl (format \"simple\" by default). Signed with X-Sign-Signature.","parameters":[{"name":"X-Sign-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"t=<unix seconds>,v1=<hex HMAC-SHA256(secret, \"<t>.<raw body>\")>"},{"name":"X-Sign-Event","in":"header","schema":{"type":"string"}},{"name":"X-Sign-Delivery","in":"header","schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/EventFull"},{"$ref":"#/components/schemas/EventSimple"}]},"examples":{"simple":{"summary":"format: simple","value":[{"event":{"event_name":"revised","event_timestamp":"2026-10-14T10:30:44.700Z"},"inputData":{"שם מלא":"דנה לוי","תעודת זהות":null,"תאריך האירוע":"2026-12-24","חבילה":"פרימיום","תוספות":null,"מאשר/ת את התנאים":null,"חתימה":null,"צילום תעודה":null},"user_data":{"callback":"dana@example.com","sent_by_channel":"Email"},"submission_id":"doc_Hs7Q2nX4LpV9aZr1","submission_file_link":"https://sign.example.com/app#documents/doc/doc_Hs7Q2nX4LpV9aZr1","form_id":"tpl_8KqL2mZs0aPd4XyB","form_name":"הסכם מתן שירותי צילום - חתונה.","document_id":"doc_Hs7Q2nX4LpV9aZr1","external_id":"crm-4711","metadata":{"deal":"D-88"},"revision":{"version":2,"fromVersion":1,"kind":"edited","note":"שעת ההגעה עודכנה ל-18:00","signaturesInvalidated":0}}]},"full":{"summary":"format: full","value":{"id":"evt_5f1d2c9a7b3e4d6f8a0b1c2d","type":"document.revised","createdAt":"2026-10-14T10:30:44.700Z","organizationId":"org_5TkLq8Wm2Nx7Pz4R","data":{"document":{"id":"doc_Hs7Q2nX4LpV9aZr1","externalId":"crm-4711","metadata":{"deal":"D-88"},"name":"הסכם מתן שירותי צילום - חתונה.","status":"sent","templateId":"tpl_8KqL2mZs0aPd4XyB","oneTime":false,"createdAt":"2026-10-14T09:58:02.114Z","sentAt":"2026-10-14T09:58:03.902Z","completedAt":null,"expiresAt":"2026-11-13T21:59:59.000Z","signers":[{"id":"sg_k2Pq9Lx7Vr3T","role":"client","name":"דנה לוי","email":"dana@example.com","status":"opened","sentAt":"2026-10-14T09:58:03.902Z","openedAt":"2026-10-14T10:00:01.420Z","signedAt":null,"declinedAt":null}],"downloads":null,"storage":null},"revision":{"version":2,"fromVersion":1,"kind":"edited","note":"שעת ההגעה עודכנה ל-18:00","signaturesInvalidated":0}}}}}}}},"responses":{"200":{"description":"Any 2xx acknowledges the delivery; anything else (or no answer in 10 s) is retried."}}}}},"components":{"securitySchemes":{"apiKey":{"type":"http","scheme":"bearer","description":"An API key from the dashboard (Settings → API keys): Authorization: Bearer bsk_live_…  Scopes: documents.read — Read documents, their audit trail and files; verify PDFs. · documents.write — Create, update, send, remind, cancel and archive documents; edit signers. · templates.read — Read templates. · templates.write — Create, rename and archive templates. · webhooks.manage — Manage webhook subscriptions, read the delivery log, resend, rotate secrets."}},"schemas":{"Error":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","description":"A stable, machine-readable code (e.g. invalid, not_found, rate_limited)."},"message":{"type":"string","description":"What went wrong, in English."},"details":{"type":"array","items":{"type":"string"},"description":"One line per problem (validation)."},"requestId":{"type":"string","description":"Quote it when contacting support."}}}},"example":{"error":{"code":"invalid","message":"some fields are not valid","details":["signers: add at least one signer"],"requestId":"req_9f2c1a7d"}}},"Pagination":{"type":"object","required":["limit","nextCursor"],"properties":{"limit":{"type":"integer"},"nextCursor":{"type":["string","null"],"description":"Pass as `cursor` for the next page; null on the last page."},"total":{"type":"integer","description":"How many items match the filters."}}},"Metadata":{"type":"object","additionalProperties":{"type":"string","maxLength":500},"maxProperties":20,"description":"Your own text key/values (≤ 20 keys, 2 KB). Returned in every view, webhook and callback."},"SignerInput":{"type":"object","required":["name"],"properties":{"role":{"type":"string","description":"A signer role of the template (e.g. client). Without one: the next free role."},"name":{"type":"string","description":"Full name.","maxLength":120},"email":{"type":"string","description":"Required to deliver by e-mail.","format":"email"},"phone":{"type":"string","description":"For SMS verification codes (when an SMS gateway is configured)."},"lang":{"type":"string","description":"The signing page's language.","enum":["he","en","ar","ru"]}}},"Signer":{"type":"object","required":["id","role","name","status"],"properties":{"id":{"type":"string","description":"Stable signer id (also the `submission_id` of the simple callback format)."},"role":{"type":"string"},"name":{"type":"string"},"email":{"type":["string","null"]},"status":{"type":"string","enum":["pending","sent","opened","signed","declined"]},"sentAt":{"type":["string","null"],"format":"date-time"},"openedAt":{"type":["string","null"],"format":"date-time"},"signedAt":{"type":["string","null"],"format":"date-time"},"declinedAt":{"type":["string","null"],"format":"date-time"},"declineReason":{"type":["string","null"]},"linkActive":{"type":"boolean","description":"Their signing link works right now."}}},"SigningLink":{"type":"object","required":["signerId","role","name","url"],"properties":{"signerId":{"type":"string"},"role":{"type":"string"},"name":{"type":"string"},"url":{"type":"string","description":"The signer's personal link (keep it private — it opens the document).","format":"uri"}}},"Callback":{"type":["object","null"],"required":["url","events","format"],"properties":{"url":{"type":"string","description":"https only; private / internal addresses are refused.","format":"uri"},"events":{"type":"string","description":"all = every event of this document; completed = only when it completes.","enum":["all","completed"]},"format":{"type":"string","description":"simple (default) or full — see Webhooks.","enum":["simple","full"]}}},"Document":{"type":"object","required":["id","name","status","signers"],"properties":{"id":{"type":"string","description":"doc_…"},"name":{"type":"string"},"status":{"type":"string","enum":["draft","ready","sent","opened","partially_signed","completed","declined","cancelled","expired","error"]},"templateId":{"type":["string","null"],"description":"null for a one-time document."},"oneTime":{"type":"boolean"},"externalId":{"type":["string","null"],"description":"Your id (unique per organisation)."},"metadata":{"$ref":"#/components/schemas/Metadata"},"callback":{"$ref":"#/components/schemas/Callback"},"callbackValue":{"type":["string","null"],"description":"Your free `callback` value, echoed as user_data.callback."},"redirectUrl":{"type":["string","null"],"description":"Where the signing page sends each signer after signing."},"values":{"type":"object","additionalProperties":{"type":"string"},"description":"Values filled before signing (masked fields stay masked)."},"missing":{"type":"array","items":{"type":"string"},"description":"Required values still empty — sending is blocked until they are filled."},"signers":{"type":"array","items":{"$ref":"#/components/schemas/Signer"}},"createdAt":{"type":["string","null"],"format":"date-time"},"updatedAt":{"type":["string","null"],"format":"date-time"},"sentAt":{"type":["string","null"],"format":"date-time"},"completedAt":{"type":["string","null"],"format":"date-time"},"expiresAt":{"type":["string","null"],"format":"date-time"},"archivedAt":{"type":["string","null"],"format":"date-time"},"files":{"type":"object","properties":{"signedPdf":{"type":["string","null"],"description":"API path of the signed PDF (once completed; null once the files were deleted)."},"auditPdf":{"type":["string","null"],"description":"API path of the audit certificate (once completed)."}}},"storage":{"$ref":"#/components/schemas/Storage"}}},"Storage":{"type":["object","null"],"description":"A finished document's files: on the server until `deleteAt` (the retention period, 30–90 days), then deleted (the record stays); the copy in the owner's Google Drive. null while the document is a draft or out for signature.","properties":{"server":{"type":"string","description":"kept | deleted","enum":["kept","deleted"]},"deleteAt":{"type":["string","null"],"description":"When the files will be deleted from the server.","format":"date-time"},"deletedAt":{"type":["string","null"],"format":"date-time"},"drive":{"type":["object","null"],"properties":{"status":{"type":"string","enum":["pending","saved","failed"]},"signedPdf":{"type":["string","null"],"description":"The signed PDF in Google Drive."},"auditPdf":{"type":["string","null"],"description":"The audit certificate in Google Drive."}}}}},"DocumentCreate":{"type":"object","required":["templateId","signers"],"properties":{"templateId":{"type":"string","description":"tpl_…"},"name":{"type":"string","description":"Defaults to the template's name."},"values":{"type":"object","additionalProperties":{},"description":"Prefill: values of the fields the creator fills (by variable name)."},"signers":{"oneOf":[{"type":"array","items":{"$ref":"#/components/schemas/SignerInput"},"minItems":1},{"type":"object","additionalProperties":{"type":"object","properties":{"name":{"type":"string"},"email":{"type":"string","format":"email"},"phone":{"type":"string"},"lang":{"type":"string","enum":["he","en","ar","ru"]}}},"description":"Keyed by role: { client: { name, email } } — empty entries are left out."}],"description":"A list (a signer without `role` gets the next free role), or an object keyed by role (see GET /templates/{id}/inputs)."},"recipient":{"type":"object","properties":{"name":{"type":"string"},"email":{"type":"string","format":"email"},"phone":{"type":"string"},"lang":{"type":"string","enum":["he","en","ar","ru"]},"role":{"type":"string","description":"Default: the first role still without a signer."}},"description":"A shortcut for one-signer templates: one more signer, for the first role still without one."},"order":{"type":"string","enum":["sequential","parallel"]},"expiresIn":{"type":"string","description":"A preset: 1d…10d, 2w, 3w, 4w, 1m, 2m, 3m."},"expiresAt":{"type":"string","description":"A date (YYYY-MM-DD) or an ISO time.","format":"date-time"},"verify":{"type":"string","description":"Code before signing.","enum":["none","email","sms","any"]},"externalId":{"type":"string","description":"Your id (1–100 of A-Z a-z 0-9 _ . : -, unique per organisation)."},"metadata":{"$ref":"#/components/schemas/Metadata"},"callbackUrl":{"type":"string","description":"POSTed on this document's events.","format":"uri"},"callbackEvents":{"type":"string","description":"Default all.","enum":["all","completed"]},"callbackFormat":{"type":"string","description":"Default simple.","enum":["simple","full"]},"callback":{"type":"string","description":"A free value (an e-mail, an id…) echoed back as user_data.callback.","maxLength":500},"redirectUrl":{"type":"string","description":"Where the signing page sends each signer after they sign (http:// or https://, ≤ 500 characters). Overrides the template's completion redirect.","format":"uri","maxLength":500},"send":{"type":"boolean","description":"Send right away (same as POST /documents/{id}/send)."},"deliver":{"type":"string","description":"With send: how the links reach the signers.","enum":["link","email","auto"]}}},"OneTimeCreate":{"type":"object","required":["name","signers"],"properties":{"name":{"type":"string"},"file":{"type":"object","required":["filename","dataBase64"],"properties":{"filename":{"type":"string","description":"contract.pdf / contract.docx / scan.png"},"dataBase64":{"type":"string","description":"The file, base64."}}},"files":{"type":"array","items":{"type":"object","properties":{"filename":{"type":"string"},"dataBase64":{"type":"string"}}},"description":"Several files, joined in order."},"html":{"type":"string","description":"The document as editor HTML (p, h1–h3, b/i/u, ul/ol, table, br, hr); variables as {{name;type=…;role=…}}."},"text":{"type":"string","description":"Plain text (paragraphs by blank lines); variables as {{…}}."},"templateId":{"type":"string","description":"A copy of this template, for this document only. With `file` (a PDF): the copy gets that file as its base PDF and keeps the template's fields at the same places — the page count must match (else 400 page_count_mismatch); PDF templates only."},"fields":{"type":"array","items":{"type":"object"},"description":"PDF fields (name, type, role, required, label…), placed by `areas`."},"areas":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"page":{"type":"integer"},"x":{"type":"number"},"y":{"type":"number"},"w":{"type":"number"},"h":{"type":"number"}}},"description":"Field boxes on the PDF pages (0–1 of the page width / height, from the top-left)."},"roles":{"type":"array","items":{"type":"object","properties":{"key":{"type":"string"},"label":{"type":"string"}}}},"values":{"type":"object"},"signers":{"oneOf":[{"type":"array","items":{"$ref":"#/components/schemas/SignerInput"},"minItems":1},{"type":"object","additionalProperties":{"type":"object","properties":{"name":{"type":"string"},"email":{"type":"string","format":"email"},"phone":{"type":"string"},"lang":{"type":"string","enum":["he","en","ar","ru"]}}},"description":"Keyed by role: { client: { name, email } } — empty entries are left out."}],"description":"A list (a signer without `role` gets the next free role), or an object keyed by role (see GET /templates/{id}/inputs)."},"recipient":{"type":"object","properties":{"name":{"type":"string"},"email":{"type":"string","format":"email"},"phone":{"type":"string"},"lang":{"type":"string","enum":["he","en","ar","ru"]},"role":{"type":"string","description":"Default: the first role still without a signer."}},"description":"A shortcut for one-signer templates: one more signer, for the first role still without one."},"order":{"type":"string","enum":["sequential","parallel"]},"expiresIn":{"type":"string"},"expiresAt":{"type":"string","format":"date-time"},"verify":{"type":"string","enum":["none","email","sms","any"]},"externalId":{"type":"string"},"metadata":{"$ref":"#/components/schemas/Metadata"},"callbackUrl":{"type":"string","format":"uri"},"callbackEvents":{"type":"string","enum":["all","completed"]},"callbackFormat":{"type":"string","enum":["simple","full"]},"callback":{"type":"string"},"redirectUrl":{"type":"string","description":"Where the signing page sends each signer after they sign (http:// or https://, ≤ 500 characters). Overrides the template's completion redirect.","format":"uri","maxLength":500},"send":{"type":"boolean"},"deliver":{"type":"string","enum":["link","email","auto"]}}},"DocumentUpdate":{"type":"object","properties":{"name":{"type":"string"},"values":{"type":"object"},"signers":{"type":"array","items":{"$ref":"#/components/schemas/SignerInput"}},"order":{"type":"string","enum":["sequential","parallel"]},"expiresIn":{"type":"string"},"expiresAt":{"type":"string"},"externalId":{"type":"string"},"metadata":{"$ref":"#/components/schemas/Metadata"},"callbackUrl":{"type":["string","null"]},"callbackEvents":{"type":"string","enum":["all","completed"]},"callbackFormat":{"type":"string","enum":["simple","full"]},"callback":{"type":["string","null"]},"redirectUrl":{"type":["string","null"],"description":"http(s); null removes it."}},"description":"Values, signers, name, order and expiry change only on a draft; externalId, metadata, the callback and redirectUrl at any time."},"Send":{"type":"object","properties":{"deliver":{"type":"string","description":"link (default) = the response carries the signing links; email = we e-mail each signer; auto = e-mail when the signer has an address.","enum":["link","email","auto"]},"message":{"type":"object","properties":{"subject":{"type":"string"},"body":{"type":"string"}}},"callbackUrl":{"type":"string"},"callbackEvents":{"type":"string"},"callbackFormat":{"type":"string"},"callback":{"type":"string"},"redirectUrl":{"type":"string","description":"Where the signing page sends each signer after they sign (http:// or https://, ≤ 500 characters). Overrides the template's completion redirect.","format":"uri","maxLength":500}}},"TemplateVariable":{"type":"object","properties":{"name":{"type":"string"},"label":{"type":"string"},"type":{"type":"string"},"required":{"type":"boolean"},"source":{"type":"string","description":"creator / constant / organisation / signer:<role>"},"choices":{"type":"array","items":{"type":"string"}}}},"Template":{"type":"object","required":["id","name","status"],"properties":{"id":{"type":"string","description":"tpl_…"},"name":{"type":"string"},"status":{"type":"string","enum":["active","archived"]},"folderId":{"type":["string","null"]},"activeVersion":{"type":"integer"},"versions":{"type":"array","items":{"type":"integer"}},"roles":{"type":"array","items":{"type":"object","properties":{"key":{"type":"string"},"label":{"type":"string"}}}},"variables":{"type":"array","items":{"$ref":"#/components/schemas/TemplateVariable"}},"problems":{"type":"array","items":{"type":"string"},"description":"What still keeps the template from being used."},"createdAt":{"type":["string","null"],"format":"date-time"},"updatedAt":{"type":["string","null"],"format":"date-time"}}},"InputField":{"type":"object","required":["name","label","type"],"properties":{"name":{"type":"string"},"label":{"type":"string"},"type":{"type":"string","enum":["text","email","number","boolean","select","collection"]},"required":{"type":"boolean"},"multiple":{"type":"boolean","description":"select: several values (an array)."},"help":{"type":"string"},"options":{"type":"array","items":{"type":"object","properties":{"label":{"type":"string"},"value":{"type":"string"}}}},"spec":{"type":"array","items":{"$ref":"#/components/schemas/InputField"},"description":"collection: its inputs."}}},"TemplateInputs":{"type":"object","required":["templateId","signers","values","fields"],"properties":{"templateId":{"type":"string"},"signers":{"type":"array","items":{"$ref":"#/components/schemas/InputField"},"description":"One collection per signer role (name = the role key)."},"values":{"type":"array","items":{"$ref":"#/components/schemas/InputField"},"description":"The fields the creator fills (name = the variable name)."},"fields":{"type":"array","items":{"$ref":"#/components/schemas/InputField"},"description":"[ signers (collection), values (collection, when there are any) ] — a ready form."}},"example":{"templateId":"tpl_8KqL2mZs0aPd4XyB","signers":[{"name":"client","label":"Signer: Client","type":"collection","spec":[{"name":"name","label":"Name","type":"text","required":true},{"name":"email","label":"Email","type":"email"}]}],"values":[{"name":"client_name","label":"Client name","type":"text","required":true},{"name":"price","label":"Price","type":"number"}],"fields":[]}},"TemplateCreate":{"type":"object","required":["name"],"properties":{"name":{"type":"string"},"file":{"type":"object","properties":{"filename":{"type":"string","description":"A .docx with {{variables}}, or a PDF."},"dataBase64":{"type":"string"}}},"files":{"type":"array","items":{"type":"object"}},"html":{"type":"string","description":"Editor HTML with {{variables}}."},"text":{"type":"string","description":"Plain text with {{variables}}."},"fields":{"type":"array","items":{"type":"object"}},"areas":{"type":"array","items":{"type":"object"}},"roles":{"type":"array","items":{"type":"object","properties":{"key":{"type":"string"},"label":{"type":"string"}}}}},"description":"Exactly one of file / files / html / text."},"TemplateUpdate":{"type":"object","properties":{"name":{"type":"string"},"status":{"type":"string","enum":["active","archived"]}}},"Webhook":{"type":"object","required":["id","url","events","format","enabled"],"properties":{"id":{"type":"string","description":"whk_…"},"url":{"type":"string","format":"uri"},"events":{"type":"array","items":{"type":"string","enum":["document.created","document.sent","document.viewed","document.signed","document.completed","document.declined","document.expired","document.cancelled","comment.created","document.changes_requested","document.revised"]}},"format":{"type":"string","enum":["full","simple"]},"description":{"type":"string"},"enabled":{"type":"boolean"},"pausedAt":{"type":["string","null"],"description":"Paused automatically after repeated failures (resume with enabled: true).","format":"date-time"},"failedInRow":{"type":"integer"},"header":{"type":["object","null"],"properties":{"name":{"type":"string"},"value":{"type":"string","description":"Masked."}}},"createdAt":{"type":["string","null"],"format":"date-time"},"updatedAt":{"type":["string","null"],"format":"date-time"}}},"WebhookCreate":{"type":"object","required":["url","events"],"properties":{"url":{"type":"string","description":"https only.","format":"uri"},"events":{"oneOf":[{"type":"array","items":{"type":"string","enum":["document.created","document.sent","document.viewed","document.signed","document.completed","document.declined","document.expired","document.cancelled","comment.created","document.changes_requested","document.revised"]}},{"const":"*"}]},"format":{"type":"string","description":"Default full.","enum":["full","simple"]},"description":{"type":"string"},"header":{"type":["object","null"],"properties":{"name":{"type":"string"},"value":{"type":"string"}},"description":"One custom header sent with every delivery (e.g. an auth token)."}}},"WebhookUpdate":{"type":"object","properties":{"url":{"type":"string"},"events":{"type":"array","items":{"type":"string"}},"format":{"type":"string","enum":["full","simple"]},"description":{"type":"string"},"header":{"type":["object","null"]},"enabled":{"type":"boolean"}}},"Delivery":{"type":"object","properties":{"id":{"type":"string","description":"dlv_…"},"target":{"type":"string","enum":["subscription","callback","test"]},"subscriptionId":{"type":["string","null"]},"documentId":{"type":["string","null"]},"url":{"type":"string"},"format":{"type":"string","enum":["full","simple"]},"eventId":{"type":"string"},"eventType":{"type":"string"},"status":{"type":"string","enum":["pending","retrying","delivered","failed","blocked"]},"attempts":{"type":"integer"},"maxAttempts":{"type":"integer"},"nextAt":{"type":["string","null"],"format":"date-time"},"lastCode":{"type":["integer","null"]},"lastError":{"type":["string","null"]},"durationMs":{"type":["integer","null"]},"manual":{"type":"boolean"},"resendOf":{"type":["string","null"]},"createdAt":{"type":["string","null"],"format":"date-time"},"updatedAt":{"type":["string","null"],"format":"date-time"}}},"Comments":{"type":"object","properties":{"documentId":{"type":"string"},"status":{"type":"string"},"version":{"type":"integer","description":"The document's current version."},"threads":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"th_…"},"status":{"type":"string","enum":["open","resolved"]},"version":{"type":"integer","description":"The version it was opened on."},"anchor":{"type":"object","description":"{ kind: general } · { kind: field, field, label } · { kind: text, block, quote } · { kind: page, page, x, y }"},"signerId":{"type":"string"},"signerRole":{"type":["string","null"]},"createdAt":{"type":["string","null"],"format":"date-time"},"updatedAt":{"type":["string","null"],"format":"date-time"},"resolvedAt":{"type":["string","null"],"format":"date-time"},"messages":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"at":{"type":["string","null"],"format":"date-time"},"by":{"type":"string","enum":["signer","organisation"]},"text":{"type":"string"}}}}}}}}},"Verification":{"type":"object","properties":{"sha256":{"type":"string"},"signed":{"type":"boolean"},"intact":{"type":"boolean"},"match":{"type":["object","null"],"description":"The document this file belongs to, when it was signed here."}}},"AuditEvent":{"type":"object","properties":{"id":{"type":"string"},"at":{"type":["string","null"],"format":"date-time"},"actor":{"type":"object","properties":{"kind":{"type":"string"},"id":{"type":"string"}}},"action":{"type":"string"},"result":{"type":"string","enum":["ok","failed"]},"detail":{"type":"object"}}},"Me":{"type":"object","properties":{"organization":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"language":{"type":"string"},"timezone":{"type":"string"}}},"key":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"prefix":{"type":"string"},"scopes":{"type":"array","items":{"type":"string","enum":["documents.read","documents.write","templates.read","templates.write","webhooks.manage"]}}}}}},"EventFull":{"type":"object","required":["id","type","createdAt","organizationId","data"],"properties":{"id":{"type":"string","description":"evt_… — stable per event (a resend keeps it): de-duplicate on it."},"type":{"type":"string","enum":["document.created","document.sent","document.viewed","document.signed","document.completed","document.declined","document.expired","document.cancelled","comment.created","document.changes_requested","document.revised","webhook.test"]},"createdAt":{"type":"string","format":"date-time"},"organizationId":{"type":"string"},"data":{"type":"object","properties":{"document":{"type":"object","properties":{"id":{"type":"string"},"externalId":{"type":["string","null"]},"metadata":{"$ref":"#/components/schemas/Metadata"},"name":{"type":"string"},"status":{"type":"string"},"templateId":{"type":["string","null"]},"oneTime":{"type":"boolean"},"createdAt":{"type":["string","null"],"format":"date-time"},"sentAt":{"type":["string","null"],"format":"date-time"},"completedAt":{"type":["string","null"],"format":"date-time"},"expiresAt":{"type":["string","null"],"format":"date-time"},"signers":{"type":"array","items":{"$ref":"#/components/schemas/Signer"}},"downloads":{"type":["object","null"],"properties":{"signedPdf":{"type":"string","description":"A short-lived signed URL (1 hour)."},"auditPdf":{"type":["string","null"]},"expiresAt":{"type":"string"}}}}},"signer":{"$ref":"#/components/schemas/Signer"},"reason":{"type":"string","description":"document.declined"},"comment":{"type":"object","description":"comment.created: { id, threadId, text, at, author: { kind: signer | organisation, role }, anchor: { kind, text }, reply, version }"},"revision":{"type":"object","description":"document.revised: { version, fromVersion, kind: edited | replaced, note, signaturesInvalidated }"}}}}},"EventSimple":{"type":"array","minItems":1,"maxItems":1,"items":{"type":"object","required":["event","inputData","user_data","submission_id","submission_file_link","form_id","form_name","document_id","external_id","metadata"],"properties":{"event":{"type":"object","properties":{"event_name":{"type":"string","enum":["opened","submitted","completed","comment","changes_requested","revised","declined","expired","cancelled","created","sent","test"]},"event_timestamp":{"type":"string","description":"ISO 8601, UTC, milliseconds.","format":"date-time"}}},"inputData":{"type":"object","additionalProperties":{},"description":"Every field by its label (as the signer sees it) with its value or null. Pictures: a signed URL; checkbox: true/false; multi-select: an array; files: an array of signed URLs; masked fields: the masked value."},"user_data":{"type":"object","properties":{"callback":{"type":["string","null"],"description":"Your `callback` value."},"sent_by_channel":{"type":"string","enum":["Email","SMS","WhatsApp","Link"]}}},"submission_id":{"type":"string","description":"The signer's id (the decliner / last signer for document-level events; the document id when no signer applies)."},"submission_file_link":{"type":"string","description":"submitted / completed: a short-lived signed URL of the signed PDF once it exists; otherwise the document's page in the dashboard."},"form_id":{"type":"string","description":"The template id (the document id for a one-time document)."},"form_name":{"type":"string","description":"The template's name (the document's for a one-time document)."},"document_id":{"type":"string"},"external_id":{"type":["string","null"]},"metadata":{"$ref":"#/components/schemas/Metadata"},"comment":{"type":"object","description":"comment: { id, threadId, text, at, author: { kind, role }, anchor: { kind, text }, reply, version }"},"revision":{"type":"object","description":"revised: { version, fromVersion, kind, note, signaturesInvalidated }"},"reason":{"type":"string","description":"declined"}}}}}},"x-scopes":{"documents.read":"Read documents, their audit trail and files; verify PDFs.","documents.write":"Create, update, send, remind, cancel and archive documents; edit signers.","templates.read":"Read templates.","templates.write":"Create, rename and archive templates.","webhooks.manage":"Manage webhook subscriptions, read the delivery log, resend, rotate secrets."},"x-webhooks":{"headers":{"signature":"X-Sign-Signature","event":"X-Sign-Event","delivery":"X-Sign-Delivery","timestamp":"X-Sign-Timestamp"},"maxAttempts":10,"backoffSeconds":[30,120,600,1800,3600,7200,14400,28800,43200],"pauseAfter":15,"linkTtlSeconds":3600,"examples":{"document.created":{"simple":[{"event":{"event_name":"created","event_timestamp":"2026-10-14T09:58:02.114Z"},"inputData":{"שם מלא":"דנה לוי","תעודת זהות":null,"תאריך האירוע":"2026-12-24","חבילה":"פרימיום","תוספות":null,"מאשר/ת את התנאים":null,"חתימה":null,"צילום תעודה":null},"user_data":{"callback":"dana@example.com","sent_by_channel":"Email"},"submission_id":"doc_Hs7Q2nX4LpV9aZr1","submission_file_link":"https://sign.example.com/app#documents/doc/doc_Hs7Q2nX4LpV9aZr1","form_id":"tpl_8KqL2mZs0aPd4XyB","form_name":"הסכם מתן שירותי צילום - חתונה.","document_id":"doc_Hs7Q2nX4LpV9aZr1","external_id":"crm-4711","metadata":{"deal":"D-88"}}],"full":{"id":"evt_5f1d2c9a7b3e4d6f8a0b1c2d","type":"document.created","createdAt":"2026-10-14T09:58:02.114Z","organizationId":"org_5TkLq8Wm2Nx7Pz4R","data":{"document":{"id":"doc_Hs7Q2nX4LpV9aZr1","externalId":"crm-4711","metadata":{"deal":"D-88"},"name":"הסכם מתן שירותי צילום - חתונה.","status":"draft","templateId":"tpl_8KqL2mZs0aPd4XyB","oneTime":false,"createdAt":"2026-10-14T09:58:02.114Z","sentAt":null,"completedAt":null,"expiresAt":"2026-11-13T21:59:59.000Z","signers":[{"id":"sg_k2Pq9Lx7Vr3T","role":"client","name":"דנה לוי","email":"dana@example.com","status":"pending","sentAt":null,"openedAt":null,"signedAt":null,"declinedAt":null}],"downloads":null,"storage":null}}}},"document.sent":{"simple":[{"event":{"event_name":"sent","event_timestamp":"2026-10-14T09:58:03.902Z"},"inputData":{"שם מלא":"דנה לוי","תעודת זהות":null,"תאריך האירוע":"2026-12-24","חבילה":"פרימיום","תוספות":null,"מאשר/ת את התנאים":null,"חתימה":null,"צילום תעודה":null},"user_data":{"callback":"dana@example.com","sent_by_channel":"Email"},"submission_id":"doc_Hs7Q2nX4LpV9aZr1","submission_file_link":"https://sign.example.com/app#documents/doc/doc_Hs7Q2nX4LpV9aZr1","form_id":"tpl_8KqL2mZs0aPd4XyB","form_name":"הסכם מתן שירותי צילום - חתונה.","document_id":"doc_Hs7Q2nX4LpV9aZr1","external_id":"crm-4711","metadata":{"deal":"D-88"}}],"full":{"id":"evt_5f1d2c9a7b3e4d6f8a0b1c2d","type":"document.sent","createdAt":"2026-10-14T09:58:03.902Z","organizationId":"org_5TkLq8Wm2Nx7Pz4R","data":{"document":{"id":"doc_Hs7Q2nX4LpV9aZr1","externalId":"crm-4711","metadata":{"deal":"D-88"},"name":"הסכם מתן שירותי צילום - חתונה.","status":"sent","templateId":"tpl_8KqL2mZs0aPd4XyB","oneTime":false,"createdAt":"2026-10-14T09:58:02.114Z","sentAt":"2026-10-14T09:58:03.902Z","completedAt":null,"expiresAt":"2026-11-13T21:59:59.000Z","signers":[{"id":"sg_k2Pq9Lx7Vr3T","role":"client","name":"דנה לוי","email":"dana@example.com","status":"sent","sentAt":"2026-10-14T09:58:03.902Z","openedAt":null,"signedAt":null,"declinedAt":null}],"downloads":null,"storage":null}}}},"document.viewed":{"simple":[{"event":{"event_name":"opened","event_timestamp":"2026-10-14T10:00:01.420Z"},"inputData":{"שם מלא":"דנה לוי","תעודת זהות":null,"תאריך האירוע":"2026-12-24","חבילה":"פרימיום","תוספות":null,"מאשר/ת את התנאים":null,"חתימה":null,"צילום תעודה":null},"user_data":{"callback":"dana@example.com","sent_by_channel":"Email"},"submission_id":"sg_k2Pq9Lx7Vr3T","submission_file_link":"https://sign.example.com/app#documents/doc/doc_Hs7Q2nX4LpV9aZr1","form_id":"tpl_8KqL2mZs0aPd4XyB","form_name":"הסכם מתן שירותי צילום - חתונה.","document_id":"doc_Hs7Q2nX4LpV9aZr1","external_id":"crm-4711","metadata":{"deal":"D-88"}}],"full":{"id":"evt_5f1d2c9a7b3e4d6f8a0b1c2d","type":"document.viewed","createdAt":"2026-10-14T10:00:01.420Z","organizationId":"org_5TkLq8Wm2Nx7Pz4R","data":{"document":{"id":"doc_Hs7Q2nX4LpV9aZr1","externalId":"crm-4711","metadata":{"deal":"D-88"},"name":"הסכם מתן שירותי צילום - חתונה.","status":"opened","templateId":"tpl_8KqL2mZs0aPd4XyB","oneTime":false,"createdAt":"2026-10-14T09:58:02.114Z","sentAt":"2026-10-14T09:58:03.902Z","completedAt":null,"expiresAt":"2026-11-13T21:59:59.000Z","signers":[{"id":"sg_k2Pq9Lx7Vr3T","role":"client","name":"דנה לוי","email":"dana@example.com","status":"opened","sentAt":"2026-10-14T09:58:03.902Z","openedAt":"2026-10-14T10:00:01.420Z","signedAt":null,"declinedAt":null}],"downloads":null,"storage":null},"signer":{"id":"sg_k2Pq9Lx7Vr3T","role":"client","name":"דנה לוי","email":"dana@example.com","status":"opened","sentAt":"2026-10-14T09:58:03.902Z","openedAt":"2026-10-14T10:00:01.420Z","signedAt":null,"declinedAt":null}}}},"document.signed":{"simple":[{"event":{"event_name":"submitted","event_timestamp":"2026-10-14T10:00:15.863Z"},"inputData":{"שם מלא":"דנה לוי","תעודת זהות":"*****6789","תאריך האירוע":"2026-12-24","חבילה":"פרימיום","תוספות":["אלבום","מגנטים"],"מאשר/ת את התנאים":true,"חתימה":"https://sign.example.com/files/eyJvIjoib3JnXzVUa0wiLCJkIjoiZG9jX0hzN1EyIiwiayI6Iisignature.Qm9vX3NpZ25hdHVyZQ","צילום תעודה":["https://sign.example.com/files/eyJvIjoib3JnXzVUa0wiLCJkIjoiZG9jX0hzN1EyIiwiayI6Iifile0.Qm9vX3NpZ25hdHVyZQ"]},"user_data":{"callback":"dana@example.com","sent_by_channel":"Email"},"submission_id":"sg_k2Pq9Lx7Vr3T","submission_file_link":"https://sign.example.com/app#documents/doc/doc_Hs7Q2nX4LpV9aZr1","form_id":"tpl_8KqL2mZs0aPd4XyB","form_name":"הסכם מתן שירותי צילום - חתונה.","document_id":"doc_Hs7Q2nX4LpV9aZr1","external_id":"crm-4711","metadata":{"deal":"D-88"}}],"full":{"id":"evt_5f1d2c9a7b3e4d6f8a0b1c2d","type":"document.signed","createdAt":"2026-10-14T10:00:15.863Z","organizationId":"org_5TkLq8Wm2Nx7Pz4R","data":{"document":{"id":"doc_Hs7Q2nX4LpV9aZr1","externalId":"crm-4711","metadata":{"deal":"D-88"},"name":"הסכם מתן שירותי צילום - חתונה.","status":"partially_signed","templateId":"tpl_8KqL2mZs0aPd4XyB","oneTime":false,"createdAt":"2026-10-14T09:58:02.114Z","sentAt":"2026-10-14T09:58:03.902Z","completedAt":null,"expiresAt":"2026-11-13T21:59:59.000Z","signers":[{"id":"sg_k2Pq9Lx7Vr3T","role":"client","name":"דנה לוי","email":"dana@example.com","status":"signed","sentAt":"2026-10-14T09:58:03.902Z","openedAt":"2026-10-14T10:00:01.420Z","signedAt":"2026-10-14T10:00:15.863Z","declinedAt":null}],"downloads":null,"storage":null},"signer":{"id":"sg_k2Pq9Lx7Vr3T","role":"client","name":"דנה לוי","email":"dana@example.com","status":"signed","sentAt":"2026-10-14T09:58:03.902Z","openedAt":"2026-10-14T10:00:01.420Z","signedAt":"2026-10-14T10:00:15.863Z","declinedAt":null}}}},"document.completed":{"simple":[{"event":{"event_name":"completed","event_timestamp":"2026-10-14T10:00:16.310Z"},"inputData":{"שם מלא":"דנה לוי","תעודת זהות":"*****6789","תאריך האירוע":"2026-12-24","חבילה":"פרימיום","תוספות":["אלבום","מגנטים"],"מאשר/ת את התנאים":true,"חתימה":"https://sign.example.com/files/eyJvIjoib3JnXzVUa0wiLCJkIjoiZG9jX0hzN1EyIiwiayI6Iisignature.Qm9vX3NpZ25hdHVyZQ","צילום תעודה":["https://sign.example.com/files/eyJvIjoib3JnXzVUa0wiLCJkIjoiZG9jX0hzN1EyIiwiayI6Iifile0.Qm9vX3NpZ25hdHVyZQ"]},"user_data":{"callback":"dana@example.com","sent_by_channel":"Email"},"submission_id":"sg_Vb8Lm2Qa6Ns1","submission_file_link":"https://sign.example.com/files/eyJvIjoib3JnXzVUa0wiLCJkIjoiZG9jX0hzN1EyIiwiayI6Iisigned.Qm9vX3NpZ25hdHVyZQ","form_id":"tpl_8KqL2mZs0aPd4XyB","form_name":"הסכם מתן שירותי צילום - חתונה.","document_id":"doc_Hs7Q2nX4LpV9aZr1","external_id":"crm-4711","metadata":{"deal":"D-88"}}],"full":{"id":"evt_5f1d2c9a7b3e4d6f8a0b1c2d","type":"document.completed","createdAt":"2026-10-14T10:00:16.310Z","organizationId":"org_5TkLq8Wm2Nx7Pz4R","data":{"document":{"id":"doc_Hs7Q2nX4LpV9aZr1","externalId":"crm-4711","metadata":{"deal":"D-88"},"name":"הסכם מתן שירותי צילום - חתונה.","status":"completed","templateId":"tpl_8KqL2mZs0aPd4XyB","oneTime":false,"createdAt":"2026-10-14T09:58:02.114Z","sentAt":"2026-10-14T09:58:03.902Z","completedAt":"2026-10-14T10:00:16.310Z","expiresAt":"2026-11-13T21:59:59.000Z","signers":[{"id":"sg_k2Pq9Lx7Vr3T","role":"client","name":"דנה לוי","email":"dana@example.com","status":"signed","sentAt":"2026-10-14T09:58:03.902Z","openedAt":"2026-10-14T10:00:01.420Z","signedAt":"2026-10-14T10:00:15.863Z","declinedAt":null},{"id":"sg_Vb8Lm2Qa6Ns1","role":"company","name":"סטודיו אור","email":"office@example.com","status":"signed","sentAt":"2026-10-14T10:00:15.900Z","openedAt":"2026-10-14T10:00:16.000Z","signedAt":"2026-10-14T10:00:16.300Z","declinedAt":null}],"downloads":{"signedPdf":"https://sign.example.com/files/eyJvIjoib3JnXzVUa0wiLCJkIjoiZG9jX0hzN1EyIiwiayI6Iisigned.Qm9vX3NpZ25hdHVyZQ","auditPdf":"https://sign.example.com/files/eyJvIjoib3JnXzVUa0wiLCJkIjoiZG9jX0hzN1EyIiwiayI6Iiaudit.Qm9vX3NpZ25hdHVyZQ","expiresAt":"2026-10-14T11:00:16.310Z"},"storage":{"server":"kept","deleteAt":"2027-01-12T10:00:16.310Z","deletedAt":null,"drive":{"status":"saved","signedPdf":"https://drive.google.com/file/d/1AbCdEfGhIjKlMnOpQrStUvWxYz/view","auditPdf":"https://drive.google.com/file/d/1ZyXwVuTsRqPoNmLkJiHgFeDcBa/view"}}}}}},"document.declined":{"simple":[{"event":{"event_name":"declined","event_timestamp":"2026-10-14T10:04:40.007Z"},"inputData":{"שם מלא":"דנה לוי","תעודת זהות":null,"תאריך האירוע":"2026-12-24","חבילה":"פרימיום","תוספות":null,"מאשר/ת את התנאים":null,"חתימה":null,"צילום תעודה":null},"user_data":{"callback":"dana@example.com","sent_by_channel":"Email"},"submission_id":"sg_k2Pq9Lx7Vr3T","submission_file_link":"https://sign.example.com/app#documents/doc/doc_Hs7Q2nX4LpV9aZr1","form_id":"tpl_8KqL2mZs0aPd4XyB","form_name":"הסכם מתן שירותי צילום - חתונה.","document_id":"doc_Hs7Q2nX4LpV9aZr1","external_id":"crm-4711","metadata":{"deal":"D-88"},"reason":"המחיר לא מתאים"}],"full":{"id":"evt_5f1d2c9a7b3e4d6f8a0b1c2d","type":"document.declined","createdAt":"2026-10-14T10:04:40.007Z","organizationId":"org_5TkLq8Wm2Nx7Pz4R","data":{"document":{"id":"doc_Hs7Q2nX4LpV9aZr1","externalId":"crm-4711","metadata":{"deal":"D-88"},"name":"הסכם מתן שירותי צילום - חתונה.","status":"declined","templateId":"tpl_8KqL2mZs0aPd4XyB","oneTime":false,"createdAt":"2026-10-14T09:58:02.114Z","sentAt":"2026-10-14T09:58:03.902Z","completedAt":null,"expiresAt":"2026-11-13T21:59:59.000Z","signers":[{"id":"sg_k2Pq9Lx7Vr3T","role":"client","name":"דנה לוי","email":"dana@example.com","status":"declined","sentAt":"2026-10-14T09:58:03.902Z","openedAt":"2026-10-14T10:00:01.420Z","signedAt":null,"declinedAt":"2026-10-14T10:04:40.007Z"}],"downloads":null,"storage":null},"signer":{"id":"sg_k2Pq9Lx7Vr3T","role":"client","name":"דנה לוי","email":"dana@example.com","status":"declined","sentAt":"2026-10-14T09:58:03.902Z","openedAt":"2026-10-14T10:00:01.420Z","signedAt":null,"declinedAt":"2026-10-14T10:04:40.007Z"},"reason":"המחיר לא מתאים"}}},"document.expired":{"simple":[{"event":{"event_name":"expired","event_timestamp":"2026-11-13T21:59:59.000Z"},"inputData":{"שם מלא":"דנה לוי","תעודת זהות":null,"תאריך האירוע":"2026-12-24","חבילה":"פרימיום","תוספות":null,"מאשר/ת את התנאים":null,"חתימה":null,"צילום תעודה":null},"user_data":{"callback":"dana@example.com","sent_by_channel":"Email"},"submission_id":"doc_Hs7Q2nX4LpV9aZr1","submission_file_link":"https://sign.example.com/app#documents/doc/doc_Hs7Q2nX4LpV9aZr1","form_id":"tpl_8KqL2mZs0aPd4XyB","form_name":"הסכם מתן שירותי צילום - חתונה.","document_id":"doc_Hs7Q2nX4LpV9aZr1","external_id":"crm-4711","metadata":{"deal":"D-88"}}],"full":{"id":"evt_5f1d2c9a7b3e4d6f8a0b1c2d","type":"document.expired","createdAt":"2026-11-13T21:59:59.000Z","organizationId":"org_5TkLq8Wm2Nx7Pz4R","data":{"document":{"id":"doc_Hs7Q2nX4LpV9aZr1","externalId":"crm-4711","metadata":{"deal":"D-88"},"name":"הסכם מתן שירותי צילום - חתונה.","status":"expired","templateId":"tpl_8KqL2mZs0aPd4XyB","oneTime":false,"createdAt":"2026-10-14T09:58:02.114Z","sentAt":"2026-10-14T09:58:03.902Z","completedAt":null,"expiresAt":"2026-11-13T21:59:59.000Z","signers":[{"id":"sg_k2Pq9Lx7Vr3T","role":"client","name":"דנה לוי","email":"dana@example.com","status":"sent","sentAt":"2026-10-14T09:58:03.902Z","openedAt":null,"signedAt":null,"declinedAt":null}],"downloads":null,"storage":null}}}},"document.cancelled":{"simple":[{"event":{"event_name":"cancelled","event_timestamp":"2026-10-14T11:12:30.551Z"},"inputData":{"שם מלא":"דנה לוי","תעודת זהות":null,"תאריך האירוע":"2026-12-24","חבילה":"פרימיום","תוספות":null,"מאשר/ת את התנאים":null,"חתימה":null,"צילום תעודה":null},"user_data":{"callback":"dana@example.com","sent_by_channel":"Email"},"submission_id":"doc_Hs7Q2nX4LpV9aZr1","submission_file_link":"https://sign.example.com/app#documents/doc/doc_Hs7Q2nX4LpV9aZr1","form_id":"tpl_8KqL2mZs0aPd4XyB","form_name":"הסכם מתן שירותי צילום - חתונה.","document_id":"doc_Hs7Q2nX4LpV9aZr1","external_id":"crm-4711","metadata":{"deal":"D-88"}}],"full":{"id":"evt_5f1d2c9a7b3e4d6f8a0b1c2d","type":"document.cancelled","createdAt":"2026-10-14T11:12:30.551Z","organizationId":"org_5TkLq8Wm2Nx7Pz4R","data":{"document":{"id":"doc_Hs7Q2nX4LpV9aZr1","externalId":"crm-4711","metadata":{"deal":"D-88"},"name":"הסכם מתן שירותי צילום - חתונה.","status":"cancelled","templateId":"tpl_8KqL2mZs0aPd4XyB","oneTime":false,"createdAt":"2026-10-14T09:58:02.114Z","sentAt":"2026-10-14T09:58:03.902Z","completedAt":null,"expiresAt":"2026-11-13T21:59:59.000Z","signers":[{"id":"sg_k2Pq9Lx7Vr3T","role":"client","name":"דנה לוי","email":"dana@example.com","status":"sent","sentAt":"2026-10-14T09:58:03.902Z","openedAt":null,"signedAt":null,"declinedAt":null}],"downloads":null,"storage":null}}}},"comment.created":{"simple":[{"event":{"event_name":"comment","event_timestamp":"2026-10-14T10:02:11.215Z"},"inputData":{"שם מלא":"דנה לוי","תעודת זהות":null,"תאריך האירוע":"2026-12-24","חבילה":"פרימיום","תוספות":null,"מאשר/ת את התנאים":null,"חתימה":null,"צילום תעודה":null},"user_data":{"callback":"dana@example.com","sent_by_channel":"Email"},"submission_id":"sg_k2Pq9Lx7Vr3T","submission_file_link":"https://sign.example.com/app#documents/doc/doc_Hs7Q2nX4LpV9aZr1","form_id":"tpl_8KqL2mZs0aPd4XyB","form_name":"הסכם מתן שירותי צילום - חתונה.","document_id":"doc_Hs7Q2nX4LpV9aZr1","external_id":"crm-4711","metadata":{"deal":"D-88"},"comment":{"id":"msg_x81TqLm2","threadId":"th_4hPq8Lw2Zx","text":"אפשר לשנות את שעת ההגעה ל-18:00?","at":"2026-10-14T10:02:11.215Z","author":{"kind":"signer","role":"client"},"anchor":{"kind":"field","text":"תאריך האירוע"},"reply":false,"version":1}}],"full":{"id":"evt_5f1d2c9a7b3e4d6f8a0b1c2d","type":"comment.created","createdAt":"2026-10-14T10:02:11.215Z","organizationId":"org_5TkLq8Wm2Nx7Pz4R","data":{"document":{"id":"doc_Hs7Q2nX4LpV9aZr1","externalId":"crm-4711","metadata":{"deal":"D-88"},"name":"הסכם מתן שירותי צילום - חתונה.","status":"opened","templateId":"tpl_8KqL2mZs0aPd4XyB","oneTime":false,"createdAt":"2026-10-14T09:58:02.114Z","sentAt":"2026-10-14T09:58:03.902Z","completedAt":null,"expiresAt":"2026-11-13T21:59:59.000Z","signers":[{"id":"sg_k2Pq9Lx7Vr3T","role":"client","name":"דנה לוי","email":"dana@example.com","status":"opened","sentAt":"2026-10-14T09:58:03.902Z","openedAt":"2026-10-14T10:00:01.420Z","signedAt":null,"declinedAt":null}],"downloads":null,"storage":null},"signer":{"id":"sg_k2Pq9Lx7Vr3T","role":"client","name":"דנה לוי","email":"dana@example.com","status":"opened","sentAt":"2026-10-14T09:58:03.902Z","openedAt":"2026-10-14T10:00:01.420Z","signedAt":null,"declinedAt":null},"comment":{"id":"msg_x81TqLm2","threadId":"th_4hPq8Lw2Zx","text":"אפשר לשנות את שעת ההגעה ל-18:00?","at":"2026-10-14T10:02:11.215Z","author":{"kind":"signer","role":"client"},"anchor":{"kind":"field","text":"תאריך האירוע"},"reply":false,"version":1}}}},"document.changes_requested":{"simple":[{"event":{"event_name":"changes_requested","event_timestamp":"2026-10-14T10:02:12.010Z"},"inputData":{"שם מלא":"דנה לוי","תעודת זהות":null,"תאריך האירוע":"2026-12-24","חבילה":"פרימיום","תוספות":null,"מאשר/ת את התנאים":null,"חתימה":null,"צילום תעודה":null},"user_data":{"callback":"dana@example.com","sent_by_channel":"Email"},"submission_id":"sg_k2Pq9Lx7Vr3T","submission_file_link":"https://sign.example.com/app#documents/doc/doc_Hs7Q2nX4LpV9aZr1","form_id":"tpl_8KqL2mZs0aPd4XyB","form_name":"הסכם מתן שירותי צילום - חתונה.","document_id":"doc_Hs7Q2nX4LpV9aZr1","external_id":"crm-4711","metadata":{"deal":"D-88"}}],"full":{"id":"evt_5f1d2c9a7b3e4d6f8a0b1c2d","type":"document.changes_requested","createdAt":"2026-10-14T10:02:12.010Z","organizationId":"org_5TkLq8Wm2Nx7Pz4R","data":{"document":{"id":"doc_Hs7Q2nX4LpV9aZr1","externalId":"crm-4711","metadata":{"deal":"D-88"},"name":"הסכם מתן שירותי צילום - חתונה.","status":"opened","templateId":"tpl_8KqL2mZs0aPd4XyB","oneTime":false,"createdAt":"2026-10-14T09:58:02.114Z","sentAt":"2026-10-14T09:58:03.902Z","completedAt":null,"expiresAt":"2026-11-13T21:59:59.000Z","signers":[{"id":"sg_k2Pq9Lx7Vr3T","role":"client","name":"דנה לוי","email":"dana@example.com","status":"opened","sentAt":"2026-10-14T09:58:03.902Z","openedAt":"2026-10-14T10:00:01.420Z","signedAt":null,"declinedAt":null}],"downloads":null,"storage":null},"signer":{"id":"sg_k2Pq9Lx7Vr3T","role":"client","name":"דנה לוי","email":"dana@example.com","status":"opened","sentAt":"2026-10-14T09:58:03.902Z","openedAt":"2026-10-14T10:00:01.420Z","signedAt":null,"declinedAt":null}}}},"document.revised":{"simple":[{"event":{"event_name":"revised","event_timestamp":"2026-10-14T10:30:44.700Z"},"inputData":{"שם מלא":"דנה לוי","תעודת זהות":null,"תאריך האירוע":"2026-12-24","חבילה":"פרימיום","תוספות":null,"מאשר/ת את התנאים":null,"חתימה":null,"צילום תעודה":null},"user_data":{"callback":"dana@example.com","sent_by_channel":"Email"},"submission_id":"doc_Hs7Q2nX4LpV9aZr1","submission_file_link":"https://sign.example.com/app#documents/doc/doc_Hs7Q2nX4LpV9aZr1","form_id":"tpl_8KqL2mZs0aPd4XyB","form_name":"הסכם מתן שירותי צילום - חתונה.","document_id":"doc_Hs7Q2nX4LpV9aZr1","external_id":"crm-4711","metadata":{"deal":"D-88"},"revision":{"version":2,"fromVersion":1,"kind":"edited","note":"שעת ההגעה עודכנה ל-18:00","signaturesInvalidated":0}}],"full":{"id":"evt_5f1d2c9a7b3e4d6f8a0b1c2d","type":"document.revised","createdAt":"2026-10-14T10:30:44.700Z","organizationId":"org_5TkLq8Wm2Nx7Pz4R","data":{"document":{"id":"doc_Hs7Q2nX4LpV9aZr1","externalId":"crm-4711","metadata":{"deal":"D-88"},"name":"הסכם מתן שירותי צילום - חתונה.","status":"sent","templateId":"tpl_8KqL2mZs0aPd4XyB","oneTime":false,"createdAt":"2026-10-14T09:58:02.114Z","sentAt":"2026-10-14T09:58:03.902Z","completedAt":null,"expiresAt":"2026-11-13T21:59:59.000Z","signers":[{"id":"sg_k2Pq9Lx7Vr3T","role":"client","name":"דנה לוי","email":"dana@example.com","status":"opened","sentAt":"2026-10-14T09:58:03.902Z","openedAt":"2026-10-14T10:00:01.420Z","signedAt":null,"declinedAt":null}],"downloads":null,"storage":null},"revision":{"version":2,"fromVersion":1,"kind":"edited","note":"שעת ההגעה עודכנה ל-18:00","signaturesInvalidated":0}}}}}}}