Lifecycle
1
created
POST /v1/sessions with a published workflow_id returns the session and its
hosted url. Nothing is charged.2
in_progress
The user opens the hosted page, explicitly starts on that browser, and begins; each step’s wallet response is
verified and emits
step.completed.3
awaiting_decision (optional)
If a step is an API-controlled gate, the
session pauses here until you
continue or stop it. Configured workflow conditions
evaluate automatically after verification and do not enter this state.4
completed / stopped / failed / expired
A terminal state. The matching
session.* webhook fires. Original files that
participated in a completed sign step remain immutable evidence; only explicit
transient uploads from uncompleted sign steps become cleanup-eligible.The hosted page & capability URLs
The sessionurl (https://alentra.app/s/{id}) is a capability URL — holding
the link is what lets a user open the session. Treat it like a secret: deliver it
over a channel only the intended user controls (your authenticated app, their phone).
One-time dashboard invitations expire exactly 24 hours after creation. Emailing or
resending the opaque link never extends that deadline or identify the signer. Once the user starts, each
wallet step also has its shorter 3/10/30-minute security window. Terminal signer access
to completed materials remains available for 48 hours in the original bound browser,
unless the signer closes online access earlier.
After any completed step, the bound browser can Download receipt (PDF) without
entering an email. This includes the completed results, audit references, and a
structured JSON attachment for technical verification. Incomplete sessions produce
a clearly labelled partial receipt; sandbox simulations stay labelled as examples.
The PDF is a readable record, not a new signature on a document. Signed originals
can be downloaded separately. Saved files do not expire when online access ends.
Email me a receipt is optional. Verify the destination with a six-digit code,
then Alentra emails a PDF attachment containing the completed results and audit
references. The code lasts up to ten minutes; the page shows its countdown and a
resend option after one minute. Sending is limited to five codes per hour per session.
Keep the attachment private. It remains available after online access ends.
The original browser’s session page is the signer’s place to download receipts and
signed originals. After the session ends, Close online access permanently disables
those downloads and further receipt emails, without changing the session outcome or
retained evidence. A warning appears when no PDF download was recorded in that
browser; it cannot confirm that a file was saved. Copies already saved or emailed
remain available. A delivery authorized before closure may already be in flight.
Receipt emails contain a PDF attachment. The separate receipt page and public
receipt-link downloads have been removed, including for previously emailed links.
Use the original browser’s session page for online access.
Reading a session
GET /v1/sessions/{id}, authenticated with your API
key, returns status plus results already produced: requested identify claims,
age_verify’s boolean and threshold, and signing hashes/signatures. The unauthenticated
hosted status projection contains no results. The bound signer can explicitly read
their completed prefix through GET /v1/sessions/{id}/receipt; this read never starts
or advances the session and requires the existing binding cookie. Webhooks
remain the primary push channel; use GET to reconcile a missed event, not as a polling
loop.
Run-specific options
The workflow owns the ordered steps.POST /v1/sessions accepts the published
workflow_id plus these optional values for one run:
Plus an optional
Idempotency-Key header so a retried create returns the
original session instead of a duplicate. See
Create a session for the full reference.
Treat metadata as retained operational data, not a secret store.
There is no recipient_email API option. Dashboard invitation email is delivery of an
opaque one-time link only. At completion, the signer independently chooses whether to
send their result to a verified email address.
Expiry
Sessions have an overall TTL (1 hour by default, or a 60-second–24-hourexpires_in override), and each step has its own shorter window once started.
Expiry is enforced on the next state access, persisted, and enqueued as one logical
session.expired event (transport retries remain at-least-once).
Result retention
Completed results and their audit records are legally significant service records. They are immutable and are not customer-deletable. For a completedsign, this also
includes the exact original document bytes Alentra hashed and presented to the signer.
Stopping or deleting a customer account does not erase them. Any account/data request
is reviewed for disposable data and legal holds; cleanup jobs may remove only data
explicitly classified as transient, such as an upload that never joined a completed
sign result.
Next: Wallets & coverage
Which wallets and countries can complete a session today.