Skip to main content
POST
Send a test event to a webhook

Authorizations

Authorization
string
header
required

Personal API key, e.g. Authorization: Bearer sajn_sk_.... Not scope-limited — acts as the issuing user.

Headers

Sajn-Version
enum<string>

API version for this request. Without it, the request uses the organization's default version; an organization without a default is pinned to the latest version by its first request.

Available options:
2026-09,
2026-10
Idempotency-Key
string

Makes retries safe. A retry with the same key and the same request replays the stored response for 24 hours (header Idempotent-Replayed: true); the same key with a different request returns 400.

Maximum string length: 255

Path Parameters

id
string
required

The webhook ID.

Response

200

id
string
required

ID of the delivery: one event sent to one endpoint, with every attempt to send it.

webhookId
string
required

The webhook ID.

eventId
string | null
required

ID of the event, as GET /api/v1/events/:id takes it. Null for a delivery made before sajn recorded it.

type
enum<string> | null
required

The event type, such as document.completed. Null for an event type that 2026-10 no longer has.

Available options:
document.created,
document.sent,
document.fully_signed,
document.completed,
document.rejected,
document.expired,
document.withdrawn,
document.updated,
document.deleted,
document.restored,
document.archived,
document.unarchived,
document.expiration_extended,
document.expiring_soon,
document.party.sent,
document.party.delivery_failed,
document.party.opened,
document.party.read,
document.party.signed,
document.party.rejected,
document.party.delegated,
document.party.auth_failed,
document.party.verified,
document.party.updated,
document.party.added,
document.party.removed,
document.party.reminded,
document.comment.created,
identity_check.created,
identity_check.sent,
identity_check.opened,
identity_check.verified,
identity_check.failed,
identity_check.cancelled,
contact.created,
contact.updated,
contact.deleted,
company.created,
company.updated,
company.deleted,
template.created,
template.updated,
template.deleted,
template.restored,
form.submitted,
workspace.created,
member.added,
member.invited,
member.invite_accepted,
approval_request.created,
approval_request.approved,
approval_request.rejected,
approval_request.cancelled,
login.completed,
login.failed,
security.document_downloaded,
security.documents_exported,
security.signature_identity_accessed,
security.member_removed,
security.member_role_changed,
security.role_updated,
security.workspace_retention_updated,
usage.limit_reached,
webhook.test,
null
status
enum<string>
required

SUCCESS when an attempt got a 2xx answer, FAILED when sajn stopped retrying, and PENDING while attempts remain.

Available options:
SUCCESS,
FAILED,
PENDING
url
string
required

The endpoint URL the delivery was sent to.

replayOfId
string | null
required

ID of the delivery this one replays. Null for an original delivery.

requestBody
object
required

The JSON body sent to the endpoint, in the webhook's API version. Null until the first attempt.

Example:
attempts
object[]
required

Every attempt, oldest first. Empty until the first attempt.

createdAt
string<date-time>
required

When the webhook was created.