Staging environment — data here is not production data
Browse documentation

Fidera documentation

Changelog

Changes to the Fidera API, console, and applicant journey.

2026-08-03

  • Applicant email is now stored as trimmed plaintext and returned by the applicant detail API. Applicant search matches email case-insensitively, PATCH supports setting or clearing email, and asynchronous email-intelligence checks use the stored address. Existing email hashes are discarded during migration and erasure tombstones retain no email value or hash.

2026-07-31

  • Added a configurable applicant details form before document capture. intake_fields on the Flow template chooses from first, middle, and last name, date of birth, nationality, gender, email, and phone; it defaults to first name, last name, and email, and is editable in the console or over the API. applicant.missing_details resolves it against what the operator already supplied, so nothing is retyped, and sealing is refused while a configured detail is unanswered. A name in particular unblocks AML and adverse media, which have nothing to screen without one.
  • PATCH /v1/submissions/{id} accepts applicant.email and applicant.phone, storing them as hashes — no plaintext lands on the Applicant or in the evidence bundle.
  • A check with no input to grade now records skipped with no_input_to_grade and the Flow completes, instead of leaving the Check pending and the Flow in awaiting_input indefinitely. skipped is not clear, so the applicant still routes to review. Flows still park when evidence is genuinely missing.
  • Made country_risk grade the document's issuing country alongside nationality and IP country, so a licence or passport is screened against FATF listings instead of the check finding nothing to evaluate. MRZ and AAMVA alpha-3 codes are mapped for the listed jurisdictions.
  • A submission left unprocessed past onboarding_processing_stall_seconds (default 15 minutes) now reports a terminal outcome to the applicant instead of polling indefinitely. Flows parked for checks that could not run settle the same way.
  • Added decision_reason_codes to FlowOut, and surfaced the checks behind an awaiting_input Flow on its dashboard page — that state means a check had no input to grade, not that the applicant still owes something.
  • Fixed the face check's head-circle indicator filling in the opposite direction to the applicant's head movement.
  • Stopped type: enhanced force-adding the enhanced_due_diligence dataset to the AML screen. enhanced selects which checks run, not which watchlists they cover; the screen now covers exactly the datasets requested. The console preselects it for onboarding and lets the operator clear it. Behaviour change: callers relying on the implicit dataset must now pass it explicitly.
  • Fixed the document step showing the photo-review screen before the back of the ID had been photographed.
  • Auto-capture now requires positive evidence the document is in frame — a decoded barcode or a detected portrait. Sides with neither use the manual shutter rather than firing on whatever is in focus.
  • Fixed Flow.client_metadata on hosted onboarding, which kept the operator's request context from Flow creation instead of the applicant's. Redeeming a link now rebinds it to the applicant's IP, user agent, and geo. This corrects the dashboard's device/location card, the candidate IPs ip_intel grades, and country_risk, which reads geo.country_code and had no other source — it was scoring the operator's country.
  • Added ISP, ASN, and detected VPN/proxy/Tor/datacenter/abuser status to the device and location card, and carried ISP, postal code, timezone, and coordinates into the sealed evidence bundle's network observation.
  • Made the five-step center, blink, head-circle, hand-wave, and smile sequence mandatory for every hosted onboarding, independent of Flow type.
  • Split mobile document collection into instructions, live capture, and review/confirm screens with distinct front, back, passport, MRZ, and PDF417 guides.
  • Added verified front-camera selection for biometric capture and client-side PDF417/AAMVA quality validation for driver's-license backs. The server still independently decodes uploaded evidence and remains authoritative.
  • Added bounded, stage-specific liveness preparation with same-origin, integrity-pinned face and hand models and a Safari-safe CPU path. A stalled camera or model load now returns a retryable error instead of loading indefinitely.
  • Added automatic driver's-license back capture when the full-resolution preview frame contains a valid AAMVA PDF417 barcode. Manual capture and the review-time barcode check remain available.
  • Fixed automatic back-of-ID capture so a successful live read is carried into review without a second lossy scan, and transient decoder startup failures can recover. Applicant instructions now use plain language instead of barcode-format terminology.
  • Made mobile document capture full-screen and crop the saved image to the exact object-fit: cover rectangle visible in the preview, preserving the on-screen orientation and framing.
  • Deactivated a Flow's access link when its Submission is sealed. The submitting device keeps its session and still sees its result; presenting a correct secret for a deactivated link now returns 410 (error.code gone) instead of the opaque 401, which is unchanged for every other failure. Issue a new link from the Flow to collect anything further.
  • Added outcome to GET /v1/flow-sessions/current and FlowOut: approved only when the Flow completed with every required Check clear, otherwise in_review. Applicants now see either a confirmation or a "being reviewed" screen. Derived per read — no Flow-level decision is persisted, and Check results remain the authority.
  • Added document_capture_mode to Flow templates (live_or_upload, live_only, upload_only) with a FideraDocumentCaptureV1 provenance entity per image. Sealing a live_only Submission whose documents claim a file upload is refused. The provenance is client-asserted and low assurance. Accepted document types and passport NFC policy are now editable in the console alongside it.
  • Added automatic capture for document sides without a barcode, gated on image sharpness plus an on-device portrait detection held across consecutive frames. Manual capture remains available on every side.
  • Made the hosted liveness check full-screen portrait with the SDK's face circle: a 36-dot ring that fills as the applicant traces a circle with their nose, and a ring that tracks alignment live. The post-capture review screen is full-screen too.

