Skip to main content
A primitive is one verification verb. Every customer-ordered step in a published workflow names exactly one primitive plus its configuration. This is the per-primitive reference; for the design philosophy see Primitives. Every wallet-backed completion verifies against the government credential in the user’s wallet. You’re billed only for steps that successfully verify, and results arrive by webhook (one step.completed per step) — never in the create response.

identify

Returns selected, government-signed identity attributes. The wallet shows the user exactly which fields are requested, and only those signed fields come back — no document upload, no OCR.

Params

string[]
The attributes to request. Omit to request the default set (first_name, last_name, dob, country). A requested block the credential does not disclose is present with JSON null rather than failing the step.
Supported blocks:
country and state describe where the credential was issued (for example, US and US-CA). address and resident_state describe the holder’s residence. Nullable fields (gender, portrait, address, resident_state) return null when the credential does not disclose them.
ISO mDL has no single full-name element — request first_name + last_name and compose. full_name is intentionally unmapped. personal_number is available from credential profiles such as EUDI PID, but returns null for US mDL.

Result

claims — an object of the disclosed blocks, on the step.completed webhook and via GET /v1/sessions/{id}.
step

age_verify

Proves the holder meets an age threshold without disclosing their birth date. Alentra reads the DOB from the verified credential, computes age ≥ min_age, and returns only the boolean. The signer claims and wallet evidence are sealed in the audit (flagged redacted) and never sent to you.

Params

integer
default:"18"
The age threshold to check (age ≥ min_age). A whole number, 1–120.

Result

satisfied — a boolean. No claims, ever — not even the age.
step

light_sign

A lightweight signature over short inline terms — no file upload. Use it for consent, terms acceptance, or a disclosure for which you want retained evidence. The canonical terms text is retained in the audit, so the signed text stays self-contained.

Params

string
required
The terms to sign. Up to 1000 words (~5 minutes of reading). Alentra normalizes line endings, then shows and hashes that same canonical text.

Result

document_hash (hash of the canonicalized terms) + signature + the default signer claims.
Canonical terms are visible to the capability-URL holder and retained in cleartext in the immutable audit proof. Do not put secrets, payment credentials, or unnecessary personal data in terms.
step

sign

Produces a wallet-device signature bound to a government-attested signer identity and one or more documents you upload. Alentra hashes each file server-side (you never supply a hash — WYSIWYS), and the wallet signs the manifest. On successful verification, the result, audit, charge, and retention promotion commit atomically. The exact original files become immutable evidence: they are not customer-deletable or time-purged. Only an upload that never joined a completed sign result remains transient and cleanup-eligible. Because documents belong to a run—not a reusable definition—a workflow’s sign step has no document parameters. Create each API session as multipart/form-data with a workflow_id field plus one file part per document. The file field name becomes the document id in that immutable session snapshot.

Params

There are no persistent sign parameters. Each run accepts 1–50 named file parts, up to 50 MiB combined. Use opaque, non-PII field names because their ordered ids become part of the immutable cleartext audit proof.

Result

document_hash (the signed manifest digest) + signature + the default signer claims. For a multi-file sign, the audit also keeps a per-file { id, hash } manifest, so any single file stays provable against its retained original.
Evidence retention is not a customer document-storage API. Keep your own originals; the business API returns hashes, signatures, results, and audit disclosures, not document-download endpoints.
multipart

Composition & reserved

  • Chaining: add and order multiple steps in the workflow builder—the user completes them in one session and you get one webhook per step. On an API-only workflow, add a gate to pause for your continue / stop decision. See Create a session.
  • envelope (multi-party signing — N signers across N wallets) is a reserved primitive: named in the model but not yet available.