> ## Documentation Index
> Fetch the complete documentation index at: https://docs.qa.esectra.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Handles `GET /v1/verifications/{id}`.

> # Errors

Returns `401` without usable credentials and `404` when the tenant has no
such verification. Another tenant's verification is also `404`.



## OpenAPI

````yaml /openapi.json get /v1/verifications/{verification_id}
openapi: 3.1.0
info:
  title: Esectra API
  description: >-
    Transaction screening, identity verification, and wallet risk.


    Every create route accepts `Idempotency-Key`; replaying one returns the
    original record with `200` where the first call returned `201`. `POST
    /v1/transactions` requires the header, because a duplicated transaction is a
    duplicated financial record.
  license:
    name: proprietary
    identifier: proprietary
  version: 0.1.0
servers:
  - url: https://qa.esectra.com
    description: Esectra QA Documentation
security: []
paths:
  /v1/verifications/{verification_id}:
    get:
      tags:
        - Verifications
      summary: Handles `GET /v1/verifications/{id}`.
      description: >-
        # Errors


        Returns `401` without usable credentials and `404` when the tenant has
        no

        such verification. Another tenant's verification is also `404`.
      operationId: get_verification_handler
      parameters:
        - name: verification_id
          in: path
          description: Verification identifier
          required: true
          schema:
            type: string
      responses:
        '200':
          description: The verification
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VerificationResponseBody'
        '401':
          description: No usable credentials
        '404':
          description: No such verification in this tenant
        '503':
          description: A backing store could not be reached
      security:
        - api_key: []
        - session_cookie: []
components:
  schemas:
    VerificationResponseBody:
      type: object
      description: Verification response body.
      required:
        - verification_id
        - subject_id
        - status
        - reasons
        - evidence
        - created_at
      properties:
        created_at:
          type: string
          description: RFC 3339 creation timestamp.
        decision:
          oneOf:
            - type: 'null'
            - $ref: '#/components/schemas/Decision'
              description: Decision outcome.
        decision_id:
          type:
            - string
            - 'null'
          description: Decision record identifier.
        distance:
          type:
            - number
            - 'null'
          format: float
          description: Face-match distance, when the provider produced one.
        document:
          oneOf:
            - type: 'null'
            - $ref: '#/components/schemas/IdDocument'
              description: Document metadata, without the image itself.
        evidence:
          type: array
          items:
            $ref: '#/components/schemas/EvidenceRef'
          description: References to retained evidence.
        model_version:
          type:
            - string
            - 'null'
          description: Model or vendor version behind the score.
        reasons:
          type: array
          items:
            $ref: '#/components/schemas/DecisionReason'
          description: Explanation reasons.
        review_case_id:
          type:
            - string
            - 'null'
          description: Manual-review case, when the outcome needs a human.
        review_status:
          oneOf:
            - type: 'null'
            - $ref: '#/components/schemas/ReviewStatus'
              description: Review lifecycle state.
        risk_level:
          oneOf:
            - type: 'null'
            - $ref: '#/components/schemas/RiskLevel'
              description: Explainable risk level.
        status:
          $ref: '#/components/schemas/VerificationStatus'
          description: Outcome status.
        subject_id:
          type: string
          description: Tenant's customer.
        verification_id:
          type: string
          description: Verification identifier.
    Decision:
      type: string
      description: Decision emitted by an automated or human-assisted workflow.
      enum:
        - ALLOW
        - WARN
        - BLOCK
        - HOLD
        - REVIEW_REQUIRED
        - FLAG
        - BLOCK_RECOMMENDED
        - SUSPEND
        - END_STREAM
    IdDocument:
      type: object
      description: An identity document as Gorgon records it.
      required:
        - document_type
        - extraction_status
        - extracted_fields
        - evidence
      properties:
        document_type:
          $ref: '#/components/schemas/DocumentType'
          description: Kind of document.
        evidence:
          type: array
          items:
            $ref: '#/components/schemas/EvidenceRef'
          description: References to the retained document images.
        expires_at:
          type:
            - string
            - 'null'
          description: RFC 3339 expiry date, when the extractor returned one.
        extracted_fields:
          type: object
          description: Fields the extractor returned, as provided.
          additionalProperties:
            type: string
          propertyNames:
            type: string
        extraction_status:
          $ref: '#/components/schemas/ExtractionStatus'
          description: Whether extraction succeeded.
        issuing_country:
          type:
            - string
            - 'null'
          description: ISO-3166 alpha-2 issuing country, normalized to upper case.
        number_last4:
          type:
            - string
            - 'null'
          description: >-
            Last four characters of the document number.


            The full number is deliberately not stored: it identifies a person
            to

            anyone who reads the record, and a reviewer only needs enough to
            match

            it against what the customer presented.
    EvidenceRef:
      type: object
      description: >-
        Reference to retained evidence without embedding raw evidence in
        decisions.
      required:
        - id
        - kind
        - location
        - retention_policy
      properties:
        id:
          type: string
          description: Internal evidence identifier.
        kind:
          $ref: '#/components/schemas/EvidenceKind'
          description: Evidence type.
        location:
          type: string
          description: Storage URI or provider-specific object key.
        retention_policy:
          type: string
          description: Retention policy identifier applied to this evidence.
    DecisionReason:
      type: object
      description: Human-readable reason with a stable machine code.
      required:
        - code
        - message
      properties:
        code:
          type: string
          description: Stable reason code.
        message:
          type: string
          description: Explainable user/operator-facing message.
    ReviewStatus:
      type: string
      description: Human review lifecycle for a decision.
      enum:
        - PENDING
        - APPROVED
        - OVERTURNED
        - NOT_REQUIRED
    RiskLevel:
      type: string
      description: Explainable risk level.
      enum:
        - LOW
        - MEDIUM
        - HIGH
        - CRITICAL
    VerificationStatus:
      type: string
      description: Lifecycle status of a verification attempt.
      enum:
        - APPROVED
        - REVIEW_REQUIRED
        - REJECTED
        - FAILED
    DocumentType:
      type: string
      description: Kind of identity document presented.
      enum:
        - PASSPORT
        - DRIVING_LICENCE
        - NATIONAL_ID
        - RESIDENCE_PERMIT
        - OTHER
    ExtractionStatus:
      type: string
      description: Whether the document could be read at all.
      enum:
        - EXTRACTED
        - PARTIAL
        - UNREADABLE
        - NOT_ATTEMPTED
    EvidenceKind:
      type: string
      description: Kind of evidence captured for a decision or case.
      enum:
        - IMAGE
        - VIDEO
        - TEXT
        - DOCUMENT
        - METADATA
  securitySchemes:
    api_key:
      type: http
      scheme: bearer
      description: >-
        A tenant API key. Acts for exactly one tenant and cannot conclude a
        case, because a conclusion records a person.
    session_cookie:
      type: apiKey
      in: cookie
      name: esectra_session
      description: >-
        A signed-in reviewer's session. httpOnly and SameSite=Lax; set by `POST
        /v1/control/sessions` and only usable once the second factor is met.

````