sign.ytDocs

Reference

Webhook events reference

Every delivery body is an envelope {"event_id", "event", "timestamp", "data"}. This page documents data for each event. See Webhooks for signing, retries and redelivery.

Envelope#

FieldTypeDescription
event_idUUIDIdentical across retries and redeliveries; de-duplicate on it.
eventstringOne of the event names below.
timestampRFC 3339When the event happened, UTC.
dataobjectEvent-specific payload.

Shared objects#

Document#

FieldTypeDescription
idUUIDDocument ID.
titlestringDocument title.
statusstringDRAFT, PENDING, COMPLETED, REJECTED, EXPIRED or CANCELLED, at the time of the event.
organization_idUUIDYour organization.

Recipient#

FieldTypeDescription
idUUIDRecipient ID (same as in GET /documents/{id}).
emailstringRecipient email.
namestringRecipient name.
rolestringSIGNER, APPROVER, VIEWER, CC or PREPARER.
statusstringNOT_SENT, SENT, VIEWED, SIGNED, REJECTED, EXPIRED, BOUNCED or DELEGATED.

Document events#

document.created#

A draft was created through the API, the app, a template, bulk sending or as the copy made by cancel. data: Document.

{
  "event_id": "5e0f8a1b-2c3d-4e5f-8a9b-0c1d2e3f4a5b",
  "event": "document.created",
  "timestamp": "2026-10-19T08:30:12.418204+00:00",
  "data": {
    "id": "3f1c2a9e-5b7d-4c11-9a3e-0d4b8e2f6a71",
    "title": "Office lease",
    "status": "DRAFT",
    "organization_id": "a7d5e0c2-1f43-4b9a-8c6e-2e9f0b3d4c58"
  }
}

document.sent#

The document was sent. data: Document plus recipients, every recipient in signing order.

{
  "event_id": "8c4b2a10-6d5e-4f3a-9b8c-7d6e5f4a3b21",
  "event": "document.sent",
  "timestamp": "2026-10-19T08:31:02.110931+00:00",
  "data": {
    "id": "3f1c2a9e-5b7d-4c11-9a3e-0d4b8e2f6a71",
    "title": "Office lease",
    "status": "PENDING",
    "organization_id": "a7d5e0c2-1f43-4b9a-8c6e-2e9f0b3d4c58",
    "recipients": [
      {"id": "c2b8f4d1-7e3a-4f60-b5c9-8a1d2e3f4b67", "email": "[email protected]", "name": "Anna Nowak", "role": "SIGNER", "status": "SENT"},
      {"id": "e4d3c2b1-a0f9-4e8d-8c7b-6a5f4e3d2c1b", "email": "[email protected]", "name": "Office Manager", "role": "CC", "status": "NOT_SENT"}
    ]
  }
}

document.viewed#

A recipient opened their signing link for the first time. data: Document plus recipient.

{
  "event_id": "1a2b3c4d-5e6f-4a7b-8c9d-0e1f2a3b4c5d",
  "event": "document.viewed",
  "timestamp": "2026-10-19T08:45:20.004512+00:00",
  "data": {
    "id": "3f1c2a9e-5b7d-4c11-9a3e-0d4b8e2f6a71",
    "title": "Office lease",
    "status": "PENDING",
    "organization_id": "a7d5e0c2-1f43-4b9a-8c6e-2e9f0b3d4c58",
    "recipient": {"id": "c2b8f4d1-7e3a-4f60-b5c9-8a1d2e3f4b67", "email": "[email protected]", "name": "Anna Nowak", "role": "SIGNER", "status": "VIEWED"}
  }
}

document.signed#

A recipient signed. Fires once per signer, right after recipient.signed with the same data. data: Document plus recipient.

{
  "event_id": "2b3c4d5e-6f7a-4b8c-9d0e-1f2a3b4c5d6e",
  "event": "document.signed",
  "timestamp": "2026-10-19T09:12:43.981220+00:00",
  "data": {
    "id": "3f1c2a9e-5b7d-4c11-9a3e-0d4b8e2f6a71",
    "title": "Office lease",
    "status": "PENDING",
    "organization_id": "a7d5e0c2-1f43-4b9a-8c6e-2e9f0b3d4c58",
    "recipient": {"id": "c2b8f4d1-7e3a-4f60-b5c9-8a1d2e3f4b67", "email": "[email protected]", "name": "Anna Nowak", "role": "SIGNER", "status": "SIGNED"}
  }
}