2026-07-30

  • Replaced mutable Alerts with immutable Check-owned match evidence. Match entries are nested in Check.matches; there is no top-level Match resource or child endpoint.
  • Added stable evidence keys, material hashes, and observed, new, changed, unchanged, and removed classifications.
  • Added explicit monitor_id, batch_id, previous_check_id, and derived origin lineage to Checks.
  • Added separate Monitor pointers for the latest attempt and latest successful Check. Failed attempts no longer replace the comparison baseline.
  • Replaced Alert/disposition webhooks with check.completed, check.failed, monitor.check_completed, and monitor.matches_changed.
  • Removed Alert assignment, SLA, disposition, four-eyes, suppression, escalation, public Operator-listing, and Review-queue APIs. These workflows are customer-owned.
  • Migrated existing Check hit evidence and legacy Alert evidence into Checks before dropping Alert workflow and temporary Match tables.
  • Replaced the dashboard Review workspace with screening-observability views for Checks and Monitor deltas.
  • Added JSON, Markdown, and PDF content negotiation to GET /v1/checks/{check_id} and removed the separate export operation.
  • Added dashboard-origin .json, .md, and .pdf Check convenience URLs.

2026-07-29

  • Added JSON and Markdown content negotiation to GET /v1/checks/{check_id}. Use Accept: text/markdown instead of a separate .md API endpoint; JSON remains the default.
  • Added dashboard-origin /checks/{check_id}.json and /checks/{check_id}.md convenience URLs backed by the negotiated API resource.
  • Added an OpenAPI-generated reference page for every public /v1 operation.
  • Added cursor pagination and operational filters to Alerts, Checks, Batches, and Monitors.
  • Added Alert summary counts, explicit assignment and unassignment, enriched Applicant and Check context, and operator listing.
  • Added public Check-policy version reads, writes, and history.
  • Added webhook endpoint update, enable and disable, secret rotation, filtered delivery history, and manual retry.
  • Added Check evidence export operations. These were superseded on 2026-07-30 by content negotiation on the Check resource.
  • Removed the Fidera Case product resource and /v1/cases. Customer systems group Fidera Applicant, Check, and Alert IDs into their own cases.
  • Preserved existing /v1/checks and /v1/flows request compatibility and existing webhook event names.

Compatibility policy

Additive fields and operations may appear without a version change. Fidera does not silently change the meaning of an existing enum or field. Breaking changes require a versioned contract and migration guidance after public adoption. The 2026-07-30 Alert removal occurred before production customer adoption and includes an evidence-preserving database migration.

The committed OpenAPI document is the source for API reference pages and dashboard client types. CI fails when either generated surface drifts.