signature_requestSignatureRequestobligatorisk
iduuidobligatorisk
The signature request id — pass it to GET /signature_requests/{id}.
object"signature_request"obligatorisk
statusstringobligatorisk
draft | pending_payment | in_progress | completed | expired | cancelled | signing_failed. in_progress means the signers have been invited; cancelled means it was stopped before anyone signed (see POST /signature_requests/{id}/cancel); signing_failed means the eID provider rejected the handoff and the request can be retried.
documentobjectobligatorisk
The document being signed.
iduuidobligatorisk
filenamestringobligatorisk
avtale.pdf
signersobject[]obligatorisk
In invitation order.
iduuidobligatorisk
Stable id for this signer within the request.
namestringobligatorisk| null
Ola Nordmann
emailstringobligatorisk| null
null for a signer reached only by SMS.
ola@example.no
statusstringobligatorisk
pending | notified | viewed | signed | declined | expired
signed_atstringobligatorisk| null
ISO 8601, null until this signer has signed.
2026-07-13T10:24:00.000Z
verified_namestringobligatorisk| null
The signer's name as their eID (BankID, MitID, …) verified it — not the name you sent. Set when the whole request is completed: the eID provider releases the evidence only then. null before that, and for a signature whose evidence carried no name.
Ola Nordmann
verified_birth_datestringobligatorisk| null
The signer's date of birth (YYYY-MM-DD) as their eID verified it. Set at completion, like verified_name. Always null for Swedish BankID, which does not issue a date of birth.
1990-01-31
birth_date_lockstringobligatorisk| null
The date of birth this signer was locked to (signers[].birthDate at creation), or null.
1990-01-31
sign_urlstringobligatorisk| null
This signer's private signing page — the document, the deadline, and the button that starts BankID/MitID. It is the same URL the invitation email carries, so it is safe to send even when we also mailed it; with notifySigners: false it is the ONLY copy that exists and you must deliver it yourself.
Treat it as a credential: the token in the path is what authorises the signature, so anyone holding the link can sign as that person. Send it to the signer, never anywhere public. null until the request has been handed to the eID provider (i.e. while it is still pending_payment), and on requests created before this field existed.
https://esigner.no/sign/9f1c0f4e3d2b4a719f3a1c0…
sign_url_directstringobligatorisk| null
Same signer, one step shorter: a redirect that takes them straight into BankID/MitID with no esigner page in between. For a flow whose own UI already showed the document and collected the approval click.
Falls back to sign_url by redirecting there whenever it cannot skip — the request is password-protected, expired, cancelled, or the eID hand-off has not finished — so it is always safe to link. Note the signer then never sees the document on OUR surface: in the hosted eID flow the provider still presents it before signing, so use this when your own product has already put the document in front of them.
https://esigner.no/api/sign/9f1c0f4e3d2b4a719f3…
paymentobjectobligatorisk
How this request was paid for.
methodstringobligatorisk
subscription | balance | checkout | comped | test
amount_oreintegerobligatorisk
What this request cost in minor units (øre), VAT included. 0 on a subscription, comped or in test mode.
5800
currencystringobligatorisk
NOK
livemodebooleanobligatorisk
false for signature requests created with an sk_test_ key.
createdstringobligatorisk
ISO 8601.
2026-07-13T10:12:00.000Z
payment_urlstringobligatorisk| null
Where to send the sender to pay, while status is pending_payment. null on a subscription-covered request, and once the payment has gone through. Safe to hand to a human at any time: it resumes the checkout if the request is still unpaid and lands on the status page if it isn't.
https://esigner.no/api/orders/3f7c1e42-9b0a-4d7…
payment_requiredbooleanobligatorisk
true while the request waits for a payment and no signer has been invited. The same condition as status: "pending_payment", as a flag you can branch on: a 201 does not mean the invitations went out. Read next_action for what to do.
false
next_actionobjectobligatorisk| null
What has to happen before the request can proceed, or null when nothing does. Present exactly when payment_required is true. The hosted checkout behind url expires after a few minutes if nobody completes it; the URL itself does not, and opens a fresh checkout. To pay without a human, create the request with paymentMethod: "balance", "card" or "auto" instead.
type"pay"obligatorisk
Always pay for now. Switch on it; other types may be added.
urlstringobligatorisk
Same as payment_url.
https://esigner.no/api/orders/3f7c1e42-9b0a-4d7…
messagestringobligatorisk
A human-readable explanation, in English, safe to log or show a developer.
signed_documents_urlstringobligatorisk| null
Where to list the signed PDFs, once status is completed. null before that. Requires the same API key — unlike the links in our completion email, this is not a public URL.
https://esigner.no/api/v1/signature_requests/3f…
download_expires_atstringobligatorisk| null
ISO 8601. When the PUBLIC download links (the ones in the completion email and on the status page) stop working. The API download does not expire on it — your account keeps its archive — but treat it as the deadline for fetching and storing your own copy.
2026-08-13T10:24:00.000Z
copy_emailsstring[]obligatorisk
Addresses that receive the completion email with the signed PDF without being signers, as given in copyEmails on creation — lowercased, de-duplicated, and without the sender or any signer. Empty when none were given.
["regnskap@example.no"]
return_urlstringobligatorisk| null
Where each signer is sent after the eID step, as given in returnUrl. null = our status page.
https://app.example.com/contracts/123/signed
signing_eidsstring[]obligatorisk| null
The eIDs the signing page offers on this request, as given in signingEids or resolved from your account and the deployment default. null = no restriction: every eID the signing provider has enabled is offered.
["no_bankid"]
already_cancelledbooleanobligatorisk
True when an earlier call had already cancelled it. Nothing was returned by this call.
released_signaturesintegerobligatorisk
Signatures returned to the subscription's quota by this call.
2
refunded_oreintegerobligatorisk
Pay-per-use amount no longer charged by this call, in minor units (øre), VAT included.
0
returned_to_balance_oreintegerobligatorisk
Amount put back on the prepaid balance by this call, in minor units (øre).
0