document.rejected#

A recipient declined. data: Document plus reason (string or null). Sent together with recipient.rejected, which also identifies the recipient.

{
  "event_id": "3c4d5e6f-7a8b-4c9d-8e0f-2a3b4c5d6e7f",
  "event": "document.rejected",
  "timestamp": "2026-10-19T09:02:11.551030+00:00",
  "data": {
    "id": "3f1c2a9e-5b7d-4c11-9a3e-0d4b8e2f6a71",
    "title": "Office lease",
    "status": "REJECTED",
    "organization_id": "a7d5e0c2-1f43-4b9a-8c6e-2e9f0b3d4c58",
    "reason": "Wrong rent amount"
  }
}

document.completed#

Everyone signed and the sealed PDF is ready: download it with GET /documents/{id}/signed.pdf. data: Document.

{
  "event_id": "4d5e6f7a-8b9c-4d0e-9f1a-3b4c5d6e7f80",
  "event": "document.completed",
  "timestamp": "2026-10-19T09:12:44.123456+00:00",
  "data": {
    "id": "3f1c2a9e-5b7d-4c11-9a3e-0d4b8e2f6a71",
    "title": "Office lease",
    "status": "COMPLETED",
    "organization_id": "a7d5e0c2-1f43-4b9a-8c6e-2e9f0b3d4c58"
  }
}

document.cancelled#

The sender cancelled (voided) a draft or pending document. data: Document plus reason, cancelled_at (RFC 3339) and copy_document_id (the new draft when cancelled with copy_as_draft, else null).

{
  "event_id": "5e6f7a8b-9c0d-4e1f-8a2b-4c5d6e7f8091",
  "event": "document.cancelled",
  "timestamp": "2026-10-19T09:20:00.731882+00:00",
  "data": {
    "id": "3f1c2a9e-5b7d-4c11-9a3e-0d4b8e2f6a71",
    "title": "Office lease",
    "status": "CANCELLED",
    "organization_id": "a7d5e0c2-1f43-4b9a-8c6e-2e9f0b3d4c58",
    "reason": "Superseded by v2",
    "cancelled_at": "2026-10-19T09:20:00.702114+00:00",
    "copy_document_id": "9a8b7c6d-5e4f-4a3b-9c2d-1e0f9a8b7c6d"
  }
}

document.expired#

expires_at passed before everyone signed. data: Document.

{
  "event_id": "6f7a8b9c-0d1e-4f2a-9b3c-5d6e7f8091a2",
  "event": "document.expired",
  "timestamp": "2027-01-17T00:05:03.000412+00:00",
  "data": {
    "id": "3f1c2a9e-5b7d-4c11-9a3e-0d4b8e2f6a71",
    "title": "Office lease",
    "status": "EXPIRED",
    "organization_id": "a7d5e0c2-1f43-4b9a-8c6e-2e9f0b3d4c58"
  }
}

Recipient events#

recipient.signed#

A recipient finished their part. data: Document plus recipient. When the last signer finishes, document.completed follows.

{
  "event_id": "7a8b9c0d-1e2f-4a3b-8c4d-6e7f8091a2b3",
  "event": "recipient.signed",
  "timestamp": "2026-10-19T09:12:43.979002+00:00",
  "data": {
    "id": "3f1c2a9e-5b7d-4c11-9a3e-0d4b8e2f6a71",
    "title": "Office lease",
    "status": "PENDING",
    "organization_id": "a7d5e0c2-1f43-4b9a-8c6e-2e9f0b3d4c58",
    "recipient": {"id": "c2b8f4d1-7e3a-4f60-b5c9-8a1d2e3f4b67", "email": "[email protected]", "name": "Anna Nowak", "role": "SIGNER", "status": "SIGNED"}
  }
}

