Trusona · OpenAPI Overlay 1.0.0

API Evangelist enhancements for the Trusona ATO Protect Verification API

7 actions 7 updates documentation extends openapi/trusona-verification-api-openapi.yml
Generated by API Evangelist Written by API Evangelist tooling for Trusona's API. It is a proposal applied on top of the contract, not a document Trusona publishes.
View Overlay File View on GitHub Overlay Specification

What the actions change

x-agent-notex-apievangelist-profilex-agent-skillx-status-pagex-trust-centertagsx-reversibilityx-pii

Targets 7

$.info
$
$.paths['/api/v1/verifications'].get
$.paths['/api/v1/verifications'].post
$.paths['/api/v1/verifications/{verificationId}'].get
$.paths['/api/v1/verifications/{verificationId}/messages'].post
$.paths['/api/v1/verifications/{verificationId}/document'].get

OpenAPI Overlay

Raw ↑
overlay: 1.0.0
info:
  title: API Evangelist enhancements for the Trusona ATO Protect Verification API
  version: 1.0.0
extends: openapi/trusona-verification-api-openapi.yml
x-generated: '2026-09-01'
x-method: generated
x-source: 'Enhancements derived from Trusona-published material only: the ATO Protect
  Agent Skill (github.com/trusona/atop-agent-skill, Apache-2.0) and the API reference at
  authcloud.trusona.net/docs/index.html. The harvested spec is never mutated.'
actions:
- target: $.info
  update:
    x-apievangelist-profile: https://apis.io/provider/trusona/
    x-agent-skill: https://github.com/trusona/atop-agent-skill
    x-status-page: https://status.trusona.com/
    x-trust-center: https://trust.trusona.com/
- target: $
  update:
    tags:
    - name: Verifications
      description: Create and read identity verifications and their overall risk outcome.
    - name: Messages
      description: SMS, trusted-SMS, email and copy messages that deliver the scan link.
    - name: Risk Scores
      description: Per-verification risk scoring.
    - name: Documents
      description: Scanned identity documents and images, removed when the verification expires.
    - name: Devices
      description: Devices observed during a verification.
    - name: Encrypted Verifications
      description: Verifications whose payloads are encrypted to a caller-supplied JWK.
  x-note: 'The original document tags every operation but declares no root-level tags[]
    array, so tag descriptions are supplied here.'
- target: $.paths['/api/v1/verifications'].get
  update:
    x-agent-note: '`since` is REQUIRED. Omitting it returns 400. Walk forward by passing
      the last result''s timestamp or id as the next `since`; there is no cursor.'
- target: $.paths['/api/v1/verifications'].post
  update:
    x-agent-note: 'Do not send `requestedVerifiers` — Trusona documents it as being
      deprecated and decided server-side. Verifier outcomes still return via
      verifierChecks[]. `subject.dateOfBirth` is MM/DD/YYYY on this API.'
    x-reversibility:
      reversal: none
      note: No cancel or void operation exists; the verification ends only by expiry.
- target: $.paths['/api/v1/verifications/{verificationId}'].get
  update:
    x-agent-note: 'status is WAITING | SCANNED | EXPIRED ONLY — there is no SUCCESS or
      FAILURE. Read the outcome from overallRisk, verifierChecks[] and riskScores[].'
- target: $.paths['/api/v1/verifications/{verificationId}/messages'].post
  update:
    x-agent-note: '422 means a SIM swap was detected on a TRUSTED_SMS — a security
      finding, not a client bug; do not retry over SMS. 410 means the verification is
      closed to new messages. 429 is a tenant quota with no Retry-After header.'
- target: $.paths['/api/v1/verifications/{verificationId}/document'].get
  update:
    x-agent-note: 'Returns BOTH masked and unmasked PII in one response. Default to the
      masked variant. 410 Gone is terminal — the document is removed when the parent
      verification expires and the retention window is not published.'
    x-pii: high