recipient.rejected#

A recipient declined. data: Document plus recipient and reason.

{
  "event_id": "8b9c0d1e-2f3a-4b4c-9d5e-7f8091a2b3c4",
  "event": "recipient.rejected",
  "timestamp": "2026-10-19T09:02:11.548771+00:00",
  "data": {
    "id": "3f1c2a9e-5b7d-4c11-9a3e-0d4b8e2f6a71",
    "title": "Office lease",
    "status": "REJECTED",
    "organization_id": "a7d5e0c2-1f43-4b9a-8c6e-2e9f0b3d4c58",
    "recipient": {"id": "c2b8f4d1-7e3a-4f60-b5c9-8a1d2e3f4b67", "email": "[email protected]", "name": "Anna Nowak", "role": "SIGNER", "status": "REJECTED"},
    "reason": "Wrong rent amount"
  }
}

recipient.bounced#

The invitation email bounced or was reported as spam; the recipient's status becomes BOUNCED. Correct the address with PATCH /documents/{id}/recipients/{recipient_id} and resend. data differs from the other events:

FieldTypeDescription
document_idUUIDThe document the invitation belonged to.
recipientobjectid, email, status (BOUNCED).
reasonstringEmail provider event type: email.bounced or email.complained.
{
  "event_id": "9c0d1e2f-3a4b-4c5d-8e6f-8091a2b3c4d5",
  "event": "recipient.bounced",
  "timestamp": "2026-10-19T08:31:40.300120+00:00",
  "data": {
    "document_id": "3f1c2a9e-5b7d-4c11-9a3e-0d4b8e2f6a71",
    "recipient": {"id": "c2b8f4d1-7e3a-4f60-b5c9-8a1d2e3f4b67", "email": "[email protected]", "status": "BOUNCED"},
    "reason": "email.bounced"
  }
}

Bounces are detected for invitations sent through the platform's managed email delivery.

recipient.identity_verification_updated#

A recipient's identity check changed status. Fires once per transition: into IN_REVIEW and into a final status. It carries the status only; names, birth dates and PESEL never leave sign.yt.

FieldTypeDescription
document_idUUIDThe document.
recipient_idUUIDThe recipient being verified.
verification_idUUIDThe attempt; a retry is a new attempt with a new ID.
providerstringdidit, authologic or login_gov_pl.
statusstringIN_REVIEW, VERIFIED, MISMATCH or FAILED.
{
  "event_id": "0d1e2f3a-4b5c-4d6e-9f70-91a2b3c4d5e6",
  "event": "recipient.identity_verification_updated",
  "timestamp": "2026-10-19T09:20:05.112233+00:00",
  "data": {
    "document_id": "3f1c2a9e-5b7d-4c11-9a3e-0d4b8e2f6a71",
    "recipient_id": "c2b8f4d1-7e3a-4f60-b5c9-8a1d2e3f4b67",
    "verification_id": "9b2e4c6a-1d3f-4a5b-8c7d-6e5f4a3b2c1d",
    "provider": "didit",
    "status": "VERIFIED"
  }
}

Flow events#

flow.step#

A flow notify step configured with channel: "webhook" ran. subject and message are the step's templates rendered with the run variables.

FieldTypeDescription
run_idUUIDFlow run.
flow_idUUID or nullFlow definition.
step_keystringKey of the notify step.
subjectstringRendered subject.
messagestringRendered message.
variablesobjectRun variables at this step.
{
  "event_id": "0d1e2f3a-4b5c-4d6e-9f7a-91a2b3c4d5e6",
  "event": "flow.step",
  "timestamp": "2026-10-19T10:00:00.120001+00:00",
  "data": {
    "run_id": "b1c2d3e4-f5a6-4b7c-8d9e-0f1a2b3c4d5e",
    "flow_id": "f0e1d2c3-b4a5-4968-8776-655443322110",
    "step_key": "notify_crm",
    "subject": "Lease signed: Biuro Hello",
    "message": "Anna Nowak signed the lease.",
    "variables": {"client_name": "Anna Nowak", "client_email": "[email protected]"}
  }
}