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

# Get data record

> Read an exact immutable data-record version with normalized fields, enrichment fields, provenance, authorized source payload and file references. Never silently replace this version with newer data.

Read an exact immutable data-record version with normalized fields, enrichment fields, provenance, authorized source payload and file references. Never silently replace this version with newer data. All IDs and cursors must belong to the authorized workspace and environment. Required scope: data:read.

Examples use synthetic IDs. Replace them with values returned by your environment.


## OpenAPI

````yaml openapi/amlok.json GET /v1/data/records/{id}
openapi: 3.1.0
info:
  title: AMLOK API
  version: 1.0.0
  description: >-
    AMLOK API: borrower connections, Insights origination, immutable risk
    packages and Signal monitoring. Use your institution-issued API origin.
servers: []
security:
  - BearerAuth: []
paths:
  /v1/data/records/{id}:
    get:
      tags:
        - Data
      summary: Get data record
      description: >-
        Read an exact immutable data-record version with normalized fields,
        enrichment fields, provenance, authorized source payload and file
        references. Never silently replace this version with newer data. All IDs
        and cursors must belong to the authorized workspace and environment.
        Required scope: data:read.
      operationId: getDataRecord
      parameters:
        - name: id
          in: path
          required: true
          schema:
            type: string
            minLength: 1
          description: id
      responses:
        '200':
          description: Successful response.
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    $ref: '#/components/schemas/DataRecord'
                  meta:
                    $ref: '#/components/schemas/Meta'
                required:
                  - data
                  - meta
                additionalProperties: false
              example:
                data:
                  id: dr_synthetic_v1
                  borrower_id: bor_synthetic
                  connection_id: con_synthetic
                  integration_id: bank_synthetic
                  resource_type: bank_transaction
                  resource_id: txn_synthetic
                  record_version: 1
                  ingested_at: '2026-11-06T12:00:00Z'
                  source_as_of: '2026-11-06T12:00:00Z'
                  access: available
                  access_reason: null
                  normalized:
                    id: txn_synthetic
                    object: bank_transaction
                    subject_id: biz_synthetic
                    created_at: '2026-11-06T12:00:00Z'
                    updated_at: '2026-11-06T12:00:00Z'
                    observed_at: '2026-11-06T12:00:00Z'
                    record_version: 1
                    source_refs: []
                    data_status: partial
                    missing_fields: []
                    schema_version: 1.0.0
                    account_id: acct_synthetic
                    direction: inflow
                    status: posted
                    amount:
                      amount: '1250.00'
                      currency: CAD
                    extensions:
                      synthetic_provider:
                        original_description: SYNTHETIC CUSTOMER PAYMENT
                  source_payload:
                    status: available
                    value:
                      description: SYNTHETIC CUSTOMER PAYMENT
                      amount: '1250.00'
                      currency: CAD
                    reason: null
                  document_ids: []
                meta:
                  request_id: req_synthetic
                  schema_version: 1.0.0
                  environment: sandbox
          headers:
            X-Request-ID:
              schema:
                type: string
                minLength: 1
              description: Same request ID as meta.request_id or error.request_id.
        '400':
          description: >-
            Inspect structured error; retry only when retryable. 429 and 503 can
            include Retry-After.
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    $ref: '#/components/schemas/Error'
                required:
                  - error
                additionalProperties: false
              example:
                error:
                  code: validation_error
                  message: Validation error.
                  retryable: false
                  request_id: req_synthetic
                  field: null
          headers:
            X-Request-ID:
              schema:
                type: string
                minLength: 1
              description: Same request ID as meta.request_id or error.request_id.
        '401':
          description: >-
            Inspect structured error; retry only when retryable. 429 and 503 can
            include Retry-After.
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    $ref: '#/components/schemas/Error'
                required:
                  - error
                additionalProperties: false
              example:
                error:
                  code: unauthenticated
                  message: Unauthenticated.
                  retryable: false
                  request_id: req_synthetic
                  field: null
          headers:
            X-Request-ID:
              schema:
                type: string
                minLength: 1
              description: Same request ID as meta.request_id or error.request_id.
        '403':
          description: >-
            Inspect structured error; retry only when retryable. 429 and 503 can
            include Retry-After.
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    $ref: '#/components/schemas/Error'
                required:
                  - error
                additionalProperties: false
              example:
                error:
                  code: forbidden
                  message: Forbidden.
                  retryable: false
                  request_id: req_synthetic
                  field: null
          headers:
            X-Request-ID:
              schema:
                type: string
                minLength: 1
              description: Same request ID as meta.request_id or error.request_id.
        '404':
          description: >-
            Inspect structured error; retry only when retryable. 429 and 503 can
            include Retry-After.
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    $ref: '#/components/schemas/Error'
                required:
                  - error
                additionalProperties: false
              example:
                error:
                  code: not_found
                  message: Not found.
                  retryable: false
                  request_id: req_synthetic
                  field: null
          headers:
            X-Request-ID:
              schema:
                type: string
                minLength: 1
              description: Same request ID as meta.request_id or error.request_id.
        '409':
          description: >-
            Inspect structured error; retry only when retryable. 429 and 503 can
            include Retry-After.
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    $ref: '#/components/schemas/Error'
                required:
                  - error
                additionalProperties: false
              example:
                error:
                  code: invalid_state
                  message: Invalid state.
                  retryable: false
                  request_id: req_synthetic
                  field: null
          headers:
            X-Request-ID:
              schema:
                type: string
                minLength: 1
              description: Same request ID as meta.request_id or error.request_id.
        '410':
          description: >-
            Inspect structured error; retry only when retryable. 429 and 503 can
            include Retry-After.
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    $ref: '#/components/schemas/Error'
                required:
                  - error
                additionalProperties: false
              example:
                error:
                  code: cursor_expired
                  message: Cursor expired.
                  retryable: false
                  request_id: req_synthetic
                  field: null
          headers:
            X-Request-ID:
              schema:
                type: string
                minLength: 1
              description: Same request ID as meta.request_id or error.request_id.
        '413':
          description: >-
            Complete response or one indivisible item exceeds
            max_response_bytes. Use recovery.export_request with existing export
            permissions. No successful response is truncated.
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    $ref: '#/components/schemas/Error'
                required:
                  - error
                additionalProperties: false
              example:
                error:
                  code: response_too_large
                  message: Retrieve the complete authorized content through an export.
                  retryable: false
                  request_id: req_synthetic
                  field: null
                  recovery:
                    export_request:
                      kind: data
                      data_record_id: dr_synthetic
                      format: json
                    summary_available: false
                    snapshot_expires_at: null
                    data_checkpoint: null
        '429':
          description: >-
            Rate budget, shared in-flight limit or ready-queue limit exceeded
            before admission. Retry-After is mandatory in whole seconds.
            Preserve command identity. No accepted receipt or charge is created.
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    $ref: '#/components/schemas/Error'
                required:
                  - error
                additionalProperties: false
              example:
                error:
                  code: rate_limited
                  message: Rate limited.
                  retryable: true
                  request_id: req_synthetic
                  field: null
          headers:
            Retry-After:
              description: Minimum delay in seconds before retry.
              schema:
                type: integer
                minimum: 0
            X-Request-ID:
              schema:
                type: string
                minLength: 1
              description: Same request ID as meta.request_id or error.request_id.
        '503':
          description: >-
            Inspect structured error; retry only when retryable. 429 and 503 can
            include Retry-After.
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    $ref: '#/components/schemas/Error'
                required:
                  - error
                additionalProperties: false
              example:
                error:
                  code: temporarily_unavailable
                  message: Temporarily unavailable.
                  retryable: true
                  request_id: req_synthetic
                  field: null
          headers:
            Retry-After:
              description: Minimum delay in seconds before retry.
              schema:
                type: integer
                minimum: 0
            X-Request-ID:
              schema:
                type: string
                minLength: 1
              description: Same request ID as meta.request_id or error.request_id.
      security:
        - BearerAuth: []
      x-codeSamples:
        - lang: Shell
          label: cURL
          source: |-
            curl --request GET --fail-with-body --max-time 30 \
              "${AMLOK_API_BASE_URL}/v1/data/records/record_synthetic" \
              --header "Authorization: Bearer ${AMLOK_API_KEY}" \
              --header 'Accept: application/json'
        - lang: Python
          source: >
            import os

            import requests


            headers = {'Accept': 'application/json'}

            headers["Authorization"] = "Bearer " + os.environ["AMLOK_API_KEY"]

            response = requests.request('GET', os.environ["AMLOK_API_BASE_URL"]
            + '/v1/data/records/record_synthetic', headers=headers, timeout=30,
            allow_redirects=False)

            response.raise_for_status()

            print(response.json())
        - lang: JavaScript
          source: >
            const headers = {"Accept": "application/json"};

            headers.Authorization = `Bearer ${process.env.AMLOK_API_KEY}`;

            const response = await fetch(process.env.AMLOK_API_BASE_URL +
            "/v1/data/records/record_synthetic", {
              method: "GET", headers, redirect: "error", signal: AbortSignal.timeout(30000)
            });

            if (!response.ok) throw new Error(`HTTP ${response.status}: ${await
            response.text()}`);

            console.log(await response.json());
components:
  schemas:
    DataRecord:
      type: object
      properties:
        id:
          type: string
          minLength: 1
          description: >-
            Immutable identifier for this exact collected/enriched version. Use
            it in getDataRecord.
        borrower_id:
          type: string
          minLength: 1
          description: Opaque ID within the authorized workspace and environment.
        connection_id:
          anyOf:
            - type: string
              minLength: 1
              description: Opaque ID within the authorized workspace and environment.
            - type: 'null'
          description: >-
            Borrower connection that supplied this record; null for data derived
            without a single connection.
        integration_id:
          anyOf:
            - type: string
              minLength: 1
              description: Opaque ID within the authorized workspace and environment.
            - type: 'null'
          description: >-
            Source integration identifier; null for data with no single
            provider.
        resource_type:
          type: string
          minLength: 1
          description: >-
            Normalized resource family, such as bank_transaction or invoice;
            matches normalized.object.
        resource_id:
          type: string
          minLength: 1
          description: Stable logical record ID across successive versions.
        record_version:
          type: integer
          minimum: 1
          description: >-
            Increasing version of the logical record; a new version has a new
            DataRecord id.
        ingested_at:
          type: string
          minLength: 1
          format: date-time
          description: UTC time this version became available from AMLOK.
        source_as_of:
          anyOf:
            - type: string
              minLength: 1
              format: date-time
            - type: 'null'
          description: >-
            UTC source freshness time, null when the provider did not establish
            it.
        access:
          type: string
          enum:
            - available
            - restricted
            - deleted
          description: Whether content is currently available, restricted or deleted.
        access_reason:
          anyOf:
            - type: string
              minLength: 1
            - type: 'null'
          description: >-
            Explanation when content cannot be returned; null for available
            data.
        normalized:
          anyOf:
            - oneOf:
                - $ref: '#/components/schemas/NormalizedConnectionRead'
                - $ref: '#/components/schemas/NormalizedConsentRead'
                - $ref: '#/components/schemas/NormalizedSyncJobRead'
                - $ref: '#/components/schemas/NormalizedBusinessRead'
                - $ref: '#/components/schemas/NormalizedPersonRead'
                - $ref: '#/components/schemas/NormalizedRelationshipRead'
                - $ref: '#/components/schemas/NormalizedVerificationRead'
                - $ref: '#/components/schemas/NormalizedVerificationCheckRead'
                - $ref: '#/components/schemas/NormalizedScreeningMatchRead'
                - $ref: '#/components/schemas/NormalizedDocumentRead'
                - $ref: '#/components/schemas/NormalizedBankAccountRead'
                - $ref: '#/components/schemas/NormalizedAccountBalanceRead'
                - $ref: '#/components/schemas/NormalizedBankTransactionRead'
                - $ref: '#/components/schemas/NormalizedRecurringStreamRead'
                - $ref: '#/components/schemas/NormalizedIncomeObservationRead'
                - $ref: '#/components/schemas/NormalizedMerchantAccountRead'
                - $ref: '#/components/schemas/NormalizedPaymentRead'
                - $ref: '#/components/schemas/NormalizedProcessorTransactionRead'
                - $ref: '#/components/schemas/NormalizedPayoutRead'
                - $ref: '#/components/schemas/NormalizedRefundRead'
                - $ref: '#/components/schemas/NormalizedDisputeRead'
                - $ref: '#/components/schemas/NormalizedCounterpartyRead'
                - $ref: '#/components/schemas/NormalizedOrderRead'
                - $ref: '#/components/schemas/NormalizedOrderLineRead'
                - $ref: '#/components/schemas/NormalizedSubscriptionRead'
                - $ref: '#/components/schemas/NormalizedLedgerAccountRead'
                - $ref: '#/components/schemas/NormalizedJournalRead'
                - $ref: '#/components/schemas/NormalizedJournalLineRead'
                - $ref: '#/components/schemas/NormalizedInvoiceRead'
                - $ref: '#/components/schemas/NormalizedBillRead'
                - $ref: '#/components/schemas/NormalizedCreditNoteRead'
                - $ref: '#/components/schemas/NormalizedAccountingPaymentRead'
                - $ref: '#/components/schemas/NormalizedFinancialStatementRead'
                - $ref: '#/components/schemas/NormalizedStatementLineRead'
                - $ref: '#/components/schemas/NormalizedTaxObligationRead'
                - $ref: '#/components/schemas/NormalizedProductRead'
                - $ref: '#/components/schemas/NormalizedLocationRead'
                - $ref: '#/components/schemas/NormalizedInventoryBalanceRead'
                - $ref: '#/components/schemas/NormalizedInventoryMovementRead'
                - $ref: '#/components/schemas/NormalizedPurchaseOrderRead'
                - $ref: '#/components/schemas/NormalizedShipmentRead'
                - $ref: '#/components/schemas/NormalizedProductionOrderRead'
                - $ref: '#/components/schemas/NormalizedProjectRead'
                - $ref: '#/components/schemas/NormalizedApplicationRead'
                - $ref: '#/components/schemas/NormalizedCreditFacilityRead'
                - $ref: '#/components/schemas/NormalizedLoanRead'
                - $ref: '#/components/schemas/NormalizedInstallmentRead'
                - $ref: '#/components/schemas/NormalizedRepaymentRead'
                - $ref: '#/components/schemas/NormalizedCollateralRead'
                - $ref: '#/components/schemas/NormalizedGuaranteeRead'
                - $ref: '#/components/schemas/NormalizedCovenantRead'
                - $ref: '#/components/schemas/NormalizedDecisionRead'
                - $ref: '#/components/schemas/NormalizedLienSearchRead'
                - $ref: '#/components/schemas/NormalizedLienRead'
                - $ref: '#/components/schemas/NormalizedFilingEventRead'
                - $ref: '#/components/schemas/NormalizedAttributeRead'
                - $ref: '#/components/schemas/NormalizedRiskSnapshotRead'
                - $ref: '#/components/schemas/NormalizedMonitorRead'
                - $ref: '#/components/schemas/NormalizedAlertRead'
                - $ref: '#/components/schemas/NormalizedWorkflowRunRead'
                - $ref: '#/components/schemas/NormalizedRequirementRead'
                - $ref: '#/components/schemas/NormalizedAuditEventRead'
                - $ref: '#/components/schemas/NormalizedReconciliationLinkRead'
                - $ref: '#/components/schemas/NormalizedVerificationAssessment'
            - type: 'null'
          description: >-
            Typed normalized and enriched record including field-level
            provenance and missing-value reasons; null when unavailable.
        source_payload:
          type: object
          properties:
            status:
              type: string
              enum:
                - available
                - not_retained
                - restricted
                - not_applicable
            value:
              anyOf:
                - type: object
                  additionalProperties: true
                  description: >-
                    Authorized provider-native business fields. Never
                    credentials, cookies, tokens or unrelated borrower data.
                    Field meanings are provider-specific; consult the provider
                    documentation in Data Lookup.
                - type: 'null'
              description: >-
                Allowlisted provider-native underwriting fields. Same disclosure
                policy as normalized content: exclude credentials, tokens,
                secret URLs, raw biometric media/templates, unrelated
                cross-tenant identities, private social profiles and unnecessary
                protected attributes. Source licensing and purpose apply to all
                representations.
            reason:
              anyOf:
                - type: string
                  minLength: 1
                - type: 'null'
          required:
            - status
            - value
            - reason
          additionalProperties: false
          allOf:
            - if:
                properties:
                  status:
                    const: available
              then:
                properties:
                  value:
                    type: object
                  reason:
                    type: 'null'
              else:
                properties:
                  value:
                    type: 'null'
                  reason:
                    type: string
                    minLength: 1
          description: >-
            Source payload for DataRecord. Constraints, requiredness and allowed
            values are defined by this schema.
        document_ids:
          type: array
          items:
            type: string
            minLength: 1
            description: Opaque ID within the authorized workspace and environment.
          uniqueItems: true
          description: >-
            Authorized source files or provider reports associated with this
            record.
      required:
        - id
        - borrower_id
        - connection_id
        - integration_id
        - resource_type
        - resource_id
        - record_version
        - ingested_at
        - source_as_of
        - access
        - access_reason
        - normalized
        - source_payload
        - document_ids
      additionalProperties: false
      description: >-
        One immutable version of a collected or derived record, available
        independently of underwriting. resource_id identifies its logical
        record; id identifies this exact version. Normalized object, id and
        record_version must match resource_type, resource_id and record_version.
        Available records include all authorized populated fields, enrichment
        fields and provenance. Restricted/deleted records retain only permitted
        metadata.
      allOf:
        - if:
            properties:
              access:
                enum:
                  - restricted
                  - deleted
          then:
            properties:
              normalized:
                type: 'null'
              document_ids:
                maxItems: 0
              access_reason:
                type: string
                minLength: 1
              source_payload:
                properties:
                  status:
                    const: restricted
                  value:
                    type: 'null'
                  reason:
                    type: string
                    minLength: 1
        - if:
            properties:
              access:
                const: available
          then:
            properties:
              access_reason:
                type: 'null'
    Meta:
      type: object
      properties:
        request_id:
          type: string
          minLength: 1
          description: >-
            Opaque identifier, authorized within the API key workspace and
            environment.
        schema_version:
          type: string
          minLength: 1
          description: >-
            Schema version for Meta. Constraints, requiredness and allowed
            values are defined by this schema.
        environment:
          type: string
          enum:
            - sandbox
            - live
          description: >-
            Environment for Meta. Constraints, requiredness and allowed values
            are defined by this schema.
      required:
        - request_id
        - schema_version
        - environment
      additionalProperties: false
    Error:
      type: object
      properties:
        code:
          type: string
          enum:
            - validation_error
            - unauthenticated
            - forbidden
            - not_found
            - invalid_state
            - idempotency_conflict
            - insufficient_credits
            - precondition_failed
            - cursor_expired
            - rate_limited
            - temporarily_unavailable
            - deal_snapshot_conflict
            - payload_too_large
            - unsupported_media_type
            - document_rejected
            - processing_failed
            - session_expired
            - consent_purpose_missing
            - sandbox_only
            - scenario_not_available
            - idempotency_result_expired
            - capacity_exceeded
            - queue_full
            - queue_wait_exceeded
            - processing_deadline_exceeded
            - response_too_large
            - export_too_large
            - export_expired
            - invalid_export_part
          description: >-
            Code for Error. Constraints, requiredness and allowed values are
            defined by this schema.
        message:
          type: string
          minLength: 1
          description: >-
            Message for Error. Constraints, requiredness and allowed values are
            defined by this schema.
        retryable:
          type: boolean
          description: >-
            Retryable for Error. Constraints, requiredness and allowed values
            are defined by this schema.
        request_id:
          type: string
          minLength: 1
          description: >-
            Opaque identifier, authorized within the API key workspace and
            environment.
        field:
          anyOf:
            - type: string
              minLength: 1
            - type: 'null'
          description: >-
            Field for Error. Constraints, requiredness and allowed values are
            defined by this schema.
        capacity:
          $ref: '#/components/schemas/CapacityErrorDetail'
        recovery:
          $ref: '#/components/schemas/LargeResponseRecovery'
      required:
        - code
        - message
        - retryable
        - request_id
        - field
      additionalProperties: false
      allOf:
        - if:
            properties:
              code:
                const: response_too_large
          then:
            required:
              - recovery
            properties:
              retryable:
                const: false
        - if:
            properties:
              code:
                enum:
                  - capacity_exceeded
                  - queue_full
          then:
            required:
              - capacity
            properties:
              retryable:
                const: true
    NormalizedConnectionRead:
      type: object
      properties:
        id:
          type: string
          description: >-
            Stable identifier scoped to the client tenant. Never use a provider
            ID as the public primary key.
          x-field-id: F0001
          x-classification: Confidential
          x-availability: Required when resource exists
        object:
          type: string
          const: connection
          x-field-id: F0002
        subject_id:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Business or person to which this record relates. Null for
            tenant-level configuration and unresolved subjects.
          x-field-id: F0003
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        created_at:
          type: string
          format: date-time
          description: >-
            Time AMLOK first stored this resource. Preserve original evidence;
            do not invent missing values.
          x-field-id: F0004
          x-classification: Confidential
          x-availability: Required when resource exists
        updated_at:
          type: string
          format: date-time
          description: >-
            Time the normalized representation last changed. Preserve original
            evidence; do not invent missing values.
          x-field-id: F0005
          x-classification: Confidential
          x-availability: Required when resource exists
        observed_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          description: >-
            Time the source was observed by AMLOK. Do not imply this is the
            economic event time.
          x-field-id: F0006
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        effective_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          description: >-
            Time the source states this version became valid. Preserve original
            evidence; do not invent missing values.
          x-field-id: F0007
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        record_version:
          type: integer
          description: >-
            Monotonically increasing AMLOK version for this resource. Preserve
            original evidence; do not invent missing values.
          x-field-id: F0008
          x-classification: Confidential
          x-availability: Required when resource exists
        deleted_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          description: >-
            Tombstone timestamp for a source or AMLOK deletion. Null for records
            not deleted; retain only under the configured policy.
          x-field-id: F0009
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        source_refs:
          type: array
          items:
            $ref: '#/components/schemas/NormalizedSourceRef'
          description: >-
            Evidence references contributing to this record. A known empty array
            is valid for a newly client-created record.
          x-field-id: F0010
          x-classification: Confidential
          x-availability: Required when resource exists
        field_provenance:
          anyOf:
            - type: array
              items:
                $ref: '#/components/schemas/NormalizedFieldProvenance'
            - type: 'null'
          description: >-
            Field-level source, extraction, transformation and quality details.
            Preserve original evidence; do not invent missing values.
          x-field-id: F0011
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        data_status:
          $ref: '#/components/schemas/NormalizedEnum_data_status'
          description: >-
            Whether the requested resource is complete for its stated scope.
            Completeness is relative to declared fields, sources and time
            interval.
          x-field-id: F0012
          x-classification: Confidential
          x-availability: Required when resource exists
        missing_fields:
          type: array
          items:
            $ref: '#/components/schemas/NormalizedMissingField'
          description: >-
            Unavailable field paths and their explicit reasons. Preserve
            original evidence; do not invent missing values.
          x-field-id: F0013
          x-classification: Confidential
          x-availability: Required when resource exists
        schema_version:
          type: string
          description: >-
            Contract version used to serialize this record. Preserve original
            evidence; do not invent missing values.
          x-field-id: F0014
          x-classification: Confidential
          x-availability: Required when resource exists
        client_reference:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Optional caller-owned correlation identifier. Scoped to tenant;
            uniqueness only when explicitly contracted.
          x-field-id: F0015
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        extensions:
          anyOf:
            - type: object
              additionalProperties: true
            - type: 'null'
          description: >-
            Namespaced extra provider fields without changing the core schema.
            Access-controlled and documented per provider; no provider tokens.
          x-field-id: F0016
          x-classification: Restricted
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        provider_id:
          type: string
          description: >-
            Integration catalog identifier. Preserve original evidence; do not
            invent missing values.
          x-field-id: F0017
          x-classification: Confidential
          x-availability: >-
            Returned when available and authorized; a partial read record can
            omit this field.
        provider_tenant_id:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Opaque external organization or item identifier. Preserve original
            evidence; do not invent missing values.
          x-field-id: F0018
          x-classification: Restricted
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        status:
          $ref: '#/components/schemas/NormalizedEnum_connection_status'
          description: >-
            Current connection usability. Preserve original evidence; do not
            invent missing values.
          x-field-id: F0019
          x-classification: Confidential
          x-availability: >-
            Returned when available and authorized; a partial read record can
            omit this field.
        institution_id:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Provider-specific institution identifier. Preserve original
            evidence; do not invent missing values.
          x-field-id: F0020
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        institution_name:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Institution display name. Preserve original evidence; do not invent
            missing values.
          x-field-id: F0021
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        country:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Institution country when established. Preserve original evidence; do
            not invent missing values.
          x-field-id: F0022
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        products:
          type: array
          items:
            type: string
          description: >-
            Data products enabled for this connection. Preserve original
            evidence; do not invent missing values.
          x-field-id: F0023
          x-classification: Confidential
          x-availability: >-
            Returned when available and authorized; a partial read record can
            omit this field.
        scopes:
          type: array
          items:
            type: string
          description: >-
            Granted read/write entitlements. Preserve original evidence; do not
            invent missing values.
          x-field-id: F0024
          x-classification: Confidential
          x-availability: >-
            Returned when available and authorized; a partial read record can
            omit this field.
        consent_id:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Consent record authorizing the connection. Preserve original
            evidence; do not invent missing values.
          x-field-id: F0025
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        last_successful_sync_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          description: >-
            Latest fully successful retrieval. Preserve original evidence; do
            not invent missing values.
          x-field-id: F0026
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        next_refresh_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          description: >-
            Scheduled next refresh if known. Preserve original evidence; do not
            invent missing values.
          x-field-id: F0027
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        history_available_from:
          anyOf:
            - type: string
              format: date
            - type: 'null'
          description: >-
            Earliest date actually returned for the selected resource. Do not
            infer from a provider's maximum advertised history.
          x-field-id: F0028
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        reauth_required_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          description: >-
            When renewed user authorization became necessary. Preserve original
            evidence; do not invent missing values.
          x-field-id: F0029
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        error_code:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Sanitized connection error code. Preserve original evidence; do not
            invent missing values.
          x-field-id: F0030
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        sync_cursor:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Opaque AMLOK change cursor for authorized synchronization. Never
            expose a provider secret or access token.
          x-field-id: F0031
          x-classification: Restricted
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
      required:
        - id
        - object
        - created_at
        - updated_at
        - record_version
        - source_refs
        - data_status
        - missing_fields
        - schema_version
      title: ConnectionRead
      description: >-
        One authorized link to a provider tenant or financial institution.
        Population depends on source and tenant entitlement. Read representation
        includes all authorized populated fields. Missing or restricted fields
        carry explicit availability information; this API does not support field
        projection.
    NormalizedConsentRead:
      type: object
      properties:
        id:
          type: string
          description: >-
            Stable identifier scoped to the client tenant. Never use a provider
            ID as the public primary key.
          x-field-id: F0001
          x-classification: Confidential
          x-availability: Required when resource exists
        object:
          type: string
          const: consent
          x-field-id: F0002
        subject_id:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Business or person to which this record relates. Null for
            tenant-level configuration and unresolved subjects.
          x-field-id: F0003
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        created_at:
          type: string
          format: date-time
          description: >-
            Time AMLOK first stored this resource. Preserve original evidence;
            do not invent missing values.
          x-field-id: F0004
          x-classification: Confidential
          x-availability: Required when resource exists
        updated_at:
          type: string
          format: date-time
          description: >-
            Time the normalized representation last changed. Preserve original
            evidence; do not invent missing values.
          x-field-id: F0005
          x-classification: Confidential
          x-availability: Required when resource exists
        observed_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          description: >-
            Time the source was observed by AMLOK. Do not imply this is the
            economic event time.
          x-field-id: F0006
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        effective_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          description: >-
            Time the source states this version became valid. Preserve original
            evidence; do not invent missing values.
          x-field-id: F0007
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        record_version:
          type: integer
          description: >-
            Monotonically increasing AMLOK version for this resource. Preserve
            original evidence; do not invent missing values.
          x-field-id: F0008
          x-classification: Confidential
          x-availability: Required when resource exists
        deleted_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          description: >-
            Tombstone timestamp for a source or AMLOK deletion. Null for records
            not deleted; retain only under the configured policy.
          x-field-id: F0009
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        source_refs:
          type: array
          items:
            $ref: '#/components/schemas/NormalizedSourceRef'
          description: >-
            Evidence references contributing to this record. A known empty array
            is valid for a newly client-created record.
          x-field-id: F0010
          x-classification: Confidential
          x-availability: Required when resource exists
        field_provenance:
          anyOf:
            - type: array
              items:
                $ref: '#/components/schemas/NormalizedFieldProvenance'
            - type: 'null'
          description: >-
            Field-level source, extraction, transformation and quality details.
            Preserve original evidence; do not invent missing values.
          x-field-id: F0011
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        data_status:
          $ref: '#/components/schemas/NormalizedEnum_data_status'
          description: >-
            Whether the requested resource is complete for its stated scope.
            Completeness is relative to declared fields, sources and time
            interval.
          x-field-id: F0012
          x-classification: Confidential
          x-availability: Required when resource exists
        missing_fields:
          type: array
          items:
            $ref: '#/components/schemas/NormalizedMissingField'
          description: >-
            Unavailable field paths and their explicit reasons. Preserve
            original evidence; do not invent missing values.
          x-field-id: F0013
          x-classification: Confidential
          x-availability: Required when resource exists
        schema_version:
          type: string
          description: >-
            Contract version used to serialize this record. Preserve original
            evidence; do not invent missing values.
          x-field-id: F0014
          x-classification: Confidential
          x-availability: Required when resource exists
        client_reference:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Optional caller-owned correlation identifier. Scoped to tenant;
            uniqueness only when explicitly contracted.
          x-field-id: F0015
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        extensions:
          anyOf:
            - type: object
              additionalProperties: true
            - type: 'null'
          description: >-
            Namespaced extra provider fields without changing the core schema.
            Access-controlled and documented per provider; no provider tokens.
          x-field-id: F0016
          x-classification: Restricted
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        subject_type:
          $ref: '#/components/schemas/NormalizedEnum_party_type'
          description: >-
            Whether the authorization concerns a business or person. Preserve
            original evidence; do not invent missing values.
          x-field-id: F0032
          x-classification: Confidential
          x-availability: >-
            Returned when available and authorized; a partial read record can
            omit this field.
        status:
          $ref: '#/components/schemas/NormalizedEnum_consent_status'
          description: >-
            Recorded authorization state. Preserve original evidence; do not
            invent missing values.
          x-field-id: F0033
          x-classification: Confidential
          x-availability: >-
            Returned when available and authorized; a partial read record can
            omit this field.
        purposes:
          type: array
          items:
            type: string
          description: >-
            Documented purposes for processing the linked data. Preserve
            original evidence; do not invent missing values.
          x-field-id: F0034
          x-classification: Confidential
          x-availability: >-
            Returned when available and authorized; a partial read record can
            omit this field.
        scopes:
          type: array
          items:
            type: string
          description: >-
            Permitted data and actions. Preserve original evidence; do not
            invent missing values.
          x-field-id: F0035
          x-classification: Confidential
          x-availability: >-
            Returned when available and authorized; a partial read record can
            omit this field.
        granted_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          description: >-
            Time authorization was granted. Preserve original evidence; do not
            invent missing values.
          x-field-id: F0036
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        expires_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          description: >-
            Expiry when the authorization specifies one. Preserve original
            evidence; do not invent missing values.
          x-field-id: F0037
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        revoked_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          description: >-
            Revocation time if revoked. Preserve original evidence; do not
            invent missing values.
          x-field-id: F0038
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        policy_version:
          type: string
          description: >-
            Version of the text or authority recorded. Preserve original
            evidence; do not invent missing values.
          x-field-id: F0039
          x-classification: Confidential
          x-availability: >-
            Returned when available and authorized; a partial read record can
            omit this field.
        evidence_document_id:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Stored evidence of authorization. Preserve original evidence; do not
            invent missing values.
          x-field-id: F0040
          x-classification: Restricted
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        authorized_by:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Person or client principal granting authorization. Preserve original
            evidence; do not invent missing values.
          x-field-id: F0041
          x-classification: Restricted
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
      required:
        - id
        - object
        - created_at
        - updated_at
        - record_version
        - source_refs
        - data_status
        - missing_fields
        - schema_version
      title: ConsentRead
      description: >-
        Authorization and permitted use linked to a subject and client.
        Population depends on source and tenant entitlement. Read representation
        includes all authorized populated fields. Missing or restricted fields
        carry explicit availability information; this API does not support field
        projection.
    NormalizedSyncJobRead:
      type: object
      properties:
        id:
          type: string
          description: >-
            Stable identifier scoped to the client tenant. Never use a provider
            ID as the public primary key.
          x-field-id: F0001
          x-classification: Confidential
          x-availability: Required when resource exists
        object:
          type: string
          const: sync_job
          x-field-id: F0002
        subject_id:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Business or person to which this record relates. Null for
            tenant-level configuration and unresolved subjects.
          x-field-id: F0003
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        created_at:
          type: string
          format: date-time
          description: >-
            Time AMLOK first stored this resource. Preserve original evidence;
            do not invent missing values.
          x-field-id: F0004
          x-classification: Confidential
          x-availability: Required when resource exists
        updated_at:
          type: string
          format: date-time
          description: >-
            Time the normalized representation last changed. Preserve original
            evidence; do not invent missing values.
          x-field-id: F0005
          x-classification: Confidential
          x-availability: Required when resource exists
        observed_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          description: >-
            Time the source was observed by AMLOK. Do not imply this is the
            economic event time.
          x-field-id: F0006
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        effective_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          description: >-
            Time the source states this version became valid. Preserve original
            evidence; do not invent missing values.
          x-field-id: F0007
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        record_version:
          type: integer
          description: >-
            Monotonically increasing AMLOK version for this resource. Preserve
            original evidence; do not invent missing values.
          x-field-id: F0008
          x-classification: Confidential
          x-availability: Required when resource exists
        deleted_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          description: >-
            Tombstone timestamp for a source or AMLOK deletion. Null for records
            not deleted; retain only under the configured policy.
          x-field-id: F0009
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        source_refs:
          type: array
          items:
            $ref: '#/components/schemas/NormalizedSourceRef'
          description: >-
            Evidence references contributing to this record. A known empty array
            is valid for a newly client-created record.
          x-field-id: F0010
          x-classification: Confidential
          x-availability: Required when resource exists
        field_provenance:
          anyOf:
            - type: array
              items:
                $ref: '#/components/schemas/NormalizedFieldProvenance'
            - type: 'null'
          description: >-
            Field-level source, extraction, transformation and quality details.
            Preserve original evidence; do not invent missing values.
          x-field-id: F0011
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        data_status:
          $ref: '#/components/schemas/NormalizedEnum_data_status'
          description: >-
            Whether the requested resource is complete for its stated scope.
            Completeness is relative to declared fields, sources and time
            interval.
          x-field-id: F0012
          x-classification: Confidential
          x-availability: Required when resource exists
        missing_fields:
          type: array
          items:
            $ref: '#/components/schemas/NormalizedMissingField'
          description: >-
            Unavailable field paths and their explicit reasons. Preserve
            original evidence; do not invent missing values.
          x-field-id: F0013
          x-classification: Confidential
          x-availability: Required when resource exists
        schema_version:
          type: string
          description: >-
            Contract version used to serialize this record. Preserve original
            evidence; do not invent missing values.
          x-field-id: F0014
          x-classification: Confidential
          x-availability: Required when resource exists
        client_reference:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Optional caller-owned correlation identifier. Scoped to tenant;
            uniqueness only when explicitly contracted.
          x-field-id: F0015
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        extensions:
          anyOf:
            - type: object
              additionalProperties: true
            - type: 'null'
          description: >-
            Namespaced extra provider fields without changing the core schema.
            Access-controlled and documented per provider; no provider tokens.
          x-field-id: F0016
          x-classification: Restricted
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        connection_id:
          type: string
          description: >-
            Connection being synchronized. Preserve original evidence; do not
            invent missing values.
          x-field-id: F0042
          x-classification: Confidential
          x-availability: >-
            Returned when available and authorized; a partial read record can
            omit this field.
        resources:
          type: array
          items:
            type: string
          description: >-
            Requested resource types. Preserve original evidence; do not invent
            missing values.
          x-field-id: F0043
          x-classification: Confidential
          x-availability: >-
            Returned when available and authorized; a partial read record can
            omit this field.
        status:
          $ref: '#/components/schemas/NormalizedEnum_sync_status'
          description: >-
            Ingestion run state. Preserve original evidence; do not invent
            missing values.
          x-field-id: F0044
          x-classification: Confidential
          x-availability: >-
            Returned when available and authorized; a partial read record can
            omit this field.
        started_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          description: >-
            Processing start time. Preserve original evidence; do not invent
            missing values.
          x-field-id: F0045
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        completed_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          description: >-
            Completion or terminal failure time. Preserve original evidence; do
            not invent missing values.
          x-field-id: F0046
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        requested_from:
          anyOf:
            - type: string
              format: date
            - type: 'null'
          description: >-
            Inclusive source date requested. Preserve original evidence; do not
            invent missing values.
          x-field-id: F0047
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        requested_to:
          anyOf:
            - type: string
              format: date
            - type: 'null'
          description: >-
            Exclusive source date requested. Preserve original evidence; do not
            invent missing values.
          x-field-id: F0048
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        records_added:
          anyOf:
            - type: integer
            - type: 'null'
          description: >-
            New records accepted. Preserve original evidence; do not invent
            missing values.
          x-field-id: F0049
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        records_updated:
          anyOf:
            - type: integer
            - type: 'null'
          description: >-
            Existing records revised. Preserve original evidence; do not invent
            missing values.
          x-field-id: F0050
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        records_removed:
          anyOf:
            - type: integer
            - type: 'null'
          description: >-
            Tombstones processed. Preserve original evidence; do not invent
            missing values.
          x-field-id: F0051
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        coverage_start:
          anyOf:
            - type: string
              format: date
            - type: 'null'
          description: >-
            Earliest successfully retrieved date. Preserve original evidence; do
            not invent missing values.
          x-field-id: F0052
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        coverage_end:
          anyOf:
            - type: string
              format: date
            - type: 'null'
          description: >-
            Exclusive end of successfully retrieved interval. Preserve original
            evidence; do not invent missing values.
          x-field-id: F0053
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        errors:
          anyOf:
            - type: array
              items:
                $ref: '#/components/schemas/NormalizedError'
            - type: 'null'
          description: >-
            Per-resource retrieval or validation failures. Preserve original
            evidence; do not invent missing values.
          x-field-id: F0054
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
      required:
        - id
        - object
        - created_at
        - updated_at
        - record_version
        - source_refs
        - data_status
        - missing_fields
        - schema_version
      title: SyncJobRead
      description: >-
        Bounded ingestion run, including partial results and source outages.
        Population depends on source and tenant entitlement. Read representation
        includes all authorized populated fields. Missing or restricted fields
        carry explicit availability information; this API does not support field
        projection.
    NormalizedBusinessRead:
      type: object
      properties:
        id:
          type: string
          description: >-
            Stable identifier scoped to the client tenant. Never use a provider
            ID as the public primary key.
          x-field-id: F0001
          x-classification: Confidential
          x-availability: Required when resource exists
        object:
          type: string
          const: business
          x-field-id: F0002
        subject_id:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Business or person to which this record relates. Null for
            tenant-level configuration and unresolved subjects.
          x-field-id: F0003
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        created_at:
          type: string
          format: date-time
          description: >-
            Time AMLOK first stored this resource. Preserve original evidence;
            do not invent missing values.
          x-field-id: F0004
          x-classification: Confidential
          x-availability: Required when resource exists
        updated_at:
          type: string
          format: date-time
          description: >-
            Time the normalized representation last changed. Preserve original
            evidence; do not invent missing values.
          x-field-id: F0005
          x-classification: Confidential
          x-availability: Required when resource exists
        observed_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          description: >-
            Time the source was observed by AMLOK. Do not imply this is the
            economic event time.
          x-field-id: F0006
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        effective_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          description: >-
            Time the source states this version became valid. Preserve original
            evidence; do not invent missing values.
          x-field-id: F0007
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        record_version:
          type: integer
          description: >-
            Monotonically increasing AMLOK version for this resource. Preserve
            original evidence; do not invent missing values.
          x-field-id: F0008
          x-classification: Confidential
          x-availability: Required when resource exists
        deleted_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          description: >-
            Tombstone timestamp for a source or AMLOK deletion. Null for records
            not deleted; retain only under the configured policy.
          x-field-id: F0009
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        source_refs:
          type: array
          items:
            $ref: '#/components/schemas/NormalizedSourceRef'
          description: >-
            Evidence references contributing to this record. A known empty array
            is valid for a newly client-created record.
          x-field-id: F0010
          x-classification: Confidential
          x-availability: Required when resource exists
        field_provenance:
          anyOf:
            - type: array
              items:
                $ref: '#/components/schemas/NormalizedFieldProvenance'
            - type: 'null'
          description: >-
            Field-level source, extraction, transformation and quality details.
            Preserve original evidence; do not invent missing values.
          x-field-id: F0011
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        data_status:
          $ref: '#/components/schemas/NormalizedEnum_data_status'
          description: >-
            Whether the requested resource is complete for its stated scope.
            Completeness is relative to declared fields, sources and time
            interval.
          x-field-id: F0012
          x-classification: Confidential
          x-availability: Required when resource exists
        missing_fields:
          type: array
          items:
            $ref: '#/components/schemas/NormalizedMissingField'
          description: >-
            Unavailable field paths and their explicit reasons. Preserve
            original evidence; do not invent missing values.
          x-field-id: F0013
          x-classification: Confidential
          x-availability: Required when resource exists
        schema_version:
          type: string
          description: >-
            Contract version used to serialize this record. Preserve original
            evidence; do not invent missing values.
          x-field-id: F0014
          x-classification: Confidential
          x-availability: Required when resource exists
        client_reference:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Optional caller-owned correlation identifier. Scoped to tenant;
            uniqueness only when explicitly contracted.
          x-field-id: F0015
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        extensions:
          anyOf:
            - type: object
              additionalProperties: true
            - type: 'null'
          description: >-
            Namespaced extra provider fields without changing the core schema.
            Access-controlled and documented per provider; no provider tokens.
          x-field-id: F0016
          x-classification: Restricted
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        legal_name:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Name recorded as the legal business name. Retain accents and source
            spelling; normalized matching key is separate.
          x-field-id: F0055
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        trade_names:
          anyOf:
            - type: array
              items:
                type: string
            - type: 'null'
          description: >-
            Trading or DBA names separately identified by the source. Do not
            split an unstructured list without evidence.
          x-field-id: F0056
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        former_names:
          anyOf:
            - type: array
              items:
                type: string
            - type: 'null'
          description: >-
            Historical legal names explicitly identified by source. Preserve
            original evidence; do not invent missing values.
          x-field-id: F0057
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        registration_number:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Company or registry registration identifier. Preserve leading zeroes
            and jurisdiction-specific punctuation.
          x-field-id: F0058
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        registration_jurisdiction:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Registry jurisdiction for the identifier. Preserve original
            evidence; do not invent missing values.
          x-field-id: F0059
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        incorporation_country:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Country of formation. Normalize documented alpha-3 source codes to
            alpha-2 using a versioned lookup.
          x-field-id: F0060
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        incorporation_date:
          anyOf:
            - type: string
              format: date
            - type: 'null'
          description: >-
            Legal formation date. Preserve original evidence; do not invent
            missing values.
          x-field-id: F0061
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        legal_form:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Source legal form, normalized only where an approved mapping exists.
            Preserve original evidence; do not invent missing values.
          x-field-id: F0062
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        legal_status:
          anyOf:
            - $ref: '#/components/schemas/NormalizedEnum_legal_status'
            - type: 'null'
          description: >-
            Registry legal standing category. Active does not imply solvency or
            all compliance obligations satisfied.
          x-field-id: F0063
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        raw_legal_status:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Unmodified status supplied by the registry. Preserve original
            evidence; do not invent missing values.
          x-field-id: F0064
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        tax_identifiers:
          anyOf:
            - type: array
              items:
                $ref: '#/components/schemas/NormalizedIdentifier'
            - type: 'null'
          description: >-
            Jurisdiction-qualified business tax identifiers. Preserve original
            evidence; do not invent missing values.
          x-field-id: F0065
          x-classification: Restricted
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        lei:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Legal Entity Identifier when assigned. Do not invent an LEI from a
            registration number.
          x-field-id: F0066
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        registered_address:
          anyOf:
            - $ref: '#/components/schemas/NormalizedAddress'
            - type: 'null'
          description: >-
            Registered office address. Preserve original evidence; do not invent
            missing values.
          x-field-id: F0067
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        operating_addresses:
          anyOf:
            - type: array
              items:
                $ref: '#/components/schemas/NormalizedAddress'
            - type: 'null'
          description: >-
            Known trading or operating locations. Preserve original evidence; do
            not invent missing values.
          x-field-id: F0068
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        website:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Business website reported by a source. Preserve original evidence;
            do not invent missing values.
          x-field-id: F0069
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        email:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Business contact email. Preserve original evidence; do not invent
            missing values.
          x-field-id: F0070
          x-classification: Restricted
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        phone:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Business contact telephone. E.164 when parseable with country
            context; otherwise preserve raw value.
          x-field-id: F0071
          x-classification: Restricted
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        industry_codes:
          anyOf:
            - type: array
              items:
                $ref: '#/components/schemas/NormalizedIndustryCode'
            - type: 'null'
          description: >-
            Classification codes with explicit taxonomy and version. Preserve
            original evidence; do not invent missing values.
          x-field-id: F0072
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        business_description:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Source description of business activity. Preserve original evidence;
            do not invent missing values.
          x-field-id: F0073
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        employee_count:
          anyOf:
            - type: integer
            - type: 'null'
          description: >-
            Employee count reported for the stated observation date. Registry or
            source observation; not a live payroll count.
          x-field-id: F0074
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        fiscal_year_end:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Fiscal year-end month and day. MM-DD; not a financial statement
            date.
          x-field-id: F0075
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        reporting_currency:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Home currency of the business accounting system. Preserve original
            evidence; do not invent missing values.
          x-field-id: F0076
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        is_registry_sourced:
          anyOf:
            - type: boolean
            - type: 'null'
          description: >-
            Whether the profile came from a registry rather than self-report.
            Retain any subsequent user edits in field provenance.
          x-field-id: F0077
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        registry_retrieved_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          description: >-
            When registry evidence was obtained. Preserve original evidence; do
            not invent missing values.
          x-field-id: F0078
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        last_annual_return_date:
          anyOf:
            - type: string
              format: date
            - type: 'null'
          description: >-
            Date of annual corporate return filing when reported. Distinct from
            financial accounts and tax return filing dates.
          x-field-id: F0079
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        ownership_complete:
          anyOf:
            - type: boolean
            - type: 'null'
          description: >-
            Whether the delivered ownership report meets the declared scope.
            Null if completeness cannot be established.
          x-field-id: F0080
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
      required:
        - id
        - object
        - created_at
        - updated_at
        - record_version
        - source_refs
        - data_status
        - missing_fields
        - schema_version
      title: BusinessRead
      description: >-
        A legal organization or sole-proprietor business profile. Population
        depends on source and tenant entitlement. Read representation includes
        all authorized populated fields. Missing or restricted fields carry
        explicit availability information; this API does not support field
        projection.
    NormalizedPersonRead:
      type: object
      properties:
        id:
          type: string
          description: >-
            Stable identifier scoped to the client tenant. Never use a provider
            ID as the public primary key.
          x-field-id: F0001
          x-classification: Confidential
          x-availability: Required when resource exists
        object:
          type: string
          const: person
          x-field-id: F0002
        subject_id:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Business or person to which this record relates. Null for
            tenant-level configuration and unresolved subjects.
          x-field-id: F0003
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        created_at:
          type: string
          format: date-time
          description: >-
            Time AMLOK first stored this resource. Preserve original evidence;
            do not invent missing values.
          x-field-id: F0004
          x-classification: Confidential
          x-availability: Required when resource exists
        updated_at:
          type: string
          format: date-time
          description: >-
            Time the normalized representation last changed. Preserve original
            evidence; do not invent missing values.
          x-field-id: F0005
          x-classification: Confidential
          x-availability: Required when resource exists
        observed_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          description: >-
            Time the source was observed by AMLOK. Do not imply this is the
            economic event time.
          x-field-id: F0006
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        effective_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          description: >-
            Time the source states this version became valid. Preserve original
            evidence; do not invent missing values.
          x-field-id: F0007
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        record_version:
          type: integer
          description: >-
            Monotonically increasing AMLOK version for this resource. Preserve
            original evidence; do not invent missing values.
          x-field-id: F0008
          x-classification: Confidential
          x-availability: Required when resource exists
        deleted_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          description: >-
            Tombstone timestamp for a source or AMLOK deletion. Null for records
            not deleted; retain only under the configured policy.
          x-field-id: F0009
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        source_refs:
          type: array
          items:
            $ref: '#/components/schemas/NormalizedSourceRef'
          description: >-
            Evidence references contributing to this record. A known empty array
            is valid for a newly client-created record.
          x-field-id: F0010
          x-classification: Confidential
          x-availability: Required when resource exists
        field_provenance:
          anyOf:
            - type: array
              items:
                $ref: '#/components/schemas/NormalizedFieldProvenance'
            - type: 'null'
          description: >-
            Field-level source, extraction, transformation and quality details.
            Preserve original evidence; do not invent missing values.
          x-field-id: F0011
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        data_status:
          $ref: '#/components/schemas/NormalizedEnum_data_status'
          description: >-
            Whether the requested resource is complete for its stated scope.
            Completeness is relative to declared fields, sources and time
            interval.
          x-field-id: F0012
          x-classification: Confidential
          x-availability: Required when resource exists
        missing_fields:
          type: array
          items:
            $ref: '#/components/schemas/NormalizedMissingField'
          description: >-
            Unavailable field paths and their explicit reasons. Preserve
            original evidence; do not invent missing values.
          x-field-id: F0013
          x-classification: Confidential
          x-availability: Required when resource exists
        schema_version:
          type: string
          description: >-
            Contract version used to serialize this record. Preserve original
            evidence; do not invent missing values.
          x-field-id: F0014
          x-classification: Confidential
          x-availability: Required when resource exists
        client_reference:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Optional caller-owned correlation identifier. Scoped to tenant;
            uniqueness only when explicitly contracted.
          x-field-id: F0015
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        extensions:
          anyOf:
            - type: object
              additionalProperties: true
            - type: 'null'
          description: >-
            Namespaced extra provider fields without changing the core schema.
            Access-controlled and documented per provider; no provider tokens.
          x-field-id: F0016
          x-classification: Restricted
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        given_name:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Given name as supplied or verified. Preserve original evidence; do
            not invent missing values.
          x-field-id: F0081
          x-classification: Restricted
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        middle_names:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Middle names when present. Preserve original evidence; do not invent
            missing values.
          x-field-id: F0082
          x-classification: Restricted
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        family_name:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Family name as supplied or verified. Preserve original evidence; do
            not invent missing values.
          x-field-id: F0083
          x-classification: Restricted
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        full_name:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Full display name preserving local naming conventions. Preserve
            original evidence; do not invent missing values.
          x-field-id: F0084
          x-classification: Restricted
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        date_of_birth:
          anyOf:
            - type: string
              format: date
            - type: 'null'
          description: >-
            Birth date from authorized evidence. Preserve original evidence; do
            not invent missing values.
          x-field-id: F0085
          x-classification: Restricted
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        nationalities:
          anyOf:
            - type: array
              items:
                type: string
            - type: 'null'
          description: >-
            Nationality country codes reported by source. Do not infer
            citizenship from address or birthplace.
          x-field-id: F0086
          x-classification: Restricted
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        residence_country:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Current country of residence when established. Preserve original
            evidence; do not invent missing values.
          x-field-id: F0087
          x-classification: Restricted
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        addresses:
          anyOf:
            - type: array
              items:
                $ref: '#/components/schemas/NormalizedAddress'
            - type: 'null'
          description: >-
            Authorized address observations. Preserve original evidence; do not
            invent missing values.
          x-field-id: F0088
          x-classification: Restricted
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        email:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Contact email. Preserve original evidence; do not invent missing
            values.
          x-field-id: F0089
          x-classification: Restricted
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        phone:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Contact telephone. Preserve original evidence; do not invent missing
            values.
          x-field-id: F0090
          x-classification: Restricted
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        tax_identifier_token:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Vault reference for a permitted tax identifier. Default responses
            never include full SIN/SSN.
          x-field-id: F0091
          x-classification: Restricted
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        occupation:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Occupation provided for the declared workflow. Preserve original
            evidence; do not invent missing values.
          x-field-id: F0092
          x-classification: Restricted
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        verification_id:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Most recent relevant verification session. Do not replace historic
            sessions.
          x-field-id: F0093
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
      required:
        - id
        - object
        - created_at
        - updated_at
        - record_version
        - source_refs
        - data_status
        - missing_fields
        - schema_version
      title: PersonRead
      description: >-
        Individual applicant, owner, officer, guarantor or authorized party.
        Population depends on source and tenant entitlement. Read representation
        includes all authorized populated fields. Missing or restricted fields
        carry explicit availability information; this API does not support field
        projection.
    NormalizedRelationshipRead:
      type: object
      properties:
        id:
          type: string
          description: >-
            Stable identifier scoped to the client tenant. Never use a provider
            ID as the public primary key.
          x-field-id: F0001
          x-classification: Confidential
          x-availability: Required when resource exists
        object:
          type: string
          const: relationship
          x-field-id: F0002
        subject_id:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Business or person to which this record relates. Null for
            tenant-level configuration and unresolved subjects.
          x-field-id: F0003
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        created_at:
          type: string
          format: date-time
          description: >-
            Time AMLOK first stored this resource. Preserve original evidence;
            do not invent missing values.
          x-field-id: F0004
          x-classification: Confidential
          x-availability: Required when resource exists
        updated_at:
          type: string
          format: date-time
          description: >-
            Time the normalized representation last changed. Preserve original
            evidence; do not invent missing values.
          x-field-id: F0005
          x-classification: Confidential
          x-availability: Required when resource exists
        observed_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          description: >-
            Time the source was observed by AMLOK. Do not imply this is the
            economic event time.
          x-field-id: F0006
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        effective_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          description: >-
            Time the source states this version became valid. Preserve original
            evidence; do not invent missing values.
          x-field-id: F0007
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        record_version:
          type: integer
          description: >-
            Monotonically increasing AMLOK version for this resource. Preserve
            original evidence; do not invent missing values.
          x-field-id: F0008
          x-classification: Confidential
          x-availability: Required when resource exists
        deleted_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          description: >-
            Tombstone timestamp for a source or AMLOK deletion. Null for records
            not deleted; retain only under the configured policy.
          x-field-id: F0009
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        source_refs:
          type: array
          items:
            $ref: '#/components/schemas/NormalizedSourceRef'
          description: >-
            Evidence references contributing to this record. A known empty array
            is valid for a newly client-created record.
          x-field-id: F0010
          x-classification: Confidential
          x-availability: Required when resource exists
        field_provenance:
          anyOf:
            - type: array
              items:
                $ref: '#/components/schemas/NormalizedFieldProvenance'
            - type: 'null'
          description: >-
            Field-level source, extraction, transformation and quality details.
            Preserve original evidence; do not invent missing values.
          x-field-id: F0011
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        data_status:
          $ref: '#/components/schemas/NormalizedEnum_data_status'
          description: >-
            Whether the requested resource is complete for its stated scope.
            Completeness is relative to declared fields, sources and time
            interval.
          x-field-id: F0012
          x-classification: Confidential
          x-availability: Required when resource exists
        missing_fields:
          type: array
          items:
            $ref: '#/components/schemas/NormalizedMissingField'
          description: >-
            Unavailable field paths and their explicit reasons. Preserve
            original evidence; do not invent missing values.
          x-field-id: F0013
          x-classification: Confidential
          x-availability: Required when resource exists
        schema_version:
          type: string
          description: >-
            Contract version used to serialize this record. Preserve original
            evidence; do not invent missing values.
          x-field-id: F0014
          x-classification: Confidential
          x-availability: Required when resource exists
        client_reference:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Optional caller-owned correlation identifier. Scoped to tenant;
            uniqueness only when explicitly contracted.
          x-field-id: F0015
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        extensions:
          anyOf:
            - type: object
              additionalProperties: true
            - type: 'null'
          description: >-
            Namespaced extra provider fields without changing the core schema.
            Access-controlled and documented per provider; no provider tokens.
          x-field-id: F0016
          x-classification: Restricted
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        from_entity_id:
          type: string
          description: >-
            Entity at the source of the relationship. Preserve original
            evidence; do not invent missing values.
          x-field-id: F0094
          x-classification: Confidential
          x-availability: >-
            Returned when available and authorized; a partial read record can
            omit this field.
        to_entity_id:
          type: string
          description: >-
            Entity at the target of the relationship. Preserve original
            evidence; do not invent missing values.
          x-field-id: F0095
          x-classification: Confidential
          x-availability: >-
            Returned when available and authorized; a partial read record can
            omit this field.
        relationship_type:
          $ref: '#/components/schemas/NormalizedEnum_relationship_type'
          description: >-
            Meaning and direction of the link. Preserve original evidence; do
            not invent missing values.
          x-field-id: F0096
          x-classification: Confidential
          x-availability: >-
            Returned when available and authorized; a partial read record can
            omit this field.
        ownership_ratio:
          anyOf:
            - type: string
              pattern: ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?$
              description: >-
                Exact decimal string in major units. Do not use binary
                floating-point arithmetic.
            - type: 'null'
          description: >-
            Exact ownership share when supplied. Fraction 0 to 1; never convert
            an ownership band to an exact share.
          x-field-id: F0097
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        ownership_band_min:
          anyOf:
            - type: string
              pattern: ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?$
              description: >-
                Exact decimal string in major units. Do not use binary
                floating-point arithmetic.
            - type: 'null'
          description: >-
            Lower bound of an ownership band. Preserve original evidence; do not
            invent missing values.
          x-field-id: F0098
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        ownership_band_max:
          anyOf:
            - type: string
              pattern: ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?$
              description: >-
                Exact decimal string in major units. Do not use binary
                floating-point arithmetic.
            - type: 'null'
          description: >-
            Upper bound of an ownership band. Preserve original evidence; do not
            invent missing values.
          x-field-id: F0099
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        voting_ratio:
          anyOf:
            - type: string
              pattern: ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?$
              description: >-
                Exact decimal string in major units. Do not use binary
                floating-point arithmetic.
            - type: 'null'
          description: >-
            Voting rights as a share of total rights. Preserve original
            evidence; do not invent missing values.
          x-field-id: F0100
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        is_ultimate_owner:
          anyOf:
            - type: boolean
            - type: 'null'
          description: >-
            Whether the source resolves this party as ultimate owner. Preserve
            original evidence; do not invent missing values.
          x-field-id: F0101
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        control_description:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Evidence of control beyond share ownership. Preserve original
            evidence; do not invent missing values.
          x-field-id: F0102
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        valid_from:
          anyOf:
            - type: string
              format: date
            - type: 'null'
          description: >-
            Relationship start date. Preserve original evidence; do not invent
            missing values.
          x-field-id: F0103
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        valid_to:
          anyOf:
            - type: string
              format: date
            - type: 'null'
          description: >-
            Relationship end date if known. Preserve original evidence; do not
            invent missing values.
          x-field-id: F0104
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        evidence_document_ids:
          anyOf:
            - type: array
              items:
                type: string
            - type: 'null'
          description: >-
            Documents establishing the relationship. Preserve original evidence;
            do not invent missing values.
          x-field-id: F0105
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        confidence:
          anyOf:
            - type: string
              pattern: ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?$
              description: >-
                Exact decimal string in major units. Do not use binary
                floating-point arithmetic.
            - type: 'null'
          description: >-
            AMLOK match confidence only when a calibrated model produces it. 0
            to 1; not a legal ownership determination.
          x-field-id: F0106
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        review_status:
          anyOf:
            - $ref: '#/components/schemas/NormalizedEnum_review_status'
            - type: 'null'
          description: >-
            Human review of the relationship evidence. Preserve original
            evidence; do not invent missing values.
          x-field-id: F0107
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
      required:
        - id
        - object
        - created_at
        - updated_at
        - record_version
        - source_refs
        - data_status
        - missing_fields
        - schema_version
      title: RelationshipRead
      description: >-
        Directed, evidenced link between two entities. Population depends on
        source and tenant entitlement. Read representation includes all
        authorized populated fields. Missing or restricted fields carry explicit
        availability information; this API does not support field projection.
    NormalizedVerificationRead:
      type: object
      properties:
        id:
          type: string
          description: >-
            Stable identifier scoped to the client tenant. Never use a provider
            ID as the public primary key.
          x-field-id: F0001
          x-classification: Confidential
          x-availability: Required when resource exists
        object:
          type: string
          const: verification
          x-field-id: F0002
        subject_id:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Business or person to which this record relates. Null for
            tenant-level configuration and unresolved subjects.
          x-field-id: F0003
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        created_at:
          type: string
          format: date-time
          description: >-
            Time AMLOK first stored this resource. Preserve original evidence;
            do not invent missing values.
          x-field-id: F0004
          x-classification: Confidential
          x-availability: Required when resource exists
        updated_at:
          type: string
          format: date-time
          description: >-
            Time the normalized representation last changed. Preserve original
            evidence; do not invent missing values.
          x-field-id: F0005
          x-classification: Confidential
          x-availability: Required when resource exists
        observed_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          description: >-
            Time the source was observed by AMLOK. Do not imply this is the
            economic event time.
          x-field-id: F0006
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        effective_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          description: >-
            Time the source states this version became valid. Preserve original
            evidence; do not invent missing values.
          x-field-id: F0007
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        record_version:
          type: integer
          description: >-
            Monotonically increasing AMLOK version for this resource. Preserve
            original evidence; do not invent missing values.
          x-field-id: F0008
          x-classification: Confidential
          x-availability: Required when resource exists
        deleted_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          description: >-
            Tombstone timestamp for a source or AMLOK deletion. Null for records
            not deleted; retain only under the configured policy.
          x-field-id: F0009
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        source_refs:
          type: array
          items:
            $ref: '#/components/schemas/NormalizedSourceRef'
          description: >-
            Evidence references contributing to this record. A known empty array
            is valid for a newly client-created record.
          x-field-id: F0010
          x-classification: Confidential
          x-availability: Required when resource exists
        field_provenance:
          anyOf:
            - type: array
              items:
                $ref: '#/components/schemas/NormalizedFieldProvenance'
            - type: 'null'
          description: >-
            Field-level source, extraction, transformation and quality details.
            Preserve original evidence; do not invent missing values.
          x-field-id: F0011
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        data_status:
          $ref: '#/components/schemas/NormalizedEnum_data_status'
          description: >-
            Whether the requested resource is complete for its stated scope.
            Completeness is relative to declared fields, sources and time
            interval.
          x-field-id: F0012
          x-classification: Confidential
          x-availability: Required when resource exists
        missing_fields:
          type: array
          items:
            $ref: '#/components/schemas/NormalizedMissingField'
          description: >-
            Unavailable field paths and their explicit reasons. Preserve
            original evidence; do not invent missing values.
          x-field-id: F0013
          x-classification: Confidential
          x-availability: Required when resource exists
        schema_version:
          type: string
          description: >-
            Contract version used to serialize this record. Preserve original
            evidence; do not invent missing values.
          x-field-id: F0014
          x-classification: Confidential
          x-availability: Required when resource exists
        client_reference:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Optional caller-owned correlation identifier. Scoped to tenant;
            uniqueness only when explicitly contracted.
          x-field-id: F0015
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        extensions:
          anyOf:
            - type: object
              additionalProperties: true
            - type: 'null'
          description: >-
            Namespaced extra provider fields without changing the core schema.
            Access-controlled and documented per provider; no provider tokens.
          x-field-id: F0016
          x-classification: Restricted
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        verification_type:
          type: string
          description: >-
            Verification purpose, such as KYC or KYB. Preserve original
            evidence; do not invent missing values.
          x-field-id: F0108
          x-classification: Confidential
          x-availability: >-
            Returned when available and authorized; a partial read record can
            omit this field.
        provider_session_id:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Upstream session identifier. Preserve original evidence; do not
            invent missing values.
          x-field-id: F0109
          x-classification: Restricted
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        status:
          $ref: '#/components/schemas/NormalizedEnum_verification_status'
          description: >-
            Normalized verification state. Preserve the upstream status and
            individual check results.
          x-field-id: F0110
          x-classification: Confidential
          x-availability: >-
            Returned when available and authorized; a partial read record can
            omit this field.
        raw_status:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Exact upstream verification status. Preserve original evidence; do
            not invent missing values.
          x-field-id: F0111
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        workflow_version:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Provider or AMLOK verification configuration version. Preserve
            original evidence; do not invent missing values.
          x-field-id: F0112
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        hosted_url:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Time-limited applicant verification link. Use only provider-approved
            domains; never persist public credentials.
          x-field-id: F0113
          x-classification: Restricted
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        expires_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          description: >-
            Session link or verification expiry, when explicitly defined.
            Preserve original evidence; do not invent missing values.
          x-field-id: F0114
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        completed_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          description: >-
            Time the verification reached its current completed result. Preserve
            original evidence; do not invent missing values.
          x-field-id: F0115
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        check_ids:
          anyOf:
            - type: array
              items:
                type: string
            - type: 'null'
          description: >-
            Individual checks comprising the result. Preserve original evidence;
            do not invent missing values.
          x-field-id: F0116
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        warnings:
          anyOf:
            - type: array
              items:
                type: string
            - type: 'null'
          description: >-
            Provider warnings preserved with context. Preserve original
            evidence; do not invent missing values.
          x-field-id: F0117
          x-classification: Restricted
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        review_reason_codes:
          anyOf:
            - type: array
              items:
                type: string
            - type: 'null'
          description: >-
            Reasons for required review. Preserve original evidence; do not
            invent missing values.
          x-field-id: F0118
          x-classification: Restricted
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        decision_actor_type:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Whether the result was automated or manually reviewed. Preserve
            original evidence; do not invent missing values.
          x-field-id: F0119
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        report_document_id:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Stored verification report. Preserve original evidence; do not
            invent missing values.
          x-field-id: F0120
          x-classification: Restricted
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        parent_verification_id:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Parent KYB session for a related person's check. Preserve original
            evidence; do not invent missing values.
          x-field-id: F0121
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        stop_reason:
          anyOf:
            - type: string
              enum:
                - account_cancellation
                - parent_cancelled
                - consent_revoked
            - type: 'null'
          x-field-id: API:verification.stop_reason
        processing_context:
          $ref: '#/components/schemas/NormalizedProcessingContext'
          x-field-id: API:verification.processing_context
        subject_association_version:
          anyOf:
            - type: integer
              minimum: 1
            - type: 'null'
          x-field-id: API:verification.subject_association_version
          description: >-
            Version of the authorized related-subject association used by an
            included verification stage; null when not applicable.
      required:
        - id
        - object
        - created_at
        - updated_at
        - record_version
        - source_refs
        - data_status
        - missing_fields
        - schema_version
      title: VerificationRead
      description: >-
        KYC or KYB session and its aggregate result. Population depends on
        source and tenant entitlement. Read representation includes all
        authorized populated fields. Missing or restricted fields carry explicit
        availability information; this API does not support field projection.
    NormalizedVerificationCheckRead:
      type: object
      properties:
        id:
          type: string
          description: >-
            Stable identifier scoped to the client tenant. Never use a provider
            ID as the public primary key.
          x-field-id: F0001
          x-classification: Confidential
          x-availability: Required when resource exists
        object:
          type: string
          const: verification_check
          x-field-id: F0002
        subject_id:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Business or person to which this record relates. Null for
            tenant-level configuration and unresolved subjects.
          x-field-id: F0003
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        created_at:
          type: string
          format: date-time
          description: >-
            Time AMLOK first stored this resource. Preserve original evidence;
            do not invent missing values.
          x-field-id: F0004
          x-classification: Confidential
          x-availability: Required when resource exists
        updated_at:
          type: string
          format: date-time
          description: >-
            Time the normalized representation last changed. Preserve original
            evidence; do not invent missing values.
          x-field-id: F0005
          x-classification: Confidential
          x-availability: Required when resource exists
        observed_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          description: >-
            Time the source was observed by AMLOK. Do not imply this is the
            economic event time.
          x-field-id: F0006
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        effective_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          description: >-
            Time the source states this version became valid. Preserve original
            evidence; do not invent missing values.
          x-field-id: F0007
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        record_version:
          type: integer
          description: >-
            Monotonically increasing AMLOK version for this resource. Preserve
            original evidence; do not invent missing values.
          x-field-id: F0008
          x-classification: Confidential
          x-availability: Required when resource exists
        deleted_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          description: >-
            Tombstone timestamp for a source or AMLOK deletion. Null for records
            not deleted; retain only under the configured policy.
          x-field-id: F0009
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        source_refs:
          type: array
          items:
            $ref: '#/components/schemas/NormalizedSourceRef'
          description: >-
            Evidence references contributing to this record. A known empty array
            is valid for a newly client-created record.
          x-field-id: F0010
          x-classification: Confidential
          x-availability: Required when resource exists
        field_provenance:
          anyOf:
            - type: array
              items:
                $ref: '#/components/schemas/NormalizedFieldProvenance'
            - type: 'null'
          description: >-
            Field-level source, extraction, transformation and quality details.
            Preserve original evidence; do not invent missing values.
          x-field-id: F0011
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        data_status:
          $ref: '#/components/schemas/NormalizedEnum_data_status'
          description: >-
            Whether the requested resource is complete for its stated scope.
            Completeness is relative to declared fields, sources and time
            interval.
          x-field-id: F0012
          x-classification: Confidential
          x-availability: Required when resource exists
        missing_fields:
          type: array
          items:
            $ref: '#/components/schemas/NormalizedMissingField'
          description: >-
            Unavailable field paths and their explicit reasons. Preserve
            original evidence; do not invent missing values.
          x-field-id: F0013
          x-classification: Confidential
          x-availability: Required when resource exists
        schema_version:
          type: string
          description: >-
            Contract version used to serialize this record. Preserve original
            evidence; do not invent missing values.
          x-field-id: F0014
          x-classification: Confidential
          x-availability: Required when resource exists
        client_reference:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Optional caller-owned correlation identifier. Scoped to tenant;
            uniqueness only when explicitly contracted.
          x-field-id: F0015
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        extensions:
          anyOf:
            - type: object
              additionalProperties: true
            - type: 'null'
          description: >-
            Namespaced extra provider fields without changing the core schema.
            Access-controlled and documented per provider; no provider tokens.
          x-field-id: F0016
          x-classification: Restricted
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        verification_id:
          type: string
          description: >-
            Verification containing this check. Preserve original evidence; do
            not invent missing values.
          x-field-id: F0122
          x-classification: Confidential
          x-availability: >-
            Returned when available and authorized; a partial read record can
            omit this field.
        check_type:
          type: string
          description: >-
            Specific feature run by the provider. Preserve original evidence; do
            not invent missing values.
          x-field-id: F0123
          x-classification: Confidential
          x-availability: >-
            Returned when available and authorized; a partial read record can
            omit this field.
        status:
          $ref: '#/components/schemas/NormalizedEnum_check_status'
          description: >-
            Normalized outcome of this check. Preserve original evidence; do not
            invent missing values.
          x-field-id: F0124
          x-classification: Confidential
          x-availability: >-
            Returned when available and authorized; a partial read record can
            omit this field.
        raw_status:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Unmodified provider result. Preserve original evidence; do not
            invent missing values.
          x-field-id: F0125
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        method:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Document, database, biometric, registry or other method. Preserve
            original evidence; do not invent missing values.
          x-field-id: F0126
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        document_id:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Evidence document for this check. Preserve original evidence; do not
            invent missing values.
          x-field-id: F0127
          x-classification: Restricted
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        document_type:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Identity document type when relevant. Preserve original evidence; do
            not invent missing values.
          x-field-id: F0128
          x-classification: Restricted
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        document_number_token:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Vault reference for document number. Preserve original evidence; do
            not invent missing values.
          x-field-id: F0129
          x-classification: Restricted
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        document_number_masked:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Masked identifier safe for the caller's scope. Preserve original
            evidence; do not invent missing values.
          x-field-id: F0130
          x-classification: Restricted
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        issuing_country:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Country issuing the identity evidence. Preserve original evidence;
            do not invent missing values.
          x-field-id: F0131
          x-classification: Restricted
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        issue_date:
          anyOf:
            - type: string
              format: date
            - type: 'null'
          description: >-
            Document issue date. Preserve original evidence; do not invent
            missing values.
          x-field-id: F0132
          x-classification: Restricted
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        expiry_date:
          anyOf:
            - type: string
              format: date
            - type: 'null'
          description: >-
            Document expiry date. Preserve original evidence; do not invent
            missing values.
          x-field-id: F0133
          x-classification: Restricted
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        name_match:
          anyOf:
            - type: boolean
            - type: 'null'
          description: >-
            Provider-reported name match result. Null if not tested; do not
            derive from overall approval.
          x-field-id: F0134
          x-classification: Restricted
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        date_of_birth_match:
          anyOf:
            - type: boolean
            - type: 'null'
          description: >-
            Provider-reported date-of-birth match result. Preserve original
            evidence; do not invent missing values.
          x-field-id: F0135
          x-classification: Restricted
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        address_match:
          anyOf:
            - type: boolean
            - type: 'null'
          description: >-
            Provider-reported address match result. Preserve original evidence;
            do not invent missing values.
          x-field-id: F0136
          x-classification: Restricted
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        liveness_result:
          anyOf:
            - $ref: '#/components/schemas/NormalizedEnum_check_status'
            - type: 'null'
          description: >-
            Liveness feature outcome if run. Preserve original evidence; do not
            invent missing values.
          x-field-id: F0137
          x-classification: Restricted
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        face_match_score:
          anyOf:
            - type: string
              pattern: ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?$
              description: >-
                Exact decimal string in major units. Do not use binary
                floating-point arithmetic.
            - type: 'null'
          description: >-
            Provider-native face match score. Retain score scale and version;
            never assume probability.
          x-field-id: F0138
          x-classification: Restricted
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        score_scale:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Published interpretation and range of the provider score. Preserve
            original evidence; do not invent missing values.
          x-field-id: F0139
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        warnings:
          anyOf:
            - type: array
              items:
                type: string
            - type: 'null'
          description: >-
            Feature-specific warnings. Preserve original evidence; do not invent
            missing values.
          x-field-id: F0140
          x-classification: Restricted
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        checked_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          description: >-
            Time the feature executed. Preserve original evidence; do not invent
            missing values.
          x-field-id: F0141
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
      required:
        - id
        - object
        - created_at
        - updated_at
        - record_version
        - source_refs
        - data_status
        - missing_fields
        - schema_version
      title: VerificationCheckRead
      description: >-
        Individual document, biometric, address, registry or contact check.
        Population depends on source and tenant entitlement. Read representation
        includes all authorized populated fields. Missing or restricted fields
        carry explicit availability information; this API does not support field
        projection.
    NormalizedScreeningMatchRead:
      type: object
      properties:
        id:
          type: string
          description: >-
            Stable identifier scoped to the client tenant. Never use a provider
            ID as the public primary key.
          x-field-id: F0001
          x-classification: Confidential
          x-availability: Required when resource exists
        object:
          type: string
          const: screening_match
          x-field-id: F0002
        subject_id:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Business or person to which this record relates. Null for
            tenant-level configuration and unresolved subjects.
          x-field-id: F0003
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        created_at:
          type: string
          format: date-time
          description: >-
            Time AMLOK first stored this resource. Preserve original evidence;
            do not invent missing values.
          x-field-id: F0004
          x-classification: Confidential
          x-availability: Required when resource exists
        updated_at:
          type: string
          format: date-time
          description: >-
            Time the normalized representation last changed. Preserve original
            evidence; do not invent missing values.
          x-field-id: F0005
          x-classification: Confidential
          x-availability: Required when resource exists
        observed_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          description: >-
            Time the source was observed by AMLOK. Do not imply this is the
            economic event time.
          x-field-id: F0006
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        effective_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          description: >-
            Time the source states this version became valid. Preserve original
            evidence; do not invent missing values.
          x-field-id: F0007
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        record_version:
          type: integer
          description: >-
            Monotonically increasing AMLOK version for this resource. Preserve
            original evidence; do not invent missing values.
          x-field-id: F0008
          x-classification: Confidential
          x-availability: Required when resource exists
        deleted_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          description: >-
            Tombstone timestamp for a source or AMLOK deletion. Null for records
            not deleted; retain only under the configured policy.
          x-field-id: F0009
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        source_refs:
          type: array
          items:
            $ref: '#/components/schemas/NormalizedSourceRef'
          description: >-
            Evidence references contributing to this record. A known empty array
            is valid for a newly client-created record.
          x-field-id: F0010
          x-classification: Confidential
          x-availability: Required when resource exists
        field_provenance:
          anyOf:
            - type: array
              items:
                $ref: '#/components/schemas/NormalizedFieldProvenance'
            - type: 'null'
          description: >-
            Field-level source, extraction, transformation and quality details.
            Preserve original evidence; do not invent missing values.
          x-field-id: F0011
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        data_status:
          $ref: '#/components/schemas/NormalizedEnum_data_status'
          description: >-
            Whether the requested resource is complete for its stated scope.
            Completeness is relative to declared fields, sources and time
            interval.
          x-field-id: F0012
          x-classification: Confidential
          x-availability: Required when resource exists
        missing_fields:
          type: array
          items:
            $ref: '#/components/schemas/NormalizedMissingField'
          description: >-
            Unavailable field paths and their explicit reasons. Preserve
            original evidence; do not invent missing values.
          x-field-id: F0013
          x-classification: Confidential
          x-availability: Required when resource exists
        schema_version:
          type: string
          description: >-
            Contract version used to serialize this record. Preserve original
            evidence; do not invent missing values.
          x-field-id: F0014
          x-classification: Confidential
          x-availability: Required when resource exists
        client_reference:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Optional caller-owned correlation identifier. Scoped to tenant;
            uniqueness only when explicitly contracted.
          x-field-id: F0015
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        extensions:
          anyOf:
            - type: object
              additionalProperties: true
            - type: 'null'
          description: >-
            Namespaced extra provider fields without changing the core schema.
            Access-controlled and documented per provider; no provider tokens.
          x-field-id: F0016
          x-classification: Restricted
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        verification_id:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Session associated with the screening result. Preserve original
            evidence; do not invent missing values.
          x-field-id: F0142
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        screening_type:
          $ref: '#/components/schemas/NormalizedEnum_screening_type'
          description: >-
            Screening category. Preserve original evidence; do not invent
            missing values.
          x-field-id: F0143
          x-classification: Confidential
          x-availability: >-
            Returned when available and authorized; a partial read record can
            omit this field.
        list_name:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Name of the dataset or watchlist. Preserve original evidence; do not
            invent missing values.
          x-field-id: F0144
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        list_record_id:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Identifier in the source dataset. Preserve original evidence; do not
            invent missing values.
          x-field-id: F0145
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        matched_name:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Name on the potential matching record. Preserve original evidence;
            do not invent missing values.
          x-field-id: F0146
          x-classification: Restricted
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        aliases:
          anyOf:
            - type: array
              items:
                type: string
            - type: 'null'
          description: >-
            Known aliases of the source entry. Preserve original evidence; do
            not invent missing values.
          x-field-id: F0147
          x-classification: Restricted
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        countries:
          anyOf:
            - type: array
              items:
                type: string
            - type: 'null'
          description: >-
            Jurisdictions associated with the entry. Preserve original evidence;
            do not invent missing values.
          x-field-id: F0148
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        match_score:
          anyOf:
            - type: string
              pattern: ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?$
              description: >-
                Exact decimal string in major units. Do not use binary
                floating-point arithmetic.
            - type: 'null'
          description: >-
            Source-native similarity measure. Scale and algorithm must be
            supplied; not a guilt probability.
          x-field-id: F0149
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        score_scale:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Score range and interpretation. Preserve original evidence; do not
            invent missing values.
          x-field-id: F0150
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        disposition:
          $ref: '#/components/schemas/NormalizedEnum_match_disposition'
          description: >-
            Review outcome for this potential match. Preserve original evidence;
            do not invent missing values.
          x-field-id: F0151
          x-classification: Confidential
          x-availability: >-
            Returned when available and authorized; a partial read record can
            omit this field.
        reason_codes:
          anyOf:
            - type: array
              items:
                type: string
            - type: 'null'
          description: >-
            Evidence driving match or review. Preserve original evidence; do not
            invent missing values.
          x-field-id: F0152
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        source_url:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Reference supporting the screening result. Preserve original
            evidence; do not invent missing values.
          x-field-id: F0153
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        listed_on:
          anyOf:
            - type: string
              format: date
            - type: 'null'
          description: >-
            Listing date when supplied. Preserve original evidence; do not
            invent missing values.
          x-field-id: F0154
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        screened_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          description: >-
            Screening execution time. Preserve original evidence; do not invent
            missing values.
          x-field-id: F0155
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        reviewed_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          description: >-
            Time of analyst disposition. Preserve original evidence; do not
            invent missing values.
          x-field-id: F0156
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        reviewer_id:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Authorized reviewer identifier. Preserve original evidence; do not
            invent missing values.
          x-field-id: F0157
          x-classification: Restricted
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
      required:
        - id
        - object
        - created_at
        - updated_at
        - record_version
        - source_refs
        - data_status
        - missing_fields
        - schema_version
      title: ScreeningMatchRead
      description: >-
        Candidate watchlist, sanctions, PEP or adverse-media match. Population
        depends on source and tenant entitlement. Read representation includes
        all authorized populated fields. Missing or restricted fields carry
        explicit availability information; this API does not support field
        projection.
    NormalizedDocumentRead:
      type: object
      properties:
        id:
          type: string
          description: >-
            Stable identifier scoped to the client tenant. Never use a provider
            ID as the public primary key.
          x-field-id: F0001
          x-classification: Confidential
          x-availability: Required when resource exists
        object:
          type: string
          const: document
          x-field-id: F0002
        subject_id:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Business or person to which this record relates. Null for
            tenant-level configuration and unresolved subjects.
          x-field-id: F0003
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        created_at:
          type: string
          format: date-time
          description: >-
            Time AMLOK first stored this resource. Preserve original evidence;
            do not invent missing values.
          x-field-id: F0004
          x-classification: Confidential
          x-availability: Required when resource exists
        updated_at:
          type: string
          format: date-time
          description: >-
            Time the normalized representation last changed. Preserve original
            evidence; do not invent missing values.
          x-field-id: F0005
          x-classification: Confidential
          x-availability: Required when resource exists
        observed_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          description: >-
            Time the source was observed by AMLOK. Do not imply this is the
            economic event time.
          x-field-id: F0006
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        effective_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          description: >-
            Time the source states this version became valid. Preserve original
            evidence; do not invent missing values.
          x-field-id: F0007
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        record_version:
          type: integer
          description: >-
            Monotonically increasing AMLOK version for this resource. Preserve
            original evidence; do not invent missing values.
          x-field-id: F0008
          x-classification: Confidential
          x-availability: Required when resource exists
        deleted_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          description: >-
            Tombstone timestamp for a source or AMLOK deletion. Null for records
            not deleted; retain only under the configured policy.
          x-field-id: F0009
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        source_refs:
          type: array
          items:
            $ref: '#/components/schemas/NormalizedSourceRef'
          description: >-
            Evidence references contributing to this record. A known empty array
            is valid for a newly client-created record.
          x-field-id: F0010
          x-classification: Confidential
          x-availability: Required when resource exists
        field_provenance:
          anyOf:
            - type: array
              items:
                $ref: '#/components/schemas/NormalizedFieldProvenance'
            - type: 'null'
          description: >-
            Field-level source, extraction, transformation and quality details.
            Preserve original evidence; do not invent missing values.
          x-field-id: F0011
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        data_status:
          $ref: '#/components/schemas/NormalizedEnum_data_status'
          description: >-
            Whether the requested resource is complete for its stated scope.
            Completeness is relative to declared fields, sources and time
            interval.
          x-field-id: F0012
          x-classification: Confidential
          x-availability: Required when resource exists
        missing_fields:
          type: array
          items:
            $ref: '#/components/schemas/NormalizedMissingField'
          description: >-
            Unavailable field paths and their explicit reasons. Preserve
            original evidence; do not invent missing values.
          x-field-id: F0013
          x-classification: Confidential
          x-availability: Required when resource exists
        schema_version:
          type: string
          description: >-
            Contract version used to serialize this record. Preserve original
            evidence; do not invent missing values.
          x-field-id: F0014
          x-classification: Confidential
          x-availability: Required when resource exists
        client_reference:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Optional caller-owned correlation identifier. Scoped to tenant;
            uniqueness only when explicitly contracted.
          x-field-id: F0015
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        extensions:
          anyOf:
            - type: object
              additionalProperties: true
            - type: 'null'
          description: >-
            Namespaced extra provider fields without changing the core schema.
            Access-controlled and documented per provider; no provider tokens.
          x-field-id: F0016
          x-classification: Restricted
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        document_type:
          $ref: '#/components/schemas/NormalizedEnum_document_type'
          description: >-
            Category of evidence. Preserve original evidence; do not invent
            missing values.
          x-field-id: F0158
          x-classification: Confidential
          x-availability: >-
            Returned when available and authorized; a partial read record can
            omit this field.
        file_name:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Original or normalized file name. Preserve original evidence; do not
            invent missing values.
          x-field-id: F0159
          x-classification: Restricted
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        mime_type:
          type: string
          description: >-
            Validated media type. Preserve original evidence; do not invent
            missing values.
          x-field-id: F0160
          x-classification: Confidential
          x-availability: >-
            Returned when available and authorized; a partial read record can
            omit this field.
        byte_size:
          anyOf:
            - type: integer
            - type: 'null'
          description: >-
            File size in bytes. Preserve original evidence; do not invent
            missing values.
          x-field-id: F0161
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        sha256:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Checksum of the retained evidence bytes. Preserve original evidence;
            do not invent missing values.
          x-field-id: F0162
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        storage_reference:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Opaque controlled evidence reference. No permanent public
            object-store URL.
          x-field-id: F0163
          x-classification: Restricted
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        period_start:
          anyOf:
            - type: string
              format: date
            - type: 'null'
          description: >-
            First date covered by the document. Preserve original evidence; do
            not invent missing values.
          x-field-id: F0164
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        period_end:
          anyOf:
            - type: string
              format: date
            - type: 'null'
          description: >-
            Last date covered by the document, inclusive. Preserve original
            evidence; do not invent missing values.
          x-field-id: F0165
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        issued_on:
          anyOf:
            - type: string
              format: date
            - type: 'null'
          description: >-
            Issue date printed on the document. Preserve original evidence; do
            not invent missing values.
          x-field-id: F0166
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        issuer:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Document issuer. Preserve original evidence; do not invent missing
            values.
          x-field-id: F0167
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        page_count:
          anyOf:
            - type: integer
            - type: 'null'
          description: >-
            Number of pages. Preserve original evidence; do not invent missing
            values.
          x-field-id: F0168
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        extraction_status:
          anyOf:
            - type: string
              enum:
                - pending
                - running
                - completed
                - partial
                - failed
                - cancelled
            - type: 'null'
          x-field-id: F0169
        extraction_model_version:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Version of parser or extraction model. Preserve original evidence;
            do not invent missing values.
          x-field-id: F0170
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        extraction_confidence:
          anyOf:
            - type: string
              pattern: ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?$
              description: >-
                Exact decimal string in major units. Do not use binary
                floating-point arithmetic.
            - type: 'null'
          description: >-
            Calibrated extraction quality when available. Preserve original
            evidence; do not invent missing values.
          x-field-id: F0171
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        review_status:
          anyOf:
            - $ref: '#/components/schemas/NormalizedEnum_review_status'
            - type: 'null'
          description: >-
            Human validation of extracted evidence. Preserve original evidence;
            do not invent missing values.
          x-field-id: F0172
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        retention_policy_id:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Applicable configured retention policy. Preserve original evidence;
            do not invent missing values.
          x-field-id: F0173
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        stop_reason:
          anyOf:
            - type: string
              enum:
                - account_cancellation
                - parent_cancelled
                - consent_revoked
            - type: 'null'
          x-field-id: API:document.stop_reason
      required:
        - id
        - object
        - created_at
        - updated_at
        - record_version
        - source_refs
        - data_status
        - missing_fields
        - schema_version
      title: DocumentRead
      description: >-
        Evidence file metadata and extraction context. Population depends on
        source and tenant entitlement. Read representation includes all
        authorized populated fields. Missing or restricted fields carry explicit
        availability information; this API does not support field projection.
    NormalizedBankAccountRead:
      type: object
      properties:
        id:
          type: string
          description: >-
            Stable identifier scoped to the client tenant. Never use a provider
            ID as the public primary key.
          x-field-id: F0001
          x-classification: Confidential
          x-availability: Required when resource exists
        object:
          type: string
          const: bank_account
          x-field-id: F0002
        subject_id:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Business or person to which this record relates. Null for
            tenant-level configuration and unresolved subjects.
          x-field-id: F0003
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        created_at:
          type: string
          format: date-time
          description: >-
            Time AMLOK first stored this resource. Preserve original evidence;
            do not invent missing values.
          x-field-id: F0004
          x-classification: Confidential
          x-availability: Required when resource exists
        updated_at:
          type: string
          format: date-time
          description: >-
            Time the normalized representation last changed. Preserve original
            evidence; do not invent missing values.
          x-field-id: F0005
          x-classification: Confidential
          x-availability: Required when resource exists
        observed_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          description: >-
            Time the source was observed by AMLOK. Do not imply this is the
            economic event time.
          x-field-id: F0006
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        effective_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          description: >-
            Time the source states this version became valid. Preserve original
            evidence; do not invent missing values.
          x-field-id: F0007
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        record_version:
          type: integer
          description: >-
            Monotonically increasing AMLOK version for this resource. Preserve
            original evidence; do not invent missing values.
          x-field-id: F0008
          x-classification: Confidential
          x-availability: Required when resource exists
        deleted_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          description: >-
            Tombstone timestamp for a source or AMLOK deletion. Null for records
            not deleted; retain only under the configured policy.
          x-field-id: F0009
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        source_refs:
          type: array
          items:
            $ref: '#/components/schemas/NormalizedSourceRef'
          description: >-
            Evidence references contributing to this record. A known empty array
            is valid for a newly client-created record.
          x-field-id: F0010
          x-classification: Confidential
          x-availability: Required when resource exists
        field_provenance:
          anyOf:
            - type: array
              items:
                $ref: '#/components/schemas/NormalizedFieldProvenance'
            - type: 'null'
          description: >-
            Field-level source, extraction, transformation and quality details.
            Preserve original evidence; do not invent missing values.
          x-field-id: F0011
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        data_status:
          $ref: '#/components/schemas/NormalizedEnum_data_status'
          description: >-
            Whether the requested resource is complete for its stated scope.
            Completeness is relative to declared fields, sources and time
            interval.
          x-field-id: F0012
          x-classification: Confidential
          x-availability: Required when resource exists
        missing_fields:
          type: array
          items:
            $ref: '#/components/schemas/NormalizedMissingField'
          description: >-
            Unavailable field paths and their explicit reasons. Preserve
            original evidence; do not invent missing values.
          x-field-id: F0013
          x-classification: Confidential
          x-availability: Required when resource exists
        schema_version:
          type: string
          description: >-
            Contract version used to serialize this record. Preserve original
            evidence; do not invent missing values.
          x-field-id: F0014
          x-classification: Confidential
          x-availability: Required when resource exists
        client_reference:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Optional caller-owned correlation identifier. Scoped to tenant;
            uniqueness only when explicitly contracted.
          x-field-id: F0015
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        extensions:
          anyOf:
            - type: object
              additionalProperties: true
            - type: 'null'
          description: >-
            Namespaced extra provider fields without changing the core schema.
            Access-controlled and documented per provider; no provider tokens.
          x-field-id: F0016
          x-classification: Restricted
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        connection_id:
          type: string
          description: >-
            Authorized bank connection. Preserve original evidence; do not
            invent missing values.
          x-field-id: F0175
          x-classification: Confidential
          x-availability: >-
            Returned when available and authorized; a partial read record can
            omit this field.
        source_account_id:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Upstream account identifier within its connection. Preserve original
            evidence; do not invent missing values.
          x-field-id: F0176
          x-classification: Restricted
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        name:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Account name supplied by institution or holder. Preserve original
            evidence; do not invent missing values.
          x-field-id: F0177
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        official_name:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Institution's official account product name. Preserve original
            evidence; do not invent missing values.
          x-field-id: F0178
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        account_type:
          $ref: '#/components/schemas/NormalizedEnum_account_type'
          description: >-
            Broad financial account class. Preserve original evidence; do not
            invent missing values.
          x-field-id: F0179
          x-classification: Confidential
          x-availability: >-
            Returned when available and authorized; a partial read record can
            omit this field.
        account_subtype:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Detailed subtype with preserved raw value. Preserve original
            evidence; do not invent missing values.
          x-field-id: F0180
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        ownership_type:
          anyOf:
            - $ref: '#/components/schemas/NormalizedEnum_account_ownership'
            - type: 'null'
          description: >-
            Business, personal, joint or trust classification. Preserve original
            evidence; do not invent missing values.
          x-field-id: F0181
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        institution_name:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Name of the institution holding the account. Preserve original
            evidence; do not invent missing values.
          x-field-id: F0182
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        country:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Institution jurisdiction established by source. Preserve original
            evidence; do not invent missing values.
          x-field-id: F0183
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        mask:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Provider-supplied masked account suffix. May be 2 to 4 characters;
            not a unique key.
          x-field-id: F0184
          x-classification: Restricted
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        currency:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Currency of the account balance. Preserve original evidence; do not
            invent missing values.
          x-field-id: F0185
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        holder_names:
          anyOf:
            - type: array
              items:
                type: string
            - type: 'null'
          description: >-
            Names returned by an entitled ownership product. Account ownership
            data is not automatically a completed KYC check.
          x-field-id: F0186
          x-classification: Restricted
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        holder_entity_ids:
          anyOf:
            - type: array
              items:
                type: string
            - type: 'null'
          description: >-
            Resolved AMLOK holders. Preserve original evidence; do not invent
            missing values.
          x-field-id: F0187
          x-classification: Restricted
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        is_closed:
          anyOf:
            - type: boolean
            - type: 'null'
          description: >-
            Explicit account closure indicator. Disappearance from an API
            response alone does not prove closure.
          x-field-id: F0188
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        opened_on:
          anyOf:
            - type: string
              format: date
            - type: 'null'
          description: >-
            Account opening date when actually returned. Preserve original
            evidence; do not invent missing values.
          x-field-id: F0189
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        closed_on:
          anyOf:
            - type: string
              format: date
            - type: 'null'
          description: >-
            Explicit closure date. Preserve original evidence; do not invent
            missing values.
          x-field-id: F0190
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        bank_identifier:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Institution routing identifier, when entitled. Preserve original
            evidence; do not invent missing values.
          x-field-id: F0191
          x-classification: Restricted
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        branch_identifier:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Branch or transit identifier, when entitled. Preserve original
            evidence; do not invent missing values.
          x-field-id: F0192
          x-classification: Restricted
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        account_number_token:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Vault reference for the full account number. Raw account numbers
            require a separately authorized product and scope.
          x-field-id: F0193
          x-classification: Restricted
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
      required:
        - id
        - object
        - created_at
        - updated_at
        - record_version
        - source_refs
        - data_status
        - missing_fields
        - schema_version
      title: BankAccountRead
      description: >-
        Permissioned bank, credit or loan account identity. Population depends
        on source and tenant entitlement. Read representation includes all
        authorized populated fields. Missing or restricted fields carry explicit
        availability information; this API does not support field projection.
    NormalizedAccountBalanceRead:
      type: object
      properties:
        id:
          type: string
          description: >-
            Stable identifier scoped to the client tenant. Never use a provider
            ID as the public primary key.
          x-field-id: F0001
          x-classification: Confidential
          x-availability: Required when resource exists
        object:
          type: string
          const: account_balance
          x-field-id: F0002
        subject_id:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Business or person to which this record relates. Null for
            tenant-level configuration and unresolved subjects.
          x-field-id: F0003
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        created_at:
          type: string
          format: date-time
          description: >-
            Time AMLOK first stored this resource. Preserve original evidence;
            do not invent missing values.
          x-field-id: F0004
          x-classification: Confidential
          x-availability: Required when resource exists
        updated_at:
          type: string
          format: date-time
          description: >-
            Time the normalized representation last changed. Preserve original
            evidence; do not invent missing values.
          x-field-id: F0005
          x-classification: Confidential
          x-availability: Required when resource exists
        observed_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          description: >-
            Time the source was observed by AMLOK. Do not imply this is the
            economic event time.
          x-field-id: F0006
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        effective_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          description: >-
            Time the source states this version became valid. Preserve original
            evidence; do not invent missing values.
          x-field-id: F0007
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        record_version:
          type: integer
          description: >-
            Monotonically increasing AMLOK version for this resource. Preserve
            original evidence; do not invent missing values.
          x-field-id: F0008
          x-classification: Confidential
          x-availability: Required when resource exists
        deleted_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          description: >-
            Tombstone timestamp for a source or AMLOK deletion. Null for records
            not deleted; retain only under the configured policy.
          x-field-id: F0009
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        source_refs:
          type: array
          items:
            $ref: '#/components/schemas/NormalizedSourceRef'
          description: >-
            Evidence references contributing to this record. A known empty array
            is valid for a newly client-created record.
          x-field-id: F0010
          x-classification: Confidential
          x-availability: Required when resource exists
        field_provenance:
          anyOf:
            - type: array
              items:
                $ref: '#/components/schemas/NormalizedFieldProvenance'
            - type: 'null'
          description: >-
            Field-level source, extraction, transformation and quality details.
            Preserve original evidence; do not invent missing values.
          x-field-id: F0011
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        data_status:
          $ref: '#/components/schemas/NormalizedEnum_data_status'
          description: >-
            Whether the requested resource is complete for its stated scope.
            Completeness is relative to declared fields, sources and time
            interval.
          x-field-id: F0012
          x-classification: Confidential
          x-availability: Required when resource exists
        missing_fields:
          type: array
          items:
            $ref: '#/components/schemas/NormalizedMissingField'
          description: >-
            Unavailable field paths and their explicit reasons. Preserve
            original evidence; do not invent missing values.
          x-field-id: F0013
          x-classification: Confidential
          x-availability: Required when resource exists
        schema_version:
          type: string
          description: >-
            Contract version used to serialize this record. Preserve original
            evidence; do not invent missing values.
          x-field-id: F0014
          x-classification: Confidential
          x-availability: Required when resource exists
        client_reference:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Optional caller-owned correlation identifier. Scoped to tenant;
            uniqueness only when explicitly contracted.
          x-field-id: F0015
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        extensions:
          anyOf:
            - type: object
              additionalProperties: true
            - type: 'null'
          description: >-
            Namespaced extra provider fields without changing the core schema.
            Access-controlled and documented per provider; no provider tokens.
          x-field-id: F0016
          x-classification: Restricted
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        account_id:
          type: string
          description: >-
            Account for the balance. Preserve original evidence; do not invent
            missing values.
          x-field-id: F0194
          x-classification: Confidential
          x-availability: >-
            Returned when available and authorized; a partial read record can
            omit this field.
        current:
          type: object
          properties:
            amount:
              anyOf:
                - type: string
                  pattern: ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?$
                  description: >-
                    Exact decimal string in major units. Do not use binary
                    floating-point arithmetic.
                - type: 'null'
              description: >-
                Current balance reported by the institution. Amount in major
                currency units. Positive depository amounts are assets; positive
                loan/credit amounts normally represent debt.
              x-field-id: F0195
              x-classification: Confidential
              x-availability: >-
                Source, module, country, consent and contracted permissions
                determine population.
            currency:
              anyOf:
                - type: string
                - type: 'null'
              description: >-
                Currency for current. Uppercase ISO 4217 code when known; null
                for unsupported/unidentified currency, retain source code.
              x-field-id: F0196
              x-classification: Confidential
              x-availability: >-
                Source, module, country, consent and contracted permissions
                determine population.
        available:
          type: object
          properties:
            amount:
              anyOf:
                - type: string
                  pattern: ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?$
                  description: >-
                    Exact decimal string in major units. Do not use binary
                    floating-point arithmetic.
                - type: 'null'
              description: >-
                Funds available under the institution's calculation. Amount in
                major currency units. Pair with currency; preserve precision;
                zero differs from unavailable.
              x-field-id: F0197
              x-classification: Confidential
              x-availability: >-
                Source, module, country, consent and contracted permissions
                determine population.
            currency:
              anyOf:
                - type: string
                - type: 'null'
              description: >-
                Currency for available. Uppercase ISO 4217 code when known; null
                for unsupported/unidentified currency, retain source code.
              x-field-id: F0198
              x-classification: Confidential
              x-availability: >-
                Source, module, country, consent and contracted permissions
                determine population.
        credit_limit:
          type: object
          properties:
            amount:
              anyOf:
                - type: string
                  pattern: ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?$
                  description: >-
                    Exact decimal string in major units. Do not use binary
                    floating-point arithmetic.
                - type: 'null'
              description: >-
                Authorized credit or overdraft limit where explicitly reported.
                Amount in major currency units. Pair with currency; preserve
                precision; zero differs from unavailable.
              x-field-id: F0199
              x-classification: Confidential
              x-availability: >-
                Source, module, country, consent and contracted permissions
                determine population.
            currency:
              anyOf:
                - type: string
                - type: 'null'
              description: >-
                Currency for credit limit. Uppercase ISO 4217 code when known;
                null for unsupported/unidentified currency, retain source code.
              x-field-id: F0200
              x-classification: Confidential
              x-availability: >-
                Source, module, country, consent and contracted permissions
                determine population.
        balance_basis:
          $ref: '#/components/schemas/NormalizedEnum_balance_basis'
          description: >-
            Whether current balance represents an asset or liability. Preserve
            original evidence; do not invent missing values.
          x-field-id: F0201
          x-classification: Confidential
          x-availability: >-
            Returned when available and authorized; a partial read record can
            omit this field.
        as_of:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          description: >-
            Source balance timestamp if supplied. Never substitute ingestion
            time as a source balance timestamp.
          x-field-id: F0202
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        retrieved_at:
          type: string
          format: date-time
          description: >-
            AMLOK balance retrieval time. Preserve original evidence; do not
            invent missing values.
          x-field-id: F0203
          x-classification: Confidential
          x-availability: >-
            Returned when available and authorized; a partial read record can
            omit this field.
        is_realtime:
          anyOf:
            - type: boolean
            - type: 'null'
          description: >-
            Whether this observation was retrieved by a verified live-balance
            route. Cached account responses are not real-time.
          x-field-id: F0204
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        date_basis:
          $ref: '#/components/schemas/NormalizedEnum_balance_date_basis'
          description: >-
            How balance timing was established. Preserve original evidence; do
            not invent missing values.
          x-field-id: F0205
          x-classification: Confidential
          x-availability: >-
            Returned when available and authorized; a partial read record can
            omit this field.
      required:
        - id
        - object
        - created_at
        - updated_at
        - record_version
        - source_refs
        - data_status
        - missing_fields
        - schema_version
      title: AccountBalanceRead
      description: >-
        Timestamped balance snapshot; asset and liability meanings remain
        explicit. Population depends on source and tenant entitlement. Read
        representation includes all authorized populated fields. Missing or
        restricted fields carry explicit availability information; this API does
        not support field projection.
    NormalizedBankTransactionRead:
      type: object
      properties:
        id:
          type: string
          description: >-
            Stable identifier scoped to the client tenant. Never use a provider
            ID as the public primary key.
          x-field-id: F0001
          x-classification: Confidential
          x-availability: Required when resource exists
        object:
          type: string
          const: bank_transaction
          x-field-id: F0002
        subject_id:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Business or person to which this record relates. Null for
            tenant-level configuration and unresolved subjects.
          x-field-id: F0003
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        created_at:
          type: string
          format: date-time
          description: >-
            Time AMLOK first stored this resource. Preserve original evidence;
            do not invent missing values.
          x-field-id: F0004
          x-classification: Confidential
          x-availability: Required when resource exists
        updated_at:
          type: string
          format: date-time
          description: >-
            Time the normalized representation last changed. Preserve original
            evidence; do not invent missing values.
          x-field-id: F0005
          x-classification: Confidential
          x-availability: Required when resource exists
        observed_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          description: >-
            Time the source was observed by AMLOK. Do not imply this is the
            economic event time.
          x-field-id: F0006
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        effective_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          description: >-
            Time the source states this version became valid. Preserve original
            evidence; do not invent missing values.
          x-field-id: F0007
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        record_version:
          type: integer
          description: >-
            Monotonically increasing AMLOK version for this resource. Preserve
            original evidence; do not invent missing values.
          x-field-id: F0008
          x-classification: Confidential
          x-availability: Required when resource exists
        deleted_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          description: >-
            Tombstone timestamp for a source or AMLOK deletion. Null for records
            not deleted; retain only under the configured policy.
          x-field-id: F0009
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        source_refs:
          type: array
          items:
            $ref: '#/components/schemas/NormalizedSourceRef'
          description: >-
            Evidence references contributing to this record. A known empty array
            is valid for a newly client-created record.
          x-field-id: F0010
          x-classification: Confidential
          x-availability: Required when resource exists
        field_provenance:
          anyOf:
            - type: array
              items:
                $ref: '#/components/schemas/NormalizedFieldProvenance'
            - type: 'null'
          description: >-
            Field-level source, extraction, transformation and quality details.
            Preserve original evidence; do not invent missing values.
          x-field-id: F0011
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        data_status:
          $ref: '#/components/schemas/NormalizedEnum_data_status'
          description: >-
            Whether the requested resource is complete for its stated scope.
            Completeness is relative to declared fields, sources and time
            interval.
          x-field-id: F0012
          x-classification: Confidential
          x-availability: Required when resource exists
        missing_fields:
          type: array
          items:
            $ref: '#/components/schemas/NormalizedMissingField'
          description: >-
            Unavailable field paths and their explicit reasons. Preserve
            original evidence; do not invent missing values.
          x-field-id: F0013
          x-classification: Confidential
          x-availability: Required when resource exists
        schema_version:
          type: string
          description: >-
            Contract version used to serialize this record. Preserve original
            evidence; do not invent missing values.
          x-field-id: F0014
          x-classification: Confidential
          x-availability: Required when resource exists
        client_reference:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Optional caller-owned correlation identifier. Scoped to tenant;
            uniqueness only when explicitly contracted.
          x-field-id: F0015
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        extensions:
          anyOf:
            - type: object
              additionalProperties: true
            - type: 'null'
          description: >-
            Namespaced extra provider fields without changing the core schema.
            Access-controlled and documented per provider; no provider tokens.
          x-field-id: F0016
          x-classification: Restricted
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        account_id:
          type: string
          description: >-
            Financial account carrying the transaction. Preserve original
            evidence; do not invent missing values.
          x-field-id: F0206
          x-classification: Confidential
          x-availability: >-
            Returned when available and authorized; a partial read record can
            omit this field.
        source_transaction_id:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Provider transaction identifier. Preserve original evidence; do not
            invent missing values.
          x-field-id: F0207
          x-classification: Restricted
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        amount:
          type: object
          properties:
            amount:
              anyOf:
                - type: string
                  pattern: ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?$
                  description: >-
                    Exact decimal string in major units. Do not use binary
                    floating-point arithmetic.
                - type: 'null'
              description: >-
                Absolute transaction magnitude. Amount in major currency units.
                Nonnegative; direction is separate. Preserve original signed
                amount in provenance.
              x-field-id: F0208
              x-classification: Confidential
              x-availability: >-
                Source, module, country, consent and contracted permissions
                determine population.
            currency:
              anyOf:
                - type: string
                - type: 'null'
              description: >-
                Currency for amount. Uppercase ISO 4217 code when known; null
                for unsupported/unidentified currency, retain source code.
              x-field-id: F0209
              x-classification: Confidential
              x-availability: >-
                Source, module, country, consent and contracted permissions
                determine population.
        direction:
          $ref: '#/components/schemas/NormalizedEnum_direction'
          description: >-
            Movement into or out of the financial account. For Plaid
            Transactions invert sign semantics; do not apply this rule to Plaid
            Income.
          x-field-id: F0210
          x-classification: Confidential
          x-availability: >-
            Returned when available and authorized; a partial read record can
            omit this field.
        status:
          $ref: '#/components/schemas/NormalizedEnum_transaction_status'
          description: >-
            Pending, posted or removed state. Preserve original evidence; do not
            invent missing values.
          x-field-id: F0211
          x-classification: Confidential
          x-availability: >-
            Returned when available and authorized; a partial read record can
            omit this field.
        posted_on:
          anyOf:
            - type: string
              format: date
            - type: 'null'
          description: >-
            Date the institution posted the transaction. For pending
            transactions leave null if only an occurrence date is known.
          x-field-id: F0212
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        authorized_on:
          anyOf:
            - type: string
              format: date
            - type: 'null'
          description: >-
            Date payment was authorized or initiated. Preserve original
            evidence; do not invent missing values.
          x-field-id: F0213
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        occurred_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          description: >-
            Timestamp of the transaction event if supplied. Preserve original
            evidence; do not invent missing values.
          x-field-id: F0214
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        description:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Transaction description supplied by source. Preserve original
            evidence; do not invent missing values.
          x-field-id: F0215
          x-classification: Restricted
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        merchant_name:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Merchant or counterparty label supplied by source. Preserve original
            evidence; do not invent missing values.
          x-field-id: F0216
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        counterparty_id:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            AMLOK counterparty resolved with evidence. Preserve original
            evidence; do not invent missing values.
          x-field-id: F0217
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        category:
          anyOf:
            - $ref: '#/components/schemas/NormalizedEnum_cashflow_category'
            - type: 'null'
          description: >-
            AMLOK cash-flow classification. Preserve original evidence; do not
            invent missing values.
          x-field-id: F0218
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        source_category:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Provider's original category label/code. Preserve original evidence;
            do not invent missing values.
          x-field-id: F0219
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        category_confidence:
          anyOf:
            - type: string
              pattern: ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?$
              description: >-
                Exact decimal string in major units. Do not use binary
                floating-point arithmetic.
            - type: 'null'
          description: >-
            Calibrated classification confidence if available. Preserve original
            evidence; do not invent missing values.
          x-field-id: F0220
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        payment_channel:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Source payment channel. Preserve original evidence; do not invent
            missing values.
          x-field-id: F0221
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        merchant_category_code:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Reported merchant category code. Four-character string; not
            equivalent to NAICS.
          x-field-id: F0222
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        pending_transaction_id:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Earlier pending record superseded by this posting. Preserve original
            evidence; do not invent missing values.
          x-field-id: F0223
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        related_transfer_id:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Matched internal-transfer pair when established. Preserve original
            evidence; do not invent missing values.
          x-field-id: F0224
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        is_internal_transfer:
          anyOf:
            - type: boolean
            - type: 'null'
          description: >-
            Whether evidence establishes movement between the subject's own
            accounts. Unknown is null, not false.
          x-field-id: F0225
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        is_reversal:
          anyOf:
            - type: boolean
            - type: 'null'
          description: >-
            Whether explicitly reversed or linked to a reversing record.
            Preserve original evidence; do not invent missing values.
          x-field-id: F0226
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        reverses_transaction_id:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Original transaction reversed by this one. Preserve original
            evidence; do not invent missing values.
          x-field-id: F0227
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        running_balance:
          type: object
          properties:
            amount:
              anyOf:
                - type: string
                  pattern: ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?$
                  description: >-
                    Exact decimal string in major units. Do not use binary
                    floating-point arithmetic.
                - type: 'null'
              description: >-
                Source-reported balance immediately after the transaction.
                Amount in major currency units. Pair with currency; preserve
                precision; zero differs from unavailable.
              x-field-id: F0228
              x-classification: Confidential
              x-availability: >-
                Source, module, country, consent and contracted permissions
                determine population.
            currency:
              anyOf:
                - type: string
                - type: 'null'
              description: >-
                Currency for running balance. Uppercase ISO 4217 code when
                known; null for unsupported/unidentified currency, retain source
                code.
              x-field-id: F0229
              x-classification: Confidential
              x-availability: >-
                Source, module, country, consent and contracted permissions
                determine population.
        location:
          anyOf:
            - $ref: '#/components/schemas/NormalizedAddress'
            - type: 'null'
          description: >-
            Reported physical transaction location. Preserve original evidence;
            do not invent missing values.
          x-field-id: F0230
          x-classification: Restricted
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        check_number:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Cheque number where explicitly reported. Preserve original evidence;
            do not invent missing values.
          x-field-id: F0231
          x-classification: Restricted
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
      required:
        - id
        - object
        - created_at
        - updated_at
        - record_version
        - source_refs
        - data_status
        - missing_fields
        - schema_version
      title: BankTransactionRead
      description: >-
        One movement on one financial account; no automatic cross-source
        deduplication. Population depends on source and tenant entitlement. Read
        representation includes all authorized populated fields. Missing or
        restricted fields carry explicit availability information; this API does
        not support field projection.
    NormalizedRecurringStreamRead:
      type: object
      properties:
        id:
          type: string
          description: >-
            Stable identifier scoped to the client tenant. Never use a provider
            ID as the public primary key.
          x-field-id: F0001
          x-classification: Confidential
          x-availability: Required when resource exists
        object:
          type: string
          const: recurring_stream
          x-field-id: F0002
        subject_id:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Business or person to which this record relates. Null for
            tenant-level configuration and unresolved subjects.
          x-field-id: F0003
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        created_at:
          type: string
          format: date-time
          description: >-
            Time AMLOK first stored this resource. Preserve original evidence;
            do not invent missing values.
          x-field-id: F0004
          x-classification: Confidential
          x-availability: Required when resource exists
        updated_at:
          type: string
          format: date-time
          description: >-
            Time the normalized representation last changed. Preserve original
            evidence; do not invent missing values.
          x-field-id: F0005
          x-classification: Confidential
          x-availability: Required when resource exists
        observed_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          description: >-
            Time the source was observed by AMLOK. Do not imply this is the
            economic event time.
          x-field-id: F0006
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        effective_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          description: >-
            Time the source states this version became valid. Preserve original
            evidence; do not invent missing values.
          x-field-id: F0007
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        record_version:
          type: integer
          description: >-
            Monotonically increasing AMLOK version for this resource. Preserve
            original evidence; do not invent missing values.
          x-field-id: F0008
          x-classification: Confidential
          x-availability: Required when resource exists
        deleted_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          description: >-
            Tombstone timestamp for a source or AMLOK deletion. Null for records
            not deleted; retain only under the configured policy.
          x-field-id: F0009
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        source_refs:
          type: array
          items:
            $ref: '#/components/schemas/NormalizedSourceRef'
          description: >-
            Evidence references contributing to this record. A known empty array
            is valid for a newly client-created record.
          x-field-id: F0010
          x-classification: Confidential
          x-availability: Required when resource exists
        field_provenance:
          anyOf:
            - type: array
              items:
                $ref: '#/components/schemas/NormalizedFieldProvenance'
            - type: 'null'
          description: >-
            Field-level source, extraction, transformation and quality details.
            Preserve original evidence; do not invent missing values.
          x-field-id: F0011
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        data_status:
          $ref: '#/components/schemas/NormalizedEnum_data_status'
          description: >-
            Whether the requested resource is complete for its stated scope.
            Completeness is relative to declared fields, sources and time
            interval.
          x-field-id: F0012
          x-classification: Confidential
          x-availability: Required when resource exists
        missing_fields:
          type: array
          items:
            $ref: '#/components/schemas/NormalizedMissingField'
          description: >-
            Unavailable field paths and their explicit reasons. Preserve
            original evidence; do not invent missing values.
          x-field-id: F0013
          x-classification: Confidential
          x-availability: Required when resource exists
        schema_version:
          type: string
          description: >-
            Contract version used to serialize this record. Preserve original
            evidence; do not invent missing values.
          x-field-id: F0014
          x-classification: Confidential
          x-availability: Required when resource exists
        client_reference:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Optional caller-owned correlation identifier. Scoped to tenant;
            uniqueness only when explicitly contracted.
          x-field-id: F0015
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        extensions:
          anyOf:
            - type: object
              additionalProperties: true
            - type: 'null'
          description: >-
            Namespaced extra provider fields without changing the core schema.
            Access-controlled and documented per provider; no provider tokens.
          x-field-id: F0016
          x-classification: Restricted
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        account_id:
          type: string
          description: >-
            Account for the recurring stream. Preserve original evidence; do not
            invent missing values.
          x-field-id: F0232
          x-classification: Confidential
          x-availability: >-
            Returned when available and authorized; a partial read record can
            omit this field.
        direction:
          $ref: '#/components/schemas/NormalizedEnum_direction'
          description: >-
            Expected account movement direction. Preserve original evidence; do
            not invent missing values.
          x-field-id: F0233
          x-classification: Confidential
          x-availability: >-
            Returned when available and authorized; a partial read record can
            omit this field.
        description:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Description of the recurring pattern. Preserve original evidence; do
            not invent missing values.
          x-field-id: F0234
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        counterparty_id:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Resolved counterparty when available. Preserve original evidence; do
            not invent missing values.
          x-field-id: F0235
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        frequency:
          anyOf:
            - $ref: '#/components/schemas/NormalizedEnum_frequency'
            - type: 'null'
          description: >-
            Observed or provider-reported cadence. Preserve original evidence;
            do not invent missing values.
          x-field-id: F0236
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        average_amount:
          type: object
          properties:
            amount:
              anyOf:
                - type: string
                  pattern: ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?$
                  description: >-
                    Exact decimal string in major units. Do not use binary
                    floating-point arithmetic.
                - type: 'null'
              description: >-
                Average amount over the stated observation interval. Amount in
                major currency units. Pair with currency; preserve precision;
                zero differs from unavailable.
              x-field-id: F0237
              x-classification: Confidential
              x-availability: >-
                Source, module, country, consent and contracted permissions
                determine population.
            currency:
              anyOf:
                - type: string
                - type: 'null'
              description: >-
                Currency for average amount. Uppercase ISO 4217 code when known;
                null for unsupported/unidentified currency, retain source code.
              x-field-id: F0238
              x-classification: Confidential
              x-availability: >-
                Source, module, country, consent and contracted permissions
                determine population.
        last_amount:
          type: object
          properties:
            amount:
              anyOf:
                - type: string
                  pattern: ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?$
                  description: >-
                    Exact decimal string in major units. Do not use binary
                    floating-point arithmetic.
                - type: 'null'
              description: >-
                Most recent observed amount. Amount in major currency units.
                Pair with currency; preserve precision; zero differs from
                unavailable.
              x-field-id: F0239
              x-classification: Confidential
              x-availability: >-
                Source, module, country, consent and contracted permissions
                determine population.
            currency:
              anyOf:
                - type: string
                - type: 'null'
              description: >-
                Currency for last amount. Uppercase ISO 4217 code when known;
                null for unsupported/unidentified currency, retain source code.
              x-field-id: F0240
              x-classification: Confidential
              x-availability: >-
                Source, module, country, consent and contracted permissions
                determine population.
        first_seen_on:
          anyOf:
            - type: string
              format: date
            - type: 'null'
          description: >-
            First supporting transaction date. Preserve original evidence; do
            not invent missing values.
          x-field-id: F0241
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        last_seen_on:
          anyOf:
            - type: string
              format: date
            - type: 'null'
          description: >-
            Most recent supporting transaction date. Preserve original evidence;
            do not invent missing values.
          x-field-id: F0242
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        next_expected_on:
          anyOf:
            - type: string
              format: date
            - type: 'null'
          description: >-
            Predicted next occurrence date. Preserve original evidence; do not
            invent missing values.
          x-field-id: F0243
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        transaction_ids:
          anyOf:
            - type: array
              items:
                type: string
            - type: 'null'
          description: >-
            Supporting transaction records. Preserve original evidence; do not
            invent missing values.
          x-field-id: F0244
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        is_active:
          anyOf:
            - type: boolean
            - type: 'null'
          description: >-
            Whether the stream remains active under its declared method.
            Preserve original evidence; do not invent missing values.
          x-field-id: F0245
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        method_version:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Provider or AMLOK pattern method version. Preserve original
            evidence; do not invent missing values.
          x-field-id: F0246
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
      required:
        - id
        - object
        - created_at
        - updated_at
        - record_version
        - source_refs
        - data_status
        - missing_fields
        - schema_version
      title: RecurringStreamRead
      description: >-
        Evidence-based grouping of repeated inflows or outflows. Population
        depends on source and tenant entitlement. Read representation includes
        all authorized populated fields. Missing or restricted fields carry
        explicit availability information; this API does not support field
        projection.
    NormalizedIncomeObservationRead:
      type: object
      properties:
        id:
          type: string
          description: >-
            Stable identifier scoped to the client tenant. Never use a provider
            ID as the public primary key.
          x-field-id: F0001
          x-classification: Confidential
          x-availability: Required when resource exists
        object:
          type: string
          const: income_observation
          x-field-id: F0002
        subject_id:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Business or person to which this record relates. Null for
            tenant-level configuration and unresolved subjects.
          x-field-id: F0003
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        created_at:
          type: string
          format: date-time
          description: >-
            Time AMLOK first stored this resource. Preserve original evidence;
            do not invent missing values.
          x-field-id: F0004
          x-classification: Confidential
          x-availability: Required when resource exists
        updated_at:
          type: string
          format: date-time
          description: >-
            Time the normalized representation last changed. Preserve original
            evidence; do not invent missing values.
          x-field-id: F0005
          x-classification: Confidential
          x-availability: Required when resource exists
        observed_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          description: >-
            Time the source was observed by AMLOK. Do not imply this is the
            economic event time.
          x-field-id: F0006
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        effective_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          description: >-
            Time the source states this version became valid. Preserve original
            evidence; do not invent missing values.
          x-field-id: F0007
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        record_version:
          type: integer
          description: >-
            Monotonically increasing AMLOK version for this resource. Preserve
            original evidence; do not invent missing values.
          x-field-id: F0008
          x-classification: Confidential
          x-availability: Required when resource exists
        deleted_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          description: >-
            Tombstone timestamp for a source or AMLOK deletion. Null for records
            not deleted; retain only under the configured policy.
          x-field-id: F0009
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        source_refs:
          type: array
          items:
            $ref: '#/components/schemas/NormalizedSourceRef'
          description: >-
            Evidence references contributing to this record. A known empty array
            is valid for a newly client-created record.
          x-field-id: F0010
          x-classification: Confidential
          x-availability: Required when resource exists
        field_provenance:
          anyOf:
            - type: array
              items:
                $ref: '#/components/schemas/NormalizedFieldProvenance'
            - type: 'null'
          description: >-
            Field-level source, extraction, transformation and quality details.
            Preserve original evidence; do not invent missing values.
          x-field-id: F0011
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        data_status:
          $ref: '#/components/schemas/NormalizedEnum_data_status'
          description: >-
            Whether the requested resource is complete for its stated scope.
            Completeness is relative to declared fields, sources and time
            interval.
          x-field-id: F0012
          x-classification: Confidential
          x-availability: Required when resource exists
        missing_fields:
          type: array
          items:
            $ref: '#/components/schemas/NormalizedMissingField'
          description: >-
            Unavailable field paths and their explicit reasons. Preserve
            original evidence; do not invent missing values.
          x-field-id: F0013
          x-classification: Confidential
          x-availability: Required when resource exists
        schema_version:
          type: string
          description: >-
            Contract version used to serialize this record. Preserve original
            evidence; do not invent missing values.
          x-field-id: F0014
          x-classification: Confidential
          x-availability: Required when resource exists
        client_reference:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Optional caller-owned correlation identifier. Scoped to tenant;
            uniqueness only when explicitly contracted.
          x-field-id: F0015
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        extensions:
          anyOf:
            - type: object
              additionalProperties: true
            - type: 'null'
          description: >-
            Namespaced extra provider fields without changing the core schema.
            Access-controlled and documented per provider; no provider tokens.
          x-field-id: F0016
          x-classification: Restricted
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        person_id:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Person associated with the income evidence. Preserve original
            evidence; do not invent missing values.
          x-field-id: F0247
          x-classification: Restricted
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        income_source:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Employer or other origin reported by source. Preserve original
            evidence; do not invent missing values.
          x-field-id: F0248
          x-classification: Restricted
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        income_type:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Wages, benefits, business income or other source category. Preserve
            original evidence; do not invent missing values.
          x-field-id: F0249
          x-classification: Restricted
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        gross_amount:
          type: object
          properties:
            amount:
              anyOf:
                - type: string
                  pattern: ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?$
                  description: >-
                    Exact decimal string in major units. Do not use binary
                    floating-point arithmetic.
                - type: 'null'
              description: >-
                Gross income before deductions, only when established. Amount in
                major currency units. Pair with currency; preserve precision;
                zero differs from unavailable.
              x-field-id: F0250
              x-classification: Confidential
              x-availability: >-
                Source, module, country, consent and contracted permissions
                determine population.
            currency:
              anyOf:
                - type: string
                - type: 'null'
              description: >-
                Currency for gross amount. Uppercase ISO 4217 code when known;
                null for unsupported/unidentified currency, retain source code.
              x-field-id: F0251
              x-classification: Confidential
              x-availability: >-
                Source, module, country, consent and contracted permissions
                determine population.
        net_amount:
          type: object
          properties:
            amount:
              anyOf:
                - type: string
                  pattern: ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?$
                  description: >-
                    Exact decimal string in major units. Do not use binary
                    floating-point arithmetic.
                - type: 'null'
              description: >-
                Net amount received for the stated period. Amount in major
                currency units. Pair with currency; preserve precision; zero
                differs from unavailable.
              x-field-id: F0252
              x-classification: Confidential
              x-availability: >-
                Source, module, country, consent and contracted permissions
                determine population.
            currency:
              anyOf:
                - type: string
                - type: 'null'
              description: >-
                Currency for net amount. Uppercase ISO 4217 code when known;
                null for unsupported/unidentified currency, retain source code.
              x-field-id: F0253
              x-classification: Confidential
              x-availability: >-
                Source, module, country, consent and contracted permissions
                determine population.
        period_start:
          anyOf:
            - type: string
              format: date
            - type: 'null'
          description: >-
            Inclusive income period start. Preserve original evidence; do not
            invent missing values.
          x-field-id: F0254
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        period_end:
          anyOf:
            - type: string
              format: date
            - type: 'null'
          description: >-
            Inclusive income period end. Preserve original evidence; do not
            invent missing values.
          x-field-id: F0255
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        frequency:
          anyOf:
            - $ref: '#/components/schemas/NormalizedEnum_frequency'
            - type: 'null'
          description: >-
            Income payment cadence. Preserve original evidence; do not invent
            missing values.
          x-field-id: F0256
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        evidence_level:
          $ref: '#/components/schemas/NormalizedEnum_evidence_level'
          description: >-
            Whether the amount is reported, extracted or inferred. Preserve
            original evidence; do not invent missing values.
          x-field-id: F0257
          x-classification: Confidential
          x-availability: >-
            Returned when available and authorized; a partial read record can
            omit this field.
        transaction_ids:
          anyOf:
            - type: array
              items:
                type: string
            - type: 'null'
          description: >-
            Supporting bank transactions. Preserve original evidence; do not
            invent missing values.
          x-field-id: F0258
          x-classification: Restricted
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        document_ids:
          anyOf:
            - type: array
              items:
                type: string
            - type: 'null'
          description: >-
            Supporting income evidence. Preserve original evidence; do not
            invent missing values.
          x-field-id: F0259
          x-classification: Restricted
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        verified_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          description: >-
            Time of verification, if a verification actually occurred. Bank
            deposit classification alone is not payroll-verified gross income.
          x-field-id: F0260
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
      required:
        - id
        - object
        - created_at
        - updated_at
        - record_version
        - source_refs
        - data_status
        - missing_fields
        - schema_version
      title: IncomeObservationRead
      description: >-
        Income evidence from an entitled income product or an explicitly labeled
        inference. Population depends on source and tenant entitlement. Read
        representation includes all authorized populated fields. Missing or
        restricted fields carry explicit availability information; this API does
        not support field projection.
    NormalizedMerchantAccountRead:
      type: object
      properties:
        id:
          type: string
          description: >-
            Stable identifier scoped to the client tenant. Never use a provider
            ID as the public primary key.
          x-field-id: F0001
          x-classification: Confidential
          x-availability: Required when resource exists
        object:
          type: string
          const: merchant_account
          x-field-id: F0002
        subject_id:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Business or person to which this record relates. Null for
            tenant-level configuration and unresolved subjects.
          x-field-id: F0003
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        created_at:
          type: string
          format: date-time
          description: >-
            Time AMLOK first stored this resource. Preserve original evidence;
            do not invent missing values.
          x-field-id: F0004
          x-classification: Confidential
          x-availability: Required when resource exists
        updated_at:
          type: string
          format: date-time
          description: >-
            Time the normalized representation last changed. Preserve original
            evidence; do not invent missing values.
          x-field-id: F0005
          x-classification: Confidential
          x-availability: Required when resource exists
        observed_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          description: >-
            Time the source was observed by AMLOK. Do not imply this is the
            economic event time.
          x-field-id: F0006
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        effective_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          description: >-
            Time the source states this version became valid. Preserve original
            evidence; do not invent missing values.
          x-field-id: F0007
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        record_version:
          type: integer
          description: >-
            Monotonically increasing AMLOK version for this resource. Preserve
            original evidence; do not invent missing values.
          x-field-id: F0008
          x-classification: Confidential
          x-availability: Required when resource exists
        deleted_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          description: >-
            Tombstone timestamp for a source or AMLOK deletion. Null for records
            not deleted; retain only under the configured policy.
          x-field-id: F0009
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        source_refs:
          type: array
          items:
            $ref: '#/components/schemas/NormalizedSourceRef'
          description: >-
            Evidence references contributing to this record. A known empty array
            is valid for a newly client-created record.
          x-field-id: F0010
          x-classification: Confidential
          x-availability: Required when resource exists
        field_provenance:
          anyOf:
            - type: array
              items:
                $ref: '#/components/schemas/NormalizedFieldProvenance'
            - type: 'null'
          description: >-
            Field-level source, extraction, transformation and quality details.
            Preserve original evidence; do not invent missing values.
          x-field-id: F0011
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        data_status:
          $ref: '#/components/schemas/NormalizedEnum_data_status'
          description: >-
            Whether the requested resource is complete for its stated scope.
            Completeness is relative to declared fields, sources and time
            interval.
          x-field-id: F0012
          x-classification: Confidential
          x-availability: Required when resource exists
        missing_fields:
          type: array
          items:
            $ref: '#/components/schemas/NormalizedMissingField'
          description: >-
            Unavailable field paths and their explicit reasons. Preserve
            original evidence; do not invent missing values.
          x-field-id: F0013
          x-classification: Confidential
          x-availability: Required when resource exists
        schema_version:
          type: string
          description: >-
            Contract version used to serialize this record. Preserve original
            evidence; do not invent missing values.
          x-field-id: F0014
          x-classification: Confidential
          x-availability: Required when resource exists
        client_reference:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Optional caller-owned correlation identifier. Scoped to tenant;
            uniqueness only when explicitly contracted.
          x-field-id: F0015
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        extensions:
          anyOf:
            - type: object
              additionalProperties: true
            - type: 'null'
          description: >-
            Namespaced extra provider fields without changing the core schema.
            Access-controlled and documented per provider; no provider tokens.
          x-field-id: F0016
          x-classification: Restricted
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        connection_id:
          type: string
          description: >-
            Provider connection for the merchant. Preserve original evidence; do
            not invent missing values.
          x-field-id: F0261
          x-classification: Confidential
          x-availability: >-
            Returned when available and authorized; a partial read record can
            omit this field.
        merchant_id:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Provider merchant identifier. Preserve original evidence; do not
            invent missing values.
          x-field-id: F0262
          x-classification: Restricted
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        display_name:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Merchant name. Preserve original evidence; do not invent missing
            values.
          x-field-id: F0263
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        processor:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Payment processor or acquirer name. Preserve original evidence; do
            not invent missing values.
          x-field-id: F0264
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        country:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Merchant account jurisdiction. Preserve original evidence; do not
            invent missing values.
          x-field-id: F0265
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        settlement_currency:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Settlement currency. Preserve original evidence; do not invent
            missing values.
          x-field-id: F0266
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        status:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Provider merchant account status. Preserve original evidence; do not
            invent missing values.
          x-field-id: F0267
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        settlement_schedule:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Reported settlement cadence. Preserve original evidence; do not
            invent missing values.
          x-field-id: F0268
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        payout_account_id:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Matched bank destination account when established. Preserve original
            evidence; do not invent missing values.
          x-field-id: F0269
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        reserve_amount:
          type: object
          properties:
            amount:
              anyOf:
                - type: string
                  pattern: ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?$
                  description: >-
                    Exact decimal string in major units. Do not use binary
                    floating-point arithmetic.
                - type: 'null'
              description: >-
                Provider-reported withheld reserve. Amount in major currency
                units. Pair with currency; preserve precision; zero differs from
                unavailable.
              x-field-id: F0270
              x-classification: Confidential
              x-availability: >-
                Source, module, country, consent and contracted permissions
                determine population.
            currency:
              anyOf:
                - type: string
                - type: 'null'
              description: >-
                Currency for reserve amount. Uppercase ISO 4217 code when known;
                null for unsupported/unidentified currency, retain source code.
              x-field-id: F0271
              x-classification: Confidential
              x-availability: >-
                Source, module, country, consent and contracted permissions
                determine population.
        reserve_policy:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Reserve terms when explicitly provided. Preserve original evidence;
            do not invent missing values.
          x-field-id: F0272
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
      required:
        - id
        - object
        - created_at
        - updated_at
        - record_version
        - source_refs
        - data_status
        - missing_fields
        - schema_version
      title: MerchantAccountRead
      description: >-
        Merchant processing relationship and settlement context. Population
        depends on source and tenant entitlement. Read representation includes
        all authorized populated fields. Missing or restricted fields carry
        explicit availability information; this API does not support field
        projection.
    NormalizedPaymentRead:
      type: object
      properties:
        id:
          type: string
          description: >-
            Stable identifier scoped to the client tenant. Never use a provider
            ID as the public primary key.
          x-field-id: F0001
          x-classification: Confidential
          x-availability: Required when resource exists
        object:
          type: string
          const: payment
          x-field-id: F0002
        subject_id:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Business or person to which this record relates. Null for
            tenant-level configuration and unresolved subjects.
          x-field-id: F0003
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        created_at:
          type: string
          format: date-time
          description: >-
            Time AMLOK first stored this resource. Preserve original evidence;
            do not invent missing values.
          x-field-id: F0004
          x-classification: Confidential
          x-availability: Required when resource exists
        updated_at:
          type: string
          format: date-time
          description: >-
            Time the normalized representation last changed. Preserve original
            evidence; do not invent missing values.
          x-field-id: F0005
          x-classification: Confidential
          x-availability: Required when resource exists
        observed_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          description: >-
            Time the source was observed by AMLOK. Do not imply this is the
            economic event time.
          x-field-id: F0006
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        effective_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          description: >-
            Time the source states this version became valid. Preserve original
            evidence; do not invent missing values.
          x-field-id: F0007
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        record_version:
          type: integer
          description: >-
            Monotonically increasing AMLOK version for this resource. Preserve
            original evidence; do not invent missing values.
          x-field-id: F0008
          x-classification: Confidential
          x-availability: Required when resource exists
        deleted_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          description: >-
            Tombstone timestamp for a source or AMLOK deletion. Null for records
            not deleted; retain only under the configured policy.
          x-field-id: F0009
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        source_refs:
          type: array
          items:
            $ref: '#/components/schemas/NormalizedSourceRef'
          description: >-
            Evidence references contributing to this record. A known empty array
            is valid for a newly client-created record.
          x-field-id: F0010
          x-classification: Confidential
          x-availability: Required when resource exists
        field_provenance:
          anyOf:
            - type: array
              items:
                $ref: '#/components/schemas/NormalizedFieldProvenance'
            - type: 'null'
          description: >-
            Field-level source, extraction, transformation and quality details.
            Preserve original evidence; do not invent missing values.
          x-field-id: F0011
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        data_status:
          $ref: '#/components/schemas/NormalizedEnum_data_status'
          description: >-
            Whether the requested resource is complete for its stated scope.
            Completeness is relative to declared fields, sources and time
            interval.
          x-field-id: F0012
          x-classification: Confidential
          x-availability: Required when resource exists
        missing_fields:
          type: array
          items:
            $ref: '#/components/schemas/NormalizedMissingField'
          description: >-
            Unavailable field paths and their explicit reasons. Preserve
            original evidence; do not invent missing values.
          x-field-id: F0013
          x-classification: Confidential
          x-availability: Required when resource exists
        schema_version:
          type: string
          description: >-
            Contract version used to serialize this record. Preserve original
            evidence; do not invent missing values.
          x-field-id: F0014
          x-classification: Confidential
          x-availability: Required when resource exists
        client_reference:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Optional caller-owned correlation identifier. Scoped to tenant;
            uniqueness only when explicitly contracted.
          x-field-id: F0015
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        extensions:
          anyOf:
            - type: object
              additionalProperties: true
            - type: 'null'
          description: >-
            Namespaced extra provider fields without changing the core schema.
            Access-controlled and documented per provider; no provider tokens.
          x-field-id: F0016
          x-classification: Restricted
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        merchant_account_id:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Merchant processing account. Preserve original evidence; do not
            invent missing values.
          x-field-id: F0273
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        order_id:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Related commerce order when matched. Preserve original evidence; do
            not invent missing values.
          x-field-id: F0274
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        customer_id:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Related commercial counterparty. Preserve original evidence; do not
            invent missing values.
          x-field-id: F0275
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        source_payment_id:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Upstream payment identifier. Preserve original evidence; do not
            invent missing values.
          x-field-id: F0276
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        status:
          $ref: '#/components/schemas/NormalizedEnum_payment_status'
          description: >-
            Normalized payment state. Preserve original evidence; do not invent
            missing values.
          x-field-id: F0277
          x-classification: Confidential
          x-availability: >-
            Returned when available and authorized; a partial read record can
            omit this field.
        amount:
          type: object
          properties:
            amount:
              anyOf:
                - type: string
                  pattern: ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?$
                  description: >-
                    Exact decimal string in major units. Do not use binary
                    floating-point arithmetic.
                - type: 'null'
              description: >-
                Gross payment amount. Amount in major currency units. Pair with
                currency; preserve precision; zero differs from unavailable.
              x-field-id: F0278
              x-classification: Confidential
              x-availability: >-
                Source, module, country, consent and contracted permissions
                determine population.
            currency:
              anyOf:
                - type: string
                - type: 'null'
              description: >-
                Currency for amount. Uppercase ISO 4217 code when known; null
                for unsupported/unidentified currency, retain source code.
              x-field-id: F0279
              x-classification: Confidential
              x-availability: >-
                Source, module, country, consent and contracted permissions
                determine population.
        captured_amount:
          type: object
          properties:
            amount:
              anyOf:
                - type: string
                  pattern: ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?$
                  description: >-
                    Exact decimal string in major units. Do not use binary
                    floating-point arithmetic.
                - type: 'null'
              description: >-
                Amount captured by the merchant. Amount in major currency units.
                Pair with currency; preserve precision; zero differs from
                unavailable.
              x-field-id: F0280
              x-classification: Confidential
              x-availability: >-
                Source, module, country, consent and contracted permissions
                determine population.
            currency:
              anyOf:
                - type: string
                - type: 'null'
              description: >-
                Currency for captured amount. Uppercase ISO 4217 code when
                known; null for unsupported/unidentified currency, retain source
                code.
              x-field-id: F0281
              x-classification: Confidential
              x-availability: >-
                Source, module, country, consent and contracted permissions
                determine population.
        refunded_amount:
          type: object
          properties:
            amount:
              anyOf:
                - type: string
                  pattern: ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?$
                  description: >-
                    Exact decimal string in major units. Do not use binary
                    floating-point arithmetic.
                - type: 'null'
              description: >-
                Cumulative refund amount in the payment's currency. Amount in
                major currency units. Pair with currency; preserve precision;
                zero differs from unavailable.
              x-field-id: F0282
              x-classification: Confidential
              x-availability: >-
                Source, module, country, consent and contracted permissions
                determine population.
            currency:
              anyOf:
                - type: string
                - type: 'null'
              description: >-
                Currency for refunded amount. Uppercase ISO 4217 code when
                known; null for unsupported/unidentified currency, retain source
                code.
              x-field-id: F0283
              x-classification: Confidential
              x-availability: >-
                Source, module, country, consent and contracted permissions
                determine population.
        fee_amount:
          type: object
          properties:
            amount:
              anyOf:
                - type: string
                  pattern: ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?$
                  description: >-
                    Exact decimal string in major units. Do not use binary
                    floating-point arithmetic.
                - type: 'null'
              description: >-
                Provider-reported fee attributable to this payment. Amount in
                major currency units. Pair with currency; preserve precision;
                zero differs from unavailable.
              x-field-id: F0284
              x-classification: Confidential
              x-availability: >-
                Source, module, country, consent and contracted permissions
                determine population.
            currency:
              anyOf:
                - type: string
                - type: 'null'
              description: >-
                Currency for fee amount. Uppercase ISO 4217 code when known;
                null for unsupported/unidentified currency, retain source code.
              x-field-id: F0285
              x-classification: Confidential
              x-availability: >-
                Source, module, country, consent and contracted permissions
                determine population.
        net_amount:
          type: object
          properties:
            amount:
              anyOf:
                - type: string
                  pattern: ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?$
                  description: >-
                    Exact decimal string in major units. Do not use binary
                    floating-point arithmetic.
                - type: 'null'
              description: >-
                Provider-reported net settlement contribution. Amount in major
                currency units. Pair with currency; preserve precision; zero
                differs from unavailable.
              x-field-id: F0286
              x-classification: Confidential
              x-availability: >-
                Source, module, country, consent and contracted permissions
                determine population.
            currency:
              anyOf:
                - type: string
                - type: 'null'
              description: >-
                Currency for net amount. Uppercase ISO 4217 code when known;
                null for unsupported/unidentified currency, retain source code.
              x-field-id: F0287
              x-classification: Confidential
              x-availability: >-
                Source, module, country, consent and contracted permissions
                determine population.
        method_type:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Payment method category. Preserve original evidence; do not invent
            missing values.
          x-field-id: F0288
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        card_brand:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Card network if supplied. Preserve original evidence; do not invent
            missing values.
          x-field-id: F0289
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        card_last4:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Last four digits only, when required for the workflow. Never expose
            PAN, CVV or magnetic-stripe data.
          x-field-id: F0290
          x-classification: Restricted
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        authorized_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          description: >-
            Authorization timestamp. Preserve original evidence; do not invent
            missing values.
          x-field-id: F0291
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        captured_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          description: >-
            Capture timestamp. Preserve original evidence; do not invent missing
            values.
          x-field-id: F0292
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        settled_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          description: >-
            Settlement timestamp when established. Preserve original evidence;
            do not invent missing values.
          x-field-id: F0293
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        failure_code:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Sanitized failure reason. Preserve original evidence; do not invent
            missing values.
          x-field-id: F0294
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        payout_id:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Payout containing this payment if the source supplies a linkage.
            Preserve original evidence; do not invent missing values.
          x-field-id: F0295
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
      required:
        - id
        - object
        - created_at
        - updated_at
        - record_version
        - source_refs
        - data_status
        - missing_fields
        - schema_version
      title: PaymentRead
      description: >-
        Payment authorization, capture or collection record. Population depends
        on source and tenant entitlement. Read representation includes all
        authorized populated fields. Missing or restricted fields carry explicit
        availability information; this API does not support field projection.
    NormalizedProcessorTransactionRead:
      type: object
      properties:
        id:
          type: string
          description: >-
            Stable identifier scoped to the client tenant. Never use a provider
            ID as the public primary key.
          x-field-id: F0001
          x-classification: Confidential
          x-availability: Required when resource exists
        object:
          type: string
          const: processor_transaction
          x-field-id: F0002
        subject_id:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Business or person to which this record relates. Null for
            tenant-level configuration and unresolved subjects.
          x-field-id: F0003
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        created_at:
          type: string
          format: date-time
          description: >-
            Time AMLOK first stored this resource. Preserve original evidence;
            do not invent missing values.
          x-field-id: F0004
          x-classification: Confidential
          x-availability: Required when resource exists
        updated_at:
          type: string
          format: date-time
          description: >-
            Time the normalized representation last changed. Preserve original
            evidence; do not invent missing values.
          x-field-id: F0005
          x-classification: Confidential
          x-availability: Required when resource exists
        observed_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          description: >-
            Time the source was observed by AMLOK. Do not imply this is the
            economic event time.
          x-field-id: F0006
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        effective_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          description: >-
            Time the source states this version became valid. Preserve original
            evidence; do not invent missing values.
          x-field-id: F0007
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        record_version:
          type: integer
          description: >-
            Monotonically increasing AMLOK version for this resource. Preserve
            original evidence; do not invent missing values.
          x-field-id: F0008
          x-classification: Confidential
          x-availability: Required when resource exists
        deleted_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          description: >-
            Tombstone timestamp for a source or AMLOK deletion. Null for records
            not deleted; retain only under the configured policy.
          x-field-id: F0009
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        source_refs:
          type: array
          items:
            $ref: '#/components/schemas/NormalizedSourceRef'
          description: >-
            Evidence references contributing to this record. A known empty array
            is valid for a newly client-created record.
          x-field-id: F0010
          x-classification: Confidential
          x-availability: Required when resource exists
        field_provenance:
          anyOf:
            - type: array
              items:
                $ref: '#/components/schemas/NormalizedFieldProvenance'
            - type: 'null'
          description: >-
            Field-level source, extraction, transformation and quality details.
            Preserve original evidence; do not invent missing values.
          x-field-id: F0011
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        data_status:
          $ref: '#/components/schemas/NormalizedEnum_data_status'
          description: >-
            Whether the requested resource is complete for its stated scope.
            Completeness is relative to declared fields, sources and time
            interval.
          x-field-id: F0012
          x-classification: Confidential
          x-availability: Required when resource exists
        missing_fields:
          type: array
          items:
            $ref: '#/components/schemas/NormalizedMissingField'
          description: >-
            Unavailable field paths and their explicit reasons. Preserve
            original evidence; do not invent missing values.
          x-field-id: F0013
          x-classification: Confidential
          x-availability: Required when resource exists
        schema_version:
          type: string
          description: >-
            Contract version used to serialize this record. Preserve original
            evidence; do not invent missing values.
          x-field-id: F0014
          x-classification: Confidential
          x-availability: Required when resource exists
        client_reference:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Optional caller-owned correlation identifier. Scoped to tenant;
            uniqueness only when explicitly contracted.
          x-field-id: F0015
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        extensions:
          anyOf:
            - type: object
              additionalProperties: true
            - type: 'null'
          description: >-
            Namespaced extra provider fields without changing the core schema.
            Access-controlled and documented per provider; no provider tokens.
          x-field-id: F0016
          x-classification: Restricted
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        merchant_account_id:
          type: string
          description: >-
            Merchant balance associated with this event. Preserve original
            evidence; do not invent missing values.
          x-field-id: F0296
          x-classification: Confidential
          x-availability: >-
            Returned when available and authorized; a partial read record can
            omit this field.
        source_transaction_id:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Provider ledger-event identifier. Preserve original evidence; do not
            invent missing values.
          x-field-id: F0297
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        event_type:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Provider ledger type, such as charge, refund or payout. Preserve
            original evidence; do not invent missing values.
          x-field-id: F0298
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        gross:
          type: object
          properties:
            amount:
              anyOf:
                - type: string
                  pattern: ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?$
                  description: >-
                    Exact decimal string in major units. Do not use binary
                    floating-point arithmetic.
                - type: 'null'
              description: >-
                Signed gross processor-balance movement. Amount in major
                currency units. Positive increases balance; retain source
                semantics in mapping.
              x-field-id: F0299
              x-classification: Confidential
              x-availability: >-
                Source, module, country, consent and contracted permissions
                determine population.
            currency:
              anyOf:
                - type: string
                - type: 'null'
              description: >-
                Currency for gross. Uppercase ISO 4217 code when known; null for
                unsupported/unidentified currency, retain source code.
              x-field-id: F0300
              x-classification: Confidential
              x-availability: >-
                Source, module, country, consent and contracted permissions
                determine population.
        fee:
          type: object
          properties:
            amount:
              anyOf:
                - type: string
                  pattern: ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?$
                  description: >-
                    Exact decimal string in major units. Do not use binary
                    floating-point arithmetic.
                - type: 'null'
              description: >-
                Fee assessed by the processor for this event. Amount in major
                currency units. Pair with currency; preserve precision; zero
                differs from unavailable.
              x-field-id: F0301
              x-classification: Confidential
              x-availability: >-
                Source, module, country, consent and contracted permissions
                determine population.
            currency:
              anyOf:
                - type: string
                - type: 'null'
              description: >-
                Currency for fee. Uppercase ISO 4217 code when known; null for
                unsupported/unidentified currency, retain source code.
              x-field-id: F0302
              x-classification: Confidential
              x-availability: >-
                Source, module, country, consent and contracted permissions
                determine population.
        net:
          type: object
          properties:
            amount:
              anyOf:
                - type: string
                  pattern: ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?$
                  description: >-
                    Exact decimal string in major units. Do not use binary
                    floating-point arithmetic.
                - type: 'null'
              description: >-
                Signed net balance impact. Amount in major currency units. For
                Stripe balance transactions, net equals amount minus fee.
              x-field-id: F0303
              x-classification: Confidential
              x-availability: >-
                Source, module, country, consent and contracted permissions
                determine population.
            currency:
              anyOf:
                - type: string
                - type: 'null'
              description: >-
                Currency for net. Uppercase ISO 4217 code when known; null for
                unsupported/unidentified currency, retain source code.
              x-field-id: F0304
              x-classification: Confidential
              x-availability: >-
                Source, module, country, consent and contracted permissions
                determine population.
        reporting_category:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Provider accounting classification. Preserve original evidence; do
            not invent missing values.
          x-field-id: F0305
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        availability_status:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Provider fund availability state. Preserve original evidence; do not
            invent missing values.
          x-field-id: F0306
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        available_on:
          anyOf:
            - type: string
              format: date
            - type: 'null'
          description: >-
            Date funds become available in the processor balance. Preserve
            original evidence; do not invent missing values.
          x-field-id: F0307
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        occurred_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          description: >-
            Provider ledger-event creation time. Preserve original evidence; do
            not invent missing values.
          x-field-id: F0308
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        source_object_id:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Upstream object linked to this event. Preserve original evidence; do
            not invent missing values.
          x-field-id: F0309
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        payment_id:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Normalized payment link when resolved. Preserve original evidence;
            do not invent missing values.
          x-field-id: F0310
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
      required:
        - id
        - object
        - created_at
        - updated_at
        - record_version
        - source_refs
        - data_status
        - missing_fields
        - schema_version
      title: ProcessorTransactionRead
      description: >-
        Ledger event on a processor balance, separate from bank movements.
        Population depends on source and tenant entitlement. Read representation
        includes all authorized populated fields. Missing or restricted fields
        carry explicit availability information; this API does not support field
        projection.
    NormalizedPayoutRead:
      type: object
      properties:
        id:
          type: string
          description: >-
            Stable identifier scoped to the client tenant. Never use a provider
            ID as the public primary key.
          x-field-id: F0001
          x-classification: Confidential
          x-availability: Required when resource exists
        object:
          type: string
          const: payout
          x-field-id: F0002
        subject_id:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Business or person to which this record relates. Null for
            tenant-level configuration and unresolved subjects.
          x-field-id: F0003
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        created_at:
          type: string
          format: date-time
          description: >-
            Time AMLOK first stored this resource. Preserve original evidence;
            do not invent missing values.
          x-field-id: F0004
          x-classification: Confidential
          x-availability: Required when resource exists
        updated_at:
          type: string
          format: date-time
          description: >-
            Time the normalized representation last changed. Preserve original
            evidence; do not invent missing values.
          x-field-id: F0005
          x-classification: Confidential
          x-availability: Required when resource exists
        observed_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          description: >-
            Time the source was observed by AMLOK. Do not imply this is the
            economic event time.
          x-field-id: F0006
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        effective_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          description: >-
            Time the source states this version became valid. Preserve original
            evidence; do not invent missing values.
          x-field-id: F0007
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        record_version:
          type: integer
          description: >-
            Monotonically increasing AMLOK version for this resource. Preserve
            original evidence; do not invent missing values.
          x-field-id: F0008
          x-classification: Confidential
          x-availability: Required when resource exists
        deleted_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          description: >-
            Tombstone timestamp for a source or AMLOK deletion. Null for records
            not deleted; retain only under the configured policy.
          x-field-id: F0009
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        source_refs:
          type: array
          items:
            $ref: '#/components/schemas/NormalizedSourceRef'
          description: >-
            Evidence references contributing to this record. A known empty array
            is valid for a newly client-created record.
          x-field-id: F0010
          x-classification: Confidential
          x-availability: Required when resource exists
        field_provenance:
          anyOf:
            - type: array
              items:
                $ref: '#/components/schemas/NormalizedFieldProvenance'
            - type: 'null'
          description: >-
            Field-level source, extraction, transformation and quality details.
            Preserve original evidence; do not invent missing values.
          x-field-id: F0011
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        data_status:
          $ref: '#/components/schemas/NormalizedEnum_data_status'
          description: >-
            Whether the requested resource is complete for its stated scope.
            Completeness is relative to declared fields, sources and time
            interval.
          x-field-id: F0012
          x-classification: Confidential
          x-availability: Required when resource exists
        missing_fields:
          type: array
          items:
            $ref: '#/components/schemas/NormalizedMissingField'
          description: >-
            Unavailable field paths and their explicit reasons. Preserve
            original evidence; do not invent missing values.
          x-field-id: F0013
          x-classification: Confidential
          x-availability: Required when resource exists
        schema_version:
          type: string
          description: >-
            Contract version used to serialize this record. Preserve original
            evidence; do not invent missing values.
          x-field-id: F0014
          x-classification: Confidential
          x-availability: Required when resource exists
        client_reference:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Optional caller-owned correlation identifier. Scoped to tenant;
            uniqueness only when explicitly contracted.
          x-field-id: F0015
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        extensions:
          anyOf:
            - type: object
              additionalProperties: true
            - type: 'null'
          description: >-
            Namespaced extra provider fields without changing the core schema.
            Access-controlled and documented per provider; no provider tokens.
          x-field-id: F0016
          x-classification: Restricted
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        merchant_account_id:
          type: string
          description: >-
            Merchant account initiating settlement. Preserve original evidence;
            do not invent missing values.
          x-field-id: F0311
          x-classification: Confidential
          x-availability: >-
            Returned when available and authorized; a partial read record can
            omit this field.
        source_payout_id:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Provider payout identifier. Preserve original evidence; do not
            invent missing values.
          x-field-id: F0312
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        status:
          $ref: '#/components/schemas/NormalizedEnum_payout_status'
          description: >-
            Normalized settlement state. Preserve original evidence; do not
            invent missing values.
          x-field-id: F0313
          x-classification: Confidential
          x-availability: >-
            Returned when available and authorized; a partial read record can
            omit this field.
        gross:
          type: object
          properties:
            amount:
              anyOf:
                - type: string
                  pattern: ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?$
                  description: >-
                    Exact decimal string in major units. Do not use binary
                    floating-point arithmetic.
                - type: 'null'
              description: >-
                Gross settled amount before deductions, if separately reported.
                Amount in major currency units. Pair with currency; preserve
                precision; zero differs from unavailable.
              x-field-id: F0314
              x-classification: Confidential
              x-availability: >-
                Source, module, country, consent and contracted permissions
                determine population.
            currency:
              anyOf:
                - type: string
                - type: 'null'
              description: >-
                Currency for gross. Uppercase ISO 4217 code when known; null for
                unsupported/unidentified currency, retain source code.
              x-field-id: F0315
              x-classification: Confidential
              x-availability: >-
                Source, module, country, consent and contracted permissions
                determine population.
        fees:
          type: object
          properties:
            amount:
              anyOf:
                - type: string
                  pattern: ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?$
                  description: >-
                    Exact decimal string in major units. Do not use binary
                    floating-point arithmetic.
                - type: 'null'
              description: >-
                Settlement deductions explicitly identified as fees. Amount in
                major currency units. Pair with currency; preserve precision;
                zero differs from unavailable.
              x-field-id: F0316
              x-classification: Confidential
              x-availability: >-
                Source, module, country, consent and contracted permissions
                determine population.
            currency:
              anyOf:
                - type: string
                - type: 'null'
              description: >-
                Currency for fees. Uppercase ISO 4217 code when known; null for
                unsupported/unidentified currency, retain source code.
              x-field-id: F0317
              x-classification: Confidential
              x-availability: >-
                Source, module, country, consent and contracted permissions
                determine population.
        net:
          type: object
          properties:
            amount:
              anyOf:
                - type: string
                  pattern: ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?$
                  description: >-
                    Exact decimal string in major units. Do not use binary
                    floating-point arithmetic.
                - type: 'null'
              description: >-
                Amount remitted to the destination. Amount in major currency
                units. Pair with currency; preserve precision; zero differs from
                unavailable.
              x-field-id: F0318
              x-classification: Confidential
              x-availability: >-
                Source, module, country, consent and contracted permissions
                determine population.
            currency:
              anyOf:
                - type: string
                - type: 'null'
              description: >-
                Currency for net. Uppercase ISO 4217 code when known; null for
                unsupported/unidentified currency, retain source code.
              x-field-id: F0319
              x-classification: Confidential
              x-availability: >-
                Source, module, country, consent and contracted permissions
                determine population.
        created_on:
          anyOf:
            - type: string
              format: date
            - type: 'null'
          description: >-
            Payout initiation date. Preserve original evidence; do not invent
            missing values.
          x-field-id: F0320
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        expected_arrival_on:
          anyOf:
            - type: string
              format: date
            - type: 'null'
          description: >-
            Expected arrival, if provided. Preserve original evidence; do not
            invent missing values.
          x-field-id: F0321
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        paid_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          description: >-
            Provider-reported completion time. Preserve original evidence; do
            not invent missing values.
          x-field-id: F0322
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        destination_account_id:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Matched destination bank account. Preserve original evidence; do not
            invent missing values.
          x-field-id: F0323
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        bank_transaction_id:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Matching deposit or debit record. Preserve original evidence; do not
            invent missing values.
          x-field-id: F0324
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        reconciliation_status:
          anyOf:
            - $ref: '#/components/schemas/NormalizedEnum_reconciliation_status'
            - type: 'null'
          description: >-
            Match state between settlement and bank movement. Preserve original
            evidence; do not invent missing values.
          x-field-id: F0325
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        failure_code:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Provider failure reason if applicable. Preserve original evidence;
            do not invent missing values.
          x-field-id: F0326
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
      required:
        - id
        - object
        - created_at
        - updated_at
        - record_version
        - source_refs
        - data_status
        - missing_fields
        - schema_version
      title: PayoutRead
      description: >-
        Settlement from a processor or marketplace to a destination account.
        Population depends on source and tenant entitlement. Read representation
        includes all authorized populated fields. Missing or restricted fields
        carry explicit availability information; this API does not support field
        projection.
    NormalizedRefundRead:
      type: object
      properties:
        id:
          type: string
          description: >-
            Stable identifier scoped to the client tenant. Never use a provider
            ID as the public primary key.
          x-field-id: F0001
          x-classification: Confidential
          x-availability: Required when resource exists
        object:
          type: string
          const: refund
          x-field-id: F0002
        subject_id:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Business or person to which this record relates. Null for
            tenant-level configuration and unresolved subjects.
          x-field-id: F0003
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        created_at:
          type: string
          format: date-time
          description: >-
            Time AMLOK first stored this resource. Preserve original evidence;
            do not invent missing values.
          x-field-id: F0004
          x-classification: Confidential
          x-availability: Required when resource exists
        updated_at:
          type: string
          format: date-time
          description: >-
            Time the normalized representation last changed. Preserve original
            evidence; do not invent missing values.
          x-field-id: F0005
          x-classification: Confidential
          x-availability: Required when resource exists
        observed_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          description: >-
            Time the source was observed by AMLOK. Do not imply this is the
            economic event time.
          x-field-id: F0006
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        effective_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          description: >-
            Time the source states this version became valid. Preserve original
            evidence; do not invent missing values.
          x-field-id: F0007
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        record_version:
          type: integer
          description: >-
            Monotonically increasing AMLOK version for this resource. Preserve
            original evidence; do not invent missing values.
          x-field-id: F0008
          x-classification: Confidential
          x-availability: Required when resource exists
        deleted_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          description: >-
            Tombstone timestamp for a source or AMLOK deletion. Null for records
            not deleted; retain only under the configured policy.
          x-field-id: F0009
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        source_refs:
          type: array
          items:
            $ref: '#/components/schemas/NormalizedSourceRef'
          description: >-
            Evidence references contributing to this record. A known empty array
            is valid for a newly client-created record.
          x-field-id: F0010
          x-classification: Confidential
          x-availability: Required when resource exists
        field_provenance:
          anyOf:
            - type: array
              items:
                $ref: '#/components/schemas/NormalizedFieldProvenance'
            - type: 'null'
          description: >-
            Field-level source, extraction, transformation and quality details.
            Preserve original evidence; do not invent missing values.
          x-field-id: F0011
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        data_status:
          $ref: '#/components/schemas/NormalizedEnum_data_status'
          description: >-
            Whether the requested resource is complete for its stated scope.
            Completeness is relative to declared fields, sources and time
            interval.
          x-field-id: F0012
          x-classification: Confidential
          x-availability: Required when resource exists
        missing_fields:
          type: array
          items:
            $ref: '#/components/schemas/NormalizedMissingField'
          description: >-
            Unavailable field paths and their explicit reasons. Preserve
            original evidence; do not invent missing values.
          x-field-id: F0013
          x-classification: Confidential
          x-availability: Required when resource exists
        schema_version:
          type: string
          description: >-
            Contract version used to serialize this record. Preserve original
            evidence; do not invent missing values.
          x-field-id: F0014
          x-classification: Confidential
          x-availability: Required when resource exists
        client_reference:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Optional caller-owned correlation identifier. Scoped to tenant;
            uniqueness only when explicitly contracted.
          x-field-id: F0015
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        extensions:
          anyOf:
            - type: object
              additionalProperties: true
            - type: 'null'
          description: >-
            Namespaced extra provider fields without changing the core schema.
            Access-controlled and documented per provider; no provider tokens.
          x-field-id: F0016
          x-classification: Restricted
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        payment_id:
          type: string
          description: >-
            Original payment being refunded. Preserve original evidence; do not
            invent missing values.
          x-field-id: F0327
          x-classification: Confidential
          x-availability: >-
            Returned when available and authorized; a partial read record can
            omit this field.
        order_id:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Related order when known. Preserve original evidence; do not invent
            missing values.
          x-field-id: F0328
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        amount:
          type: object
          properties:
            amount:
              anyOf:
                - type: string
                  pattern: ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?$
                  description: >-
                    Exact decimal string in major units. Do not use binary
                    floating-point arithmetic.
                - type: 'null'
              description: >-
                Refund magnitude, nonnegative. Amount in major currency units.
                Pair with currency; preserve precision; zero differs from
                unavailable.
              x-field-id: F0329
              x-classification: Confidential
              x-availability: >-
                Source, module, country, consent and contracted permissions
                determine population.
            currency:
              anyOf:
                - type: string
                - type: 'null'
              description: >-
                Currency for amount. Uppercase ISO 4217 code when known; null
                for unsupported/unidentified currency, retain source code.
              x-field-id: F0330
              x-classification: Confidential
              x-availability: >-
                Source, module, country, consent and contracted permissions
                determine population.
        status:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Provider or mapped refund status. Preserve original evidence; do not
            invent missing values.
          x-field-id: F0331
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        reason:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Refund reason supplied by source. Preserve original evidence; do not
            invent missing values.
          x-field-id: F0332
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        requested_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          description: >-
            Refund initiation time. Preserve original evidence; do not invent
            missing values.
          x-field-id: F0333
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        completed_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          description: >-
            Completion time if confirmed. Preserve original evidence; do not
            invent missing values.
          x-field-id: F0334
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        processor_transaction_id:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Ledger event representing the refund. Preserve original evidence; do
            not invent missing values.
          x-field-id: F0335
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
      required:
        - id
        - object
        - created_at
        - updated_at
        - record_version
        - source_refs
        - data_status
        - missing_fields
        - schema_version
      title: RefundRead
      description: >-
        Return of money linked to a payment or order. Population depends on
        source and tenant entitlement. Read representation includes all
        authorized populated fields. Missing or restricted fields carry explicit
        availability information; this API does not support field projection.
    NormalizedDisputeRead:
      type: object
      properties:
        id:
          type: string
          description: >-
            Stable identifier scoped to the client tenant. Never use a provider
            ID as the public primary key.
          x-field-id: F0001
          x-classification: Confidential
          x-availability: Required when resource exists
        object:
          type: string
          const: dispute
          x-field-id: F0002
        subject_id:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Business or person to which this record relates. Null for
            tenant-level configuration and unresolved subjects.
          x-field-id: F0003
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        created_at:
          type: string
          format: date-time
          description: >-
            Time AMLOK first stored this resource. Preserve original evidence;
            do not invent missing values.
          x-field-id: F0004
          x-classification: Confidential
          x-availability: Required when resource exists
        updated_at:
          type: string
          format: date-time
          description: >-
            Time the normalized representation last changed. Preserve original
            evidence; do not invent missing values.
          x-field-id: F0005
          x-classification: Confidential
          x-availability: Required when resource exists
        observed_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          description: >-
            Time the source was observed by AMLOK. Do not imply this is the
            economic event time.
          x-field-id: F0006
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        effective_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          description: >-
            Time the source states this version became valid. Preserve original
            evidence; do not invent missing values.
          x-field-id: F0007
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        record_version:
          type: integer
          description: >-
            Monotonically increasing AMLOK version for this resource. Preserve
            original evidence; do not invent missing values.
          x-field-id: F0008
          x-classification: Confidential
          x-availability: Required when resource exists
        deleted_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          description: >-
            Tombstone timestamp for a source or AMLOK deletion. Null for records
            not deleted; retain only under the configured policy.
          x-field-id: F0009
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        source_refs:
          type: array
          items:
            $ref: '#/components/schemas/NormalizedSourceRef'
          description: >-
            Evidence references contributing to this record. A known empty array
            is valid for a newly client-created record.
          x-field-id: F0010
          x-classification: Confidential
          x-availability: Required when resource exists
        field_provenance:
          anyOf:
            - type: array
              items:
                $ref: '#/components/schemas/NormalizedFieldProvenance'
            - type: 'null'
          description: >-
            Field-level source, extraction, transformation and quality details.
            Preserve original evidence; do not invent missing values.
          x-field-id: F0011
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        data_status:
          $ref: '#/components/schemas/NormalizedEnum_data_status'
          description: >-
            Whether the requested resource is complete for its stated scope.
            Completeness is relative to declared fields, sources and time
            interval.
          x-field-id: F0012
          x-classification: Confidential
          x-availability: Required when resource exists
        missing_fields:
          type: array
          items:
            $ref: '#/components/schemas/NormalizedMissingField'
          description: >-
            Unavailable field paths and their explicit reasons. Preserve
            original evidence; do not invent missing values.
          x-field-id: F0013
          x-classification: Confidential
          x-availability: Required when resource exists
        schema_version:
          type: string
          description: >-
            Contract version used to serialize this record. Preserve original
            evidence; do not invent missing values.
          x-field-id: F0014
          x-classification: Confidential
          x-availability: Required when resource exists
        client_reference:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Optional caller-owned correlation identifier. Scoped to tenant;
            uniqueness only when explicitly contracted.
          x-field-id: F0015
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        extensions:
          anyOf:
            - type: object
              additionalProperties: true
            - type: 'null'
          description: >-
            Namespaced extra provider fields without changing the core schema.
            Access-controlled and documented per provider; no provider tokens.
          x-field-id: F0016
          x-classification: Restricted
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        payment_id:
          type: string
          description: >-
            Disputed payment. Preserve original evidence; do not invent missing
            values.
          x-field-id: F0336
          x-classification: Confidential
          x-availability: >-
            Returned when available and authorized; a partial read record can
            omit this field.
        amount:
          type: object
          properties:
            amount:
              anyOf:
                - type: string
                  pattern: ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?$
                  description: >-
                    Exact decimal string in major units. Do not use binary
                    floating-point arithmetic.
                - type: 'null'
              description: >-
                Disputed amount. Amount in major currency units. Pair with
                currency; preserve precision; zero differs from unavailable.
              x-field-id: F0337
              x-classification: Confidential
              x-availability: >-
                Source, module, country, consent and contracted permissions
                determine population.
            currency:
              anyOf:
                - type: string
                - type: 'null'
              description: >-
                Currency for amount. Uppercase ISO 4217 code when known; null
                for unsupported/unidentified currency, retain source code.
              x-field-id: F0338
              x-classification: Confidential
              x-availability: >-
                Source, module, country, consent and contracted permissions
                determine population.
        reason_code:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Provider or network dispute category. Preserve original evidence; do
            not invent missing values.
          x-field-id: F0339
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        status:
          $ref: '#/components/schemas/NormalizedEnum_dispute_status'
          description: >-
            Dispute process state. Preserve original evidence; do not invent
            missing values.
          x-field-id: F0340
          x-classification: Confidential
          x-availability: >-
            Returned when available and authorized; a partial read record can
            omit this field.
        opened_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          description: >-
            Dispute opening time. Preserve original evidence; do not invent
            missing values.
          x-field-id: F0341
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        response_due_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          description: >-
            Provider-specified evidence deadline. Preserve original evidence; do
            not invent missing values.
          x-field-id: F0342
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        closed_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          description: >-
            Dispute closure time. Preserve original evidence; do not invent
            missing values.
          x-field-id: F0343
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        evidence_submitted:
          anyOf:
            - type: boolean
            - type: 'null'
          description: >-
            Whether a response was submitted. Preserve original evidence; do not
            invent missing values.
          x-field-id: F0344
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        fee_amount:
          type: object
          properties:
            amount:
              anyOf:
                - type: string
                  pattern: ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?$
                  description: >-
                    Exact decimal string in major units. Do not use binary
                    floating-point arithmetic.
                - type: 'null'
              description: >-
                Dispute fee if separately reported. Amount in major currency
                units. Pair with currency; preserve precision; zero differs from
                unavailable.
              x-field-id: F0345
              x-classification: Confidential
              x-availability: >-
                Source, module, country, consent and contracted permissions
                determine population.
            currency:
              anyOf:
                - type: string
                - type: 'null'
              description: >-
                Currency for fee amount. Uppercase ISO 4217 code when known;
                null for unsupported/unidentified currency, retain source code.
              x-field-id: F0346
              x-classification: Confidential
              x-availability: >-
                Source, module, country, consent and contracted permissions
                determine population.
      required:
        - id
        - object
        - created_at
        - updated_at
        - record_version
        - source_refs
        - data_status
        - missing_fields
        - schema_version
      title: DisputeRead
      description: >-
        Chargeback or payment dispute and its evidence deadlines. Population
        depends on source and tenant entitlement. Read representation includes
        all authorized populated fields. Missing or restricted fields carry
        explicit availability information; this API does not support field
        projection.
    NormalizedCounterpartyRead:
      type: object
      properties:
        id:
          type: string
          description: >-
            Stable identifier scoped to the client tenant. Never use a provider
            ID as the public primary key.
          x-field-id: F0001
          x-classification: Confidential
          x-availability: Required when resource exists
        object:
          type: string
          const: counterparty
          x-field-id: F0002
        subject_id:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Business or person to which this record relates. Null for
            tenant-level configuration and unresolved subjects.
          x-field-id: F0003
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        created_at:
          type: string
          format: date-time
          description: >-
            Time AMLOK first stored this resource. Preserve original evidence;
            do not invent missing values.
          x-field-id: F0004
          x-classification: Confidential
          x-availability: Required when resource exists
        updated_at:
          type: string
          format: date-time
          description: >-
            Time the normalized representation last changed. Preserve original
            evidence; do not invent missing values.
          x-field-id: F0005
          x-classification: Confidential
          x-availability: Required when resource exists
        observed_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          description: >-
            Time the source was observed by AMLOK. Do not imply this is the
            economic event time.
          x-field-id: F0006
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        effective_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          description: >-
            Time the source states this version became valid. Preserve original
            evidence; do not invent missing values.
          x-field-id: F0007
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        record_version:
          type: integer
          description: >-
            Monotonically increasing AMLOK version for this resource. Preserve
            original evidence; do not invent missing values.
          x-field-id: F0008
          x-classification: Confidential
          x-availability: Required when resource exists
        deleted_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          description: >-
            Tombstone timestamp for a source or AMLOK deletion. Null for records
            not deleted; retain only under the configured policy.
          x-field-id: F0009
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        source_refs:
          type: array
          items:
            $ref: '#/components/schemas/NormalizedSourceRef'
          description: >-
            Evidence references contributing to this record. A known empty array
            is valid for a newly client-created record.
          x-field-id: F0010
          x-classification: Confidential
          x-availability: Required when resource exists
        field_provenance:
          anyOf:
            - type: array
              items:
                $ref: '#/components/schemas/NormalizedFieldProvenance'
            - type: 'null'
          description: >-
            Field-level source, extraction, transformation and quality details.
            Preserve original evidence; do not invent missing values.
          x-field-id: F0011
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        data_status:
          $ref: '#/components/schemas/NormalizedEnum_data_status'
          description: >-
            Whether the requested resource is complete for its stated scope.
            Completeness is relative to declared fields, sources and time
            interval.
          x-field-id: F0012
          x-classification: Confidential
          x-availability: Required when resource exists
        missing_fields:
          type: array
          items:
            $ref: '#/components/schemas/NormalizedMissingField'
          description: >-
            Unavailable field paths and their explicit reasons. Preserve
            original evidence; do not invent missing values.
          x-field-id: F0013
          x-classification: Confidential
          x-availability: Required when resource exists
        schema_version:
          type: string
          description: >-
            Contract version used to serialize this record. Preserve original
            evidence; do not invent missing values.
          x-field-id: F0014
          x-classification: Confidential
          x-availability: Required when resource exists
        client_reference:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Optional caller-owned correlation identifier. Scoped to tenant;
            uniqueness only when explicitly contracted.
          x-field-id: F0015
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        extensions:
          anyOf:
            - type: object
              additionalProperties: true
            - type: 'null'
          description: >-
            Namespaced extra provider fields without changing the core schema.
            Access-controlled and documented per provider; no provider tokens.
          x-field-id: F0016
          x-classification: Restricted
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        counterparty_type:
          type: string
          description: >-
            Customer, supplier or both. Preserve original evidence; do not
            invent missing values.
          x-field-id: F0347
          x-classification: Confidential
          x-availability: >-
            Returned when available and authorized; a partial read record can
            omit this field.
        display_name:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Commercial record's display name. Preserve original evidence; do not
            invent missing values.
          x-field-id: F0348
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        legal_name:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Legal name when explicitly provided. Preserve original evidence; do
            not invent missing values.
          x-field-id: F0349
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        resolved_entity_id:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Matched AMLOK business or person. Preserve original evidence; do not
            invent missing values.
          x-field-id: F0350
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        email:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Authorized contact email. Preserve original evidence; do not invent
            missing values.
          x-field-id: F0351
          x-classification: Restricted
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        phone:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Authorized contact number. Preserve original evidence; do not invent
            missing values.
          x-field-id: F0352
          x-classification: Restricted
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        billing_address:
          anyOf:
            - $ref: '#/components/schemas/NormalizedAddress'
            - type: 'null'
          description: >-
            Billing address used by the source. Preserve original evidence; do
            not invent missing values.
          x-field-id: F0353
          x-classification: Restricted
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        shipping_address:
          anyOf:
            - $ref: '#/components/schemas/NormalizedAddress'
            - type: 'null'
          description: >-
            Shipping address used by the source. Preserve original evidence; do
            not invent missing values.
          x-field-id: F0354
          x-classification: Restricted
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        tax_identifier_token:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Vault reference for a tax identifier when permitted. Preserve
            original evidence; do not invent missing values.
          x-field-id: F0355
          x-classification: Restricted
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        payment_terms_days:
          anyOf:
            - type: integer
            - type: 'null'
          description: >-
            Contractual payment term where supplied. Preserve original evidence;
            do not invent missing values.
          x-field-id: F0356
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        credit_limit:
          type: object
          properties:
            amount:
              anyOf:
                - type: string
                  pattern: ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?$
                  description: >-
                    Exact decimal string in major units. Do not use binary
                    floating-point arithmetic.
                - type: 'null'
              description: >-
                Source-managed trade-credit limit. Amount in major currency
                units. Pair with currency; preserve precision; zero differs from
                unavailable.
              x-field-id: F0357
              x-classification: Confidential
              x-availability: >-
                Source, module, country, consent and contracted permissions
                determine population.
            currency:
              anyOf:
                - type: string
                - type: 'null'
              description: >-
                Currency for credit limit. Uppercase ISO 4217 code when known;
                null for unsupported/unidentified currency, retain source code.
              x-field-id: F0358
              x-classification: Confidential
              x-availability: >-
                Source, module, country, consent and contracted permissions
                determine population.
        is_active:
          anyOf:
            - type: boolean
            - type: 'null'
          description: >-
            Explicit active status in the source system. Preserve original
            evidence; do not invent missing values.
          x-field-id: F0359
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
      required:
        - id
        - object
        - created_at
        - updated_at
        - record_version
        - source_refs
        - data_status
        - missing_fields
        - schema_version
      title: CounterpartyRead
      description: >-
        Customer or supplier in a commercial source system; not automatically a
        verified legal entity. Population depends on source and tenant
        entitlement. Read representation includes all authorized populated
        fields. Missing or restricted fields carry explicit availability
        information; this API does not support field projection.
    NormalizedOrderRead:
      type: object
      properties:
        id:
          type: string
          description: >-
            Stable identifier scoped to the client tenant. Never use a provider
            ID as the public primary key.
          x-field-id: F0001
          x-classification: Confidential
          x-availability: Required when resource exists
        object:
          type: string
          const: order
          x-field-id: F0002
        subject_id:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Business or person to which this record relates. Null for
            tenant-level configuration and unresolved subjects.
          x-field-id: F0003
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        created_at:
          type: string
          format: date-time
          description: >-
            Time AMLOK first stored this resource. Preserve original evidence;
            do not invent missing values.
          x-field-id: F0004
          x-classification: Confidential
          x-availability: Required when resource exists
        updated_at:
          type: string
          format: date-time
          description: >-
            Time the normalized representation last changed. Preserve original
            evidence; do not invent missing values.
          x-field-id: F0005
          x-classification: Confidential
          x-availability: Required when resource exists
        observed_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          description: >-
            Time the source was observed by AMLOK. Do not imply this is the
            economic event time.
          x-field-id: F0006
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        effective_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          description: >-
            Time the source states this version became valid. Preserve original
            evidence; do not invent missing values.
          x-field-id: F0007
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        record_version:
          type: integer
          description: >-
            Monotonically increasing AMLOK version for this resource. Preserve
            original evidence; do not invent missing values.
          x-field-id: F0008
          x-classification: Confidential
          x-availability: Required when resource exists
        deleted_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          description: >-
            Tombstone timestamp for a source or AMLOK deletion. Null for records
            not deleted; retain only under the configured policy.
          x-field-id: F0009
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        source_refs:
          type: array
          items:
            $ref: '#/components/schemas/NormalizedSourceRef'
          description: >-
            Evidence references contributing to this record. A known empty array
            is valid for a newly client-created record.
          x-field-id: F0010
          x-classification: Confidential
          x-availability: Required when resource exists
        field_provenance:
          anyOf:
            - type: array
              items:
                $ref: '#/components/schemas/NormalizedFieldProvenance'
            - type: 'null'
          description: >-
            Field-level source, extraction, transformation and quality details.
            Preserve original evidence; do not invent missing values.
          x-field-id: F0011
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        data_status:
          $ref: '#/components/schemas/NormalizedEnum_data_status'
          description: >-
            Whether the requested resource is complete for its stated scope.
            Completeness is relative to declared fields, sources and time
            interval.
          x-field-id: F0012
          x-classification: Confidential
          x-availability: Required when resource exists
        missing_fields:
          type: array
          items:
            $ref: '#/components/schemas/NormalizedMissingField'
          description: >-
            Unavailable field paths and their explicit reasons. Preserve
            original evidence; do not invent missing values.
          x-field-id: F0013
          x-classification: Confidential
          x-availability: Required when resource exists
        schema_version:
          type: string
          description: >-
            Contract version used to serialize this record. Preserve original
            evidence; do not invent missing values.
          x-field-id: F0014
          x-classification: Confidential
          x-availability: Required when resource exists
        client_reference:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Optional caller-owned correlation identifier. Scoped to tenant;
            uniqueness only when explicitly contracted.
          x-field-id: F0015
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        extensions:
          anyOf:
            - type: object
              additionalProperties: true
            - type: 'null'
          description: >-
            Namespaced extra provider fields without changing the core schema.
            Access-controlled and documented per provider; no provider tokens.
          x-field-id: F0016
          x-classification: Restricted
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        order_number:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Human-readable order reference. Preserve original evidence; do not
            invent missing values.
          x-field-id: F0360
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        source_order_id:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Provider order identifier. Preserve original evidence; do not invent
            missing values.
          x-field-id: F0361
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        customer_id:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Purchasing counterparty. Preserve original evidence; do not invent
            missing values.
          x-field-id: F0362
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        location_id:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Store or sales location. Preserve original evidence; do not invent
            missing values.
          x-field-id: F0363
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        channel:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Sales channel or marketplace. Preserve original evidence; do not
            invent missing values.
          x-field-id: F0364
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        status:
          $ref: '#/components/schemas/NormalizedEnum_order_status'
          description: >-
            Order lifecycle state. Preserve original evidence; do not invent
            missing values.
          x-field-id: F0365
          x-classification: Confidential
          x-availability: >-
            Returned when available and authorized; a partial read record can
            omit this field.
        payment_status:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Commercial order payment state from source. Preserve original
            evidence; do not invent missing values.
          x-field-id: F0366
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        fulfillment_status:
          anyOf:
            - $ref: '#/components/schemas/NormalizedEnum_fulfillment_status'
            - type: 'null'
          description: >-
            Order fulfillment progress. Preserve original evidence; do not
            invent missing values.
          x-field-id: F0367
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        placed_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          description: >-
            Order creation or placement time. Preserve original evidence; do not
            invent missing values.
          x-field-id: F0368
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        cancelled_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          description: >-
            Cancellation time when cancelled. Preserve original evidence; do not
            invent missing values.
          x-field-id: F0369
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        subtotal:
          type: object
          properties:
            amount:
              anyOf:
                - type: string
                  pattern: ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?$
                  description: >-
                    Exact decimal string in major units. Do not use binary
                    floating-point arithmetic.
                - type: 'null'
              description: >-
                Line subtotal before tax under the specified source convention.
                Amount in major currency units. Pair with currency; preserve
                precision; zero differs from unavailable.
              x-field-id: F0370
              x-classification: Confidential
              x-availability: >-
                Source, module, country, consent and contracted permissions
                determine population.
            currency:
              anyOf:
                - type: string
                - type: 'null'
              description: >-
                Currency for subtotal. Uppercase ISO 4217 code when known; null
                for unsupported/unidentified currency, retain source code.
              x-field-id: F0371
              x-classification: Confidential
              x-availability: >-
                Source, module, country, consent and contracted permissions
                determine population.
        discount_total:
          type: object
          properties:
            amount:
              anyOf:
                - type: string
                  pattern: ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?$
                  description: >-
                    Exact decimal string in major units. Do not use binary
                    floating-point arithmetic.
                - type: 'null'
              description: >-
                Discounts applied to the order. Amount in major currency units.
                Pair with currency; preserve precision; zero differs from
                unavailable.
              x-field-id: F0372
              x-classification: Confidential
              x-availability: >-
                Source, module, country, consent and contracted permissions
                determine population.
            currency:
              anyOf:
                - type: string
                - type: 'null'
              description: >-
                Currency for discount total. Uppercase ISO 4217 code when known;
                null for unsupported/unidentified currency, retain source code.
              x-field-id: F0373
              x-classification: Confidential
              x-availability: >-
                Source, module, country, consent and contracted permissions
                determine population.
        tax_total:
          type: object
          properties:
            amount:
              anyOf:
                - type: string
                  pattern: ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?$
                  description: >-
                    Exact decimal string in major units. Do not use binary
                    floating-point arithmetic.
                - type: 'null'
              description: >-
                Tax attributed to the order. Amount in major currency units.
                Pair with currency; preserve precision; zero differs from
                unavailable.
              x-field-id: F0374
              x-classification: Confidential
              x-availability: >-
                Source, module, country, consent and contracted permissions
                determine population.
            currency:
              anyOf:
                - type: string
                - type: 'null'
              description: >-
                Currency for tax total. Uppercase ISO 4217 code when known; null
                for unsupported/unidentified currency, retain source code.
              x-field-id: F0375
              x-classification: Confidential
              x-availability: >-
                Source, module, country, consent and contracted permissions
                determine population.
        shipping_total:
          type: object
          properties:
            amount:
              anyOf:
                - type: string
                  pattern: ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?$
                  description: >-
                    Exact decimal string in major units. Do not use binary
                    floating-point arithmetic.
                - type: 'null'
              description: >-
                Shipping charged on the order. Amount in major currency units.
                Pair with currency; preserve precision; zero differs from
                unavailable.
              x-field-id: F0376
              x-classification: Confidential
              x-availability: >-
                Source, module, country, consent and contracted permissions
                determine population.
            currency:
              anyOf:
                - type: string
                - type: 'null'
              description: >-
                Currency for shipping total. Uppercase ISO 4217 code when known;
                null for unsupported/unidentified currency, retain source code.
              x-field-id: F0377
              x-classification: Confidential
              x-availability: >-
                Source, module, country, consent and contracted permissions
                determine population.
        total:
          type: object
          properties:
            amount:
              anyOf:
                - type: string
                  pattern: ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?$
                  description: >-
                    Exact decimal string in major units. Do not use binary
                    floating-point arithmetic.
                - type: 'null'
              description: >-
                Original total including taxes and discounts, before subsequent
                returns. Amount in major currency units. Pair with currency;
                preserve precision; zero differs from unavailable.
              x-field-id: F0378
              x-classification: Confidential
              x-availability: >-
                Source, module, country, consent and contracted permissions
                determine population.
            currency:
              anyOf:
                - type: string
                - type: 'null'
              description: >-
                Currency for total. Uppercase ISO 4217 code when known; null for
                unsupported/unidentified currency, retain source code.
              x-field-id: F0379
              x-classification: Confidential
              x-availability: >-
                Source, module, country, consent and contracted permissions
                determine population.
        current_total:
          type: object
          properties:
            amount:
              anyOf:
                - type: string
                  pattern: ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?$
                  description: >-
                    Exact decimal string in major units. Do not use binary
                    floating-point arithmetic.
                - type: 'null'
              description: >-
                Current adjusted order total after changes under source
                semantics. Amount in major currency units. Pair with currency;
                preserve precision; zero differs from unavailable.
              x-field-id: F0380
              x-classification: Confidential
              x-availability: >-
                Source, module, country, consent and contracted permissions
                determine population.
            currency:
              anyOf:
                - type: string
                - type: 'null'
              description: >-
                Currency for current total. Uppercase ISO 4217 code when known;
                null for unsupported/unidentified currency, retain source code.
              x-field-id: F0381
              x-classification: Confidential
              x-availability: >-
                Source, module, country, consent and contracted permissions
                determine population.
        refunded_total:
          type: object
          properties:
            amount:
              anyOf:
                - type: string
                  pattern: ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?$
                  description: >-
                    Exact decimal string in major units. Do not use binary
                    floating-point arithmetic.
                - type: 'null'
              description: >-
                Cumulative refunded order amount. Amount in major currency
                units. Pair with currency; preserve precision; zero differs from
                unavailable.
              x-field-id: F0382
              x-classification: Confidential
              x-availability: >-
                Source, module, country, consent and contracted permissions
                determine population.
            currency:
              anyOf:
                - type: string
                - type: 'null'
              description: >-
                Currency for refunded total. Uppercase ISO 4217 code when known;
                null for unsupported/unidentified currency, retain source code.
              x-field-id: F0383
              x-classification: Confidential
              x-availability: >-
                Source, module, country, consent and contracted permissions
                determine population.
        presentment_currency:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Currency shown to the buyer. Preserve original evidence; do not
            invent missing values.
          x-field-id: F0384
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        taxes_included:
          anyOf:
            - type: boolean
            - type: 'null'
          description: >-
            Whether listed prices already include tax. Preserve original
            evidence; do not invent missing values.
          x-field-id: F0385
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        is_test:
          anyOf:
            - type: boolean
            - type: 'null'
          description: >-
            Explicit test-order indicator. Preserve original evidence; do not
            invent missing values.
          x-field-id: F0386
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        line_ids:
          anyOf:
            - type: array
              items:
                type: string
            - type: 'null'
          description: >-
            Normalized order lines. Preserve original evidence; do not invent
            missing values.
          x-field-id: F0387
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
      required:
        - id
        - object
        - created_at
        - updated_at
        - record_version
        - source_refs
        - data_status
        - missing_fields
        - schema_version
      title: OrderRead
      description: >-
        Commercial sale order with amounts distinct from payment and accounting
        revenue. Population depends on source and tenant entitlement. Read
        representation includes all authorized populated fields. Missing or
        restricted fields carry explicit availability information; this API does
        not support field projection.
    NormalizedOrderLineRead:
      type: object
      properties:
        id:
          type: string
          description: >-
            Stable identifier scoped to the client tenant. Never use a provider
            ID as the public primary key.
          x-field-id: F0001
          x-classification: Confidential
          x-availability: Required when resource exists
        object:
          type: string
          const: order_line
          x-field-id: F0002
        subject_id:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Business or person to which this record relates. Null for
            tenant-level configuration and unresolved subjects.
          x-field-id: F0003
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        created_at:
          type: string
          format: date-time
          description: >-
            Time AMLOK first stored this resource. Preserve original evidence;
            do not invent missing values.
          x-field-id: F0004
          x-classification: Confidential
          x-availability: Required when resource exists
        updated_at:
          type: string
          format: date-time
          description: >-
            Time the normalized representation last changed. Preserve original
            evidence; do not invent missing values.
          x-field-id: F0005
          x-classification: Confidential
          x-availability: Required when resource exists
        observed_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          description: >-
            Time the source was observed by AMLOK. Do not imply this is the
            economic event time.
          x-field-id: F0006
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        effective_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          description: >-
            Time the source states this version became valid. Preserve original
            evidence; do not invent missing values.
          x-field-id: F0007
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        record_version:
          type: integer
          description: >-
            Monotonically increasing AMLOK version for this resource. Preserve
            original evidence; do not invent missing values.
          x-field-id: F0008
          x-classification: Confidential
          x-availability: Required when resource exists
        deleted_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          description: >-
            Tombstone timestamp for a source or AMLOK deletion. Null for records
            not deleted; retain only under the configured policy.
          x-field-id: F0009
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        source_refs:
          type: array
          items:
            $ref: '#/components/schemas/NormalizedSourceRef'
          description: >-
            Evidence references contributing to this record. A known empty array
            is valid for a newly client-created record.
          x-field-id: F0010
          x-classification: Confidential
          x-availability: Required when resource exists
        field_provenance:
          anyOf:
            - type: array
              items:
                $ref: '#/components/schemas/NormalizedFieldProvenance'
            - type: 'null'
          description: >-
            Field-level source, extraction, transformation and quality details.
            Preserve original evidence; do not invent missing values.
          x-field-id: F0011
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        data_status:
          $ref: '#/components/schemas/NormalizedEnum_data_status'
          description: >-
            Whether the requested resource is complete for its stated scope.
            Completeness is relative to declared fields, sources and time
            interval.
          x-field-id: F0012
          x-classification: Confidential
          x-availability: Required when resource exists
        missing_fields:
          type: array
          items:
            $ref: '#/components/schemas/NormalizedMissingField'
          description: >-
            Unavailable field paths and their explicit reasons. Preserve
            original evidence; do not invent missing values.
          x-field-id: F0013
          x-classification: Confidential
          x-availability: Required when resource exists
        schema_version:
          type: string
          description: >-
            Contract version used to serialize this record. Preserve original
            evidence; do not invent missing values.
          x-field-id: F0014
          x-classification: Confidential
          x-availability: Required when resource exists
        client_reference:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Optional caller-owned correlation identifier. Scoped to tenant;
            uniqueness only when explicitly contracted.
          x-field-id: F0015
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        extensions:
          anyOf:
            - type: object
              additionalProperties: true
            - type: 'null'
          description: >-
            Namespaced extra provider fields without changing the core schema.
            Access-controlled and documented per provider; no provider tokens.
          x-field-id: F0016
          x-classification: Restricted
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        order_id:
          type: string
          description: >-
            Parent order. Preserve original evidence; do not invent missing
            values.
          x-field-id: F0388
          x-classification: Confidential
          x-availability: >-
            Returned when available and authorized; a partial read record can
            omit this field.
        product_id:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Normalized product reference. Preserve original evidence; do not
            invent missing values.
          x-field-id: F0389
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        sku:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Source stock-keeping unit. Preserve original evidence; do not invent
            missing values.
          x-field-id: F0390
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        description:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Line item label. Preserve original evidence; do not invent missing
            values.
          x-field-id: F0391
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        quantity:
          anyOf:
            - type: string
              pattern: ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?$
              description: >-
                Exact decimal string in major units. Do not use binary
                floating-point arithmetic.
            - type: 'null'
          description: Quantity ordered. Units must be interpreted with unit_of_measure.
          x-field-id: F0392
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        unit_of_measure:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Unit used for quantity. Preserve original evidence; do not invent
            missing values.
          x-field-id: F0393
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        unit_price:
          type: object
          properties:
            amount:
              anyOf:
                - type: string
                  pattern: ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?$
                  description: >-
                    Exact decimal string in major units. Do not use binary
                    floating-point arithmetic.
                - type: 'null'
              description: >-
                Price per unit under source tax convention. Amount in major
                currency units. Pair with currency; preserve precision; zero
                differs from unavailable.
              x-field-id: F0394
              x-classification: Confidential
              x-availability: >-
                Source, module, country, consent and contracted permissions
                determine population.
            currency:
              anyOf:
                - type: string
                - type: 'null'
              description: >-
                Currency for unit price. Uppercase ISO 4217 code when known;
                null for unsupported/unidentified currency, retain source code.
              x-field-id: F0395
              x-classification: Confidential
              x-availability: >-
                Source, module, country, consent and contracted permissions
                determine population.
        discount_amount:
          type: object
          properties:
            amount:
              anyOf:
                - type: string
                  pattern: ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?$
                  description: >-
                    Exact decimal string in major units. Do not use binary
                    floating-point arithmetic.
                - type: 'null'
              description: >-
                Line discount amount. Amount in major currency units. Pair with
                currency; preserve precision; zero differs from unavailable.
              x-field-id: F0396
              x-classification: Confidential
              x-availability: >-
                Source, module, country, consent and contracted permissions
                determine population.
            currency:
              anyOf:
                - type: string
                - type: 'null'
              description: >-
                Currency for discount amount. Uppercase ISO 4217 code when
                known; null for unsupported/unidentified currency, retain source
                code.
              x-field-id: F0397
              x-classification: Confidential
              x-availability: >-
                Source, module, country, consent and contracted permissions
                determine population.
        tax_amount:
          type: object
          properties:
            amount:
              anyOf:
                - type: string
                  pattern: ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?$
                  description: >-
                    Exact decimal string in major units. Do not use binary
                    floating-point arithmetic.
                - type: 'null'
              description: >-
                Line tax amount. Amount in major currency units. Pair with
                currency; preserve precision; zero differs from unavailable.
              x-field-id: F0398
              x-classification: Confidential
              x-availability: >-
                Source, module, country, consent and contracted permissions
                determine population.
            currency:
              anyOf:
                - type: string
                - type: 'null'
              description: >-
                Currency for tax amount. Uppercase ISO 4217 code when known;
                null for unsupported/unidentified currency, retain source code.
              x-field-id: F0399
              x-classification: Confidential
              x-availability: >-
                Source, module, country, consent and contracted permissions
                determine population.
        line_total:
          type: object
          properties:
            amount:
              anyOf:
                - type: string
                  pattern: ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?$
                  description: >-
                    Exact decimal string in major units. Do not use binary
                    floating-point arithmetic.
                - type: 'null'
              description: >-
                Extended line total with stated tax convention. Amount in major
                currency units. Pair with currency; preserve precision; zero
                differs from unavailable.
              x-field-id: F0400
              x-classification: Confidential
              x-availability: >-
                Source, module, country, consent and contracted permissions
                determine population.
            currency:
              anyOf:
                - type: string
                - type: 'null'
              description: >-
                Currency for line total. Uppercase ISO 4217 code when known;
                null for unsupported/unidentified currency, retain source code.
              x-field-id: F0401
              x-classification: Confidential
              x-availability: >-
                Source, module, country, consent and contracted permissions
                determine population.
        quantity_fulfilled:
          anyOf:
            - type: string
              pattern: ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?$
              description: >-
                Exact decimal string in major units. Do not use binary
                floating-point arithmetic.
            - type: 'null'
          description: >-
            Quantity fulfilled. Preserve original evidence; do not invent
            missing values.
          x-field-id: F0402
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        quantity_refunded:
          anyOf:
            - type: string
              pattern: ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?$
              description: >-
                Exact decimal string in major units. Do not use binary
                floating-point arithmetic.
            - type: 'null'
          description: >-
            Quantity returned or refunded when supplied. Preserve original
            evidence; do not invent missing values.
          x-field-id: F0403
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
      required:
        - id
        - object
        - created_at
        - updated_at
        - record_version
        - source_refs
        - data_status
        - missing_fields
        - schema_version
      title: OrderLineRead
      description: >-
        Product or service line belonging to an order. Population depends on
        source and tenant entitlement. Read representation includes all
        authorized populated fields. Missing or restricted fields carry explicit
        availability information; this API does not support field projection.
    NormalizedSubscriptionRead:
      type: object
      properties:
        id:
          type: string
          description: >-
            Stable identifier scoped to the client tenant. Never use a provider
            ID as the public primary key.
          x-field-id: F0001
          x-classification: Confidential
          x-availability: Required when resource exists
        object:
          type: string
          const: subscription
          x-field-id: F0002
        subject_id:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Business or person to which this record relates. Null for
            tenant-level configuration and unresolved subjects.
          x-field-id: F0003
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        created_at:
          type: string
          format: date-time
          description: >-
            Time AMLOK first stored this resource. Preserve original evidence;
            do not invent missing values.
          x-field-id: F0004
          x-classification: Confidential
          x-availability: Required when resource exists
        updated_at:
          type: string
          format: date-time
          description: >-
            Time the normalized representation last changed. Preserve original
            evidence; do not invent missing values.
          x-field-id: F0005
          x-classification: Confidential
          x-availability: Required when resource exists
        observed_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          description: >-
            Time the source was observed by AMLOK. Do not imply this is the
            economic event time.
          x-field-id: F0006
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        effective_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          description: >-
            Time the source states this version became valid. Preserve original
            evidence; do not invent missing values.
          x-field-id: F0007
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        record_version:
          type: integer
          description: >-
            Monotonically increasing AMLOK version for this resource. Preserve
            original evidence; do not invent missing values.
          x-field-id: F0008
          x-classification: Confidential
          x-availability: Required when resource exists
        deleted_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          description: >-
            Tombstone timestamp for a source or AMLOK deletion. Null for records
            not deleted; retain only under the configured policy.
          x-field-id: F0009
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        source_refs:
          type: array
          items:
            $ref: '#/components/schemas/NormalizedSourceRef'
          description: >-
            Evidence references contributing to this record. A known empty array
            is valid for a newly client-created record.
          x-field-id: F0010
          x-classification: Confidential
          x-availability: Required when resource exists
        field_provenance:
          anyOf:
            - type: array
              items:
                $ref: '#/components/schemas/NormalizedFieldProvenance'
            - type: 'null'
          description: >-
            Field-level source, extraction, transformation and quality details.
            Preserve original evidence; do not invent missing values.
          x-field-id: F0011
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        data_status:
          $ref: '#/components/schemas/NormalizedEnum_data_status'
          description: >-
            Whether the requested resource is complete for its stated scope.
            Completeness is relative to declared fields, sources and time
            interval.
          x-field-id: F0012
          x-classification: Confidential
          x-availability: Required when resource exists
        missing_fields:
          type: array
          items:
            $ref: '#/components/schemas/NormalizedMissingField'
          description: >-
            Unavailable field paths and their explicit reasons. Preserve
            original evidence; do not invent missing values.
          x-field-id: F0013
          x-classification: Confidential
          x-availability: Required when resource exists
        schema_version:
          type: string
          description: >-
            Contract version used to serialize this record. Preserve original
            evidence; do not invent missing values.
          x-field-id: F0014
          x-classification: Confidential
          x-availability: Required when resource exists
        client_reference:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Optional caller-owned correlation identifier. Scoped to tenant;
            uniqueness only when explicitly contracted.
          x-field-id: F0015
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        extensions:
          anyOf:
            - type: object
              additionalProperties: true
            - type: 'null'
          description: >-
            Namespaced extra provider fields without changing the core schema.
            Access-controlled and documented per provider; no provider tokens.
          x-field-id: F0016
          x-classification: Restricted
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        customer_id:
          type: string
          description: >-
            Subscriber counterparty. Preserve original evidence; do not invent
            missing values.
          x-field-id: F0404
          x-classification: Confidential
          x-availability: >-
            Returned when available and authorized; a partial read record can
            omit this field.
        product_id:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Recurring product or plan. Preserve original evidence; do not invent
            missing values.
          x-field-id: F0405
          x-classification: Confidential
          x-availability: >-
            Only if the connected provider and licensed module expose
            subscriptions; an order feed alone is insufficient.
        status:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Provider subscription status. Preserve original evidence; do not
            invent missing values.
          x-field-id: F0406
          x-classification: Confidential
          x-availability: >-
            Only if the connected provider and licensed module expose
            subscriptions; an order feed alone is insufficient.
        frequency:
          anyOf:
            - $ref: '#/components/schemas/NormalizedEnum_frequency'
            - type: 'null'
          description: >-
            Contractual billing cadence. Preserve original evidence; do not
            invent missing values.
          x-field-id: F0407
          x-classification: Confidential
          x-availability: >-
            Only if the connected provider and licensed module expose
            subscriptions; an order feed alone is insufficient.
        recurring_amount:
          type: object
          properties:
            amount:
              anyOf:
                - type: string
                  pattern: ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?$
                  description: >-
                    Exact decimal string in major units. Do not use binary
                    floating-point arithmetic.
                - type: 'null'
              description: >-
                Current recurring charge for one billing cycle. Amount in major
                currency units. Pair with currency; preserve precision; zero
                differs from unavailable.
              x-field-id: F0408
              x-classification: Confidential
              x-availability: >-
                Only if the connected provider and licensed module expose
                subscriptions; an order feed alone is insufficient.
            currency:
              anyOf:
                - type: string
                - type: 'null'
              description: >-
                Currency for recurring amount. Uppercase ISO 4217 code when
                known; null for unsupported/unidentified currency, retain source
                code.
              x-field-id: F0409
              x-classification: Confidential
              x-availability: >-
                Only if the connected provider and licensed module expose
                subscriptions; an order feed alone is insufficient.
        started_on:
          anyOf:
            - type: string
              format: date
            - type: 'null'
          description: >-
            Contract start date. Preserve original evidence; do not invent
            missing values.
          x-field-id: F0410
          x-classification: Confidential
          x-availability: >-
            Only if the connected provider and licensed module expose
            subscriptions; an order feed alone is insufficient.
        current_period_start:
          anyOf:
            - type: string
              format: date
            - type: 'null'
          description: >-
            Start of current billing period. Preserve original evidence; do not
            invent missing values.
          x-field-id: F0411
          x-classification: Confidential
          x-availability: >-
            Only if the connected provider and licensed module expose
            subscriptions; an order feed alone is insufficient.
        current_period_end:
          anyOf:
            - type: string
              format: date
            - type: 'null'
          description: >-
            End of current billing period, exclusive. Preserve original
            evidence; do not invent missing values.
          x-field-id: F0412
          x-classification: Confidential
          x-availability: >-
            Only if the connected provider and licensed module expose
            subscriptions; an order feed alone is insufficient.
        cancelled_on:
          anyOf:
            - type: string
              format: date
            - type: 'null'
          description: >-
            Cancellation date when supplied. Preserve original evidence; do not
            invent missing values.
          x-field-id: F0413
          x-classification: Confidential
          x-availability: >-
            Only if the connected provider and licensed module expose
            subscriptions; an order feed alone is insufficient.
        next_billing_on:
          anyOf:
            - type: string
              format: date
            - type: 'null'
          description: >-
            Next scheduled charge date. Preserve original evidence; do not
            invent missing values.
          x-field-id: F0414
          x-classification: Confidential
          x-availability: >-
            Only if the connected provider and licensed module expose
            subscriptions; an order feed alone is insufficient.
      required:
        - id
        - object
        - created_at
        - updated_at
        - record_version
        - source_refs
        - data_status
        - missing_fields
        - schema_version
      title: SubscriptionRead
      description: >-
        Recurring commercial contract when the source exposes subscription
        records. Population depends on source and tenant entitlement. Read
        representation includes all authorized populated fields. Missing or
        restricted fields carry explicit availability information; this API does
        not support field projection.
    NormalizedLedgerAccountRead:
      type: object
      properties:
        id:
          type: string
          description: >-
            Stable identifier scoped to the client tenant. Never use a provider
            ID as the public primary key.
          x-field-id: F0001
          x-classification: Confidential
          x-availability: Required when resource exists
        object:
          type: string
          const: ledger_account
          x-field-id: F0002
        subject_id:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Business or person to which this record relates. Null for
            tenant-level configuration and unresolved subjects.
          x-field-id: F0003
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        created_at:
          type: string
          format: date-time
          description: >-
            Time AMLOK first stored this resource. Preserve original evidence;
            do not invent missing values.
          x-field-id: F0004
          x-classification: Confidential
          x-availability: Required when resource exists
        updated_at:
          type: string
          format: date-time
          description: >-
            Time the normalized representation last changed. Preserve original
            evidence; do not invent missing values.
          x-field-id: F0005
          x-classification: Confidential
          x-availability: Required when resource exists
        observed_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          description: >-
            Time the source was observed by AMLOK. Do not imply this is the
            economic event time.
          x-field-id: F0006
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        effective_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          description: >-
            Time the source states this version became valid. Preserve original
            evidence; do not invent missing values.
          x-field-id: F0007
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        record_version:
          type: integer
          description: >-
            Monotonically increasing AMLOK version for this resource. Preserve
            original evidence; do not invent missing values.
          x-field-id: F0008
          x-classification: Confidential
          x-availability: Required when resource exists
        deleted_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          description: >-
            Tombstone timestamp for a source or AMLOK deletion. Null for records
            not deleted; retain only under the configured policy.
          x-field-id: F0009
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        source_refs:
          type: array
          items:
            $ref: '#/components/schemas/NormalizedSourceRef'
          description: >-
            Evidence references contributing to this record. A known empty array
            is valid for a newly client-created record.
          x-field-id: F0010
          x-classification: Confidential
          x-availability: Required when resource exists
        field_provenance:
          anyOf:
            - type: array
              items:
                $ref: '#/components/schemas/NormalizedFieldProvenance'
            - type: 'null'
          description: >-
            Field-level source, extraction, transformation and quality details.
            Preserve original evidence; do not invent missing values.
          x-field-id: F0011
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        data_status:
          $ref: '#/components/schemas/NormalizedEnum_data_status'
          description: >-
            Whether the requested resource is complete for its stated scope.
            Completeness is relative to declared fields, sources and time
            interval.
          x-field-id: F0012
          x-classification: Confidential
          x-availability: Required when resource exists
        missing_fields:
          type: array
          items:
            $ref: '#/components/schemas/NormalizedMissingField'
          description: >-
            Unavailable field paths and their explicit reasons. Preserve
            original evidence; do not invent missing values.
          x-field-id: F0013
          x-classification: Confidential
          x-availability: Required when resource exists
        schema_version:
          type: string
          description: >-
            Contract version used to serialize this record. Preserve original
            evidence; do not invent missing values.
          x-field-id: F0014
          x-classification: Confidential
          x-availability: Required when resource exists
        client_reference:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Optional caller-owned correlation identifier. Scoped to tenant;
            uniqueness only when explicitly contracted.
          x-field-id: F0015
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        extensions:
          anyOf:
            - type: object
              additionalProperties: true
            - type: 'null'
          description: >-
            Namespaced extra provider fields without changing the core schema.
            Access-controlled and documented per provider; no provider tokens.
          x-field-id: F0016
          x-classification: Restricted
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        code:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Source account code. Preserve original evidence; do not invent
            missing values.
          x-field-id: F0415
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        name:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Account label. Preserve original evidence; do not invent missing
            values.
          x-field-id: F0416
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        account_type:
          $ref: '#/components/schemas/NormalizedEnum_gl_type'
          description: >-
            AMLOK accounting classification. Preserve original evidence; do not
            invent missing values.
          x-field-id: F0417
          x-classification: Confidential
          x-availability: >-
            Returned when available and authorized; a partial read record can
            omit this field.
        source_account_type:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Unmodified source account classification. Preserve original
            evidence; do not invent missing values.
          x-field-id: F0418
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        parent_account_id:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Parent in the chart of accounts. Preserve original evidence; do not
            invent missing values.
          x-field-id: F0419
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        normal_balance:
          anyOf:
            - $ref: '#/components/schemas/NormalizedEnum_debit_credit'
            - type: 'null'
          description: >-
            Normal ledger balance direction. Preserve original evidence; do not
            invent missing values.
          x-field-id: F0420
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        currency:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Account-specific currency if applicable. Preserve original evidence;
            do not invent missing values.
          x-field-id: F0421
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        is_active:
          anyOf:
            - type: boolean
            - type: 'null'
          description: >-
            Explicit chart-of-accounts active state. Preserve original evidence;
            do not invent missing values.
          x-field-id: F0422
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        is_trust_account:
          anyOf:
            - type: boolean
            - type: 'null'
          description: >-
            Whether account holds third-party trust money. Do not include client
            trust balances in available operating liquidity.
          x-field-id: F0423
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
      required:
        - id
        - object
        - created_at
        - updated_at
        - record_version
        - source_refs
        - data_status
        - missing_fields
        - schema_version
      title: LedgerAccountRead
      description: >-
        Chart-of-accounts entry and classification. Population depends on source
        and tenant entitlement. Read representation includes all authorized
        populated fields. Missing or restricted fields carry explicit
        availability information; this API does not support field projection.
    NormalizedJournalRead:
      type: object
      properties:
        id:
          type: string
          description: >-
            Stable identifier scoped to the client tenant. Never use a provider
            ID as the public primary key.
          x-field-id: F0001
          x-classification: Confidential
          x-availability: Required when resource exists
        object:
          type: string
          const: journal
          x-field-id: F0002
        subject_id:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Business or person to which this record relates. Null for
            tenant-level configuration and unresolved subjects.
          x-field-id: F0003
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        created_at:
          type: string
          format: date-time
          description: >-
            Time AMLOK first stored this resource. Preserve original evidence;
            do not invent missing values.
          x-field-id: F0004
          x-classification: Confidential
          x-availability: Required when resource exists
        updated_at:
          type: string
          format: date-time
          description: >-
            Time the normalized representation last changed. Preserve original
            evidence; do not invent missing values.
          x-field-id: F0005
          x-classification: Confidential
          x-availability: Required when resource exists
        observed_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          description: >-
            Time the source was observed by AMLOK. Do not imply this is the
            economic event time.
          x-field-id: F0006
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        effective_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          description: >-
            Time the source states this version became valid. Preserve original
            evidence; do not invent missing values.
          x-field-id: F0007
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        record_version:
          type: integer
          description: >-
            Monotonically increasing AMLOK version for this resource. Preserve
            original evidence; do not invent missing values.
          x-field-id: F0008
          x-classification: Confidential
          x-availability: Required when resource exists
        deleted_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          description: >-
            Tombstone timestamp for a source or AMLOK deletion. Null for records
            not deleted; retain only under the configured policy.
          x-field-id: F0009
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        source_refs:
          type: array
          items:
            $ref: '#/components/schemas/NormalizedSourceRef'
          description: >-
            Evidence references contributing to this record. A known empty array
            is valid for a newly client-created record.
          x-field-id: F0010
          x-classification: Confidential
          x-availability: Required when resource exists
        field_provenance:
          anyOf:
            - type: array
              items:
                $ref: '#/components/schemas/NormalizedFieldProvenance'
            - type: 'null'
          description: >-
            Field-level source, extraction, transformation and quality details.
            Preserve original evidence; do not invent missing values.
          x-field-id: F0011
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        data_status:
          $ref: '#/components/schemas/NormalizedEnum_data_status'
          description: >-
            Whether the requested resource is complete for its stated scope.
            Completeness is relative to declared fields, sources and time
            interval.
          x-field-id: F0012
          x-classification: Confidential
          x-availability: Required when resource exists
        missing_fields:
          type: array
          items:
            $ref: '#/components/schemas/NormalizedMissingField'
          description: >-
            Unavailable field paths and their explicit reasons. Preserve
            original evidence; do not invent missing values.
          x-field-id: F0013
          x-classification: Confidential
          x-availability: Required when resource exists
        schema_version:
          type: string
          description: >-
            Contract version used to serialize this record. Preserve original
            evidence; do not invent missing values.
          x-field-id: F0014
          x-classification: Confidential
          x-availability: Required when resource exists
        client_reference:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Optional caller-owned correlation identifier. Scoped to tenant;
            uniqueness only when explicitly contracted.
          x-field-id: F0015
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        extensions:
          anyOf:
            - type: object
              additionalProperties: true
            - type: 'null'
          description: >-
            Namespaced extra provider fields without changing the core schema.
            Access-controlled and documented per provider; no provider tokens.
          x-field-id: F0016
          x-classification: Restricted
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        journal_number:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Source journal reference. Preserve original evidence; do not invent
            missing values.
          x-field-id: F0424
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        posted_on:
          anyOf:
            - type: string
              format: date
            - type: 'null'
          description: >-
            Accounting posting date. Preserve original evidence; do not invent
            missing values.
          x-field-id: F0425
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        description:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Journal narrative. Preserve original evidence; do not invent missing
            values.
          x-field-id: F0426
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        status:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Source posting state. Preserve original evidence; do not invent
            missing values.
          x-field-id: F0427
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        source_document_type:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Originating record type. Preserve original evidence; do not invent
            missing values.
          x-field-id: F0428
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        source_document_id:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Normalized originating transaction. Preserve original evidence; do
            not invent missing values.
          x-field-id: F0429
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        reverses_journal_id:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Journal being reversed if supplied. Preserve original evidence; do
            not invent missing values.
          x-field-id: F0430
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        line_ids:
          anyOf:
            - type: array
              items:
                type: string
            - type: 'null'
          description: >-
            Journal lines belonging to this posting. Preserve original evidence;
            do not invent missing values.
          x-field-id: F0431
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
      required:
        - id
        - object
        - created_at
        - updated_at
        - record_version
        - source_refs
        - data_status
        - missing_fields
        - schema_version
      title: JournalRead
      description: >-
        Accounting posting header or source journal entry. Population depends on
        source and tenant entitlement. Read representation includes all
        authorized populated fields. Missing or restricted fields carry explicit
        availability information; this API does not support field projection.
    NormalizedJournalLineRead:
      type: object
      properties:
        id:
          type: string
          description: >-
            Stable identifier scoped to the client tenant. Never use a provider
            ID as the public primary key.
          x-field-id: F0001
          x-classification: Confidential
          x-availability: Required when resource exists
        object:
          type: string
          const: journal_line
          x-field-id: F0002
        subject_id:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Business or person to which this record relates. Null for
            tenant-level configuration and unresolved subjects.
          x-field-id: F0003
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        created_at:
          type: string
          format: date-time
          description: >-
            Time AMLOK first stored this resource. Preserve original evidence;
            do not invent missing values.
          x-field-id: F0004
          x-classification: Confidential
          x-availability: Required when resource exists
        updated_at:
          type: string
          format: date-time
          description: >-
            Time the normalized representation last changed. Preserve original
            evidence; do not invent missing values.
          x-field-id: F0005
          x-classification: Confidential
          x-availability: Required when resource exists
        observed_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          description: >-
            Time the source was observed by AMLOK. Do not imply this is the
            economic event time.
          x-field-id: F0006
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        effective_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          description: >-
            Time the source states this version became valid. Preserve original
            evidence; do not invent missing values.
          x-field-id: F0007
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        record_version:
          type: integer
          description: >-
            Monotonically increasing AMLOK version for this resource. Preserve
            original evidence; do not invent missing values.
          x-field-id: F0008
          x-classification: Confidential
          x-availability: Required when resource exists
        deleted_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          description: >-
            Tombstone timestamp for a source or AMLOK deletion. Null for records
            not deleted; retain only under the configured policy.
          x-field-id: F0009
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        source_refs:
          type: array
          items:
            $ref: '#/components/schemas/NormalizedSourceRef'
          description: >-
            Evidence references contributing to this record. A known empty array
            is valid for a newly client-created record.
          x-field-id: F0010
          x-classification: Confidential
          x-availability: Required when resource exists
        field_provenance:
          anyOf:
            - type: array
              items:
                $ref: '#/components/schemas/NormalizedFieldProvenance'
            - type: 'null'
          description: >-
            Field-level source, extraction, transformation and quality details.
            Preserve original evidence; do not invent missing values.
          x-field-id: F0011
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        data_status:
          $ref: '#/components/schemas/NormalizedEnum_data_status'
          description: >-
            Whether the requested resource is complete for its stated scope.
            Completeness is relative to declared fields, sources and time
            interval.
          x-field-id: F0012
          x-classification: Confidential
          x-availability: Required when resource exists
        missing_fields:
          type: array
          items:
            $ref: '#/components/schemas/NormalizedMissingField'
          description: >-
            Unavailable field paths and their explicit reasons. Preserve
            original evidence; do not invent missing values.
          x-field-id: F0013
          x-classification: Confidential
          x-availability: Required when resource exists
        schema_version:
          type: string
          description: >-
            Contract version used to serialize this record. Preserve original
            evidence; do not invent missing values.
          x-field-id: F0014
          x-classification: Confidential
          x-availability: Required when resource exists
        client_reference:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Optional caller-owned correlation identifier. Scoped to tenant;
            uniqueness only when explicitly contracted.
          x-field-id: F0015
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        extensions:
          anyOf:
            - type: object
              additionalProperties: true
            - type: 'null'
          description: >-
            Namespaced extra provider fields without changing the core schema.
            Access-controlled and documented per provider; no provider tokens.
          x-field-id: F0016
          x-classification: Restricted
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        journal_id:
          type: string
          description: >-
            Parent posting. Preserve original evidence; do not invent missing
            values.
          x-field-id: F0432
          x-classification: Confidential
          x-availability: >-
            Returned when available and authorized; a partial read record can
            omit this field.
        ledger_account_id:
          type: string
          description: >-
            Affected ledger account. Preserve original evidence; do not invent
            missing values.
          x-field-id: F0433
          x-classification: Confidential
          x-availability: >-
            Returned when available and authorized; a partial read record can
            omit this field.
        debit:
          type: object
          properties:
            amount:
              anyOf:
                - type: string
                  pattern: ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?$
                  description: >-
                    Exact decimal string in major units. Do not use binary
                    floating-point arithmetic.
                - type: 'null'
              description: >-
                Debit amount; nonnegative. Amount in major currency units. Pair
                with currency; preserve precision; zero differs from
                unavailable.
              x-field-id: F0434
              x-classification: Confidential
              x-availability: >-
                Source, module, country, consent and contracted permissions
                determine population.
            currency:
              anyOf:
                - type: string
                - type: 'null'
              description: >-
                Currency for debit. Uppercase ISO 4217 code when known; null for
                unsupported/unidentified currency, retain source code.
              x-field-id: F0435
              x-classification: Confidential
              x-availability: >-
                Source, module, country, consent and contracted permissions
                determine population.
        credit:
          type: object
          properties:
            amount:
              anyOf:
                - type: string
                  pattern: ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?$
                  description: >-
                    Exact decimal string in major units. Do not use binary
                    floating-point arithmetic.
                - type: 'null'
              description: >-
                Credit amount; nonnegative. Amount in major currency units. Pair
                with currency; preserve precision; zero differs from
                unavailable.
              x-field-id: F0436
              x-classification: Confidential
              x-availability: >-
                Source, module, country, consent and contracted permissions
                determine population.
            currency:
              anyOf:
                - type: string
                - type: 'null'
              description: >-
                Currency for credit. Uppercase ISO 4217 code when known; null
                for unsupported/unidentified currency, retain source code.
              x-field-id: F0437
              x-classification: Confidential
              x-availability: >-
                Source, module, country, consent and contracted permissions
                determine population.
        base_debit:
          type: object
          properties:
            amount:
              anyOf:
                - type: string
                  pattern: ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?$
                  description: >-
                    Exact decimal string in major units. Do not use binary
                    floating-point arithmetic.
                - type: 'null'
              description: >-
                Debit in the company's reporting currency. Amount in major
                currency units. Pair with currency; preserve precision; zero
                differs from unavailable.
              x-field-id: F0438
              x-classification: Confidential
              x-availability: >-
                Source, module, country, consent and contracted permissions
                determine population.
            currency:
              anyOf:
                - type: string
                - type: 'null'
              description: >-
                Currency for base debit. Uppercase ISO 4217 code when known;
                null for unsupported/unidentified currency, retain source code.
              x-field-id: F0439
              x-classification: Confidential
              x-availability: >-
                Source, module, country, consent and contracted permissions
                determine population.
        base_credit:
          type: object
          properties:
            amount:
              anyOf:
                - type: string
                  pattern: ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?$
                  description: >-
                    Exact decimal string in major units. Do not use binary
                    floating-point arithmetic.
                - type: 'null'
              description: >-
                Credit in the company's reporting currency. Amount in major
                currency units. Pair with currency; preserve precision; zero
                differs from unavailable.
              x-field-id: F0440
              x-classification: Confidential
              x-availability: >-
                Source, module, country, consent and contracted permissions
                determine population.
            currency:
              anyOf:
                - type: string
                - type: 'null'
              description: >-
                Currency for base credit. Uppercase ISO 4217 code when known;
                null for unsupported/unidentified currency, retain source code.
              x-field-id: F0441
              x-classification: Confidential
              x-availability: >-
                Source, module, country, consent and contracted permissions
                determine population.
        description:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Line narrative. Preserve original evidence; do not invent missing
            values.
          x-field-id: F0442
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        department:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Source department or dimension. Preserve original evidence; do not
            invent missing values.
          x-field-id: F0443
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        project_id:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Project/job reference. Preserve original evidence; do not invent
            missing values.
          x-field-id: F0444
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        counterparty_id:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Commercial party if linked. Preserve original evidence; do not
            invent missing values.
          x-field-id: F0445
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
      required:
        - id
        - object
        - created_at
        - updated_at
        - record_version
        - source_refs
        - data_status
        - missing_fields
        - schema_version
      title: JournalLineRead
      description: >-
        One debit or credit posting to a ledger account. Population depends on
        source and tenant entitlement. Read representation includes all
        authorized populated fields. Missing or restricted fields carry explicit
        availability information; this API does not support field projection.
    NormalizedInvoiceRead:
      type: object
      properties:
        id:
          type: string
          description: >-
            Stable identifier scoped to the client tenant. Never use a provider
            ID as the public primary key.
          x-field-id: F0001
          x-classification: Confidential
          x-availability: Required when resource exists
        object:
          type: string
          const: invoice
          x-field-id: F0002
        subject_id:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Business or person to which this record relates. Null for
            tenant-level configuration and unresolved subjects.
          x-field-id: F0003
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        created_at:
          type: string
          format: date-time
          description: >-
            Time AMLOK first stored this resource. Preserve original evidence;
            do not invent missing values.
          x-field-id: F0004
          x-classification: Confidential
          x-availability: Required when resource exists
        updated_at:
          type: string
          format: date-time
          description: >-
            Time the normalized representation last changed. Preserve original
            evidence; do not invent missing values.
          x-field-id: F0005
          x-classification: Confidential
          x-availability: Required when resource exists
        observed_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          description: >-
            Time the source was observed by AMLOK. Do not imply this is the
            economic event time.
          x-field-id: F0006
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        effective_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          description: >-
            Time the source states this version became valid. Preserve original
            evidence; do not invent missing values.
          x-field-id: F0007
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        record_version:
          type: integer
          description: >-
            Monotonically increasing AMLOK version for this resource. Preserve
            original evidence; do not invent missing values.
          x-field-id: F0008
          x-classification: Confidential
          x-availability: Required when resource exists
        deleted_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          description: >-
            Tombstone timestamp for a source or AMLOK deletion. Null for records
            not deleted; retain only under the configured policy.
          x-field-id: F0009
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        source_refs:
          type: array
          items:
            $ref: '#/components/schemas/NormalizedSourceRef'
          description: >-
            Evidence references contributing to this record. A known empty array
            is valid for a newly client-created record.
          x-field-id: F0010
          x-classification: Confidential
          x-availability: Required when resource exists
        field_provenance:
          anyOf:
            - type: array
              items:
                $ref: '#/components/schemas/NormalizedFieldProvenance'
            - type: 'null'
          description: >-
            Field-level source, extraction, transformation and quality details.
            Preserve original evidence; do not invent missing values.
          x-field-id: F0011
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        data_status:
          $ref: '#/components/schemas/NormalizedEnum_data_status'
          description: >-
            Whether the requested resource is complete for its stated scope.
            Completeness is relative to declared fields, sources and time
            interval.
          x-field-id: F0012
          x-classification: Confidential
          x-availability: Required when resource exists
        missing_fields:
          type: array
          items:
            $ref: '#/components/schemas/NormalizedMissingField'
          description: >-
            Unavailable field paths and their explicit reasons. Preserve
            original evidence; do not invent missing values.
          x-field-id: F0013
          x-classification: Confidential
          x-availability: Required when resource exists
        schema_version:
          type: string
          description: >-
            Contract version used to serialize this record. Preserve original
            evidence; do not invent missing values.
          x-field-id: F0014
          x-classification: Confidential
          x-availability: Required when resource exists
        client_reference:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Optional caller-owned correlation identifier. Scoped to tenant;
            uniqueness only when explicitly contracted.
          x-field-id: F0015
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        extensions:
          anyOf:
            - type: object
              additionalProperties: true
            - type: 'null'
          description: >-
            Namespaced extra provider fields without changing the core schema.
            Access-controlled and documented per provider; no provider tokens.
          x-field-id: F0016
          x-classification: Restricted
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        number:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Printable document number. Preserve original evidence; do not invent
            missing values.
          x-field-id: F0446
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        counterparty_id:
          type: string
          description: >-
            Customer for invoices or supplier for bills. Preserve original
            evidence; do not invent missing values.
          x-field-id: F0447
          x-classification: Confidential
          x-availability: >-
            Returned when available and authorized; a partial read record can
            omit this field.
        issued_on:
          anyOf:
            - type: string
              format: date
            - type: 'null'
          description: >-
            Document issue date. Preserve original evidence; do not invent
            missing values.
          x-field-id: F0448
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        due_on:
          anyOf:
            - type: string
              format: date
            - type: 'null'
          description: >-
            Contractual payment due date. Preserve original evidence; do not
            invent missing values.
          x-field-id: F0449
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        status:
          $ref: '#/components/schemas/NormalizedEnum_invoice_status'
          description: >-
            Normalized receivable/payable state. Do not infer void status solely
            from a zero balance.
          x-field-id: F0450
          x-classification: Confidential
          x-availability: >-
            Returned when available and authorized; a partial read record can
            omit this field.
        subtotal:
          type: object
          properties:
            amount:
              anyOf:
                - type: string
                  pattern: ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?$
                  description: >-
                    Exact decimal string in major units. Do not use binary
                    floating-point arithmetic.
                - type: 'null'
              description: >-
                Amount before tax under the source convention. Amount in major
                currency units. Pair with currency; preserve precision; zero
                differs from unavailable.
              x-field-id: F0451
              x-classification: Confidential
              x-availability: >-
                Source, module, country, consent and contracted permissions
                determine population.
            currency:
              anyOf:
                - type: string
                - type: 'null'
              description: >-
                Currency for subtotal. Uppercase ISO 4217 code when known; null
                for unsupported/unidentified currency, retain source code.
              x-field-id: F0452
              x-classification: Confidential
              x-availability: >-
                Source, module, country, consent and contracted permissions
                determine population.
        tax_total:
          type: object
          properties:
            amount:
              anyOf:
                - type: string
                  pattern: ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?$
                  description: >-
                    Exact decimal string in major units. Do not use binary
                    floating-point arithmetic.
                - type: 'null'
              description: >-
                Total tax charged. Amount in major currency units. Pair with
                currency; preserve precision; zero differs from unavailable.
              x-field-id: F0453
              x-classification: Confidential
              x-availability: >-
                Source, module, country, consent and contracted permissions
                determine population.
            currency:
              anyOf:
                - type: string
                - type: 'null'
              description: >-
                Currency for tax total. Uppercase ISO 4217 code when known; null
                for unsupported/unidentified currency, retain source code.
              x-field-id: F0454
              x-classification: Confidential
              x-availability: >-
                Source, module, country, consent and contracted permissions
                determine population.
        total:
          type: object
          properties:
            amount:
              anyOf:
                - type: string
                  pattern: ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?$
                  description: >-
                    Exact decimal string in major units. Do not use binary
                    floating-point arithmetic.
                - type: 'null'
              description: >-
                Document total including tax. Amount in major currency units.
                Pair with currency; preserve precision; zero differs from
                unavailable.
              x-field-id: F0455
              x-classification: Confidential
              x-availability: >-
                Source, module, country, consent and contracted permissions
                determine population.
            currency:
              anyOf:
                - type: string
                - type: 'null'
              description: >-
                Currency for total. Uppercase ISO 4217 code when known; null for
                unsupported/unidentified currency, retain source code.
              x-field-id: F0456
              x-classification: Confidential
              x-availability: >-
                Source, module, country, consent and contracted permissions
                determine population.
        amount_due:
          type: object
          properties:
            amount:
              anyOf:
                - type: string
                  pattern: ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?$
                  description: >-
                    Exact decimal string in major units. Do not use binary
                    floating-point arithmetic.
                - type: 'null'
              description: >-
                Outstanding document amount after source-applied allocations.
                Amount in major currency units. Pair with currency; preserve
                precision; zero differs from unavailable.
              x-field-id: F0457
              x-classification: Confidential
              x-availability: >-
                Source, module, country, consent and contracted permissions
                determine population.
            currency:
              anyOf:
                - type: string
                - type: 'null'
              description: >-
                Currency for amount due. Uppercase ISO 4217 code when known;
                null for unsupported/unidentified currency, retain source code.
              x-field-id: F0458
              x-classification: Confidential
              x-availability: >-
                Source, module, country, consent and contracted permissions
                determine population.
        amount_paid:
          type: object
          properties:
            amount:
              anyOf:
                - type: string
                  pattern: ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?$
                  description: >-
                    Exact decimal string in major units. Do not use binary
                    floating-point arithmetic.
                - type: 'null'
              description: >-
                Payments applied, where separately reported. Amount in major
                currency units. Pair with currency; preserve precision; zero
                differs from unavailable.
              x-field-id: F0459
              x-classification: Confidential
              x-availability: >-
                Source, module, country, consent and contracted permissions
                determine population.
            currency:
              anyOf:
                - type: string
                - type: 'null'
              description: >-
                Currency for amount paid. Uppercase ISO 4217 code when known;
                null for unsupported/unidentified currency, retain source code.
              x-field-id: F0460
              x-classification: Confidential
              x-availability: >-
                Source, module, country, consent and contracted permissions
                determine population.
        amount_credited:
          type: object
          properties:
            amount:
              anyOf:
                - type: string
                  pattern: ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?$
                  description: >-
                    Exact decimal string in major units. Do not use binary
                    floating-point arithmetic.
                - type: 'null'
              description: >-
                Credits or prepayments applied, separately reported. Amount in
                major currency units. Pair with currency; preserve precision;
                zero differs from unavailable.
              x-field-id: F0461
              x-classification: Confidential
              x-availability: >-
                Source, module, country, consent and contracted permissions
                determine population.
            currency:
              anyOf:
                - type: string
                - type: 'null'
              description: >-
                Currency for amount credited. Uppercase ISO 4217 code when
                known; null for unsupported/unidentified currency, retain source
                code.
              x-field-id: F0462
              x-classification: Confidential
              x-availability: >-
                Source, module, country, consent and contracted permissions
                determine population.
        fully_paid_on:
          anyOf:
            - type: string
              format: date
            - type: 'null'
          description: >-
            Date full payment was completed. Preserve original evidence; do not
            invent missing values.
          x-field-id: F0463
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        payment_terms_days:
          anyOf:
            - type: integer
            - type: 'null'
          description: >-
            Contractual term when explicitly reported. Preserve original
            evidence; do not invent missing values.
          x-field-id: F0464
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        line_items:
          anyOf:
            - type: array
              items:
                $ref: '#/components/schemas/NormalizedInvoiceLine'
            - type: 'null'
          description: >-
            Itemized quantities, prices, account codes and tax amounts. Preserve
            original evidence; do not invent missing values.
          x-field-id: F0465
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        document_id:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Evidence document for the record. Preserve original evidence; do not
            invent missing values.
          x-field-id: F0466
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        home_total:
          type: object
          properties:
            amount:
              anyOf:
                - type: string
                  pattern: ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?$
                  description: >-
                    Exact decimal string in major units. Do not use binary
                    floating-point arithmetic.
                - type: 'null'
              description: >-
                Total translated to the ledger's home currency. Amount in major
                currency units. Pair with currency; preserve precision; zero
                differs from unavailable.
              x-field-id: F0467
              x-classification: Confidential
              x-availability: >-
                Source, module, country, consent and contracted permissions
                determine population.
            currency:
              anyOf:
                - type: string
                - type: 'null'
              description: >-
                Currency for home total. Uppercase ISO 4217 code when known;
                null for unsupported/unidentified currency, retain source code.
              x-field-id: F0468
              x-classification: Confidential
              x-availability: >-
                Source, module, country, consent and contracted permissions
                determine population.
        exchange_rate:
          anyOf:
            - type: string
              pattern: ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?$
              description: >-
                Exact decimal string in major units. Do not use binary
                floating-point arithmetic.
            - type: 'null'
          description: >-
            Home-currency units per document-currency unit. Use source rate and
            effective date; do not silently reverse the quote.
          x-field-id: F0469
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
      required:
        - id
        - object
        - created_at
        - updated_at
        - record_version
        - source_refs
        - data_status
        - missing_fields
        - schema_version
      title: InvoiceRead
      description: >-
        Accounts receivable invoice; sale made on credit. Population depends on
        source and tenant entitlement. Read representation includes all
        authorized populated fields. Missing or restricted fields carry explicit
        availability information; this API does not support field projection.
    NormalizedBillRead:
      type: object
      properties:
        id:
          type: string
          description: >-
            Stable identifier scoped to the client tenant. Never use a provider
            ID as the public primary key.
          x-field-id: F0001
          x-classification: Confidential
          x-availability: Required when resource exists
        object:
          type: string
          const: bill
          x-field-id: F0002
        subject_id:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Business or person to which this record relates. Null for
            tenant-level configuration and unresolved subjects.
          x-field-id: F0003
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        created_at:
          type: string
          format: date-time
          description: >-
            Time AMLOK first stored this resource. Preserve original evidence;
            do not invent missing values.
          x-field-id: F0004
          x-classification: Confidential
          x-availability: Required when resource exists
        updated_at:
          type: string
          format: date-time
          description: >-
            Time the normalized representation last changed. Preserve original
            evidence; do not invent missing values.
          x-field-id: F0005
          x-classification: Confidential
          x-availability: Required when resource exists
        observed_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          description: >-
            Time the source was observed by AMLOK. Do not imply this is the
            economic event time.
          x-field-id: F0006
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        effective_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          description: >-
            Time the source states this version became valid. Preserve original
            evidence; do not invent missing values.
          x-field-id: F0007
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        record_version:
          type: integer
          description: >-
            Monotonically increasing AMLOK version for this resource. Preserve
            original evidence; do not invent missing values.
          x-field-id: F0008
          x-classification: Confidential
          x-availability: Required when resource exists
        deleted_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          description: >-
            Tombstone timestamp for a source or AMLOK deletion. Null for records
            not deleted; retain only under the configured policy.
          x-field-id: F0009
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        source_refs:
          type: array
          items:
            $ref: '#/components/schemas/NormalizedSourceRef'
          description: >-
            Evidence references contributing to this record. A known empty array
            is valid for a newly client-created record.
          x-field-id: F0010
          x-classification: Confidential
          x-availability: Required when resource exists
        field_provenance:
          anyOf:
            - type: array
              items:
                $ref: '#/components/schemas/NormalizedFieldProvenance'
            - type: 'null'
          description: >-
            Field-level source, extraction, transformation and quality details.
            Preserve original evidence; do not invent missing values.
          x-field-id: F0011
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        data_status:
          $ref: '#/components/schemas/NormalizedEnum_data_status'
          description: >-
            Whether the requested resource is complete for its stated scope.
            Completeness is relative to declared fields, sources and time
            interval.
          x-field-id: F0012
          x-classification: Confidential
          x-availability: Required when resource exists
        missing_fields:
          type: array
          items:
            $ref: '#/components/schemas/NormalizedMissingField'
          description: >-
            Unavailable field paths and their explicit reasons. Preserve
            original evidence; do not invent missing values.
          x-field-id: F0013
          x-classification: Confidential
          x-availability: Required when resource exists
        schema_version:
          type: string
          description: >-
            Contract version used to serialize this record. Preserve original
            evidence; do not invent missing values.
          x-field-id: F0014
          x-classification: Confidential
          x-availability: Required when resource exists
        client_reference:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Optional caller-owned correlation identifier. Scoped to tenant;
            uniqueness only when explicitly contracted.
          x-field-id: F0015
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        extensions:
          anyOf:
            - type: object
              additionalProperties: true
            - type: 'null'
          description: >-
            Namespaced extra provider fields without changing the core schema.
            Access-controlled and documented per provider; no provider tokens.
          x-field-id: F0016
          x-classification: Restricted
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        number:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Printable document number. Preserve original evidence; do not invent
            missing values.
          x-field-id: F0470
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        counterparty_id:
          type: string
          description: >-
            Customer for invoices or supplier for bills. Preserve original
            evidence; do not invent missing values.
          x-field-id: F0471
          x-classification: Confidential
          x-availability: >-
            Returned when available and authorized; a partial read record can
            omit this field.
        issued_on:
          anyOf:
            - type: string
              format: date
            - type: 'null'
          description: >-
            Document issue date. Preserve original evidence; do not invent
            missing values.
          x-field-id: F0472
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        due_on:
          anyOf:
            - type: string
              format: date
            - type: 'null'
          description: >-
            Contractual payment due date. Preserve original evidence; do not
            invent missing values.
          x-field-id: F0473
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        status:
          $ref: '#/components/schemas/NormalizedEnum_invoice_status'
          description: >-
            Normalized receivable/payable state. Do not infer void status solely
            from a zero balance.
          x-field-id: F0474
          x-classification: Confidential
          x-availability: >-
            Returned when available and authorized; a partial read record can
            omit this field.
        subtotal:
          type: object
          properties:
            amount:
              anyOf:
                - type: string
                  pattern: ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?$
                  description: >-
                    Exact decimal string in major units. Do not use binary
                    floating-point arithmetic.
                - type: 'null'
              description: >-
                Amount before tax under the source convention. Amount in major
                currency units. Pair with currency; preserve precision; zero
                differs from unavailable.
              x-field-id: F0475
              x-classification: Confidential
              x-availability: >-
                Source, module, country, consent and contracted permissions
                determine population.
            currency:
              anyOf:
                - type: string
                - type: 'null'
              description: >-
                Currency for subtotal. Uppercase ISO 4217 code when known; null
                for unsupported/unidentified currency, retain source code.
              x-field-id: F0476
              x-classification: Confidential
              x-availability: >-
                Source, module, country, consent and contracted permissions
                determine population.
        tax_total:
          type: object
          properties:
            amount:
              anyOf:
                - type: string
                  pattern: ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?$
                  description: >-
                    Exact decimal string in major units. Do not use binary
                    floating-point arithmetic.
                - type: 'null'
              description: >-
                Total tax charged. Amount in major currency units. Pair with
                currency; preserve precision; zero differs from unavailable.
              x-field-id: F0477
              x-classification: Confidential
              x-availability: >-
                Source, module, country, consent and contracted permissions
                determine population.
            currency:
              anyOf:
                - type: string
                - type: 'null'
              description: >-
                Currency for tax total. Uppercase ISO 4217 code when known; null
                for unsupported/unidentified currency, retain source code.
              x-field-id: F0478
              x-classification: Confidential
              x-availability: >-
                Source, module, country, consent and contracted permissions
                determine population.
        total:
          type: object
          properties:
            amount:
              anyOf:
                - type: string
                  pattern: ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?$
                  description: >-
                    Exact decimal string in major units. Do not use binary
                    floating-point arithmetic.
                - type: 'null'
              description: >-
                Document total including tax. Amount in major currency units.
                Pair with currency; preserve precision; zero differs from
                unavailable.
              x-field-id: F0479
              x-classification: Confidential
              x-availability: >-
                Source, module, country, consent and contracted permissions
                determine population.
            currency:
              anyOf:
                - type: string
                - type: 'null'
              description: >-
                Currency for total. Uppercase ISO 4217 code when known; null for
                unsupported/unidentified currency, retain source code.
              x-field-id: F0480
              x-classification: Confidential
              x-availability: >-
                Source, module, country, consent and contracted permissions
                determine population.
        amount_due:
          type: object
          properties:
            amount:
              anyOf:
                - type: string
                  pattern: ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?$
                  description: >-
                    Exact decimal string in major units. Do not use binary
                    floating-point arithmetic.
                - type: 'null'
              description: >-
                Outstanding document amount after source-applied allocations.
                Amount in major currency units. Pair with currency; preserve
                precision; zero differs from unavailable.
              x-field-id: F0481
              x-classification: Confidential
              x-availability: >-
                Source, module, country, consent and contracted permissions
                determine population.
            currency:
              anyOf:
                - type: string
                - type: 'null'
              description: >-
                Currency for amount due. Uppercase ISO 4217 code when known;
                null for unsupported/unidentified currency, retain source code.
              x-field-id: F0482
              x-classification: Confidential
              x-availability: >-
                Source, module, country, consent and contracted permissions
                determine population.
        amount_paid:
          type: object
          properties:
            amount:
              anyOf:
                - type: string
                  pattern: ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?$
                  description: >-
                    Exact decimal string in major units. Do not use binary
                    floating-point arithmetic.
                - type: 'null'
              description: >-
                Payments applied, where separately reported. Amount in major
                currency units. Pair with currency; preserve precision; zero
                differs from unavailable.
              x-field-id: F0483
              x-classification: Confidential
              x-availability: >-
                Source, module, country, consent and contracted permissions
                determine population.
            currency:
              anyOf:
                - type: string
                - type: 'null'
              description: >-
                Currency for amount paid. Uppercase ISO 4217 code when known;
                null for unsupported/unidentified currency, retain source code.
              x-field-id: F0484
              x-classification: Confidential
              x-availability: >-
                Source, module, country, consent and contracted permissions
                determine population.
        amount_credited:
          type: object
          properties:
            amount:
              anyOf:
                - type: string
                  pattern: ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?$
                  description: >-
                    Exact decimal string in major units. Do not use binary
                    floating-point arithmetic.
                - type: 'null'
              description: >-
                Credits or prepayments applied, separately reported. Amount in
                major currency units. Pair with currency; preserve precision;
                zero differs from unavailable.
              x-field-id: F0485
              x-classification: Confidential
              x-availability: >-
                Source, module, country, consent and contracted permissions
                determine population.
            currency:
              anyOf:
                - type: string
                - type: 'null'
              description: >-
                Currency for amount credited. Uppercase ISO 4217 code when
                known; null for unsupported/unidentified currency, retain source
                code.
              x-field-id: F0486
              x-classification: Confidential
              x-availability: >-
                Source, module, country, consent and contracted permissions
                determine population.
        fully_paid_on:
          anyOf:
            - type: string
              format: date
            - type: 'null'
          description: >-
            Date full payment was completed. Preserve original evidence; do not
            invent missing values.
          x-field-id: F0487
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        payment_terms_days:
          anyOf:
            - type: integer
            - type: 'null'
          description: >-
            Contractual term when explicitly reported. Preserve original
            evidence; do not invent missing values.
          x-field-id: F0488
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        line_items:
          anyOf:
            - type: array
              items:
                $ref: '#/components/schemas/NormalizedInvoiceLine'
            - type: 'null'
          description: >-
            Itemized quantities, prices, account codes and tax amounts. Preserve
            original evidence; do not invent missing values.
          x-field-id: F0489
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        document_id:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Evidence document for the record. Preserve original evidence; do not
            invent missing values.
          x-field-id: F0490
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        home_total:
          type: object
          properties:
            amount:
              anyOf:
                - type: string
                  pattern: ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?$
                  description: >-
                    Exact decimal string in major units. Do not use binary
                    floating-point arithmetic.
                - type: 'null'
              description: >-
                Total translated to the ledger's home currency. Amount in major
                currency units. Pair with currency; preserve precision; zero
                differs from unavailable.
              x-field-id: F0491
              x-classification: Confidential
              x-availability: >-
                Source, module, country, consent and contracted permissions
                determine population.
            currency:
              anyOf:
                - type: string
                - type: 'null'
              description: >-
                Currency for home total. Uppercase ISO 4217 code when known;
                null for unsupported/unidentified currency, retain source code.
              x-field-id: F0492
              x-classification: Confidential
              x-availability: >-
                Source, module, country, consent and contracted permissions
                determine population.
        exchange_rate:
          anyOf:
            - type: string
              pattern: ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?$
              description: >-
                Exact decimal string in major units. Do not use binary
                floating-point arithmetic.
            - type: 'null'
          description: >-
            Home-currency units per document-currency unit. Use source rate and
            effective date; do not silently reverse the quote.
          x-field-id: F0493
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
      required:
        - id
        - object
        - created_at
        - updated_at
        - record_version
        - source_refs
        - data_status
        - missing_fields
        - schema_version
      title: BillRead
      description: >-
        Accounts payable invoice; amount owed to a supplier. Population depends
        on source and tenant entitlement. Read representation includes all
        authorized populated fields. Missing or restricted fields carry explicit
        availability information; this API does not support field projection.
    NormalizedCreditNoteRead:
      type: object
      properties:
        id:
          type: string
          description: >-
            Stable identifier scoped to the client tenant. Never use a provider
            ID as the public primary key.
          x-field-id: F0001
          x-classification: Confidential
          x-availability: Required when resource exists
        object:
          type: string
          const: credit_note
          x-field-id: F0002
        subject_id:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Business or person to which this record relates. Null for
            tenant-level configuration and unresolved subjects.
          x-field-id: F0003
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        created_at:
          type: string
          format: date-time
          description: >-
            Time AMLOK first stored this resource. Preserve original evidence;
            do not invent missing values.
          x-field-id: F0004
          x-classification: Confidential
          x-availability: Required when resource exists
        updated_at:
          type: string
          format: date-time
          description: >-
            Time the normalized representation last changed. Preserve original
            evidence; do not invent missing values.
          x-field-id: F0005
          x-classification: Confidential
          x-availability: Required when resource exists
        observed_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          description: >-
            Time the source was observed by AMLOK. Do not imply this is the
            economic event time.
          x-field-id: F0006
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        effective_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          description: >-
            Time the source states this version became valid. Preserve original
            evidence; do not invent missing values.
          x-field-id: F0007
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        record_version:
          type: integer
          description: >-
            Monotonically increasing AMLOK version for this resource. Preserve
            original evidence; do not invent missing values.
          x-field-id: F0008
          x-classification: Confidential
          x-availability: Required when resource exists
        deleted_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          description: >-
            Tombstone timestamp for a source or AMLOK deletion. Null for records
            not deleted; retain only under the configured policy.
          x-field-id: F0009
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        source_refs:
          type: array
          items:
            $ref: '#/components/schemas/NormalizedSourceRef'
          description: >-
            Evidence references contributing to this record. A known empty array
            is valid for a newly client-created record.
          x-field-id: F0010
          x-classification: Confidential
          x-availability: Required when resource exists
        field_provenance:
          anyOf:
            - type: array
              items:
                $ref: '#/components/schemas/NormalizedFieldProvenance'
            - type: 'null'
          description: >-
            Field-level source, extraction, transformation and quality details.
            Preserve original evidence; do not invent missing values.
          x-field-id: F0011
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        data_status:
          $ref: '#/components/schemas/NormalizedEnum_data_status'
          description: >-
            Whether the requested resource is complete for its stated scope.
            Completeness is relative to declared fields, sources and time
            interval.
          x-field-id: F0012
          x-classification: Confidential
          x-availability: Required when resource exists
        missing_fields:
          type: array
          items:
            $ref: '#/components/schemas/NormalizedMissingField'
          description: >-
            Unavailable field paths and their explicit reasons. Preserve
            original evidence; do not invent missing values.
          x-field-id: F0013
          x-classification: Confidential
          x-availability: Required when resource exists
        schema_version:
          type: string
          description: >-
            Contract version used to serialize this record. Preserve original
            evidence; do not invent missing values.
          x-field-id: F0014
          x-classification: Confidential
          x-availability: Required when resource exists
        client_reference:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Optional caller-owned correlation identifier. Scoped to tenant;
            uniqueness only when explicitly contracted.
          x-field-id: F0015
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        extensions:
          anyOf:
            - type: object
              additionalProperties: true
            - type: 'null'
          description: >-
            Namespaced extra provider fields without changing the core schema.
            Access-controlled and documented per provider; no provider tokens.
          x-field-id: F0016
          x-classification: Restricted
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        number:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Credit note reference. Preserve original evidence; do not invent
            missing values.
          x-field-id: F0494
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        counterparty_id:
          type: string
          description: >-
            Customer or supplier. Preserve original evidence; do not invent
            missing values.
          x-field-id: F0495
          x-classification: Confidential
          x-availability: >-
            Returned when available and authorized; a partial read record can
            omit this field.
        invoice_id:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Related receivable if applicable. Preserve original evidence; do not
            invent missing values.
          x-field-id: F0496
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        bill_id:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Related payable if applicable. Preserve original evidence; do not
            invent missing values.
          x-field-id: F0497
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        issued_on:
          anyOf:
            - type: string
              format: date
            - type: 'null'
          description: >-
            Credit note date. Preserve original evidence; do not invent missing
            values.
          x-field-id: F0498
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        status:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Source credit note state. Preserve original evidence; do not invent
            missing values.
          x-field-id: F0499
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        total:
          type: object
          properties:
            amount:
              anyOf:
                - type: string
                  pattern: ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?$
                  description: >-
                    Exact decimal string in major units. Do not use binary
                    floating-point arithmetic.
                - type: 'null'
              description: >-
                Absolute credit note amount. Amount in major currency units.
                Pair with currency; preserve precision; zero differs from
                unavailable.
              x-field-id: F0500
              x-classification: Confidential
              x-availability: >-
                Source, module, country, consent and contracted permissions
                determine population.
            currency:
              anyOf:
                - type: string
                - type: 'null'
              description: >-
                Currency for total. Uppercase ISO 4217 code when known; null for
                unsupported/unidentified currency, retain source code.
              x-field-id: F0501
              x-classification: Confidential
              x-availability: >-
                Source, module, country, consent and contracted permissions
                determine population.
        remaining_credit:
          type: object
          properties:
            amount:
              anyOf:
                - type: string
                  pattern: ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?$
                  description: >-
                    Exact decimal string in major units. Do not use binary
                    floating-point arithmetic.
                - type: 'null'
              description: >-
                Credit still available for allocation. Amount in major currency
                units. Pair with currency; preserve precision; zero differs from
                unavailable.
              x-field-id: F0502
              x-classification: Confidential
              x-availability: >-
                Source, module, country, consent and contracted permissions
                determine population.
            currency:
              anyOf:
                - type: string
                - type: 'null'
              description: >-
                Currency for remaining credit. Uppercase ISO 4217 code when
                known; null for unsupported/unidentified currency, retain source
                code.
              x-field-id: F0503
              x-classification: Confidential
              x-availability: >-
                Source, module, country, consent and contracted permissions
                determine population.
        reason:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Source adjustment explanation. Preserve original evidence; do not
            invent missing values.
          x-field-id: F0504
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
      required:
        - id
        - object
        - created_at
        - updated_at
        - record_version
        - source_refs
        - data_status
        - missing_fields
        - schema_version
      title: CreditNoteRead
      description: >-
        Adjustment reducing a receivable or payable. Population depends on
        source and tenant entitlement. Read representation includes all
        authorized populated fields. Missing or restricted fields carry explicit
        availability information; this API does not support field projection.
    NormalizedAccountingPaymentRead:
      type: object
      properties:
        id:
          type: string
          description: >-
            Stable identifier scoped to the client tenant. Never use a provider
            ID as the public primary key.
          x-field-id: F0001
          x-classification: Confidential
          x-availability: Required when resource exists
        object:
          type: string
          const: accounting_payment
          x-field-id: F0002
        subject_id:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Business or person to which this record relates. Null for
            tenant-level configuration and unresolved subjects.
          x-field-id: F0003
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        created_at:
          type: string
          format: date-time
          description: >-
            Time AMLOK first stored this resource. Preserve original evidence;
            do not invent missing values.
          x-field-id: F0004
          x-classification: Confidential
          x-availability: Required when resource exists
        updated_at:
          type: string
          format: date-time
          description: >-
            Time the normalized representation last changed. Preserve original
            evidence; do not invent missing values.
          x-field-id: F0005
          x-classification: Confidential
          x-availability: Required when resource exists
        observed_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          description: >-
            Time the source was observed by AMLOK. Do not imply this is the
            economic event time.
          x-field-id: F0006
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        effective_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          description: >-
            Time the source states this version became valid. Preserve original
            evidence; do not invent missing values.
          x-field-id: F0007
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        record_version:
          type: integer
          description: >-
            Monotonically increasing AMLOK version for this resource. Preserve
            original evidence; do not invent missing values.
          x-field-id: F0008
          x-classification: Confidential
          x-availability: Required when resource exists
        deleted_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          description: >-
            Tombstone timestamp for a source or AMLOK deletion. Null for records
            not deleted; retain only under the configured policy.
          x-field-id: F0009
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        source_refs:
          type: array
          items:
            $ref: '#/components/schemas/NormalizedSourceRef'
          description: >-
            Evidence references contributing to this record. A known empty array
            is valid for a newly client-created record.
          x-field-id: F0010
          x-classification: Confidential
          x-availability: Required when resource exists
        field_provenance:
          anyOf:
            - type: array
              items:
                $ref: '#/components/schemas/NormalizedFieldProvenance'
            - type: 'null'
          description: >-
            Field-level source, extraction, transformation and quality details.
            Preserve original evidence; do not invent missing values.
          x-field-id: F0011
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        data_status:
          $ref: '#/components/schemas/NormalizedEnum_data_status'
          description: >-
            Whether the requested resource is complete for its stated scope.
            Completeness is relative to declared fields, sources and time
            interval.
          x-field-id: F0012
          x-classification: Confidential
          x-availability: Required when resource exists
        missing_fields:
          type: array
          items:
            $ref: '#/components/schemas/NormalizedMissingField'
          description: >-
            Unavailable field paths and their explicit reasons. Preserve
            original evidence; do not invent missing values.
          x-field-id: F0013
          x-classification: Confidential
          x-availability: Required when resource exists
        schema_version:
          type: string
          description: >-
            Contract version used to serialize this record. Preserve original
            evidence; do not invent missing values.
          x-field-id: F0014
          x-classification: Confidential
          x-availability: Required when resource exists
        client_reference:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Optional caller-owned correlation identifier. Scoped to tenant;
            uniqueness only when explicitly contracted.
          x-field-id: F0015
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        extensions:
          anyOf:
            - type: object
              additionalProperties: true
            - type: 'null'
          description: >-
            Namespaced extra provider fields without changing the core schema.
            Access-controlled and documented per provider; no provider tokens.
          x-field-id: F0016
          x-classification: Restricted
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        counterparty_id:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Customer or supplier. Preserve original evidence; do not invent
            missing values.
          x-field-id: F0505
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        direction:
          $ref: '#/components/schemas/NormalizedEnum_direction'
          description: >-
            Receipt or disbursement from the business perspective. Preserve
            original evidence; do not invent missing values.
          x-field-id: F0506
          x-classification: Confidential
          x-availability: >-
            Returned when available and authorized; a partial read record can
            omit this field.
        amount:
          type: object
          properties:
            amount:
              anyOf:
                - type: string
                  pattern: ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?$
                  description: >-
                    Exact decimal string in major units. Do not use binary
                    floating-point arithmetic.
                - type: 'null'
              description: >-
                Total allocated cash payment. Amount in major currency units.
                Pair with currency; preserve precision; zero differs from
                unavailable.
              x-field-id: F0507
              x-classification: Confidential
              x-availability: >-
                Source, module, country, consent and contracted permissions
                determine population.
            currency:
              anyOf:
                - type: string
                - type: 'null'
              description: >-
                Currency for amount. Uppercase ISO 4217 code when known; null
                for unsupported/unidentified currency, retain source code.
              x-field-id: F0508
              x-classification: Confidential
              x-availability: >-
                Source, module, country, consent and contracted permissions
                determine population.
        paid_on:
          anyOf:
            - type: string
              format: date
            - type: 'null'
          description: >-
            Accounting payment date. Preserve original evidence; do not invent
            missing values.
          x-field-id: F0509
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        bank_account_id:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Matched financial account when known. Preserve original evidence; do
            not invent missing values.
          x-field-id: F0510
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        ledger_account_id:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Ledger cash or clearing account. Preserve original evidence; do not
            invent missing values.
          x-field-id: F0511
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        allocations:
          anyOf:
            - type: array
              items:
                $ref: '#/components/schemas/NormalizedAllocation'
            - type: 'null'
          description: >-
            Amounts allocated to invoices, bills or credits. Preserve original
            evidence; do not invent missing values.
          x-field-id: F0512
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        bank_transaction_id:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Matched financial-account movement. Preserve original evidence; do
            not invent missing values.
          x-field-id: F0513
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        reconciliation_status:
          anyOf:
            - $ref: '#/components/schemas/NormalizedEnum_reconciliation_status'
            - type: 'null'
          description: >-
            State of matching ledger payment to bank movement. Preserve original
            evidence; do not invent missing values.
          x-field-id: F0514
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
      required:
        - id
        - object
        - created_at
        - updated_at
        - record_version
        - source_refs
        - data_status
        - missing_fields
        - schema_version
      title: AccountingPaymentRead
      description: >-
        Ledger allocation of a customer receipt or supplier payment. Population
        depends on source and tenant entitlement. Read representation includes
        all authorized populated fields. Missing or restricted fields carry
        explicit availability information; this API does not support field
        projection.
    NormalizedFinancialStatementRead:
      type: object
      properties:
        id:
          type: string
          description: >-
            Stable identifier scoped to the client tenant. Never use a provider
            ID as the public primary key.
          x-field-id: F0001
          x-classification: Confidential
          x-availability: Required when resource exists
        object:
          type: string
          const: financial_statement
          x-field-id: F0002
        subject_id:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Business or person to which this record relates. Null for
            tenant-level configuration and unresolved subjects.
          x-field-id: F0003
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        created_at:
          type: string
          format: date-time
          description: >-
            Time AMLOK first stored this resource. Preserve original evidence;
            do not invent missing values.
          x-field-id: F0004
          x-classification: Confidential
          x-availability: Required when resource exists
        updated_at:
          type: string
          format: date-time
          description: >-
            Time the normalized representation last changed. Preserve original
            evidence; do not invent missing values.
          x-field-id: F0005
          x-classification: Confidential
          x-availability: Required when resource exists
        observed_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          description: >-
            Time the source was observed by AMLOK. Do not imply this is the
            economic event time.
          x-field-id: F0006
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        effective_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          description: >-
            Time the source states this version became valid. Preserve original
            evidence; do not invent missing values.
          x-field-id: F0007
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        record_version:
          type: integer
          description: >-
            Monotonically increasing AMLOK version for this resource. Preserve
            original evidence; do not invent missing values.
          x-field-id: F0008
          x-classification: Confidential
          x-availability: Required when resource exists
        deleted_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          description: >-
            Tombstone timestamp for a source or AMLOK deletion. Null for records
            not deleted; retain only under the configured policy.
          x-field-id: F0009
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        source_refs:
          type: array
          items:
            $ref: '#/components/schemas/NormalizedSourceRef'
          description: >-
            Evidence references contributing to this record. A known empty array
            is valid for a newly client-created record.
          x-field-id: F0010
          x-classification: Confidential
          x-availability: Required when resource exists
        field_provenance:
          anyOf:
            - type: array
              items:
                $ref: '#/components/schemas/NormalizedFieldProvenance'
            - type: 'null'
          description: >-
            Field-level source, extraction, transformation and quality details.
            Preserve original evidence; do not invent missing values.
          x-field-id: F0011
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        data_status:
          $ref: '#/components/schemas/NormalizedEnum_data_status'
          description: >-
            Whether the requested resource is complete for its stated scope.
            Completeness is relative to declared fields, sources and time
            interval.
          x-field-id: F0012
          x-classification: Confidential
          x-availability: Required when resource exists
        missing_fields:
          type: array
          items:
            $ref: '#/components/schemas/NormalizedMissingField'
          description: >-
            Unavailable field paths and their explicit reasons. Preserve
            original evidence; do not invent missing values.
          x-field-id: F0013
          x-classification: Confidential
          x-availability: Required when resource exists
        schema_version:
          type: string
          description: >-
            Contract version used to serialize this record. Preserve original
            evidence; do not invent missing values.
          x-field-id: F0014
          x-classification: Confidential
          x-availability: Required when resource exists
        client_reference:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Optional caller-owned correlation identifier. Scoped to tenant;
            uniqueness only when explicitly contracted.
          x-field-id: F0015
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        extensions:
          anyOf:
            - type: object
              additionalProperties: true
            - type: 'null'
          description: >-
            Namespaced extra provider fields without changing the core schema.
            Access-controlled and documented per provider; no provider tokens.
          x-field-id: F0016
          x-classification: Restricted
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        statement_type:
          $ref: '#/components/schemas/NormalizedEnum_statement_type'
          description: >-
            Financial report kind. Preserve original evidence; do not invent
            missing values.
          x-field-id: F0515
          x-classification: Confidential
          x-availability: >-
            Returned when available and authorized; a partial read record can
            omit this field.
        period_start:
          anyOf:
            - type: string
              format: date
            - type: 'null'
          description: >-
            Start of reporting period for flow statements. Preserve original
            evidence; do not invent missing values.
          x-field-id: F0516
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        period_end:
          type: string
          format: date
          description: >-
            Inclusive reporting end or balance-sheet date. Preserve original
            evidence; do not invent missing values.
          x-field-id: F0517
          x-classification: Confidential
          x-availability: >-
            Returned when available and authorized; a partial read record can
            omit this field.
        accounting_basis:
          $ref: '#/components/schemas/NormalizedEnum_accounting_basis'
          description: >-
            Cash or accrual basis. Preserve original evidence; do not invent
            missing values.
          x-field-id: F0518
          x-classification: Confidential
          x-availability: >-
            Returned when available and authorized; a partial read record can
            omit this field.
        currency:
          type: string
          description: >-
            Presentation currency of the report. Preserve original evidence; do
            not invent missing values.
          x-field-id: F0519
          x-classification: Confidential
          x-availability: >-
            Returned when available and authorized; a partial read record can
            omit this field.
        is_consolidated:
          anyOf:
            - type: boolean
            - type: 'null'
          description: >-
            Whether multiple legal entities are consolidated. Preserve original
            evidence; do not invent missing values.
          x-field-id: F0520
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        is_audited:
          anyOf:
            - type: boolean
            - type: 'null'
          description: >-
            Whether an audit opinion is actually evidenced. Software-generated
            reports are not automatically audited.
          x-field-id: F0521
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        source_report_name:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Name of the upstream report. Preserve original evidence; do not
            invent missing values.
          x-field-id: F0522
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        generated_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          description: >-
            Source report generation time. Preserve original evidence; do not
            invent missing values.
          x-field-id: F0523
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        document_id:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Evidence copy of the statement. Preserve original evidence; do not
            invent missing values.
          x-field-id: F0524
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        line_ids:
          anyOf:
            - type: array
              items:
                type: string
            - type: 'null'
          description: >-
            Standardized report lines. Preserve original evidence; do not invent
            missing values.
          x-field-id: F0525
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
      required:
        - id
        - object
        - created_at
        - updated_at
        - record_version
        - source_refs
        - data_status
        - missing_fields
        - schema_version
      title: FinancialStatementRead
      description: >-
        Financial report with explicit period, basis and source. Population
        depends on source and tenant entitlement. Read representation includes
        all authorized populated fields. Missing or restricted fields carry
        explicit availability information; this API does not support field
        projection.
    NormalizedStatementLineRead:
      type: object
      properties:
        id:
          type: string
          description: >-
            Stable identifier scoped to the client tenant. Never use a provider
            ID as the public primary key.
          x-field-id: F0001
          x-classification: Confidential
          x-availability: Required when resource exists
        object:
          type: string
          const: statement_line
          x-field-id: F0002
        subject_id:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Business or person to which this record relates. Null for
            tenant-level configuration and unresolved subjects.
          x-field-id: F0003
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        created_at:
          type: string
          format: date-time
          description: >-
            Time AMLOK first stored this resource. Preserve original evidence;
            do not invent missing values.
          x-field-id: F0004
          x-classification: Confidential
          x-availability: Required when resource exists
        updated_at:
          type: string
          format: date-time
          description: >-
            Time the normalized representation last changed. Preserve original
            evidence; do not invent missing values.
          x-field-id: F0005
          x-classification: Confidential
          x-availability: Required when resource exists
        observed_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          description: >-
            Time the source was observed by AMLOK. Do not imply this is the
            economic event time.
          x-field-id: F0006
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        effective_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          description: >-
            Time the source states this version became valid. Preserve original
            evidence; do not invent missing values.
          x-field-id: F0007
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        record_version:
          type: integer
          description: >-
            Monotonically increasing AMLOK version for this resource. Preserve
            original evidence; do not invent missing values.
          x-field-id: F0008
          x-classification: Confidential
          x-availability: Required when resource exists
        deleted_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          description: >-
            Tombstone timestamp for a source or AMLOK deletion. Null for records
            not deleted; retain only under the configured policy.
          x-field-id: F0009
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        source_refs:
          type: array
          items:
            $ref: '#/components/schemas/NormalizedSourceRef'
          description: >-
            Evidence references contributing to this record. A known empty array
            is valid for a newly client-created record.
          x-field-id: F0010
          x-classification: Confidential
          x-availability: Required when resource exists
        field_provenance:
          anyOf:
            - type: array
              items:
                $ref: '#/components/schemas/NormalizedFieldProvenance'
            - type: 'null'
          description: >-
            Field-level source, extraction, transformation and quality details.
            Preserve original evidence; do not invent missing values.
          x-field-id: F0011
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        data_status:
          $ref: '#/components/schemas/NormalizedEnum_data_status'
          description: >-
            Whether the requested resource is complete for its stated scope.
            Completeness is relative to declared fields, sources and time
            interval.
          x-field-id: F0012
          x-classification: Confidential
          x-availability: Required when resource exists
        missing_fields:
          type: array
          items:
            $ref: '#/components/schemas/NormalizedMissingField'
          description: >-
            Unavailable field paths and their explicit reasons. Preserve
            original evidence; do not invent missing values.
          x-field-id: F0013
          x-classification: Confidential
          x-availability: Required when resource exists
        schema_version:
          type: string
          description: >-
            Contract version used to serialize this record. Preserve original
            evidence; do not invent missing values.
          x-field-id: F0014
          x-classification: Confidential
          x-availability: Required when resource exists
        client_reference:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Optional caller-owned correlation identifier. Scoped to tenant;
            uniqueness only when explicitly contracted.
          x-field-id: F0015
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        extensions:
          anyOf:
            - type: object
              additionalProperties: true
            - type: 'null'
          description: >-
            Namespaced extra provider fields without changing the core schema.
            Access-controlled and documented per provider; no provider tokens.
          x-field-id: F0016
          x-classification: Restricted
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        statement_id:
          type: string
          description: >-
            Parent financial statement. Preserve original evidence; do not
            invent missing values.
          x-field-id: F0526
          x-classification: Confidential
          x-availability: >-
            Returned when available and authorized; a partial read record can
            omit this field.
        line_code:
          type: string
          description: >-
            AMLOK normalized statement concept. Mapping depends on account chart
            and reporting basis.
          x-field-id: F0527
          x-classification: Confidential
          x-availability: >-
            Returned when available and authorized; a partial read record can
            omit this field.
        source_label:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Original report line label. Preserve original evidence; do not
            invent missing values.
          x-field-id: F0528
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        parent_line_id:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Parent subtotal or grouping line. Preserve original evidence; do not
            invent missing values.
          x-field-id: F0529
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        amount:
          type: object
          properties:
            amount:
              anyOf:
                - type: string
                  pattern: ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?$
                  description: >-
                    Exact decimal string in major units. Do not use binary
                    floating-point arithmetic.
                - type: 'null'
              description: >-
                Reported line amount in statement currency. Amount in major
                currency units. Pair with currency; preserve precision; zero
                differs from unavailable.
              x-field-id: F0530
              x-classification: Confidential
              x-availability: >-
                Source, module, country, consent and contracted permissions
                determine population.
            currency:
              anyOf:
                - type: string
                - type: 'null'
              description: >-
                Currency for amount. Uppercase ISO 4217 code when known; null
                for unsupported/unidentified currency, retain source code.
              x-field-id: F0531
              x-classification: Confidential
              x-availability: >-
                Source, module, country, consent and contracted permissions
                determine population.
        is_total:
          anyOf:
            - type: boolean
            - type: 'null'
          description: >-
            Whether this line is a subtotal or total. Preserve original
            evidence; do not invent missing values.
          x-field-id: F0532
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        ledger_account_ids:
          anyOf:
            - type: array
              items:
                type: string
            - type: 'null'
          description: >-
            Accounts contributing to the line when exposed. Preserve original
            evidence; do not invent missing values.
          x-field-id: F0533
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        mapping_method:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            How source lines were assigned to the normalized concept. Preserve
            original evidence; do not invent missing values.
          x-field-id: F0534
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
      required:
        - id
        - object
        - created_at
        - updated_at
        - record_version
        - source_refs
        - data_status
        - missing_fields
        - schema_version
      title: StatementLineRead
      description: >-
        One classified line of a financial report. Population depends on source
        and tenant entitlement. Read representation includes all authorized
        populated fields. Missing or restricted fields carry explicit
        availability information; this API does not support field projection.
    NormalizedTaxObligationRead:
      type: object
      properties:
        id:
          type: string
          description: >-
            Stable identifier scoped to the client tenant. Never use a provider
            ID as the public primary key.
          x-field-id: F0001
          x-classification: Confidential
          x-availability: Required when resource exists
        object:
          type: string
          const: tax_obligation
          x-field-id: F0002
        subject_id:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Business or person to which this record relates. Null for
            tenant-level configuration and unresolved subjects.
          x-field-id: F0003
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        created_at:
          type: string
          format: date-time
          description: >-
            Time AMLOK first stored this resource. Preserve original evidence;
            do not invent missing values.
          x-field-id: F0004
          x-classification: Confidential
          x-availability: Required when resource exists
        updated_at:
          type: string
          format: date-time
          description: >-
            Time the normalized representation last changed. Preserve original
            evidence; do not invent missing values.
          x-field-id: F0005
          x-classification: Confidential
          x-availability: Required when resource exists
        observed_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          description: >-
            Time the source was observed by AMLOK. Do not imply this is the
            economic event time.
          x-field-id: F0006
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        effective_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          description: >-
            Time the source states this version became valid. Preserve original
            evidence; do not invent missing values.
          x-field-id: F0007
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        record_version:
          type: integer
          description: >-
            Monotonically increasing AMLOK version for this resource. Preserve
            original evidence; do not invent missing values.
          x-field-id: F0008
          x-classification: Confidential
          x-availability: Required when resource exists
        deleted_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          description: >-
            Tombstone timestamp for a source or AMLOK deletion. Null for records
            not deleted; retain only under the configured policy.
          x-field-id: F0009
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        source_refs:
          type: array
          items:
            $ref: '#/components/schemas/NormalizedSourceRef'
          description: >-
            Evidence references contributing to this record. A known empty array
            is valid for a newly client-created record.
          x-field-id: F0010
          x-classification: Confidential
          x-availability: Required when resource exists
        field_provenance:
          anyOf:
            - type: array
              items:
                $ref: '#/components/schemas/NormalizedFieldProvenance'
            - type: 'null'
          description: >-
            Field-level source, extraction, transformation and quality details.
            Preserve original evidence; do not invent missing values.
          x-field-id: F0011
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        data_status:
          $ref: '#/components/schemas/NormalizedEnum_data_status'
          description: >-
            Whether the requested resource is complete for its stated scope.
            Completeness is relative to declared fields, sources and time
            interval.
          x-field-id: F0012
          x-classification: Confidential
          x-availability: Required when resource exists
        missing_fields:
          type: array
          items:
            $ref: '#/components/schemas/NormalizedMissingField'
          description: >-
            Unavailable field paths and their explicit reasons. Preserve
            original evidence; do not invent missing values.
          x-field-id: F0013
          x-classification: Confidential
          x-availability: Required when resource exists
        schema_version:
          type: string
          description: >-
            Contract version used to serialize this record. Preserve original
            evidence; do not invent missing values.
          x-field-id: F0014
          x-classification: Confidential
          x-availability: Required when resource exists
        client_reference:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Optional caller-owned correlation identifier. Scoped to tenant;
            uniqueness only when explicitly contracted.
          x-field-id: F0015
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        extensions:
          anyOf:
            - type: object
              additionalProperties: true
            - type: 'null'
          description: >-
            Namespaced extra provider fields without changing the core schema.
            Access-controlled and documented per provider; no provider tokens.
          x-field-id: F0016
          x-classification: Restricted
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        tax_type:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Jurisdiction-specific tax category. Preserve original evidence; do
            not invent missing values.
          x-field-id: F0535
          x-classification: Confidential
          x-availability: >-
            Accounting or supplied-return evidence only; no direct CRA/IRS
            account integration is established by the inventory.
        jurisdiction:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Relevant taxing jurisdiction. Preserve original evidence; do not
            invent missing values.
          x-field-id: F0536
          x-classification: Confidential
          x-availability: >-
            Accounting or supplied-return evidence only; no direct CRA/IRS
            account integration is established by the inventory.
        period_start:
          anyOf:
            - type: string
              format: date
            - type: 'null'
          description: >-
            Tax reporting period start. Preserve original evidence; do not
            invent missing values.
          x-field-id: F0537
          x-classification: Confidential
          x-availability: >-
            Accounting or supplied-return evidence only; no direct CRA/IRS
            account integration is established by the inventory.
        period_end:
          anyOf:
            - type: string
              format: date
            - type: 'null'
          description: >-
            Tax reporting period end. Preserve original evidence; do not invent
            missing values.
          x-field-id: F0538
          x-classification: Confidential
          x-availability: >-
            Accounting or supplied-return evidence only; no direct CRA/IRS
            account integration is established by the inventory.
        due_on:
          anyOf:
            - type: string
              format: date
            - type: 'null'
          description: >-
            Payment or filing deadline when supplied. Preserve original
            evidence; do not invent missing values.
          x-field-id: F0539
          x-classification: Confidential
          x-availability: >-
            Accounting or supplied-return evidence only; no direct CRA/IRS
            account integration is established by the inventory.
        amount_due:
          type: object
          properties:
            amount:
              anyOf:
                - type: string
                  pattern: ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?$
                  description: >-
                    Exact decimal string in major units. Do not use binary
                    floating-point arithmetic.
                - type: 'null'
              description: >-
                Reported tax payable. Amount in major currency units. Pair with
                currency; preserve precision; zero differs from unavailable.
              x-field-id: F0540
              x-classification: Confidential
              x-availability: >-
                Accounting or supplied-return evidence only; no direct CRA/IRS
                account integration is established by the inventory.
            currency:
              anyOf:
                - type: string
                - type: 'null'
              description: >-
                Currency for amount due. Uppercase ISO 4217 code when known;
                null for unsupported/unidentified currency, retain source code.
              x-field-id: F0541
              x-classification: Confidential
              x-availability: >-
                Accounting or supplied-return evidence only; no direct CRA/IRS
                account integration is established by the inventory.
        amount_paid:
          type: object
          properties:
            amount:
              anyOf:
                - type: string
                  pattern: ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?$
                  description: >-
                    Exact decimal string in major units. Do not use binary
                    floating-point arithmetic.
                - type: 'null'
              description: >-
                Recorded payment against the obligation. Amount in major
                currency units. Pair with currency; preserve precision; zero
                differs from unavailable.
              x-field-id: F0542
              x-classification: Confidential
              x-availability: >-
                Accounting or supplied-return evidence only; no direct CRA/IRS
                account integration is established by the inventory.
            currency:
              anyOf:
                - type: string
                - type: 'null'
              description: >-
                Currency for amount paid. Uppercase ISO 4217 code when known;
                null for unsupported/unidentified currency, retain source code.
              x-field-id: F0543
              x-classification: Confidential
              x-availability: >-
                Accounting or supplied-return evidence only; no direct CRA/IRS
                account integration is established by the inventory.
        filing_status:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Source-reported filing status. Preserve original evidence; do not
            invent missing values.
          x-field-id: F0544
          x-classification: Confidential
          x-availability: >-
            Accounting or supplied-return evidence only; no direct CRA/IRS
            account integration is established by the inventory.
        filed_on:
          anyOf:
            - type: string
              format: date
            - type: 'null'
          description: >-
            Actual filing date when evidenced. Preserve original evidence; do
            not invent missing values.
          x-field-id: F0545
          x-classification: Confidential
          x-availability: >-
            Accounting or supplied-return evidence only; no direct CRA/IRS
            account integration is established by the inventory.
        document_id:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Supporting return or receipt. Preserve original evidence; do not
            invent missing values.
          x-field-id: F0546
          x-classification: Confidential
          x-availability: >-
            Accounting or supplied-return evidence only; no direct CRA/IRS
            account integration is established by the inventory.
      required:
        - id
        - object
        - created_at
        - updated_at
        - record_version
        - source_refs
        - data_status
        - missing_fields
        - schema_version
      title: TaxObligationRead
      description: >-
        Tax payable or reported obligation from an accounting system or supplied
        return. Population depends on source and tenant entitlement. Read
        representation includes all authorized populated fields. Missing or
        restricted fields carry explicit availability information; this API does
        not support field projection.
    NormalizedProductRead:
      type: object
      properties:
        id:
          type: string
          description: >-
            Stable identifier scoped to the client tenant. Never use a provider
            ID as the public primary key.
          x-field-id: F0001
          x-classification: Confidential
          x-availability: Required when resource exists
        object:
          type: string
          const: product
          x-field-id: F0002
        subject_id:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Business or person to which this record relates. Null for
            tenant-level configuration and unresolved subjects.
          x-field-id: F0003
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        created_at:
          type: string
          format: date-time
          description: >-
            Time AMLOK first stored this resource. Preserve original evidence;
            do not invent missing values.
          x-field-id: F0004
          x-classification: Confidential
          x-availability: Required when resource exists
        updated_at:
          type: string
          format: date-time
          description: >-
            Time the normalized representation last changed. Preserve original
            evidence; do not invent missing values.
          x-field-id: F0005
          x-classification: Confidential
          x-availability: Required when resource exists
        observed_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          description: >-
            Time the source was observed by AMLOK. Do not imply this is the
            economic event time.
          x-field-id: F0006
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        effective_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          description: >-
            Time the source states this version became valid. Preserve original
            evidence; do not invent missing values.
          x-field-id: F0007
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        record_version:
          type: integer
          description: >-
            Monotonically increasing AMLOK version for this resource. Preserve
            original evidence; do not invent missing values.
          x-field-id: F0008
          x-classification: Confidential
          x-availability: Required when resource exists
        deleted_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          description: >-
            Tombstone timestamp for a source or AMLOK deletion. Null for records
            not deleted; retain only under the configured policy.
          x-field-id: F0009
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        source_refs:
          type: array
          items:
            $ref: '#/components/schemas/NormalizedSourceRef'
          description: >-
            Evidence references contributing to this record. A known empty array
            is valid for a newly client-created record.
          x-field-id: F0010
          x-classification: Confidential
          x-availability: Required when resource exists
        field_provenance:
          anyOf:
            - type: array
              items:
                $ref: '#/components/schemas/NormalizedFieldProvenance'
            - type: 'null'
          description: >-
            Field-level source, extraction, transformation and quality details.
            Preserve original evidence; do not invent missing values.
          x-field-id: F0011
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        data_status:
          $ref: '#/components/schemas/NormalizedEnum_data_status'
          description: >-
            Whether the requested resource is complete for its stated scope.
            Completeness is relative to declared fields, sources and time
            interval.
          x-field-id: F0012
          x-classification: Confidential
          x-availability: Required when resource exists
        missing_fields:
          type: array
          items:
            $ref: '#/components/schemas/NormalizedMissingField'
          description: >-
            Unavailable field paths and their explicit reasons. Preserve
            original evidence; do not invent missing values.
          x-field-id: F0013
          x-classification: Confidential
          x-availability: Required when resource exists
        schema_version:
          type: string
          description: >-
            Contract version used to serialize this record. Preserve original
            evidence; do not invent missing values.
          x-field-id: F0014
          x-classification: Confidential
          x-availability: Required when resource exists
        client_reference:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Optional caller-owned correlation identifier. Scoped to tenant;
            uniqueness only when explicitly contracted.
          x-field-id: F0015
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        extensions:
          anyOf:
            - type: object
              additionalProperties: true
            - type: 'null'
          description: >-
            Namespaced extra provider fields without changing the core schema.
            Access-controlled and documented per provider; no provider tokens.
          x-field-id: F0016
          x-classification: Restricted
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        sku:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Stock-keeping identifier within the source tenant. Preserve original
            evidence; do not invent missing values.
          x-field-id: F0547
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        name:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Product or service name. Preserve original evidence; do not invent
            missing values.
          x-field-id: F0548
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        description:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Source item description. Preserve original evidence; do not invent
            missing values.
          x-field-id: F0549
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        product_type:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Goods, service, bundle or source-specific category. Preserve
            original evidence; do not invent missing values.
          x-field-id: F0550
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        category:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Product category supplied by source. Preserve original evidence; do
            not invent missing values.
          x-field-id: F0551
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        unit_of_measure:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Base stock unit. Preserve original evidence; do not invent missing
            values.
          x-field-id: F0552
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        is_active:
          anyOf:
            - type: boolean
            - type: 'null'
          description: >-
            Source active status. Preserve original evidence; do not invent
            missing values.
          x-field-id: F0553
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        is_inventory_tracked:
          anyOf:
            - type: boolean
            - type: 'null'
          description: >-
            Whether source maintains stock quantities. Preserve original
            evidence; do not invent missing values.
          x-field-id: F0554
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        unit_cost:
          type: object
          properties:
            amount:
              anyOf:
                - type: string
                  pattern: ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?$
                  description: >-
                    Exact decimal string in major units. Do not use binary
                    floating-point arithmetic.
                - type: 'null'
              description: >-
                Source carrying cost per unit; not market value. Amount in major
                currency units. Pair with currency; preserve precision; zero
                differs from unavailable.
              x-field-id: F0555
              x-classification: Confidential
              x-availability: >-
                Source, module, country, consent and contracted permissions
                determine population.
            currency:
              anyOf:
                - type: string
                - type: 'null'
              description: >-
                Currency for unit cost. Uppercase ISO 4217 code when known; null
                for unsupported/unidentified currency, retain source code.
              x-field-id: F0556
              x-classification: Confidential
              x-availability: >-
                Source, module, country, consent and contracted permissions
                determine population.
        sale_price:
          type: object
          properties:
            amount:
              anyOf:
                - type: string
                  pattern: ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?$
                  description: >-
                    Exact decimal string in major units. Do not use binary
                    floating-point arithmetic.
                - type: 'null'
              description: >-
                Current catalog selling price; not realized revenue. Amount in
                major currency units. Pair with currency; preserve precision;
                zero differs from unavailable.
              x-field-id: F0557
              x-classification: Confidential
              x-availability: >-
                Source, module, country, consent and contracted permissions
                determine population.
            currency:
              anyOf:
                - type: string
                - type: 'null'
              description: >-
                Currency for sale price. Uppercase ISO 4217 code when known;
                null for unsupported/unidentified currency, retain source code.
              x-field-id: F0558
              x-classification: Confidential
              x-availability: >-
                Source, module, country, consent and contracted permissions
                determine population.
        costing_method:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Source valuation policy. Preserve original evidence; do not invent
            missing values.
          x-field-id: F0559
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        barcode:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Barcode or GTIN when supplied. Preserve original evidence; do not
            invent missing values.
          x-field-id: F0560
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        supplier_id:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Preferred supplier counterparty. Preserve original evidence; do not
            invent missing values.
          x-field-id: F0561
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
      required:
        - id
        - object
        - created_at
        - updated_at
        - record_version
        - source_refs
        - data_status
        - missing_fields
        - schema_version
      title: ProductRead
      description: >-
        Catalog item or inventory SKU with ownership and costing context.
        Population depends on source and tenant entitlement. Read representation
        includes all authorized populated fields. Missing or restricted fields
        carry explicit availability information; this API does not support field
        projection.
    NormalizedLocationRead:
      type: object
      properties:
        id:
          type: string
          description: >-
            Stable identifier scoped to the client tenant. Never use a provider
            ID as the public primary key.
          x-field-id: F0001
          x-classification: Confidential
          x-availability: Required when resource exists
        object:
          type: string
          const: location
          x-field-id: F0002
        subject_id:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Business or person to which this record relates. Null for
            tenant-level configuration and unresolved subjects.
          x-field-id: F0003
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        created_at:
          type: string
          format: date-time
          description: >-
            Time AMLOK first stored this resource. Preserve original evidence;
            do not invent missing values.
          x-field-id: F0004
          x-classification: Confidential
          x-availability: Required when resource exists
        updated_at:
          type: string
          format: date-time
          description: >-
            Time the normalized representation last changed. Preserve original
            evidence; do not invent missing values.
          x-field-id: F0005
          x-classification: Confidential
          x-availability: Required when resource exists
        observed_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          description: >-
            Time the source was observed by AMLOK. Do not imply this is the
            economic event time.
          x-field-id: F0006
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        effective_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          description: >-
            Time the source states this version became valid. Preserve original
            evidence; do not invent missing values.
          x-field-id: F0007
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        record_version:
          type: integer
          description: >-
            Monotonically increasing AMLOK version for this resource. Preserve
            original evidence; do not invent missing values.
          x-field-id: F0008
          x-classification: Confidential
          x-availability: Required when resource exists
        deleted_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          description: >-
            Tombstone timestamp for a source or AMLOK deletion. Null for records
            not deleted; retain only under the configured policy.
          x-field-id: F0009
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        source_refs:
          type: array
          items:
            $ref: '#/components/schemas/NormalizedSourceRef'
          description: >-
            Evidence references contributing to this record. A known empty array
            is valid for a newly client-created record.
          x-field-id: F0010
          x-classification: Confidential
          x-availability: Required when resource exists
        field_provenance:
          anyOf:
            - type: array
              items:
                $ref: '#/components/schemas/NormalizedFieldProvenance'
            - type: 'null'
          description: >-
            Field-level source, extraction, transformation and quality details.
            Preserve original evidence; do not invent missing values.
          x-field-id: F0011
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        data_status:
          $ref: '#/components/schemas/NormalizedEnum_data_status'
          description: >-
            Whether the requested resource is complete for its stated scope.
            Completeness is relative to declared fields, sources and time
            interval.
          x-field-id: F0012
          x-classification: Confidential
          x-availability: Required when resource exists
        missing_fields:
          type: array
          items:
            $ref: '#/components/schemas/NormalizedMissingField'
          description: >-
            Unavailable field paths and their explicit reasons. Preserve
            original evidence; do not invent missing values.
          x-field-id: F0013
          x-classification: Confidential
          x-availability: Required when resource exists
        schema_version:
          type: string
          description: >-
            Contract version used to serialize this record. Preserve original
            evidence; do not invent missing values.
          x-field-id: F0014
          x-classification: Confidential
          x-availability: Required when resource exists
        client_reference:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Optional caller-owned correlation identifier. Scoped to tenant;
            uniqueness only when explicitly contracted.
          x-field-id: F0015
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        extensions:
          anyOf:
            - type: object
              additionalProperties: true
            - type: 'null'
          description: >-
            Namespaced extra provider fields without changing the core schema.
            Access-controlled and documented per provider; no provider tokens.
          x-field-id: F0016
          x-classification: Restricted
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        name:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Location display name. Preserve original evidence; do not invent
            missing values.
          x-field-id: F0562
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        location_type:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Warehouse, store, branch or source-specific type. Preserve original
            evidence; do not invent missing values.
          x-field-id: F0563
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        address:
          anyOf:
            - $ref: '#/components/schemas/NormalizedAddress'
            - type: 'null'
          description: >-
            Physical location address. Preserve original evidence; do not invent
            missing values.
          x-field-id: F0564
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        is_active:
          anyOf:
            - type: boolean
            - type: 'null'
          description: >-
            Location active state. Preserve original evidence; do not invent
            missing values.
          x-field-id: F0565
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        owner_entity_id:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Owner or operator if established. Preserve original evidence; do not
            invent missing values.
          x-field-id: F0566
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        timezone:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            IANA timezone used for operational dates. Preserve original
            evidence; do not invent missing values.
          x-field-id: F0567
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
      required:
        - id
        - object
        - created_at
        - updated_at
        - record_version
        - source_refs
        - data_status
        - missing_fields
        - schema_version
      title: LocationRead
      description: >-
        Store, warehouse, branch or operating location. Population depends on
        source and tenant entitlement. Read representation includes all
        authorized populated fields. Missing or restricted fields carry explicit
        availability information; this API does not support field projection.
    NormalizedInventoryBalanceRead:
      type: object
      properties:
        id:
          type: string
          description: >-
            Stable identifier scoped to the client tenant. Never use a provider
            ID as the public primary key.
          x-field-id: F0001
          x-classification: Confidential
          x-availability: Required when resource exists
        object:
          type: string
          const: inventory_balance
          x-field-id: F0002
        subject_id:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Business or person to which this record relates. Null for
            tenant-level configuration and unresolved subjects.
          x-field-id: F0003
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        created_at:
          type: string
          format: date-time
          description: >-
            Time AMLOK first stored this resource. Preserve original evidence;
            do not invent missing values.
          x-field-id: F0004
          x-classification: Confidential
          x-availability: Required when resource exists
        updated_at:
          type: string
          format: date-time
          description: >-
            Time the normalized representation last changed. Preserve original
            evidence; do not invent missing values.
          x-field-id: F0005
          x-classification: Confidential
          x-availability: Required when resource exists
        observed_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          description: >-
            Time the source was observed by AMLOK. Do not imply this is the
            economic event time.
          x-field-id: F0006
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        effective_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          description: >-
            Time the source states this version became valid. Preserve original
            evidence; do not invent missing values.
          x-field-id: F0007
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        record_version:
          type: integer
          description: >-
            Monotonically increasing AMLOK version for this resource. Preserve
            original evidence; do not invent missing values.
          x-field-id: F0008
          x-classification: Confidential
          x-availability: Required when resource exists
        deleted_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          description: >-
            Tombstone timestamp for a source or AMLOK deletion. Null for records
            not deleted; retain only under the configured policy.
          x-field-id: F0009
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        source_refs:
          type: array
          items:
            $ref: '#/components/schemas/NormalizedSourceRef'
          description: >-
            Evidence references contributing to this record. A known empty array
            is valid for a newly client-created record.
          x-field-id: F0010
          x-classification: Confidential
          x-availability: Required when resource exists
        field_provenance:
          anyOf:
            - type: array
              items:
                $ref: '#/components/schemas/NormalizedFieldProvenance'
            - type: 'null'
          description: >-
            Field-level source, extraction, transformation and quality details.
            Preserve original evidence; do not invent missing values.
          x-field-id: F0011
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        data_status:
          $ref: '#/components/schemas/NormalizedEnum_data_status'
          description: >-
            Whether the requested resource is complete for its stated scope.
            Completeness is relative to declared fields, sources and time
            interval.
          x-field-id: F0012
          x-classification: Confidential
          x-availability: Required when resource exists
        missing_fields:
          type: array
          items:
            $ref: '#/components/schemas/NormalizedMissingField'
          description: >-
            Unavailable field paths and their explicit reasons. Preserve
            original evidence; do not invent missing values.
          x-field-id: F0013
          x-classification: Confidential
          x-availability: Required when resource exists
        schema_version:
          type: string
          description: >-
            Contract version used to serialize this record. Preserve original
            evidence; do not invent missing values.
          x-field-id: F0014
          x-classification: Confidential
          x-availability: Required when resource exists
        client_reference:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Optional caller-owned correlation identifier. Scoped to tenant;
            uniqueness only when explicitly contracted.
          x-field-id: F0015
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        extensions:
          anyOf:
            - type: object
              additionalProperties: true
            - type: 'null'
          description: >-
            Namespaced extra provider fields without changing the core schema.
            Access-controlled and documented per provider; no provider tokens.
          x-field-id: F0016
          x-classification: Restricted
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        product_id:
          type: string
          description: >-
            Item represented by the stock balance. Preserve original evidence;
            do not invent missing values.
          x-field-id: F0568
          x-classification: Confidential
          x-availability: >-
            Returned when available and authorized; a partial read record can
            omit this field.
        location_id:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Warehouse or store holding the stock. Preserve original evidence; do
            not invent missing values.
          x-field-id: F0569
          x-classification: Confidential
          x-availability: >-
            Quantity, cost, history and stock ownership depend on product,
            module and tenant. A WMS balance need not be borrower-owned
            collateral.
        owner_entity_id:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Entity owning the stock, distinct from its custodian. Preserve
            original evidence; do not invent missing values.
          x-field-id: F0570
          x-classification: Confidential
          x-availability: >-
            Quantity, cost, history and stock ownership depend on product,
            module and tenant. A WMS balance need not be borrower-owned
            collateral.
        ownership_type:
          $ref: '#/components/schemas/NormalizedEnum_stock_ownership'
          description: >-
            Owned, consigned or third-party stock. Preserve original evidence;
            do not invent missing values.
          x-field-id: F0571
          x-classification: Confidential
          x-availability: >-
            Returned when available and authorized; a partial read record can
            omit this field.
        quantity_on_hand:
          anyOf:
            - type: string
              pattern: ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?$
              description: >-
                Exact decimal string in major units. Do not use binary
                floating-point arithmetic.
            - type: 'null'
          description: >-
            Physical stock recorded at the observation time. Preserve original
            evidence; do not invent missing values.
          x-field-id: F0572
          x-classification: Confidential
          x-availability: >-
            Quantity, cost, history and stock ownership depend on product,
            module and tenant. A WMS balance need not be borrower-owned
            collateral.
        quantity_available:
          anyOf:
            - type: string
              pattern: ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?$
              description: >-
                Exact decimal string in major units. Do not use binary
                floating-point arithmetic.
            - type: 'null'
          description: >-
            Source-defined unreserved quantity available to sell. Preserve
            original evidence; do not invent missing values.
          x-field-id: F0573
          x-classification: Confidential
          x-availability: >-
            Quantity, cost, history and stock ownership depend on product,
            module and tenant. A WMS balance need not be borrower-owned
            collateral.
        quantity_reserved:
          anyOf:
            - type: string
              pattern: ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?$
              description: >-
                Exact decimal string in major units. Do not use binary
                floating-point arithmetic.
            - type: 'null'
          description: >-
            Quantity committed or allocated. Preserve original evidence; do not
            invent missing values.
          x-field-id: F0574
          x-classification: Confidential
          x-availability: >-
            Quantity, cost, history and stock ownership depend on product,
            module and tenant. A WMS balance need not be borrower-owned
            collateral.
        quantity_on_order:
          anyOf:
            - type: string
              pattern: ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?$
              description: >-
                Exact decimal string in major units. Do not use binary
                floating-point arithmetic.
            - type: 'null'
          description: >-
            Quantity expected from purchase orders. Preserve original evidence;
            do not invent missing values.
          x-field-id: F0575
          x-classification: Confidential
          x-availability: >-
            Quantity, cost, history and stock ownership depend on product,
            module and tenant. A WMS balance need not be borrower-owned
            collateral.
        unit_of_measure:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Unit for all quantities on this record. Preserve original evidence;
            do not invent missing values.
          x-field-id: F0576
          x-classification: Confidential
          x-availability: >-
            Quantity, cost, history and stock ownership depend on product,
            module and tenant. A WMS balance need not be borrower-owned
            collateral.
        carrying_value:
          type: object
          properties:
            amount:
              anyOf:
                - type: string
                  pattern: ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?$
                  description: >-
                    Exact decimal string in major units. Do not use binary
                    floating-point arithmetic.
                - type: 'null'
              description: >-
                Book valuation of the represented stock. Amount in major
                currency units. Pair with currency; preserve precision; zero
                differs from unavailable.
              x-field-id: F0577
              x-classification: Confidential
              x-availability: >-
                Quantity, cost, history and stock ownership depend on product,
                module and tenant. A WMS balance need not be borrower-owned
                collateral.
            currency:
              anyOf:
                - type: string
                - type: 'null'
              description: >-
                Currency for carrying value. Uppercase ISO 4217 code when known;
                null for unsupported/unidentified currency, retain source code.
              x-field-id: F0578
              x-classification: Confidential
              x-availability: >-
                Quantity, cost, history and stock ownership depend on product,
                module and tenant. A WMS balance need not be borrower-owned
                collateral.
        unit_cost:
          type: object
          properties:
            amount:
              anyOf:
                - type: string
                  pattern: ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?$
                  description: >-
                    Exact decimal string in major units. Do not use binary
                    floating-point arithmetic.
                - type: 'null'
              description: >-
                Unit valuation used for this snapshot. Amount in major currency
                units. Pair with currency; preserve precision; zero differs from
                unavailable.
              x-field-id: F0579
              x-classification: Confidential
              x-availability: >-
                Quantity, cost, history and stock ownership depend on product,
                module and tenant. A WMS balance need not be borrower-owned
                collateral.
            currency:
              anyOf:
                - type: string
                - type: 'null'
              description: >-
                Currency for unit cost. Uppercase ISO 4217 code when known; null
                for unsupported/unidentified currency, retain source code.
              x-field-id: F0580
              x-classification: Confidential
              x-availability: >-
                Quantity, cost, history and stock ownership depend on product,
                module and tenant. A WMS balance need not be borrower-owned
                collateral.
        costing_method:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Source costing policy. Preserve original evidence; do not invent
            missing values.
          x-field-id: F0581
          x-classification: Confidential
          x-availability: >-
            Quantity, cost, history and stock ownership depend on product,
            module and tenant. A WMS balance need not be borrower-owned
            collateral.
        lot_number:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Batch or lot identifier when tracked. Preserve original evidence; do
            not invent missing values.
          x-field-id: F0582
          x-classification: Confidential
          x-availability: >-
            Quantity, cost, history and stock ownership depend on product,
            module and tenant. A WMS balance need not be borrower-owned
            collateral.
        serial_number:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Unit serial number when tracked. Preserve original evidence; do not
            invent missing values.
          x-field-id: F0583
          x-classification: Confidential
          x-availability: >-
            Quantity, cost, history and stock ownership depend on product,
            module and tenant. A WMS balance need not be borrower-owned
            collateral.
        expiry_on:
          anyOf:
            - type: string
              format: date
            - type: 'null'
          description: >-
            Product or lot expiry date when tracked. Preserve original evidence;
            do not invent missing values.
          x-field-id: F0584
          x-classification: Confidential
          x-availability: >-
            Quantity, cost, history and stock ownership depend on product,
            module and tenant. A WMS balance need not be borrower-owned
            collateral.
        as_of:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          description: >-
            Time represented by the stock observation. Preserve original
            evidence; do not invent missing values.
          x-field-id: F0585
          x-classification: Confidential
          x-availability: >-
            Quantity, cost, history and stock ownership depend on product,
            module and tenant. A WMS balance need not be borrower-owned
            collateral.
      required:
        - id
        - object
        - created_at
        - updated_at
        - record_version
        - source_refs
        - data_status
        - missing_fields
        - schema_version
      title: InventoryBalanceRead
      description: >-
        Quantity and value snapshot by item, location and owner. Population
        depends on source and tenant entitlement. Read representation includes
        all authorized populated fields. Missing or restricted fields carry
        explicit availability information; this API does not support field
        projection.
    NormalizedInventoryMovementRead:
      type: object
      properties:
        id:
          type: string
          description: >-
            Stable identifier scoped to the client tenant. Never use a provider
            ID as the public primary key.
          x-field-id: F0001
          x-classification: Confidential
          x-availability: Required when resource exists
        object:
          type: string
          const: inventory_movement
          x-field-id: F0002
        subject_id:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Business or person to which this record relates. Null for
            tenant-level configuration and unresolved subjects.
          x-field-id: F0003
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        created_at:
          type: string
          format: date-time
          description: >-
            Time AMLOK first stored this resource. Preserve original evidence;
            do not invent missing values.
          x-field-id: F0004
          x-classification: Confidential
          x-availability: Required when resource exists
        updated_at:
          type: string
          format: date-time
          description: >-
            Time the normalized representation last changed. Preserve original
            evidence; do not invent missing values.
          x-field-id: F0005
          x-classification: Confidential
          x-availability: Required when resource exists
        observed_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          description: >-
            Time the source was observed by AMLOK. Do not imply this is the
            economic event time.
          x-field-id: F0006
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        effective_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          description: >-
            Time the source states this version became valid. Preserve original
            evidence; do not invent missing values.
          x-field-id: F0007
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        record_version:
          type: integer
          description: >-
            Monotonically increasing AMLOK version for this resource. Preserve
            original evidence; do not invent missing values.
          x-field-id: F0008
          x-classification: Confidential
          x-availability: Required when resource exists
        deleted_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          description: >-
            Tombstone timestamp for a source or AMLOK deletion. Null for records
            not deleted; retain only under the configured policy.
          x-field-id: F0009
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        source_refs:
          type: array
          items:
            $ref: '#/components/schemas/NormalizedSourceRef'
          description: >-
            Evidence references contributing to this record. A known empty array
            is valid for a newly client-created record.
          x-field-id: F0010
          x-classification: Confidential
          x-availability: Required when resource exists
        field_provenance:
          anyOf:
            - type: array
              items:
                $ref: '#/components/schemas/NormalizedFieldProvenance'
            - type: 'null'
          description: >-
            Field-level source, extraction, transformation and quality details.
            Preserve original evidence; do not invent missing values.
          x-field-id: F0011
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        data_status:
          $ref: '#/components/schemas/NormalizedEnum_data_status'
          description: >-
            Whether the requested resource is complete for its stated scope.
            Completeness is relative to declared fields, sources and time
            interval.
          x-field-id: F0012
          x-classification: Confidential
          x-availability: Required when resource exists
        missing_fields:
          type: array
          items:
            $ref: '#/components/schemas/NormalizedMissingField'
          description: >-
            Unavailable field paths and their explicit reasons. Preserve
            original evidence; do not invent missing values.
          x-field-id: F0013
          x-classification: Confidential
          x-availability: Required when resource exists
        schema_version:
          type: string
          description: >-
            Contract version used to serialize this record. Preserve original
            evidence; do not invent missing values.
          x-field-id: F0014
          x-classification: Confidential
          x-availability: Required when resource exists
        client_reference:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Optional caller-owned correlation identifier. Scoped to tenant;
            uniqueness only when explicitly contracted.
          x-field-id: F0015
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        extensions:
          anyOf:
            - type: object
              additionalProperties: true
            - type: 'null'
          description: >-
            Namespaced extra provider fields without changing the core schema.
            Access-controlled and documented per provider; no provider tokens.
          x-field-id: F0016
          x-classification: Restricted
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        product_id:
          type: string
          description: >-
            Affected item. Preserve original evidence; do not invent missing
            values.
          x-field-id: F0586
          x-classification: Confidential
          x-availability: >-
            Returned when available and authorized; a partial read record can
            omit this field.
        location_id:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Location affected by this movement. Preserve original evidence; do
            not invent missing values.
          x-field-id: F0587
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        movement_type:
          $ref: '#/components/schemas/NormalizedEnum_movement_type'
          description: >-
            Reason for stock movement. Preserve original evidence; do not invent
            missing values.
          x-field-id: F0588
          x-classification: Confidential
          x-availability: >-
            Returned when available and authorized; a partial read record can
            omit this field.
        quantity_delta:
          anyOf:
            - type: string
              pattern: ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?$
              description: >-
                Exact decimal string in major units. Do not use binary
                floating-point arithmetic.
            - type: 'null'
          description: >-
            Signed change in stock at this location. Positive adds stock;
            negative removes stock.
          x-field-id: F0589
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        unit_of_measure:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Unit for quantity_delta. Preserve original evidence; do not invent
            missing values.
          x-field-id: F0590
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        occurred_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          description: >-
            Operational event time. Preserve original evidence; do not invent
            missing values.
          x-field-id: F0591
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        unit_cost:
          type: object
          properties:
            amount:
              anyOf:
                - type: string
                  pattern: ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?$
                  description: >-
                    Exact decimal string in major units. Do not use binary
                    floating-point arithmetic.
                - type: 'null'
              description: >-
                Cost per unit recorded for the movement. Amount in major
                currency units. Pair with currency; preserve precision; zero
                differs from unavailable.
              x-field-id: F0592
              x-classification: Confidential
              x-availability: >-
                Source, module, country, consent and contracted permissions
                determine population.
            currency:
              anyOf:
                - type: string
                - type: 'null'
              description: >-
                Currency for unit cost. Uppercase ISO 4217 code when known; null
                for unsupported/unidentified currency, retain source code.
              x-field-id: F0593
              x-classification: Confidential
              x-availability: >-
                Source, module, country, consent and contracted permissions
                determine population.
        total_cost:
          type: object
          properties:
            amount:
              anyOf:
                - type: string
                  pattern: ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?$
                  description: >-
                    Exact decimal string in major units. Do not use binary
                    floating-point arithmetic.
                - type: 'null'
              description: >-
                Signed carrying-value change associated with movement. Amount in
                major currency units. Pair with currency; preserve precision;
                zero differs from unavailable.
              x-field-id: F0594
              x-classification: Confidential
              x-availability: >-
                Source, module, country, consent and contracted permissions
                determine population.
            currency:
              anyOf:
                - type: string
                - type: 'null'
              description: >-
                Currency for total cost. Uppercase ISO 4217 code when known;
                null for unsupported/unidentified currency, retain source code.
              x-field-id: F0595
              x-classification: Confidential
              x-availability: >-
                Source, module, country, consent and contracted permissions
                determine population.
        order_id:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Related sales order if applicable. Preserve original evidence; do
            not invent missing values.
          x-field-id: F0596
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        purchase_order_id:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Related purchase order if applicable. Preserve original evidence; do
            not invent missing values.
          x-field-id: F0597
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        transfer_pair_id:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Correlation between paired inter-location movements. Preserve
            original evidence; do not invent missing values.
          x-field-id: F0598
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        source_document_id:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Supporting receipt or adjustment evidence. Preserve original
            evidence; do not invent missing values.
          x-field-id: F0599
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
      required:
        - id
        - object
        - created_at
        - updated_at
        - record_version
        - source_refs
        - data_status
        - missing_fields
        - schema_version
      title: InventoryMovementRead
      description: >-
        A receipt, issue, transfer or adjustment to stock. Population depends on
        source and tenant entitlement. Read representation includes all
        authorized populated fields. Missing or restricted fields carry explicit
        availability information; this API does not support field projection.
    NormalizedPurchaseOrderRead:
      type: object
      properties:
        id:
          type: string
          description: >-
            Stable identifier scoped to the client tenant. Never use a provider
            ID as the public primary key.
          x-field-id: F0001
          x-classification: Confidential
          x-availability: Required when resource exists
        object:
          type: string
          const: purchase_order
          x-field-id: F0002
        subject_id:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Business or person to which this record relates. Null for
            tenant-level configuration and unresolved subjects.
          x-field-id: F0003
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        created_at:
          type: string
          format: date-time
          description: >-
            Time AMLOK first stored this resource. Preserve original evidence;
            do not invent missing values.
          x-field-id: F0004
          x-classification: Confidential
          x-availability: Required when resource exists
        updated_at:
          type: string
          format: date-time
          description: >-
            Time the normalized representation last changed. Preserve original
            evidence; do not invent missing values.
          x-field-id: F0005
          x-classification: Confidential
          x-availability: Required when resource exists
        observed_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          description: >-
            Time the source was observed by AMLOK. Do not imply this is the
            economic event time.
          x-field-id: F0006
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        effective_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          description: >-
            Time the source states this version became valid. Preserve original
            evidence; do not invent missing values.
          x-field-id: F0007
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        record_version:
          type: integer
          description: >-
            Monotonically increasing AMLOK version for this resource. Preserve
            original evidence; do not invent missing values.
          x-field-id: F0008
          x-classification: Confidential
          x-availability: Required when resource exists
        deleted_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          description: >-
            Tombstone timestamp for a source or AMLOK deletion. Null for records
            not deleted; retain only under the configured policy.
          x-field-id: F0009
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        source_refs:
          type: array
          items:
            $ref: '#/components/schemas/NormalizedSourceRef'
          description: >-
            Evidence references contributing to this record. A known empty array
            is valid for a newly client-created record.
          x-field-id: F0010
          x-classification: Confidential
          x-availability: Required when resource exists
        field_provenance:
          anyOf:
            - type: array
              items:
                $ref: '#/components/schemas/NormalizedFieldProvenance'
            - type: 'null'
          description: >-
            Field-level source, extraction, transformation and quality details.
            Preserve original evidence; do not invent missing values.
          x-field-id: F0011
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        data_status:
          $ref: '#/components/schemas/NormalizedEnum_data_status'
          description: >-
            Whether the requested resource is complete for its stated scope.
            Completeness is relative to declared fields, sources and time
            interval.
          x-field-id: F0012
          x-classification: Confidential
          x-availability: Required when resource exists
        missing_fields:
          type: array
          items:
            $ref: '#/components/schemas/NormalizedMissingField'
          description: >-
            Unavailable field paths and their explicit reasons. Preserve
            original evidence; do not invent missing values.
          x-field-id: F0013
          x-classification: Confidential
          x-availability: Required when resource exists
        schema_version:
          type: string
          description: >-
            Contract version used to serialize this record. Preserve original
            evidence; do not invent missing values.
          x-field-id: F0014
          x-classification: Confidential
          x-availability: Required when resource exists
        client_reference:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Optional caller-owned correlation identifier. Scoped to tenant;
            uniqueness only when explicitly contracted.
          x-field-id: F0015
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        extensions:
          anyOf:
            - type: object
              additionalProperties: true
            - type: 'null'
          description: >-
            Namespaced extra provider fields without changing the core schema.
            Access-controlled and documented per provider; no provider tokens.
          x-field-id: F0016
          x-classification: Restricted
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        number:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Purchase order number. Preserve original evidence; do not invent
            missing values.
          x-field-id: F0600
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        supplier_id:
          type: string
          description: >-
            Supplier commercial counterparty. Preserve original evidence; do not
            invent missing values.
          x-field-id: F0601
          x-classification: Confidential
          x-availability: >-
            Returned when available and authorized; a partial read record can
            omit this field.
        status:
          $ref: '#/components/schemas/NormalizedEnum_purchase_status'
          description: >-
            Purchase order state. Preserve original evidence; do not invent
            missing values.
          x-field-id: F0602
          x-classification: Confidential
          x-availability: >-
            Returned when available and authorized; a partial read record can
            omit this field.
        ordered_on:
          anyOf:
            - type: string
              format: date
            - type: 'null'
          description: >-
            Purchase order date. Preserve original evidence; do not invent
            missing values.
          x-field-id: F0603
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        expected_delivery_on:
          anyOf:
            - type: string
              format: date
            - type: 'null'
          description: >-
            Expected receipt date. Preserve original evidence; do not invent
            missing values.
          x-field-id: F0604
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        total:
          type: object
          properties:
            amount:
              anyOf:
                - type: string
                  pattern: ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?$
                  description: >-
                    Exact decimal string in major units. Do not use binary
                    floating-point arithmetic.
                - type: 'null'
              description: >-
                Ordered value under source tax convention. Amount in major
                currency units. Pair with currency; preserve precision; zero
                differs from unavailable.
              x-field-id: F0605
              x-classification: Confidential
              x-availability: >-
                Source, module, country, consent and contracted permissions
                determine population.
            currency:
              anyOf:
                - type: string
                - type: 'null'
              description: >-
                Currency for total. Uppercase ISO 4217 code when known; null for
                unsupported/unidentified currency, retain source code.
              x-field-id: F0606
              x-classification: Confidential
              x-availability: >-
                Source, module, country, consent and contracted permissions
                determine population.
        amount_received:
          type: object
          properties:
            amount:
              anyOf:
                - type: string
                  pattern: ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?$
                  description: >-
                    Exact decimal string in major units. Do not use binary
                    floating-point arithmetic.
                - type: 'null'
              description: >-
                Value of goods or services received if reported. Amount in major
                currency units. Pair with currency; preserve precision; zero
                differs from unavailable.
              x-field-id: F0607
              x-classification: Confidential
              x-availability: >-
                Source, module, country, consent and contracted permissions
                determine population.
            currency:
              anyOf:
                - type: string
                - type: 'null'
              description: >-
                Currency for amount received. Uppercase ISO 4217 code when
                known; null for unsupported/unidentified currency, retain source
                code.
              x-field-id: F0608
              x-classification: Confidential
              x-availability: >-
                Source, module, country, consent and contracted permissions
                determine population.
        line_items:
          anyOf:
            - type: array
              items:
                $ref: '#/components/schemas/NormalizedPurchaseLine'
            - type: 'null'
          description: >-
            Ordered and received quantities, prices and item references.
            Preserve original evidence; do not invent missing values.
          x-field-id: F0609
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        location_id:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Receiving location. Preserve original evidence; do not invent
            missing values.
          x-field-id: F0610
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
      required:
        - id
        - object
        - created_at
        - updated_at
        - record_version
        - source_refs
        - data_status
        - missing_fields
        - schema_version
      title: PurchaseOrderRead
      description: >-
        Supplier purchase commitment, separate from invoices and cash payments.
        Population depends on source and tenant entitlement. Read representation
        includes all authorized populated fields. Missing or restricted fields
        carry explicit availability information; this API does not support field
        projection.
    NormalizedShipmentRead:
      type: object
      properties:
        id:
          type: string
          description: >-
            Stable identifier scoped to the client tenant. Never use a provider
            ID as the public primary key.
          x-field-id: F0001
          x-classification: Confidential
          x-availability: Required when resource exists
        object:
          type: string
          const: shipment
          x-field-id: F0002
        subject_id:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Business or person to which this record relates. Null for
            tenant-level configuration and unresolved subjects.
          x-field-id: F0003
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        created_at:
          type: string
          format: date-time
          description: >-
            Time AMLOK first stored this resource. Preserve original evidence;
            do not invent missing values.
          x-field-id: F0004
          x-classification: Confidential
          x-availability: Required when resource exists
        updated_at:
          type: string
          format: date-time
          description: >-
            Time the normalized representation last changed. Preserve original
            evidence; do not invent missing values.
          x-field-id: F0005
          x-classification: Confidential
          x-availability: Required when resource exists
        observed_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          description: >-
            Time the source was observed by AMLOK. Do not imply this is the
            economic event time.
          x-field-id: F0006
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        effective_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          description: >-
            Time the source states this version became valid. Preserve original
            evidence; do not invent missing values.
          x-field-id: F0007
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        record_version:
          type: integer
          description: >-
            Monotonically increasing AMLOK version for this resource. Preserve
            original evidence; do not invent missing values.
          x-field-id: F0008
          x-classification: Confidential
          x-availability: Required when resource exists
        deleted_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          description: >-
            Tombstone timestamp for a source or AMLOK deletion. Null for records
            not deleted; retain only under the configured policy.
          x-field-id: F0009
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        source_refs:
          type: array
          items:
            $ref: '#/components/schemas/NormalizedSourceRef'
          description: >-
            Evidence references contributing to this record. A known empty array
            is valid for a newly client-created record.
          x-field-id: F0010
          x-classification: Confidential
          x-availability: Required when resource exists
        field_provenance:
          anyOf:
            - type: array
              items:
                $ref: '#/components/schemas/NormalizedFieldProvenance'
            - type: 'null'
          description: >-
            Field-level source, extraction, transformation and quality details.
            Preserve original evidence; do not invent missing values.
          x-field-id: F0011
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        data_status:
          $ref: '#/components/schemas/NormalizedEnum_data_status'
          description: >-
            Whether the requested resource is complete for its stated scope.
            Completeness is relative to declared fields, sources and time
            interval.
          x-field-id: F0012
          x-classification: Confidential
          x-availability: Required when resource exists
        missing_fields:
          type: array
          items:
            $ref: '#/components/schemas/NormalizedMissingField'
          description: >-
            Unavailable field paths and their explicit reasons. Preserve
            original evidence; do not invent missing values.
          x-field-id: F0013
          x-classification: Confidential
          x-availability: Required when resource exists
        schema_version:
          type: string
          description: >-
            Contract version used to serialize this record. Preserve original
            evidence; do not invent missing values.
          x-field-id: F0014
          x-classification: Confidential
          x-availability: Required when resource exists
        client_reference:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Optional caller-owned correlation identifier. Scoped to tenant;
            uniqueness only when explicitly contracted.
          x-field-id: F0015
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        extensions:
          anyOf:
            - type: object
              additionalProperties: true
            - type: 'null'
          description: >-
            Namespaced extra provider fields without changing the core schema.
            Access-controlled and documented per provider; no provider tokens.
          x-field-id: F0016
          x-classification: Restricted
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        direction:
          type: string
          description: >-
            Inbound receipt or outbound dispatch. Preserve original evidence; do
            not invent missing values.
          x-field-id: F0611
          x-classification: Confidential
          x-availability: >-
            Returned when available and authorized; a partial read record can
            omit this field.
        order_id:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Related sales order. Preserve original evidence; do not invent
            missing values.
          x-field-id: F0612
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        purchase_order_id:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Related purchase order for inbound receipts. Preserve original
            evidence; do not invent missing values.
          x-field-id: F0613
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        location_id:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Origin or receiving warehouse. Preserve original evidence; do not
            invent missing values.
          x-field-id: F0614
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        status:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Source shipment state. Preserve original evidence; do not invent
            missing values.
          x-field-id: F0615
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        carrier:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Logistics carrier when supplied. Preserve original evidence; do not
            invent missing values.
          x-field-id: F0616
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        tracking_number:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Source tracking reference. Preserve original evidence; do not invent
            missing values.
          x-field-id: F0617
          x-classification: Restricted
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        shipped_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          description: >-
            Dispatch time. Preserve original evidence; do not invent missing
            values.
          x-field-id: F0618
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        delivered_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          description: >-
            Confirmed delivery time. Preserve original evidence; do not invent
            missing values.
          x-field-id: F0619
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        line_items:
          anyOf:
            - type: array
              items:
                $ref: '#/components/schemas/NormalizedShipmentLine'
            - type: 'null'
          description: >-
            Product quantities shipped or received. Preserve original evidence;
            do not invent missing values.
          x-field-id: F0620
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
      required:
        - id
        - object
        - created_at
        - updated_at
        - record_version
        - source_refs
        - data_status
        - missing_fields
        - schema_version
      title: ShipmentRead
      description: >-
        Physical receipt or dispatch linked to orders and stock. Population
        depends on source and tenant entitlement. Read representation includes
        all authorized populated fields. Missing or restricted fields carry
        explicit availability information; this API does not support field
        projection.
    NormalizedProductionOrderRead:
      type: object
      properties:
        id:
          type: string
          description: >-
            Stable identifier scoped to the client tenant. Never use a provider
            ID as the public primary key.
          x-field-id: F0001
          x-classification: Confidential
          x-availability: Required when resource exists
        object:
          type: string
          const: production_order
          x-field-id: F0002
        subject_id:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Business or person to which this record relates. Null for
            tenant-level configuration and unresolved subjects.
          x-field-id: F0003
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        created_at:
          type: string
          format: date-time
          description: >-
            Time AMLOK first stored this resource. Preserve original evidence;
            do not invent missing values.
          x-field-id: F0004
          x-classification: Confidential
          x-availability: Required when resource exists
        updated_at:
          type: string
          format: date-time
          description: >-
            Time the normalized representation last changed. Preserve original
            evidence; do not invent missing values.
          x-field-id: F0005
          x-classification: Confidential
          x-availability: Required when resource exists
        observed_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          description: >-
            Time the source was observed by AMLOK. Do not imply this is the
            economic event time.
          x-field-id: F0006
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        effective_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          description: >-
            Time the source states this version became valid. Preserve original
            evidence; do not invent missing values.
          x-field-id: F0007
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        record_version:
          type: integer
          description: >-
            Monotonically increasing AMLOK version for this resource. Preserve
            original evidence; do not invent missing values.
          x-field-id: F0008
          x-classification: Confidential
          x-availability: Required when resource exists
        deleted_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          description: >-
            Tombstone timestamp for a source or AMLOK deletion. Null for records
            not deleted; retain only under the configured policy.
          x-field-id: F0009
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        source_refs:
          type: array
          items:
            $ref: '#/components/schemas/NormalizedSourceRef'
          description: >-
            Evidence references contributing to this record. A known empty array
            is valid for a newly client-created record.
          x-field-id: F0010
          x-classification: Confidential
          x-availability: Required when resource exists
        field_provenance:
          anyOf:
            - type: array
              items:
                $ref: '#/components/schemas/NormalizedFieldProvenance'
            - type: 'null'
          description: >-
            Field-level source, extraction, transformation and quality details.
            Preserve original evidence; do not invent missing values.
          x-field-id: F0011
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        data_status:
          $ref: '#/components/schemas/NormalizedEnum_data_status'
          description: >-
            Whether the requested resource is complete for its stated scope.
            Completeness is relative to declared fields, sources and time
            interval.
          x-field-id: F0012
          x-classification: Confidential
          x-availability: Required when resource exists
        missing_fields:
          type: array
          items:
            $ref: '#/components/schemas/NormalizedMissingField'
          description: >-
            Unavailable field paths and their explicit reasons. Preserve
            original evidence; do not invent missing values.
          x-field-id: F0013
          x-classification: Confidential
          x-availability: Required when resource exists
        schema_version:
          type: string
          description: >-
            Contract version used to serialize this record. Preserve original
            evidence; do not invent missing values.
          x-field-id: F0014
          x-classification: Confidential
          x-availability: Required when resource exists
        client_reference:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Optional caller-owned correlation identifier. Scoped to tenant;
            uniqueness only when explicitly contracted.
          x-field-id: F0015
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        extensions:
          anyOf:
            - type: object
              additionalProperties: true
            - type: 'null'
          description: >-
            Namespaced extra provider fields without changing the core schema.
            Access-controlled and documented per provider; no provider tokens.
          x-field-id: F0016
          x-classification: Restricted
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        number:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Production or work order identifier. Preserve original evidence; do
            not invent missing values.
          x-field-id: F0621
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        product_id:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Finished item to produce. Preserve original evidence; do not invent
            missing values.
          x-field-id: F0622
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        status:
          anyOf:
            - $ref: '#/components/schemas/NormalizedEnum_manufacturing_status'
            - type: 'null'
          description: >-
            Manufacturing work order state. Preserve original evidence; do not
            invent missing values.
          x-field-id: F0623
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        quantity_planned:
          anyOf:
            - type: string
              pattern: ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?$
              description: >-
                Exact decimal string in major units. Do not use binary
                floating-point arithmetic.
            - type: 'null'
          description: >-
            Target output quantity. Preserve original evidence; do not invent
            missing values.
          x-field-id: F0624
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        quantity_completed:
          anyOf:
            - type: string
              pattern: ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?$
              description: >-
                Exact decimal string in major units. Do not use binary
                floating-point arithmetic.
            - type: 'null'
          description: >-
            Recorded good output quantity. Preserve original evidence; do not
            invent missing values.
          x-field-id: F0625
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        quantity_scrapped:
          anyOf:
            - type: string
              pattern: ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?$
              description: >-
                Exact decimal string in major units. Do not use binary
                floating-point arithmetic.
            - type: 'null'
          description: >-
            Recorded scrapped output quantity. Preserve original evidence; do
            not invent missing values.
          x-field-id: F0626
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        unit_of_measure:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Unit for output quantities. Preserve original evidence; do not
            invent missing values.
          x-field-id: F0627
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        planned_start_on:
          anyOf:
            - type: string
              format: date
            - type: 'null'
          description: >-
            Scheduled work start. Preserve original evidence; do not invent
            missing values.
          x-field-id: F0628
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        planned_end_on:
          anyOf:
            - type: string
              format: date
            - type: 'null'
          description: >-
            Scheduled completion. Preserve original evidence; do not invent
            missing values.
          x-field-id: F0629
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        completed_on:
          anyOf:
            - type: string
              format: date
            - type: 'null'
          description: >-
            Actual completion date. Preserve original evidence; do not invent
            missing values.
          x-field-id: F0630
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        material_cost:
          type: object
          properties:
            amount:
              anyOf:
                - type: string
                  pattern: ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?$
                  description: >-
                    Exact decimal string in major units. Do not use binary
                    floating-point arithmetic.
                - type: 'null'
              description: >-
                Material cost incurred under source accounting. Amount in major
                currency units. Pair with currency; preserve precision; zero
                differs from unavailable.
              x-field-id: F0631
              x-classification: Confidential
              x-availability: >-
                Source, module, country, consent and contracted permissions
                determine population.
            currency:
              anyOf:
                - type: string
                - type: 'null'
              description: >-
                Currency for material cost. Uppercase ISO 4217 code when known;
                null for unsupported/unidentified currency, retain source code.
              x-field-id: F0632
              x-classification: Confidential
              x-availability: >-
                Source, module, country, consent and contracted permissions
                determine population.
        labor_cost:
          type: object
          properties:
            amount:
              anyOf:
                - type: string
                  pattern: ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?$
                  description: >-
                    Exact decimal string in major units. Do not use binary
                    floating-point arithmetic.
                - type: 'null'
              description: >-
                Labor cost charged to the work order. Amount in major currency
                units. Pair with currency; preserve precision; zero differs from
                unavailable.
              x-field-id: F0633
              x-classification: Confidential
              x-availability: >-
                Source, module, country, consent and contracted permissions
                determine population.
            currency:
              anyOf:
                - type: string
                - type: 'null'
              description: >-
                Currency for labor cost. Uppercase ISO 4217 code when known;
                null for unsupported/unidentified currency, retain source code.
              x-field-id: F0634
              x-classification: Confidential
              x-availability: >-
                Source, module, country, consent and contracted permissions
                determine population.
        overhead_cost:
          type: object
          properties:
            amount:
              anyOf:
                - type: string
                  pattern: ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?$
                  description: >-
                    Exact decimal string in major units. Do not use binary
                    floating-point arithmetic.
                - type: 'null'
              description: >-
                Overhead assigned by the source. Amount in major currency units.
                Pair with currency; preserve precision; zero differs from
                unavailable.
              x-field-id: F0635
              x-classification: Confidential
              x-availability: >-
                Source, module, country, consent and contracted permissions
                determine population.
            currency:
              anyOf:
                - type: string
                - type: 'null'
              description: >-
                Currency for overhead cost. Uppercase ISO 4217 code when known;
                null for unsupported/unidentified currency, retain source code.
              x-field-id: F0636
              x-classification: Confidential
              x-availability: >-
                Source, module, country, consent and contracted permissions
                determine population.
        work_in_progress_value:
          type: object
          properties:
            amount:
              anyOf:
                - type: string
                  pattern: ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?$
                  description: >-
                    Exact decimal string in major units. Do not use binary
                    floating-point arithmetic.
                - type: 'null'
              description: >-
                Source carrying value of incomplete production. Amount in major
                currency units. Pair with currency; preserve precision; zero
                differs from unavailable.
              x-field-id: F0637
              x-classification: Confidential
              x-availability: >-
                Source, module, country, consent and contracted permissions
                determine population.
            currency:
              anyOf:
                - type: string
                - type: 'null'
              description: >-
                Currency for work in progress value. Uppercase ISO 4217 code
                when known; null for unsupported/unidentified currency, retain
                source code.
              x-field-id: F0638
              x-classification: Confidential
              x-availability: >-
                Source, module, country, consent and contracted permissions
                determine population.
      required:
        - id
        - object
        - created_at
        - updated_at
        - record_version
        - source_refs
        - data_status
        - missing_fields
        - schema_version
      title: ProductionOrderRead
      description: >-
        Manufacturing work order when licensed ERP/MES modules expose it.
        Population depends on source and tenant entitlement. Read representation
        includes all authorized populated fields. Missing or restricted fields
        carry explicit availability information; this API does not support field
        projection.
    NormalizedProjectRead:
      type: object
      properties:
        id:
          type: string
          description: >-
            Stable identifier scoped to the client tenant. Never use a provider
            ID as the public primary key.
          x-field-id: F0001
          x-classification: Confidential
          x-availability: Required when resource exists
        object:
          type: string
          const: project
          x-field-id: F0002
        subject_id:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Business or person to which this record relates. Null for
            tenant-level configuration and unresolved subjects.
          x-field-id: F0003
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        created_at:
          type: string
          format: date-time
          description: >-
            Time AMLOK first stored this resource. Preserve original evidence;
            do not invent missing values.
          x-field-id: F0004
          x-classification: Confidential
          x-availability: Required when resource exists
        updated_at:
          type: string
          format: date-time
          description: >-
            Time the normalized representation last changed. Preserve original
            evidence; do not invent missing values.
          x-field-id: F0005
          x-classification: Confidential
          x-availability: Required when resource exists
        observed_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          description: >-
            Time the source was observed by AMLOK. Do not imply this is the
            economic event time.
          x-field-id: F0006
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        effective_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          description: >-
            Time the source states this version became valid. Preserve original
            evidence; do not invent missing values.
          x-field-id: F0007
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        record_version:
          type: integer
          description: >-
            Monotonically increasing AMLOK version for this resource. Preserve
            original evidence; do not invent missing values.
          x-field-id: F0008
          x-classification: Confidential
          x-availability: Required when resource exists
        deleted_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          description: >-
            Tombstone timestamp for a source or AMLOK deletion. Null for records
            not deleted; retain only under the configured policy.
          x-field-id: F0009
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        source_refs:
          type: array
          items:
            $ref: '#/components/schemas/NormalizedSourceRef'
          description: >-
            Evidence references contributing to this record. A known empty array
            is valid for a newly client-created record.
          x-field-id: F0010
          x-classification: Confidential
          x-availability: Required when resource exists
        field_provenance:
          anyOf:
            - type: array
              items:
                $ref: '#/components/schemas/NormalizedFieldProvenance'
            - type: 'null'
          description: >-
            Field-level source, extraction, transformation and quality details.
            Preserve original evidence; do not invent missing values.
          x-field-id: F0011
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        data_status:
          $ref: '#/components/schemas/NormalizedEnum_data_status'
          description: >-
            Whether the requested resource is complete for its stated scope.
            Completeness is relative to declared fields, sources and time
            interval.
          x-field-id: F0012
          x-classification: Confidential
          x-availability: Required when resource exists
        missing_fields:
          type: array
          items:
            $ref: '#/components/schemas/NormalizedMissingField'
          description: >-
            Unavailable field paths and their explicit reasons. Preserve
            original evidence; do not invent missing values.
          x-field-id: F0013
          x-classification: Confidential
          x-availability: Required when resource exists
        schema_version:
          type: string
          description: >-
            Contract version used to serialize this record. Preserve original
            evidence; do not invent missing values.
          x-field-id: F0014
          x-classification: Confidential
          x-availability: Required when resource exists
        client_reference:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Optional caller-owned correlation identifier. Scoped to tenant;
            uniqueness only when explicitly contracted.
          x-field-id: F0015
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        extensions:
          anyOf:
            - type: object
              additionalProperties: true
            - type: 'null'
          description: >-
            Namespaced extra provider fields without changing the core schema.
            Access-controlled and documented per provider; no provider tokens.
          x-field-id: F0016
          x-classification: Restricted
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        number:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Source project or job identifier. Preserve original evidence; do not
            invent missing values.
          x-field-id: F0639
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        name:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Project name. Preserve original evidence; do not invent missing
            values.
          x-field-id: F0640
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        customer_id:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Customer commissioning the project. Preserve original evidence; do
            not invent missing values.
          x-field-id: F0641
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        status:
          anyOf:
            - $ref: '#/components/schemas/NormalizedEnum_project_status'
            - type: 'null'
          description: >-
            Project execution state. Preserve original evidence; do not invent
            missing values.
          x-field-id: F0642
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        started_on:
          anyOf:
            - type: string
              format: date
            - type: 'null'
          description: >-
            Actual or reported start date. Preserve original evidence; do not
            invent missing values.
          x-field-id: F0643
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        expected_end_on:
          anyOf:
            - type: string
              format: date
            - type: 'null'
          description: >-
            Current expected completion date. Preserve original evidence; do not
            invent missing values.
          x-field-id: F0644
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        contract_value:
          type: object
          properties:
            amount:
              anyOf:
                - type: string
                  pattern: ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?$
                  description: >-
                    Exact decimal string in major units. Do not use binary
                    floating-point arithmetic.
                - type: 'null'
              description: >-
                Current contract amount, where supplied. Amount in major
                currency units. Pair with currency; preserve precision; zero
                differs from unavailable.
              x-field-id: F0645
              x-classification: Confidential
              x-availability: >-
                Source, module, country, consent and contracted permissions
                determine population.
            currency:
              anyOf:
                - type: string
                - type: 'null'
              description: >-
                Currency for contract value. Uppercase ISO 4217 code when known;
                null for unsupported/unidentified currency, retain source code.
              x-field-id: F0646
              x-classification: Confidential
              x-availability: >-
                Source, module, country, consent and contracted permissions
                determine population.
        budget_cost:
          type: object
          properties:
            amount:
              anyOf:
                - type: string
                  pattern: ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?$
                  description: >-
                    Exact decimal string in major units. Do not use binary
                    floating-point arithmetic.
                - type: 'null'
              description: >-
                Approved cost budget. Amount in major currency units. Pair with
                currency; preserve precision; zero differs from unavailable.
              x-field-id: F0647
              x-classification: Confidential
              x-availability: >-
                Source, module, country, consent and contracted permissions
                determine population.
            currency:
              anyOf:
                - type: string
                - type: 'null'
              description: >-
                Currency for budget cost. Uppercase ISO 4217 code when known;
                null for unsupported/unidentified currency, retain source code.
              x-field-id: F0648
              x-classification: Confidential
              x-availability: >-
                Source, module, country, consent and contracted permissions
                determine population.
        actual_cost:
          type: object
          properties:
            amount:
              anyOf:
                - type: string
                  pattern: ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?$
                  description: >-
                    Exact decimal string in major units. Do not use binary
                    floating-point arithmetic.
                - type: 'null'
              description: >-
                Cost posted to the project to date. Amount in major currency
                units. Pair with currency; preserve precision; zero differs from
                unavailable.
              x-field-id: F0649
              x-classification: Confidential
              x-availability: >-
                Source, module, country, consent and contracted permissions
                determine population.
            currency:
              anyOf:
                - type: string
                - type: 'null'
              description: >-
                Currency for actual cost. Uppercase ISO 4217 code when known;
                null for unsupported/unidentified currency, retain source code.
              x-field-id: F0650
              x-classification: Confidential
              x-availability: >-
                Source, module, country, consent and contracted permissions
                determine population.
        amount_billed:
          type: object
          properties:
            amount:
              anyOf:
                - type: string
                  pattern: ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?$
                  description: >-
                    Exact decimal string in major units. Do not use binary
                    floating-point arithmetic.
                - type: 'null'
              description: >-
                Cumulative invoicing assigned to the project. Amount in major
                currency units. Pair with currency; preserve precision; zero
                differs from unavailable.
              x-field-id: F0651
              x-classification: Confidential
              x-availability: >-
                Source, module, country, consent and contracted permissions
                determine population.
            currency:
              anyOf:
                - type: string
                - type: 'null'
              description: >-
                Currency for amount billed. Uppercase ISO 4217 code when known;
                null for unsupported/unidentified currency, retain source code.
              x-field-id: F0652
              x-classification: Confidential
              x-availability: >-
                Source, module, country, consent and contracted permissions
                determine population.
        retainage_receivable:
          type: object
          properties:
            amount:
              anyOf:
                - type: string
                  pattern: ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?$
                  description: >-
                    Exact decimal string in major units. Do not use binary
                    floating-point arithmetic.
                - type: 'null'
              description: >-
                Contractually withheld receivable if exposed. Amount in major
                currency units. Pair with currency; preserve precision; zero
                differs from unavailable.
              x-field-id: F0653
              x-classification: Confidential
              x-availability: >-
                Source, module, country, consent and contracted permissions
                determine population.
            currency:
              anyOf:
                - type: string
                - type: 'null'
              description: >-
                Currency for retainage receivable. Uppercase ISO 4217 code when
                known; null for unsupported/unidentified currency, retain source
                code.
              x-field-id: F0654
              x-classification: Confidential
              x-availability: >-
                Source, module, country, consent and contracted permissions
                determine population.
        percent_complete:
          anyOf:
            - type: string
              pattern: ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?$
              description: >-
                Exact decimal string in major units. Do not use binary
                floating-point arithmetic.
            - type: 'null'
          description: >-
            Source-reported completion fraction. 0 to 1; retain method; billed
            fraction is not physical completion.
          x-field-id: F0655
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
      required:
        - id
        - object
        - created_at
        - updated_at
        - record_version
        - source_refs
        - data_status
        - missing_fields
        - schema_version
      title: ProjectRead
      description: >-
        Construction or service job with cost and billing information.
        Population depends on source and tenant entitlement. Read representation
        includes all authorized populated fields. Missing or restricted fields
        carry explicit availability information; this API does not support field
        projection.
    NormalizedApplicationRead:
      type: object
      properties:
        id:
          type: string
          description: >-
            Stable identifier scoped to the client tenant. Never use a provider
            ID as the public primary key.
          x-field-id: F0001
          x-classification: Confidential
          x-availability: Required when resource exists
        object:
          type: string
          const: application
          x-field-id: F0002
        subject_id:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Business or person to which this record relates. Null for
            tenant-level configuration and unresolved subjects.
          x-field-id: F0003
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        created_at:
          type: string
          format: date-time
          description: >-
            Time AMLOK first stored this resource. Preserve original evidence;
            do not invent missing values.
          x-field-id: F0004
          x-classification: Confidential
          x-availability: Required when resource exists
        updated_at:
          type: string
          format: date-time
          description: >-
            Time the normalized representation last changed. Preserve original
            evidence; do not invent missing values.
          x-field-id: F0005
          x-classification: Confidential
          x-availability: Required when resource exists
        observed_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          description: >-
            Time the source was observed by AMLOK. Do not imply this is the
            economic event time.
          x-field-id: F0006
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        effective_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          description: >-
            Time the source states this version became valid. Preserve original
            evidence; do not invent missing values.
          x-field-id: F0007
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        record_version:
          type: integer
          description: >-
            Monotonically increasing AMLOK version for this resource. Preserve
            original evidence; do not invent missing values.
          x-field-id: F0008
          x-classification: Confidential
          x-availability: Required when resource exists
        deleted_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          description: >-
            Tombstone timestamp for a source or AMLOK deletion. Null for records
            not deleted; retain only under the configured policy.
          x-field-id: F0009
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        source_refs:
          type: array
          items:
            $ref: '#/components/schemas/NormalizedSourceRef'
          description: >-
            Evidence references contributing to this record. A known empty array
            is valid for a newly client-created record.
          x-field-id: F0010
          x-classification: Confidential
          x-availability: Required when resource exists
        field_provenance:
          anyOf:
            - type: array
              items:
                $ref: '#/components/schemas/NormalizedFieldProvenance'
            - type: 'null'
          description: >-
            Field-level source, extraction, transformation and quality details.
            Preserve original evidence; do not invent missing values.
          x-field-id: F0011
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        data_status:
          $ref: '#/components/schemas/NormalizedEnum_data_status'
          description: >-
            Whether the requested resource is complete for its stated scope.
            Completeness is relative to declared fields, sources and time
            interval.
          x-field-id: F0012
          x-classification: Confidential
          x-availability: Required when resource exists
        missing_fields:
          type: array
          items:
            $ref: '#/components/schemas/NormalizedMissingField'
          description: >-
            Unavailable field paths and their explicit reasons. Preserve
            original evidence; do not invent missing values.
          x-field-id: F0013
          x-classification: Confidential
          x-availability: Required when resource exists
        schema_version:
          type: string
          description: >-
            Contract version used to serialize this record. Preserve original
            evidence; do not invent missing values.
          x-field-id: F0014
          x-classification: Confidential
          x-availability: Required when resource exists
        client_reference:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Optional caller-owned correlation identifier. Scoped to tenant;
            uniqueness only when explicitly contracted.
          x-field-id: F0015
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        extensions:
          anyOf:
            - type: object
              additionalProperties: true
            - type: 'null'
          description: >-
            Namespaced extra provider fields without changing the core schema.
            Access-controlled and documented per provider; no provider tokens.
          x-field-id: F0016
          x-classification: Restricted
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        applicant_entity_id:
          type: string
          description: >-
            Business or person applying for credit. Preserve original evidence;
            do not invent missing values.
          x-field-id: F0656
          x-classification: Confidential
          x-availability: >-
            Returned when available and authorized; a partial read record can
            omit this field.
        product_type:
          $ref: '#/components/schemas/NormalizedEnum_credit_product'
          description: >-
            Requested financial product. Preserve original evidence; do not
            invent missing values.
          x-field-id: F0657
          x-classification: Confidential
          x-availability: >-
            Returned when available and authorized; a partial read record can
            omit this field.
        status:
          $ref: '#/components/schemas/NormalizedEnum_application_status'
          description: >-
            Application state. Preserve original evidence; do not invent missing
            values.
          x-field-id: F0658
          x-classification: Confidential
          x-availability: >-
            Returned when available and authorized; a partial read record can
            omit this field.
        requested_amount:
          type: object
          properties:
            amount:
              anyOf:
                - type: string
                  pattern: ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?$
                  description: >-
                    Exact decimal string in major units. Do not use binary
                    floating-point arithmetic.
                - type: 'null'
              description: >-
                Requested principal or limit. Amount in major currency units.
                Pair with currency; preserve precision; zero differs from
                unavailable.
              x-field-id: F0659
              x-classification: Confidential
              x-availability: >-
                Source, module, country, consent and contracted permissions
                determine population.
            currency:
              anyOf:
                - type: string
                - type: 'null'
              description: >-
                Currency for requested amount. Uppercase ISO 4217 code when
                known; null for unsupported/unidentified currency, retain source
                code.
              x-field-id: F0660
              x-classification: Confidential
              x-availability: >-
                Source, module, country, consent and contracted permissions
                determine population.
        requested_term_months:
          anyOf:
            - type: integer
            - type: 'null'
          description: >-
            Requested contractual term in months. Preserve original evidence; do
            not invent missing values.
          x-field-id: F0661
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        purpose:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Declared use of funds. Preserve original evidence; do not invent
            missing values.
          x-field-id: F0662
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        submitted_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          description: >-
            Application submission time. Preserve original evidence; do not
            invent missing values.
          x-field-id: F0663
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        decision_id:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Current decision artifact. Preserve original evidence; do not invent
            missing values.
          x-field-id: F0664
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        loan_id:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Resulting funded loan when one exists. Preserve original evidence;
            do not invent missing values.
          x-field-id: F0665
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        guarantor_entity_ids:
          anyOf:
            - type: array
              items:
                type: string
            - type: 'null'
          description: >-
            Proposed guarantors. Preserve original evidence; do not invent
            missing values.
          x-field-id: F0666
          x-classification: Restricted
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        collateral_ids:
          anyOf:
            - type: array
              items:
                type: string
            - type: 'null'
          description: >-
            Offered collateral. Preserve original evidence; do not invent
            missing values.
          x-field-id: F0667
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        document_ids:
          anyOf:
            - type: array
              items:
                type: string
            - type: 'null'
          description: >-
            Submitted application evidence. Preserve original evidence; do not
            invent missing values.
          x-field-id: F0668
          x-classification: Restricted
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        channel:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Broker, direct, embedded or other source channel. Preserve original
            evidence; do not invent missing values.
          x-field-id: F0669
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        institution_reference:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Lender's application reference. Preserve original evidence; do not
            invent missing values.
          x-field-id: F0670
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
      required:
        - id
        - object
        - created_at
        - updated_at
        - record_version
        - source_refs
        - data_status
        - missing_fields
        - schema_version
      title: ApplicationRead
      description: >-
        Credit request and its lifecycle. Population depends on source and
        tenant entitlement. Read representation includes all authorized
        populated fields. Missing or restricted fields carry explicit
        availability information; this API does not support field projection.
    NormalizedCreditFacilityRead:
      type: object
      properties:
        id:
          type: string
          description: >-
            Stable identifier scoped to the client tenant. Never use a provider
            ID as the public primary key.
          x-field-id: F0001
          x-classification: Confidential
          x-availability: Required when resource exists
        object:
          type: string
          const: credit_facility
          x-field-id: F0002
        subject_id:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Business or person to which this record relates. Null for
            tenant-level configuration and unresolved subjects.
          x-field-id: F0003
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        created_at:
          type: string
          format: date-time
          description: >-
            Time AMLOK first stored this resource. Preserve original evidence;
            do not invent missing values.
          x-field-id: F0004
          x-classification: Confidential
          x-availability: Required when resource exists
        updated_at:
          type: string
          format: date-time
          description: >-
            Time the normalized representation last changed. Preserve original
            evidence; do not invent missing values.
          x-field-id: F0005
          x-classification: Confidential
          x-availability: Required when resource exists
        observed_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          description: >-
            Time the source was observed by AMLOK. Do not imply this is the
            economic event time.
          x-field-id: F0006
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        effective_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          description: >-
            Time the source states this version became valid. Preserve original
            evidence; do not invent missing values.
          x-field-id: F0007
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        record_version:
          type: integer
          description: >-
            Monotonically increasing AMLOK version for this resource. Preserve
            original evidence; do not invent missing values.
          x-field-id: F0008
          x-classification: Confidential
          x-availability: Required when resource exists
        deleted_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          description: >-
            Tombstone timestamp for a source or AMLOK deletion. Null for records
            not deleted; retain only under the configured policy.
          x-field-id: F0009
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        source_refs:
          type: array
          items:
            $ref: '#/components/schemas/NormalizedSourceRef'
          description: >-
            Evidence references contributing to this record. A known empty array
            is valid for a newly client-created record.
          x-field-id: F0010
          x-classification: Confidential
          x-availability: Required when resource exists
        field_provenance:
          anyOf:
            - type: array
              items:
                $ref: '#/components/schemas/NormalizedFieldProvenance'
            - type: 'null'
          description: >-
            Field-level source, extraction, transformation and quality details.
            Preserve original evidence; do not invent missing values.
          x-field-id: F0011
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        data_status:
          $ref: '#/components/schemas/NormalizedEnum_data_status'
          description: >-
            Whether the requested resource is complete for its stated scope.
            Completeness is relative to declared fields, sources and time
            interval.
          x-field-id: F0012
          x-classification: Confidential
          x-availability: Required when resource exists
        missing_fields:
          type: array
          items:
            $ref: '#/components/schemas/NormalizedMissingField'
          description: >-
            Unavailable field paths and their explicit reasons. Preserve
            original evidence; do not invent missing values.
          x-field-id: F0013
          x-classification: Confidential
          x-availability: Required when resource exists
        schema_version:
          type: string
          description: >-
            Contract version used to serialize this record. Preserve original
            evidence; do not invent missing values.
          x-field-id: F0014
          x-classification: Confidential
          x-availability: Required when resource exists
        client_reference:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Optional caller-owned correlation identifier. Scoped to tenant;
            uniqueness only when explicitly contracted.
          x-field-id: F0015
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        extensions:
          anyOf:
            - type: object
              additionalProperties: true
            - type: 'null'
          description: >-
            Namespaced extra provider fields without changing the core schema.
            Access-controlled and documented per provider; no provider tokens.
          x-field-id: F0016
          x-classification: Restricted
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        borrower_entity_id:
          type: string
          description: >-
            Obligated borrower. Preserve original evidence; do not invent
            missing values.
          x-field-id: F0671
          x-classification: Confidential
          x-availability: >-
            Returned when available and authorized; a partial read record can
            omit this field.
        product_type:
          $ref: '#/components/schemas/NormalizedEnum_credit_product'
          description: >-
            Facility product. Preserve original evidence; do not invent missing
            values.
          x-field-id: F0672
          x-classification: Confidential
          x-availability: >-
            Returned when available and authorized; a partial read record can
            omit this field.
        currency:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Contract currency. Preserve original evidence; do not invent missing
            values.
          x-field-id: F0673
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        approved_limit:
          type: object
          properties:
            amount:
              anyOf:
                - type: string
                  pattern: ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?$
                  description: >-
                    Exact decimal string in major units. Do not use binary
                    floating-point arithmetic.
                - type: 'null'
              description: >-
                Current approved facility limit. Amount in major currency units.
                Pair with currency; preserve precision; zero differs from
                unavailable.
              x-field-id: F0674
              x-classification: Confidential
              x-availability: >-
                Source, module, country, consent and contracted permissions
                determine population.
            currency:
              anyOf:
                - type: string
                - type: 'null'
              description: >-
                Currency for approved limit. Uppercase ISO 4217 code when known;
                null for unsupported/unidentified currency, retain source code.
              x-field-id: F0675
              x-classification: Confidential
              x-availability: >-
                Source, module, country, consent and contracted permissions
                determine population.
        drawn_amount:
          type: object
          properties:
            amount:
              anyOf:
                - type: string
                  pattern: ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?$
                  description: >-
                    Exact decimal string in major units. Do not use binary
                    floating-point arithmetic.
                - type: 'null'
              description: >-
                Outstanding utilization reported by source. Amount in major
                currency units. Pair with currency; preserve precision; zero
                differs from unavailable.
              x-field-id: F0676
              x-classification: Confidential
              x-availability: >-
                Source, module, country, consent and contracted permissions
                determine population.
            currency:
              anyOf:
                - type: string
                - type: 'null'
              description: >-
                Currency for drawn amount. Uppercase ISO 4217 code when known;
                null for unsupported/unidentified currency, retain source code.
              x-field-id: F0677
              x-classification: Confidential
              x-availability: >-
                Source, module, country, consent and contracted permissions
                determine population.
        available_amount:
          type: object
          properties:
            amount:
              anyOf:
                - type: string
                  pattern: ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?$
                  description: >-
                    Exact decimal string in major units. Do not use binary
                    floating-point arithmetic.
                - type: 'null'
              description: >-
                Undrawn availability under the contract. Amount in major
                currency units. Pair with currency; preserve precision; zero
                differs from unavailable.
              x-field-id: F0678
              x-classification: Confidential
              x-availability: >-
                Source, module, country, consent and contracted permissions
                determine population.
            currency:
              anyOf:
                - type: string
                - type: 'null'
              description: >-
                Currency for available amount. Uppercase ISO 4217 code when
                known; null for unsupported/unidentified currency, retain source
                code.
              x-field-id: F0679
              x-classification: Confidential
              x-availability: >-
                Source, module, country, consent and contracted permissions
                determine population.
        committed_amount:
          type: object
          properties:
            amount:
              anyOf:
                - type: string
                  pattern: ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?$
                  description: >-
                    Exact decimal string in major units. Do not use binary
                    floating-point arithmetic.
                - type: 'null'
              description: >-
                Committed portion of the facility. Amount in major currency
                units. Pair with currency; preserve precision; zero differs from
                unavailable.
              x-field-id: F0680
              x-classification: Confidential
              x-availability: >-
                Source, module, country, consent and contracted permissions
                determine population.
            currency:
              anyOf:
                - type: string
                - type: 'null'
              description: >-
                Currency for committed amount. Uppercase ISO 4217 code when
                known; null for unsupported/unidentified currency, retain source
                code.
              x-field-id: F0681
              x-classification: Confidential
              x-availability: >-
                Source, module, country, consent and contracted permissions
                determine population.
        effective_on:
          anyOf:
            - type: string
              format: date
            - type: 'null'
          description: >-
            Facility effective date. Preserve original evidence; do not invent
            missing values.
          x-field-id: F0682
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        maturity_on:
          anyOf:
            - type: string
              format: date
            - type: 'null'
          description: >-
            Contractual end date. Preserve original evidence; do not invent
            missing values.
          x-field-id: F0683
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        review_due_on:
          anyOf:
            - type: string
              format: date
            - type: 'null'
          description: >-
            Next scheduled credit review. Preserve original evidence; do not
            invent missing values.
          x-field-id: F0684
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        status:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Source facility state. Preserve original evidence; do not invent
            missing values.
          x-field-id: F0685
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        loan_ids:
          anyOf:
            - type: array
              items:
                type: string
            - type: 'null'
          description: >-
            Individual loans or draws governed by the facility. Preserve
            original evidence; do not invent missing values.
          x-field-id: F0686
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        covenant_ids:
          anyOf:
            - type: array
              items:
                type: string
            - type: 'null'
          description: >-
            Contractual monitoring covenants. Preserve original evidence; do not
            invent missing values.
          x-field-id: F0687
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
      required:
        - id
        - object
        - created_at
        - updated_at
        - record_version
        - source_refs
        - data_status
        - missing_fields
        - schema_version
      title: CreditFacilityRead
      description: >-
        Approved credit agreement and aggregate exposure. Population depends on
        source and tenant entitlement. Read representation includes all
        authorized populated fields. Missing or restricted fields carry explicit
        availability information; this API does not support field projection.
    NormalizedLoanRead:
      type: object
      properties:
        id:
          type: string
          description: >-
            Stable identifier scoped to the client tenant. Never use a provider
            ID as the public primary key.
          x-field-id: F0001
          x-classification: Confidential
          x-availability: Required when resource exists
        object:
          type: string
          const: loan
          x-field-id: F0002
        subject_id:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Business or person to which this record relates. Null for
            tenant-level configuration and unresolved subjects.
          x-field-id: F0003
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        created_at:
          type: string
          format: date-time
          description: >-
            Time AMLOK first stored this resource. Preserve original evidence;
            do not invent missing values.
          x-field-id: F0004
          x-classification: Confidential
          x-availability: Required when resource exists
        updated_at:
          type: string
          format: date-time
          description: >-
            Time the normalized representation last changed. Preserve original
            evidence; do not invent missing values.
          x-field-id: F0005
          x-classification: Confidential
          x-availability: Required when resource exists
        observed_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          description: >-
            Time the source was observed by AMLOK. Do not imply this is the
            economic event time.
          x-field-id: F0006
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        effective_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          description: >-
            Time the source states this version became valid. Preserve original
            evidence; do not invent missing values.
          x-field-id: F0007
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        record_version:
          type: integer
          description: >-
            Monotonically increasing AMLOK version for this resource. Preserve
            original evidence; do not invent missing values.
          x-field-id: F0008
          x-classification: Confidential
          x-availability: Required when resource exists
        deleted_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          description: >-
            Tombstone timestamp for a source or AMLOK deletion. Null for records
            not deleted; retain only under the configured policy.
          x-field-id: F0009
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        source_refs:
          type: array
          items:
            $ref: '#/components/schemas/NormalizedSourceRef'
          description: >-
            Evidence references contributing to this record. A known empty array
            is valid for a newly client-created record.
          x-field-id: F0010
          x-classification: Confidential
          x-availability: Required when resource exists
        field_provenance:
          anyOf:
            - type: array
              items:
                $ref: '#/components/schemas/NormalizedFieldProvenance'
            - type: 'null'
          description: >-
            Field-level source, extraction, transformation and quality details.
            Preserve original evidence; do not invent missing values.
          x-field-id: F0011
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        data_status:
          $ref: '#/components/schemas/NormalizedEnum_data_status'
          description: >-
            Whether the requested resource is complete for its stated scope.
            Completeness is relative to declared fields, sources and time
            interval.
          x-field-id: F0012
          x-classification: Confidential
          x-availability: Required when resource exists
        missing_fields:
          type: array
          items:
            $ref: '#/components/schemas/NormalizedMissingField'
          description: >-
            Unavailable field paths and their explicit reasons. Preserve
            original evidence; do not invent missing values.
          x-field-id: F0013
          x-classification: Confidential
          x-availability: Required when resource exists
        schema_version:
          type: string
          description: >-
            Contract version used to serialize this record. Preserve original
            evidence; do not invent missing values.
          x-field-id: F0014
          x-classification: Confidential
          x-availability: Required when resource exists
        client_reference:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Optional caller-owned correlation identifier. Scoped to tenant;
            uniqueness only when explicitly contracted.
          x-field-id: F0015
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        extensions:
          anyOf:
            - type: object
              additionalProperties: true
            - type: 'null'
          description: >-
            Namespaced extra provider fields without changing the core schema.
            Access-controlled and documented per provider; no provider tokens.
          x-field-id: F0016
          x-classification: Restricted
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        borrower_entity_id:
          type: string
          description: >-
            Primary borrower. Preserve original evidence; do not invent missing
            values.
          x-field-id: F0688
          x-classification: Confidential
          x-availability: >-
            Returned when available and authorized; a partial read record can
            omit this field.
        application_id:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Originating application if available. Preserve original evidence; do
            not invent missing values.
          x-field-id: F0689
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        facility_id:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Parent facility if applicable. Preserve original evidence; do not
            invent missing values.
          x-field-id: F0690
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        product_type:
          $ref: '#/components/schemas/NormalizedEnum_credit_product'
          description: >-
            Credit product type. Preserve original evidence; do not invent
            missing values.
          x-field-id: F0691
          x-classification: Confidential
          x-availability: >-
            Returned when available and authorized; a partial read record can
            omit this field.
        status:
          $ref: '#/components/schemas/NormalizedEnum_loan_status'
          description: >-
            Servicing lifecycle state. Preserve original evidence; do not invent
            missing values.
          x-field-id: F0692
          x-classification: Confidential
          x-availability: >-
            Returned when available and authorized; a partial read record can
            omit this field.
        original_principal:
          type: object
          properties:
            amount:
              anyOf:
                - type: string
                  pattern: ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?$
                  description: >-
                    Exact decimal string in major units. Do not use binary
                    floating-point arithmetic.
                - type: 'null'
              description: >-
                Principal at origination. Amount in major currency units. Pair
                with currency; preserve precision; zero differs from
                unavailable.
              x-field-id: F0693
              x-classification: Confidential
              x-availability: >-
                Source, module, country, consent and contracted permissions
                determine population.
            currency:
              anyOf:
                - type: string
                - type: 'null'
              description: >-
                Currency for original principal. Uppercase ISO 4217 code when
                known; null for unsupported/unidentified currency, retain source
                code.
              x-field-id: F0694
              x-classification: Confidential
              x-availability: >-
                Source, module, country, consent and contracted permissions
                determine population.
        outstanding_principal:
          type: object
          properties:
            amount:
              anyOf:
                - type: string
                  pattern: ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?$
                  description: >-
                    Exact decimal string in major units. Do not use binary
                    floating-point arithmetic.
                - type: 'null'
              description: >-
                Principal still owed as of the balance date. Amount in major
                currency units. Pair with currency; preserve precision; zero
                differs from unavailable.
              x-field-id: F0695
              x-classification: Confidential
              x-availability: >-
                Source, module, country, consent and contracted permissions
                determine population.
            currency:
              anyOf:
                - type: string
                - type: 'null'
              description: >-
                Currency for outstanding principal. Uppercase ISO 4217 code when
                known; null for unsupported/unidentified currency, retain source
                code.
              x-field-id: F0696
              x-classification: Confidential
              x-availability: >-
                Source, module, country, consent and contracted permissions
                determine population.
        accrued_interest:
          type: object
          properties:
            amount:
              anyOf:
                - type: string
                  pattern: ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?$
                  description: >-
                    Exact decimal string in major units. Do not use binary
                    floating-point arithmetic.
                - type: 'null'
              description: >-
                Accrued unpaid interest separately reported. Amount in major
                currency units. Pair with currency; preserve precision; zero
                differs from unavailable.
              x-field-id: F0697
              x-classification: Confidential
              x-availability: >-
                Source, module, country, consent and contracted permissions
                determine population.
            currency:
              anyOf:
                - type: string
                - type: 'null'
              description: >-
                Currency for accrued interest. Uppercase ISO 4217 code when
                known; null for unsupported/unidentified currency, retain source
                code.
              x-field-id: F0698
              x-classification: Confidential
              x-availability: >-
                Source, module, country, consent and contracted permissions
                determine population.
        fees_due:
          type: object
          properties:
            amount:
              anyOf:
                - type: string
                  pattern: ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?$
                  description: >-
                    Exact decimal string in major units. Do not use binary
                    floating-point arithmetic.
                - type: 'null'
              description: >-
                Unpaid fees separately reported. Amount in major currency units.
                Pair with currency; preserve precision; zero differs from
                unavailable.
              x-field-id: F0699
              x-classification: Confidential
              x-availability: >-
                Source, module, country, consent and contracted permissions
                determine population.
            currency:
              anyOf:
                - type: string
                - type: 'null'
              description: >-
                Currency for fees due. Uppercase ISO 4217 code when known; null
                for unsupported/unidentified currency, retain source code.
              x-field-id: F0700
              x-classification: Confidential
              x-availability: >-
                Source, module, country, consent and contracted permissions
                determine population.
        total_payoff:
          type: object
          properties:
            amount:
              anyOf:
                - type: string
                  pattern: ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?$
                  description: >-
                    Exact decimal string in major units. Do not use binary
                    floating-point arithmetic.
                - type: 'null'
              description: >-
                Source payoff quote including its calculation date. Amount in
                major currency units. Pair with currency; preserve precision;
                zero differs from unavailable.
              x-field-id: F0701
              x-classification: Confidential
              x-availability: >-
                Source, module, country, consent and contracted permissions
                determine population.
            currency:
              anyOf:
                - type: string
                - type: 'null'
              description: >-
                Currency for total payoff. Uppercase ISO 4217 code when known;
                null for unsupported/unidentified currency, retain source code.
              x-field-id: F0702
              x-classification: Confidential
              x-availability: >-
                Source, module, country, consent and contracted permissions
                determine population.
        annual_interest_rate:
          anyOf:
            - type: string
              pattern: ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?$
              description: >-
                Exact decimal string in major units. Do not use binary
                floating-point arithmetic.
            - type: 'null'
          description: >-
            Contractual annual rate expressed as a fraction. 9.5 percent is
            0.095; not automatically APR.
          x-field-id: F0703
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        apr:
          anyOf:
            - type: string
              pattern: ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?$
              description: >-
                Exact decimal string in major units. Do not use binary
                floating-point arithmetic.
            - type: 'null'
          description: >-
            Disclosed APR if explicitly supplied. Do not relabel nominal rate as
            APR.
          x-field-id: F0704
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        rate_type:
          anyOf:
            - $ref: '#/components/schemas/NormalizedEnum_rate_type'
            - type: 'null'
          description: >-
            Fixed or variable interest arrangement. Preserve original evidence;
            do not invent missing values.
          x-field-id: F0705
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        benchmark:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Reference rate for variable pricing. Preserve original evidence; do
            not invent missing values.
          x-field-id: F0706
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        spread:
          anyOf:
            - type: string
              pattern: ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?$
              description: >-
                Exact decimal string in major units. Do not use binary
                floating-point arithmetic.
            - type: 'null'
          description: >-
            Margin above benchmark, as a fraction. Preserve original evidence;
            do not invent missing values.
          x-field-id: F0707
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        interest_day_count:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Contractual day-count convention. Preserve original evidence; do not
            invent missing values.
          x-field-id: F0708
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        payment_frequency:
          anyOf:
            - $ref: '#/components/schemas/NormalizedEnum_frequency'
            - type: 'null'
          description: >-
            Scheduled payment cadence. Preserve original evidence; do not invent
            missing values.
          x-field-id: F0709
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        scheduled_payment:
          type: object
          properties:
            amount:
              anyOf:
                - type: string
                  pattern: ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?$
                  description: >-
                    Exact decimal string in major units. Do not use binary
                    floating-point arithmetic.
                - type: 'null'
              description: >-
                Current regular installment amount. Amount in major currency
                units. Pair with currency; preserve precision; zero differs from
                unavailable.
              x-field-id: F0710
              x-classification: Confidential
              x-availability: >-
                Source, module, country, consent and contracted permissions
                determine population.
            currency:
              anyOf:
                - type: string
                - type: 'null'
              description: >-
                Currency for scheduled payment. Uppercase ISO 4217 code when
                known; null for unsupported/unidentified currency, retain source
                code.
              x-field-id: F0711
              x-classification: Confidential
              x-availability: >-
                Source, module, country, consent and contracted permissions
                determine population.
        funded_on:
          anyOf:
            - type: string
              format: date
            - type: 'null'
          description: >-
            Initial funding date. Preserve original evidence; do not invent
            missing values.
          x-field-id: F0712
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        maturity_on:
          anyOf:
            - type: string
              format: date
            - type: 'null'
          description: >-
            Contract maturity. Preserve original evidence; do not invent missing
            values.
          x-field-id: F0713
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        next_payment_on:
          anyOf:
            - type: string
              format: date
            - type: 'null'
          description: >-
            Next due installment date. Preserve original evidence; do not invent
            missing values.
          x-field-id: F0714
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        days_past_due:
          anyOf:
            - type: integer
            - type: 'null'
          description: >-
            Source days-past-due under its servicing policy. Preserve policy and
            as-of date; no automatic recalculation from one missed item.
          x-field-id: F0715
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        past_due_amount:
          type: object
          properties:
            amount:
              anyOf:
                - type: string
                  pattern: ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?$
                  description: >-
                    Exact decimal string in major units. Do not use binary
                    floating-point arithmetic.
                - type: 'null'
              description: >-
                Contractual amount overdue. Amount in major currency units. Pair
                with currency; preserve precision; zero differs from
                unavailable.
              x-field-id: F0716
              x-classification: Confidential
              x-availability: >-
                Source, module, country, consent and contracted permissions
                determine population.
            currency:
              anyOf:
                - type: string
                - type: 'null'
              description: >-
                Currency for past due amount. Uppercase ISO 4217 code when
                known; null for unsupported/unidentified currency, retain source
                code.
              x-field-id: F0717
              x-classification: Confidential
              x-availability: >-
                Source, module, country, consent and contracted permissions
                determine population.
        charged_off_amount:
          type: object
          properties:
            amount:
              anyOf:
                - type: string
                  pattern: ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?$
                  description: >-
                    Exact decimal string in major units. Do not use binary
                    floating-point arithmetic.
                - type: 'null'
              description: >-
                Amount written off by the lender. Amount in major currency
                units. Pair with currency; preserve precision; zero differs from
                unavailable.
              x-field-id: F0718
              x-classification: Confidential
              x-availability: >-
                Source, module, country, consent and contracted permissions
                determine population.
            currency:
              anyOf:
                - type: string
                - type: 'null'
              description: >-
                Currency for charged off amount. Uppercase ISO 4217 code when
                known; null for unsupported/unidentified currency, retain source
                code.
              x-field-id: F0719
              x-classification: Confidential
              x-availability: >-
                Source, module, country, consent and contracted permissions
                determine population.
        as_of:
          type: string
          format: date
          description: >-
            Date represented by balances and delinquency status. Preserve
            original evidence; do not invent missing values.
          x-field-id: F0720
          x-classification: Confidential
          x-availability: >-
            Returned when available and authorized; a partial read record can
            omit this field.
        autopay_enabled:
          anyOf:
            - type: boolean
            - type: 'null'
          description: >-
            Source-reported authorized automatic repayment setting. Preserve
            original evidence; do not invent missing values.
          x-field-id: F0721
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
      required:
        - id
        - object
        - created_at
        - updated_at
        - record_version
        - source_refs
        - data_status
        - missing_fields
        - schema_version
      title: LoanRead
      description: >-
        Loan contract and current servicing state. Population depends on source
        and tenant entitlement. Read representation includes all authorized
        populated fields. Missing or restricted fields carry explicit
        availability information; this API does not support field projection.
    NormalizedInstallmentRead:
      type: object
      properties:
        id:
          type: string
          description: >-
            Stable identifier scoped to the client tenant. Never use a provider
            ID as the public primary key.
          x-field-id: F0001
          x-classification: Confidential
          x-availability: Required when resource exists
        object:
          type: string
          const: installment
          x-field-id: F0002
        subject_id:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Business or person to which this record relates. Null for
            tenant-level configuration and unresolved subjects.
          x-field-id: F0003
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        created_at:
          type: string
          format: date-time
          description: >-
            Time AMLOK first stored this resource. Preserve original evidence;
            do not invent missing values.
          x-field-id: F0004
          x-classification: Confidential
          x-availability: Required when resource exists
        updated_at:
          type: string
          format: date-time
          description: >-
            Time the normalized representation last changed. Preserve original
            evidence; do not invent missing values.
          x-field-id: F0005
          x-classification: Confidential
          x-availability: Required when resource exists
        observed_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          description: >-
            Time the source was observed by AMLOK. Do not imply this is the
            economic event time.
          x-field-id: F0006
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        effective_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          description: >-
            Time the source states this version became valid. Preserve original
            evidence; do not invent missing values.
          x-field-id: F0007
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        record_version:
          type: integer
          description: >-
            Monotonically increasing AMLOK version for this resource. Preserve
            original evidence; do not invent missing values.
          x-field-id: F0008
          x-classification: Confidential
          x-availability: Required when resource exists
        deleted_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          description: >-
            Tombstone timestamp for a source or AMLOK deletion. Null for records
            not deleted; retain only under the configured policy.
          x-field-id: F0009
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        source_refs:
          type: array
          items:
            $ref: '#/components/schemas/NormalizedSourceRef'
          description: >-
            Evidence references contributing to this record. A known empty array
            is valid for a newly client-created record.
          x-field-id: F0010
          x-classification: Confidential
          x-availability: Required when resource exists
        field_provenance:
          anyOf:
            - type: array
              items:
                $ref: '#/components/schemas/NormalizedFieldProvenance'
            - type: 'null'
          description: >-
            Field-level source, extraction, transformation and quality details.
            Preserve original evidence; do not invent missing values.
          x-field-id: F0011
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        data_status:
          $ref: '#/components/schemas/NormalizedEnum_data_status'
          description: >-
            Whether the requested resource is complete for its stated scope.
            Completeness is relative to declared fields, sources and time
            interval.
          x-field-id: F0012
          x-classification: Confidential
          x-availability: Required when resource exists
        missing_fields:
          type: array
          items:
            $ref: '#/components/schemas/NormalizedMissingField'
          description: >-
            Unavailable field paths and their explicit reasons. Preserve
            original evidence; do not invent missing values.
          x-field-id: F0013
          x-classification: Confidential
          x-availability: Required when resource exists
        schema_version:
          type: string
          description: >-
            Contract version used to serialize this record. Preserve original
            evidence; do not invent missing values.
          x-field-id: F0014
          x-classification: Confidential
          x-availability: Required when resource exists
        client_reference:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Optional caller-owned correlation identifier. Scoped to tenant;
            uniqueness only when explicitly contracted.
          x-field-id: F0015
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        extensions:
          anyOf:
            - type: object
              additionalProperties: true
            - type: 'null'
          description: >-
            Namespaced extra provider fields without changing the core schema.
            Access-controlled and documented per provider; no provider tokens.
          x-field-id: F0016
          x-classification: Restricted
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        loan_id:
          type: string
          description: >-
            Parent loan. Preserve original evidence; do not invent missing
            values.
          x-field-id: F0722
          x-classification: Confidential
          x-availability: >-
            Returned when available and authorized; a partial read record can
            omit this field.
        sequence_number:
          anyOf:
            - type: integer
            - type: 'null'
          description: >-
            Contract schedule sequence. Preserve original evidence; do not
            invent missing values.
          x-field-id: F0723
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        due_on:
          type: string
          format: date
          description: >-
            Installment due date. Preserve original evidence; do not invent
            missing values.
          x-field-id: F0724
          x-classification: Confidential
          x-availability: >-
            Returned when available and authorized; a partial read record can
            omit this field.
        principal_due:
          type: object
          properties:
            amount:
              anyOf:
                - type: string
                  pattern: ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?$
                  description: >-
                    Exact decimal string in major units. Do not use binary
                    floating-point arithmetic.
                - type: 'null'
              description: >-
                Principal due for this installment. Amount in major currency
                units. Pair with currency; preserve precision; zero differs from
                unavailable.
              x-field-id: F0725
              x-classification: Confidential
              x-availability: >-
                Source, module, country, consent and contracted permissions
                determine population.
            currency:
              anyOf:
                - type: string
                - type: 'null'
              description: >-
                Currency for principal due. Uppercase ISO 4217 code when known;
                null for unsupported/unidentified currency, retain source code.
              x-field-id: F0726
              x-classification: Confidential
              x-availability: >-
                Source, module, country, consent and contracted permissions
                determine population.
        interest_due:
          type: object
          properties:
            amount:
              anyOf:
                - type: string
                  pattern: ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?$
                  description: >-
                    Exact decimal string in major units. Do not use binary
                    floating-point arithmetic.
                - type: 'null'
              description: >-
                Interest due for this installment. Amount in major currency
                units. Pair with currency; preserve precision; zero differs from
                unavailable.
              x-field-id: F0727
              x-classification: Confidential
              x-availability: >-
                Source, module, country, consent and contracted permissions
                determine population.
            currency:
              anyOf:
                - type: string
                - type: 'null'
              description: >-
                Currency for interest due. Uppercase ISO 4217 code when known;
                null for unsupported/unidentified currency, retain source code.
              x-field-id: F0728
              x-classification: Confidential
              x-availability: >-
                Source, module, country, consent and contracted permissions
                determine population.
        fees_due:
          type: object
          properties:
            amount:
              anyOf:
                - type: string
                  pattern: ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?$
                  description: >-
                    Exact decimal string in major units. Do not use binary
                    floating-point arithmetic.
                - type: 'null'
              description: >-
                Fees due for this installment. Amount in major currency units.
                Pair with currency; preserve precision; zero differs from
                unavailable.
              x-field-id: F0729
              x-classification: Confidential
              x-availability: >-
                Source, module, country, consent and contracted permissions
                determine population.
            currency:
              anyOf:
                - type: string
                - type: 'null'
              description: >-
                Currency for fees due. Uppercase ISO 4217 code when known; null
                for unsupported/unidentified currency, retain source code.
              x-field-id: F0730
              x-classification: Confidential
              x-availability: >-
                Source, module, country, consent and contracted permissions
                determine population.
        total_due:
          type: object
          properties:
            amount:
              anyOf:
                - type: string
                  pattern: ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?$
                  description: >-
                    Exact decimal string in major units. Do not use binary
                    floating-point arithmetic.
                - type: 'null'
              description: >-
                Total contractual obligation. Amount in major currency units.
                Pair with currency; preserve precision; zero differs from
                unavailable.
              x-field-id: F0731
              x-classification: Confidential
              x-availability: >-
                Source, module, country, consent and contracted permissions
                determine population.
            currency:
              anyOf:
                - type: string
                - type: 'null'
              description: >-
                Currency for total due. Uppercase ISO 4217 code when known; null
                for unsupported/unidentified currency, retain source code.
              x-field-id: F0732
              x-classification: Confidential
              x-availability: >-
                Source, module, country, consent and contracted permissions
                determine population.
        amount_paid:
          type: object
          properties:
            amount:
              anyOf:
                - type: string
                  pattern: ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?$
                  description: >-
                    Exact decimal string in major units. Do not use binary
                    floating-point arithmetic.
                - type: 'null'
              description: >-
                Applied repayments against this obligation. Amount in major
                currency units. Pair with currency; preserve precision; zero
                differs from unavailable.
              x-field-id: F0733
              x-classification: Confidential
              x-availability: >-
                Source, module, country, consent and contracted permissions
                determine population.
            currency:
              anyOf:
                - type: string
                - type: 'null'
              description: >-
                Currency for amount paid. Uppercase ISO 4217 code when known;
                null for unsupported/unidentified currency, retain source code.
              x-field-id: F0734
              x-classification: Confidential
              x-availability: >-
                Source, module, country, consent and contracted permissions
                determine population.
        remaining_due:
          type: object
          properties:
            amount:
              anyOf:
                - type: string
                  pattern: ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?$
                  description: >-
                    Exact decimal string in major units. Do not use binary
                    floating-point arithmetic.
                - type: 'null'
              description: >-
                Unpaid scheduled obligation. Amount in major currency units.
                Pair with currency; preserve precision; zero differs from
                unavailable.
              x-field-id: F0735
              x-classification: Confidential
              x-availability: >-
                Source, module, country, consent and contracted permissions
                determine population.
            currency:
              anyOf:
                - type: string
                - type: 'null'
              description: >-
                Currency for remaining due. Uppercase ISO 4217 code when known;
                null for unsupported/unidentified currency, retain source code.
              x-field-id: F0736
              x-classification: Confidential
              x-availability: >-
                Source, module, country, consent and contracted permissions
                determine population.
        status:
          anyOf:
            - $ref: '#/components/schemas/NormalizedEnum_repayment_status'
            - type: 'null'
          description: >-
            Schedule or repayment state. Preserve original evidence; do not
            invent missing values.
          x-field-id: F0737
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
      required:
        - id
        - object
        - created_at
        - updated_at
        - record_version
        - source_refs
        - data_status
        - missing_fields
        - schema_version
      title: InstallmentRead
      description: >-
        One scheduled repayment obligation. Population depends on source and
        tenant entitlement. Read representation includes all authorized
        populated fields. Missing or restricted fields carry explicit
        availability information; this API does not support field projection.
    NormalizedRepaymentRead:
      type: object
      properties:
        id:
          type: string
          description: >-
            Stable identifier scoped to the client tenant. Never use a provider
            ID as the public primary key.
          x-field-id: F0001
          x-classification: Confidential
          x-availability: Required when resource exists
        object:
          type: string
          const: repayment
          x-field-id: F0002
        subject_id:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Business or person to which this record relates. Null for
            tenant-level configuration and unresolved subjects.
          x-field-id: F0003
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        created_at:
          type: string
          format: date-time
          description: >-
            Time AMLOK first stored this resource. Preserve original evidence;
            do not invent missing values.
          x-field-id: F0004
          x-classification: Confidential
          x-availability: Required when resource exists
        updated_at:
          type: string
          format: date-time
          description: >-
            Time the normalized representation last changed. Preserve original
            evidence; do not invent missing values.
          x-field-id: F0005
          x-classification: Confidential
          x-availability: Required when resource exists
        observed_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          description: >-
            Time the source was observed by AMLOK. Do not imply this is the
            economic event time.
          x-field-id: F0006
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        effective_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          description: >-
            Time the source states this version became valid. Preserve original
            evidence; do not invent missing values.
          x-field-id: F0007
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        record_version:
          type: integer
          description: >-
            Monotonically increasing AMLOK version for this resource. Preserve
            original evidence; do not invent missing values.
          x-field-id: F0008
          x-classification: Confidential
          x-availability: Required when resource exists
        deleted_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          description: >-
            Tombstone timestamp for a source or AMLOK deletion. Null for records
            not deleted; retain only under the configured policy.
          x-field-id: F0009
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        source_refs:
          type: array
          items:
            $ref: '#/components/schemas/NormalizedSourceRef'
          description: >-
            Evidence references contributing to this record. A known empty array
            is valid for a newly client-created record.
          x-field-id: F0010
          x-classification: Confidential
          x-availability: Required when resource exists
        field_provenance:
          anyOf:
            - type: array
              items:
                $ref: '#/components/schemas/NormalizedFieldProvenance'
            - type: 'null'
          description: >-
            Field-level source, extraction, transformation and quality details.
            Preserve original evidence; do not invent missing values.
          x-field-id: F0011
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        data_status:
          $ref: '#/components/schemas/NormalizedEnum_data_status'
          description: >-
            Whether the requested resource is complete for its stated scope.
            Completeness is relative to declared fields, sources and time
            interval.
          x-field-id: F0012
          x-classification: Confidential
          x-availability: Required when resource exists
        missing_fields:
          type: array
          items:
            $ref: '#/components/schemas/NormalizedMissingField'
          description: >-
            Unavailable field paths and their explicit reasons. Preserve
            original evidence; do not invent missing values.
          x-field-id: F0013
          x-classification: Confidential
          x-availability: Required when resource exists
        schema_version:
          type: string
          description: >-
            Contract version used to serialize this record. Preserve original
            evidence; do not invent missing values.
          x-field-id: F0014
          x-classification: Confidential
          x-availability: Required when resource exists
        client_reference:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Optional caller-owned correlation identifier. Scoped to tenant;
            uniqueness only when explicitly contracted.
          x-field-id: F0015
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        extensions:
          anyOf:
            - type: object
              additionalProperties: true
            - type: 'null'
          description: >-
            Namespaced extra provider fields without changing the core schema.
            Access-controlled and documented per provider; no provider tokens.
          x-field-id: F0016
          x-classification: Restricted
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        loan_id:
          type: string
          description: >-
            Loan receiving the repayment. Preserve original evidence; do not
            invent missing values.
          x-field-id: F0738
          x-classification: Confidential
          x-availability: >-
            Returned when available and authorized; a partial read record can
            omit this field.
        installment_id:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Scheduled obligation if explicitly linked. Preserve original
            evidence; do not invent missing values.
          x-field-id: F0739
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        status:
          $ref: '#/components/schemas/NormalizedEnum_repayment_status'
          description: >-
            Payment execution state. Preserve original evidence; do not invent
            missing values.
          x-field-id: F0740
          x-classification: Confidential
          x-availability: >-
            Returned when available and authorized; a partial read record can
            omit this field.
        amount:
          type: object
          properties:
            amount:
              anyOf:
                - type: string
                  pattern: ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?$
                  description: >-
                    Exact decimal string in major units. Do not use binary
                    floating-point arithmetic.
                - type: 'null'
              description: >-
                Total repayment amount. Amount in major currency units. Pair
                with currency; preserve precision; zero differs from
                unavailable.
              x-field-id: F0741
              x-classification: Confidential
              x-availability: >-
                Source, module, country, consent and contracted permissions
                determine population.
            currency:
              anyOf:
                - type: string
                - type: 'null'
              description: >-
                Currency for amount. Uppercase ISO 4217 code when known; null
                for unsupported/unidentified currency, retain source code.
              x-field-id: F0742
              x-classification: Confidential
              x-availability: >-
                Source, module, country, consent and contracted permissions
                determine population.
        principal_applied:
          type: object
          properties:
            amount:
              anyOf:
                - type: string
                  pattern: ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?$
                  description: >-
                    Exact decimal string in major units. Do not use binary
                    floating-point arithmetic.
                - type: 'null'
              description: >-
                Amount applied to principal. Amount in major currency units.
                Pair with currency; preserve precision; zero differs from
                unavailable.
              x-field-id: F0743
              x-classification: Confidential
              x-availability: >-
                Source, module, country, consent and contracted permissions
                determine population.
            currency:
              anyOf:
                - type: string
                - type: 'null'
              description: >-
                Currency for principal applied. Uppercase ISO 4217 code when
                known; null for unsupported/unidentified currency, retain source
                code.
              x-field-id: F0744
              x-classification: Confidential
              x-availability: >-
                Source, module, country, consent and contracted permissions
                determine population.
        interest_applied:
          type: object
          properties:
            amount:
              anyOf:
                - type: string
                  pattern: ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?$
                  description: >-
                    Exact decimal string in major units. Do not use binary
                    floating-point arithmetic.
                - type: 'null'
              description: >-
                Amount applied to interest. Amount in major currency units. Pair
                with currency; preserve precision; zero differs from
                unavailable.
              x-field-id: F0745
              x-classification: Confidential
              x-availability: >-
                Source, module, country, consent and contracted permissions
                determine population.
            currency:
              anyOf:
                - type: string
                - type: 'null'
              description: >-
                Currency for interest applied. Uppercase ISO 4217 code when
                known; null for unsupported/unidentified currency, retain source
                code.
              x-field-id: F0746
              x-classification: Confidential
              x-availability: >-
                Source, module, country, consent and contracted permissions
                determine population.
        fees_applied:
          type: object
          properties:
            amount:
              anyOf:
                - type: string
                  pattern: ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?$
                  description: >-
                    Exact decimal string in major units. Do not use binary
                    floating-point arithmetic.
                - type: 'null'
              description: >-
                Amount applied to fees. Amount in major currency units. Pair
                with currency; preserve precision; zero differs from
                unavailable.
              x-field-id: F0747
              x-classification: Confidential
              x-availability: >-
                Source, module, country, consent and contracted permissions
                determine population.
            currency:
              anyOf:
                - type: string
                - type: 'null'
              description: >-
                Currency for fees applied. Uppercase ISO 4217 code when known;
                null for unsupported/unidentified currency, retain source code.
              x-field-id: F0748
              x-classification: Confidential
              x-availability: >-
                Source, module, country, consent and contracted permissions
                determine population.
        unapplied_amount:
          type: object
          properties:
            amount:
              anyOf:
                - type: string
                  pattern: ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?$
                  description: >-
                    Exact decimal string in major units. Do not use binary
                    floating-point arithmetic.
                - type: 'null'
              description: >-
                Cash received but not yet allocated. Amount in major currency
                units. Pair with currency; preserve precision; zero differs from
                unavailable.
              x-field-id: F0749
              x-classification: Confidential
              x-availability: >-
                Source, module, country, consent and contracted permissions
                determine population.
            currency:
              anyOf:
                - type: string
                - type: 'null'
              description: >-
                Currency for unapplied amount. Uppercase ISO 4217 code when
                known; null for unsupported/unidentified currency, retain source
                code.
              x-field-id: F0750
              x-classification: Confidential
              x-availability: >-
                Source, module, country, consent and contracted permissions
                determine population.
        received_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          description: >-
            Time funds were received. Preserve original evidence; do not invent
            missing values.
          x-field-id: F0751
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        effective_on:
          anyOf:
            - type: string
              format: date
            - type: 'null'
          description: >-
            Servicing value date. Preserve original evidence; do not invent
            missing values.
          x-field-id: F0752
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        method:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Payment rail or method. Preserve original evidence; do not invent
            missing values.
          x-field-id: F0753
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        failure_code:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Return or failure reason when supplied. Preserve original evidence;
            do not invent missing values.
          x-field-id: F0754
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        bank_transaction_id:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Matched bank movement when authorized. Preserve original evidence;
            do not invent missing values.
          x-field-id: F0755
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        reverses_repayment_id:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Repayment reversed by this event. Preserve original evidence; do not
            invent missing values.
          x-field-id: F0756
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
      required:
        - id
        - object
        - created_at
        - updated_at
        - record_version
        - source_refs
        - data_status
        - missing_fields
        - schema_version
      title: RepaymentRead
      description: >-
        A servicing payment event and its allocation. Population depends on
        source and tenant entitlement. Read representation includes all
        authorized populated fields. Missing or restricted fields carry explicit
        availability information; this API does not support field projection.
    NormalizedCollateralRead:
      type: object
      properties:
        id:
          type: string
          description: >-
            Stable identifier scoped to the client tenant. Never use a provider
            ID as the public primary key.
          x-field-id: F0001
          x-classification: Confidential
          x-availability: Required when resource exists
        object:
          type: string
          const: collateral
          x-field-id: F0002
        subject_id:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Business or person to which this record relates. Null for
            tenant-level configuration and unresolved subjects.
          x-field-id: F0003
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        created_at:
          type: string
          format: date-time
          description: >-
            Time AMLOK first stored this resource. Preserve original evidence;
            do not invent missing values.
          x-field-id: F0004
          x-classification: Confidential
          x-availability: Required when resource exists
        updated_at:
          type: string
          format: date-time
          description: >-
            Time the normalized representation last changed. Preserve original
            evidence; do not invent missing values.
          x-field-id: F0005
          x-classification: Confidential
          x-availability: Required when resource exists
        observed_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          description: >-
            Time the source was observed by AMLOK. Do not imply this is the
            economic event time.
          x-field-id: F0006
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        effective_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          description: >-
            Time the source states this version became valid. Preserve original
            evidence; do not invent missing values.
          x-field-id: F0007
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        record_version:
          type: integer
          description: >-
            Monotonically increasing AMLOK version for this resource. Preserve
            original evidence; do not invent missing values.
          x-field-id: F0008
          x-classification: Confidential
          x-availability: Required when resource exists
        deleted_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          description: >-
            Tombstone timestamp for a source or AMLOK deletion. Null for records
            not deleted; retain only under the configured policy.
          x-field-id: F0009
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        source_refs:
          type: array
          items:
            $ref: '#/components/schemas/NormalizedSourceRef'
          description: >-
            Evidence references contributing to this record. A known empty array
            is valid for a newly client-created record.
          x-field-id: F0010
          x-classification: Confidential
          x-availability: Required when resource exists
        field_provenance:
          anyOf:
            - type: array
              items:
                $ref: '#/components/schemas/NormalizedFieldProvenance'
            - type: 'null'
          description: >-
            Field-level source, extraction, transformation and quality details.
            Preserve original evidence; do not invent missing values.
          x-field-id: F0011
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        data_status:
          $ref: '#/components/schemas/NormalizedEnum_data_status'
          description: >-
            Whether the requested resource is complete for its stated scope.
            Completeness is relative to declared fields, sources and time
            interval.
          x-field-id: F0012
          x-classification: Confidential
          x-availability: Required when resource exists
        missing_fields:
          type: array
          items:
            $ref: '#/components/schemas/NormalizedMissingField'
          description: >-
            Unavailable field paths and their explicit reasons. Preserve
            original evidence; do not invent missing values.
          x-field-id: F0013
          x-classification: Confidential
          x-availability: Required when resource exists
        schema_version:
          type: string
          description: >-
            Contract version used to serialize this record. Preserve original
            evidence; do not invent missing values.
          x-field-id: F0014
          x-classification: Confidential
          x-availability: Required when resource exists
        client_reference:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Optional caller-owned correlation identifier. Scoped to tenant;
            uniqueness only when explicitly contracted.
          x-field-id: F0015
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        extensions:
          anyOf:
            - type: object
              additionalProperties: true
            - type: 'null'
          description: >-
            Namespaced extra provider fields without changing the core schema.
            Access-controlled and documented per provider; no provider tokens.
          x-field-id: F0016
          x-classification: Restricted
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        loan_id:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Loan secured or proposed to be secured. Preserve original evidence;
            do not invent missing values.
          x-field-id: F0757
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        facility_id:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Related credit facility. Preserve original evidence; do not invent
            missing values.
          x-field-id: F0758
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        collateral_type:
          $ref: '#/components/schemas/NormalizedEnum_collateral_type'
          description: >-
            Asset class. Preserve original evidence; do not invent missing
            values.
          x-field-id: F0759
          x-classification: Confidential
          x-availability: >-
            Returned when available and authorized; a partial read record can
            omit this field.
        description:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Description identifying the pledged asset. Preserve original
            evidence; do not invent missing values.
          x-field-id: F0760
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        owner_entity_id:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Owner evidenced for the asset. Preserve original evidence; do not
            invent missing values.
          x-field-id: F0761
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        serial_number:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Equipment or asset serial number. Preserve original evidence; do not
            invent missing values.
          x-field-id: F0762
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        vin:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Vehicle identification number when relevant. Preserve original
            evidence; do not invent missing values.
          x-field-id: F0763
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        property_identifier:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Land parcel or title identifier when relevant. Preserve original
            evidence; do not invent missing values.
          x-field-id: F0764
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        address:
          anyOf:
            - $ref: '#/components/schemas/NormalizedAddress'
            - type: 'null'
          description: >-
            Location or real-property address. Preserve original evidence; do
            not invent missing values.
          x-field-id: F0765
          x-classification: Restricted
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        valuation:
          type: object
          properties:
            amount:
              anyOf:
                - type: string
                  pattern: ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?$
                  description: >-
                    Exact decimal string in major units. Do not use binary
                    floating-point arithmetic.
                - type: 'null'
              description: >-
                Value established by a specified valuation source. Amount in
                major currency units. Pair with currency; preserve precision;
                zero differs from unavailable.
              x-field-id: F0766
              x-classification: Confidential
              x-availability: >-
                Source, module, country, consent and contracted permissions
                determine population.
            currency:
              anyOf:
                - type: string
                - type: 'null'
              description: >-
                Currency for valuation. Uppercase ISO 4217 code when known; null
                for unsupported/unidentified currency, retain source code.
              x-field-id: F0767
              x-classification: Confidential
              x-availability: >-
                Source, module, country, consent and contracted permissions
                determine population.
        valuation_date:
          anyOf:
            - type: string
              format: date
            - type: 'null'
          description: >-
            Date of the valuation. Preserve original evidence; do not invent
            missing values.
          x-field-id: F0768
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        valuation_method:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Appraisal, book value or other stated method. Preserve original
            evidence; do not invent missing values.
          x-field-id: F0769
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        appraiser:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Appraiser or valuation provider. Preserve original evidence; do not
            invent missing values.
          x-field-id: F0770
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        lien_ids:
          anyOf:
            - type: array
              items:
                type: string
            - type: 'null'
          description: >-
            Related registrations or filings. Preserve original evidence; do not
            invent missing values.
          x-field-id: F0771
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        advance_rate:
          anyOf:
            - type: string
              pattern: ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?$
              description: >-
                Exact decimal string in major units. Do not use binary
                floating-point arithmetic.
            - type: 'null'
          description: >-
            Lender-approved fraction eligible for borrowing base. Contract
            parameter, not inferred from a registry filing.
          x-field-id: F0772
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        insurance_expiry_on:
          anyOf:
            - type: string
              format: date
            - type: 'null'
          description: >-
            Expiry of supporting insurance evidence. Preserve original evidence;
            do not invent missing values.
          x-field-id: F0773
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
      required:
        - id
        - object
        - created_at
        - updated_at
        - record_version
        - source_refs
        - data_status
        - missing_fields
        - schema_version
      title: CollateralRead
      description: >-
        Asset pledged or proposed to secure an obligation. Population depends on
        source and tenant entitlement. Read representation includes all
        authorized populated fields. Missing or restricted fields carry explicit
        availability information; this API does not support field projection.
    NormalizedGuaranteeRead:
      type: object
      properties:
        id:
          type: string
          description: >-
            Stable identifier scoped to the client tenant. Never use a provider
            ID as the public primary key.
          x-field-id: F0001
          x-classification: Confidential
          x-availability: Required when resource exists
        object:
          type: string
          const: guarantee
          x-field-id: F0002
        subject_id:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Business or person to which this record relates. Null for
            tenant-level configuration and unresolved subjects.
          x-field-id: F0003
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        created_at:
          type: string
          format: date-time
          description: >-
            Time AMLOK first stored this resource. Preserve original evidence;
            do not invent missing values.
          x-field-id: F0004
          x-classification: Confidential
          x-availability: Required when resource exists
        updated_at:
          type: string
          format: date-time
          description: >-
            Time the normalized representation last changed. Preserve original
            evidence; do not invent missing values.
          x-field-id: F0005
          x-classification: Confidential
          x-availability: Required when resource exists
        observed_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          description: >-
            Time the source was observed by AMLOK. Do not imply this is the
            economic event time.
          x-field-id: F0006
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        effective_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          description: >-
            Time the source states this version became valid. Preserve original
            evidence; do not invent missing values.
          x-field-id: F0007
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        record_version:
          type: integer
          description: >-
            Monotonically increasing AMLOK version for this resource. Preserve
            original evidence; do not invent missing values.
          x-field-id: F0008
          x-classification: Confidential
          x-availability: Required when resource exists
        deleted_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          description: >-
            Tombstone timestamp for a source or AMLOK deletion. Null for records
            not deleted; retain only under the configured policy.
          x-field-id: F0009
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        source_refs:
          type: array
          items:
            $ref: '#/components/schemas/NormalizedSourceRef'
          description: >-
            Evidence references contributing to this record. A known empty array
            is valid for a newly client-created record.
          x-field-id: F0010
          x-classification: Confidential
          x-availability: Required when resource exists
        field_provenance:
          anyOf:
            - type: array
              items:
                $ref: '#/components/schemas/NormalizedFieldProvenance'
            - type: 'null'
          description: >-
            Field-level source, extraction, transformation and quality details.
            Preserve original evidence; do not invent missing values.
          x-field-id: F0011
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        data_status:
          $ref: '#/components/schemas/NormalizedEnum_data_status'
          description: >-
            Whether the requested resource is complete for its stated scope.
            Completeness is relative to declared fields, sources and time
            interval.
          x-field-id: F0012
          x-classification: Confidential
          x-availability: Required when resource exists
        missing_fields:
          type: array
          items:
            $ref: '#/components/schemas/NormalizedMissingField'
          description: >-
            Unavailable field paths and their explicit reasons. Preserve
            original evidence; do not invent missing values.
          x-field-id: F0013
          x-classification: Confidential
          x-availability: Required when resource exists
        schema_version:
          type: string
          description: >-
            Contract version used to serialize this record. Preserve original
            evidence; do not invent missing values.
          x-field-id: F0014
          x-classification: Confidential
          x-availability: Required when resource exists
        client_reference:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Optional caller-owned correlation identifier. Scoped to tenant;
            uniqueness only when explicitly contracted.
          x-field-id: F0015
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        extensions:
          anyOf:
            - type: object
              additionalProperties: true
            - type: 'null'
          description: >-
            Namespaced extra provider fields without changing the core schema.
            Access-controlled and documented per provider; no provider tokens.
          x-field-id: F0016
          x-classification: Restricted
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        loan_id:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Guaranteed loan. Preserve original evidence; do not invent missing
            values.
          x-field-id: F0774
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        facility_id:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Guaranteed facility. Preserve original evidence; do not invent
            missing values.
          x-field-id: F0775
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        guarantor_entity_id:
          type: string
          description: >-
            Person or entity providing the guarantee. Preserve original
            evidence; do not invent missing values.
          x-field-id: F0776
          x-classification: Restricted
          x-availability: >-
            Returned when available and authorized; a partial read record can
            omit this field.
        guarantee_type:
          anyOf:
            - $ref: '#/components/schemas/NormalizedEnum_guarantee_type'
            - type: 'null'
          description: >-
            Nature of the guarantee. Preserve original evidence; do not invent
            missing values.
          x-field-id: F0777
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        maximum_amount:
          type: object
          properties:
            amount:
              anyOf:
                - type: string
                  pattern: ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?$
                  description: >-
                    Exact decimal string in major units. Do not use binary
                    floating-point arithmetic.
                - type: 'null'
              description: >-
                Explicit guarantee cap, if applicable. Amount in major currency
                units. Pair with currency; preserve precision; zero differs from
                unavailable.
              x-field-id: F0778
              x-classification: Confidential
              x-availability: >-
                Source, module, country, consent and contracted permissions
                determine population.
            currency:
              anyOf:
                - type: string
                - type: 'null'
              description: >-
                Currency for maximum amount. Uppercase ISO 4217 code when known;
                null for unsupported/unidentified currency, retain source code.
              x-field-id: F0779
              x-classification: Confidential
              x-availability: >-
                Source, module, country, consent and contracted permissions
                determine population.
        signed_on:
          anyOf:
            - type: string
              format: date
            - type: 'null'
          description: >-
            Execution date. Preserve original evidence; do not invent missing
            values.
          x-field-id: F0780
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        expires_on:
          anyOf:
            - type: string
              format: date
            - type: 'null'
          description: >-
            Contractual expiry if one exists. Preserve original evidence; do not
            invent missing values.
          x-field-id: F0781
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        document_id:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Executed guarantee evidence. Preserve original evidence; do not
            invent missing values.
          x-field-id: F0782
          x-classification: Restricted
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
      required:
        - id
        - object
        - created_at
        - updated_at
        - record_version
        - source_refs
        - data_status
        - missing_fields
        - schema_version
      title: GuaranteeRead
      description: >-
        Documented personal or corporate guarantee. Population depends on source
        and tenant entitlement. Read representation includes all authorized
        populated fields. Missing or restricted fields carry explicit
        availability information; this API does not support field projection.
    NormalizedCovenantRead:
      type: object
      properties:
        id:
          type: string
          description: >-
            Stable identifier scoped to the client tenant. Never use a provider
            ID as the public primary key.
          x-field-id: F0001
          x-classification: Confidential
          x-availability: Required when resource exists
        object:
          type: string
          const: covenant
          x-field-id: F0002
        subject_id:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Business or person to which this record relates. Null for
            tenant-level configuration and unresolved subjects.
          x-field-id: F0003
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        created_at:
          type: string
          format: date-time
          description: >-
            Time AMLOK first stored this resource. Preserve original evidence;
            do not invent missing values.
          x-field-id: F0004
          x-classification: Confidential
          x-availability: Required when resource exists
        updated_at:
          type: string
          format: date-time
          description: >-
            Time the normalized representation last changed. Preserve original
            evidence; do not invent missing values.
          x-field-id: F0005
          x-classification: Confidential
          x-availability: Required when resource exists
        observed_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          description: >-
            Time the source was observed by AMLOK. Do not imply this is the
            economic event time.
          x-field-id: F0006
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        effective_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          description: >-
            Time the source states this version became valid. Preserve original
            evidence; do not invent missing values.
          x-field-id: F0007
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        record_version:
          type: integer
          description: >-
            Monotonically increasing AMLOK version for this resource. Preserve
            original evidence; do not invent missing values.
          x-field-id: F0008
          x-classification: Confidential
          x-availability: Required when resource exists
        deleted_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          description: >-
            Tombstone timestamp for a source or AMLOK deletion. Null for records
            not deleted; retain only under the configured policy.
          x-field-id: F0009
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        source_refs:
          type: array
          items:
            $ref: '#/components/schemas/NormalizedSourceRef'
          description: >-
            Evidence references contributing to this record. A known empty array
            is valid for a newly client-created record.
          x-field-id: F0010
          x-classification: Confidential
          x-availability: Required when resource exists
        field_provenance:
          anyOf:
            - type: array
              items:
                $ref: '#/components/schemas/NormalizedFieldProvenance'
            - type: 'null'
          description: >-
            Field-level source, extraction, transformation and quality details.
            Preserve original evidence; do not invent missing values.
          x-field-id: F0011
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        data_status:
          $ref: '#/components/schemas/NormalizedEnum_data_status'
          description: >-
            Whether the requested resource is complete for its stated scope.
            Completeness is relative to declared fields, sources and time
            interval.
          x-field-id: F0012
          x-classification: Confidential
          x-availability: Required when resource exists
        missing_fields:
          type: array
          items:
            $ref: '#/components/schemas/NormalizedMissingField'
          description: >-
            Unavailable field paths and their explicit reasons. Preserve
            original evidence; do not invent missing values.
          x-field-id: F0013
          x-classification: Confidential
          x-availability: Required when resource exists
        schema_version:
          type: string
          description: >-
            Contract version used to serialize this record. Preserve original
            evidence; do not invent missing values.
          x-field-id: F0014
          x-classification: Confidential
          x-availability: Required when resource exists
        client_reference:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Optional caller-owned correlation identifier. Scoped to tenant;
            uniqueness only when explicitly contracted.
          x-field-id: F0015
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        extensions:
          anyOf:
            - type: object
              additionalProperties: true
            - type: 'null'
          description: >-
            Namespaced extra provider fields without changing the core schema.
            Access-controlled and documented per provider; no provider tokens.
          x-field-id: F0016
          x-classification: Restricted
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        facility_id:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Facility subject to this covenant. Preserve original evidence; do
            not invent missing values.
          x-field-id: F0783
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        loan_id:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Loan subject to this covenant. Preserve original evidence; do not
            invent missing values.
          x-field-id: F0784
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        name:
          type: string
          description: >-
            Covenant label. Preserve original evidence; do not invent missing
            values.
          x-field-id: F0785
          x-classification: Confidential
          x-availability: >-
            Returned when available and authorized; a partial read record can
            omit this field.
        attribute_key:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Metric used by the test. Preserve original evidence; do not invent
            missing values.
          x-field-id: F0786
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        operator:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Comparison operator. Allowed: gt, gte, lt, lte, eq; compare only
            compatible types and units.
          x-field-id: F0787
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        threshold:
          anyOf:
            - type: string
              pattern: ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?$
              description: >-
                Exact decimal string in major units. Do not use binary
                floating-point arithmetic.
            - type: 'null'
          description: >-
            Contractual threshold. Preserve original evidence; do not invent
            missing values.
          x-field-id: F0788
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        threshold_unit:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Unit of threshold. Preserve original evidence; do not invent missing
            values.
          x-field-id: F0789
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        observed_value:
          anyOf:
            - type: string
              pattern: ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?$
              description: >-
                Exact decimal string in major units. Do not use binary
                floating-point arithmetic.
            - type: 'null'
          description: >-
            Value evaluated on this test date. Preserve original evidence; do
            not invent missing values.
          x-field-id: F0790
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        observed_on:
          anyOf:
            - type: string
              format: date
            - type: 'null'
          description: >-
            Date the covenant was evaluated. Preserve original evidence; do not
            invent missing values.
          x-field-id: F0791
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        status:
          $ref: '#/components/schemas/NormalizedEnum_covenant_status'
          description: >-
            Test outcome under the agreement. Preserve original evidence; do not
            invent missing values.
          x-field-id: F0792
          x-classification: Confidential
          x-availability: >-
            Returned when available and authorized; a partial read record can
            omit this field.
        waived_until:
          anyOf:
            - type: string
              format: date
            - type: 'null'
          description: >-
            Documented waiver expiry. Preserve original evidence; do not invent
            missing values.
          x-field-id: F0793
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        evidence_document_id:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Agreement or waiver establishing the rule. Preserve original
            evidence; do not invent missing values.
          x-field-id: F0794
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
      required:
        - id
        - object
        - created_at
        - updated_at
        - record_version
        - source_refs
        - data_status
        - missing_fields
        - schema_version
      title: CovenantRead
      description: >-
        Contractual test with a versioned threshold and observed result.
        Population depends on source and tenant entitlement. Read representation
        includes all authorized populated fields. Missing or restricted fields
        carry explicit availability information; this API does not support field
        projection.
    NormalizedDecisionRead:
      type: object
      properties:
        id:
          type: string
          description: >-
            Stable identifier scoped to the client tenant. Never use a provider
            ID as the public primary key.
          x-field-id: F0001
          x-classification: Confidential
          x-availability: Required when resource exists
        object:
          type: string
          const: decision
          x-field-id: F0002
        subject_id:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Business or person to which this record relates. Null for
            tenant-level configuration and unresolved subjects.
          x-field-id: F0003
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        created_at:
          type: string
          format: date-time
          description: >-
            Time AMLOK first stored this resource. Preserve original evidence;
            do not invent missing values.
          x-field-id: F0004
          x-classification: Confidential
          x-availability: Required when resource exists
        updated_at:
          type: string
          format: date-time
          description: >-
            Time the normalized representation last changed. Preserve original
            evidence; do not invent missing values.
          x-field-id: F0005
          x-classification: Confidential
          x-availability: Required when resource exists
        observed_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          description: >-
            Time the source was observed by AMLOK. Do not imply this is the
            economic event time.
          x-field-id: F0006
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        effective_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          description: >-
            Time the source states this version became valid. Preserve original
            evidence; do not invent missing values.
          x-field-id: F0007
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        record_version:
          type: integer
          description: >-
            Monotonically increasing AMLOK version for this resource. Preserve
            original evidence; do not invent missing values.
          x-field-id: F0008
          x-classification: Confidential
          x-availability: Required when resource exists
        deleted_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          description: >-
            Tombstone timestamp for a source or AMLOK deletion. Null for records
            not deleted; retain only under the configured policy.
          x-field-id: F0009
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        source_refs:
          type: array
          items:
            $ref: '#/components/schemas/NormalizedSourceRef'
          description: >-
            Evidence references contributing to this record. A known empty array
            is valid for a newly client-created record.
          x-field-id: F0010
          x-classification: Confidential
          x-availability: Required when resource exists
        field_provenance:
          anyOf:
            - type: array
              items:
                $ref: '#/components/schemas/NormalizedFieldProvenance'
            - type: 'null'
          description: >-
            Field-level source, extraction, transformation and quality details.
            Preserve original evidence; do not invent missing values.
          x-field-id: F0011
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        data_status:
          $ref: '#/components/schemas/NormalizedEnum_data_status'
          description: >-
            Whether the requested resource is complete for its stated scope.
            Completeness is relative to declared fields, sources and time
            interval.
          x-field-id: F0012
          x-classification: Confidential
          x-availability: Required when resource exists
        missing_fields:
          type: array
          items:
            $ref: '#/components/schemas/NormalizedMissingField'
          description: >-
            Unavailable field paths and their explicit reasons. Preserve
            original evidence; do not invent missing values.
          x-field-id: F0013
          x-classification: Confidential
          x-availability: Required when resource exists
        schema_version:
          type: string
          description: >-
            Contract version used to serialize this record. Preserve original
            evidence; do not invent missing values.
          x-field-id: F0014
          x-classification: Confidential
          x-availability: Required when resource exists
        client_reference:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Optional caller-owned correlation identifier. Scoped to tenant;
            uniqueness only when explicitly contracted.
          x-field-id: F0015
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        extensions:
          anyOf:
            - type: object
              additionalProperties: true
            - type: 'null'
          description: >-
            Namespaced extra provider fields without changing the core schema.
            Access-controlled and documented per provider; no provider tokens.
          x-field-id: F0016
          x-classification: Restricted
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        application_id:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Credit application assessed. Preserve original evidence; do not
            invent missing values.
          x-field-id: F0795
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        loan_id:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Existing loan being reassessed. Preserve original evidence; do not
            invent missing values.
          x-field-id: F0796
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        outcome:
          $ref: '#/components/schemas/NormalizedEnum_decision_outcome'
          description: >-
            Recorded outcome or recommendation. Preserve original evidence; do
            not invent missing values.
          x-field-id: F0797
          x-classification: Confidential
          x-availability: >-
            Returned when available and authorized; a partial read record can
            omit this field.
        is_recommendation:
          type: boolean
          description: >-
            True if this is advisory and not an executed lender decision.
            Preserve original evidence; do not invent missing values.
          x-field-id: F0798
          x-classification: Confidential
          x-availability: >-
            Returned when available and authorized; a partial read record can
            omit this field.
        policy_id:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Institution policy applied. Preserve original evidence; do not
            invent missing values.
          x-field-id: F0799
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        policy_version:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Policy revision applied. Preserve original evidence; do not invent
            missing values.
          x-field-id: F0800
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        approved_amount:
          type: object
          properties:
            amount:
              anyOf:
                - type: string
                  pattern: ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?$
                  description: >-
                    Exact decimal string in major units. Do not use binary
                    floating-point arithmetic.
                - type: 'null'
              description: >-
                Approved or recommended amount with actor context. Amount in
                major currency units. Pair with currency; preserve precision;
                zero differs from unavailable.
              x-field-id: F0801
              x-classification: Confidential
              x-availability: >-
                Source, module, country, consent and contracted permissions
                determine population.
            currency:
              anyOf:
                - type: string
                - type: 'null'
              description: >-
                Currency for approved amount. Uppercase ISO 4217 code when
                known; null for unsupported/unidentified currency, retain source
                code.
              x-field-id: F0802
              x-classification: Confidential
              x-availability: >-
                Source, module, country, consent and contracted permissions
                determine population.
        approved_term_months:
          anyOf:
            - type: integer
            - type: 'null'
          description: >-
            Approved or recommended term. Preserve original evidence; do not
            invent missing values.
          x-field-id: F0803
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        reason_codes:
          anyOf:
            - type: array
              items:
                type: string
            - type: 'null'
          description: >-
            Structured reasons supporting the outcome. Preserve original
            evidence; do not invent missing values.
          x-field-id: F0804
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        conditions:
          anyOf:
            - type: array
              items:
                type: string
            - type: 'null'
          description: >-
            Conditions that must be satisfied. Preserve original evidence; do
            not invent missing values.
          x-field-id: F0805
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        attribute_snapshot_id:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Immutable risk evidence used in decisioning. Preserve original
            evidence; do not invent missing values.
          x-field-id: F0806
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        actor_id:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Institution user, service or agent responsible. Preserve original
            evidence; do not invent missing values.
          x-field-id: F0807
          x-classification: Restricted
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        decided_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          description: >-
            Decision timestamp. Preserve original evidence; do not invent
            missing values.
          x-field-id: F0808
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        supersedes_decision_id:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Earlier decision superseded by this one. Preserve original evidence;
            do not invent missing values.
          x-field-id: F0809
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
      required:
        - id
        - object
        - created_at
        - updated_at
        - record_version
        - source_refs
        - data_status
        - missing_fields
        - schema_version
      title: DecisionRead
      description: >-
        Versioned lender decision or AMLOK recommendation with attributable
        evidence. Population depends on source and tenant entitlement. Read
        representation includes all authorized populated fields. Missing or
        restricted fields carry explicit availability information; this API does
        not support field projection.
    NormalizedLienSearchRead:
      type: object
      properties:
        id:
          type: string
          description: >-
            Stable identifier scoped to the client tenant. Never use a provider
            ID as the public primary key.
          x-field-id: F0001
          x-classification: Confidential
          x-availability: Required when resource exists
        object:
          type: string
          const: lien_search
          x-field-id: F0002
        subject_id:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Business or person to which this record relates. Null for
            tenant-level configuration and unresolved subjects.
          x-field-id: F0003
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        created_at:
          type: string
          format: date-time
          description: >-
            Time AMLOK first stored this resource. Preserve original evidence;
            do not invent missing values.
          x-field-id: F0004
          x-classification: Confidential
          x-availability: Required when resource exists
        updated_at:
          type: string
          format: date-time
          description: >-
            Time the normalized representation last changed. Preserve original
            evidence; do not invent missing values.
          x-field-id: F0005
          x-classification: Confidential
          x-availability: Required when resource exists
        observed_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          description: >-
            Time the source was observed by AMLOK. Do not imply this is the
            economic event time.
          x-field-id: F0006
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        effective_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          description: >-
            Time the source states this version became valid. Preserve original
            evidence; do not invent missing values.
          x-field-id: F0007
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        record_version:
          type: integer
          description: >-
            Monotonically increasing AMLOK version for this resource. Preserve
            original evidence; do not invent missing values.
          x-field-id: F0008
          x-classification: Confidential
          x-availability: Required when resource exists
        deleted_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          description: >-
            Tombstone timestamp for a source or AMLOK deletion. Null for records
            not deleted; retain only under the configured policy.
          x-field-id: F0009
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        source_refs:
          type: array
          items:
            $ref: '#/components/schemas/NormalizedSourceRef'
          description: >-
            Evidence references contributing to this record. A known empty array
            is valid for a newly client-created record.
          x-field-id: F0010
          x-classification: Confidential
          x-availability: Required when resource exists
        field_provenance:
          anyOf:
            - type: array
              items:
                $ref: '#/components/schemas/NormalizedFieldProvenance'
            - type: 'null'
          description: >-
            Field-level source, extraction, transformation and quality details.
            Preserve original evidence; do not invent missing values.
          x-field-id: F0011
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        data_status:
          $ref: '#/components/schemas/NormalizedEnum_data_status'
          description: >-
            Whether the requested resource is complete for its stated scope.
            Completeness is relative to declared fields, sources and time
            interval.
          x-field-id: F0012
          x-classification: Confidential
          x-availability: Required when resource exists
        missing_fields:
          type: array
          items:
            $ref: '#/components/schemas/NormalizedMissingField'
          description: >-
            Unavailable field paths and their explicit reasons. Preserve
            original evidence; do not invent missing values.
          x-field-id: F0013
          x-classification: Confidential
          x-availability: Required when resource exists
        schema_version:
          type: string
          description: >-
            Contract version used to serialize this record. Preserve original
            evidence; do not invent missing values.
          x-field-id: F0014
          x-classification: Confidential
          x-availability: Required when resource exists
        client_reference:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Optional caller-owned correlation identifier. Scoped to tenant;
            uniqueness only when explicitly contracted.
          x-field-id: F0015
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        extensions:
          anyOf:
            - type: object
              additionalProperties: true
            - type: 'null'
          description: >-
            Namespaced extra provider fields without changing the core schema.
            Access-controlled and documented per provider; no provider tokens.
          x-field-id: F0016
          x-classification: Restricted
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        debtor_name:
          type: string
          description: >-
            Exact debtor name submitted for search. Preserve original evidence;
            do not invent missing values.
          x-field-id: F0810
          x-classification: Restricted
          x-availability: >-
            Returned when available and authorized; a partial read record can
            omit this field.
        debtor_entity_id:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Resolved AMLOK debtor entity. Preserve original evidence; do not
            invent missing values.
          x-field-id: F0811
          x-classification: Confidential
          x-availability: >-
            US UCC and Canadian provincial PPSA/RDPRM are separate products.
            Contract, jurisdiction, search type and redistribution rights must
            be established.
        debtor_type:
          $ref: '#/components/schemas/NormalizedEnum_party_type'
          description: >-
            Person or business search subject. Preserve original evidence; do
            not invent missing values.
          x-field-id: F0812
          x-classification: Confidential
          x-availability: >-
            Returned when available and authorized; a partial read record can
            omit this field.
        search_type:
          type: string
          description: >-
            Name, registration number, VIN or serial search when supported.
            Preserve original evidence; do not invent missing values.
          x-field-id: F0813
          x-classification: Confidential
          x-availability: >-
            Returned when available and authorized; a partial read record can
            omit this field.
        identifier:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Search identifier if the chosen mode requires it. Preserve original
            evidence; do not invent missing values.
          x-field-id: F0814
          x-classification: Restricted
          x-availability: >-
            US UCC and Canadian provincial PPSA/RDPRM are separate products.
            Contract, jurisdiction, search type and redistribution rights must
            be established.
        jurisdictions_requested:
          type: array
          items:
            type: string
          description: >-
            Jurisdictions explicitly requested. Preserve original evidence; do
            not invent missing values.
          x-field-id: F0815
          x-classification: Confidential
          x-availability: >-
            Returned when available and authorized; a partial read record can
            omit this field.
        jurisdictions_completed:
          type: array
          items:
            type: string
          description: >-
            Jurisdictions actually completed. Preserve original evidence; do not
            invent missing values.
          x-field-id: F0816
          x-classification: Confidential
          x-availability: >-
            Returned when available and authorized; a partial read record can
            omit this field.
        status:
          $ref: '#/components/schemas/NormalizedEnum_search_status'
          description: >-
            Search execution state. Preserve original evidence; do not invent
            missing values.
          x-field-id: F0817
          x-classification: Confidential
          x-availability: >-
            Returned when available and authorized; a partial read record can
            omit this field.
        searched_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          description: >-
            Provider search execution time. Preserve original evidence; do not
            invent missing values.
          x-field-id: F0818
          x-classification: Confidential
          x-availability: >-
            US UCC and Canadian provincial PPSA/RDPRM are separate products.
            Contract, jurisdiction, search type and redistribution rights must
            be established.
        effective_through:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          description: >-
            Registry's stated effective coverage time. Unknown does not mean
            current to the request time.
          x-field-id: F0819
          x-classification: Confidential
          x-availability: >-
            US UCC and Canadian provincial PPSA/RDPRM are separate products.
            Contract, jurisdiction, search type and redistribution rights must
            be established.
        is_certified:
          anyOf:
            - type: boolean
            - type: 'null'
          description: >-
            Whether an official certified search was returned. API search output
            is not automatically certified.
          x-field-id: F0820
          x-classification: Confidential
          x-availability: >-
            US UCC and Canadian provincial PPSA/RDPRM are separate products.
            Contract, jurisdiction, search type and redistribution rights must
            be established.
        search_logic:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Provider or registry matching method. Preserve original evidence; do
            not invent missing values.
          x-field-id: F0821
          x-classification: Confidential
          x-availability: >-
            US UCC and Canadian provincial PPSA/RDPRM are separate products.
            Contract, jurisdiction, search type and redistribution rights must
            be established.
        result_count:
          anyOf:
            - type: integer
            - type: 'null'
          description: >-
            Number of returned filings within completed scope. Preserve original
            evidence; do not invent missing values.
          x-field-id: F0822
          x-classification: Confidential
          x-availability: >-
            US UCC and Canadian provincial PPSA/RDPRM are separate products.
            Contract, jurisdiction, search type and redistribution rights must
            be established.
        lien_ids:
          anyOf:
            - type: array
              items:
                type: string
            - type: 'null'
          description: >-
            Normalized filing results. Preserve original evidence; do not invent
            missing values.
          x-field-id: F0823
          x-classification: Confidential
          x-availability: >-
            US UCC and Canadian provincial PPSA/RDPRM are separate products.
            Contract, jurisdiction, search type and redistribution rights must
            be established.
        report_document_id:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Original report or certificate. Preserve original evidence; do not
            invent missing values.
          x-field-id: F0824
          x-classification: Restricted
          x-availability: >-
            US UCC and Canadian provincial PPSA/RDPRM are separate products.
            Contract, jurisdiction, search type and redistribution rights must
            be established.
        stop_reason:
          anyOf:
            - type: string
              enum:
                - account_cancellation
                - parent_cancelled
                - consent_revoked
            - type: 'null'
          x-field-id: API:lien_search.stop_reason
        processing_context:
          $ref: '#/components/schemas/NormalizedProcessingContext'
          x-field-id: API:lien_search.processing_context
      required:
        - id
        - object
        - created_at
        - updated_at
        - record_version
        - source_refs
        - data_status
        - missing_fields
        - schema_version
      title: LienSearchRead
      description: >-
        A search request with explicit debtor, jurisdiction and coverage.
        Population depends on source and tenant entitlement. Read representation
        includes all authorized populated fields. Missing or restricted fields
        carry explicit availability information; this API does not support field
        projection.
    NormalizedLienRead:
      type: object
      properties:
        id:
          type: string
          description: >-
            Stable identifier scoped to the client tenant. Never use a provider
            ID as the public primary key.
          x-field-id: F0001
          x-classification: Confidential
          x-availability: Required when resource exists
        object:
          type: string
          const: lien
          x-field-id: F0002
        subject_id:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Business or person to which this record relates. Null for
            tenant-level configuration and unresolved subjects.
          x-field-id: F0003
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        created_at:
          type: string
          format: date-time
          description: >-
            Time AMLOK first stored this resource. Preserve original evidence;
            do not invent missing values.
          x-field-id: F0004
          x-classification: Confidential
          x-availability: Required when resource exists
        updated_at:
          type: string
          format: date-time
          description: >-
            Time the normalized representation last changed. Preserve original
            evidence; do not invent missing values.
          x-field-id: F0005
          x-classification: Confidential
          x-availability: Required when resource exists
        observed_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          description: >-
            Time the source was observed by AMLOK. Do not imply this is the
            economic event time.
          x-field-id: F0006
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        effective_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          description: >-
            Time the source states this version became valid. Preserve original
            evidence; do not invent missing values.
          x-field-id: F0007
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        record_version:
          type: integer
          description: >-
            Monotonically increasing AMLOK version for this resource. Preserve
            original evidence; do not invent missing values.
          x-field-id: F0008
          x-classification: Confidential
          x-availability: Required when resource exists
        deleted_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          description: >-
            Tombstone timestamp for a source or AMLOK deletion. Null for records
            not deleted; retain only under the configured policy.
          x-field-id: F0009
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        source_refs:
          type: array
          items:
            $ref: '#/components/schemas/NormalizedSourceRef'
          description: >-
            Evidence references contributing to this record. A known empty array
            is valid for a newly client-created record.
          x-field-id: F0010
          x-classification: Confidential
          x-availability: Required when resource exists
        field_provenance:
          anyOf:
            - type: array
              items:
                $ref: '#/components/schemas/NormalizedFieldProvenance'
            - type: 'null'
          description: >-
            Field-level source, extraction, transformation and quality details.
            Preserve original evidence; do not invent missing values.
          x-field-id: F0011
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        data_status:
          $ref: '#/components/schemas/NormalizedEnum_data_status'
          description: >-
            Whether the requested resource is complete for its stated scope.
            Completeness is relative to declared fields, sources and time
            interval.
          x-field-id: F0012
          x-classification: Confidential
          x-availability: Required when resource exists
        missing_fields:
          type: array
          items:
            $ref: '#/components/schemas/NormalizedMissingField'
          description: >-
            Unavailable field paths and their explicit reasons. Preserve
            original evidence; do not invent missing values.
          x-field-id: F0013
          x-classification: Confidential
          x-availability: Required when resource exists
        schema_version:
          type: string
          description: >-
            Contract version used to serialize this record. Preserve original
            evidence; do not invent missing values.
          x-field-id: F0014
          x-classification: Confidential
          x-availability: Required when resource exists
        client_reference:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Optional caller-owned correlation identifier. Scoped to tenant;
            uniqueness only when explicitly contracted.
          x-field-id: F0015
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        extensions:
          anyOf:
            - type: object
              additionalProperties: true
            - type: 'null'
          description: >-
            Namespaced extra provider fields without changing the core schema.
            Access-controlled and documented per provider; no provider tokens.
          x-field-id: F0016
          x-classification: Restricted
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        search_id:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Search that returned this record. Preserve original evidence; do not
            invent missing values.
          x-field-id: F0825
          x-classification: Confidential
          x-availability: >-
            Registry and provider dependent; no guaranteed balance, collateral
            detail, priority or certified coverage.
        filing_number:
          type: string
          description: >-
            Registry-assigned filing or registration number. Preserve original
            evidence; do not invent missing values.
          x-field-id: F0826
          x-classification: Confidential
          x-availability: >-
            Returned when available and authorized; a partial read record can
            omit this field.
        original_filing_number:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Initial registration in the filing chain. Preserve original
            evidence; do not invent missing values.
          x-field-id: F0827
          x-classification: Confidential
          x-availability: >-
            Registry and provider dependent; no guaranteed balance, collateral
            detail, priority or certified coverage.
        lien_type:
          $ref: '#/components/schemas/NormalizedEnum_lien_type'
          description: >-
            Legal registry category. Preserve original evidence; do not invent
            missing values.
          x-field-id: F0828
          x-classification: Confidential
          x-availability: >-
            Returned when available and authorized; a partial read record can
            omit this field.
        jurisdiction:
          type: string
          description: >-
            Filing jurisdiction. Preserve original evidence; do not invent
            missing values.
          x-field-id: F0829
          x-classification: Confidential
          x-availability: >-
            Returned when available and authorized; a partial read record can
            omit this field.
        registry_name:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Registry of record. Preserve original evidence; do not invent
            missing values.
          x-field-id: F0830
          x-classification: Confidential
          x-availability: >-
            Registry and provider dependent; no guaranteed balance, collateral
            detail, priority or certified coverage.
        status:
          $ref: '#/components/schemas/NormalizedEnum_lien_status'
          description: >-
            Source-supported registration state. Status is not a legal
            determination of enforceability or priority.
          x-field-id: F0831
          x-classification: Confidential
          x-availability: >-
            Returned when available and authorized; a partial read record can
            omit this field.
        raw_status:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Unmodified registry or provider status. Preserve original evidence;
            do not invent missing values.
          x-field-id: F0832
          x-classification: Confidential
          x-availability: >-
            Registry and provider dependent; no guaranteed balance, collateral
            detail, priority or certified coverage.
        filed_on:
          anyOf:
            - type: string
              format: date
            - type: 'null'
          description: >-
            Filing or registration date. Preserve original evidence; do not
            invent missing values.
          x-field-id: F0833
          x-classification: Confidential
          x-availability: >-
            Registry and provider dependent; no guaranteed balance, collateral
            detail, priority or certified coverage.
        lapse_on:
          anyOf:
            - type: string
              format: date
            - type: 'null'
          description: >-
            Reported lapse date, if known. Preserve original evidence; do not
            invent missing values.
          x-field-id: F0834
          x-classification: Confidential
          x-availability: >-
            Registry and provider dependent; no guaranteed balance, collateral
            detail, priority or certified coverage.
        terminated_on:
          anyOf:
            - type: string
              format: date
            - type: 'null'
          description: >-
            Reported termination or discharge date. Preserve original evidence;
            do not invent missing values.
          x-field-id: F0835
          x-classification: Confidential
          x-availability: >-
            Registry and provider dependent; no guaranteed balance, collateral
            detail, priority or certified coverage.
        debtors:
          anyOf:
            - type: array
              items:
                $ref: '#/components/schemas/NormalizedLienParty'
            - type: 'null'
          description: >-
            Debtors exactly as recorded, including unresolved parties. Preserve
            original evidence; do not invent missing values.
          x-field-id: F0836
          x-classification: Restricted
          x-availability: >-
            Registry and provider dependent; no guaranteed balance, collateral
            detail, priority or certified coverage.
        secured_parties:
          anyOf:
            - type: array
              items:
                $ref: '#/components/schemas/NormalizedLienParty'
            - type: 'null'
          description: >-
            Secured parties exactly as recorded. Preserve original evidence; do
            not invent missing values.
          x-field-id: F0837
          x-classification: Confidential
          x-availability: >-
            Registry and provider dependent; no guaranteed balance, collateral
            detail, priority or certified coverage.
        collateral_description:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Registry's collateral text when available. Preserve original
            evidence; do not invent missing values.
          x-field-id: F0838
          x-classification: Confidential
          x-availability: >-
            Registry and provider dependent; no guaranteed balance, collateral
            detail, priority or certified coverage.
        collateral_categories:
          anyOf:
            - type: array
              items:
                type: string
            - type: 'null'
          description: >-
            Source or reviewed collateral classification. Preserve original
            evidence; do not invent missing values.
          x-field-id: F0839
          x-classification: Confidential
          x-availability: >-
            Registry and provider dependent; no guaranteed balance, collateral
            detail, priority or certified coverage.
        is_blanket_lien:
          anyOf:
            - type: boolean
            - type: 'null'
          description: >-
            Whether evidence supports an all-assets description. Null if
            collateral text is unavailable or ambiguous.
          x-field-id: F0840
          x-classification: Confidential
          x-availability: >-
            Registry and provider dependent; no guaranteed balance, collateral
            detail, priority or certified coverage.
        registered_amount:
          type: object
          properties:
            amount:
              anyOf:
                - type: string
                  pattern: ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?$
                  description: >-
                    Exact decimal string in major units. Do not use binary
                    floating-point arithmetic.
                - type: 'null'
              description: >-
                Amount explicitly recorded by the registry, where applicable.
                Amount in major currency units. A UCC filing often has no debt
                amount; never treat missing amount as zero.
              x-field-id: F0841
              x-classification: Confidential
              x-availability: >-
                Registry and provider dependent; no guaranteed balance,
                collateral detail, priority or certified coverage.
            currency:
              anyOf:
                - type: string
                - type: 'null'
              description: >-
                Currency for registered amount. Uppercase ISO 4217 code when
                known; null for unsupported/unidentified currency, retain source
                code.
              x-field-id: F0842
              x-classification: Confidential
              x-availability: >-
                Registry and provider dependent; no guaranteed balance,
                collateral detail, priority or certified coverage.
        currency_basis:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Meaning of registered amount and currency as stated by source.
            Preserve original evidence; do not invent missing values.
          x-field-id: F0843
          x-classification: Confidential
          x-availability: >-
            Registry and provider dependent; no guaranteed balance, collateral
            detail, priority or certified coverage.
        document_ids:
          anyOf:
            - type: array
              items:
                type: string
            - type: 'null'
          description: >-
            Images or reports supporting the filing. Preserve original evidence;
            do not invent missing values.
          x-field-id: F0844
          x-classification: Confidential
          x-availability: >-
            Registry and provider dependent; no guaranteed balance, collateral
            detail, priority or certified coverage.
        match_disposition:
          anyOf:
            - $ref: '#/components/schemas/NormalizedEnum_match_disposition'
            - type: 'null'
          description: >-
            Debtor identity review result. Preserve original evidence; do not
            invent missing values.
          x-field-id: F0845
          x-classification: Confidential
          x-availability: >-
            Registry and provider dependent; no guaranteed balance, collateral
            detail, priority or certified coverage.
        priority_assessment:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Separately reviewed priority conclusion, if commissioned. Never
            infer legal priority from filing date alone.
          x-field-id: F0846
          x-classification: Restricted
          x-availability: >-
            Registry and provider dependent; no guaranteed balance, collateral
            detail, priority or certified coverage.
      required:
        - id
        - object
        - created_at
        - updated_at
        - record_version
        - source_refs
        - data_status
        - missing_fields
        - schema_version
      title: LienRead
      description: >-
        A security registration or other lien record from a stated registry.
        Population depends on source and tenant entitlement. Read representation
        includes all authorized populated fields. Missing or restricted fields
        carry explicit availability information; this API does not support field
        projection.
    NormalizedFilingEventRead:
      type: object
      properties:
        id:
          type: string
          description: >-
            Stable identifier scoped to the client tenant. Never use a provider
            ID as the public primary key.
          x-field-id: F0001
          x-classification: Confidential
          x-availability: Required when resource exists
        object:
          type: string
          const: filing_event
          x-field-id: F0002
        subject_id:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Business or person to which this record relates. Null for
            tenant-level configuration and unresolved subjects.
          x-field-id: F0003
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        created_at:
          type: string
          format: date-time
          description: >-
            Time AMLOK first stored this resource. Preserve original evidence;
            do not invent missing values.
          x-field-id: F0004
          x-classification: Confidential
          x-availability: Required when resource exists
        updated_at:
          type: string
          format: date-time
          description: >-
            Time the normalized representation last changed. Preserve original
            evidence; do not invent missing values.
          x-field-id: F0005
          x-classification: Confidential
          x-availability: Required when resource exists
        observed_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          description: >-
            Time the source was observed by AMLOK. Do not imply this is the
            economic event time.
          x-field-id: F0006
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        effective_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          description: >-
            Time the source states this version became valid. Preserve original
            evidence; do not invent missing values.
          x-field-id: F0007
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        record_version:
          type: integer
          description: >-
            Monotonically increasing AMLOK version for this resource. Preserve
            original evidence; do not invent missing values.
          x-field-id: F0008
          x-classification: Confidential
          x-availability: Required when resource exists
        deleted_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          description: >-
            Tombstone timestamp for a source or AMLOK deletion. Null for records
            not deleted; retain only under the configured policy.
          x-field-id: F0009
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        source_refs:
          type: array
          items:
            $ref: '#/components/schemas/NormalizedSourceRef'
          description: >-
            Evidence references contributing to this record. A known empty array
            is valid for a newly client-created record.
          x-field-id: F0010
          x-classification: Confidential
          x-availability: Required when resource exists
        field_provenance:
          anyOf:
            - type: array
              items:
                $ref: '#/components/schemas/NormalizedFieldProvenance'
            - type: 'null'
          description: >-
            Field-level source, extraction, transformation and quality details.
            Preserve original evidence; do not invent missing values.
          x-field-id: F0011
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        data_status:
          $ref: '#/components/schemas/NormalizedEnum_data_status'
          description: >-
            Whether the requested resource is complete for its stated scope.
            Completeness is relative to declared fields, sources and time
            interval.
          x-field-id: F0012
          x-classification: Confidential
          x-availability: Required when resource exists
        missing_fields:
          type: array
          items:
            $ref: '#/components/schemas/NormalizedMissingField'
          description: >-
            Unavailable field paths and their explicit reasons. Preserve
            original evidence; do not invent missing values.
          x-field-id: F0013
          x-classification: Confidential
          x-availability: Required when resource exists
        schema_version:
          type: string
          description: >-
            Contract version used to serialize this record. Preserve original
            evidence; do not invent missing values.
          x-field-id: F0014
          x-classification: Confidential
          x-availability: Required when resource exists
        client_reference:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Optional caller-owned correlation identifier. Scoped to tenant;
            uniqueness only when explicitly contracted.
          x-field-id: F0015
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        extensions:
          anyOf:
            - type: object
              additionalProperties: true
            - type: 'null'
          description: >-
            Namespaced extra provider fields without changing the core schema.
            Access-controlled and documented per provider; no provider tokens.
          x-field-id: F0016
          x-classification: Restricted
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        lien_id:
          type: string
          description: >-
            Registration chain affected. Preserve original evidence; do not
            invent missing values.
          x-field-id: F0847
          x-classification: Confidential
          x-availability: >-
            Returned when available and authorized; a partial read record can
            omit this field.
        event_type:
          $ref: '#/components/schemas/NormalizedEnum_filing_event_type'
          description: >-
            Type of filing event. Preserve original evidence; do not invent
            missing values.
          x-field-id: F0848
          x-classification: Confidential
          x-availability: >-
            Returned when available and authorized; a partial read record can
            omit this field.
        filing_number:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Identifier of the specific event filing. Preserve original evidence;
            do not invent missing values.
          x-field-id: F0849
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        effective_on:
          anyOf:
            - type: string
              format: date
            - type: 'null'
          description: >-
            Effective or recorded filing date. Preserve original evidence; do
            not invent missing values.
          x-field-id: F0850
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        previous_filing_number:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Prior linked filing identifier if provided. Preserve original
            evidence; do not invent missing values.
          x-field-id: F0851
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        new_lapse_on:
          anyOf:
            - type: string
              format: date
            - type: 'null'
          description: >-
            Updated lapse date explicitly reported after this event. Preserve
            original evidence; do not invent missing values.
          x-field-id: F0852
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        description:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Source event narrative. Preserve original evidence; do not invent
            missing values.
          x-field-id: F0853
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        document_id:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Evidence image or filing document. Preserve original evidence; do
            not invent missing values.
          x-field-id: F0854
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
      required:
        - id
        - object
        - created_at
        - updated_at
        - record_version
        - source_refs
        - data_status
        - missing_fields
        - schema_version
      title: FilingEventRead
      description: >-
        Amendment, continuation, assignment or termination in a registration
        chain. Population depends on source and tenant entitlement. Read
        representation includes all authorized populated fields. Missing or
        restricted fields carry explicit availability information; this API does
        not support field projection.
    NormalizedAttributeRead:
      type: object
      properties:
        id:
          type: string
          description: >-
            Stable identifier scoped to the client tenant. Never use a provider
            ID as the public primary key.
          x-field-id: F0001
          x-classification: Confidential
          x-availability: Required when resource exists
        object:
          type: string
          const: attribute
          x-field-id: F0002
        subject_id:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Business or person to which this record relates. Null for
            tenant-level configuration and unresolved subjects.
          x-field-id: F0003
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        created_at:
          type: string
          format: date-time
          description: >-
            Time AMLOK first stored this resource. Preserve original evidence;
            do not invent missing values.
          x-field-id: F0004
          x-classification: Confidential
          x-availability: Required when resource exists
        updated_at:
          type: string
          format: date-time
          description: >-
            Time the normalized representation last changed. Preserve original
            evidence; do not invent missing values.
          x-field-id: F0005
          x-classification: Confidential
          x-availability: Required when resource exists
        observed_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          description: >-
            Time the source was observed by AMLOK. Do not imply this is the
            economic event time.
          x-field-id: F0006
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        effective_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          description: >-
            Time the source states this version became valid. Preserve original
            evidence; do not invent missing values.
          x-field-id: F0007
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        record_version:
          type: integer
          description: >-
            Monotonically increasing AMLOK version for this resource. Preserve
            original evidence; do not invent missing values.
          x-field-id: F0008
          x-classification: Confidential
          x-availability: Required when resource exists
        deleted_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          description: >-
            Tombstone timestamp for a source or AMLOK deletion. Null for records
            not deleted; retain only under the configured policy.
          x-field-id: F0009
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        source_refs:
          type: array
          items:
            $ref: '#/components/schemas/NormalizedSourceRef'
          description: >-
            Evidence references contributing to this record. A known empty array
            is valid for a newly client-created record.
          x-field-id: F0010
          x-classification: Confidential
          x-availability: Required when resource exists
        field_provenance:
          anyOf:
            - type: array
              items:
                $ref: '#/components/schemas/NormalizedFieldProvenance'
            - type: 'null'
          description: >-
            Field-level source, extraction, transformation and quality details.
            Preserve original evidence; do not invent missing values.
          x-field-id: F0011
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        data_status:
          $ref: '#/components/schemas/NormalizedEnum_data_status'
          description: >-
            Whether the requested resource is complete for its stated scope.
            Completeness is relative to declared fields, sources and time
            interval.
          x-field-id: F0012
          x-classification: Confidential
          x-availability: Required when resource exists
        missing_fields:
          type: array
          items:
            $ref: '#/components/schemas/NormalizedMissingField'
          description: >-
            Unavailable field paths and their explicit reasons. Preserve
            original evidence; do not invent missing values.
          x-field-id: F0013
          x-classification: Confidential
          x-availability: Required when resource exists
        schema_version:
          type: string
          description: >-
            Contract version used to serialize this record. Preserve original
            evidence; do not invent missing values.
          x-field-id: F0014
          x-classification: Confidential
          x-availability: Required when resource exists
        client_reference:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Optional caller-owned correlation identifier. Scoped to tenant;
            uniqueness only when explicitly contracted.
          x-field-id: F0015
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        extensions:
          anyOf:
            - type: object
              additionalProperties: true
            - type: 'null'
          description: >-
            Namespaced extra provider fields without changing the core schema.
            Access-controlled and documented per provider; no provider tokens.
          x-field-id: F0016
          x-classification: Restricted
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        key:
          type: string
          description: >-
            Stable attribute name defined in Derived Attributes. Preserve
            original evidence; do not invent missing values.
          x-field-id: F0855
          x-classification: Confidential
          x-availability: >-
            Returned when available and authorized; a partial read record can
            omit this field.
        value_type:
          $ref: '#/components/schemas/NormalizedEnum_value_type'
          description: >-
            Type of the value. Preserve original evidence; do not invent missing
            values.
          x-field-id: F0856
          x-classification: Confidential
          x-availability: >-
            Returned when available and authorized; a partial read record can
            omit this field.
        value:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Serialized scalar value matching value_type. Null if required inputs
            or coverage are missing.
          x-field-id: F0857
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        unit:
          type: string
          description: >-
            Currency, ratio, days, count or other explicit unit. Preserve
            original evidence; do not invent missing values.
          x-field-id: F0858
          x-classification: Confidential
          x-availability: >-
            Returned when available and authorized; a partial read record can
            omit this field.
        status:
          $ref: '#/components/schemas/NormalizedEnum_metric_status'
          description: >-
            Whether this value is usable for its stated interval. Preserve
            original evidence; do not invent missing values.
          x-field-id: F0859
          x-classification: Confidential
          x-availability: >-
            Returned when available and authorized; a partial read record can
            omit this field.
        window_start:
          type: string
          format: date
          description: >-
            Inclusive measurement interval start. Preserve original evidence; do
            not invent missing values.
          x-field-id: F0860
          x-classification: Confidential
          x-availability: >-
            Returned when available and authorized; a partial read record can
            omit this field.
        window_end:
          type: string
          format: date
          description: >-
            Exclusive measurement interval end. Preserve original evidence; do
            not invent missing values.
          x-field-id: F0861
          x-classification: Confidential
          x-availability: >-
            Returned when available and authorized; a partial read record can
            omit this field.
        as_of:
          type: string
          format: date-time
          description: >-
            Latest evidence included in calculation. Preserve original evidence;
            do not invent missing values.
          x-field-id: F0862
          x-classification: Confidential
          x-availability: >-
            Returned when available and authorized; a partial read record can
            omit this field.
        calculation_version:
          type: string
          description: >-
            Versioned formula or feature definition. Preserve original evidence;
            do not invent missing values.
          x-field-id: F0863
          x-classification: Confidential
          x-availability: >-
            Returned when available and authorized; a partial read record can
            omit this field.
        input_resource_ids:
          type: array
          items:
            type: string
          description: >-
            Supporting records or immutable manifest reference. Preserve
            original evidence; do not invent missing values.
          x-field-id: F0864
          x-classification: Confidential
          x-availability: >-
            Returned when available and authorized; a partial read record can
            omit this field.
        coverage_ratio:
          anyOf:
            - type: string
              pattern: ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?$
              description: >-
                Exact decimal string in major units. Do not use binary
                floating-point arithmetic.
            - type: 'null'
          description: >-
            Fraction of expected time/account coverage actually available. 0 to
            1; null when denominator cannot be defined.
          x-field-id: F0865
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        missing_reason:
          anyOf:
            - $ref: '#/components/schemas/NormalizedEnum_null_reason'
            - type: 'null'
          description: >-
            Reason value is null. Preserve original evidence; do not invent
            missing values.
          x-field-id: F0866
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        provider_score_scale:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Native scale for licensed scores, if relevant. Preserve original
            evidence; do not invent missing values.
          x-field-id: F0867
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
      required:
        - id
        - object
        - created_at
        - updated_at
        - record_version
        - source_refs
        - data_status
        - missing_fields
        - schema_version
      title: AttributeRead
      description: >-
        Computed or provider-supplied risk attribute with transparent inputs.
        Population depends on source and tenant entitlement. Read representation
        includes all authorized populated fields. Missing or restricted fields
        carry explicit availability information; this API does not support field
        projection.
    NormalizedRiskSnapshotRead:
      type: object
      properties:
        id:
          type: string
          description: >-
            Stable identifier scoped to the client tenant. Never use a provider
            ID as the public primary key.
          x-field-id: F0001
          x-classification: Confidential
          x-availability: Required when resource exists
        object:
          type: string
          const: risk_snapshot
          x-field-id: F0002
        subject_id:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Business or person to which this record relates. Null for
            tenant-level configuration and unresolved subjects.
          x-field-id: F0003
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        created_at:
          type: string
          format: date-time
          description: >-
            Time AMLOK first stored this resource. Preserve original evidence;
            do not invent missing values.
          x-field-id: F0004
          x-classification: Confidential
          x-availability: Required when resource exists
        updated_at:
          type: string
          format: date-time
          description: >-
            Time the normalized representation last changed. Preserve original
            evidence; do not invent missing values.
          x-field-id: F0005
          x-classification: Confidential
          x-availability: Required when resource exists
        observed_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          description: >-
            Time the source was observed by AMLOK. Do not imply this is the
            economic event time.
          x-field-id: F0006
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        effective_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          description: >-
            Time the source states this version became valid. Preserve original
            evidence; do not invent missing values.
          x-field-id: F0007
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        record_version:
          type: integer
          description: >-
            Monotonically increasing AMLOK version for this resource. Preserve
            original evidence; do not invent missing values.
          x-field-id: F0008
          x-classification: Confidential
          x-availability: Required when resource exists
        deleted_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          description: >-
            Tombstone timestamp for a source or AMLOK deletion. Null for records
            not deleted; retain only under the configured policy.
          x-field-id: F0009
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        source_refs:
          type: array
          items:
            $ref: '#/components/schemas/NormalizedSourceRef'
          description: >-
            Evidence references contributing to this record. A known empty array
            is valid for a newly client-created record.
          x-field-id: F0010
          x-classification: Confidential
          x-availability: Required when resource exists
        field_provenance:
          anyOf:
            - type: array
              items:
                $ref: '#/components/schemas/NormalizedFieldProvenance'
            - type: 'null'
          description: >-
            Field-level source, extraction, transformation and quality details.
            Preserve original evidence; do not invent missing values.
          x-field-id: F0011
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        data_status:
          $ref: '#/components/schemas/NormalizedEnum_data_status'
          description: >-
            Whether the requested resource is complete for its stated scope.
            Completeness is relative to declared fields, sources and time
            interval.
          x-field-id: F0012
          x-classification: Confidential
          x-availability: Required when resource exists
        missing_fields:
          type: array
          items:
            $ref: '#/components/schemas/NormalizedMissingField'
          description: >-
            Unavailable field paths and their explicit reasons. Preserve
            original evidence; do not invent missing values.
          x-field-id: F0013
          x-classification: Confidential
          x-availability: Required when resource exists
        schema_version:
          type: string
          description: >-
            Contract version used to serialize this record. Preserve original
            evidence; do not invent missing values.
          x-field-id: F0014
          x-classification: Confidential
          x-availability: Required when resource exists
        client_reference:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Optional caller-owned correlation identifier. Scoped to tenant;
            uniqueness only when explicitly contracted.
          x-field-id: F0015
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        extensions:
          anyOf:
            - type: object
              additionalProperties: true
            - type: 'null'
          description: >-
            Namespaced extra provider fields without changing the core schema.
            Access-controlled and documented per provider; no provider tokens.
          x-field-id: F0016
          x-classification: Restricted
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        assessment_type:
          type: string
          description: >-
            Assessment purpose or workflow. Preserve original evidence; do not
            invent missing values.
          x-field-id: F0868
          x-classification: Confidential
          x-availability: >-
            Returned when available and authorized; a partial read record can
            omit this field.
        as_of:
          type: string
          format: date-time
          description: >-
            Evidence cutoff used by this assessment. Preserve original evidence;
            do not invent missing values.
          x-field-id: F0869
          x-classification: Confidential
          x-availability: >-
            Returned when available and authorized; a partial read record can
            omit this field.
        attribute_ids:
          type: array
          items:
            type: string
          description: >-
            Values used in the assessment. Preserve original evidence; do not
            invent missing values.
          x-field-id: F0870
          x-classification: Confidential
          x-availability: >-
            Returned when available and authorized; a partial read record can
            omit this field.
        previous_snapshot_id:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Earlier comparable assessment. Preserve original evidence; do not
            invent missing values.
          x-field-id: F0871
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        model_id:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Model used if a score was generated. Preserve original evidence; do
            not invent missing values.
          x-field-id: F0872
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        model_version:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Exact model revision. Preserve original evidence; do not invent
            missing values.
          x-field-id: F0873
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        score:
          anyOf:
            - type: string
              pattern: ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?$
              description: >-
                Exact decimal string in major units. Do not use binary
                floating-point arithmetic.
            - type: 'null'
          description: >-
            Model-specific score; unavailable until model is validated and
            entitled. Preserve original evidence; do not invent missing values.
          x-field-id: F0874
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        score_scale:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Meaning and allowed range of the model score. Preserve original
            evidence; do not invent missing values.
          x-field-id: F0875
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        rating:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Policy-specific risk category. Preserve original evidence; do not
            invent missing values.
          x-field-id: F0876
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        reason_codes:
          anyOf:
            - type: array
              items:
                type: string
            - type: 'null'
          description: >-
            Explanatory factors tied to evidence. Preserve original evidence; do
            not invent missing values.
          x-field-id: F0877
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        evidence_manifest_id:
          type: string
          description: >-
            Immutable list of input record versions. Preserve original evidence;
            do not invent missing values.
          x-field-id: F0878
          x-classification: Confidential
          x-availability: >-
            Returned when available and authorized; a partial read record can
            omit this field.
        workflow_run_id:
          type: string
          minLength: 1
          x-field-id: API:risk_snapshot.workflow_run_id
        application_id:
          anyOf:
            - type: string
              minLength: 1
            - type: 'null'
          x-field-id: API:risk_snapshot.application_id
        billing_usage_id:
          anyOf:
            - type: string
              minLength: 1
            - type: 'null'
          x-field-id: API:risk_snapshot.billing_usage_id
      required:
        - id
        - object
        - created_at
        - updated_at
        - record_version
        - source_refs
        - data_status
        - missing_fields
        - schema_version
      title: RiskSnapshotRead
      description: >-
        Immutable assessment at a point in time, preserving subsequent changes
        separately. Population depends on source and tenant entitlement. Read
        representation includes all authorized populated fields. Missing or
        restricted fields carry explicit availability information; this API does
        not support field projection.
    NormalizedMonitorRead:
      type: object
      properties:
        id:
          type: string
          description: >-
            Stable identifier scoped to the client tenant. Never use a provider
            ID as the public primary key.
          x-field-id: F0001
          x-classification: Confidential
          x-availability: Required when resource exists
        object:
          type: string
          const: monitor
          x-field-id: F0002
        subject_id:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Business or person to which this record relates. Null for
            tenant-level configuration and unresolved subjects.
          x-field-id: F0003
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        created_at:
          type: string
          format: date-time
          description: >-
            Time AMLOK first stored this resource. Preserve original evidence;
            do not invent missing values.
          x-field-id: F0004
          x-classification: Confidential
          x-availability: Required when resource exists
        updated_at:
          type: string
          format: date-time
          description: >-
            Time the normalized representation last changed. Preserve original
            evidence; do not invent missing values.
          x-field-id: F0005
          x-classification: Confidential
          x-availability: Required when resource exists
        observed_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          description: >-
            Time the source was observed by AMLOK. Do not imply this is the
            economic event time.
          x-field-id: F0006
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        effective_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          description: >-
            Time the source states this version became valid. Preserve original
            evidence; do not invent missing values.
          x-field-id: F0007
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        record_version:
          type: integer
          description: >-
            Monotonically increasing AMLOK version for this resource. Preserve
            original evidence; do not invent missing values.
          x-field-id: F0008
          x-classification: Confidential
          x-availability: Required when resource exists
        deleted_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          description: >-
            Tombstone timestamp for a source or AMLOK deletion. Null for records
            not deleted; retain only under the configured policy.
          x-field-id: F0009
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        source_refs:
          type: array
          items:
            $ref: '#/components/schemas/NormalizedSourceRef'
          description: >-
            Evidence references contributing to this record. A known empty array
            is valid for a newly client-created record.
          x-field-id: F0010
          x-classification: Confidential
          x-availability: Required when resource exists
        field_provenance:
          anyOf:
            - type: array
              items:
                $ref: '#/components/schemas/NormalizedFieldProvenance'
            - type: 'null'
          description: >-
            Field-level source, extraction, transformation and quality details.
            Preserve original evidence; do not invent missing values.
          x-field-id: F0011
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        data_status:
          $ref: '#/components/schemas/NormalizedEnum_data_status'
          description: >-
            Whether the requested resource is complete for its stated scope.
            Completeness is relative to declared fields, sources and time
            interval.
          x-field-id: F0012
          x-classification: Confidential
          x-availability: Required when resource exists
        missing_fields:
          type: array
          items:
            $ref: '#/components/schemas/NormalizedMissingField'
          description: >-
            Unavailable field paths and their explicit reasons. Preserve
            original evidence; do not invent missing values.
          x-field-id: F0013
          x-classification: Confidential
          x-availability: Required when resource exists
        schema_version:
          type: string
          description: >-
            Contract version used to serialize this record. Preserve original
            evidence; do not invent missing values.
          x-field-id: F0014
          x-classification: Confidential
          x-availability: Required when resource exists
        client_reference:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Optional caller-owned correlation identifier. Scoped to tenant;
            uniqueness only when explicitly contracted.
          x-field-id: F0015
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        extensions:
          anyOf:
            - type: object
              additionalProperties: true
            - type: 'null'
          description: >-
            Namespaced extra provider fields without changing the core schema.
            Access-controlled and documented per provider; no provider tokens.
          x-field-id: F0016
          x-classification: Restricted
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        baseline_snapshot_id:
          type: string
          description: >-
            Original assessment used for change detection. Preserve original
            evidence; do not invent missing values.
          x-field-id: F0879
          x-classification: Confidential
          x-availability: >-
            Returned when available and authorized; a partial read record can
            omit this field.
        resource_types:
          type: array
          items:
            type: string
          description: >-
            Resources monitored under this subscription. Preserve original
            evidence; do not invent missing values.
          x-field-id: F0880
          x-classification: Confidential
          x-availability: >-
            Returned when available and authorized; a partial read record can
            omit this field.
        attribute_keys:
          type: array
          items:
            type: string
          description: >-
            Tracked calculated attributes. Preserve original evidence; do not
            invent missing values.
          x-field-id: F0881
          x-classification: Confidential
          x-availability: >-
            Returned when available and authorized; a partial read record can
            omit this field.
        status:
          $ref: '#/components/schemas/NormalizedEnum_monitor_status'
          description: >-
            Monitoring subscription state. Preserve original evidence; do not
            invent missing values.
          x-field-id: F0882
          x-classification: Confidential
          x-availability: >-
            Returned when available and authorized; a partial read record can
            omit this field.
        cadence:
          type: string
          description: >-
            Requested refresh schedule, subject to source capability. Preserve
            original evidence; do not invent missing values.
          x-field-id: F0883
          x-classification: Confidential
          x-availability: >-
            Returned when available and authorized; a partial read record can
            omit this field.
        ruleset_version:
          type: string
          description: >-
            Version of alert thresholds and conditions. Preserve original
            evidence; do not invent missing values.
          x-field-id: F0884
          x-classification: Confidential
          x-availability: >-
            Returned when available and authorized; a partial read record can
            omit this field.
        last_evaluated_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          description: >-
            Latest successful evaluation. Preserve original evidence; do not
            invent missing values.
          x-field-id: F0885
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        next_evaluation_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          description: >-
            Next planned evaluation. Preserve original evidence; do not invent
            missing values.
          x-field-id: F0886
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        blocked_reason:
          anyOf:
            - type: string
              enum:
                - insufficient_credits
                - workload_limit_exceeded
                - missing_evidence
                - consent_unavailable
            - type: 'null'
          x-field-id: API:monitor.blocked_reason
        monitoring_period_id:
          anyOf:
            - type: string
              minLength: 1
            - type: 'null'
          x-field-id: API:monitor.monitoring_period_id
      required:
        - id
        - object
        - created_at
        - updated_at
        - record_version
        - source_refs
        - data_status
        - missing_fields
        - schema_version
      title: MonitorRead
      description: >-
        Configured monitoring scope, baseline and refresh policy. Population
        depends on source and tenant entitlement. Read representation includes
        all authorized populated fields. Missing or restricted fields carry
        explicit availability information; this API does not support field
        projection.
    NormalizedAlertRead:
      type: object
      properties:
        id:
          type: string
          description: >-
            Stable identifier scoped to the client tenant. Never use a provider
            ID as the public primary key.
          x-field-id: F0001
          x-classification: Confidential
          x-availability: Required when resource exists
        object:
          type: string
          const: alert
          x-field-id: F0002
        subject_id:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Business or person to which this record relates. Null for
            tenant-level configuration and unresolved subjects.
          x-field-id: F0003
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        created_at:
          type: string
          format: date-time
          description: >-
            Time AMLOK first stored this resource. Preserve original evidence;
            do not invent missing values.
          x-field-id: F0004
          x-classification: Confidential
          x-availability: Required when resource exists
        updated_at:
          type: string
          format: date-time
          description: >-
            Time the normalized representation last changed. Preserve original
            evidence; do not invent missing values.
          x-field-id: F0005
          x-classification: Confidential
          x-availability: Required when resource exists
        observed_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          description: >-
            Time the source was observed by AMLOK. Do not imply this is the
            economic event time.
          x-field-id: F0006
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        effective_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          description: >-
            Time the source states this version became valid. Preserve original
            evidence; do not invent missing values.
          x-field-id: F0007
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        record_version:
          type: integer
          description: >-
            Monotonically increasing AMLOK version for this resource. Preserve
            original evidence; do not invent missing values.
          x-field-id: F0008
          x-classification: Confidential
          x-availability: Required when resource exists
        deleted_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          description: >-
            Tombstone timestamp for a source or AMLOK deletion. Null for records
            not deleted; retain only under the configured policy.
          x-field-id: F0009
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        source_refs:
          type: array
          items:
            $ref: '#/components/schemas/NormalizedSourceRef'
          description: >-
            Evidence references contributing to this record. A known empty array
            is valid for a newly client-created record.
          x-field-id: F0010
          x-classification: Confidential
          x-availability: Required when resource exists
        field_provenance:
          anyOf:
            - type: array
              items:
                $ref: '#/components/schemas/NormalizedFieldProvenance'
            - type: 'null'
          description: >-
            Field-level source, extraction, transformation and quality details.
            Preserve original evidence; do not invent missing values.
          x-field-id: F0011
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        data_status:
          $ref: '#/components/schemas/NormalizedEnum_data_status'
          description: >-
            Whether the requested resource is complete for its stated scope.
            Completeness is relative to declared fields, sources and time
            interval.
          x-field-id: F0012
          x-classification: Confidential
          x-availability: Required when resource exists
        missing_fields:
          type: array
          items:
            $ref: '#/components/schemas/NormalizedMissingField'
          description: >-
            Unavailable field paths and their explicit reasons. Preserve
            original evidence; do not invent missing values.
          x-field-id: F0013
          x-classification: Confidential
          x-availability: Required when resource exists
        schema_version:
          type: string
          description: >-
            Contract version used to serialize this record. Preserve original
            evidence; do not invent missing values.
          x-field-id: F0014
          x-classification: Confidential
          x-availability: Required when resource exists
        client_reference:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Optional caller-owned correlation identifier. Scoped to tenant;
            uniqueness only when explicitly contracted.
          x-field-id: F0015
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        extensions:
          anyOf:
            - type: object
              additionalProperties: true
            - type: 'null'
          description: >-
            Namespaced extra provider fields without changing the core schema.
            Access-controlled and documented per provider; no provider tokens.
          x-field-id: F0016
          x-classification: Restricted
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        monitor_id:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Monitoring configuration generating the alert. Preserve original
            evidence; do not invent missing values.
          x-field-id: F0887
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        alert_type:
          type: string
          description: >-
            Versioned signal key. Preserve original evidence; do not invent
            missing values.
          x-field-id: F0888
          x-classification: Confidential
          x-availability: >-
            Returned when available and authorized; a partial read record can
            omit this field.
        severity:
          $ref: '#/components/schemas/NormalizedEnum_severity'
          description: >-
            Policy-assigned severity. Preserve original evidence; do not invent
            missing values.
          x-field-id: F0889
          x-classification: Confidential
          x-availability: >-
            Returned when available and authorized; a partial read record can
            omit this field.
        status:
          $ref: '#/components/schemas/NormalizedEnum_alert_status'
          description: >-
            System-derived alert state. This evidence field is not an
            institution acknowledgement or review command.
          x-field-id: F0890
        detected_at:
          type: string
          format: date-time
          description: >-
            Time the signal was detected. Preserve original evidence; do not
            invent missing values.
          x-field-id: F0891
          x-classification: Confidential
          x-availability: >-
            Returned when available and authorized; a partial read record can
            omit this field.
        baseline_snapshot_id:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Reference assessment. Preserve original evidence; do not invent
            missing values.
          x-field-id: F0892
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        current_snapshot_id:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Assessment showing the change. Preserve original evidence; do not
            invent missing values.
          x-field-id: F0893
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        attribute_key:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Metric underlying the signal. Preserve original evidence; do not
            invent missing values.
          x-field-id: F0894
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        previous_value:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Prior comparable scalar value. Preserve original evidence; do not
            invent missing values.
          x-field-id: F0895
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        current_value:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Current comparable scalar value. Preserve original evidence; do not
            invent missing values.
          x-field-id: F0896
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        threshold:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Rule threshold that was crossed. Preserve original evidence; do not
            invent missing values.
          x-field-id: F0897
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        reason:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Evidence-based explanation. Preserve original evidence; do not
            invent missing values.
          x-field-id: F0898
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        evidence_ids:
          anyOf:
            - type: array
              items:
                type: string
            - type: 'null'
          description: >-
            Supporting records or documents. Preserve original evidence; do not
            invent missing values.
          x-field-id: F0899
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        resolved_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          description: >-
            Time the alert was resolved or dismissed. Preserve original
            evidence; do not invent missing values.
          x-field-id: F0901
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
      required:
        - id
        - object
        - created_at
        - updated_at
        - record_version
        - source_refs
        - data_status
        - missing_fields
        - schema_version
      title: AlertRead
      description: >-
        Material change or risk signal with evidence and review state.
        Population depends on source and tenant entitlement. Read representation
        includes all authorized populated fields. Missing or restricted fields
        carry explicit availability information; this API does not support field
        projection.
    NormalizedWorkflowRunRead:
      type: object
      properties:
        id:
          type: string
          description: >-
            Stable identifier scoped to the client tenant. Never use a provider
            ID as the public primary key.
          x-field-id: F0001
          x-classification: Confidential
          x-availability: Required when resource exists
        object:
          type: string
          const: workflow_run
          x-field-id: F0002
        subject_id:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Business or person to which this record relates. Null for
            tenant-level configuration and unresolved subjects.
          x-field-id: F0003
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        created_at:
          type: string
          format: date-time
          description: >-
            Time AMLOK first stored this resource. Preserve original evidence;
            do not invent missing values.
          x-field-id: F0004
          x-classification: Confidential
          x-availability: Required when resource exists
        updated_at:
          type: string
          format: date-time
          description: >-
            Time the normalized representation last changed. Preserve original
            evidence; do not invent missing values.
          x-field-id: F0005
          x-classification: Confidential
          x-availability: Required when resource exists
        observed_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          description: >-
            Time the source was observed by AMLOK. Do not imply this is the
            economic event time.
          x-field-id: F0006
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        effective_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          description: >-
            Time the source states this version became valid. Preserve original
            evidence; do not invent missing values.
          x-field-id: F0007
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        record_version:
          type: integer
          description: >-
            Monotonically increasing AMLOK version for this resource. Preserve
            original evidence; do not invent missing values.
          x-field-id: F0008
          x-classification: Confidential
          x-availability: Required when resource exists
        deleted_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          description: >-
            Tombstone timestamp for a source or AMLOK deletion. Null for records
            not deleted; retain only under the configured policy.
          x-field-id: F0009
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        source_refs:
          type: array
          items:
            $ref: '#/components/schemas/NormalizedSourceRef'
          description: >-
            Evidence references contributing to this record. A known empty array
            is valid for a newly client-created record.
          x-field-id: F0010
          x-classification: Confidential
          x-availability: Required when resource exists
        field_provenance:
          anyOf:
            - type: array
              items:
                $ref: '#/components/schemas/NormalizedFieldProvenance'
            - type: 'null'
          description: >-
            Field-level source, extraction, transformation and quality details.
            Preserve original evidence; do not invent missing values.
          x-field-id: F0011
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        data_status:
          $ref: '#/components/schemas/NormalizedEnum_data_status'
          description: >-
            Whether the requested resource is complete for its stated scope.
            Completeness is relative to declared fields, sources and time
            interval.
          x-field-id: F0012
          x-classification: Confidential
          x-availability: Required when resource exists
        missing_fields:
          type: array
          items:
            $ref: '#/components/schemas/NormalizedMissingField'
          description: >-
            Unavailable field paths and their explicit reasons. Preserve
            original evidence; do not invent missing values.
          x-field-id: F0013
          x-classification: Confidential
          x-availability: Required when resource exists
        schema_version:
          type: string
          description: >-
            Contract version used to serialize this record. Preserve original
            evidence; do not invent missing values.
          x-field-id: F0014
          x-classification: Confidential
          x-availability: Required when resource exists
        client_reference:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Optional caller-owned correlation identifier. Scoped to tenant;
            uniqueness only when explicitly contracted.
          x-field-id: F0015
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        extensions:
          anyOf:
            - type: object
              additionalProperties: true
            - type: 'null'
          description: >-
            Namespaced extra provider fields without changing the core schema.
            Access-controlled and documented per provider; no provider tokens.
          x-field-id: F0016
          x-classification: Restricted
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        workflow_type:
          $ref: '#/components/schemas/NormalizedEnum_workflow_type'
          description: >-
            Risk workflow category. Preserve original evidence; do not invent
            missing values.
          x-field-id: F0946
          x-classification: Confidential
          x-availability: >-
            Returned when available and authorized; a partial read record can
            omit this field.
        workflow_version:
          type: string
          description: >-
            Version of the orchestration definition. Preserve original evidence;
            do not invent missing values.
          x-field-id: F0947
          x-classification: Confidential
          x-availability: >-
            Returned when available and authorized; a partial read record can
            omit this field.
        status:
          $ref: '#/components/schemas/NormalizedEnum_workflow_status'
          description: >-
            Execution state. Preserve original evidence; do not invent missing
            values.
          x-field-id: F0948
          x-classification: Confidential
          x-availability: >-
            Returned when available and authorized; a partial read record can
            omit this field.
        application_id:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Application context if applicable. Preserve original evidence; do
            not invent missing values.
          x-field-id: F0949
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        loan_id:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Loan context if applicable. Preserve original evidence; do not
            invent missing values.
          x-field-id: F0950
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        input_resource_ids:
          type: array
          items:
            type: string
          description: >-
            Immutable input references. Preserve original evidence; do not
            invent missing values.
          x-field-id: F0951
          x-classification: Confidential
          x-availability: >-
            Returned when available and authorized; a partial read record can
            omit this field.
        output_resource_ids:
          type: array
          items:
            type: string
          description: >-
            Produced assessments, checks, risk findings or reports. Preserve
            original evidence; do not invent missing values.
          x-field-id: F0952
          x-classification: Confidential
          x-availability: >-
            Returned when available and authorized; a partial read record can
            omit this field.
        started_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          description: >-
            Execution start. Preserve original evidence; do not invent missing
            values.
          x-field-id: F0954
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        completed_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          description: >-
            Terminal completion time. Preserve original evidence; do not invent
            missing values.
          x-field-id: F0955
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        parent_run_id:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Run that triggered this one, such as Monitor re-entering Underwrite.
            Preserve original evidence; do not invent missing values.
          x-field-id: F0956
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        product:
          type: string
          enum:
            - insights
            - signal
          x-field-id: API:workflow_run.product
        input_manifest_id:
          type: string
          minLength: 1
          x-field-id: API:workflow_run.input_manifest_id
        initial_input_manifest_id:
          type: string
          minLength: 1
          x-field-id: API:workflow_run.initial_input_manifest_id
        workload_id:
          type: string
          minLength: 1
          x-field-id: API:workflow_run.workload_id
        billing_usage_id:
          anyOf:
            - type: string
              minLength: 1
            - type: 'null'
          x-field-id: API:workflow_run.billing_usage_id
        monitoring_period_id:
          anyOf:
            - type: string
              minLength: 1
            - type: 'null'
          x-field-id: API:workflow_run.monitoring_period_id
        blocked_reason:
          anyOf:
            - type: string
              enum:
                - insufficient_credits
                - workload_limit_exceeded
                - missing_evidence
            - type: 'null'
          x-field-id: API:workflow_run.blocked_reason
        stop_reason:
          anyOf:
            - type: string
              enum:
                - account_cancellation
                - parent_cancelled
                - consent_revoked
            - type: 'null'
          x-field-id: API:workflow_run.stop_reason
        failure:
          anyOf:
            - $ref: '#/components/schemas/NormalizedProcessingFailure'
            - type: 'null'
          x-field-id: API:workflow_run.failure
          description: >-
            Structured processing failure preserved with the source record; null
            when no failure is recorded.
        attempt:
          type: integer
          minimum: 1
          x-field-id: API:workflow_run.attempt
          description: >-
            Processing attempt number recorded in the evidence. Reading this
            value does not start or retry processing.
      required:
        - id
        - object
        - created_at
        - updated_at
        - record_version
        - source_refs
        - data_status
        - missing_fields
        - schema_version
      title: WorkflowRunRead
      description: >-
        Coordinated execution of Verify, Underwrite, Monitor or Investigate.
        Population depends on source and tenant entitlement. Read representation
        includes all authorized populated fields. Missing or restricted fields
        carry explicit availability information; this API does not support field
        projection.
    NormalizedRequirementRead:
      type: object
      properties:
        id:
          type: string
          description: >-
            Stable identifier scoped to the client tenant. Never use a provider
            ID as the public primary key.
          x-field-id: F0001
          x-classification: Confidential
          x-availability: Required when resource exists
        object:
          type: string
          const: requirement
          x-field-id: F0002
        subject_id:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Business or person to which this record relates. Null for
            tenant-level configuration and unresolved subjects.
          x-field-id: F0003
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        created_at:
          type: string
          format: date-time
          description: >-
            Time AMLOK first stored this resource. Preserve original evidence;
            do not invent missing values.
          x-field-id: F0004
          x-classification: Confidential
          x-availability: Required when resource exists
        updated_at:
          type: string
          format: date-time
          description: >-
            Time the normalized representation last changed. Preserve original
            evidence; do not invent missing values.
          x-field-id: F0005
          x-classification: Confidential
          x-availability: Required when resource exists
        observed_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          description: >-
            Time the source was observed by AMLOK. Do not imply this is the
            economic event time.
          x-field-id: F0006
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        effective_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          description: >-
            Time the source states this version became valid. Preserve original
            evidence; do not invent missing values.
          x-field-id: F0007
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        record_version:
          type: integer
          description: >-
            Monotonically increasing AMLOK version for this resource. Preserve
            original evidence; do not invent missing values.
          x-field-id: F0008
          x-classification: Confidential
          x-availability: Required when resource exists
        deleted_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          description: >-
            Tombstone timestamp for a source or AMLOK deletion. Null for records
            not deleted; retain only under the configured policy.
          x-field-id: F0009
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        source_refs:
          type: array
          items:
            $ref: '#/components/schemas/NormalizedSourceRef'
          description: >-
            Evidence references contributing to this record. A known empty array
            is valid for a newly client-created record.
          x-field-id: F0010
          x-classification: Confidential
          x-availability: Required when resource exists
        field_provenance:
          anyOf:
            - type: array
              items:
                $ref: '#/components/schemas/NormalizedFieldProvenance'
            - type: 'null'
          description: >-
            Field-level source, extraction, transformation and quality details.
            Preserve original evidence; do not invent missing values.
          x-field-id: F0011
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        data_status:
          $ref: '#/components/schemas/NormalizedEnum_data_status'
          description: >-
            Whether the requested resource is complete for its stated scope.
            Completeness is relative to declared fields, sources and time
            interval.
          x-field-id: F0012
          x-classification: Confidential
          x-availability: Required when resource exists
        missing_fields:
          type: array
          items:
            $ref: '#/components/schemas/NormalizedMissingField'
          description: >-
            Unavailable field paths and their explicit reasons. Preserve
            original evidence; do not invent missing values.
          x-field-id: F0013
          x-classification: Confidential
          x-availability: Required when resource exists
        schema_version:
          type: string
          description: >-
            Contract version used to serialize this record. Preserve original
            evidence; do not invent missing values.
          x-field-id: F0014
          x-classification: Confidential
          x-availability: Required when resource exists
        client_reference:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Optional caller-owned correlation identifier. Scoped to tenant;
            uniqueness only when explicitly contracted.
          x-field-id: F0015
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        extensions:
          anyOf:
            - type: object
              additionalProperties: true
            - type: 'null'
          description: >-
            Namespaced extra provider fields without changing the core schema.
            Access-controlled and documented per provider; no provider tokens.
          x-field-id: F0016
          x-classification: Restricted
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        workflow_run_id:
          type: string
          description: >-
            Run requiring this evidence. Preserve original evidence; do not
            invent missing values.
          x-field-id: F0958
          x-classification: Confidential
          x-availability: >-
            Returned when available and authorized; a partial read record can
            omit this field.
        requirement_type:
          type: string
          description: >-
            Requested evidence category. Preserve original evidence; do not
            invent missing values.
          x-field-id: F0959
          x-classification: Confidential
          x-availability: >-
            Returned when available and authorized; a partial read record can
            omit this field.
        description:
          type: string
          description: >-
            Specific evidence requirement. Preserve original evidence; do not
            invent missing values.
          x-field-id: F0960
          x-classification: Confidential
          x-availability: >-
            Returned when available and authorized; a partial read record can
            omit this field.
        status:
          $ref: '#/components/schemas/NormalizedEnum_requirement_status'
          description: >-
            Collection and review status. Preserve original evidence; do not
            invent missing values.
          x-field-id: F0961
          x-classification: Confidential
          x-availability: >-
            Returned when available and authorized; a partial read record can
            omit this field.
        due_on:
          anyOf:
            - type: string
              format: date
            - type: 'null'
          description: >-
            Requested completion date. Preserve original evidence; do not invent
            missing values.
          x-field-id: F0962
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        document_ids:
          anyOf:
            - type: array
              items:
                type: string
            - type: 'null'
          description: >-
            Evidence submitted for this requirement. Preserve original evidence;
            do not invent missing values.
          x-field-id: F0963
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        reviewer_id:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Reviewer accepting or rejecting evidence. Preserve original
            evidence; do not invent missing values.
          x-field-id: F0964
          x-classification: Restricted
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        waiver_reason:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Documented basis for a permitted waiver. Preserve original evidence;
            do not invent missing values.
          x-field-id: F0965
          x-classification: Restricted
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        rejection:
          anyOf:
            - $ref: '#/components/schemas/NormalizedEvidenceRejection'
            - type: 'null'
          x-field-id: API:requirement.rejection
          description: >-
            Structured reason submitted evidence did not satisfy the
            requirement; null when there is no rejection.
      required:
        - id
        - object
        - created_at
        - updated_at
        - record_version
        - source_refs
        - data_status
        - missing_fields
        - schema_version
      title: RequirementRead
      description: >-
        Evidence required to complete an assessment workflow. Population depends
        on source and tenant entitlement. Read representation includes all
        authorized populated fields. Missing or restricted fields carry explicit
        availability information; this API does not support field projection.
    NormalizedAuditEventRead:
      type: object
      properties:
        id:
          type: string
          description: >-
            Stable identifier scoped to the client tenant. Never use a provider
            ID as the public primary key.
          x-field-id: F0001
          x-classification: Confidential
          x-availability: Required when resource exists
        object:
          type: string
          const: audit_event
          x-field-id: F0002
        subject_id:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Business or person to which this record relates. Null for
            tenant-level configuration and unresolved subjects.
          x-field-id: F0003
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        created_at:
          type: string
          format: date-time
          description: >-
            Time AMLOK first stored this resource. Preserve original evidence;
            do not invent missing values.
          x-field-id: F0004
          x-classification: Confidential
          x-availability: Required when resource exists
        updated_at:
          type: string
          format: date-time
          description: >-
            Time the normalized representation last changed. Preserve original
            evidence; do not invent missing values.
          x-field-id: F0005
          x-classification: Confidential
          x-availability: Required when resource exists
        observed_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          description: >-
            Time the source was observed by AMLOK. Do not imply this is the
            economic event time.
          x-field-id: F0006
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        effective_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          description: >-
            Time the source states this version became valid. Preserve original
            evidence; do not invent missing values.
          x-field-id: F0007
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        record_version:
          type: integer
          description: >-
            Monotonically increasing AMLOK version for this resource. Preserve
            original evidence; do not invent missing values.
          x-field-id: F0008
          x-classification: Confidential
          x-availability: Required when resource exists
        deleted_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          description: >-
            Tombstone timestamp for a source or AMLOK deletion. Null for records
            not deleted; retain only under the configured policy.
          x-field-id: F0009
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        source_refs:
          type: array
          items:
            $ref: '#/components/schemas/NormalizedSourceRef'
          description: >-
            Evidence references contributing to this record. A known empty array
            is valid for a newly client-created record.
          x-field-id: F0010
          x-classification: Confidential
          x-availability: Required when resource exists
        field_provenance:
          anyOf:
            - type: array
              items:
                $ref: '#/components/schemas/NormalizedFieldProvenance'
            - type: 'null'
          description: >-
            Field-level source, extraction, transformation and quality details.
            Preserve original evidence; do not invent missing values.
          x-field-id: F0011
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        data_status:
          $ref: '#/components/schemas/NormalizedEnum_data_status'
          description: >-
            Whether the requested resource is complete for its stated scope.
            Completeness is relative to declared fields, sources and time
            interval.
          x-field-id: F0012
          x-classification: Confidential
          x-availability: Required when resource exists
        missing_fields:
          type: array
          items:
            $ref: '#/components/schemas/NormalizedMissingField'
          description: >-
            Unavailable field paths and their explicit reasons. Preserve
            original evidence; do not invent missing values.
          x-field-id: F0013
          x-classification: Confidential
          x-availability: Required when resource exists
        schema_version:
          type: string
          description: >-
            Contract version used to serialize this record. Preserve original
            evidence; do not invent missing values.
          x-field-id: F0014
          x-classification: Confidential
          x-availability: Required when resource exists
        client_reference:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Optional caller-owned correlation identifier. Scoped to tenant;
            uniqueness only when explicitly contracted.
          x-field-id: F0015
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        extensions:
          anyOf:
            - type: object
              additionalProperties: true
            - type: 'null'
          description: >-
            Namespaced extra provider fields without changing the core schema.
            Access-controlled and documented per provider; no provider tokens.
          x-field-id: F0016
          x-classification: Restricted
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        actor_id:
          type: string
          description: >-
            User, API client or agent responsible. Preserve original evidence;
            do not invent missing values.
          x-field-id: F0966
          x-classification: Restricted
          x-availability: >-
            Returned when available and authorized; a partial read record can
            omit this field.
        actor_type:
          type: string
          description: >-
            Class of principal. Preserve original evidence; do not invent
            missing values.
          x-field-id: F0967
          x-classification: Confidential
          x-availability: >-
            Returned when available and authorized; a partial read record can
            omit this field.
        action:
          type: string
          description: >-
            Action performed. Preserve original evidence; do not invent missing
            values.
          x-field-id: F0968
          x-classification: Confidential
          x-availability: >-
            Returned when available and authorized; a partial read record can
            omit this field.
        resource_type:
          type: string
          description: >-
            Type of affected object. Preserve original evidence; do not invent
            missing values.
          x-field-id: F0969
          x-classification: Confidential
          x-availability: >-
            Returned when available and authorized; a partial read record can
            omit this field.
        resource_id:
          type: string
          description: >-
            Affected object. Preserve original evidence; do not invent missing
            values.
          x-field-id: F0970
          x-classification: Confidential
          x-availability: >-
            Returned when available and authorized; a partial read record can
            omit this field.
        resource_version:
          anyOf:
            - type: integer
            - type: 'null'
          description: >-
            Version observed or produced. Preserve original evidence; do not
            invent missing values.
          x-field-id: F0971
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        occurred_at:
          type: string
          format: date-time
          description: >-
            Action timestamp. Preserve original evidence; do not invent missing
            values.
          x-field-id: F0972
          x-classification: Confidential
          x-availability: >-
            Returned when available and authorized; a partial read record can
            omit this field.
        request_id:
          type: string
          description: >-
            Request correlation identifier. Preserve original evidence; do not
            invent missing values.
          x-field-id: F0973
          x-classification: Confidential
          x-availability: >-
            Returned when available and authorized; a partial read record can
            omit this field.
        workflow_run_id:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Related orchestration run. Preserve original evidence; do not invent
            missing values.
          x-field-id: F0974
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        outcome:
          type: string
          description: >-
            Success, denial or failure result. Preserve original evidence; do
            not invent missing values.
          x-field-id: F0975
          x-classification: Confidential
          x-availability: >-
            Returned when available and authorized; a partial read record can
            omit this field.
        change_summary:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Description of changed fields without sensitive raw values. Preserve
            original evidence; do not invent missing values.
          x-field-id: F0976
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
      required:
        - id
        - object
        - created_at
        - updated_at
        - record_version
        - source_refs
        - data_status
        - missing_fields
        - schema_version
      title: AuditEventRead
      description: >-
        Append-only record of actions, versions and access. Population depends
        on source and tenant entitlement. Read representation includes all
        authorized populated fields. Missing or restricted fields carry explicit
        availability information; this API does not support field projection.
    NormalizedReconciliationLinkRead:
      type: object
      properties:
        id:
          type: string
          description: >-
            Stable identifier scoped to the client tenant. Never use a provider
            ID as the public primary key.
          x-field-id: F0001
          x-classification: Confidential
          x-availability: Required when resource exists
        object:
          type: string
          const: reconciliation_link
          x-field-id: F0002
        subject_id:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Business or person to which this record relates. Null for
            tenant-level configuration and unresolved subjects.
          x-field-id: F0003
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        created_at:
          type: string
          format: date-time
          description: >-
            Time AMLOK first stored this resource. Preserve original evidence;
            do not invent missing values.
          x-field-id: F0004
          x-classification: Confidential
          x-availability: Required when resource exists
        updated_at:
          type: string
          format: date-time
          description: >-
            Time the normalized representation last changed. Preserve original
            evidence; do not invent missing values.
          x-field-id: F0005
          x-classification: Confidential
          x-availability: Required when resource exists
        observed_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          description: >-
            Time the source was observed by AMLOK. Do not imply this is the
            economic event time.
          x-field-id: F0006
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        effective_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          description: >-
            Time the source states this version became valid. Preserve original
            evidence; do not invent missing values.
          x-field-id: F0007
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        record_version:
          type: integer
          description: >-
            Monotonically increasing AMLOK version for this resource. Preserve
            original evidence; do not invent missing values.
          x-field-id: F0008
          x-classification: Confidential
          x-availability: Required when resource exists
        deleted_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          description: >-
            Tombstone timestamp for a source or AMLOK deletion. Null for records
            not deleted; retain only under the configured policy.
          x-field-id: F0009
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        source_refs:
          type: array
          items:
            $ref: '#/components/schemas/NormalizedSourceRef'
          description: >-
            Evidence references contributing to this record. A known empty array
            is valid for a newly client-created record.
          x-field-id: F0010
          x-classification: Confidential
          x-availability: Required when resource exists
        field_provenance:
          anyOf:
            - type: array
              items:
                $ref: '#/components/schemas/NormalizedFieldProvenance'
            - type: 'null'
          description: >-
            Field-level source, extraction, transformation and quality details.
            Preserve original evidence; do not invent missing values.
          x-field-id: F0011
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        data_status:
          $ref: '#/components/schemas/NormalizedEnum_data_status'
          description: >-
            Whether the requested resource is complete for its stated scope.
            Completeness is relative to declared fields, sources and time
            interval.
          x-field-id: F0012
          x-classification: Confidential
          x-availability: Required when resource exists
        missing_fields:
          type: array
          items:
            $ref: '#/components/schemas/NormalizedMissingField'
          description: >-
            Unavailable field paths and their explicit reasons. Preserve
            original evidence; do not invent missing values.
          x-field-id: F0013
          x-classification: Confidential
          x-availability: Required when resource exists
        schema_version:
          type: string
          description: >-
            Contract version used to serialize this record. Preserve original
            evidence; do not invent missing values.
          x-field-id: F0014
          x-classification: Confidential
          x-availability: Required when resource exists
        client_reference:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Optional caller-owned correlation identifier. Scoped to tenant;
            uniqueness only when explicitly contracted.
          x-field-id: F0015
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        extensions:
          anyOf:
            - type: object
              additionalProperties: true
            - type: 'null'
          description: >-
            Namespaced extra provider fields without changing the core schema.
            Access-controlled and documented per provider; no provider tokens.
          x-field-id: F0016
          x-classification: Restricted
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        from_resource_type:
          type: string
          description: >-
            Source side of the reconciliation relationship. Preserve original
            evidence; do not invent missing values.
          x-field-id: F0977
          x-classification: Confidential
          x-availability: >-
            Returned when available and authorized; a partial read record can
            omit this field.
        from_resource_id:
          type: string
          description: >-
            Record being linked or allocated. Preserve original evidence; do not
            invent missing values.
          x-field-id: F0978
          x-classification: Confidential
          x-availability: >-
            Returned when available and authorized; a partial read record can
            omit this field.
        to_resource_type:
          type: string
          description: >-
            Target side of the relationship. Preserve original evidence; do not
            invent missing values.
          x-field-id: F0979
          x-classification: Confidential
          x-availability: >-
            Returned when available and authorized; a partial read record can
            omit this field.
        to_resource_id:
          type: string
          description: >-
            Record receiving the linkage or allocation. Preserve original
            evidence; do not invent missing values.
          x-field-id: F0980
          x-classification: Confidential
          x-availability: >-
            Returned when available and authorized; a partial read record can
            omit this field.
        link_type:
          type: string
          description: >-
            Relationship such as settlement, payment_allocation or
            duplicate_evidence. Preserve original evidence; do not invent
            missing values.
          x-field-id: F0981
          x-classification: Confidential
          x-availability: >-
            Returned when available and authorized; a partial read record can
            omit this field.
        allocated_amount:
          type: object
          properties:
            amount:
              anyOf:
                - type: string
                  pattern: ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?$
                  description: >-
                    Exact decimal string in major units. Do not use binary
                    floating-point arithmetic.
                - type: 'null'
              description: >-
                Amount attributed to this linkage where the relationship is
                monetary. Amount in major currency units. Pair with currency;
                preserve precision; zero differs from unavailable.
              x-field-id: F0982
              x-classification: Confidential
              x-availability: >-
                Source, module, country, consent and contracted permissions
                determine population.
            currency:
              anyOf:
                - type: string
                - type: 'null'
              description: >-
                Currency for allocated amount. Uppercase ISO 4217 code when
                known; null for unsupported/unidentified currency, retain source
                code.
              x-field-id: F0983
              x-classification: Confidential
              x-availability: >-
                Source, module, country, consent and contracted permissions
                determine population.
        status:
          $ref: '#/components/schemas/NormalizedEnum_reconciliation_status'
          description: >-
            Matching/reconciliation state. Preserve original evidence; do not
            invent missing values.
          x-field-id: F0984
          x-classification: Confidential
          x-availability: >-
            Returned when available and authorized; a partial read record can
            omit this field.
        method_version:
          type: string
          description: >-
            Version of deterministic or reviewed match process. Preserve
            original evidence; do not invent missing values.
          x-field-id: F0985
          x-classification: Confidential
          x-availability: >-
            Returned when available and authorized; a partial read record can
            omit this field.
        confidence:
          anyOf:
            - type: string
              pattern: ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?$
              description: >-
                Exact decimal string in major units. Do not use binary
                floating-point arithmetic.
            - type: 'null'
          description: >-
            Calibrated probabilistic match confidence if used. Preserve original
            evidence; do not invent missing values.
          x-field-id: F0986
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        review_status:
          anyOf:
            - $ref: '#/components/schemas/NormalizedEnum_review_status'
            - type: 'null'
          description: >-
            Human disposition of uncertain matches. Preserve original evidence;
            do not invent missing values.
          x-field-id: F0987
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
      required:
        - id
        - object
        - created_at
        - updated_at
        - record_version
        - source_refs
        - data_status
        - missing_fields
        - schema_version
      title: ReconciliationLinkRead
      description: >-
        Evidence-based allocation connecting records without collapsing distinct
        economic events. Population depends on source and tenant entitlement.
        Read representation includes all authorized populated fields. Missing or
        restricted fields carry explicit availability information; this API does
        not support field projection.
    NormalizedVerificationAssessment:
      type: object
      properties:
        id:
          type: string
          minLength: 1
          x-field-id: VERIFY:NormalizedVerificationAssessment.id
          description: >-
            Id. Preserve the source meaning; null or unknown does not establish
            a negative or a verified result.
        object:
          const: verification_assessment
          x-field-id: VERIFY:NormalizedVerificationAssessment.object
          description: >-
            Object. Preserve the source meaning; null or unknown does not
            establish a negative or a verified result.
        subject_id:
          type: string
          minLength: 1
          x-field-id: VERIFY:NormalizedVerificationAssessment.subject_id
          description: >-
            Subject id. Preserve the source meaning; null or unknown does not
            establish a negative or a verified result.
        record_version:
          type: integer
          minimum: 1
          x-field-id: VERIFY:NormalizedVerificationAssessment.record_version
          description: >-
            Record version. Preserve the source meaning; null or unknown does
            not establish a negative or a verified result.
        created_at:
          type: string
          minLength: 1
          format: date-time
          x-field-id: VERIFY:NormalizedVerificationAssessment.created_at
          description: >-
            Created at. Preserve the source meaning; null or unknown does not
            establish a negative or a verified result.
        updated_at:
          type: string
          minLength: 1
          format: date-time
          x-field-id: VERIFY:NormalizedVerificationAssessment.updated_at
          description: >-
            Updated at. Preserve the source meaning; null or unknown does not
            establish a negative or a verified result.
        observed_at:
          type: string
          minLength: 1
          format: date-time
          x-field-id: VERIFY:NormalizedVerificationAssessment.observed_at
          description: >-
            Observed at. Preserve the source meaning; null or unknown does not
            establish a negative or a verified result.
        schema_version:
          const: 1.0.0
          x-field-id: VERIFY:NormalizedVerificationAssessment.schema_version
          description: >-
            Schema version. Preserve the source meaning; null or unknown does
            not establish a negative or a verified result.
        assessment:
          $ref: '#/components/schemas/VerificationAssessment'
          x-field-id: VERIFY:NormalizedVerificationAssessment.assessment
          description: >-
            Assessment. Preserve the source meaning; null or unknown does not
            establish a negative or a verified result.
      required:
        - id
        - object
        - subject_id
        - record_version
        - created_at
        - updated_at
        - observed_at
        - schema_version
        - assessment
      additionalProperties: false
      description: >-
        One immutable version of an authorized KYC/KYB assessment, available
        through data records and frozen evidence. ID/version must agree with the
        surrounding DataRecord or EvidenceSummary.
    CapacityErrorDetail:
      type: object
      properties:
        group:
          type: string
          enum:
            - http
            - origination
            - monitoring
            - export
        reason:
          type: string
          enum:
            - in_flight_limit
            - queue_full
        limit:
          type: integer
          minimum: 0
          maximum: 9007199254740991
          description: Effective admission limit.
        profile_id:
          type: string
          minLength: 1
        profile_version:
          type: string
          minLength: 1
      required:
        - group
        - reason
        - limit
        - profile_id
        - profile_version
      additionalProperties: false
    LargeResponseRecovery:
      type: object
      properties:
        export_request:
          $ref: '#/components/schemas/CreateExport'
        summary_available:
          type: boolean
        snapshot_expires_at:
          anyOf:
            - type: string
              minLength: 1
              format: date-time
            - type: 'null'
        data_checkpoint:
          anyOf:
            - $ref: '#/components/schemas/DataCheckpoint'
            - type: 'null'
      required:
        - export_request
        - summary_available
        - snapshot_expires_at
        - data_checkpoint
      additionalProperties: false
      description: >-
        Complete authorized export source captured before the failed response.
        Existing export scopes and source permissions still apply. Snapshot
        expiry is null for immutable package/record sources; create snapshot
        exports before expiry.
    NormalizedSourceRef:
      type: object
      properties:
        provider_id:
          type: string
          description: >-
            Inventory or supplemental provider identifier; AMLOK or CLIENT for
            internal evidence.
        connection_id:
          anyOf:
            - type: string
            - type: 'null'
          description: Authorized provider connection.
        source_record_id:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Upstream record identifier scoped by provider, connection and record
            type.
        source_record_type:
          anyOf:
            - type: string
            - type: 'null'
          description: Provider object or report type.
        source_updated_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          description: Source update time; do not replace with retrieval time.
        retrieved_at:
          type: string
          format: date-time
          description: Time AMLOK retrieved this evidence.
        document_id:
          anyOf:
            - type: string
            - type: 'null'
          description: Evidence document when applicable.
        source_api_version:
          anyOf:
            - type: string
            - type: 'null'
          description: Version of provider API/schema used.
      required:
        - provider_id
        - retrieved_at
    NormalizedFieldProvenance:
      type: object
      properties:
        field_path:
          type: string
          description: Relative path in the normalized resource.
        source_ref_index:
          type: integer
          description: Zero-based index into source_refs.
        source_field_path:
          anyOf:
            - type: string
            - type: 'null'
          description: Actual field path or document locator.
        transformation_id:
          anyOf:
            - type: string
            - type: 'null'
          description: Versioned conversion/mapping rule.
        evidence_level:
          $ref: '#/components/schemas/NormalizedEnum_evidence_level'
          description: Provenance class for the resulting value.
        confidence:
          anyOf:
            - type: string
              pattern: ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?$
              description: >-
                Exact decimal string in major units. Do not use binary
                floating-point arithmetic.
            - type: 'null'
          description: Calibrated extraction or matching confidence, if available.
        source_timezone:
          anyOf:
            - type: string
            - type: 'null'
          description: Original timezone where needed to interpret local time.
      required:
        - field_path
        - source_ref_index
        - evidence_level
    NormalizedEnum_data_status:
      type: string
      enum:
        - complete
        - partial
        - unavailable
        - pending
    NormalizedMissingField:
      type: object
      properties:
        field_path:
          type: string
          description: Unavailable relative field path.
        reason:
          $ref: '#/components/schemas/NormalizedEnum_null_reason'
          description: Specific reason the field has no value.
        detail:
          anyOf:
            - type: string
            - type: 'null'
          description: Sanitized explanation useful to the caller.
      required:
        - field_path
        - reason
    NormalizedEnum_connection_status:
      type: string
      enum:
        - pending
        - active
        - reauth_required
        - revoked
        - disconnected
        - error
    NormalizedEnum_party_type:
      type: string
      enum:
        - business
        - person
    NormalizedEnum_consent_status:
      type: string
      enum:
        - pending
        - granted
        - revoked
        - expired
    NormalizedEnum_sync_status:
      type: string
      enum:
        - queued
        - running
        - completed
        - partial
        - failed
        - cancelled
    NormalizedError:
      type: object
      properties:
        code:
          type: string
          description: Stable machine-readable error code.
        message:
          type: string
          description: Safe caller-facing explanation.
        field:
          anyOf:
            - type: string
            - type: 'null'
          description: Invalid request field when relevant.
        retryable:
          type: boolean
          description: Whether retry may succeed without changing the request.
        request_id:
          type: string
          description: Correlation identifier for support.
      required:
        - code
        - message
        - retryable
        - request_id
    NormalizedEnum_legal_status:
      type: string
      enum:
        - active
        - inactive
        - dissolved
        - struck_off
        - liquidation
        - dormant
        - unknown
    NormalizedIdentifier:
      type: object
      properties:
        type:
          type: string
          description: Identifier scheme such as CA_BN or US_EIN.
        value_token:
          anyOf:
            - type: string
            - type: 'null'
          description: Vault token for restricted identifiers.
        masked_value:
          anyOf:
            - type: string
            - type: 'null'
          description: Masked identifier for an authorized caller.
        country:
          type: string
          description: Issuing country code.
        jurisdiction:
          anyOf:
            - type: string
            - type: 'null'
          description: Registry or subdivision when necessary.
      required:
        - type
        - country
    NormalizedAddress:
      type: object
      properties:
        line1:
          anyOf:
            - type: string
            - type: 'null'
          description: Street or delivery address line one.
        line2:
          anyOf:
            - type: string
            - type: 'null'
          description: Suite, unit or second address line.
        city:
          anyOf:
            - type: string
            - type: 'null'
          description: Locality.
        region:
          anyOf:
            - type: string
            - type: 'null'
          description: Subdivision or province code/name; preserve raw when unmapped.
        postal_code:
          anyOf:
            - type: string
            - type: 'null'
          description: Postal code as a string with leading zeroes preserved.
        country:
          anyOf:
            - type: string
            - type: 'null'
          description: ISO 3166-1 alpha-2 country when established.
        raw_address:
          anyOf:
            - type: string
            - type: 'null'
          description: Unparsed source address if structured fields are unavailable.
    NormalizedIndustryCode:
      type: object
      properties:
        taxonomy:
          type: string
          description: Classification system; NAICS, SIC, MCC, NACE or named local scheme.
        version:
          anyOf:
            - type: string
            - type: 'null'
          description: Edition of the classification system.
        code:
          type: string
          description: Identifier preserved as a string.
        description:
          anyOf:
            - type: string
            - type: 'null'
          description: Label supplied by source or a versioned dictionary.
        is_primary:
          anyOf:
            - type: boolean
            - type: 'null'
          description: Source-designated primary industry.
      required:
        - taxonomy
        - code
    NormalizedEnum_relationship_type:
      type: string
      enum:
        - beneficial_owner
        - shareholder
        - director
        - officer
        - guarantor
        - subsidiary
        - parent
        - authorized_signatory
        - account_holder
        - related_party
        - unknown
    NormalizedEnum_review_status:
      type: string
      enum:
        - not_reviewed
        - accepted
        - rejected
        - needs_review
    NormalizedEnum_verification_status:
      type: string
      enum:
        - not_started
        - in_progress
        - awaiting_user
        - in_review
        - approved
        - declined
        - resubmission_requested
        - expired
        - abandoned
        - verification_expired
        - unknown
        - cancelled
    NormalizedProcessingContext:
      oneOf:
        - type: object
          properties:
            product:
              const: insights
              type: string
            workflow_run_id:
              type: string
              minLength: 1
            subject_association_id:
              type: string
              minLength: 1
          required:
            - product
            - workflow_run_id
          additionalProperties: false
        - type: object
          properties:
            product:
              const: signal
              type: string
            monitoring_period_id:
              type: string
              minLength: 1
            subject_association_id:
              type: string
              minLength: 1
          required:
            - product
            - monitoring_period_id
          additionalProperties: false
      discriminator:
        propertyName: product
      description: >-
        Parent must belong to this workspace. Same-subject stages need no
        association. Only person KYC may target a different subject: supply an
        active subject_association_id linking that person to the parent
        business. Insights requires an unfinished authorized root run; Signal
        requires an active paid period. Stage scope, consent, association and
        workload are checked on every attempt. The parent business remains the
        billing and workload subject. No standalone service or extra charge.
    NormalizedEnum_check_status:
      type: string
      enum:
        - not_run
        - pending
        - passed
        - failed
        - review
        - unavailable
        - unknown
    NormalizedEnum_screening_type:
      type: string
      enum:
        - sanctions
        - pep
        - adverse_media
        - watchlist
    NormalizedEnum_match_disposition:
      type: string
      enum:
        - unreviewed
        - false_positive
        - possible_match
        - confirmed_match
    NormalizedEnum_document_type:
      type: string
      enum:
        - identity
        - proof_of_address
        - bank_statement
        - financial_statement
        - tax_return
        - corporate_registry
        - ownership
        - loan_agreement
        - lien_report
        - invoice
        - other
    NormalizedEnum_account_type:
      type: string
      enum:
        - depository
        - credit
        - loan
        - investment
        - other
        - unknown
    NormalizedEnum_account_ownership:
      type: string
      enum:
        - business
        - personal
        - joint
        - trust
        - unknown
    NormalizedEnum_balance_basis:
      type: string
      enum:
        - asset
        - liability
        - unknown
    NormalizedEnum_balance_date_basis:
      type: string
      enum:
        - source_observed
        - reconstructed
        - unknown
    NormalizedEnum_direction:
      type: string
      enum:
        - inflow
        - outflow
        - neutral
        - unknown
    NormalizedEnum_transaction_status:
      type: string
      enum:
        - pending
        - posted
        - removed
        - unknown
    NormalizedEnum_cashflow_category:
      type: string
      enum:
        - sales_receipt
        - payroll
        - operating_expense
        - tax
        - debt_proceeds
        - debt_service
        - owner_contribution
        - owner_distribution
        - internal_transfer
        - refund
        - chargeback
        - interest
        - fee
        - investment
        - other
        - unknown
    NormalizedEnum_frequency:
      type: string
      enum:
        - daily
        - weekly
        - biweekly
        - semimonthly
        - monthly
        - quarterly
        - annually
        - irregular
        - unknown
    NormalizedEnum_evidence_level:
      type: string
      enum:
        - source_record
        - document_extracted
        - client_asserted
        - derived
        - model_inferred
    NormalizedEnum_payment_status:
      type: string
      enum:
        - pending
        - authorized
        - captured
        - settled
        - failed
        - cancelled
        - partially_refunded
        - refunded
        - unknown
    NormalizedEnum_payout_status:
      type: string
      enum:
        - pending
        - in_transit
        - paid
        - failed
        - cancelled
        - unknown
    NormalizedEnum_reconciliation_status:
      type: string
      enum:
        - unmatched
        - matched
        - partial
        - conflict
    NormalizedEnum_dispute_status:
      type: string
      enum:
        - needs_response
        - under_review
        - won
        - lost
        - closed
        - unknown
    NormalizedEnum_order_status:
      type: string
      enum:
        - open
        - completed
        - cancelled
        - closed
        - unknown
    NormalizedEnum_fulfillment_status:
      type: string
      enum:
        - unfulfilled
        - partial
        - fulfilled
        - returned
        - unknown
    NormalizedEnum_gl_type:
      type: string
      enum:
        - asset
        - liability
        - equity
        - revenue
        - expense
        - other
        - unknown
    NormalizedEnum_debit_credit:
      type: string
      enum:
        - debit
        - credit
    NormalizedEnum_invoice_status:
      type: string
      enum:
        - draft
        - open
        - partially_paid
        - paid
        - void
        - uncollectible
        - unknown
    NormalizedInvoiceLine:
      type: object
      properties:
        id:
          anyOf:
            - type: string
            - type: 'null'
          description: Line identifier within parent document.
        product_id:
          anyOf:
            - type: string
            - type: 'null'
          description: Normalized item if resolved.
        description:
          anyOf:
            - type: string
            - type: 'null'
          description: Original line description.
        quantity:
          anyOf:
            - type: string
              pattern: ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?$
              description: >-
                Exact decimal string in major units. Do not use binary
                floating-point arithmetic.
            - type: 'null'
          description: Line quantity in the supplied unit.
        unit_of_measure:
          anyOf:
            - type: string
            - type: 'null'
          description: Quantity unit.
        unit_price:
          anyOf:
            - $ref: '#/components/schemas/NormalizedMoney'
            - type: 'null'
          description: Unit charge under document tax convention.
        tax_amount:
          anyOf:
            - $ref: '#/components/schemas/NormalizedMoney'
            - type: 'null'
          description: Line tax amount.
        line_total:
          anyOf:
            - $ref: '#/components/schemas/NormalizedMoney'
            - type: 'null'
          description: Source extended amount; retain whether tax is included.
        ledger_account_id:
          anyOf:
            - type: string
            - type: 'null'
          description: Source ledger classification if exposed.
        tax_code:
          anyOf:
            - type: string
            - type: 'null'
          description: Jurisdiction-specific source tax code.
    NormalizedAllocation:
      type: object
      properties:
        resource_type:
          $ref: '#/components/schemas/NormalizedEnum_receivable_kind'
          description: Type of accounting document receiving allocation.
        resource_id:
          type: string
          description: Normalized accounting document.
        amount:
          $ref: '#/components/schemas/NormalizedMoney'
          description: Amount applied in the target document currency.
      required:
        - resource_type
        - resource_id
        - amount
    NormalizedEnum_statement_type:
      type: string
      enum:
        - balance_sheet
        - income_statement
        - cash_flow
        - trial_balance
    NormalizedEnum_accounting_basis:
      type: string
      enum:
        - cash
        - accrual
        - unknown
    NormalizedEnum_stock_ownership:
      type: string
      enum:
        - owned
        - consigned
        - third_party
        - unknown
    NormalizedEnum_movement_type:
      type: string
      enum:
        - receipt
        - sale
        - return
        - transfer
        - adjustment
        - production
        - consumption
        - write_off
        - unknown
    NormalizedEnum_purchase_status:
      type: string
      enum:
        - draft
        - issued
        - partially_received
        - received
        - cancelled
        - closed
        - unknown
    NormalizedPurchaseLine:
      type: object
      properties:
        product_id:
          anyOf:
            - type: string
            - type: 'null'
          description: Ordered item.
        description:
          anyOf:
            - type: string
            - type: 'null'
          description: Purchase line description.
        quantity_ordered:
          anyOf:
            - type: string
              pattern: ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?$
              description: >-
                Exact decimal string in major units. Do not use binary
                floating-point arithmetic.
            - type: 'null'
          description: Ordered quantity.
        quantity_received:
          anyOf:
            - type: string
              pattern: ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?$
              description: >-
                Exact decimal string in major units. Do not use binary
                floating-point arithmetic.
            - type: 'null'
          description: Recorded received quantity.
        unit_of_measure:
          anyOf:
            - type: string
            - type: 'null'
          description: Quantity unit.
        unit_price:
          anyOf:
            - $ref: '#/components/schemas/NormalizedMoney'
            - type: 'null'
          description: Price per ordered unit.
        line_total:
          anyOf:
            - $ref: '#/components/schemas/NormalizedMoney'
            - type: 'null'
          description: Total ordered line amount.
    NormalizedShipmentLine:
      type: object
      properties:
        product_id:
          anyOf:
            - type: string
            - type: 'null'
          description: Item shipped or received.
        quantity:
          type: string
          pattern: ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?$
          description: Quantity in this shipment.
        unit_of_measure:
          type: string
          description: Unit for the quantity.
        order_line_id:
          anyOf:
            - type: string
            - type: 'null'
          description: Sales line being fulfilled.
      required:
        - quantity
        - unit_of_measure
    NormalizedEnum_manufacturing_status:
      type: string
      enum:
        - planned
        - released
        - in_progress
        - completed
        - cancelled
        - unknown
    NormalizedEnum_project_status:
      type: string
      enum:
        - planned
        - active
        - on_hold
        - completed
        - cancelled
        - unknown
    NormalizedEnum_credit_product:
      type: string
      enum:
        - term_loan
        - line_of_credit
        - revolving
        - invoice_finance
        - merchant_finance
        - equipment_finance
        - auto
        - mortgage
        - consumer_installment
        - bnpl
        - other
    NormalizedEnum_application_status:
      type: string
      enum:
        - draft
        - submitted
        - in_review
        - conditional
        - approved
        - declined
        - withdrawn
        - expired
        - unknown
    NormalizedEnum_loan_status:
      type: string
      enum:
        - pending
        - active
        - delinquent
        - defaulted
        - restructured
        - paid_off
        - charged_off
        - closed
        - unknown
    NormalizedEnum_rate_type:
      type: string
      enum:
        - fixed
        - variable
        - unknown
    NormalizedEnum_repayment_status:
      type: string
      enum:
        - scheduled
        - pending
        - completed
        - failed
        - reversed
        - waived
        - unknown
    NormalizedEnum_collateral_type:
      type: string
      enum:
        - real_estate
        - vehicle
        - equipment
        - inventory
        - receivables
        - cash
        - securities
        - all_assets
        - other
        - unknown
    NormalizedEnum_guarantee_type:
      type: string
      enum:
        - personal
        - corporate
        - limited
        - unlimited
        - unknown
    NormalizedEnum_covenant_status:
      type: string
      enum:
        - compliant
        - breached
        - waived
        - not_evaluated
        - unknown
    NormalizedEnum_decision_outcome:
      type: string
      enum:
        - approve
        - decline
        - refer
        - conditional
        - no_decision
    NormalizedEnum_search_status:
      type: string
      enum:
        - queued
        - running
        - completed
        - partial
        - failed
        - cancelled
    NormalizedEnum_lien_type:
      type: string
      enum:
        - ucc
        - ppsa
        - rdprm
        - tax
        - judgment
        - other
        - unknown
    NormalizedEnum_lien_status:
      type: string
      enum:
        - active
        - lapsed
        - terminated
        - discharged
        - unknown
    NormalizedLienParty:
      type: object
      properties:
        role:
          type: string
          description: Recorded debtor, secured party, assignee or other role.
        name:
          type: string
          description: Party name exactly as recorded.
        entity_id:
          anyOf:
            - type: string
            - type: 'null'
          description: Resolved AMLOK party only when established.
        address:
          anyOf:
            - $ref: '#/components/schemas/NormalizedAddress'
            - type: 'null'
          description: Address in registry evidence.
        source_party_id:
          anyOf:
            - type: string
            - type: 'null'
          description: Source identifier if provided.
      required:
        - role
        - name
    NormalizedEnum_filing_event_type:
      type: string
      enum:
        - initial
        - amendment
        - continuation
        - assignment
        - termination
        - discharge
        - renewal
        - unknown
    NormalizedEnum_value_type:
      type: string
      enum:
        - decimal
        - integer
        - boolean
        - string
        - date
    NormalizedEnum_metric_status:
      type: string
      enum:
        - available
        - unavailable
        - stale
    NormalizedEnum_null_reason:
      type: string
      enum:
        - not_provided
        - not_supported
        - not_authorized
        - not_applicable
        - pending
        - redacted
        - source_error
        - invalid
        - insufficient_history
    NormalizedEnum_monitor_status:
      type: string
      enum:
        - active
        - paused
        - cancelled
        - blocked
    NormalizedEnum_severity:
      type: string
      enum:
        - info
        - low
        - medium
        - high
        - critical
    NormalizedEnum_alert_status:
      type: string
      enum:
        - open
        - resolved
    NormalizedEnum_workflow_type:
      type: string
      enum:
        - verify
        - underwrite
        - monitor
        - investigate
    NormalizedEnum_workflow_status:
      type: string
      enum:
        - queued
        - running
        - waiting_for_data
        - completed
        - failed
        - cancelled
        - waiting_for_credits
        - blocked_by_limit
    NormalizedProcessingFailure:
      type: object
      properties:
        code:
          type: string
          enum:
            - provider_unavailable
            - processing_timeout
            - invalid_evidence
            - unsupported_scope
            - internal_processing_error
        message:
          type: string
          minLength: 1
        retryable:
          type: boolean
        recovery_action:
          type: string
          enum:
            - retry_same_run
            - correct_evidence
            - contact_support
        retry_after_seconds:
          anyOf:
            - type: integer
              minimum: 0
            - type: 'null'
        occurred_at:
          type: string
          format: date-time
        request_id:
          type: string
          minLength: 1
      required:
        - code
        - message
        - retryable
        - recovery_action
        - retry_after_seconds
        - occurred_at
        - request_id
      additionalProperties: false
      allOf:
        - if:
            properties:
              retryable:
                const: true
          then:
            properties:
              recovery_action:
                const: retry_same_run
              retry_after_seconds:
                type: integer
                minimum: 0
          else:
            properties:
              recovery_action:
                type: string
                enum:
                  - correct_evidence
                  - contact_support
              retry_after_seconds:
                type: 'null'
    NormalizedEnum_requirement_status:
      type: string
      enum:
        - missing
        - requested
        - received
        - accepted
        - rejected
        - waived
    NormalizedEvidenceRejection:
      type: object
      properties:
        code:
          type: string
          enum:
            - unreadable
            - wrong_document_type
            - subject_mismatch
            - incomplete_period
            - expired_document
            - other
        message:
          type: string
          minLength: 1
        document_ids:
          type: array
          items:
            type: string
            minLength: 1
        reviewed_at:
          type: string
          format: date-time
      required:
        - code
        - message
        - document_ids
        - reviewed_at
      additionalProperties: false
    VerificationAssessment:
      type: object
      properties:
        id:
          type: string
          minLength: 1
          description: Immutable assessment ID.
          x-field-id: VERIFY:VerificationAssessment.id
        borrower_id:
          type: string
          minLength: 1
          description: Borrower assessed; related subjects remain explicitly associated.
          x-field-id: VERIFY:VerificationAssessment.borrower_id
        subject_id:
          type: string
          minLength: 1
          description: >-
            The business/person subject_id returned by Get borrower. This is
            distinct from the borrower resource ID.
          x-field-id: VERIFY:VerificationAssessment.subject_id
        definition_version:
          const: 2026-11-06.1
          x-field-id: VERIFY:VerificationAssessment.definition_version
          description: Version of the normalized verification field definitions.
        as_of:
          type: string
          minLength: 1
          format: date-time
          description: UTC cutoff for this assessment.
          x-field-id: VERIFY:VerificationAssessment.as_of
        status:
          type: string
          enum:
            - complete
            - partial
            - unavailable
          x-field-id: VERIFY:VerificationAssessment.status
          description: >-
            State of this specific result; separate from entity legal status and
            lending decisions.
        outcome:
          type: string
          enum:
            - passed
            - failed
            - review_required
            - inconclusive
            - not_performed
          description: Identity/compliance assessment outcome, not a lending decision.
          x-field-id: VERIFY:VerificationAssessment.outcome
        summary:
          type: string
          minLength: 1
          description: Human-readable scope, findings and unresolved requirements.
          x-field-id: VERIFY:VerificationAssessment.summary
        sources:
          type: array
          items:
            $ref: '#/components/schemas/VerificationSource'
          description: Sources consulted with actual requested/completed coverage.
          x-field-id: VERIFY:VerificationAssessment.sources
        ownership_resolution:
          type: object
          properties:
            status:
              type: string
              enum:
                - complete
                - partial
                - unavailable
                - not_applicable
              x-field-id: VERIFY:VerificationAssessment.ownership_resolution.status
              description: >-
                State of this specific result; separate from entity legal status
                and lending decisions.
            reason:
              anyOf:
                - type: string
                  minLength: 1
                - type: 'null'
              x-field-id: VERIFY:VerificationAssessment.ownership_resolution.reason
              description: >-
                Explicit explanation code when no complete usable value is
                available.
            unresolved_subject_ids:
              type: array
              items:
                type: string
                minLength: 1
              x-field-id: >-
                VERIFY:VerificationAssessment.ownership_resolution.unresolved_subject_ids
              description: >-
                Related subjects whose identity or ownership chains remain
                unresolved.
            ownership_basis:
              type: string
              enum:
                - economic
                - voting
                - mixed
                - unknown
              x-field-id: >-
                VERIFY:VerificationAssessment.ownership_resolution.ownership_basis
              description: >-
                Whether coverage refers to economic equity, voting rights, mixed
                interests or an unknown basis.
            known_share:
              anyOf:
                - type: string
                  minLength: 1
                  pattern: ^(?:0(?:\.[0-9]+)?|1(?:\.0+)?)$
                - type: 'null'
              x-field-id: VERIFY:VerificationAssessment.ownership_resolution.known_share
              description: >-
                Evidenced fraction of the stated ownership denominator, 0 to 1;
                null if the denominator is unsupported.
            unknown_share:
              anyOf:
                - type: string
                  minLength: 1
                  pattern: ^(?:0(?:\.[0-9]+)?|1(?:\.0+)?)$
                - type: 'null'
              x-field-id: VERIFY:VerificationAssessment.ownership_resolution.unknown_share
              description: >-
                Unresolved fraction of the same ownership denominator, 0 to 1;
                null if unsupported.
          required:
            - status
            - reason
            - unresolved_subject_ids
            - ownership_basis
            - known_share
            - unknown_share
          additionalProperties: false
          x-field-id: VERIFY:VerificationAssessment.ownership_resolution
          description: >-
            Whether ownership chains and the stated denominator are fully
            evidenced.
        documents:
          type: array
          items:
            type: object
            properties:
              document_id:
                type: string
                minLength: 1
                x-field-id: VERIFY:VerificationAssessment.documents[].document_id
                description: >-
                  Document id. Preserve the source meaning; null or unknown does
                  not establish a negative or a verified result.
              kind:
                type: string
                enum:
                  - identity
                  - registry_report
                  - verification_report
                  - search_report
                  - articles
                  - filing
                  - licence
                  - court
                  - signed_document
                  - other
                x-field-id: VERIFY:VerificationAssessment.documents[].kind
                description: >-
                  Kind. Preserve the source meaning; null or unknown does not
                  establish a negative or a verified result.
              access:
                type: string
                enum:
                  - available
                  - restricted
                  - not_retained
                x-field-id: VERIFY:VerificationAssessment.documents[].access
                description: >-
                  Access. Preserve the source meaning; null or unknown does not
                  establish a negative or a verified result.
              reason:
                anyOf:
                  - type: string
                    minLength: 1
                  - type: 'null'
                x-field-id: VERIFY:VerificationAssessment.documents[].reason
                description: >-
                  Explicit explanation code when no complete usable value is
                  available.
              source_id:
                type: string
                minLength: 1
                x-field-id: VERIFY:VerificationAssessment.documents[].source_id
                description: >-
                  Source id. Preserve the source meaning; null or unknown does
                  not establish a negative or a verified result.
            required:
              - document_id
              - kind
              - access
              - reason
              - source_id
            additionalProperties: false
          x-field-id: VERIFY:VerificationAssessment.documents
          description: >-
            Source files accessible through existing document endpoints with
            authorization rechecked.
        checks:
          $ref: '#/components/schemas/VerificationResultSection'
          description: >-
            Execution, result, reasons and provider decisions for every
            requested check.
          x-field-id: VERIFY:VerificationAssessment.checks
        businesses:
          $ref: '#/components/schemas/VerificationBusinessSection'
          description: >-
            Candidates and resolved legal entities, without equating a search
            hit with verification.
          x-field-id: VERIFY:VerificationAssessment.businesses
        persons:
          $ref: '#/components/schemas/VerificationPersonSection'
          description: Authorized borrower and related-person identity attributes.
          x-field-id: VERIFY:VerificationAssessment.persons
        registrations:
          $ref: '#/components/schemas/VerificationRegistrationSection'
          description: >-
            Legal status, good standing, registration authorities and
            annual-return compliance.
          x-field-id: VERIFY:VerificationAssessment.registrations
        addresses:
          $ref: '#/components/schemas/VerificationAddressSection'
          description: >-
            Registered, records, operating, service and residential addresses
            and validation.
          x-field-id: VERIFY:VerificationAssessment.addresses
        relationships:
          $ref: '#/components/schemas/VerificationRelationshipSection'
          description: >-
            Directors, officers, agents, signatories, parent entities and
            guarantors.
          x-field-id: VERIFY:VerificationAssessment.relationships
        ownership:
          $ref: '#/components/schemas/VerificationOwnershipSection'
          description: >-
            Direct, indirect, economic and voting interests, with unresolved
            ownership explicit.
          x-field-id: VERIFY:VerificationAssessment.ownership
        identity_documents:
          $ref: '#/components/schemas/VerificationIdentityDocumentSection'
          description: Document identity, authenticity, expiry, NFC and wallet assurance.
          x-field-id: VERIFY:VerificationAssessment.identity_documents
        biometrics:
          $ref: '#/components/schemas/VerificationBiometricSection'
          description: >-
            Liveness and face comparison results without biometric media or
            templates.
          x-field-id: VERIFY:VerificationAssessment.biometrics
        screenings:
          $ref: '#/components/schemas/VerificationScreeningSection'
          description: >-
            Sanctions, PEP, watchlists and adverse-media candidates with review
            disposition.
          x-field-id: VERIFY:VerificationAssessment.screenings
        tax_checks:
          $ref: '#/components/schemas/VerificationTaxCheckSection'
          description: >-
            TIN, EIN, BN and VAT validation, distinct from tax payment
            compliance.
          x-field-id: VERIFY:VerificationAssessment.tax_checks
        licences:
          $ref: '#/components/schemas/VerificationLicenceSection'
          description: >-
            Jurisdiction-specific licences, authorizations, classifications and
            registration status.
          x-field-id: VERIFY:VerificationAssessment.licences
        filings:
          $ref: '#/components/schemas/VerificationFilingSection'
          description: Dated corporate events, annual returns and document references.
          x-field-id: VERIFY:VerificationAssessment.filings
        corporate_structure:
          $ref: '#/components/schemas/VerificationCorporateStructureSection'
          description: >-
            Share classes, voting rights, restrictions, capital and governing
            provisions.
          x-field-id: VERIFY:VerificationAssessment.corporate_structure
        public_records:
          $ref: '#/components/schemas/VerificationPublicRecordSection'
          description: >-
            Liens, judgments, litigation, bankruptcy and licensed consortium
            observations.
          x-field-id: VERIFY:VerificationAssessment.public_records
        online_presence:
          $ref: '#/components/schemas/VerificationOnlinePresenceSection'
          description: >-
            Business websites, directories, reviews and business social
            profiles.
          x-field-id: VERIFY:VerificationAssessment.online_presence
        contact_checks:
          $ref: '#/components/schemas/VerificationContactCheckSection'
          description: >-
            Email and phone verification, deliverability, carrier and fraud
            signals.
          x-field-id: VERIFY:VerificationAssessment.contact_checks
        device_checks:
          $ref: '#/components/schemas/VerificationDeviceCheckSection'
          description: Coarse location, network integrity and consistency observations.
          x-field-id: VERIFY:VerificationAssessment.device_checks
        document_checks:
          $ref: '#/components/schemas/VerificationDocumentCheckSection'
          description: Document extraction, tamper and cross-document consistency results.
          x-field-id: VERIFY:VerificationAssessment.document_checks
        bank_account_checks:
          $ref: '#/components/schemas/VerificationBankAccountCheckSection'
          description: >-
            Account-holder matching and verification method, separate from
            financial analysis.
          x-field-id: VERIFY:VerificationAssessment.bank_account_checks
        questionnaires:
          $ref: '#/components/schemas/VerificationQuestionnaireSection'
          description: >-
            Versioned borrower declarations, repeatable answers and file
            references with declared provenance.
          x-field-id: VERIFY:VerificationAssessment.questionnaires
        signatures:
          $ref: '#/components/schemas/VerificationSignatureSection'
          description: >-
            Signer identity, authority, consent and signature validation
            evidence.
          x-field-id: VERIFY:VerificationAssessment.signatures
        field_comparisons:
          $ref: '#/components/schemas/VerificationFieldComparisonSection'
          description: >-
            Submitted versus observed values, thresholds and exact matching
            outcomes.
          x-field-id: VERIFY:VerificationAssessment.field_comparisons
        source_scores:
          $ref: '#/components/schemas/VerificationSourceScoreSection'
          description: >-
            Original provider scales, ratings and reason codes; never an AMLOK
            credit probability.
          x-field-id: VERIFY:VerificationAssessment.source_scores
        duplicate_checks:
          $ref: '#/components/schemas/VerificationDuplicateCheckSection'
          description: Authorized same-workspace matches with identifiers minimized.
          x-field-id: VERIFY:VerificationAssessment.duplicate_checks
      required:
        - id
        - borrower_id
        - subject_id
        - definition_version
        - as_of
        - status
        - outcome
        - summary
        - sources
        - ownership_resolution
        - documents
        - checks
        - businesses
        - persons
        - registrations
        - addresses
        - relationships
        - ownership
        - identity_documents
        - biometrics
        - screenings
        - tax_checks
        - licences
        - filings
        - corporate_structure
        - public_records
        - online_presence
        - contact_checks
        - device_checks
        - document_checks
        - bank_account_checks
        - questionnaires
        - signatures
        - field_comparisons
        - source_scores
        - duplicate_checks
      additionalProperties: false
      description: >-
        Complete normalized KYC/KYB assessment from authorized sources. Empty or
        unavailable checks never imply a pass. All sections are present;
        coverage and missing-field reasons explain withheld or absent
        information.
      allOf:
        - if:
            properties:
              status:
                const: unavailable
          then:
            properties:
              outcome:
                enum:
                  - inconclusive
                  - not_performed
        - if:
            properties:
              ownership_resolution:
                properties:
                  status:
                    const: partial
          then:
            properties:
              ownership_resolution:
                properties:
                  reason:
                    type: string
                    minLength: 1
    CreateExport:
      type: object
      properties:
        kind:
          type: string
          enum:
            - risk_package
            - evidence
            - billing
            - data
          description: >-
            Kind for CreateExport. Constraints, requiredness and allowed values
            are defined by this schema.
        risk_package_id:
          type: string
          minLength: 1
          description: >-
            Opaque identifier, authorized within the API key workspace and
            environment.
        evidence_set_id:
          type: string
          minLength: 1
          description: >-
            Opaque identifier, authorized within the API key workspace and
            environment.
        billing_report_type:
          type: string
          enum:
            - usage
            - credits
            - statements
            - funding
            - rates
            - workload
          description: >-
            Billing report type for CreateExport. Constraints, requiredness and
            allowed values are defined by this schema.
        window:
          $ref: '#/components/schemas/Window'
          description: >-
            Window for CreateExport. Constraints, requiredness and allowed
            values are defined by this schema.
        format:
          type: string
          enum:
            - json
            - csv
            - pdf
          description: >-
            Format for CreateExport. Constraints, requiredness and allowed
            values are defined by this schema.
        data_snapshot_id:
          type: string
          minLength: 1
          description: Opaque ID within the authorized workspace and environment.
        data_record_id:
          type: string
          minLength: 1
          description: >-
            Exact immutable DataRecord version, alternative to data_snapshot_id
            for kind=data.
      required:
        - kind
        - format
      additionalProperties: false
      oneOf:
        - properties:
            kind:
              const: risk_package
            format:
              type: string
              enum:
                - json
                - pdf
          required:
            - risk_package_id
          not:
            anyOf:
              - required:
                  - evidence_set_id
              - required:
                  - billing_report_type
              - required:
                  - window
              - required:
                  - data_snapshot_id
              - required:
                  - data_record_id
          title: Risk-package export
        - properties:
            kind:
              const: evidence
            format:
              type: string
              enum:
                - json
                - csv
          required:
            - evidence_set_id
          not:
            anyOf:
              - required:
                  - risk_package_id
              - required:
                  - billing_report_type
              - required:
                  - window
              - required:
                  - data_snapshot_id
              - required:
                  - data_record_id
          title: Evidence export
        - properties:
            kind:
              const: billing
            format:
              type: string
              enum:
                - json
                - csv
          required:
            - billing_report_type
            - window
          not:
            anyOf:
              - required:
                  - risk_package_id
              - required:
                  - evidence_set_id
              - required:
                  - data_snapshot_id
              - required:
                  - data_record_id
          title: Billing export
        - title: Collected data export
          properties:
            kind:
              const: data
            format:
              type: string
              enum:
                - json
                - csv
          required: []
          not:
            anyOf:
              - required:
                  - risk_package_id
              - required:
                  - evidence_set_id
              - required:
                  - billing_report_type
              - required:
                  - window
          oneOf:
            - required:
                - data_snapshot_id
              not:
                required:
                  - data_record_id
            - required:
                - data_record_id
              not:
                required:
                  - data_snapshot_id
    DataCheckpoint:
      type: object
      properties:
        snapshot_id:
          type: string
          minLength: 1
        as_of:
          type: string
          minLength: 1
          format: date-time
        changes_cursor:
          type: string
          minLength: 1
        expires_at:
          type: string
          minLength: 1
          format: date-time
      required:
        - snapshot_id
        - as_of
        - changes_cursor
        - expires_at
      additionalProperties: false
      description: >-
        Atomic data snapshot and feed boundary retained even when the first
        record exceeds the response limit.
    NormalizedMoney:
      type: object
      properties:
        amount:
          type: string
          pattern: ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?$
          description: >-
            Exact decimal string in major units; signed only where field
            definition specifies.
        currency:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Uppercase ISO 4217 currency when known; null blocks monetary
            aggregation and requires missing_fields reason.
      required:
        - amount
        - currency
    NormalizedEnum_receivable_kind:
      type: string
      enum:
        - invoice
        - bill
        - credit_note
    VerificationSource:
      type: object
      properties:
        id:
          type: string
          minLength: 1
          description: Opaque ID referenced by item provenance.
          x-field-id: VERIFY:VerificationSource.id
        kind:
          type: string
          enum:
            - identity_verification
            - business_verification
            - registry
            - regulatory_registry
            - screening
            - document
            - institution
          x-field-id: VERIFY:VerificationSource.kind
          description: >-
            Kind. Preserve the source meaning; null or unknown does not
            establish a negative or a verified result.
        display_name:
          type: string
          minLength: 1
          description: Source label permitted for disclosure.
          x-field-id: VERIFY:VerificationSource.display_name
        jurisdictions:
          type: array
          items:
            type: string
            minLength: 1
          description: Actual source jurisdictions.
          x-field-id: VERIFY:VerificationSource.jurisdictions
        reference:
          anyOf:
            - type: string
              minLength: 1
            - type: 'null'
          description: >-
            Permitted source report reference, excluding management URLs and
            secret session tokens.
          x-field-id: VERIFY:VerificationSource.reference
        reported_status:
          anyOf:
            - type: string
              minLength: 1
            - type: 'null'
          description: Original source status; not silently mapped to verified.
          x-field-id: VERIFY:VerificationSource.reported_status
        requested_at:
          anyOf:
            - type: string
              minLength: 1
              format: date-time
            - type: 'null'
          description: UTC request time.
          x-field-id: VERIFY:VerificationSource.requested_at
        completed_at:
          anyOf:
            - type: string
              minLength: 1
              format: date-time
            - type: 'null'
          description: UTC completion time; null for pending/unknown.
          x-field-id: VERIFY:VerificationSource.completed_at
        as_of:
          anyOf:
            - type: string
              minLength: 1
              format: date-time
            - type: 'null'
          description: Source snapshot time; retrieval time is not a substitute.
          x-field-id: VERIFY:VerificationSource.as_of
        coverage:
          $ref: '#/components/schemas/VerificationCoverage'
          x-field-id: VERIFY:VerificationSource.coverage
          description: Actual requested and completed source scope with limitations.
        document_ids:
          type: array
          items:
            type: string
            minLength: 1
          description: AMLOK document IDs for authorized reports.
          x-field-id: VERIFY:VerificationSource.document_ids
        warnings:
          type: array
          items:
            type: string
            minLength: 1
          description: Permitted source warnings.
          x-field-id: VERIFY:VerificationSource.warnings
        errors:
          type: array
          items:
            type: string
            minLength: 1
          description: >-
            Permitted source error codes or explanations; no stack traces or
            secrets.
          x-field-id: VERIFY:VerificationSource.errors
      required:
        - id
        - kind
        - display_name
        - jurisdictions
        - reference
        - reported_status
        - requested_at
        - completed_at
        - as_of
        - coverage
        - document_ids
        - warnings
        - errors
      additionalProperties: false
    VerificationResultSection:
      type: object
      properties:
        status:
          type: string
          enum:
            - available
            - partial
            - unavailable
            - not_applicable
          x-field-id: VERIFY:VerificationResultSection.status
          description: >-
            State of this specific result; separate from entity legal status and
            lending decisions.
        reason:
          anyOf:
            - $ref: '#/components/schemas/VerificationReason'
            - type: 'null'
          description: Machine-readable reason for incomplete or inapplicable results.
          x-field-id: VERIFY:VerificationResultSection.reason
        explanation:
          anyOf:
            - type: string
              minLength: 1
            - type: 'null'
          description: Human-readable scope or missing-data explanation.
          x-field-id: VERIFY:VerificationResultSection.explanation
        coverage:
          $ref: '#/components/schemas/VerificationCoverage'
          x-field-id: VERIFY:VerificationResultSection.coverage
          description: Actual requested and completed source scope with limitations.
        items:
          type: array
          items:
            $ref: '#/components/schemas/VerificationResult'
          x-field-id: VERIFY:VerificationResultSection.items
          description: >-
            All authorized observations in this section, including distinct
            source observations.
      required:
        - status
        - reason
        - explanation
        - coverage
        - items
      additionalProperties: false
      description: >-
        Execution, result, reasons and provider decisions for every requested
        check.
      allOf:
        - if:
            properties:
              status:
                enum:
                  - unavailable
                  - not_applicable
          then:
            properties:
              items:
                maxItems: 0
              reason:
                $ref: '#/components/schemas/VerificationReason'
              explanation:
                type: string
                minLength: 1
        - if:
            properties:
              status:
                const: partial
          then:
            properties:
              reason:
                $ref: '#/components/schemas/VerificationReason'
              explanation:
                type: string
                minLength: 1
        - if:
            properties:
              status:
                const: available
          then:
            properties:
              reason:
                type: 'null'
    VerificationBusinessSection:
      type: object
      properties:
        status:
          type: string
          enum:
            - available
            - partial
            - unavailable
            - not_applicable
          x-field-id: VERIFY:VerificationBusinessSection.status
          description: >-
            State of this specific result; separate from entity legal status and
            lending decisions.
        reason:
          anyOf:
            - $ref: '#/components/schemas/VerificationReason'
            - type: 'null'
          description: Machine-readable reason for incomplete or inapplicable results.
          x-field-id: VERIFY:VerificationBusinessSection.reason
        explanation:
          anyOf:
            - type: string
              minLength: 1
            - type: 'null'
          description: Human-readable scope or missing-data explanation.
          x-field-id: VERIFY:VerificationBusinessSection.explanation
        coverage:
          $ref: '#/components/schemas/VerificationCoverage'
          x-field-id: VERIFY:VerificationBusinessSection.coverage
          description: Actual requested and completed source scope with limitations.
        items:
          type: array
          items:
            $ref: '#/components/schemas/VerificationBusiness'
          x-field-id: VERIFY:VerificationBusinessSection.items
          description: >-
            All authorized observations in this section, including distinct
            source observations.
      required:
        - status
        - reason
        - explanation
        - coverage
        - items
      additionalProperties: false
      description: >-
        Candidates and resolved legal entities, without equating a search hit
        with verification.
      allOf:
        - if:
            properties:
              status:
                enum:
                  - unavailable
                  - not_applicable
          then:
            properties:
              items:
                maxItems: 0
              reason:
                $ref: '#/components/schemas/VerificationReason'
              explanation:
                type: string
                minLength: 1
        - if:
            properties:
              status:
                const: partial
          then:
            properties:
              reason:
                $ref: '#/components/schemas/VerificationReason'
              explanation:
                type: string
                minLength: 1
        - if:
            properties:
              status:
                const: available
          then:
            properties:
              reason:
                type: 'null'
    VerificationPersonSection:
      type: object
      properties:
        status:
          type: string
          enum:
            - available
            - partial
            - unavailable
            - not_applicable
          x-field-id: VERIFY:VerificationPersonSection.status
          description: >-
            State of this specific result; separate from entity legal status and
            lending decisions.
        reason:
          anyOf:
            - $ref: '#/components/schemas/VerificationReason'
            - type: 'null'
          description: Machine-readable reason for incomplete or inapplicable results.
          x-field-id: VERIFY:VerificationPersonSection.reason
        explanation:
          anyOf:
            - type: string
              minLength: 1
            - type: 'null'
          description: Human-readable scope or missing-data explanation.
          x-field-id: VERIFY:VerificationPersonSection.explanation
        coverage:
          $ref: '#/components/schemas/VerificationCoverage'
          x-field-id: VERIFY:VerificationPersonSection.coverage
          description: Actual requested and completed source scope with limitations.
        items:
          type: array
          items:
            $ref: '#/components/schemas/VerificationPerson'
          x-field-id: VERIFY:VerificationPersonSection.items
          description: >-
            All authorized observations in this section, including distinct
            source observations.
      required:
        - status
        - reason
        - explanation
        - coverage
        - items
      additionalProperties: false
      description: Authorized borrower and related-person identity attributes.
      allOf:
        - if:
            properties:
              status:
                enum:
                  - unavailable
                  - not_applicable
          then:
            properties:
              items:
                maxItems: 0
              reason:
                $ref: '#/components/schemas/VerificationReason'
              explanation:
                type: string
                minLength: 1
        - if:
            properties:
              status:
                const: partial
          then:
            properties:
              reason:
                $ref: '#/components/schemas/VerificationReason'
              explanation:
                type: string
                minLength: 1
        - if:
            properties:
              status:
                const: available
          then:
            properties:
              reason:
                type: 'null'
    VerificationRegistrationSection:
      type: object
      properties:
        status:
          type: string
          enum:
            - available
            - partial
            - unavailable
            - not_applicable
          x-field-id: VERIFY:VerificationRegistrationSection.status
          description: >-
            State of this specific result; separate from entity legal status and
            lending decisions.
        reason:
          anyOf:
            - $ref: '#/components/schemas/VerificationReason'
            - type: 'null'
          description: Machine-readable reason for incomplete or inapplicable results.
          x-field-id: VERIFY:VerificationRegistrationSection.reason
        explanation:
          anyOf:
            - type: string
              minLength: 1
            - type: 'null'
          description: Human-readable scope or missing-data explanation.
          x-field-id: VERIFY:VerificationRegistrationSection.explanation
        coverage:
          $ref: '#/components/schemas/VerificationCoverage'
          x-field-id: VERIFY:VerificationRegistrationSection.coverage
          description: Actual requested and completed source scope with limitations.
        items:
          type: array
          items:
            $ref: '#/components/schemas/VerificationRegistration'
          x-field-id: VERIFY:VerificationRegistrationSection.items
          description: >-
            All authorized observations in this section, including distinct
            source observations.
      required:
        - status
        - reason
        - explanation
        - coverage
        - items
      additionalProperties: false
      description: >-
        Legal status, good standing, registration authorities and annual-return
        compliance.
      allOf:
        - if:
            properties:
              status:
                enum:
                  - unavailable
                  - not_applicable
          then:
            properties:
              items:
                maxItems: 0
              reason:
                $ref: '#/components/schemas/VerificationReason'
              explanation:
                type: string
                minLength: 1
        - if:
            properties:
              status:
                const: partial
          then:
            properties:
              reason:
                $ref: '#/components/schemas/VerificationReason'
              explanation:
                type: string
                minLength: 1
        - if:
            properties:
              status:
                const: available
          then:
            properties:
              reason:
                type: 'null'
    VerificationAddressSection:
      type: object
      properties:
        status:
          type: string
          enum:
            - available
            - partial
            - unavailable
            - not_applicable
          x-field-id: VERIFY:VerificationAddressSection.status
          description: >-
            State of this specific result; separate from entity legal status and
            lending decisions.
        reason:
          anyOf:
            - $ref: '#/components/schemas/VerificationReason'
            - type: 'null'
          description: Machine-readable reason for incomplete or inapplicable results.
          x-field-id: VERIFY:VerificationAddressSection.reason
        explanation:
          anyOf:
            - type: string
              minLength: 1
            - type: 'null'
          description: Human-readable scope or missing-data explanation.
          x-field-id: VERIFY:VerificationAddressSection.explanation
        coverage:
          $ref: '#/components/schemas/VerificationCoverage'
          x-field-id: VERIFY:VerificationAddressSection.coverage
          description: Actual requested and completed source scope with limitations.
        items:
          type: array
          items:
            $ref: '#/components/schemas/VerificationAddress'
          x-field-id: VERIFY:VerificationAddressSection.items
          description: >-
            All authorized observations in this section, including distinct
            source observations.
      required:
        - status
        - reason
        - explanation
        - coverage
        - items
      additionalProperties: false
      description: >-
        Registered, records, operating, service and residential addresses and
        validation.
      allOf:
        - if:
            properties:
              status:
                enum:
                  - unavailable
                  - not_applicable
          then:
            properties:
              items:
                maxItems: 0
              reason:
                $ref: '#/components/schemas/VerificationReason'
              explanation:
                type: string
                minLength: 1
        - if:
            properties:
              status:
                const: partial
          then:
            properties:
              reason:
                $ref: '#/components/schemas/VerificationReason'
              explanation:
                type: string
                minLength: 1
        - if:
            properties:
              status:
                const: available
          then:
            properties:
              reason:
                type: 'null'
    VerificationRelationshipSection:
      type: object
      properties:
        status:
          type: string
          enum:
            - available
            - partial
            - unavailable
            - not_applicable
          x-field-id: VERIFY:VerificationRelationshipSection.status
          description: >-
            State of this specific result; separate from entity legal status and
            lending decisions.
        reason:
          anyOf:
            - $ref: '#/components/schemas/VerificationReason'
            - type: 'null'
          description: Machine-readable reason for incomplete or inapplicable results.
          x-field-id: VERIFY:VerificationRelationshipSection.reason
        explanation:
          anyOf:
            - type: string
              minLength: 1
            - type: 'null'
          description: Human-readable scope or missing-data explanation.
          x-field-id: VERIFY:VerificationRelationshipSection.explanation
        coverage:
          $ref: '#/components/schemas/VerificationCoverage'
          x-field-id: VERIFY:VerificationRelationshipSection.coverage
          description: Actual requested and completed source scope with limitations.
        items:
          type: array
          items:
            $ref: '#/components/schemas/VerificationRelationship'
          x-field-id: VERIFY:VerificationRelationshipSection.items
          description: >-
            All authorized observations in this section, including distinct
            source observations.
      required:
        - status
        - reason
        - explanation
        - coverage
        - items
      additionalProperties: false
      description: >-
        Directors, officers, agents, signatories, parent entities and
        guarantors.
      allOf:
        - if:
            properties:
              status:
                enum:
                  - unavailable
                  - not_applicable
          then:
            properties:
              items:
                maxItems: 0
              reason:
                $ref: '#/components/schemas/VerificationReason'
              explanation:
                type: string
                minLength: 1
        - if:
            properties:
              status:
                const: partial
          then:
            properties:
              reason:
                $ref: '#/components/schemas/VerificationReason'
              explanation:
                type: string
                minLength: 1
        - if:
            properties:
              status:
                const: available
          then:
            properties:
              reason:
                type: 'null'
    VerificationOwnershipSection:
      type: object
      properties:
        status:
          type: string
          enum:
            - available
            - partial
            - unavailable
            - not_applicable
          x-field-id: VERIFY:VerificationOwnershipSection.status
          description: >-
            State of this specific result; separate from entity legal status and
            lending decisions.
        reason:
          anyOf:
            - $ref: '#/components/schemas/VerificationReason'
            - type: 'null'
          description: Machine-readable reason for incomplete or inapplicable results.
          x-field-id: VERIFY:VerificationOwnershipSection.reason
        explanation:
          anyOf:
            - type: string
              minLength: 1
            - type: 'null'
          description: Human-readable scope or missing-data explanation.
          x-field-id: VERIFY:VerificationOwnershipSection.explanation
        coverage:
          $ref: '#/components/schemas/VerificationCoverage'
          x-field-id: VERIFY:VerificationOwnershipSection.coverage
          description: Actual requested and completed source scope with limitations.
        items:
          type: array
          items:
            $ref: '#/components/schemas/VerificationOwnership'
          x-field-id: VERIFY:VerificationOwnershipSection.items
          description: >-
            All authorized observations in this section, including distinct
            source observations.
      required:
        - status
        - reason
        - explanation
        - coverage
        - items
      additionalProperties: false
      description: >-
        Direct, indirect, economic and voting interests, with unresolved
        ownership explicit.
      allOf:
        - if:
            properties:
              status:
                enum:
                  - unavailable
                  - not_applicable
          then:
            properties:
              items:
                maxItems: 0
              reason:
                $ref: '#/components/schemas/VerificationReason'
              explanation:
                type: string
                minLength: 1
        - if:
            properties:
              status:
                const: partial
          then:
            properties:
              reason:
                $ref: '#/components/schemas/VerificationReason'
              explanation:
                type: string
                minLength: 1
        - if:
            properties:
              status:
                const: available
          then:
            properties:
              reason:
                type: 'null'
    VerificationIdentityDocumentSection:
      type: object
      properties:
        status:
          type: string
          enum:
            - available
            - partial
            - unavailable
            - not_applicable
          x-field-id: VERIFY:VerificationIdentityDocumentSection.status
          description: >-
            State of this specific result; separate from entity legal status and
            lending decisions.
        reason:
          anyOf:
            - $ref: '#/components/schemas/VerificationReason'
            - type: 'null'
          description: Machine-readable reason for incomplete or inapplicable results.
          x-field-id: VERIFY:VerificationIdentityDocumentSection.reason
        explanation:
          anyOf:
            - type: string
              minLength: 1
            - type: 'null'
          description: Human-readable scope or missing-data explanation.
          x-field-id: VERIFY:VerificationIdentityDocumentSection.explanation
        coverage:
          $ref: '#/components/schemas/VerificationCoverage'
          x-field-id: VERIFY:VerificationIdentityDocumentSection.coverage
          description: Actual requested and completed source scope with limitations.
        items:
          type: array
          items:
            $ref: '#/components/schemas/VerificationIdentityDocument'
          x-field-id: VERIFY:VerificationIdentityDocumentSection.items
          description: >-
            All authorized observations in this section, including distinct
            source observations.
      required:
        - status
        - reason
        - explanation
        - coverage
        - items
      additionalProperties: false
      description: Document identity, authenticity, expiry, NFC and wallet assurance.
      allOf:
        - if:
            properties:
              status:
                enum:
                  - unavailable
                  - not_applicable
          then:
            properties:
              items:
                maxItems: 0
              reason:
                $ref: '#/components/schemas/VerificationReason'
              explanation:
                type: string
                minLength: 1
        - if:
            properties:
              status:
                const: partial
          then:
            properties:
              reason:
                $ref: '#/components/schemas/VerificationReason'
              explanation:
                type: string
                minLength: 1
        - if:
            properties:
              status:
                const: available
          then:
            properties:
              reason:
                type: 'null'
    VerificationBiometricSection:
      type: object
      properties:
        status:
          type: string
          enum:
            - available
            - partial
            - unavailable
            - not_applicable
          x-field-id: VERIFY:VerificationBiometricSection.status
          description: >-
            State of this specific result; separate from entity legal status and
            lending decisions.
        reason:
          anyOf:
            - $ref: '#/components/schemas/VerificationReason'
            - type: 'null'
          description: Machine-readable reason for incomplete or inapplicable results.
          x-field-id: VERIFY:VerificationBiometricSection.reason
        explanation:
          anyOf:
            - type: string
              minLength: 1
            - type: 'null'
          description: Human-readable scope or missing-data explanation.
          x-field-id: VERIFY:VerificationBiometricSection.explanation
        coverage:
          $ref: '#/components/schemas/VerificationCoverage'
          x-field-id: VERIFY:VerificationBiometricSection.coverage
          description: Actual requested and completed source scope with limitations.
        items:
          type: array
          items:
            $ref: '#/components/schemas/VerificationBiometric'
          x-field-id: VERIFY:VerificationBiometricSection.items
          description: >-
            All authorized observations in this section, including distinct
            source observations.
      required:
        - status
        - reason
        - explanation
        - coverage
        - items
      additionalProperties: false
      description: >-
        Liveness and face comparison results without biometric media or
        templates.
      allOf:
        - if:
            properties:
              status:
                enum:
                  - unavailable
                  - not_applicable
          then:
            properties:
              items:
                maxItems: 0
              reason:
                $ref: '#/components/schemas/VerificationReason'
              explanation:
                type: string
                minLength: 1
        - if:
            properties:
              status:
                const: partial
          then:
            properties:
              reason:
                $ref: '#/components/schemas/VerificationReason'
              explanation:
                type: string
                minLength: 1
        - if:
            properties:
              status:
                const: available
          then:
            properties:
              reason:
                type: 'null'
    VerificationScreeningSection:
      type: object
      properties:
        status:
          type: string
          enum:
            - available
            - partial
            - unavailable
            - not_applicable
          x-field-id: VERIFY:VerificationScreeningSection.status
          description: >-
            State of this specific result; separate from entity legal status and
            lending decisions.
        reason:
          anyOf:
            - $ref: '#/components/schemas/VerificationReason'
            - type: 'null'
          description: Machine-readable reason for incomplete or inapplicable results.
          x-field-id: VERIFY:VerificationScreeningSection.reason
        explanation:
          anyOf:
            - type: string
              minLength: 1
            - type: 'null'
          description: Human-readable scope or missing-data explanation.
          x-field-id: VERIFY:VerificationScreeningSection.explanation
        coverage:
          $ref: '#/components/schemas/VerificationCoverage'
          x-field-id: VERIFY:VerificationScreeningSection.coverage
          description: Actual requested and completed source scope with limitations.
        items:
          type: array
          items:
            $ref: '#/components/schemas/VerificationScreening'
          x-field-id: VERIFY:VerificationScreeningSection.items
          description: >-
            All authorized observations in this section, including distinct
            source observations.
      required:
        - status
        - reason
        - explanation
        - coverage
        - items
      additionalProperties: false
      description: >-
        Sanctions, PEP, watchlists and adverse-media candidates with review
        disposition.
      allOf:
        - if:
            properties:
              status:
                enum:
                  - unavailable
                  - not_applicable
          then:
            properties:
              items:
                maxItems: 0
              reason:
                $ref: '#/components/schemas/VerificationReason'
              explanation:
                type: string
                minLength: 1
        - if:
            properties:
              status:
                const: partial
          then:
            properties:
              reason:
                $ref: '#/components/schemas/VerificationReason'
              explanation:
                type: string
                minLength: 1
        - if:
            properties:
              status:
                const: available
          then:
            properties:
              reason:
                type: 'null'
    VerificationTaxCheckSection:
      type: object
      properties:
        status:
          type: string
          enum:
            - available
            - partial
            - unavailable
            - not_applicable
          x-field-id: VERIFY:VerificationTaxCheckSection.status
          description: >-
            State of this specific result; separate from entity legal status and
            lending decisions.
        reason:
          anyOf:
            - $ref: '#/components/schemas/VerificationReason'
            - type: 'null'
          description: Machine-readable reason for incomplete or inapplicable results.
          x-field-id: VERIFY:VerificationTaxCheckSection.reason
        explanation:
          anyOf:
            - type: string
              minLength: 1
            - type: 'null'
          description: Human-readable scope or missing-data explanation.
          x-field-id: VERIFY:VerificationTaxCheckSection.explanation
        coverage:
          $ref: '#/components/schemas/VerificationCoverage'
          x-field-id: VERIFY:VerificationTaxCheckSection.coverage
          description: Actual requested and completed source scope with limitations.
        items:
          type: array
          items:
            $ref: '#/components/schemas/VerificationTaxCheck'
          x-field-id: VERIFY:VerificationTaxCheckSection.items
          description: >-
            All authorized observations in this section, including distinct
            source observations.
      required:
        - status
        - reason
        - explanation
        - coverage
        - items
      additionalProperties: false
      description: TIN, EIN, BN and VAT validation, distinct from tax payment compliance.
      allOf:
        - if:
            properties:
              status:
                enum:
                  - unavailable
                  - not_applicable
          then:
            properties:
              items:
                maxItems: 0
              reason:
                $ref: '#/components/schemas/VerificationReason'
              explanation:
                type: string
                minLength: 1
        - if:
            properties:
              status:
                const: partial
          then:
            properties:
              reason:
                $ref: '#/components/schemas/VerificationReason'
              explanation:
                type: string
                minLength: 1
        - if:
            properties:
              status:
                const: available
          then:
            properties:
              reason:
                type: 'null'
    VerificationLicenceSection:
      type: object
      properties:
        status:
          type: string
          enum:
            - available
            - partial
            - unavailable
            - not_applicable
          x-field-id: VERIFY:VerificationLicenceSection.status
          description: >-
            State of this specific result; separate from entity legal status and
            lending decisions.
        reason:
          anyOf:
            - $ref: '#/components/schemas/VerificationReason'
            - type: 'null'
          description: Machine-readable reason for incomplete or inapplicable results.
          x-field-id: VERIFY:VerificationLicenceSection.reason
        explanation:
          anyOf:
            - type: string
              minLength: 1
            - type: 'null'
          description: Human-readable scope or missing-data explanation.
          x-field-id: VERIFY:VerificationLicenceSection.explanation
        coverage:
          $ref: '#/components/schemas/VerificationCoverage'
          x-field-id: VERIFY:VerificationLicenceSection.coverage
          description: Actual requested and completed source scope with limitations.
        items:
          type: array
          items:
            $ref: '#/components/schemas/VerificationLicence'
          x-field-id: VERIFY:VerificationLicenceSection.items
          description: >-
            All authorized observations in this section, including distinct
            source observations.
      required:
        - status
        - reason
        - explanation
        - coverage
        - items
      additionalProperties: false
      description: >-
        Jurisdiction-specific licences, authorizations, classifications and
        registration status.
      allOf:
        - if:
            properties:
              status:
                enum:
                  - unavailable
                  - not_applicable
          then:
            properties:
              items:
                maxItems: 0
              reason:
                $ref: '#/components/schemas/VerificationReason'
              explanation:
                type: string
                minLength: 1
        - if:
            properties:
              status:
                const: partial
          then:
            properties:
              reason:
                $ref: '#/components/schemas/VerificationReason'
              explanation:
                type: string
                minLength: 1
        - if:
            properties:
              status:
                const: available
          then:
            properties:
              reason:
                type: 'null'
    VerificationFilingSection:
      type: object
      properties:
        status:
          type: string
          enum:
            - available
            - partial
            - unavailable
            - not_applicable
          x-field-id: VERIFY:VerificationFilingSection.status
          description: >-
            State of this specific result; separate from entity legal status and
            lending decisions.
        reason:
          anyOf:
            - $ref: '#/components/schemas/VerificationReason'
            - type: 'null'
          description: Machine-readable reason for incomplete or inapplicable results.
          x-field-id: VERIFY:VerificationFilingSection.reason
        explanation:
          anyOf:
            - type: string
              minLength: 1
            - type: 'null'
          description: Human-readable scope or missing-data explanation.
          x-field-id: VERIFY:VerificationFilingSection.explanation
        coverage:
          $ref: '#/components/schemas/VerificationCoverage'
          x-field-id: VERIFY:VerificationFilingSection.coverage
          description: Actual requested and completed source scope with limitations.
        items:
          type: array
          items:
            $ref: '#/components/schemas/VerificationFiling'
          x-field-id: VERIFY:VerificationFilingSection.items
          description: >-
            All authorized observations in this section, including distinct
            source observations.
      required:
        - status
        - reason
        - explanation
        - coverage
        - items
      additionalProperties: false
      description: Dated corporate events, annual returns and document references.
      allOf:
        - if:
            properties:
              status:
                enum:
                  - unavailable
                  - not_applicable
          then:
            properties:
              items:
                maxItems: 0
              reason:
                $ref: '#/components/schemas/VerificationReason'
              explanation:
                type: string
                minLength: 1
        - if:
            properties:
              status:
                const: partial
          then:
            properties:
              reason:
                $ref: '#/components/schemas/VerificationReason'
              explanation:
                type: string
                minLength: 1
        - if:
            properties:
              status:
                const: available
          then:
            properties:
              reason:
                type: 'null'
    VerificationCorporateStructureSection:
      type: object
      properties:
        status:
          type: string
          enum:
            - available
            - partial
            - unavailable
            - not_applicable
          x-field-id: VERIFY:VerificationCorporateStructureSection.status
          description: >-
            State of this specific result; separate from entity legal status and
            lending decisions.
        reason:
          anyOf:
            - $ref: '#/components/schemas/VerificationReason'
            - type: 'null'
          description: Machine-readable reason for incomplete or inapplicable results.
          x-field-id: VERIFY:VerificationCorporateStructureSection.reason
        explanation:
          anyOf:
            - type: string
              minLength: 1
            - type: 'null'
          description: Human-readable scope or missing-data explanation.
          x-field-id: VERIFY:VerificationCorporateStructureSection.explanation
        coverage:
          $ref: '#/components/schemas/VerificationCoverage'
          x-field-id: VERIFY:VerificationCorporateStructureSection.coverage
          description: Actual requested and completed source scope with limitations.
        items:
          type: array
          items:
            $ref: '#/components/schemas/VerificationCorporateStructure'
          x-field-id: VERIFY:VerificationCorporateStructureSection.items
          description: >-
            All authorized observations in this section, including distinct
            source observations.
      required:
        - status
        - reason
        - explanation
        - coverage
        - items
      additionalProperties: false
      description: >-
        Share classes, voting rights, restrictions, capital and governing
        provisions.
      allOf:
        - if:
            properties:
              status:
                enum:
                  - unavailable
                  - not_applicable
          then:
            properties:
              items:
                maxItems: 0
              reason:
                $ref: '#/components/schemas/VerificationReason'
              explanation:
                type: string
                minLength: 1
        - if:
            properties:
              status:
                const: partial
          then:
            properties:
              reason:
                $ref: '#/components/schemas/VerificationReason'
              explanation:
                type: string
                minLength: 1
        - if:
            properties:
              status:
                const: available
          then:
            properties:
              reason:
                type: 'null'
    VerificationPublicRecordSection:
      type: object
      properties:
        status:
          type: string
          enum:
            - available
            - partial
            - unavailable
            - not_applicable
          x-field-id: VERIFY:VerificationPublicRecordSection.status
          description: >-
            State of this specific result; separate from entity legal status and
            lending decisions.
        reason:
          anyOf:
            - $ref: '#/components/schemas/VerificationReason'
            - type: 'null'
          description: Machine-readable reason for incomplete or inapplicable results.
          x-field-id: VERIFY:VerificationPublicRecordSection.reason
        explanation:
          anyOf:
            - type: string
              minLength: 1
            - type: 'null'
          description: Human-readable scope or missing-data explanation.
          x-field-id: VERIFY:VerificationPublicRecordSection.explanation
        coverage:
          $ref: '#/components/schemas/VerificationCoverage'
          x-field-id: VERIFY:VerificationPublicRecordSection.coverage
          description: Actual requested and completed source scope with limitations.
        items:
          type: array
          items:
            $ref: '#/components/schemas/VerificationPublicRecord'
          x-field-id: VERIFY:VerificationPublicRecordSection.items
          description: >-
            All authorized observations in this section, including distinct
            source observations.
      required:
        - status
        - reason
        - explanation
        - coverage
        - items
      additionalProperties: false
      description: >-
        Liens, judgments, litigation, bankruptcy and licensed consortium
        observations.
      allOf:
        - if:
            properties:
              status:
                enum:
                  - unavailable
                  - not_applicable
          then:
            properties:
              items:
                maxItems: 0
              reason:
                $ref: '#/components/schemas/VerificationReason'
              explanation:
                type: string
                minLength: 1
        - if:
            properties:
              status:
                const: partial
          then:
            properties:
              reason:
                $ref: '#/components/schemas/VerificationReason'
              explanation:
                type: string
                minLength: 1
        - if:
            properties:
              status:
                const: available
          then:
            properties:
              reason:
                type: 'null'
    VerificationOnlinePresenceSection:
      type: object
      properties:
        status:
          type: string
          enum:
            - available
            - partial
            - unavailable
            - not_applicable
          x-field-id: VERIFY:VerificationOnlinePresenceSection.status
          description: >-
            State of this specific result; separate from entity legal status and
            lending decisions.
        reason:
          anyOf:
            - $ref: '#/components/schemas/VerificationReason'
            - type: 'null'
          description: Machine-readable reason for incomplete or inapplicable results.
          x-field-id: VERIFY:VerificationOnlinePresenceSection.reason
        explanation:
          anyOf:
            - type: string
              minLength: 1
            - type: 'null'
          description: Human-readable scope or missing-data explanation.
          x-field-id: VERIFY:VerificationOnlinePresenceSection.explanation
        coverage:
          $ref: '#/components/schemas/VerificationCoverage'
          x-field-id: VERIFY:VerificationOnlinePresenceSection.coverage
          description: Actual requested and completed source scope with limitations.
        items:
          type: array
          items:
            $ref: '#/components/schemas/VerificationOnlinePresence'
          x-field-id: VERIFY:VerificationOnlinePresenceSection.items
          description: >-
            All authorized observations in this section, including distinct
            source observations.
      required:
        - status
        - reason
        - explanation
        - coverage
        - items
      additionalProperties: false
      description: Business websites, directories, reviews and business social profiles.
      allOf:
        - if:
            properties:
              status:
                enum:
                  - unavailable
                  - not_applicable
          then:
            properties:
              items:
                maxItems: 0
              reason:
                $ref: '#/components/schemas/VerificationReason'
              explanation:
                type: string
                minLength: 1
        - if:
            properties:
              status:
                const: partial
          then:
            properties:
              reason:
                $ref: '#/components/schemas/VerificationReason'
              explanation:
                type: string
                minLength: 1
        - if:
            properties:
              status:
                const: available
          then:
            properties:
              reason:
                type: 'null'
    VerificationContactCheckSection:
      type: object
      properties:
        status:
          type: string
          enum:
            - available
            - partial
            - unavailable
            - not_applicable
          x-field-id: VERIFY:VerificationContactCheckSection.status
          description: >-
            State of this specific result; separate from entity legal status and
            lending decisions.
        reason:
          anyOf:
            - $ref: '#/components/schemas/VerificationReason'
            - type: 'null'
          description: Machine-readable reason for incomplete or inapplicable results.
          x-field-id: VERIFY:VerificationContactCheckSection.reason
        explanation:
          anyOf:
            - type: string
              minLength: 1
            - type: 'null'
          description: Human-readable scope or missing-data explanation.
          x-field-id: VERIFY:VerificationContactCheckSection.explanation
        coverage:
          $ref: '#/components/schemas/VerificationCoverage'
          x-field-id: VERIFY:VerificationContactCheckSection.coverage
          description: Actual requested and completed source scope with limitations.
        items:
          type: array
          items:
            $ref: '#/components/schemas/VerificationContactCheck'
          x-field-id: VERIFY:VerificationContactCheckSection.items
          description: >-
            All authorized observations in this section, including distinct
            source observations.
      required:
        - status
        - reason
        - explanation
        - coverage
        - items
      additionalProperties: false
      description: Email and phone verification, deliverability, carrier and fraud signals.
      allOf:
        - if:
            properties:
              status:
                enum:
                  - unavailable
                  - not_applicable
          then:
            properties:
              items:
                maxItems: 0
              reason:
                $ref: '#/components/schemas/VerificationReason'
              explanation:
                type: string
                minLength: 1
        - if:
            properties:
              status:
                const: partial
          then:
            properties:
              reason:
                $ref: '#/components/schemas/VerificationReason'
              explanation:
                type: string
                minLength: 1
        - if:
            properties:
              status:
                const: available
          then:
            properties:
              reason:
                type: 'null'
    VerificationDeviceCheckSection:
      type: object
      properties:
        status:
          type: string
          enum:
            - available
            - partial
            - unavailable
            - not_applicable
          x-field-id: VERIFY:VerificationDeviceCheckSection.status
          description: >-
            State of this specific result; separate from entity legal status and
            lending decisions.
        reason:
          anyOf:
            - $ref: '#/components/schemas/VerificationReason'
            - type: 'null'
          description: Machine-readable reason for incomplete or inapplicable results.
          x-field-id: VERIFY:VerificationDeviceCheckSection.reason
        explanation:
          anyOf:
            - type: string
              minLength: 1
            - type: 'null'
          description: Human-readable scope or missing-data explanation.
          x-field-id: VERIFY:VerificationDeviceCheckSection.explanation
        coverage:
          $ref: '#/components/schemas/VerificationCoverage'
          x-field-id: VERIFY:VerificationDeviceCheckSection.coverage
          description: Actual requested and completed source scope with limitations.
        items:
          type: array
          items:
            $ref: '#/components/schemas/VerificationDeviceCheck'
          x-field-id: VERIFY:VerificationDeviceCheckSection.items
          description: >-
            All authorized observations in this section, including distinct
            source observations.
      required:
        - status
        - reason
        - explanation
        - coverage
        - items
      additionalProperties: false
      description: Coarse location, network integrity and consistency observations.
      allOf:
        - if:
            properties:
              status:
                enum:
                  - unavailable
                  - not_applicable
          then:
            properties:
              items:
                maxItems: 0
              reason:
                $ref: '#/components/schemas/VerificationReason'
              explanation:
                type: string
                minLength: 1
        - if:
            properties:
              status:
                const: partial
          then:
            properties:
              reason:
                $ref: '#/components/schemas/VerificationReason'
              explanation:
                type: string
                minLength: 1
        - if:
            properties:
              status:
                const: available
          then:
            properties:
              reason:
                type: 'null'
    VerificationDocumentCheckSection:
      type: object
      properties:
        status:
          type: string
          enum:
            - available
            - partial
            - unavailable
            - not_applicable
          x-field-id: VERIFY:VerificationDocumentCheckSection.status
          description: >-
            State of this specific result; separate from entity legal status and
            lending decisions.
        reason:
          anyOf:
            - $ref: '#/components/schemas/VerificationReason'
            - type: 'null'
          description: Machine-readable reason for incomplete or inapplicable results.
          x-field-id: VERIFY:VerificationDocumentCheckSection.reason
        explanation:
          anyOf:
            - type: string
              minLength: 1
            - type: 'null'
          description: Human-readable scope or missing-data explanation.
          x-field-id: VERIFY:VerificationDocumentCheckSection.explanation
        coverage:
          $ref: '#/components/schemas/VerificationCoverage'
          x-field-id: VERIFY:VerificationDocumentCheckSection.coverage
          description: Actual requested and completed source scope with limitations.
        items:
          type: array
          items:
            $ref: '#/components/schemas/VerificationDocumentCheck'
          x-field-id: VERIFY:VerificationDocumentCheckSection.items
          description: >-
            All authorized observations in this section, including distinct
            source observations.
      required:
        - status
        - reason
        - explanation
        - coverage
        - items
      additionalProperties: false
      description: Document extraction, tamper and cross-document consistency results.
      allOf:
        - if:
            properties:
              status:
                enum:
                  - unavailable
                  - not_applicable
          then:
            properties:
              items:
                maxItems: 0
              reason:
                $ref: '#/components/schemas/VerificationReason'
              explanation:
                type: string
                minLength: 1
        - if:
            properties:
              status:
                const: partial
          then:
            properties:
              reason:
                $ref: '#/components/schemas/VerificationReason'
              explanation:
                type: string
                minLength: 1
        - if:
            properties:
              status:
                const: available
          then:
            properties:
              reason:
                type: 'null'
    VerificationBankAccountCheckSection:
      type: object
      properties:
        status:
          type: string
          enum:
            - available
            - partial
            - unavailable
            - not_applicable
          x-field-id: VERIFY:VerificationBankAccountCheckSection.status
          description: >-
            State of this specific result; separate from entity legal status and
            lending decisions.
        reason:
          anyOf:
            - $ref: '#/components/schemas/VerificationReason'
            - type: 'null'
          description: Machine-readable reason for incomplete or inapplicable results.
          x-field-id: VERIFY:VerificationBankAccountCheckSection.reason
        explanation:
          anyOf:
            - type: string
              minLength: 1
            - type: 'null'
          description: Human-readable scope or missing-data explanation.
          x-field-id: VERIFY:VerificationBankAccountCheckSection.explanation
        coverage:
          $ref: '#/components/schemas/VerificationCoverage'
          x-field-id: VERIFY:VerificationBankAccountCheckSection.coverage
          description: Actual requested and completed source scope with limitations.
        items:
          type: array
          items:
            $ref: '#/components/schemas/VerificationBankAccountCheck'
          x-field-id: VERIFY:VerificationBankAccountCheckSection.items
          description: >-
            All authorized observations in this section, including distinct
            source observations.
      required:
        - status
        - reason
        - explanation
        - coverage
        - items
      additionalProperties: false
      description: >-
        Account-holder matching and verification method, separate from financial
        analysis.
      allOf:
        - if:
            properties:
              status:
                enum:
                  - unavailable
                  - not_applicable
          then:
            properties:
              items:
                maxItems: 0
              reason:
                $ref: '#/components/schemas/VerificationReason'
              explanation:
                type: string
                minLength: 1
        - if:
            properties:
              status:
                const: partial
          then:
            properties:
              reason:
                $ref: '#/components/schemas/VerificationReason'
              explanation:
                type: string
                minLength: 1
        - if:
            properties:
              status:
                const: available
          then:
            properties:
              reason:
                type: 'null'
    VerificationQuestionnaireSection:
      type: object
      properties:
        status:
          type: string
          enum:
            - available
            - partial
            - unavailable
            - not_applicable
          x-field-id: VERIFY:VerificationQuestionnaireSection.status
          description: >-
            State of this specific result; separate from entity legal status and
            lending decisions.
        reason:
          anyOf:
            - $ref: '#/components/schemas/VerificationReason'
            - type: 'null'
          description: Machine-readable reason for incomplete or inapplicable results.
          x-field-id: VERIFY:VerificationQuestionnaireSection.reason
        explanation:
          anyOf:
            - type: string
              minLength: 1
            - type: 'null'
          description: Human-readable scope or missing-data explanation.
          x-field-id: VERIFY:VerificationQuestionnaireSection.explanation
        coverage:
          $ref: '#/components/schemas/VerificationCoverage'
          x-field-id: VERIFY:VerificationQuestionnaireSection.coverage
          description: Actual requested and completed source scope with limitations.
        items:
          type: array
          items:
            $ref: '#/components/schemas/VerificationQuestionnaire'
          x-field-id: VERIFY:VerificationQuestionnaireSection.items
          description: >-
            All authorized observations in this section, including distinct
            source observations.
      required:
        - status
        - reason
        - explanation
        - coverage
        - items
      additionalProperties: false
      description: >-
        Versioned borrower declarations, repeatable answers and file references
        with declared provenance.
      allOf:
        - if:
            properties:
              status:
                enum:
                  - unavailable
                  - not_applicable
          then:
            properties:
              items:
                maxItems: 0
              reason:
                $ref: '#/components/schemas/VerificationReason'
              explanation:
                type: string
                minLength: 1
        - if:
            properties:
              status:
                const: partial
          then:
            properties:
              reason:
                $ref: '#/components/schemas/VerificationReason'
              explanation:
                type: string
                minLength: 1
        - if:
            properties:
              status:
                const: available
          then:
            properties:
              reason:
                type: 'null'
    VerificationSignatureSection:
      type: object
      properties:
        status:
          type: string
          enum:
            - available
            - partial
            - unavailable
            - not_applicable
          x-field-id: VERIFY:VerificationSignatureSection.status
          description: >-
            State of this specific result; separate from entity legal status and
            lending decisions.
        reason:
          anyOf:
            - $ref: '#/components/schemas/VerificationReason'
            - type: 'null'
          description: Machine-readable reason for incomplete or inapplicable results.
          x-field-id: VERIFY:VerificationSignatureSection.reason
        explanation:
          anyOf:
            - type: string
              minLength: 1
            - type: 'null'
          description: Human-readable scope or missing-data explanation.
          x-field-id: VERIFY:VerificationSignatureSection.explanation
        coverage:
          $ref: '#/components/schemas/VerificationCoverage'
          x-field-id: VERIFY:VerificationSignatureSection.coverage
          description: Actual requested and completed source scope with limitations.
        items:
          type: array
          items:
            $ref: '#/components/schemas/VerificationSignature'
          x-field-id: VERIFY:VerificationSignatureSection.items
          description: >-
            All authorized observations in this section, including distinct
            source observations.
      required:
        - status
        - reason
        - explanation
        - coverage
        - items
      additionalProperties: false
      description: Signer identity, authority, consent and signature validation evidence.
      allOf:
        - if:
            properties:
              status:
                enum:
                  - unavailable
                  - not_applicable
          then:
            properties:
              items:
                maxItems: 0
              reason:
                $ref: '#/components/schemas/VerificationReason'
              explanation:
                type: string
                minLength: 1
        - if:
            properties:
              status:
                const: partial
          then:
            properties:
              reason:
                $ref: '#/components/schemas/VerificationReason'
              explanation:
                type: string
                minLength: 1
        - if:
            properties:
              status:
                const: available
          then:
            properties:
              reason:
                type: 'null'
    VerificationFieldComparisonSection:
      type: object
      properties:
        status:
          type: string
          enum:
            - available
            - partial
            - unavailable
            - not_applicable
          x-field-id: VERIFY:VerificationFieldComparisonSection.status
          description: >-
            State of this specific result; separate from entity legal status and
            lending decisions.
        reason:
          anyOf:
            - $ref: '#/components/schemas/VerificationReason'
            - type: 'null'
          description: Machine-readable reason for incomplete or inapplicable results.
          x-field-id: VERIFY:VerificationFieldComparisonSection.reason
        explanation:
          anyOf:
            - type: string
              minLength: 1
            - type: 'null'
          description: Human-readable scope or missing-data explanation.
          x-field-id: VERIFY:VerificationFieldComparisonSection.explanation
        coverage:
          $ref: '#/components/schemas/VerificationCoverage'
          x-field-id: VERIFY:VerificationFieldComparisonSection.coverage
          description: Actual requested and completed source scope with limitations.
        items:
          type: array
          items:
            $ref: '#/components/schemas/VerificationFieldComparison'
          x-field-id: VERIFY:VerificationFieldComparisonSection.items
          description: >-
            All authorized observations in this section, including distinct
            source observations.
      required:
        - status
        - reason
        - explanation
        - coverage
        - items
      additionalProperties: false
      description: >-
        Submitted versus observed values, thresholds and exact matching
        outcomes.
      allOf:
        - if:
            properties:
              status:
                enum:
                  - unavailable
                  - not_applicable
          then:
            properties:
              items:
                maxItems: 0
              reason:
                $ref: '#/components/schemas/VerificationReason'
              explanation:
                type: string
                minLength: 1
        - if:
            properties:
              status:
                const: partial
          then:
            properties:
              reason:
                $ref: '#/components/schemas/VerificationReason'
              explanation:
                type: string
                minLength: 1
        - if:
            properties:
              status:
                const: available
          then:
            properties:
              reason:
                type: 'null'
    VerificationSourceScoreSection:
      type: object
      properties:
        status:
          type: string
          enum:
            - available
            - partial
            - unavailable
            - not_applicable
          x-field-id: VERIFY:VerificationSourceScoreSection.status
          description: >-
            State of this specific result; separate from entity legal status and
            lending decisions.
        reason:
          anyOf:
            - $ref: '#/components/schemas/VerificationReason'
            - type: 'null'
          description: Machine-readable reason for incomplete or inapplicable results.
          x-field-id: VERIFY:VerificationSourceScoreSection.reason
        explanation:
          anyOf:
            - type: string
              minLength: 1
            - type: 'null'
          description: Human-readable scope or missing-data explanation.
          x-field-id: VERIFY:VerificationSourceScoreSection.explanation
        coverage:
          $ref: '#/components/schemas/VerificationCoverage'
          x-field-id: VERIFY:VerificationSourceScoreSection.coverage
          description: Actual requested and completed source scope with limitations.
        items:
          type: array
          items:
            $ref: '#/components/schemas/VerificationSourceScore'
          x-field-id: VERIFY:VerificationSourceScoreSection.items
          description: >-
            All authorized observations in this section, including distinct
            source observations.
      required:
        - status
        - reason
        - explanation
        - coverage
        - items
      additionalProperties: false
      description: >-
        Original provider scales, ratings and reason codes; never an AMLOK
        credit probability.
      allOf:
        - if:
            properties:
              status:
                enum:
                  - unavailable
                  - not_applicable
          then:
            properties:
              items:
                maxItems: 0
              reason:
                $ref: '#/components/schemas/VerificationReason'
              explanation:
                type: string
                minLength: 1
        - if:
            properties:
              status:
                const: partial
          then:
            properties:
              reason:
                $ref: '#/components/schemas/VerificationReason'
              explanation:
                type: string
                minLength: 1
        - if:
            properties:
              status:
                const: available
          then:
            properties:
              reason:
                type: 'null'
    VerificationDuplicateCheckSection:
      type: object
      properties:
        status:
          type: string
          enum:
            - available
            - partial
            - unavailable
            - not_applicable
          x-field-id: VERIFY:VerificationDuplicateCheckSection.status
          description: >-
            State of this specific result; separate from entity legal status and
            lending decisions.
        reason:
          anyOf:
            - $ref: '#/components/schemas/VerificationReason'
            - type: 'null'
          description: Machine-readable reason for incomplete or inapplicable results.
          x-field-id: VERIFY:VerificationDuplicateCheckSection.reason
        explanation:
          anyOf:
            - type: string
              minLength: 1
            - type: 'null'
          description: Human-readable scope or missing-data explanation.
          x-field-id: VERIFY:VerificationDuplicateCheckSection.explanation
        coverage:
          $ref: '#/components/schemas/VerificationCoverage'
          x-field-id: VERIFY:VerificationDuplicateCheckSection.coverage
          description: Actual requested and completed source scope with limitations.
        items:
          type: array
          items:
            $ref: '#/components/schemas/VerificationDuplicateCheck'
          x-field-id: VERIFY:VerificationDuplicateCheckSection.items
          description: >-
            All authorized observations in this section, including distinct
            source observations.
      required:
        - status
        - reason
        - explanation
        - coverage
        - items
      additionalProperties: false
      description: Authorized same-workspace matches with identifiers minimized.
      allOf:
        - if:
            properties:
              status:
                enum:
                  - unavailable
                  - not_applicable
          then:
            properties:
              items:
                maxItems: 0
              reason:
                $ref: '#/components/schemas/VerificationReason'
              explanation:
                type: string
                minLength: 1
        - if:
            properties:
              status:
                const: partial
          then:
            properties:
              reason:
                $ref: '#/components/schemas/VerificationReason'
              explanation:
                type: string
                minLength: 1
        - if:
            properties:
              status:
                const: available
          then:
            properties:
              reason:
                type: 'null'
    Window:
      type: object
      properties:
        start:
          type: string
          minLength: 1
          format: date-time
          description: >-
            Start for Window. Constraints, requiredness and allowed values are
            defined by this schema.
        end:
          type: string
          minLength: 1
          format: date-time
          description: >-
            End for Window. Constraints, requiredness and allowed values are
            defined by this schema.
      required:
        - start
        - end
      additionalProperties: false
      description: UTC interval [start, end). The server rejects end <= start.
    VerificationCoverage:
      type: object
      properties:
        status:
          type: string
          enum:
            - complete
            - partial
            - unavailable
            - not_requested
            - not_applicable
          x-field-id: VERIFY:VerificationCoverage.status
          description: >-
            State of this specific result; separate from entity legal status and
            lending decisions.
        requested_scopes:
          type: array
          items:
            type: string
            minLength: 1
          description: Requested countries, registries, datasets or checks.
          x-field-id: VERIFY:VerificationCoverage.requested_scopes
        completed_scopes:
          type: array
          items:
            type: string
            minLength: 1
          description: Scopes actually completed; a subset of requested scopes.
          x-field-id: VERIFY:VerificationCoverage.completed_scopes
        limitations:
          type: array
          items:
            type: string
            minLength: 1
          description: >-
            Unsearched jurisdictions, failed datasets, licence restrictions and
            unresolved identities.
          x-field-id: VERIFY:VerificationCoverage.limitations
      required:
        - status
        - requested_scopes
        - completed_scopes
        - limitations
      additionalProperties: false
      description: >-
        Complete applies only to the requested scopes; never implies worldwide
        coverage.
    VerificationReason:
      type: string
      enum:
        - not_requested
        - not_started
        - pending
        - source_error
        - no_data
        - not_supported
        - restricted
        - not_applicable
        - partial_coverage
        - unresolved_match
        - conflicting_evidence
        - not_provided
    VerificationResult:
      type: object
      properties:
        id:
          type: string
          minLength: 1
          description: Stable AMLOK item ID within this assessment.
          x-field-id: VERIFY:VerificationResult.id
        subject_id:
          type: string
          minLength: 1
          description: >-
            Authorized business/person subject ID, as returned on the borrower
            or an active related-party association; not the borrower resource
            ID.
          x-field-id: VERIFY:VerificationResult.subject_id
        provenance:
          $ref: '#/components/schemas/VerificationProvenance'
          x-field-id: VERIFY:VerificationResult.provenance
          description: Exact source, time, basis and evidence for this observation.
        missing_fields:
          type: array
          items:
            type: object
            properties:
              path:
                type: string
                minLength: 1
                description: RFC 6901 pointer relative to this item.
                x-field-id: VERIFY:VerificationResult.missing_fields[].path
              reason:
                $ref: '#/components/schemas/VerificationReason'
                x-field-id: VERIFY:VerificationResult.missing_fields[].reason
                description: >-
                  Explicit explanation code when no complete usable value is
                  available.
              description:
                type: string
                minLength: 1
                description: Why this field is absent or null.
                x-field-id: VERIFY:VerificationResult.missing_fields[].description
            required:
              - path
              - reason
              - description
            additionalProperties: false
          x-field-id: VERIFY:VerificationResult.missing_fields
          description: >-
            Every absent or null required fact is explained by a pointer and a
            missing-data reason.
        supplemental_facts:
          type: array
          items:
            $ref: '#/components/schemas/VerificationFact'
          description: Permitted source-specific facts that do not have a canonical field.
          x-field-id: VERIFY:VerificationResult.supplemental_facts
        kind:
          type: string
          enum:
            - identity
            - document_authenticity
            - liveness
            - face_match
            - duplicate_identity
            - proof_of_address
            - database
            - business_registration
            - good_standing
            - ownership
            - sanctions
            - pep
            - adverse_media
            - watchlist
            - tax_identifier
            - licence
            - public_records
            - contact
            - device
            - bank_ownership
            - signature
            - other
          x-field-id: VERIFY:VerificationResult.kind
          description: >-
            Kind. Preserve the source meaning; null or unknown does not
            establish a negative or a verified result.
        state:
          type: string
          enum:
            - pending
            - in_progress
            - completed
            - failed
            - not_requested
            - not_applicable
          x-field-id: VERIFY:VerificationResult.state
          description: >-
            State. Preserve the source meaning; null or unknown does not
            establish a negative or a verified result.
        outcome:
          type: string
          enum:
            - passed
            - failed
            - review_required
            - inconclusive
            - not_performed
          x-field-id: VERIFY:VerificationResult.outcome
          description: Verification/compliance result, not a lending decision.
        provider_status:
          anyOf:
            - type: string
              minLength: 1
            - type: 'null'
          description: Original provider decision or result.
          x-field-id: VERIFY:VerificationResult.provider_status
        original_provider_status:
          anyOf:
            - type: string
              minLength: 1
            - type: 'null'
          description: Provider decision before an override, when supplied.
          x-field-id: VERIFY:VerificationResult.original_provider_status
        reason_codes:
          type: array
          items:
            type: string
            minLength: 1
          description: Normalized/source reason codes with explanations in summary.
          x-field-id: VERIFY:VerificationResult.reason_codes
        summary:
          type: string
          minLength: 1
          description: >-
            Human-readable explanation of what was established and what remains
            unresolved.
          x-field-id: VERIFY:VerificationResult.summary
        method:
          anyOf:
            - type: string
              minLength: 1
            - type: 'null'
          description: Verification method or assurance mechanism.
          x-field-id: VERIFY:VerificationResult.method
        required:
          anyOf:
            - type: boolean
            - type: 'null'
          description: Whether the effective verification policy required this check.
          x-field-id: VERIFY:VerificationResult.required
        policy_version:
          anyOf:
            - type: string
              minLength: 1
            - type: 'null'
          description: >-
            Version or reference of the matching/verification policy actually
            used.
          x-field-id: VERIFY:VerificationResult.policy_version
        completed_at:
          anyOf:
            - type: string
              minLength: 1
              format: date-time
            - type: 'null'
          description: Completion timestamp; null when not completed.
          x-field-id: VERIFY:VerificationResult.completed_at
        expires_at:
          anyOf:
            - type: string
              minLength: 1
              format: date-time
            - type: 'null'
          description: Explicit result expiry, not an inferred expiry.
          x-field-id: VERIFY:VerificationResult.expires_at
        item_ids:
          type: array
          items:
            type: string
            minLength: 1
          description: IDs of detailed observations supporting this check.
          x-field-id: VERIFY:VerificationResult.item_ids
        override:
          anyOf:
            - type: object
              properties:
                outcome:
                  type: string
                  enum:
                    - passed
                    - failed
                    - review_required
                    - inconclusive
                    - not_performed
                  x-field-id: VERIFY:VerificationResult.override.outcome
                  description: Verification/compliance result, not a lending decision.
                reason:
                  type: string
                  minLength: 1
                  x-field-id: VERIFY:VerificationResult.override.reason
                  description: >-
                    Explicit explanation code when no complete usable value is
                    available.
                decided_at:
                  type: string
                  minLength: 1
                  format: date-time
                  x-field-id: VERIFY:VerificationResult.override.decided_at
                  description: >-
                    Decided at. Preserve the source meaning; null or unknown
                    does not establish a negative or a verified result.
                actor_reference:
                  type: string
                  minLength: 1
                  x-field-id: VERIFY:VerificationResult.override.actor_reference
                  description: >-
                    Actor reference. Preserve the source meaning; null or
                    unknown does not establish a negative or a verified result.
              required:
                - outcome
                - reason
                - decided_at
                - actor_reference
              additionalProperties: false
            - type: 'null'
          description: Authorized override with auditable reason; retains original result.
          x-field-id: VERIFY:VerificationResult.override
      required:
        - id
        - subject_id
        - provenance
        - missing_fields
        - supplemental_facts
        - kind
        - state
        - outcome
        - provider_status
        - original_provider_status
        - reason_codes
        - summary
        - method
        - required
        - policy_version
        - completed_at
        - expires_at
        - item_ids
        - override
      additionalProperties: false
      description: >-
        A completed check is distinct from a passing check and from an
        institution lending decision.
      allOf:
        - if:
            properties:
              state:
                enum:
                  - pending
                  - in_progress
                  - failed
                  - not_requested
                  - not_applicable
          then:
            properties:
              outcome:
                enum:
                  - inconclusive
                  - not_performed
        - if:
            properties:
              outcome:
                enum:
                  - passed
                  - failed
                  - review_required
          then:
            properties:
              state:
                const: completed
              completed_at:
                type: string
                minLength: 1
                format: date-time
    VerificationBusiness:
      type: object
      properties:
        id:
          type: string
          minLength: 1
          description: Stable AMLOK item ID within this assessment.
          x-field-id: VERIFY:VerificationBusiness.id
        subject_id:
          type: string
          minLength: 1
          description: >-
            Authorized business/person subject ID, as returned on the borrower
            or an active related-party association; not the borrower resource
            ID.
          x-field-id: VERIFY:VerificationBusiness.subject_id
        provenance:
          $ref: '#/components/schemas/VerificationProvenance'
          x-field-id: VERIFY:VerificationBusiness.provenance
          description: Exact source, time, basis and evidence for this observation.
        missing_fields:
          type: array
          items:
            type: object
            properties:
              path:
                type: string
                minLength: 1
                description: RFC 6901 pointer relative to this item.
                x-field-id: VERIFY:VerificationBusiness.missing_fields[].path
              reason:
                $ref: '#/components/schemas/VerificationReason'
                x-field-id: VERIFY:VerificationBusiness.missing_fields[].reason
                description: >-
                  Explicit explanation code when no complete usable value is
                  available.
              description:
                type: string
                minLength: 1
                description: Why this field is absent or null.
                x-field-id: VERIFY:VerificationBusiness.missing_fields[].description
            required:
              - path
              - reason
              - description
            additionalProperties: false
          x-field-id: VERIFY:VerificationBusiness.missing_fields
          description: >-
            Every absent or null required fact is explained by a pointer and a
            missing-data reason.
        supplemental_facts:
          type: array
          items:
            $ref: '#/components/schemas/VerificationFact'
          description: Permitted source-specific facts that do not have a canonical field.
          x-field-id: VERIFY:VerificationBusiness.supplemental_facts
        resolution:
          type: string
          enum:
            - candidate
            - selected
            - unresolved
          x-field-id: VERIFY:VerificationBusiness.resolution
          description: >-
            Resolution. Preserve the source meaning; null or unknown does not
            establish a negative or a verified result.
        legal_name:
          anyOf:
            - type: string
              minLength: 1
            - type: 'null'
          description: Observed legal name.
          x-field-id: VERIFY:VerificationBusiness.legal_name
        alternate_names:
          type: array
          items:
            type: string
            minLength: 1
          description: >-
            Trade, former and alternative names, without discarding the source
            spelling.
          x-field-id: VERIFY:VerificationBusiness.alternate_names
        entity_type:
          anyOf:
            - type: string
              minLength: 1
            - type: 'null'
          description: >-
            Normalized legal form; source wording may be retained in
            supplemental facts.
          x-field-id: VERIFY:VerificationBusiness.entity_type
        country:
          anyOf:
            - type: string
              minLength: 1
              pattern: ^[A-Z]{2}$
            - type: 'null'
          description: Country of incorporation.
          x-field-id: VERIFY:VerificationBusiness.country
        jurisdiction:
          anyOf:
            - type: string
              minLength: 1
            - type: 'null'
          description: Registration subdivision or jurisdiction.
          x-field-id: VERIFY:VerificationBusiness.jurisdiction
        identifiers:
          type: array
          items:
            $ref: '#/components/schemas/VerificationIdentifier'
          description: Registration, business, tax, LEI and securities identifiers.
          x-field-id: VERIFY:VerificationBusiness.identifiers
        incorporation_date:
          anyOf:
            - type: string
              minLength: 1
              format: date
            - type: 'null'
          description: >-
            Date established or incorporated, with distinct registration dates
            in registrations.
          x-field-id: VERIFY:VerificationBusiness.incorporation_date
        nature_of_business:
          anyOf:
            - type: string
              minLength: 1
            - type: 'null'
          description: Reported business activities.
          x-field-id: VERIFY:VerificationBusiness.nature_of_business
        registry_status:
          anyOf:
            - type: string
              minLength: 1
            - type: 'null'
          description: Status exactly as reported by the registry.
          x-field-id: VERIFY:VerificationBusiness.registry_status
        good_standing:
          anyOf:
            - type: boolean
            - type: 'null'
          description: >-
            Explicit registry standing; active status does not prove good
            standing.
          x-field-id: VERIFY:VerificationBusiness.good_standing
        address_ids:
          type: array
          items:
            type: string
            minLength: 1
          description: IDs in addresses.
          x-field-id: VERIFY:VerificationBusiness.address_ids
        relationship_ids:
          type: array
          items:
            type: string
            minLength: 1
          description: IDs in relationships.
          x-field-id: VERIFY:VerificationBusiness.relationship_ids
        industry_codes:
          type: array
          items:
            type: object
            properties:
              scheme:
                type: string
                minLength: 1
                x-field-id: VERIFY:VerificationBusiness.industry_codes[].scheme
                description: >-
                  Scheme. Preserve the source meaning; null or unknown does not
                  establish a negative or a verified result.
              code:
                type: string
                minLength: 1
                x-field-id: VERIFY:VerificationBusiness.industry_codes[].code
                description: >-
                  Code. Preserve the source meaning; null or unknown does not
                  establish a negative or a verified result.
              label:
                anyOf:
                  - type: string
                    minLength: 1
                  - type: 'null'
                x-field-id: VERIFY:VerificationBusiness.industry_codes[].label
                description: >-
                  Label. Preserve the source meaning; null or unknown does not
                  establish a negative or a verified result.
              basis:
                type: string
                enum:
                  - declared
                  - registry
                  - predicted
                x-field-id: VERIFY:VerificationBusiness.industry_codes[].basis
                description: >-
                  Basis. Preserve the source meaning; null or unknown does not
                  establish a negative or a verified result.
              confidence:
                anyOf:
                  - $ref: '#/components/schemas/VerificationScore'
                  - type: 'null'
                x-field-id: VERIFY:VerificationBusiness.industry_codes[].confidence
                description: >-
                  Confidence. Preserve the source meaning; null or unknown does
                  not establish a negative or a verified result.
            required:
              - scheme
              - code
              - label
              - basis
              - confidence
            additionalProperties: false
          x-field-id: VERIFY:VerificationBusiness.industry_codes
          description: >-
            Industry codes. Preserve the source meaning; null or unknown does
            not establish a negative or a verified result.
        website:
          anyOf:
            - type: string
              minLength: 1
            - type: 'null'
          description: Observed public business website.
          x-field-id: VERIFY:VerificationBusiness.website
        email:
          anyOf:
            - type: string
              minLength: 1
            - type: 'null'
          description: Observed public business email.
          x-field-id: VERIFY:VerificationBusiness.email
        phone:
          anyOf:
            - type: string
              minLength: 1
            - type: 'null'
          description: Observed public business phone.
          x-field-id: VERIFY:VerificationBusiness.phone
        registered_capital:
          anyOf:
            - $ref: '#/components/schemas/Money'
            - type: 'null'
          description: Capital amount only if amount and currency are both known.
          x-field-id: VERIFY:VerificationBusiness.registered_capital
        financial_highlights:
          type: array
          items:
            $ref: '#/components/schemas/VerificationFact'
          description: >-
            Source registry financial highlights, each with an explicit period
            and unit in its description.
          x-field-id: VERIFY:VerificationBusiness.financial_highlights
        match_score:
          anyOf:
            - $ref: '#/components/schemas/VerificationScore'
            - type: 'null'
          description: Candidate similarity; never identity proof.
          x-field-id: VERIFY:VerificationBusiness.match_score
        source_url:
          anyOf:
            - type: string
              minLength: 1
            - type: 'null'
          description: Public registry URL only, without credentials or access tokens.
          x-field-id: VERIFY:VerificationBusiness.source_url
      required:
        - id
        - subject_id
        - provenance
        - missing_fields
        - supplemental_facts
        - resolution
        - legal_name
        - alternate_names
        - entity_type
        - country
        - jurisdiction
        - identifiers
        - incorporation_date
        - nature_of_business
        - registry_status
        - good_standing
        - address_ids
        - relationship_ids
        - industry_codes
        - website
        - email
        - phone
        - registered_capital
        - financial_highlights
        - match_score
        - source_url
      additionalProperties: false
      description: >-
        A candidate or registry observation is not an automatically verified
        borrower.
    VerificationPerson:
      type: object
      properties:
        id:
          type: string
          minLength: 1
          description: Stable AMLOK item ID within this assessment.
          x-field-id: VERIFY:VerificationPerson.id
        subject_id:
          type: string
          minLength: 1
          description: >-
            Authorized business/person subject ID, as returned on the borrower
            or an active related-party association; not the borrower resource
            ID.
          x-field-id: VERIFY:VerificationPerson.subject_id
        provenance:
          $ref: '#/components/schemas/VerificationProvenance'
          x-field-id: VERIFY:VerificationPerson.provenance
          description: Exact source, time, basis and evidence for this observation.
        missing_fields:
          type: array
          items:
            type: object
            properties:
              path:
                type: string
                minLength: 1
                description: RFC 6901 pointer relative to this item.
                x-field-id: VERIFY:VerificationPerson.missing_fields[].path
              reason:
                $ref: '#/components/schemas/VerificationReason'
                x-field-id: VERIFY:VerificationPerson.missing_fields[].reason
                description: >-
                  Explicit explanation code when no complete usable value is
                  available.
              description:
                type: string
                minLength: 1
                description: Why this field is absent or null.
                x-field-id: VERIFY:VerificationPerson.missing_fields[].description
            required:
              - path
              - reason
              - description
            additionalProperties: false
          x-field-id: VERIFY:VerificationPerson.missing_fields
          description: >-
            Every absent or null required fact is explained by a pointer and a
            missing-data reason.
        supplemental_facts:
          type: array
          items:
            $ref: '#/components/schemas/VerificationFact'
          description: Permitted source-specific facts that do not have a canonical field.
          x-field-id: VERIFY:VerificationPerson.supplemental_facts
        full_name:
          anyOf:
            - type: string
              minLength: 1
            - type: 'null'
          description: Observed full name.
          x-field-id: VERIFY:VerificationPerson.full_name
        given_names:
          anyOf:
            - type: string
              minLength: 1
            - type: 'null'
          description: Given names.
          x-field-id: VERIFY:VerificationPerson.given_names
        middle_names:
          anyOf:
            - type: string
              minLength: 1
            - type: 'null'
          description: Middle names.
          x-field-id: VERIFY:VerificationPerson.middle_names
        family_name:
          anyOf:
            - type: string
              minLength: 1
            - type: 'null'
          description: Family name.
          x-field-id: VERIFY:VerificationPerson.family_name
        aliases:
          type: array
          items:
            type: string
            minLength: 1
          description: Observed aliases or former names.
          x-field-id: VERIFY:VerificationPerson.aliases
        date_of_birth:
          anyOf:
            - type: string
              minLength: 1
              format: date
            - type: 'null'
          description: Date of birth when disclosure and verification purpose permit.
          x-field-id: VERIFY:VerificationPerson.date_of_birth
        nationalities:
          type: array
          items:
            type: string
            minLength: 1
          description: ISO alpha-2 countries when known; identity/compliance context only.
          x-field-id: VERIFY:VerificationPerson.nationalities
        country_of_birth:
          anyOf:
            - type: string
              minLength: 1
              pattern: ^[A-Z]{2}$
            - type: 'null'
          description: Country of birth for authorized identity disambiguation only.
          x-field-id: VERIFY:VerificationPerson.country_of_birth
        identifiers:
          type: array
          items:
            $ref: '#/components/schemas/VerificationIdentifier'
          description: Masked personal identifiers by default.
          x-field-id: VERIFY:VerificationPerson.identifiers
        address_ids:
          type: array
          items:
            type: string
            minLength: 1
          description: Authorized address references.
          x-field-id: VERIFY:VerificationPerson.address_ids
        identity_check_ids:
          type: array
          items:
            type: string
            minLength: 1
          description: Detailed verification check IDs.
          x-field-id: VERIFY:VerificationPerson.identity_check_ids
        identity_assurance:
          type: string
          enum:
            - unverified
            - documentary
            - database_match
            - cryptographic
            - unknown
          x-field-id: VERIFY:VerificationPerson.identity_assurance
          description: >-
            Identity assurance. Preserve the source meaning; null or unknown
            does not establish a negative or a verified result.
      required:
        - id
        - subject_id
        - provenance
        - missing_fields
        - supplemental_facts
        - full_name
        - given_names
        - middle_names
        - family_name
        - aliases
        - date_of_birth
        - nationalities
        - country_of_birth
        - identifiers
        - address_ids
        - identity_check_ids
        - identity_assurance
      additionalProperties: false
      description: >-
        Identity details only for authorized borrowers and associated people;
        not credit-scoring attributes.
    VerificationRegistration:
      type: object
      properties:
        id:
          type: string
          minLength: 1
          description: Stable AMLOK item ID within this assessment.
          x-field-id: VERIFY:VerificationRegistration.id
        subject_id:
          type: string
          minLength: 1
          description: >-
            Authorized business/person subject ID, as returned on the borrower
            or an active related-party association; not the borrower resource
            ID.
          x-field-id: VERIFY:VerificationRegistration.subject_id
        provenance:
          $ref: '#/components/schemas/VerificationProvenance'
          x-field-id: VERIFY:VerificationRegistration.provenance
          description: Exact source, time, basis and evidence for this observation.
        missing_fields:
          type: array
          items:
            type: object
            properties:
              path:
                type: string
                minLength: 1
                description: RFC 6901 pointer relative to this item.
                x-field-id: VERIFY:VerificationRegistration.missing_fields[].path
              reason:
                $ref: '#/components/schemas/VerificationReason'
                x-field-id: VERIFY:VerificationRegistration.missing_fields[].reason
                description: >-
                  Explicit explanation code when no complete usable value is
                  available.
              description:
                type: string
                minLength: 1
                description: Why this field is absent or null.
                x-field-id: VERIFY:VerificationRegistration.missing_fields[].description
            required:
              - path
              - reason
              - description
            additionalProperties: false
          x-field-id: VERIFY:VerificationRegistration.missing_fields
          description: >-
            Every absent or null required fact is explained by a pointer and a
            missing-data reason.
        supplemental_facts:
          type: array
          items:
            $ref: '#/components/schemas/VerificationFact'
          description: Permitted source-specific facts that do not have a canonical field.
          x-field-id: VERIFY:VerificationRegistration.supplemental_facts
        authority:
          anyOf:
            - type: string
              minLength: 1
            - type: 'null'
          description: Registry or authority name.
          x-field-id: VERIFY:VerificationRegistration.authority
        registration_number:
          anyOf:
            - type: string
              minLength: 1
            - type: 'null'
          description: Public corporate filing identifier, not a personal identifier.
          x-field-id: VERIFY:VerificationRegistration.registration_number
        country:
          anyOf:
            - type: string
              minLength: 1
              pattern: ^[A-Z]{2}$
            - type: 'null'
          description: Registration country.
          x-field-id: VERIFY:VerificationRegistration.country
        jurisdiction:
          anyOf:
            - type: string
              minLength: 1
            - type: 'null'
          description: Registration subdivision.
          x-field-id: VERIFY:VerificationRegistration.jurisdiction
        registration_type:
          anyOf:
            - type: string
              minLength: 1
            - type: 'null'
          description: >-
            Domestic, foreign, corporation, partnership or source
            classification.
          x-field-id: VERIFY:VerificationRegistration.registration_type
        registered_name:
          anyOf:
            - type: string
              minLength: 1
            - type: 'null'
          description: Name recorded in this registration.
          x-field-id: VERIFY:VerificationRegistration.registered_name
        status:
          anyOf:
            - type: string
              minLength: 1
            - type: 'null'
          description: Registry status.
          x-field-id: VERIFY:VerificationRegistration.status
        standing:
          anyOf:
            - type: string
              minLength: 1
            - type: 'null'
          description: Original good-standing/compliance wording.
          x-field-id: VERIFY:VerificationRegistration.standing
        registered_on:
          anyOf:
            - type: string
              minLength: 1
              format: date
            - type: 'null'
          description: Registration date.
          x-field-id: VERIFY:VerificationRegistration.registered_on
        inactive_on:
          anyOf:
            - type: string
              minLength: 1
              format: date
            - type: 'null'
          description: Recorded inactivity date.
          x-field-id: VERIFY:VerificationRegistration.inactive_on
        dissolved_on:
          anyOf:
            - type: string
              minLength: 1
              format: date
            - type: 'null'
          description: Recorded dissolution date.
          x-field-id: VERIFY:VerificationRegistration.dissolved_on
        last_annual_return_year:
          anyOf:
            - type: integer
              minimum: 0
            - type: 'null'
          description: >-
            Most recent return year; not a date or a completed current-year
            return.
          x-field-id: VERIFY:VerificationRegistration.last_annual_return_year
        last_annual_return_filed_on:
          anyOf:
            - type: string
              minLength: 1
              format: date
            - type: 'null'
          description: Filing date for the most recent annual return.
          x-field-id: VERIFY:VerificationRegistration.last_annual_return_filed_on
        annual_return_status:
          type: string
          enum:
            - current
            - overdue
            - unknown
            - not_applicable
          x-field-id: VERIFY:VerificationRegistration.annual_return_status
          description: >-
            Annual return status. Preserve the source meaning; null or unknown
            does not establish a negative or a verified result.
        outstanding_return_years:
          type: array
          items:
            type: integer
            minimum: 0
          x-field-id: VERIFY:VerificationRegistration.outstanding_return_years
          description: >-
            Outstanding return years. Preserve the source meaning; null or
            unknown does not establish a negative or a verified result.
        registered_agent_relationship_id:
          anyOf:
            - type: string
              minLength: 1
            - type: 'null'
          description: Relationship ID for an individual or corporate service agent.
          x-field-id: VERIFY:VerificationRegistration.registered_agent_relationship_id
        document_ids:
          type: array
          items:
            type: string
            minLength: 1
          description: Associated source report and registry document IDs.
          x-field-id: VERIFY:VerificationRegistration.document_ids
      required:
        - id
        - subject_id
        - provenance
        - missing_fields
        - supplemental_facts
        - authority
        - registration_number
        - country
        - jurisdiction
        - registration_type
        - registered_name
        - status
        - standing
        - registered_on
        - inactive_on
        - dissolved_on
        - last_annual_return_year
        - last_annual_return_filed_on
        - annual_return_status
        - outstanding_return_years
        - registered_agent_relationship_id
        - document_ids
      additionalProperties: false
      description: >-
        One registry registration, including extra-provincial or foreign
        registrations.
    VerificationAddress:
      type: object
      properties:
        id:
          type: string
          minLength: 1
          description: Stable AMLOK item ID within this assessment.
          x-field-id: VERIFY:VerificationAddress.id
        subject_id:
          type: string
          minLength: 1
          description: >-
            Authorized business/person subject ID, as returned on the borrower
            or an active related-party association; not the borrower resource
            ID.
          x-field-id: VERIFY:VerificationAddress.subject_id
        provenance:
          $ref: '#/components/schemas/VerificationProvenance'
          x-field-id: VERIFY:VerificationAddress.provenance
          description: Exact source, time, basis and evidence for this observation.
        missing_fields:
          type: array
          items:
            type: object
            properties:
              path:
                type: string
                minLength: 1
                description: RFC 6901 pointer relative to this item.
                x-field-id: VERIFY:VerificationAddress.missing_fields[].path
              reason:
                $ref: '#/components/schemas/VerificationReason'
                x-field-id: VERIFY:VerificationAddress.missing_fields[].reason
                description: >-
                  Explicit explanation code when no complete usable value is
                  available.
              description:
                type: string
                minLength: 1
                description: Why this field is absent or null.
                x-field-id: VERIFY:VerificationAddress.missing_fields[].description
            required:
              - path
              - reason
              - description
            additionalProperties: false
          x-field-id: VERIFY:VerificationAddress.missing_fields
          description: >-
            Every absent or null required fact is explained by a pointer and a
            missing-data reason.
        supplemental_facts:
          type: array
          items:
            $ref: '#/components/schemas/VerificationFact'
          description: Permitted source-specific facts that do not have a canonical field.
          x-field-id: VERIFY:VerificationAddress.supplemental_facts
        roles:
          type: array
          items:
            type: string
            minLength: 1
          description: >-
            Registered office, records office, operating, service, mailing,
            residential or other source role.
          x-field-id: VERIFY:VerificationAddress.roles
        raw:
          anyOf:
            - type: string
              minLength: 1
            - type: 'null'
          description: Original address string, subject to permission.
          x-field-id: VERIFY:VerificationAddress.raw
        street:
          anyOf:
            - type: string
              minLength: 1
            - type: 'null'
          description: Street including number.
          x-field-id: VERIFY:VerificationAddress.street
        unit:
          anyOf:
            - type: string
              minLength: 1
            - type: 'null'
          description: Unit, suite or floor; do not silently discard it.
          x-field-id: VERIFY:VerificationAddress.unit
        city:
          anyOf:
            - type: string
              minLength: 1
            - type: 'null'
          description: City.
          x-field-id: VERIFY:VerificationAddress.city
        region:
          anyOf:
            - type: string
              minLength: 1
            - type: 'null'
          description: Normalized province/state code where known.
          x-field-id: VERIFY:VerificationAddress.region
        postal_code:
          anyOf:
            - type: string
              minLength: 1
            - type: 'null'
          description: Postal/ZIP code, stored as text.
          x-field-id: VERIFY:VerificationAddress.postal_code
        country:
          anyOf:
            - type: string
              minLength: 1
              pattern: ^[A-Z]{2}$
            - type: 'null'
          description: ISO alpha-2 country.
          x-field-id: VERIFY:VerificationAddress.country
        formatted:
          anyOf:
            - type: string
              minLength: 1
            - type: 'null'
          description: Formatted address.
          x-field-id: VERIFY:VerificationAddress.formatted
        validation:
          type: string
          enum:
            - validated
            - partial
            - not_validated
            - unknown
          x-field-id: VERIFY:VerificationAddress.validation
          description: >-
            Validation. Preserve the source meaning; null or unknown does not
            establish a negative or a verified result.
        deliverable:
          anyOf:
            - type: boolean
            - type: 'null'
          description: Postal deliverability from a source check.
          x-field-id: VERIFY:VerificationAddress.deliverable
        classification:
          anyOf:
            - type: string
              minLength: 1
            - type: 'null'
          description: >-
            Residential, commercial, mixed, PO box, CMRA, virtual office or
            original classification.
          x-field-id: VERIFY:VerificationAddress.classification
        is_cmra:
          anyOf:
            - type: boolean
            - type: 'null'
          description: Source-reported commercial mail receiving agency indicator.
          x-field-id: VERIFY:VerificationAddress.is_cmra
        is_virtual:
          anyOf:
            - type: boolean
            - type: 'null'
          description: Source-reported virtual address indicator.
          x-field-id: VERIFY:VerificationAddress.is_virtual
        is_registered_agent:
          anyOf:
            - type: boolean
            - type: 'null'
          description: Whether this is a registered-agent address.
          x-field-id: VERIFY:VerificationAddress.is_registered_agent
        match_score:
          anyOf:
            - $ref: '#/components/schemas/VerificationScore'
            - type: 'null'
          description: Address comparison score when actually supplied.
          x-field-id: VERIFY:VerificationAddress.match_score
      required:
        - id
        - subject_id
        - provenance
        - missing_fields
        - supplemental_facts
        - roles
        - raw
        - street
        - unit
        - city
        - region
        - postal_code
        - country
        - formatted
        - validation
        - deliverable
        - classification
        - is_cmra
        - is_virtual
        - is_registered_agent
        - match_score
      additionalProperties: false
      description: Keep distinct address roles even when their physical addresses match.
    VerificationRelationship:
      type: object
      properties:
        id:
          type: string
          minLength: 1
          description: Stable AMLOK item ID within this assessment.
          x-field-id: VERIFY:VerificationRelationship.id
        subject_id:
          type: string
          minLength: 1
          description: >-
            Authorized business/person subject ID, as returned on the borrower
            or an active related-party association; not the borrower resource
            ID.
          x-field-id: VERIFY:VerificationRelationship.subject_id
        provenance:
          $ref: '#/components/schemas/VerificationProvenance'
          x-field-id: VERIFY:VerificationRelationship.provenance
          description: Exact source, time, basis and evidence for this observation.
        missing_fields:
          type: array
          items:
            type: object
            properties:
              path:
                type: string
                minLength: 1
                description: RFC 6901 pointer relative to this item.
                x-field-id: VERIFY:VerificationRelationship.missing_fields[].path
              reason:
                $ref: '#/components/schemas/VerificationReason'
                x-field-id: VERIFY:VerificationRelationship.missing_fields[].reason
                description: >-
                  Explicit explanation code when no complete usable value is
                  available.
              description:
                type: string
                minLength: 1
                description: Why this field is absent or null.
                x-field-id: VERIFY:VerificationRelationship.missing_fields[].description
            required:
              - path
              - reason
              - description
            additionalProperties: false
          x-field-id: VERIFY:VerificationRelationship.missing_fields
          description: >-
            Every absent or null required fact is explained by a pointer and a
            missing-data reason.
        supplemental_facts:
          type: array
          items:
            $ref: '#/components/schemas/VerificationFact'
          description: Permitted source-specific facts that do not have a canonical field.
          x-field-id: VERIFY:VerificationRelationship.supplemental_facts
        related_subject_id:
          type: string
          minLength: 1
          description: Related person or business subject ID.
          x-field-id: VERIFY:VerificationRelationship.related_subject_id
        related_entity_type:
          type: string
          enum:
            - person
            - business
            - unknown
          x-field-id: VERIFY:VerificationRelationship.related_entity_type
          description: >-
            Related entity type. Preserve the source meaning; null or unknown
            does not establish a negative or a verified result.
        name:
          anyOf:
            - type: string
              minLength: 1
            - type: 'null'
          description: Observed related-party name.
          x-field-id: VERIFY:VerificationRelationship.name
        roles:
          type: array
          items:
            type: string
            minLength: 1
          description: >-
            Director, officer, shareholder, beneficial_owner, agent_for_service,
            authorized_signatory, parent or other sourced roles.
          x-field-id: VERIFY:VerificationRelationship.roles
        role_labels:
          type: array
          items:
            type: string
            minLength: 1
          description: Unmodified source role labels, preserving distinctions.
          x-field-id: VERIFY:VerificationRelationship.role_labels
        position:
          anyOf:
            - type: string
              minLength: 1
            - type: 'null'
          description: Reported job title/designation.
          x-field-id: VERIFY:VerificationRelationship.position
        appointed_on:
          anyOf:
            - type: string
              minLength: 1
              format: date
            - type: 'null'
          description: Appointment/start date.
          x-field-id: VERIFY:VerificationRelationship.appointed_on
        ended_on:
          anyOf:
            - type: string
              minLength: 1
              format: date
            - type: 'null'
          description: Termination/end date.
          x-field-id: VERIFY:VerificationRelationship.ended_on
        active:
          anyOf:
            - type: boolean
            - type: 'null'
          description: Source-confirmed current role.
          x-field-id: VERIFY:VerificationRelationship.active
        authority:
          anyOf:
            - type: string
              minLength: 1
            - type: 'null'
          description: Documented authority or powers; null when unverified.
          x-field-id: VERIFY:VerificationRelationship.authority
        address_ids:
          type: array
          items:
            type: string
            minLength: 1
          description: Related party addresses.
          x-field-id: VERIFY:VerificationRelationship.address_ids
        registration_identifiers:
          type: array
          items:
            $ref: '#/components/schemas/VerificationIdentifier'
          description: Public identifiers for corporate related parties.
          x-field-id: VERIFY:VerificationRelationship.registration_identifiers
        verification_check_ids:
          type: array
          items:
            type: string
            minLength: 1
          description: Checks performed on this related subject.
          x-field-id: VERIFY:VerificationRelationship.verification_check_ids
        verification_required:
          anyOf:
            - type: boolean
            - type: 'null'
          description: Whether this party requires verification under effective policy.
          x-field-id: VERIFY:VerificationRelationship.verification_required
        verification_state:
          type: string
          enum:
            - completed
            - pending
            - not_requested
            - skipped
            - unavailable
          x-field-id: VERIFY:VerificationRelationship.verification_state
          description: >-
            Verification state. Preserve the source meaning; null or unknown
            does not establish a negative or a verified result.
        skip_reason:
          anyOf:
            - type: string
              minLength: 1
            - type: 'null'
          description: Explicit reason a required party was not verified.
          x-field-id: VERIFY:VerificationRelationship.skip_reason
      required:
        - id
        - subject_id
        - provenance
        - missing_fields
        - supplemental_facts
        - related_subject_id
        - related_entity_type
        - name
        - roles
        - role_labels
        - position
        - appointed_on
        - ended_on
        - active
        - authority
        - address_ids
        - registration_identifiers
        - verification_check_ids
        - verification_required
        - verification_state
        - skip_reason
      additionalProperties: false
      description: A role does not establish ownership, control or successful KYC.
    VerificationOwnership:
      type: object
      properties:
        id:
          type: string
          minLength: 1
          description: Stable AMLOK item ID within this assessment.
          x-field-id: VERIFY:VerificationOwnership.id
        subject_id:
          type: string
          minLength: 1
          description: >-
            Authorized business/person subject ID, as returned on the borrower
            or an active related-party association; not the borrower resource
            ID.
          x-field-id: VERIFY:VerificationOwnership.subject_id
        provenance:
          $ref: '#/components/schemas/VerificationProvenance'
          x-field-id: VERIFY:VerificationOwnership.provenance
          description: Exact source, time, basis and evidence for this observation.
        missing_fields:
          type: array
          items:
            type: object
            properties:
              path:
                type: string
                minLength: 1
                description: RFC 6901 pointer relative to this item.
                x-field-id: VERIFY:VerificationOwnership.missing_fields[].path
              reason:
                $ref: '#/components/schemas/VerificationReason'
                x-field-id: VERIFY:VerificationOwnership.missing_fields[].reason
                description: >-
                  Explicit explanation code when no complete usable value is
                  available.
              description:
                type: string
                minLength: 1
                description: Why this field is absent or null.
                x-field-id: VERIFY:VerificationOwnership.missing_fields[].description
            required:
              - path
              - reason
              - description
            additionalProperties: false
          x-field-id: VERIFY:VerificationOwnership.missing_fields
          description: >-
            Every absent or null required fact is explained by a pointer and a
            missing-data reason.
        supplemental_facts:
          type: array
          items:
            $ref: '#/components/schemas/VerificationFact'
          description: Permitted source-specific facts that do not have a canonical field.
          x-field-id: VERIFY:VerificationOwnership.supplemental_facts
        owner_subject_id:
          type: string
          minLength: 1
          description: Person or corporate owner ID.
          x-field-id: VERIFY:VerificationOwnership.owner_subject_id
        owned_subject_id:
          type: string
          minLength: 1
          description: Owned entity ID.
          x-field-id: VERIFY:VerificationOwnership.owned_subject_id
        interest_type:
          type: string
          enum:
            - direct
            - indirect
            - beneficial
            - voting
            - unknown
          x-field-id: VERIFY:VerificationOwnership.interest_type
          description: >-
            Interest type. Preserve the source meaning; null or unknown does not
            establish a negative or a verified result.
        economic_share:
          anyOf:
            - type: string
              minLength: 1
              pattern: ^(?:0(?:\.[0-9]+)?|1(?:\.0+)?)$
            - type: 'null'
          description: Fraction 0-1 of economic equity; 0.25 means 25%.
          x-field-id: VERIFY:VerificationOwnership.economic_share
        voting_share:
          anyOf:
            - type: string
              minLength: 1
              pattern: ^(?:0(?:\.[0-9]+)?|1(?:\.0+)?)$
            - type: 'null'
          description: >-
            Fraction 0-1 of voting rights. Voting percentage does not establish
            economic equity.
          x-field-id: VERIFY:VerificationOwnership.voting_share
        economic_share_min:
          anyOf:
            - type: string
              minLength: 1
              pattern: ^(?:0(?:\.[0-9]+)?|1(?:\.0+)?)$
            - type: 'null'
          description: Lower bound when source reports a range.
          x-field-id: VERIFY:VerificationOwnership.economic_share_min
        economic_share_max:
          anyOf:
            - type: string
              minLength: 1
              pattern: ^(?:0(?:\.[0-9]+)?|1(?:\.0+)?)$
            - type: 'null'
          description: Upper bound when source reports a range.
          x-field-id: VERIFY:VerificationOwnership.economic_share_max
        voting_share_min:
          anyOf:
            - type: string
              minLength: 1
              pattern: ^(?:0(?:\.[0-9]+)?|1(?:\.0+)?)$
            - type: 'null'
          description: Lower voting fraction bound.
          x-field-id: VERIFY:VerificationOwnership.voting_share_min
        voting_share_max:
          anyOf:
            - type: string
              minLength: 1
              pattern: ^(?:0(?:\.[0-9]+)?|1(?:\.0+)?)$
            - type: 'null'
          description: Upper voting fraction bound.
          x-field-id: VERIFY:VerificationOwnership.voting_share_max
        effective_share:
          anyOf:
            - type: string
              minLength: 1
              pattern: ^(?:0(?:\.[0-9]+)?|1(?:\.0+)?)$
            - type: 'null'
          description: >-
            Indirect economic fraction only when a complete, evidenced chain
            supports it.
          x-field-id: VERIFY:VerificationOwnership.effective_share
        share_class:
          anyOf:
            - type: string
              minLength: 1
            - type: 'null'
          description: Class of shares or interest.
          x-field-id: VERIFY:VerificationOwnership.share_class
        share_count:
          anyOf:
            - type: string
              minLength: 1
              pattern: ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?$
            - type: 'null'
          description: Number of shares where supplied, not a percentage.
          x-field-id: VERIFY:VerificationOwnership.share_count
        nominal_value:
          anyOf:
            - $ref: '#/components/schemas/Money'
            - type: 'null'
          description: Nominal value with source currency.
          x-field-id: VERIFY:VerificationOwnership.nominal_value
        total_value:
          anyOf:
            - $ref: '#/components/schemas/Money'
            - type: 'null'
          description: Total stated holding value with source currency.
          x-field-id: VERIFY:VerificationOwnership.total_value
        nature_of_control:
          type: array
          items:
            type: string
            minLength: 1
          description: Source-described control mechanisms.
          x-field-id: VERIFY:VerificationOwnership.nature_of_control
        chain_subject_ids:
          type: array
          items:
            type: string
            minLength: 1
          description: Ordered ownership chain from owner to assessed entity.
          x-field-id: VERIFY:VerificationOwnership.chain_subject_ids
        chain_complete:
          type: boolean
          description: True only when all intermediate interests are evidenced.
          x-field-id: VERIFY:VerificationOwnership.chain_complete
        unresolved_reason:
          anyOf:
            - type: string
              minLength: 1
            - type: 'null'
          description: >-
            Missing intermediate owner, uncertain basis, incomplete coverage or
            other limitation.
          x-field-id: VERIFY:VerificationOwnership.unresolved_reason
        reported_interest:
          anyOf:
            - type: string
              minLength: 1
            - type: 'null'
          description: Original sharesHeld or ownership wording, retained for audit.
          x-field-id: VERIFY:VerificationOwnership.reported_interest
        basis_date:
          anyOf:
            - type: string
              minLength: 1
              format: date
            - type: 'null'
          description: Date the interest was reported or effective.
          x-field-id: VERIFY:VerificationOwnership.basis_date
      required:
        - id
        - subject_id
        - provenance
        - missing_fields
        - supplemental_facts
        - owner_subject_id
        - owned_subject_id
        - interest_type
        - economic_share
        - voting_share
        - economic_share_min
        - economic_share_max
        - voting_share_min
        - voting_share_max
        - effective_share
        - share_class
        - share_count
        - nominal_value
        - total_value
        - nature_of_control
        - chain_subject_ids
        - chain_complete
        - unresolved_reason
        - reported_interest
        - basis_date
      additionalProperties: false
      description: >-
        Economic ownership, voting control and indirect beneficial ownership
        remain distinct.
      allOf:
        - if:
            properties:
              chain_complete:
                const: false
          then:
            properties:
              effective_share:
                type: 'null'
              unresolved_reason:
                type: string
                minLength: 1
    VerificationIdentityDocument:
      type: object
      properties:
        id:
          type: string
          minLength: 1
          description: Stable AMLOK item ID within this assessment.
          x-field-id: VERIFY:VerificationIdentityDocument.id
        subject_id:
          type: string
          minLength: 1
          description: >-
            Authorized business/person subject ID, as returned on the borrower
            or an active related-party association; not the borrower resource
            ID.
          x-field-id: VERIFY:VerificationIdentityDocument.subject_id
        provenance:
          $ref: '#/components/schemas/VerificationProvenance'
          x-field-id: VERIFY:VerificationIdentityDocument.provenance
          description: Exact source, time, basis and evidence for this observation.
        missing_fields:
          type: array
          items:
            type: object
            properties:
              path:
                type: string
                minLength: 1
                description: RFC 6901 pointer relative to this item.
                x-field-id: VERIFY:VerificationIdentityDocument.missing_fields[].path
              reason:
                $ref: '#/components/schemas/VerificationReason'
                x-field-id: VERIFY:VerificationIdentityDocument.missing_fields[].reason
                description: >-
                  Explicit explanation code when no complete usable value is
                  available.
              description:
                type: string
                minLength: 1
                description: Why this field is absent or null.
                x-field-id: >-
                  VERIFY:VerificationIdentityDocument.missing_fields[].description
            required:
              - path
              - reason
              - description
            additionalProperties: false
          x-field-id: VERIFY:VerificationIdentityDocument.missing_fields
          description: >-
            Every absent or null required fact is explained by a pointer and a
            missing-data reason.
        supplemental_facts:
          type: array
          items:
            $ref: '#/components/schemas/VerificationFact'
          description: Permitted source-specific facts that do not have a canonical field.
          x-field-id: VERIFY:VerificationIdentityDocument.supplemental_facts
        document_type:
          anyOf:
            - type: string
              minLength: 1
            - type: 'null'
          description: >-
            Passport, national identity, driving licence or source document
            class.
          x-field-id: VERIFY:VerificationIdentityDocument.document_type
        document_subtype:
          anyOf:
            - type: string
              minLength: 1
            - type: 'null'
          description: Jurisdiction-specific subtype.
          x-field-id: VERIFY:VerificationIdentityDocument.document_subtype
        identifier:
          anyOf:
            - $ref: '#/components/schemas/VerificationIdentifier'
            - type: 'null'
          description: >-
            Masked document number unless full disclosure is specifically
            permitted.
          x-field-id: VERIFY:VerificationIdentityDocument.identifier
        issuing_country:
          anyOf:
            - type: string
              minLength: 1
              pattern: ^[A-Z]{2}$
            - type: 'null'
          description: >-
            Alpha-2 issuing country; retain alpha-3 source code only in
            provenance.
          x-field-id: VERIFY:VerificationIdentityDocument.issuing_country
        issued_on:
          anyOf:
            - type: string
              minLength: 1
              format: date
            - type: 'null'
          description: Issue date.
          x-field-id: VERIFY:VerificationIdentityDocument.issued_on
        expires_on:
          anyOf:
            - type: string
              minLength: 1
              format: date
            - type: 'null'
          description: Expiry date.
          x-field-id: VERIFY:VerificationIdentityDocument.expires_on
        holder_subject_id:
          type: string
          minLength: 1
          description: Person whose identity is on the document.
          x-field-id: VERIFY:VerificationIdentityDocument.holder_subject_id
        method:
          type: string
          enum:
            - document
            - database
            - wallet
            - nfc
            - unknown
          x-field-id: VERIFY:VerificationIdentityDocument.method
          description: >-
            Method. Preserve the source meaning; null or unknown does not
            establish a negative or a verified result.
        assurance:
          anyOf:
            - type: string
              minLength: 1
            - type: 'null'
          description: >-
            Documentary, data match or cryptographic assurance as supported by
            evidence.
          x-field-id: VERIFY:VerificationIdentityDocument.assurance
        authenticity:
          type: string
          enum:
            - passed
            - failed
            - inconclusive
            - not_checked
          x-field-id: VERIFY:VerificationIdentityDocument.authenticity
          description: >-
            Authenticity. Preserve the source meaning; null or unknown does not
            establish a negative or a verified result.
        extracted_fields:
          type: array
          items:
            $ref: '#/components/schemas/VerificationFact'
          description: Allowlisted identity fields and extraction confidence/quality facts.
          x-field-id: VERIFY:VerificationIdentityDocument.extracted_fields
        quality_scores:
          type: array
          items:
            $ref: '#/components/schemas/VerificationScore'
          x-field-id: VERIFY:VerificationIdentityDocument.quality_scores
          description: >-
            Quality scores. Preserve the source meaning; null or unknown does
            not establish a negative or a verified result.
        nfc:
          anyOf:
            - type: object
              properties:
                chip_read:
                  anyOf:
                    - type: boolean
                    - type: 'null'
                  x-field-id: VERIFY:VerificationIdentityDocument.nfc.chip_read
                  description: >-
                    Whether the NFC chip was successfully read; this alone does
                    not prove authenticity.
                passive_authentication:
                  anyOf:
                    - type: boolean
                    - type: 'null'
                  x-field-id: >-
                    VERIFY:VerificationIdentityDocument.nfc.passive_authentication
                  description: >-
                    Whether the chip data signature passed passive
                    authentication.
                active_authentication:
                  anyOf:
                    - type: boolean
                    - type: 'null'
                  x-field-id: >-
                    VERIFY:VerificationIdentityDocument.nfc.active_authentication
                  description: >-
                    Whether active authentication passed the chip
                    challenge-response check.
                chip_authentication:
                  anyOf:
                    - type: boolean
                    - type: 'null'
                  x-field-id: VERIFY:VerificationIdentityDocument.nfc.chip_authentication
                  description: Whether cryptographic chip authentication passed.
                data_integrity:
                  anyOf:
                    - type: boolean
                    - type: 'null'
                  x-field-id: VERIFY:VerificationIdentityDocument.nfc.data_integrity
                  description: Whether the reported chip data-integrity checks passed.
                certificate_valid:
                  anyOf:
                    - type: boolean
                    - type: 'null'
                  x-field-id: VERIFY:VerificationIdentityDocument.nfc.certificate_valid
                  description: >-
                    Whether the relevant certificate passed the source
                    validation checks.
                protocol:
                  anyOf:
                    - type: string
                      minLength: 1
                    - type: 'null'
                  x-field-id: VERIFY:VerificationIdentityDocument.nfc.protocol
                  description: Reported chip authentication or communication protocol.
                skipped_reason:
                  anyOf:
                    - type: string
                      minLength: 1
                    - type: 'null'
                  x-field-id: VERIFY:VerificationIdentityDocument.nfc.skipped_reason
                  description: >-
                    Explicit reason this check was skipped; do not infer a
                    passing outcome.
              required:
                - chip_read
                - passive_authentication
                - active_authentication
                - chip_authentication
                - data_integrity
                - certificate_valid
                - protocol
                - skipped_reason
              additionalProperties: false
            - type: 'null'
          description: NFC check results only; no chip dumps or biometric portraits.
          x-field-id: VERIFY:VerificationIdentityDocument.nfc
        wallet:
          anyOf:
            - type: object
              properties:
                issuer:
                  anyOf:
                    - type: string
                      minLength: 1
                    - type: 'null'
                  x-field-id: VERIFY:VerificationIdentityDocument.wallet.issuer
                  description: >-
                    Issuer. Preserve the source meaning; null or unknown does
                    not establish a negative or a verified result.
                country:
                  anyOf:
                    - type: string
                      minLength: 1
                      pattern: ^[A-Z]{2}$
                    - type: 'null'
                  x-field-id: VERIFY:VerificationIdentityDocument.wallet.country
                  description: >-
                    Country. Preserve the source meaning; null or unknown does
                    not establish a negative or a verified result.
                credential_type:
                  anyOf:
                    - type: string
                      minLength: 1
                    - type: 'null'
                  x-field-id: VERIFY:VerificationIdentityDocument.wallet.credential_type
                  description: Type of verified digital credential.
                assurance_level:
                  anyOf:
                    - type: string
                      minLength: 1
                    - type: 'null'
                  x-field-id: VERIFY:VerificationIdentityDocument.wallet.assurance_level
                  description: >-
                    Assurance level stated by the credential issuer or
                    verification source.
                signature_valid:
                  anyOf:
                    - type: boolean
                    - type: 'null'
                  x-field-id: VERIFY:VerificationIdentityDocument.wallet.signature_valid
                  description: Whether the credential signature passed source validation.
                verified_at:
                  anyOf:
                    - type: string
                      minLength: 1
                      format: date-time
                    - type: 'null'
                  x-field-id: VERIFY:VerificationIdentityDocument.wallet.verified_at
                  description: >-
                    Verified at. Preserve the source meaning; null or unknown
                    does not establish a negative or a verified result.
              required:
                - issuer
                - country
                - credential_type
                - assurance_level
                - signature_valid
                - verified_at
              additionalProperties: false
            - type: 'null'
          description: Verified digital credential attributes; no access tokens.
          x-field-id: VERIFY:VerificationIdentityDocument.wallet
        document_id:
          anyOf:
            - type: string
              minLength: 1
            - type: 'null'
          description: >-
            Authorized document reference; subject to evidence access at
            download time.
          x-field-id: VERIFY:VerificationIdentityDocument.document_id
        reason_codes:
          type: array
          items:
            type: string
            minLength: 1
          description: Expired, tampered, unsupported, missing or other source findings.
          x-field-id: VERIFY:VerificationIdentityDocument.reason_codes
      required:
        - id
        - subject_id
        - provenance
        - missing_fields
        - supplemental_facts
        - document_type
        - document_subtype
        - identifier
        - issuing_country
        - issued_on
        - expires_on
        - holder_subject_id
        - method
        - assurance
        - authenticity
        - extracted_fields
        - quality_scores
        - nfc
        - wallet
        - document_id
        - reason_codes
      additionalProperties: false
      description: >-
        Document observations and verification results without capture media or
        raw biometric templates.
    VerificationBiometric:
      type: object
      properties:
        id:
          type: string
          minLength: 1
          description: Stable AMLOK item ID within this assessment.
          x-field-id: VERIFY:VerificationBiometric.id
        subject_id:
          type: string
          minLength: 1
          description: >-
            Authorized business/person subject ID, as returned on the borrower
            or an active related-party association; not the borrower resource
            ID.
          x-field-id: VERIFY:VerificationBiometric.subject_id
        provenance:
          $ref: '#/components/schemas/VerificationProvenance'
          x-field-id: VERIFY:VerificationBiometric.provenance
          description: Exact source, time, basis and evidence for this observation.
        missing_fields:
          type: array
          items:
            type: object
            properties:
              path:
                type: string
                minLength: 1
                description: RFC 6901 pointer relative to this item.
                x-field-id: VERIFY:VerificationBiometric.missing_fields[].path
              reason:
                $ref: '#/components/schemas/VerificationReason'
                x-field-id: VERIFY:VerificationBiometric.missing_fields[].reason
                description: >-
                  Explicit explanation code when no complete usable value is
                  available.
              description:
                type: string
                minLength: 1
                description: Why this field is absent or null.
                x-field-id: VERIFY:VerificationBiometric.missing_fields[].description
            required:
              - path
              - reason
              - description
            additionalProperties: false
          x-field-id: VERIFY:VerificationBiometric.missing_fields
          description: >-
            Every absent or null required fact is explained by a pointer and a
            missing-data reason.
        supplemental_facts:
          type: array
          items:
            $ref: '#/components/schemas/VerificationFact'
          description: Permitted source-specific facts that do not have a canonical field.
          x-field-id: VERIFY:VerificationBiometric.supplemental_facts
        kind:
          type: string
          enum:
            - liveness
            - face_match
            - document_selfie_match
          x-field-id: VERIFY:VerificationBiometric.kind
          description: >-
            Kind. Preserve the source meaning; null or unknown does not
            establish a negative or a verified result.
        method:
          anyOf:
            - type: string
              minLength: 1
            - type: 'null'
          description: Passive, active, document-to-selfie or other source method.
          x-field-id: VERIFY:VerificationBiometric.method
        outcome:
          type: string
          enum:
            - passed
            - failed
            - review_required
            - inconclusive
            - not_performed
          x-field-id: VERIFY:VerificationBiometric.outcome
          description: Verification/compliance result, not a lending decision.
        score:
          anyOf:
            - $ref: '#/components/schemas/VerificationScore'
            - type: 'null'
          description: Original assurance or similarity score.
          x-field-id: VERIFY:VerificationBiometric.score
        threshold:
          anyOf:
            - type: number
            - type: 'null'
          description: Actual configured source threshold, null when not disclosed.
          x-field-id: VERIFY:VerificationBiometric.threshold
        reason_codes:
          type: array
          items:
            type: string
            minLength: 1
          description: Source spoofing, quality or comparison findings.
          x-field-id: VERIFY:VerificationBiometric.reason_codes
        comparison_subject_ids:
          type: array
          items:
            type: string
            minLength: 1
          description: >-
            Authorized same-workspace subject references; never cross-customer
            identities.
          x-field-id: VERIFY:VerificationBiometric.comparison_subject_ids
        consent_reference:
          anyOf:
            - type: string
              minLength: 1
            - type: 'null'
          description: >-
            Reference to authorization governing this check; not raw consent
            biometrics.
          x-field-id: VERIFY:VerificationBiometric.consent_reference
      required:
        - id
        - subject_id
        - provenance
        - missing_fields
        - supplemental_facts
        - kind
        - method
        - outcome
        - score
        - threshold
        - reason_codes
        - comparison_subject_ids
        - consent_reference
      additionalProperties: false
      description: >-
        Verification outputs for identity assurance, never borrower capacity or
        character scoring.
    VerificationScreening:
      type: object
      properties:
        id:
          type: string
          minLength: 1
          description: Stable AMLOK item ID within this assessment.
          x-field-id: VERIFY:VerificationScreening.id
        subject_id:
          type: string
          minLength: 1
          description: >-
            Authorized business/person subject ID, as returned on the borrower
            or an active related-party association; not the borrower resource
            ID.
          x-field-id: VERIFY:VerificationScreening.subject_id
        provenance:
          $ref: '#/components/schemas/VerificationProvenance'
          x-field-id: VERIFY:VerificationScreening.provenance
          description: Exact source, time, basis and evidence for this observation.
        missing_fields:
          type: array
          items:
            type: object
            properties:
              path:
                type: string
                minLength: 1
                description: RFC 6901 pointer relative to this item.
                x-field-id: VERIFY:VerificationScreening.missing_fields[].path
              reason:
                $ref: '#/components/schemas/VerificationReason'
                x-field-id: VERIFY:VerificationScreening.missing_fields[].reason
                description: >-
                  Explicit explanation code when no complete usable value is
                  available.
              description:
                type: string
                minLength: 1
                description: Why this field is absent or null.
                x-field-id: VERIFY:VerificationScreening.missing_fields[].description
            required:
              - path
              - reason
              - description
            additionalProperties: false
          x-field-id: VERIFY:VerificationScreening.missing_fields
          description: >-
            Every absent or null required fact is explained by a pointer and a
            missing-data reason.
        supplemental_facts:
          type: array
          items:
            $ref: '#/components/schemas/VerificationFact'
          description: Permitted source-specific facts that do not have a canonical field.
          x-field-id: VERIFY:VerificationScreening.supplemental_facts
        kind:
          type: string
          enum:
            - sanctions
            - pep
            - adverse_media
            - watchlist
            - combined
          x-field-id: VERIFY:VerificationScreening.kind
          description: >-
            Kind. Preserve the source meaning; null or unknown does not
            establish a negative or a verified result.
        state:
          type: string
          enum:
            - completed
            - pending
            - failed
            - not_requested
          x-field-id: VERIFY:VerificationScreening.state
          description: >-
            State. Preserve the source meaning; null or unknown does not
            establish a negative or a verified result.
        result:
          type: string
          enum:
            - no_match
            - potential_match
            - confirmed_match
            - inconclusive
            - not_screened
          x-field-id: VERIFY:VerificationScreening.result
          description: >-
            Result. Preserve the source meaning; null or unknown does not
            establish a negative or a verified result.
        coverage:
          $ref: '#/components/schemas/VerificationCoverage'
          x-field-id: VERIFY:VerificationScreening.coverage
          description: Actual requested and completed source scope with limitations.
        screened_values:
          type: array
          items:
            $ref: '#/components/schemas/VerificationFact'
          description: >-
            Permitted identity attributes actually submitted, identifiers
            masked.
          x-field-id: VERIFY:VerificationScreening.screened_values
        hits:
          type: array
          items:
            $ref: '#/components/schemas/VerificationScreeningHit'
          description: All returned authorized candidates, not only confirmed matches.
          x-field-id: VERIFY:VerificationScreening.hits
        reported_hit_count:
          anyOf:
            - type: integer
              minimum: 0
            - type: 'null'
          description: Provider total, null when unavailable.
          x-field-id: VERIFY:VerificationScreening.reported_hit_count
        returned_hit_count:
          type: integer
          minimum: 0
          description: Count of hits returned in this item.
          x-field-id: VERIFY:VerificationScreening.returned_hit_count
        screened_at:
          anyOf:
            - type: string
              minLength: 1
              format: date-time
            - type: 'null'
          description: Actual screening time.
          x-field-id: VERIFY:VerificationScreening.screened_at
        dataset_updated_at:
          anyOf:
            - type: string
              minLength: 1
              format: date-time
            - type: 'null'
          description: Provider-reported dataset freshness; do not infer it.
          x-field-id: VERIFY:VerificationScreening.dataset_updated_at
        ongoing_monitoring:
          anyOf:
            - type: boolean
            - type: 'null'
          description: Whether the source actually has ongoing screening enabled.
          x-field-id: VERIFY:VerificationScreening.ongoing_monitoring
        last_rescreened_at:
          anyOf:
            - type: string
              minLength: 1
              format: date-time
            - type: 'null'
          description: Actual last completed rescreening; never a billing date.
          x-field-id: VERIFY:VerificationScreening.last_rescreened_at
      required:
        - id
        - subject_id
        - provenance
        - missing_fields
        - supplemental_facts
        - kind
        - state
        - result
        - coverage
        - screened_values
        - hits
        - reported_hit_count
        - returned_hit_count
        - screened_at
        - dataset_updated_at
        - ongoing_monitoring
        - last_rescreened_at
      additionalProperties: false
      description: >-
        No-match is valid only for a completed search with known, complete
        requested coverage.
      allOf:
        - if:
            properties:
              result:
                const: no_match
          then:
            properties:
              state:
                const: completed
              coverage:
                properties:
                  status:
                    const: complete
              hits:
                maxItems: 0
              reported_hit_count:
                const: 0
              returned_hit_count:
                const: 0
              screened_at:
                type: string
                minLength: 1
                format: date-time
        - if:
            properties:
              state:
                enum:
                  - pending
                  - failed
                  - not_requested
          then:
            properties:
              result:
                enum:
                  - inconclusive
                  - not_screened
    VerificationTaxCheck:
      type: object
      properties:
        id:
          type: string
          minLength: 1
          description: Stable AMLOK item ID within this assessment.
          x-field-id: VERIFY:VerificationTaxCheck.id
        subject_id:
          type: string
          minLength: 1
          description: >-
            Authorized business/person subject ID, as returned on the borrower
            or an active related-party association; not the borrower resource
            ID.
          x-field-id: VERIFY:VerificationTaxCheck.subject_id
        provenance:
          $ref: '#/components/schemas/VerificationProvenance'
          x-field-id: VERIFY:VerificationTaxCheck.provenance
          description: Exact source, time, basis and evidence for this observation.
        missing_fields:
          type: array
          items:
            type: object
            properties:
              path:
                type: string
                minLength: 1
                description: RFC 6901 pointer relative to this item.
                x-field-id: VERIFY:VerificationTaxCheck.missing_fields[].path
              reason:
                $ref: '#/components/schemas/VerificationReason'
                x-field-id: VERIFY:VerificationTaxCheck.missing_fields[].reason
                description: >-
                  Explicit explanation code when no complete usable value is
                  available.
              description:
                type: string
                minLength: 1
                description: Why this field is absent or null.
                x-field-id: VERIFY:VerificationTaxCheck.missing_fields[].description
            required:
              - path
              - reason
              - description
            additionalProperties: false
          x-field-id: VERIFY:VerificationTaxCheck.missing_fields
          description: >-
            Every absent or null required fact is explained by a pointer and a
            missing-data reason.
        supplemental_facts:
          type: array
          items:
            $ref: '#/components/schemas/VerificationFact'
          description: Permitted source-specific facts that do not have a canonical field.
          x-field-id: VERIFY:VerificationTaxCheck.supplemental_facts
        identifier:
          $ref: '#/components/schemas/VerificationIdentifier'
          x-field-id: VERIFY:VerificationTaxCheck.identifier
          description: >-
            Identifier. Preserve the source meaning; null or unknown does not
            establish a negative or a verified result.
        authority:
          anyOf:
            - type: string
              minLength: 1
            - type: 'null'
          description: Source authority or registry used for validation.
          x-field-id: VERIFY:VerificationTaxCheck.authority
        result:
          type: string
          enum:
            - matched
            - not_matched
            - partial_match
            - format_valid
            - invalid_format
            - unavailable
            - not_checked
          x-field-id: VERIFY:VerificationTaxCheck.result
          description: >-
            Result. Preserve the source meaning; null or unknown does not
            establish a negative or a verified result.
        provided_name:
          anyOf:
            - type: string
              minLength: 1
            - type: 'null'
          description: Submitted taxpayer name.
          x-field-id: VERIFY:VerificationTaxCheck.provided_name
        registered_name:
          anyOf:
            - type: string
              minLength: 1
            - type: 'null'
          description: Permitted authority-returned name.
          x-field-id: VERIFY:VerificationTaxCheck.registered_name
        registered_address_id:
          anyOf:
            - type: string
              minLength: 1
            - type: 'null'
          description: Address ID returned by the authority.
          x-field-id: VERIFY:VerificationTaxCheck.registered_address_id
        checked_at:
          anyOf:
            - type: string
              minLength: 1
              format: date-time
            - type: 'null'
          description: Time the tax-ID check completed.
          x-field-id: VERIFY:VerificationTaxCheck.checked_at
        unavailable_reason:
          anyOf:
            - type: string
              minLength: 1
            - type: 'null'
          description: >-
            Outage, country not supported, not submitted, entitlement or other
            reason.
          x-field-id: VERIFY:VerificationTaxCheck.unavailable_reason
      required:
        - id
        - subject_id
        - provenance
        - missing_fields
        - supplemental_facts
        - identifier
        - authority
        - result
        - provided_name
        - registered_name
        - registered_address_id
        - checked_at
        - unavailable_reason
      additionalProperties: false
      description: >-
        Identifier/name validation does not establish taxes paid or absence of
        tax debt.
    VerificationLicence:
      type: object
      properties:
        id:
          type: string
          minLength: 1
          description: Stable AMLOK item ID within this assessment.
          x-field-id: VERIFY:VerificationLicence.id
        subject_id:
          type: string
          minLength: 1
          description: >-
            Authorized business/person subject ID, as returned on the borrower
            or an active related-party association; not the borrower resource
            ID.
          x-field-id: VERIFY:VerificationLicence.subject_id
        provenance:
          $ref: '#/components/schemas/VerificationProvenance'
          x-field-id: VERIFY:VerificationLicence.provenance
          description: Exact source, time, basis and evidence for this observation.
        missing_fields:
          type: array
          items:
            type: object
            properties:
              path:
                type: string
                minLength: 1
                description: RFC 6901 pointer relative to this item.
                x-field-id: VERIFY:VerificationLicence.missing_fields[].path
              reason:
                $ref: '#/components/schemas/VerificationReason'
                x-field-id: VERIFY:VerificationLicence.missing_fields[].reason
                description: >-
                  Explicit explanation code when no complete usable value is
                  available.
              description:
                type: string
                minLength: 1
                description: Why this field is absent or null.
                x-field-id: VERIFY:VerificationLicence.missing_fields[].description
            required:
              - path
              - reason
              - description
            additionalProperties: false
          x-field-id: VERIFY:VerificationLicence.missing_fields
          description: >-
            Every absent or null required fact is explained by a pointer and a
            missing-data reason.
        supplemental_facts:
          type: array
          items:
            $ref: '#/components/schemas/VerificationFact'
          description: Permitted source-specific facts that do not have a canonical field.
          x-field-id: VERIFY:VerificationLicence.supplemental_facts
        registry:
          type: string
          minLength: 1
          description: Name of regulatory registry.
          x-field-id: VERIFY:VerificationLicence.registry
        authority:
          anyOf:
            - type: string
              minLength: 1
            - type: 'null'
          description: Issuing or supervising authority.
          x-field-id: VERIFY:VerificationLicence.authority
        country:
          anyOf:
            - type: string
              minLength: 1
              pattern: ^[A-Z]{2}$
            - type: 'null'
          description: Country.
          x-field-id: VERIFY:VerificationLicence.country
        jurisdiction:
          anyOf:
            - type: string
              minLength: 1
            - type: 'null'
          description: Province/state/municipality.
          x-field-id: VERIFY:VerificationLicence.jurisdiction
        identifier:
          anyOf:
            - type: string
              minLength: 1
            - type: 'null'
          description: Licence or regulatory registration number.
          x-field-id: VERIFY:VerificationLicence.identifier
        legal_name:
          anyOf:
            - type: string
              minLength: 1
            - type: 'null'
          description: Licensed entity name.
          x-field-id: VERIFY:VerificationLicence.legal_name
        licence_types:
          type: array
          items:
            type: string
            minLength: 1
          description: Reported permit classes or activities.
          x-field-id: VERIFY:VerificationLicence.licence_types
        status:
          anyOf:
            - type: string
              minLength: 1
            - type: 'null'
          description: Original status, including renewal or suspension distinctions.
          x-field-id: VERIFY:VerificationLicence.status
        issued_on:
          anyOf:
            - type: string
              minLength: 1
              format: date
            - type: 'null'
          description: First issue date.
          x-field-id: VERIFY:VerificationLicence.issued_on
        expires_on:
          anyOf:
            - type: string
              minLength: 1
              format: date
            - type: 'null'
          description: Reported expiry date.
          x-field-id: VERIFY:VerificationLicence.expires_on
        address_ids:
          type: array
          items:
            type: string
            minLength: 1
          description: Licensed premises addresses.
          x-field-id: VERIFY:VerificationLicence.address_ids
        conditions:
          type: array
          items:
            type: string
            minLength: 1
          description: Explicit licence restrictions or conditions.
          x-field-id: VERIFY:VerificationLicence.conditions
        classification_codes:
          type: array
          items:
            type: string
            minLength: 1
          description: >-
            Registry classifications, such as WSIB classes; preserve source
            scheme.
          x-field-id: VERIFY:VerificationLicence.classification_codes
        match_score:
          anyOf:
            - $ref: '#/components/schemas/VerificationScore'
            - type: 'null'
          description: Registry candidate similarity only.
          x-field-id: VERIFY:VerificationLicence.match_score
      required:
        - id
        - subject_id
        - provenance
        - missing_fields
        - supplemental_facts
        - registry
        - authority
        - country
        - jurisdiction
        - identifier
        - legal_name
        - licence_types
        - status
        - issued_on
        - expires_on
        - address_ids
        - conditions
        - classification_codes
        - match_score
      additionalProperties: false
      description: A licence observation is scoped to its authority and matching entity.
    VerificationFiling:
      type: object
      properties:
        id:
          type: string
          minLength: 1
          description: Stable AMLOK item ID within this assessment.
          x-field-id: VERIFY:VerificationFiling.id
        subject_id:
          type: string
          minLength: 1
          description: >-
            Authorized business/person subject ID, as returned on the borrower
            or an active related-party association; not the borrower resource
            ID.
          x-field-id: VERIFY:VerificationFiling.subject_id
        provenance:
          $ref: '#/components/schemas/VerificationProvenance'
          x-field-id: VERIFY:VerificationFiling.provenance
          description: Exact source, time, basis and evidence for this observation.
        missing_fields:
          type: array
          items:
            type: object
            properties:
              path:
                type: string
                minLength: 1
                description: RFC 6901 pointer relative to this item.
                x-field-id: VERIFY:VerificationFiling.missing_fields[].path
              reason:
                $ref: '#/components/schemas/VerificationReason'
                x-field-id: VERIFY:VerificationFiling.missing_fields[].reason
                description: >-
                  Explicit explanation code when no complete usable value is
                  available.
              description:
                type: string
                minLength: 1
                description: Why this field is absent or null.
                x-field-id: VERIFY:VerificationFiling.missing_fields[].description
            required:
              - path
              - reason
              - description
            additionalProperties: false
          x-field-id: VERIFY:VerificationFiling.missing_fields
          description: >-
            Every absent or null required fact is explained by a pointer and a
            missing-data reason.
        supplemental_facts:
          type: array
          items:
            $ref: '#/components/schemas/VerificationFact'
          description: Permitted source-specific facts that do not have a canonical field.
          x-field-id: VERIFY:VerificationFiling.supplemental_facts
        kind:
          anyOf:
            - type: string
              minLength: 1
            - type: 'null'
          description: >-
            Incorporation, name/structure change, annual return, director change
            or source event type.
          x-field-id: VERIFY:VerificationFiling.kind
        filed_on:
          anyOf:
            - type: string
              minLength: 1
              format: date
            - type: 'null'
          description: Filing date.
          x-field-id: VERIFY:VerificationFiling.filed_on
        effective_on:
          anyOf:
            - type: string
              minLength: 1
              format: date
            - type: 'null'
          description: Effective date if different.
          x-field-id: VERIFY:VerificationFiling.effective_on
        period_year:
          anyOf:
            - type: integer
              minimum: 0
            - type: 'null'
          description: Year covered by the filing, not the filing calendar year.
          x-field-id: VERIFY:VerificationFiling.period_year
        status:
          anyOf:
            - type: string
              minLength: 1
            - type: 'null'
          description: Filed, outstanding or source status.
          x-field-id: VERIFY:VerificationFiling.status
        reference:
          anyOf:
            - type: string
              minLength: 1
            - type: 'null'
          description: Filing number or source attachment barcode.
          x-field-id: VERIFY:VerificationFiling.reference
        document_ids:
          type: array
          items:
            type: string
            minLength: 1
          description: Controlled references to report pages and original attachments.
          x-field-id: VERIFY:VerificationFiling.document_ids
      required:
        - id
        - subject_id
        - provenance
        - missing_fields
        - supplemental_facts
        - kind
        - filed_on
        - effective_on
        - period_year
        - status
        - reference
        - document_ids
      additionalProperties: false
      description: >-
        Corporate filing events and missing annual returns retain their dates
        and evidence.
    VerificationCorporateStructure:
      type: object
      properties:
        id:
          type: string
          minLength: 1
          description: Stable AMLOK item ID within this assessment.
          x-field-id: VERIFY:VerificationCorporateStructure.id
        subject_id:
          type: string
          minLength: 1
          description: >-
            Authorized business/person subject ID, as returned on the borrower
            or an active related-party association; not the borrower resource
            ID.
          x-field-id: VERIFY:VerificationCorporateStructure.subject_id
        provenance:
          $ref: '#/components/schemas/VerificationProvenance'
          x-field-id: VERIFY:VerificationCorporateStructure.provenance
          description: Exact source, time, basis and evidence for this observation.
        missing_fields:
          type: array
          items:
            type: object
            properties:
              path:
                type: string
                minLength: 1
                description: RFC 6901 pointer relative to this item.
                x-field-id: VERIFY:VerificationCorporateStructure.missing_fields[].path
              reason:
                $ref: '#/components/schemas/VerificationReason'
                x-field-id: VERIFY:VerificationCorporateStructure.missing_fields[].reason
                description: >-
                  Explicit explanation code when no complete usable value is
                  available.
              description:
                type: string
                minLength: 1
                description: Why this field is absent or null.
                x-field-id: >-
                  VERIFY:VerificationCorporateStructure.missing_fields[].description
            required:
              - path
              - reason
              - description
            additionalProperties: false
          x-field-id: VERIFY:VerificationCorporateStructure.missing_fields
          description: >-
            Every absent or null required fact is explained by a pointer and a
            missing-data reason.
        supplemental_facts:
          type: array
          items:
            $ref: '#/components/schemas/VerificationFact'
          description: Permitted source-specific facts that do not have a canonical field.
          x-field-id: VERIFY:VerificationCorporateStructure.supplemental_facts
        share_classes:
          type: array
          items:
            type: object
            properties:
              name:
                type: string
                minLength: 1
                x-field-id: VERIFY:VerificationCorporateStructure.share_classes[].name
                description: >-
                  Name. Preserve the source meaning; null or unknown does not
                  establish a negative or a verified result.
              description:
                anyOf:
                  - type: string
                    minLength: 1
                  - type: 'null'
                x-field-id: >-
                  VERIFY:VerificationCorporateStructure.share_classes[].description
                description: >-
                  Description. Preserve the source meaning; null or unknown does
                  not establish a negative or a verified result.
              authorized_quantity:
                anyOf:
                  - type: string
                    minLength: 1
                    pattern: ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?$
                  - type: 'null'
                x-field-id: >-
                  VERIFY:VerificationCorporateStructure.share_classes[].authorized_quantity
                description: >-
                  Authorized number of shares in this class; null for
                  unquantified or unknown amounts.
              unlimited:
                anyOf:
                  - type: boolean
                  - type: 'null'
                x-field-id: >-
                  VERIFY:VerificationCorporateStructure.share_classes[].unlimited
                description: >-
                  Whether the governing articles explicitly authorize an
                  unlimited number of this share class.
              issued_quantity:
                anyOf:
                  - type: string
                    minLength: 1
                    pattern: ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?$
                  - type: 'null'
                x-field-id: >-
                  VERIFY:VerificationCorporateStructure.share_classes[].issued_quantity
                description: >-
                  Number of this class reported as issued, not inferred from
                  authorized capital.
              voting_rights:
                anyOf:
                  - type: string
                    minLength: 1
                  - type: 'null'
                x-field-id: >-
                  VERIFY:VerificationCorporateStructure.share_classes[].voting_rights
                description: >-
                  Source wording describing voting rights attached to this share
                  class.
              votes_per_share:
                anyOf:
                  - type: string
                    minLength: 1
                    pattern: ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?$
                  - type: 'null'
                x-field-id: >-
                  VERIFY:VerificationCorporateStructure.share_classes[].votes_per_share
                description: >-
                  Number of votes per share in this class, represented as a
                  decimal string.
              nominal_value:
                anyOf:
                  - $ref: '#/components/schemas/Money'
                  - type: 'null'
                x-field-id: >-
                  VERIFY:VerificationCorporateStructure.share_classes[].nominal_value
                description: >-
                  Nominal value. Preserve the source meaning; null or unknown
                  does not establish a negative or a verified result.
              dividend_rights:
                anyOf:
                  - type: string
                    minLength: 1
                  - type: 'null'
                x-field-id: >-
                  VERIFY:VerificationCorporateStructure.share_classes[].dividend_rights
                description: Source wording describing dividend rights and priorities.
              liquidation_rights:
                anyOf:
                  - type: string
                    minLength: 1
                  - type: 'null'
                x-field-id: >-
                  VERIFY:VerificationCorporateStructure.share_classes[].liquidation_rights
                description: >-
                  Source wording describing distribution priorities on
                  liquidation.
              redemption_terms:
                anyOf:
                  - type: string
                    minLength: 1
                  - type: 'null'
                x-field-id: >-
                  VERIFY:VerificationCorporateStructure.share_classes[].redemption_terms
                description: Source wording describing redemption rights or obligations.
              evidence:
                type: array
                items:
                  $ref: '#/components/schemas/VerificationEvidence'
                minItems: 1
                x-field-id: VERIFY:VerificationCorporateStructure.share_classes[].evidence
                description: Exact evidence records and source-document locations.
            required:
              - name
              - description
              - authorized_quantity
              - unlimited
              - issued_quantity
              - voting_rights
              - votes_per_share
              - nominal_value
              - dividend_rights
              - liquidation_rights
              - redemption_terms
              - evidence
            additionalProperties: false
          x-field-id: VERIFY:VerificationCorporateStructure.share_classes
          description: >-
            Share classes. Preserve the source meaning; null or unknown does not
            establish a negative or a verified result.
        share_transfer_restrictions:
          type: array
          items:
            type: string
            minLength: 1
          description: Source restrictions, with evidence; not inferred from legal form.
          x-field-id: VERIFY:VerificationCorporateStructure.share_transfer_restrictions
        minimum_directors:
          anyOf:
            - type: integer
              minimum: 0
            - type: 'null'
          description: Minimum allowed directors.
          x-field-id: VERIFY:VerificationCorporateStructure.minimum_directors
        maximum_directors:
          anyOf:
            - type: integer
              minimum: 0
            - type: 'null'
          description: Maximum allowed directors.
          x-field-id: VERIFY:VerificationCorporateStructure.maximum_directors
        permitted_activities:
          type: array
          items:
            type: string
            minLength: 1
          description: Expressly permitted/restricted-to business activities.
          x-field-id: VERIFY:VerificationCorporateStructure.permitted_activities
        prohibited_activities:
          type: array
          items:
            type: string
            minLength: 1
          description: Expressly prohibited/restricted-from activities.
          x-field-id: VERIFY:VerificationCorporateStructure.prohibited_activities
        other_provisions:
          type: array
          items:
            type: string
            minLength: 1
          description: Material sourced governing provisions.
          x-field-id: VERIFY:VerificationCorporateStructure.other_provisions
        document_ids:
          type: array
          items:
            type: string
            minLength: 1
          description: Articles, schedules, amendments and source report references.
          x-field-id: VERIFY:VerificationCorporateStructure.document_ids
      required:
        - id
        - subject_id
        - provenance
        - missing_fields
        - supplemental_facts
        - share_classes
        - share_transfer_restrictions
        - minimum_directors
        - maximum_directors
        - permitted_activities
        - prohibited_activities
        - other_provisions
        - document_ids
      additionalProperties: false
      description: >-
        Governing articles and capital structure; extracted provisions are not
        legal conclusions.
    VerificationPublicRecord:
      type: object
      properties:
        id:
          type: string
          minLength: 1
          description: Stable AMLOK item ID within this assessment.
          x-field-id: VERIFY:VerificationPublicRecord.id
        subject_id:
          type: string
          minLength: 1
          description: >-
            Authorized business/person subject ID, as returned on the borrower
            or an active related-party association; not the borrower resource
            ID.
          x-field-id: VERIFY:VerificationPublicRecord.subject_id
        provenance:
          $ref: '#/components/schemas/VerificationProvenance'
          x-field-id: VERIFY:VerificationPublicRecord.provenance
          description: Exact source, time, basis and evidence for this observation.
        missing_fields:
          type: array
          items:
            type: object
            properties:
              path:
                type: string
                minLength: 1
                description: RFC 6901 pointer relative to this item.
                x-field-id: VERIFY:VerificationPublicRecord.missing_fields[].path
              reason:
                $ref: '#/components/schemas/VerificationReason'
                x-field-id: VERIFY:VerificationPublicRecord.missing_fields[].reason
                description: >-
                  Explicit explanation code when no complete usable value is
                  available.
              description:
                type: string
                minLength: 1
                description: Why this field is absent or null.
                x-field-id: VERIFY:VerificationPublicRecord.missing_fields[].description
            required:
              - path
              - reason
              - description
            additionalProperties: false
          x-field-id: VERIFY:VerificationPublicRecord.missing_fields
          description: >-
            Every absent or null required fact is explained by a pointer and a
            missing-data reason.
        supplemental_facts:
          type: array
          items:
            $ref: '#/components/schemas/VerificationFact'
          description: Permitted source-specific facts that do not have a canonical field.
          x-field-id: VERIFY:VerificationPublicRecord.supplemental_facts
        kind:
          type: string
          enum:
            - lien
            - judgment
            - litigation
            - bankruptcy
            - fraud_consortium
            - regulatory_action
            - other
          x-field-id: VERIFY:VerificationPublicRecord.kind
          description: >-
            Kind. Preserve the source meaning; null or unknown does not
            establish a negative or a verified result.
        match_status:
          type: string
          enum:
            - candidate
            - confirmed
            - excluded
            - unresolved
          x-field-id: VERIFY:VerificationPublicRecord.match_status
          description: >-
            Match status. Preserve the source meaning; null or unknown does not
            establish a negative or a verified result.
        match_score:
          anyOf:
            - $ref: '#/components/schemas/VerificationScore'
            - type: 'null'
          description: Provider match confidence, not a default probability.
          x-field-id: VERIFY:VerificationPublicRecord.match_score
        reference:
          anyOf:
            - type: string
              minLength: 1
            - type: 'null'
          description: Filing, case, docket or source report identifier.
          x-field-id: VERIFY:VerificationPublicRecord.reference
        jurisdiction:
          anyOf:
            - type: string
              minLength: 1
            - type: 'null'
          description: Search/result jurisdiction.
          x-field-id: VERIFY:VerificationPublicRecord.jurisdiction
        authority:
          anyOf:
            - type: string
              minLength: 1
            - type: 'null'
          description: Court, registry or reporting authority.
          x-field-id: VERIFY:VerificationPublicRecord.authority
        title:
          anyOf:
            - type: string
              minLength: 1
            - type: 'null'
          description: Case or filing title.
          x-field-id: VERIFY:VerificationPublicRecord.title
        status:
          anyOf:
            - type: string
              minLength: 1
            - type: 'null'
          description: Original current record status.
          x-field-id: VERIFY:VerificationPublicRecord.status
        normalized_status:
          anyOf:
            - type: string
              minLength: 1
            - type: 'null'
          description: Normalized lifecycle state with source meaning preserved.
          x-field-id: VERIFY:VerificationPublicRecord.normalized_status
        filed_on:
          anyOf:
            - type: string
              minLength: 1
              format: date
            - type: 'null'
          description: Filing date.
          x-field-id: VERIFY:VerificationPublicRecord.filed_on
        closed_on:
          anyOf:
            - type: string
              minLength: 1
              format: date
            - type: 'null'
          description: Closure date.
          x-field-id: VERIFY:VerificationPublicRecord.closed_on
        lapses_on:
          anyOf:
            - type: string
              minLength: 1
              format: date
            - type: 'null'
          description: Lien lapse/expiry date.
          x-field-id: VERIFY:VerificationPublicRecord.lapses_on
        record_type:
          anyOf:
            - type: string
              minLength: 1
            - type: 'null'
          description: UCC/PPSA lien type, bankruptcy chapter or case type.
          x-field-id: VERIFY:VerificationPublicRecord.record_type
        parties:
          type: array
          items:
            type: object
            properties:
              name:
                type: string
                minLength: 1
                x-field-id: VERIFY:VerificationPublicRecord.parties[].name
                description: >-
                  Name. Preserve the source meaning; null or unknown does not
                  establish a negative or a verified result.
              role:
                anyOf:
                  - type: string
                    minLength: 1
                  - type: 'null'
                x-field-id: VERIFY:VerificationPublicRecord.parties[].role
                description: >-
                  Role. Preserve the source meaning; null or unknown does not
                  establish a negative or a verified result.
              subject_id:
                anyOf:
                  - type: string
                    minLength: 1
                  - type: 'null'
                x-field-id: VERIFY:VerificationPublicRecord.parties[].subject_id
                description: >-
                  Subject id. Preserve the source meaning; null or unknown does
                  not establish a negative or a verified result.
              address_id:
                anyOf:
                  - type: string
                    minLength: 1
                  - type: 'null'
                x-field-id: VERIFY:VerificationPublicRecord.parties[].address_id
                description: >-
                  Address id. Preserve the source meaning; null or unknown does
                  not establish a negative or a verified result.
            required:
              - name
              - role
              - subject_id
              - address_id
            additionalProperties: false
          x-field-id: VERIFY:VerificationPublicRecord.parties
          description: >-
            Parties. Preserve the source meaning; null or unknown does not
            establish a negative or a verified result.
        amount:
          anyOf:
            - $ref: '#/components/schemas/Money'
            - type: 'null'
          description: >-
            Supported claim or lien amount; null if amount or currency is
            unknown.
          x-field-id: VERIFY:VerificationPublicRecord.amount
        collateral:
          type: array
          items:
            type: string
            minLength: 1
          description: Original collateral descriptions and classifications.
          x-field-id: VERIFY:VerificationPublicRecord.collateral
        amendments:
          type: array
          items:
            type: object
            properties:
              reference:
                type: string
                minLength: 1
                x-field-id: VERIFY:VerificationPublicRecord.amendments[].reference
                description: >-
                  Reference. Preserve the source meaning; null or unknown does
                  not establish a negative or a verified result.
              kind:
                anyOf:
                  - type: string
                    minLength: 1
                  - type: 'null'
                x-field-id: VERIFY:VerificationPublicRecord.amendments[].kind
                description: >-
                  Kind. Preserve the source meaning; null or unknown does not
                  establish a negative or a verified result.
              filed_on:
                anyOf:
                  - type: string
                    minLength: 1
                    format: date
                  - type: 'null'
                x-field-id: VERIFY:VerificationPublicRecord.amendments[].filed_on
                description: >-
                  Filed on. Preserve the source meaning; null or unknown does
                  not establish a negative or a verified result.
              document_ids:
                type: array
                items:
                  type: string
                  minLength: 1
                x-field-id: VERIFY:VerificationPublicRecord.amendments[].document_ids
                description: >-
                  Document ids. Preserve the source meaning; null or unknown
                  does not establish a negative or a verified result.
            required:
              - reference
              - kind
              - filed_on
              - document_ids
            additionalProperties: false
          x-field-id: VERIFY:VerificationPublicRecord.amendments
          description: >-
            Amendments. Preserve the source meaning; null or unknown does not
            establish a negative or a verified result.
        events:
          type: array
          items:
            type: object
            properties:
              date:
                anyOf:
                  - type: string
                    minLength: 1
                    format: date
                  - type: 'null'
                x-field-id: VERIFY:VerificationPublicRecord.events[].date
                description: >-
                  Date. Preserve the source meaning; null or unknown does not
                  establish a negative or a verified result.
              description:
                type: string
                minLength: 1
                x-field-id: VERIFY:VerificationPublicRecord.events[].description
                description: >-
                  Description. Preserve the source meaning; null or unknown does
                  not establish a negative or a verified result.
              document_ids:
                type: array
                items:
                  type: string
                  minLength: 1
                x-field-id: VERIFY:VerificationPublicRecord.events[].document_ids
                description: >-
                  Document ids. Preserve the source meaning; null or unknown
                  does not establish a negative or a verified result.
            required:
              - date
              - description
              - document_ids
            additionalProperties: false
          x-field-id: VERIFY:VerificationPublicRecord.events
          description: >-
            Events. Preserve the source meaning; null or unknown does not
            establish a negative or a verified result.
        consortium_observation:
          anyOf:
            - type: object
              properties:
                reported_on:
                  anyOf:
                    - type: string
                      minLength: 1
                      format: date
                    - type: 'null'
                  x-field-id: >-
                    VERIFY:VerificationPublicRecord.consortium_observation.reported_on
                  description: >-
                    Reported on. Preserve the source meaning; null or unknown
                    does not establish a negative or a verified result.
                product_type:
                  anyOf:
                    - type: string
                      minLength: 1
                    - type: 'null'
                  x-field-id: >-
                    VERIFY:VerificationPublicRecord.consortium_observation.product_type
                  description: >-
                    Product type. Preserve the source meaning; null or unknown
                    does not establish a negative or a verified result.
                opened_on:
                  anyOf:
                    - type: string
                      minLength: 1
                      format: date
                    - type: 'null'
                  x-field-id: >-
                    VERIFY:VerificationPublicRecord.consortium_observation.opened_on
                  description: >-
                    Opened on. Preserve the source meaning; null or unknown does
                    not establish a negative or a verified result.
                closed_on:
                  anyOf:
                    - type: string
                      minLength: 1
                      format: date
                    - type: 'null'
                  x-field-id: >-
                    VERIFY:VerificationPublicRecord.consortium_observation.closed_on
                  description: >-
                    Closed on. Preserve the source meaning; null or unknown does
                    not establish a negative or a verified result.
                closure_reason:
                  anyOf:
                    - type: string
                      minLength: 1
                    - type: 'null'
                  x-field-id: >-
                    VERIFY:VerificationPublicRecord.consortium_observation.closure_reason
                  description: >-
                    Closure reason. Preserve the source meaning; null or unknown
                    does not establish a negative or a verified result.
                first_payment_default:
                  anyOf:
                    - type: boolean
                    - type: 'null'
                  x-field-id: >-
                    VERIFY:VerificationPublicRecord.consortium_observation.first_payment_default
                  description: >-
                    First payment default. Preserve the source meaning; null or
                    unknown does not establish a negative or a verified result.
                original_amount:
                  anyOf:
                    - $ref: '#/components/schemas/Money'
                    - type: 'null'
                  x-field-id: >-
                    VERIFY:VerificationPublicRecord.consortium_observation.original_amount
                  description: >-
                    Original amount. Preserve the source meaning; null or
                    unknown does not establish a negative or a verified result.
                charge_off_amount:
                  anyOf:
                    - $ref: '#/components/schemas/Money'
                    - type: 'null'
                  x-field-id: >-
                    VERIFY:VerificationPublicRecord.consortium_observation.charge_off_amount
                  description: >-
                    Charge off amount. Preserve the source meaning; null or
                    unknown does not establish a negative or a verified result.
              required:
                - reported_on
                - product_type
                - opened_on
                - closed_on
                - closure_reason
                - first_payment_default
                - original_amount
                - charge_off_amount
              additionalProperties: false
            - type: 'null'
          description: Licensed attributed report, not independently established fraud.
          x-field-id: VERIFY:VerificationPublicRecord.consortium_observation
        document_ids:
          type: array
          items:
            type: string
            minLength: 1
          description: Controlled filing, docket, exhibit and certificate references.
          x-field-id: VERIFY:VerificationPublicRecord.document_ids
      required:
        - id
        - subject_id
        - provenance
        - missing_fields
        - supplemental_facts
        - kind
        - match_status
        - match_score
        - reference
        - jurisdiction
        - authority
        - title
        - status
        - normalized_status
        - filed_on
        - closed_on
        - lapses_on
        - record_type
        - parties
        - amount
        - collateral
        - amendments
        - events
        - consortium_observation
        - document_ids
      additionalProperties: false
      description: >-
        Sourced legal records and licensed fraud-consortium observations;
        candidates are not findings of liability or fraud.
    VerificationOnlinePresence:
      type: object
      properties:
        id:
          type: string
          minLength: 1
          description: Stable AMLOK item ID within this assessment.
          x-field-id: VERIFY:VerificationOnlinePresence.id
        subject_id:
          type: string
          minLength: 1
          description: >-
            Authorized business/person subject ID, as returned on the borrower
            or an active related-party association; not the borrower resource
            ID.
          x-field-id: VERIFY:VerificationOnlinePresence.subject_id
        provenance:
          $ref: '#/components/schemas/VerificationProvenance'
          x-field-id: VERIFY:VerificationOnlinePresence.provenance
          description: Exact source, time, basis and evidence for this observation.
        missing_fields:
          type: array
          items:
            type: object
            properties:
              path:
                type: string
                minLength: 1
                description: RFC 6901 pointer relative to this item.
                x-field-id: VERIFY:VerificationOnlinePresence.missing_fields[].path
              reason:
                $ref: '#/components/schemas/VerificationReason'
                x-field-id: VERIFY:VerificationOnlinePresence.missing_fields[].reason
                description: >-
                  Explicit explanation code when no complete usable value is
                  available.
              description:
                type: string
                minLength: 1
                description: Why this field is absent or null.
                x-field-id: VERIFY:VerificationOnlinePresence.missing_fields[].description
            required:
              - path
              - reason
              - description
            additionalProperties: false
          x-field-id: VERIFY:VerificationOnlinePresence.missing_fields
          description: >-
            Every absent or null required fact is explained by a pointer and a
            missing-data reason.
        supplemental_facts:
          type: array
          items:
            $ref: '#/components/schemas/VerificationFact'
          description: Permitted source-specific facts that do not have a canonical field.
          x-field-id: VERIFY:VerificationOnlinePresence.supplemental_facts
        kind:
          type: string
          enum:
            - website
            - directory
            - review_profile
            - business_social
          x-field-id: VERIFY:VerificationOnlinePresence.kind
          description: >-
            Kind. Preserve the source meaning; null or unknown does not
            establish a negative or a verified result.
        url:
          anyOf:
            - type: string
              minLength: 1
            - type: 'null'
          description: Public business source URL.
          x-field-id: VERIFY:VerificationOnlinePresence.url
        platform:
          anyOf:
            - type: string
              minLength: 1
            - type: 'null'
          description: Source directory, review platform or business social service.
          x-field-id: VERIFY:VerificationOnlinePresence.platform
        name:
          anyOf:
            - type: string
              minLength: 1
            - type: 'null'
          description: Business name or account handle.
          x-field-id: VERIFY:VerificationOnlinePresence.name
        summary:
          anyOf:
            - type: string
              minLength: 1
            - type: 'null'
          description: Source description and stated limitations.
          x-field-id: VERIFY:VerificationOnlinePresence.summary
        match:
          type: string
          enum:
            - matched
            - partial
            - not_matched
            - unresolved
          x-field-id: VERIFY:VerificationOnlinePresence.match
          description: >-
            Match. Preserve the source meaning; null or unknown does not
            establish a negative or a verified result.
        confidence:
          anyOf:
            - $ref: '#/components/schemas/VerificationScore'
            - type: 'null'
          description: Source confidence in entity association.
          x-field-id: VERIFY:VerificationOnlinePresence.confidence
        redirects:
          type: array
          items:
            type: string
            minLength: 1
          description: Observed redirect URLs.
          x-field-id: VERIFY:VerificationOnlinePresence.redirects
        parked:
          anyOf:
            - type: boolean
            - type: 'null'
          description: Whether the source classified the site as parked.
          x-field-id: VERIFY:VerificationOnlinePresence.parked
        ssl_valid:
          anyOf:
            - type: boolean
            - type: 'null'
          description: Observed TLS validity, not proof of a legitimate business.
          x-field-id: VERIFY:VerificationOnlinePresence.ssl_valid
        domain_registered_on:
          anyOf:
            - type: string
              minLength: 1
              format: date
            - type: 'null'
          description: Domain creation date when reported.
          x-field-id: VERIFY:VerificationOnlinePresence.domain_registered_on
        domain_expires_on:
          anyOf:
            - type: string
              minLength: 1
              format: date
            - type: 'null'
          description: Domain expiry date.
          x-field-id: VERIFY:VerificationOnlinePresence.domain_expires_on
        domain_registrar:
          anyOf:
            - type: string
              minLength: 1
            - type: 'null'
          description: Reported registrar.
          x-field-id: VERIFY:VerificationOnlinePresence.domain_registrar
        operating_status:
          anyOf:
            - type: string
              minLength: 1
            - type: 'null'
          description: Reported open/closed/build status.
          x-field-id: VERIFY:VerificationOnlinePresence.operating_status
        rating:
          anyOf:
            - type: number
            - type: 'null'
          description: Original review rating; interpretation uses rating_scale_max.
          x-field-id: VERIFY:VerificationOnlinePresence.rating
        rating_scale_max:
          anyOf:
            - type: number
            - type: 'null'
          description: Known maximum rating scale; null when unspecified.
          x-field-id: VERIFY:VerificationOnlinePresence.rating_scale_max
        review_count:
          anyOf:
            - type: integer
              minimum: 0
            - type: 'null'
          description: Number of reviews returned/reported by the source.
          x-field-id: VERIFY:VerificationOnlinePresence.review_count
        business_contacts:
          type: array
          items:
            $ref: '#/components/schemas/VerificationFact'
          description: Public contact and directory facts for consistency checks.
          x-field-id: VERIFY:VerificationOnlinePresence.business_contacts
        industry_predictions:
          type: array
          items:
            $ref: '#/components/schemas/VerificationFact'
          description: >-
            Inferred industry scheme/code and confidence; never overwrite
            registry classification.
          x-field-id: VERIFY:VerificationOnlinePresence.industry_predictions
        document_ids:
          type: array
          items:
            type: string
            minLength: 1
          description: Authorized screenshots or reports stored as documents.
          x-field-id: VERIFY:VerificationOnlinePresence.document_ids
      required:
        - id
        - subject_id
        - provenance
        - missing_fields
        - supplemental_facts
        - kind
        - url
        - platform
        - name
        - summary
        - match
        - confidence
        - redirects
        - parked
        - ssl_valid
        - domain_registered_on
        - domain_expires_on
        - domain_registrar
        - operating_status
        - rating
        - rating_scale_max
        - review_count
        - business_contacts
        - industry_predictions
        - document_ids
      additionalProperties: false
      description: >-
        Business presence and observed inconsistencies; never private personal
        social profiling.
    VerificationContactCheck:
      type: object
      properties:
        id:
          type: string
          minLength: 1
          description: Stable AMLOK item ID within this assessment.
          x-field-id: VERIFY:VerificationContactCheck.id
        subject_id:
          type: string
          minLength: 1
          description: >-
            Authorized business/person subject ID, as returned on the borrower
            or an active related-party association; not the borrower resource
            ID.
          x-field-id: VERIFY:VerificationContactCheck.subject_id
        provenance:
          $ref: '#/components/schemas/VerificationProvenance'
          x-field-id: VERIFY:VerificationContactCheck.provenance
          description: Exact source, time, basis and evidence for this observation.
        missing_fields:
          type: array
          items:
            type: object
            properties:
              path:
                type: string
                minLength: 1
                description: RFC 6901 pointer relative to this item.
                x-field-id: VERIFY:VerificationContactCheck.missing_fields[].path
              reason:
                $ref: '#/components/schemas/VerificationReason'
                x-field-id: VERIFY:VerificationContactCheck.missing_fields[].reason
                description: >-
                  Explicit explanation code when no complete usable value is
                  available.
              description:
                type: string
                minLength: 1
                description: Why this field is absent or null.
                x-field-id: VERIFY:VerificationContactCheck.missing_fields[].description
            required:
              - path
              - reason
              - description
            additionalProperties: false
          x-field-id: VERIFY:VerificationContactCheck.missing_fields
          description: >-
            Every absent or null required fact is explained by a pointer and a
            missing-data reason.
        supplemental_facts:
          type: array
          items:
            $ref: '#/components/schemas/VerificationFact'
          description: Permitted source-specific facts that do not have a canonical field.
          x-field-id: VERIFY:VerificationContactCheck.supplemental_facts
        kind:
          type: string
          enum:
            - email
            - phone
          x-field-id: VERIFY:VerificationContactCheck.kind
          description: >-
            Kind. Preserve the source meaning; null or unknown does not
            establish a negative or a verified result.
        value:
          anyOf:
            - type: string
              minLength: 1
            - type: 'null'
          description: Permitted email or phone, masked when required.
          x-field-id: VERIFY:VerificationContactCheck.value
        method:
          anyOf:
            - type: string
              minLength: 1
            - type: 'null'
          description: OTP, silent network, database, syntax or deliverability method.
          x-field-id: VERIFY:VerificationContactCheck.method
        outcome:
          type: string
          enum:
            - passed
            - failed
            - review_required
            - inconclusive
            - not_performed
          x-field-id: VERIFY:VerificationContactCheck.outcome
          description: Verification/compliance result, not a lending decision.
        verified_at:
          anyOf:
            - type: string
              minLength: 1
              format: date-time
            - type: 'null'
          description: Actual control-verification timestamp.
          x-field-id: VERIFY:VerificationContactCheck.verified_at
        attempts:
          anyOf:
            - type: integer
              minimum: 0
            - type: 'null'
          description: Completed verification attempts.
          x-field-id: VERIFY:VerificationContactCheck.attempts
        deliverable:
          anyOf:
            - type: boolean
            - type: 'null'
          description: Source deliverability result.
          x-field-id: VERIFY:VerificationContactCheck.deliverable
        disposable:
          anyOf:
            - type: boolean
            - type: 'null'
          description: Disposable contact indicator.
          x-field-id: VERIFY:VerificationContactCheck.disposable
        virtual:
          anyOf:
            - type: boolean
            - type: 'null'
          description: Virtual/VoIP phone indicator.
          x-field-id: VERIFY:VerificationContactCheck.virtual
        free_domain:
          anyOf:
            - type: boolean
            - type: 'null'
          description: Free email-domain indicator.
          x-field-id: VERIFY:VerificationContactCheck.free_domain
        carrier:
          anyOf:
            - type: string
              minLength: 1
            - type: 'null'
          description: Phone carrier.
          x-field-id: VERIFY:VerificationContactCheck.carrier
        carrier_type:
          anyOf:
            - type: string
              minLength: 1
            - type: 'null'
          description: Mobile, landline, VoIP or source type.
          x-field-id: VERIFY:VerificationContactCheck.carrier_type
        country:
          anyOf:
            - type: string
              minLength: 1
              pattern: ^[A-Z]{2}$
            - type: 'null'
          description: Phone country.
          x-field-id: VERIFY:VerificationContactCheck.country
        ported:
          anyOf:
            - type: boolean
            - type: 'null'
          description: Source porting signal.
          x-field-id: VERIFY:VerificationContactCheck.ported
        recently_ported:
          anyOf:
            - type: boolean
            - type: 'null'
          description: Recent porting signal with source period in supplemental facts.
          x-field-id: VERIFY:VerificationContactCheck.recently_ported
        breached:
          anyOf:
            - type: boolean
            - type: 'null'
          description: Exposure signal; not evidence the borrower committed fraud.
          x-field-id: VERIFY:VerificationContactCheck.breached
        breach_count:
          anyOf:
            - type: integer
              minimum: 0
            - type: 'null'
          description: Source-reported exposure count.
          x-field-id: VERIFY:VerificationContactCheck.breach_count
        reason_codes:
          type: array
          items:
            type: string
            minLength: 1
          description: Source reasons and limitations.
          x-field-id: VERIFY:VerificationContactCheck.reason_codes
      required:
        - id
        - subject_id
        - provenance
        - missing_fields
        - supplemental_facts
        - kind
        - value
        - method
        - outcome
        - verified_at
        - attempts
        - deliverable
        - disposable
        - virtual
        - free_domain
        - carrier
        - carrier_type
        - country
        - ported
        - recently_ported
        - breached
        - breach_count
        - reason_codes
      additionalProperties: false
      description: >-
        Contact validation and security signals; an OTP proves control at that
        time, not identity by itself.
    VerificationDeviceCheck:
      type: object
      properties:
        id:
          type: string
          minLength: 1
          description: Stable AMLOK item ID within this assessment.
          x-field-id: VERIFY:VerificationDeviceCheck.id
        subject_id:
          type: string
          minLength: 1
          description: >-
            Authorized business/person subject ID, as returned on the borrower
            or an active related-party association; not the borrower resource
            ID.
          x-field-id: VERIFY:VerificationDeviceCheck.subject_id
        provenance:
          $ref: '#/components/schemas/VerificationProvenance'
          x-field-id: VERIFY:VerificationDeviceCheck.provenance
          description: Exact source, time, basis and evidence for this observation.
        missing_fields:
          type: array
          items:
            type: object
            properties:
              path:
                type: string
                minLength: 1
                description: RFC 6901 pointer relative to this item.
                x-field-id: VERIFY:VerificationDeviceCheck.missing_fields[].path
              reason:
                $ref: '#/components/schemas/VerificationReason'
                x-field-id: VERIFY:VerificationDeviceCheck.missing_fields[].reason
                description: >-
                  Explicit explanation code when no complete usable value is
                  available.
              description:
                type: string
                minLength: 1
                description: Why this field is absent or null.
                x-field-id: VERIFY:VerificationDeviceCheck.missing_fields[].description
            required:
              - path
              - reason
              - description
            additionalProperties: false
          x-field-id: VERIFY:VerificationDeviceCheck.missing_fields
          description: >-
            Every absent or null required fact is explained by a pointer and a
            missing-data reason.
        supplemental_facts:
          type: array
          items:
            $ref: '#/components/schemas/VerificationFact'
          description: Permitted source-specific facts that do not have a canonical field.
          x-field-id: VERIFY:VerificationDeviceCheck.supplemental_facts
        country:
          anyOf:
            - type: string
              minLength: 1
              pattern: ^[A-Z]{2}$
            - type: 'null'
          description: Observed coarse country.
          x-field-id: VERIFY:VerificationDeviceCheck.country
        region:
          anyOf:
            - type: string
              minLength: 1
            - type: 'null'
          description: Observed coarse region.
          x-field-id: VERIFY:VerificationDeviceCheck.region
        city:
          anyOf:
            - type: string
              minLength: 1
            - type: 'null'
          description: Observed city when disclosure is permitted.
          x-field-id: VERIFY:VerificationDeviceCheck.city
        device_class:
          anyOf:
            - type: string
              minLength: 1
            - type: 'null'
          description: Device/platform class.
          x-field-id: VERIFY:VerificationDeviceCheck.device_class
        browser_family:
          anyOf:
            - type: string
              minLength: 1
            - type: 'null'
          description: Browser family.
          x-field-id: VERIFY:VerificationDeviceCheck.browser_family
        os_family:
          anyOf:
            - type: string
              minLength: 1
            - type: 'null'
          description: Operating-system family.
          x-field-id: VERIFY:VerificationDeviceCheck.os_family
        network_organization:
          anyOf:
            - type: string
              minLength: 1
            - type: 'null'
          description: Source network/ISP organization.
          x-field-id: VERIFY:VerificationDeviceCheck.network_organization
        vpn_or_tor:
          anyOf:
            - type: boolean
            - type: 'null'
          description: Anonymizer signal.
          x-field-id: VERIFY:VerificationDeviceCheck.vpn_or_tor
        data_center:
          anyOf:
            - type: boolean
            - type: 'null'
          description: Hosting/data-center network signal.
          x-field-id: VERIFY:VerificationDeviceCheck.data_center
        location_permission:
          anyOf:
            - type: string
              minLength: 1
            - type: 'null'
          description: Consent/permission outcome, separate from location outcome.
          x-field-id: VERIFY:VerificationDeviceCheck.location_permission
        location_integrity:
          anyOf:
            - type: string
              minLength: 1
            - type: 'null'
          description: Source-reported integrity state.
          x-field-id: VERIFY:VerificationDeviceCheck.location_integrity
        document_location_consistent:
          anyOf:
            - type: boolean
            - type: 'null'
          description: Reported location consistency with identity/address evidence.
          x-field-id: VERIFY:VerificationDeviceCheck.document_location_consistent
        ip_location_consistent:
          anyOf:
            - type: boolean
            - type: 'null'
          description: Reported device/IP consistency.
          x-field-id: VERIFY:VerificationDeviceCheck.ip_location_consistent
        geofence_result:
          anyOf:
            - type: string
              minLength: 1
            - type: 'null'
          description: Result against an explicitly configured permitted area.
          x-field-id: VERIFY:VerificationDeviceCheck.geofence_result
        reason_codes:
          type: array
          items:
            type: string
            minLength: 1
          description: Original source warning codes.
          x-field-id: VERIFY:VerificationDeviceCheck.reason_codes
      required:
        - id
        - subject_id
        - provenance
        - missing_fields
        - supplemental_facts
        - country
        - region
        - city
        - device_class
        - browser_family
        - os_family
        - network_organization
        - vpn_or_tor
        - data_center
        - location_permission
        - location_integrity
        - document_location_consistent
        - ip_location_consistent
        - geofence_result
        - reason_codes
      additionalProperties: false
      description: >-
        Coarse security and location signals for consistency; no precise device
        coordinates or stable fingerprint in default responses.
    VerificationDocumentCheck:
      type: object
      properties:
        id:
          type: string
          minLength: 1
          description: Stable AMLOK item ID within this assessment.
          x-field-id: VERIFY:VerificationDocumentCheck.id
        subject_id:
          type: string
          minLength: 1
          description: >-
            Authorized business/person subject ID, as returned on the borrower
            or an active related-party association; not the borrower resource
            ID.
          x-field-id: VERIFY:VerificationDocumentCheck.subject_id
        provenance:
          $ref: '#/components/schemas/VerificationProvenance'
          x-field-id: VERIFY:VerificationDocumentCheck.provenance
          description: Exact source, time, basis and evidence for this observation.
        missing_fields:
          type: array
          items:
            type: object
            properties:
              path:
                type: string
                minLength: 1
                description: RFC 6901 pointer relative to this item.
                x-field-id: VERIFY:VerificationDocumentCheck.missing_fields[].path
              reason:
                $ref: '#/components/schemas/VerificationReason'
                x-field-id: VERIFY:VerificationDocumentCheck.missing_fields[].reason
                description: >-
                  Explicit explanation code when no complete usable value is
                  available.
              description:
                type: string
                minLength: 1
                description: Why this field is absent or null.
                x-field-id: VERIFY:VerificationDocumentCheck.missing_fields[].description
            required:
              - path
              - reason
              - description
            additionalProperties: false
          x-field-id: VERIFY:VerificationDocumentCheck.missing_fields
          description: >-
            Every absent or null required fact is explained by a pointer and a
            missing-data reason.
        supplemental_facts:
          type: array
          items:
            $ref: '#/components/schemas/VerificationFact'
          description: Permitted source-specific facts that do not have a canonical field.
          x-field-id: VERIFY:VerificationDocumentCheck.supplemental_facts
        document_id:
          type: string
          minLength: 1
          description: AMLOK document ID.
          x-field-id: VERIFY:VerificationDocumentCheck.document_id
        document_type:
          anyOf:
            - type: string
              minLength: 1
            - type: 'null'
          description: Normalized document class.
          x-field-id: VERIFY:VerificationDocumentCheck.document_type
        document_group:
          anyOf:
            - type: string
              minLength: 1
            - type: 'null'
          description: Required document group such as incorporation, ownership or address.
          x-field-id: VERIFY:VerificationDocumentCheck.document_group
        issuer:
          anyOf:
            - type: string
              minLength: 1
            - type: 'null'
          description: Observed issuing entity.
          x-field-id: VERIFY:VerificationDocumentCheck.issuer
        language:
          anyOf:
            - type: string
              minLength: 1
            - type: 'null'
          description: Detected language.
          x-field-id: VERIFY:VerificationDocumentCheck.language
        issued_on:
          anyOf:
            - type: string
              minLength: 1
              format: date
            - type: 'null'
          description: Document issue date.
          x-field-id: VERIFY:VerificationDocumentCheck.issued_on
        expires_on:
          anyOf:
            - type: string
              minLength: 1
              format: date
            - type: 'null'
          description: Document expiry date.
          x-field-id: VERIFY:VerificationDocumentCheck.expires_on
        required:
          anyOf:
            - type: boolean
            - type: 'null'
          description: Whether a configured requirement required this document.
          x-field-id: VERIFY:VerificationDocumentCheck.required
        outcome:
          type: string
          enum:
            - passed
            - failed
            - review_required
            - inconclusive
            - not_performed
          x-field-id: VERIFY:VerificationDocumentCheck.outcome
          description: Verification/compliance result, not a lending decision.
        tamper_result:
          type: string
          enum:
            - not_detected
            - suspected
            - inconclusive
            - not_checked
          x-field-id: VERIFY:VerificationDocumentCheck.tamper_result
          description: >-
            Tamper result. Preserve the source meaning; null or unknown does not
            establish a negative or a verified result.
        name_comparison_ids:
          type: array
          items:
            type: string
            minLength: 1
          description: Related field-comparison IDs.
          x-field-id: VERIFY:VerificationDocumentCheck.name_comparison_ids
        extracted_fields:
          type: array
          items:
            $ref: '#/components/schemas/VerificationFact'
          description: >-
            Allowlisted extracted values; page/field provenance must be
            preserved.
          x-field-id: VERIFY:VerificationDocumentCheck.extracted_fields
        cross_checks:
          type: array
          items:
            type: string
            minLength: 1
          description: Comparisons with registry, supplied and other document evidence.
          x-field-id: VERIFY:VerificationDocumentCheck.cross_checks
        document_metadata:
          type: array
          items:
            $ref: '#/components/schemas/VerificationFact'
          description: Permitted format, page, file and quality facts.
          x-field-id: VERIFY:VerificationDocumentCheck.document_metadata
        reason_codes:
          type: array
          items:
            type: string
            minLength: 1
          description: Source extraction, tamper or validation reasons.
          x-field-id: VERIFY:VerificationDocumentCheck.reason_codes
      required:
        - id
        - subject_id
        - provenance
        - missing_fields
        - supplemental_facts
        - document_id
        - document_type
        - document_group
        - issuer
        - language
        - issued_on
        - expires_on
        - required
        - outcome
        - tamper_result
        - name_comparison_ids
        - extracted_fields
        - cross_checks
        - document_metadata
        - reason_codes
      additionalProperties: false
      description: >-
        Source fields extracted from supporting documents with page evidence and
        verification results.
    VerificationBankAccountCheck:
      type: object
      properties:
        id:
          type: string
          minLength: 1
          description: Stable AMLOK item ID within this assessment.
          x-field-id: VERIFY:VerificationBankAccountCheck.id
        subject_id:
          type: string
          minLength: 1
          description: >-
            Authorized business/person subject ID, as returned on the borrower
            or an active related-party association; not the borrower resource
            ID.
          x-field-id: VERIFY:VerificationBankAccountCheck.subject_id
        provenance:
          $ref: '#/components/schemas/VerificationProvenance'
          x-field-id: VERIFY:VerificationBankAccountCheck.provenance
          description: Exact source, time, basis and evidence for this observation.
        missing_fields:
          type: array
          items:
            type: object
            properties:
              path:
                type: string
                minLength: 1
                description: RFC 6901 pointer relative to this item.
                x-field-id: VERIFY:VerificationBankAccountCheck.missing_fields[].path
              reason:
                $ref: '#/components/schemas/VerificationReason'
                x-field-id: VERIFY:VerificationBankAccountCheck.missing_fields[].reason
                description: >-
                  Explicit explanation code when no complete usable value is
                  available.
              description:
                type: string
                minLength: 1
                description: Why this field is absent or null.
                x-field-id: >-
                  VERIFY:VerificationBankAccountCheck.missing_fields[].description
            required:
              - path
              - reason
              - description
            additionalProperties: false
          x-field-id: VERIFY:VerificationBankAccountCheck.missing_fields
          description: >-
            Every absent or null required fact is explained by a pointer and a
            missing-data reason.
        supplemental_facts:
          type: array
          items:
            $ref: '#/components/schemas/VerificationFact'
          description: Permitted source-specific facts that do not have a canonical field.
          x-field-id: VERIFY:VerificationBankAccountCheck.supplemental_facts
        account_reference:
          anyOf:
            - type: string
              minLength: 1
            - type: 'null'
          description: AMLOK bank-account ID when resolved.
          x-field-id: VERIFY:VerificationBankAccountCheck.account_reference
        masked_account_number:
          anyOf:
            - type: string
              minLength: 1
            - type: 'null'
          description: Masked account identifier.
          x-field-id: VERIFY:VerificationBankAccountCheck.masked_account_number
        institution_name:
          anyOf:
            - type: string
              minLength: 1
            - type: 'null'
          description: Observed institution.
          x-field-id: VERIFY:VerificationBankAccountCheck.institution_name
        country:
          anyOf:
            - type: string
              minLength: 1
              pattern: ^[A-Z]{2}$
            - type: 'null'
          description: Account country.
          x-field-id: VERIFY:VerificationBankAccountCheck.country
        holder_names:
          type: array
          items:
            type: string
            minLength: 1
          description: Permitted account-holder names.
          x-field-id: VERIFY:VerificationBankAccountCheck.holder_names
        reference_identity_name:
          anyOf:
            - type: string
              minLength: 1
            - type: 'null'
          description: Name compared with the account owner.
          x-field-id: VERIFY:VerificationBankAccountCheck.reference_identity_name
        method:
          anyOf:
            - type: string
              minLength: 1
            - type: 'null'
          description: Open banking, account check or source verification method.
          x-field-id: VERIFY:VerificationBankAccountCheck.method
        result:
          type: string
          enum:
            - matched
            - partial_match
            - not_matched
            - unavailable
            - not_checked
          x-field-id: VERIFY:VerificationBankAccountCheck.result
          description: >-
            Result. Preserve the source meaning; null or unknown does not
            establish a negative or a verified result.
        match_score:
          anyOf:
            - $ref: '#/components/schemas/VerificationScore'
            - type: 'null'
          description: Original account-holder comparison score.
          x-field-id: VERIFY:VerificationBankAccountCheck.match_score
        verified_at:
          anyOf:
            - type: string
              minLength: 1
              format: date-time
            - type: 'null'
          description: Actual verification timestamp.
          x-field-id: VERIFY:VerificationBankAccountCheck.verified_at
        reason_codes:
          type: array
          items:
            type: string
            minLength: 1
          description: Coverage, abandonment, mismatch or other limitations.
          x-field-id: VERIFY:VerificationBankAccountCheck.reason_codes
      required:
        - id
        - subject_id
        - provenance
        - missing_fields
        - supplemental_facts
        - account_reference
        - masked_account_number
        - institution_name
        - country
        - holder_names
        - reference_identity_name
        - method
        - result
        - match_score
        - verified_at
        - reason_codes
      additionalProperties: false
      description: >-
        Account ownership output uses masked identifiers; financial data remains
        in its existing normalized resources.
    VerificationQuestionnaire:
      type: object
      properties:
        id:
          type: string
          minLength: 1
          description: Stable AMLOK item ID within this assessment.
          x-field-id: VERIFY:VerificationQuestionnaire.id
        subject_id:
          type: string
          minLength: 1
          description: >-
            Authorized business/person subject ID, as returned on the borrower
            or an active related-party association; not the borrower resource
            ID.
          x-field-id: VERIFY:VerificationQuestionnaire.subject_id
        provenance:
          $ref: '#/components/schemas/VerificationProvenance'
          x-field-id: VERIFY:VerificationQuestionnaire.provenance
          description: Exact source, time, basis and evidence for this observation.
        missing_fields:
          type: array
          items:
            type: object
            properties:
              path:
                type: string
                minLength: 1
                description: RFC 6901 pointer relative to this item.
                x-field-id: VERIFY:VerificationQuestionnaire.missing_fields[].path
              reason:
                $ref: '#/components/schemas/VerificationReason'
                x-field-id: VERIFY:VerificationQuestionnaire.missing_fields[].reason
                description: >-
                  Explicit explanation code when no complete usable value is
                  available.
              description:
                type: string
                minLength: 1
                description: Why this field is absent or null.
                x-field-id: VERIFY:VerificationQuestionnaire.missing_fields[].description
            required:
              - path
              - reason
              - description
            additionalProperties: false
          x-field-id: VERIFY:VerificationQuestionnaire.missing_fields
          description: >-
            Every absent or null required fact is explained by a pointer and a
            missing-data reason.
        supplemental_facts:
          type: array
          items:
            $ref: '#/components/schemas/VerificationFact'
          description: Permitted source-specific facts that do not have a canonical field.
          x-field-id: VERIFY:VerificationQuestionnaire.supplemental_facts
        questionnaire_reference:
          type: string
          minLength: 1
          description: Source questionnaire identifier.
          x-field-id: VERIFY:VerificationQuestionnaire.questionnaire_reference
        version:
          anyOf:
            - type: string
              minLength: 1
            - type: 'null'
          description: Exact template version used for these answers.
          x-field-id: VERIFY:VerificationQuestionnaire.version
        group_reference:
          anyOf:
            - type: string
              minLength: 1
            - type: 'null'
          description: Stable identifier shared by questionnaire versions.
          x-field-id: VERIFY:VerificationQuestionnaire.group_reference
        title:
          type: string
          minLength: 1
          description: Questionnaire title.
          x-field-id: VERIFY:VerificationQuestionnaire.title
        language:
          anyOf:
            - type: string
              minLength: 1
            - type: 'null'
          description: Language of the returned labels/answers.
          x-field-id: VERIFY:VerificationQuestionnaire.language
        provider_status:
          anyOf:
            - type: string
              minLength: 1
            - type: 'null'
          description: >-
            Original questionnaire status; not proof that its answers were
            independently verified.
          x-field-id: VERIFY:VerificationQuestionnaire.provider_status
        submitted_at:
          anyOf:
            - type: string
              minLength: 1
              format: date-time
            - type: 'null'
          description: Actual submission time when supplied.
          x-field-id: VERIFY:VerificationQuestionnaire.submitted_at
        answers:
          type: array
          items:
            type: object
            properties:
              question_id:
                type: string
                minLength: 1
                description: Stable source question ID.
                x-field-id: VERIFY:VerificationQuestionnaire.answers[].question_id
              title:
                type: string
                minLength: 1
                description: Source question label.
                x-field-id: VERIFY:VerificationQuestionnaire.answers[].title
              answer_type:
                type: string
                minLength: 1
                description: >-
                  Source element type, such as text, choice, multi-choice or
                  file.
                x-field-id: VERIFY:VerificationQuestionnaire.answers[].answer_type
              required:
                anyOf:
                  - type: boolean
                  - type: 'null'
                x-field-id: VERIFY:VerificationQuestionnaire.answers[].required
                description: >-
                  Whether this field or check was required under the effective
                  source policy; null means not established.
              instance_path:
                type: string
                minLength: 1
                description: >-
                  Source pointer identifying this repeatable/group answer
                  instance.
                x-field-id: VERIFY:VerificationQuestionnaire.answers[].instance_path
              value:
                type:
                  - string
                  - number
                  - boolean
                  - 'null'
                description: >-
                  Single permitted answer; null for unanswered, multi-value or
                  file answers.
                x-field-id: VERIFY:VerificationQuestionnaire.answers[].value
              values:
                type: array
                items:
                  type:
                    - string
                    - number
                    - boolean
                    - 'null'
                  description: >-
                    Authorized scalar source value. Structured extras use named
                    scalar facts, not undocumented nested payloads.
                description: >-
                  Permitted multiple-choice/repeatable scalar values in source
                  order.
                x-field-id: VERIFY:VerificationQuestionnaire.answers[].values
              document_ids:
                type: array
                items:
                  type: string
                  minLength: 1
                description: >-
                  Authorized uploaded files, converted to AMLOK document IDs; no
                  presigned source URLs.
                x-field-id: VERIFY:VerificationQuestionnaire.answers[].document_ids
              missing_reason:
                anyOf:
                  - type: string
                    minLength: 1
                  - type: 'null'
                description: >-
                  Required reason for an unanswered question; an omitted layout
                  element is not a missing answer.
                x-field-id: VERIFY:VerificationQuestionnaire.answers[].missing_reason
              evidence:
                type: array
                items:
                  $ref: '#/components/schemas/VerificationEvidence'
                minItems: 1
                x-field-id: VERIFY:VerificationQuestionnaire.answers[].evidence
                description: Exact evidence records and source-document locations.
            required:
              - question_id
              - title
              - answer_type
              - required
              - instance_path
              - value
              - values
              - document_ids
              - missing_reason
              - evidence
            additionalProperties: false
          x-field-id: VERIFY:VerificationQuestionnaire.answers
          description: >-
            Answers. Preserve the source meaning; null or unknown does not
            establish a negative or a verified result.
      required:
        - id
        - subject_id
        - provenance
        - missing_fields
        - supplemental_facts
        - questionnaire_reference
        - version
        - group_reference
        - title
        - language
        - provider_status
        - submitted_at
        - answers
      additionalProperties: false
      description: >-
        Borrower declarations remain declared even when the form or source
        session is approved.
    VerificationSignature:
      type: object
      properties:
        id:
          type: string
          minLength: 1
          description: Stable AMLOK item ID within this assessment.
          x-field-id: VERIFY:VerificationSignature.id
        subject_id:
          type: string
          minLength: 1
          description: >-
            Authorized business/person subject ID, as returned on the borrower
            or an active related-party association; not the borrower resource
            ID.
          x-field-id: VERIFY:VerificationSignature.subject_id
        provenance:
          $ref: '#/components/schemas/VerificationProvenance'
          x-field-id: VERIFY:VerificationSignature.provenance
          description: Exact source, time, basis and evidence for this observation.
        missing_fields:
          type: array
          items:
            type: object
            properties:
              path:
                type: string
                minLength: 1
                description: RFC 6901 pointer relative to this item.
                x-field-id: VERIFY:VerificationSignature.missing_fields[].path
              reason:
                $ref: '#/components/schemas/VerificationReason'
                x-field-id: VERIFY:VerificationSignature.missing_fields[].reason
                description: >-
                  Explicit explanation code when no complete usable value is
                  available.
              description:
                type: string
                minLength: 1
                description: Why this field is absent or null.
                x-field-id: VERIFY:VerificationSignature.missing_fields[].description
            required:
              - path
              - reason
              - description
            additionalProperties: false
          x-field-id: VERIFY:VerificationSignature.missing_fields
          description: >-
            Every absent or null required fact is explained by a pointer and a
            missing-data reason.
        supplemental_facts:
          type: array
          items:
            $ref: '#/components/schemas/VerificationFact'
          description: Permitted source-specific facts that do not have a canonical field.
          x-field-id: VERIFY:VerificationSignature.supplemental_facts
        signer_subject_id:
          type: string
          minLength: 1
          description: Authorized signer identity reference.
          x-field-id: VERIFY:VerificationSignature.signer_subject_id
        capacity:
          anyOf:
            - type: string
              minLength: 1
            - type: 'null'
          description: Self, company or source capacity.
          x-field-id: VERIFY:VerificationSignature.capacity
        roles:
          type: array
          items:
            type: string
            minLength: 1
          description: Signing roles.
          x-field-id: VERIFY:VerificationSignature.roles
        status:
          anyOf:
            - type: string
              minLength: 1
            - type: 'null'
          description: Signing lifecycle status.
          x-field-id: VERIFY:VerificationSignature.status
        validation:
          type: string
          enum:
            - valid
            - invalid
            - indeterminate
            - not_checked
          x-field-id: VERIFY:VerificationSignature.validation
          description: >-
            Validation. Preserve the source meaning; null or unknown does not
            establish a negative or a verified result.
        signature_level:
          anyOf:
            - type: string
              minLength: 1
            - type: 'null'
          description: Source signature level/profile.
          x-field-id: VERIFY:VerificationSignature.signature_level
        signed_at:
          anyOf:
            - type: string
              minLength: 1
              format: date-time
            - type: 'null'
          description: Signature time.
          x-field-id: VERIFY:VerificationSignature.signed_at
        consented_at:
          anyOf:
            - type: string
              minLength: 1
              format: date-time
            - type: 'null'
          description: Electronic-signature consent time.
          x-field-id: VERIFY:VerificationSignature.consented_at
        certificate_issuer:
          anyOf:
            - type: string
              minLength: 1
            - type: 'null'
          description: Signing certificate issuer.
          x-field-id: VERIFY:VerificationSignature.certificate_issuer
        certificate_valid:
          anyOf:
            - type: boolean
            - type: 'null'
          description: Certificate validation result.
          x-field-id: VERIFY:VerificationSignature.certificate_valid
        timestamp_valid:
          anyOf:
            - type: boolean
            - type: 'null'
          description: Trusted timestamp verification.
          x-field-id: VERIFY:VerificationSignature.timestamp_valid
        document_ids:
          type: array
          items:
            type: string
            minLength: 1
          description: Signed documents and validation/evidence reports.
          x-field-id: VERIFY:VerificationSignature.document_ids
        fields:
          type: array
          items:
            $ref: '#/components/schemas/VerificationFact'
          description: Permitted signed values, labels and page references.
          x-field-id: VERIFY:VerificationSignature.fields
        reason_codes:
          type: array
          items:
            type: string
            minLength: 1
          description: Validation warnings and reasons.
          x-field-id: VERIFY:VerificationSignature.reason_codes
      required:
        - id
        - subject_id
        - provenance
        - missing_fields
        - supplemental_facts
        - signer_subject_id
        - capacity
        - roles
        - status
        - validation
        - signature_level
        - signed_at
        - consented_at
        - certificate_issuer
        - certificate_valid
        - timestamp_valid
        - document_ids
        - fields
        - reason_codes
      additionalProperties: false
      description: >-
        Signature and authority evidence, not an AMLOK conclusion about legal
        enforceability.
    VerificationFieldComparison:
      type: object
      properties:
        id:
          type: string
          minLength: 1
          description: Stable AMLOK item ID within this assessment.
          x-field-id: VERIFY:VerificationFieldComparison.id
        subject_id:
          type: string
          minLength: 1
          description: >-
            Authorized business/person subject ID, as returned on the borrower
            or an active related-party association; not the borrower resource
            ID.
          x-field-id: VERIFY:VerificationFieldComparison.subject_id
        provenance:
          $ref: '#/components/schemas/VerificationProvenance'
          x-field-id: VERIFY:VerificationFieldComparison.provenance
          description: Exact source, time, basis and evidence for this observation.
        missing_fields:
          type: array
          items:
            type: object
            properties:
              path:
                type: string
                minLength: 1
                description: RFC 6901 pointer relative to this item.
                x-field-id: VERIFY:VerificationFieldComparison.missing_fields[].path
              reason:
                $ref: '#/components/schemas/VerificationReason'
                x-field-id: VERIFY:VerificationFieldComparison.missing_fields[].reason
                description: >-
                  Explicit explanation code when no complete usable value is
                  available.
              description:
                type: string
                minLength: 1
                description: Why this field is absent or null.
                x-field-id: >-
                  VERIFY:VerificationFieldComparison.missing_fields[].description
            required:
              - path
              - reason
              - description
            additionalProperties: false
          x-field-id: VERIFY:VerificationFieldComparison.missing_fields
          description: >-
            Every absent or null required fact is explained by a pointer and a
            missing-data reason.
        supplemental_facts:
          type: array
          items:
            $ref: '#/components/schemas/VerificationFact'
          description: Permitted source-specific facts that do not have a canonical field.
          x-field-id: VERIFY:VerificationFieldComparison.supplemental_facts
        field:
          type: string
          minLength: 1
          description: >-
            Normalized field being compared, for example business.legal_name or
            person.date_of_birth.
          x-field-id: VERIFY:VerificationFieldComparison.field
        provided:
          type:
            - string
            - number
            - boolean
            - 'null'
          description: >-
            Authorized scalar source value. Structured extras use named scalar
            facts, not undocumented nested payloads.
          x-field-id: VERIFY:VerificationFieldComparison.provided
        observed:
          type:
            - string
            - number
            - boolean
            - 'null'
          description: >-
            Authorized scalar source value. Structured extras use named scalar
            facts, not undocumented nested payloads.
          x-field-id: VERIFY:VerificationFieldComparison.observed
        normalized_provided:
          type:
            - string
            - number
            - boolean
            - 'null'
          description: >-
            Authorized scalar source value. Structured extras use named scalar
            facts, not undocumented nested payloads.
          x-field-id: VERIFY:VerificationFieldComparison.normalized_provided
        normalized_observed:
          type:
            - string
            - number
            - boolean
            - 'null'
          description: >-
            Authorized scalar source value. Structured extras use named scalar
            facts, not undocumented nested payloads.
          x-field-id: VERIFY:VerificationFieldComparison.normalized_observed
        result:
          type: string
          enum:
            - matched
            - partial_match
            - not_matched
            - not_submitted
            - not_checked
            - source_unavailable
            - inconclusive
          x-field-id: VERIFY:VerificationFieldComparison.result
          description: >-
            Result. Preserve the source meaning; null or unknown does not
            establish a negative or a verified result.
        score:
          anyOf:
            - $ref: '#/components/schemas/VerificationScore'
            - type: 'null'
          description: Original comparison scale.
          x-field-id: VERIFY:VerificationFieldComparison.score
        threshold:
          anyOf:
            - type: number
            - type: 'null'
          description: Effective source threshold in the score scale.
          x-field-id: VERIFY:VerificationFieldComparison.threshold
        required:
          anyOf:
            - type: boolean
            - type: 'null'
          description: Whether this field was required by the effective check policy.
          x-field-id: VERIFY:VerificationFieldComparison.required
        affects_outcome:
          anyOf:
            - type: boolean
            - type: 'null'
          description: Whether this comparison affected the provider verification outcome.
          x-field-id: VERIFY:VerificationFieldComparison.affects_outcome
        normalization:
          anyOf:
            - type: string
              minLength: 1
            - type: 'null'
          description: >-
            Comparison transformation, such as punctuation/case folding; no
            silent transliteration assumption.
          x-field-id: VERIFY:VerificationFieldComparison.normalization
      required:
        - id
        - subject_id
        - provenance
        - missing_fields
        - supplemental_facts
        - field
        - provided
        - observed
        - normalized_provided
        - normalized_observed
        - result
        - score
        - threshold
        - required
        - affects_outcome
        - normalization
      additionalProperties: false
      description: >-
        Preserves not-submitted, not-checked and source-unavailable distinctly
        from mismatch.
    VerificationSourceScore:
      type: object
      properties:
        id:
          type: string
          minLength: 1
          description: Stable AMLOK item ID within this assessment.
          x-field-id: VERIFY:VerificationSourceScore.id
        subject_id:
          type: string
          minLength: 1
          description: >-
            Authorized business/person subject ID, as returned on the borrower
            or an active related-party association; not the borrower resource
            ID.
          x-field-id: VERIFY:VerificationSourceScore.subject_id
        provenance:
          $ref: '#/components/schemas/VerificationProvenance'
          x-field-id: VERIFY:VerificationSourceScore.provenance
          description: Exact source, time, basis and evidence for this observation.
        missing_fields:
          type: array
          items:
            type: object
            properties:
              path:
                type: string
                minLength: 1
                description: RFC 6901 pointer relative to this item.
                x-field-id: VERIFY:VerificationSourceScore.missing_fields[].path
              reason:
                $ref: '#/components/schemas/VerificationReason'
                x-field-id: VERIFY:VerificationSourceScore.missing_fields[].reason
                description: >-
                  Explicit explanation code when no complete usable value is
                  available.
              description:
                type: string
                minLength: 1
                description: Why this field is absent or null.
                x-field-id: VERIFY:VerificationSourceScore.missing_fields[].description
            required:
              - path
              - reason
              - description
            additionalProperties: false
          x-field-id: VERIFY:VerificationSourceScore.missing_fields
          description: >-
            Every absent or null required fact is explained by a pointer and a
            missing-data reason.
        supplemental_facts:
          type: array
          items:
            $ref: '#/components/schemas/VerificationFact'
          description: Permitted source-specific facts that do not have a canonical field.
          x-field-id: VERIFY:VerificationSourceScore.supplemental_facts
        kind:
          anyOf:
            - type: string
              minLength: 1
            - type: 'null'
          description: Provider score category, such as identity_match, fraud, KYB or risk.
          x-field-id: VERIFY:VerificationSourceScore.kind
        score:
          $ref: '#/components/schemas/VerificationScore'
          x-field-id: VERIFY:VerificationSourceScore.score
          description: >-
            Score. Preserve the source meaning; null or unknown does not
            establish a negative or a verified result.
        reason_codes:
          type: array
          items:
            type: string
            minLength: 1
          description: Returned score drivers or codes.
          x-field-id: VERIFY:VerificationSourceScore.reason_codes
        limitations:
          type: array
          items:
            type: string
            minLength: 1
          description: Meaning, calibration and comparability limitations.
          x-field-id: VERIFY:VerificationSourceScore.limitations
      required:
        - id
        - subject_id
        - provenance
        - missing_fields
        - supplemental_facts
        - kind
        - score
        - reason_codes
        - limitations
      additionalProperties: false
      description: >-
        Original provider rating with source-defined scope and scale, separate
        from AMLOK metric calculations.
    VerificationDuplicateCheck:
      type: object
      properties:
        id:
          type: string
          minLength: 1
          description: Stable AMLOK item ID within this assessment.
          x-field-id: VERIFY:VerificationDuplicateCheck.id
        subject_id:
          type: string
          minLength: 1
          description: >-
            Authorized business/person subject ID, as returned on the borrower
            or an active related-party association; not the borrower resource
            ID.
          x-field-id: VERIFY:VerificationDuplicateCheck.subject_id
        provenance:
          $ref: '#/components/schemas/VerificationProvenance'
          x-field-id: VERIFY:VerificationDuplicateCheck.provenance
          description: Exact source, time, basis and evidence for this observation.
        missing_fields:
          type: array
          items:
            type: object
            properties:
              path:
                type: string
                minLength: 1
                description: RFC 6901 pointer relative to this item.
                x-field-id: VERIFY:VerificationDuplicateCheck.missing_fields[].path
              reason:
                $ref: '#/components/schemas/VerificationReason'
                x-field-id: VERIFY:VerificationDuplicateCheck.missing_fields[].reason
                description: >-
                  Explicit explanation code when no complete usable value is
                  available.
              description:
                type: string
                minLength: 1
                description: Why this field is absent or null.
                x-field-id: VERIFY:VerificationDuplicateCheck.missing_fields[].description
            required:
              - path
              - reason
              - description
            additionalProperties: false
          x-field-id: VERIFY:VerificationDuplicateCheck.missing_fields
          description: >-
            Every absent or null required fact is explained by a pointer and a
            missing-data reason.
        supplemental_facts:
          type: array
          items:
            $ref: '#/components/schemas/VerificationFact'
          description: Permitted source-specific facts that do not have a canonical field.
          x-field-id: VERIFY:VerificationDuplicateCheck.supplemental_facts
        kind:
          type: string
          enum:
            - document
            - face
            - email
            - phone
            - entity
          x-field-id: VERIFY:VerificationDuplicateCheck.kind
          description: >-
            Kind. Preserve the source meaning; null or unknown does not
            establish a negative or a verified result.
        outcome:
          type: string
          enum:
            - no_match
            - potential_match
            - inconclusive
            - not_checked
          x-field-id: VERIFY:VerificationDuplicateCheck.outcome
          description: Verification/compliance result, not a lending decision.
        reported_match_count:
          anyOf:
            - type: integer
              minimum: 0
            - type: 'null'
          description: Provider total when known.
          x-field-id: VERIFY:VerificationDuplicateCheck.reported_match_count
        authorized_matches:
          type: array
          items:
            type: object
            properties:
              subject_id:
                type: string
                minLength: 1
                x-field-id: >-
                  VERIFY:VerificationDuplicateCheck.authorized_matches[].subject_id
                description: >-
                  Subject id. Preserve the source meaning; null or unknown does
                  not establish a negative or a verified result.
              assessment_id:
                anyOf:
                  - type: string
                    minLength: 1
                  - type: 'null'
                x-field-id: >-
                  VERIFY:VerificationDuplicateCheck.authorized_matches[].assessment_id
                description: >-
                  Assessment id. Preserve the source meaning; null or unknown
                  does not establish a negative or a verified result.
              similarity:
                anyOf:
                  - $ref: '#/components/schemas/VerificationScore'
                  - type: 'null'
                x-field-id: >-
                  VERIFY:VerificationDuplicateCheck.authorized_matches[].similarity
                description: >-
                  Similarity. Preserve the source meaning; null or unknown does
                  not establish a negative or a verified result.
              observed_at:
                anyOf:
                  - type: string
                    minLength: 1
                    format: date-time
                  - type: 'null'
                x-field-id: >-
                  VERIFY:VerificationDuplicateCheck.authorized_matches[].observed_at
                description: >-
                  Observed at. Preserve the source meaning; null or unknown does
                  not establish a negative or a verified result.
              list_disposition:
                type: string
                enum:
                  - none
                  - allowlisted
                  - blocklisted
                  - unknown
                x-field-id: >-
                  VERIFY:VerificationDuplicateCheck.authorized_matches[].list_disposition
                description: >-
                  List disposition. Preserve the source meaning; null or unknown
                  does not establish a negative or a verified result.
            required:
              - subject_id
              - assessment_id
              - similarity
              - observed_at
              - list_disposition
            additionalProperties: false
          x-field-id: VERIFY:VerificationDuplicateCheck.authorized_matches
          description: >-
            Authorized matches. Preserve the source meaning; null or unknown
            does not establish a negative or a verified result.
        withheld_match_count:
          anyOf:
            - type: integer
              minimum: 0
            - type: 'null'
          description: >-
            Count of matches withheld by authorization, if permitted to
            disclose.
          x-field-id: VERIFY:VerificationDuplicateCheck.withheld_match_count
        reason_codes:
          type: array
          items:
            type: string
            minLength: 1
          description: Match and coverage limitations.
          x-field-id: VERIFY:VerificationDuplicateCheck.reason_codes
      required:
        - id
        - subject_id
        - provenance
        - missing_fields
        - supplemental_facts
        - kind
        - outcome
        - reported_match_count
        - authorized_matches
        - withheld_match_count
        - reason_codes
      additionalProperties: false
      description: >-
        Only permitted same-workspace duplicate signals; never cross-tenant
        identity disclosures.
    VerificationProvenance:
      type: object
      properties:
        basis:
          type: string
          enum:
            - registry
            - provider_verified
            - document_extracted
            - declared
            - derived
          description: >-
            How this observation was established. A declaration or extracted
            text is not verification.
          x-field-id: VERIFY:VerificationProvenance.basis
        source_id:
          type: string
          minLength: 1
          description: >-
            Opaque source identifier from assessment.sources, authorized for
            this workspace.
          x-field-id: VERIFY:VerificationProvenance.source_id
        observed_at:
          anyOf:
            - type: string
              minLength: 1
              format: date-time
            - type: 'null'
          description: Time the source observed the fact, null when unknown.
          x-field-id: VERIFY:VerificationProvenance.observed_at
        retrieved_at:
          type: string
          minLength: 1
          format: date-time
          description: UTC time AMLOK retrieved this source version.
          x-field-id: VERIFY:VerificationProvenance.retrieved_at
        evidence:
          type: array
          items:
            $ref: '#/components/schemas/VerificationEvidence'
          description: >-
            Exact records or document pages supporting the observation; at least
            one.
          minItems: 1
          x-field-id: VERIFY:VerificationProvenance.evidence
        field_evidence:
          type: array
          items:
            type: object
            properties:
              path:
                type: string
                minLength: 1
                description: >-
                  RFC 6901 pointer relative to this item for a field with
                  different provenance.
                x-field-id: VERIFY:VerificationProvenance.field_evidence[].path
              basis:
                type: string
                enum:
                  - registry
                  - provider_verified
                  - document_extracted
                  - declared
                  - derived
                x-field-id: VERIFY:VerificationProvenance.field_evidence[].basis
                description: >-
                  Basis. Preserve the source meaning; null or unknown does not
                  establish a negative or a verified result.
              evidence:
                type: array
                items:
                  $ref: '#/components/schemas/VerificationEvidence'
                minItems: 1
                x-field-id: VERIFY:VerificationProvenance.field_evidence[].evidence
                description: Exact evidence records and source-document locations.
            required:
              - path
              - basis
              - evidence
            additionalProperties: false
          x-field-id: VERIFY:VerificationProvenance.field_evidence
          description: >-
            Field-specific provenance for values that differ from the item-level
            source.
      required:
        - basis
        - source_id
        - observed_at
        - retrieved_at
        - evidence
        - field_evidence
      additionalProperties: false
      description: >-
        Preserve conflicting source observations as separate items. Field
        evidence overrides item evidence only for the named path.
    VerificationFact:
      type: object
      properties:
        key:
          type: string
          minLength: 1
          description: Stable, namespaced supplemental field name.
          x-field-id: VERIFY:VerificationFact.key
        value:
          type:
            - string
            - number
            - boolean
            - 'null'
          description: >-
            Authorized scalar source value. Structured extras use named scalar
            facts, not undocumented nested payloads.
          x-field-id: VERIFY:VerificationFact.value
        unit:
          anyOf:
            - type: string
              minLength: 1
            - type: 'null'
          description: Original unit where relevant.
          x-field-id: VERIFY:VerificationFact.unit
        description:
          type: string
          minLength: 1
          description: Meaning of the source-specific fact.
          x-field-id: VERIFY:VerificationFact.description
        source_path:
          anyOf:
            - type: string
              minLength: 1
            - type: 'null'
          description: Original source field pointer.
          x-field-id: VERIFY:VerificationFact.source_path
        reason:
          anyOf:
            - type: string
              minLength: 1
            - type: 'null'
          description: Required explanation when the value is unavailable.
          x-field-id: VERIFY:VerificationFact.reason
      required:
        - key
        - value
        - unit
        - description
        - source_path
        - reason
      additionalProperties: false
      allOf:
        - if:
            properties:
              value:
                type: 'null'
          then:
            properties:
              reason:
                type: string
                minLength: 1
      description: >-
        Allowlisted underwriting-relevant facts. No credentials, raw biometrics,
        unrelated persons, or unreviewed sensitive attributes.
    VerificationIdentifier:
      type: object
      properties:
        scheme:
          type: string
          minLength: 1
          description: >-
            Identifier scheme, for example corporation_number, EIN, BN, LEI, VAT
            or passport.
          x-field-id: VERIFY:VerificationIdentifier.scheme
        value:
          anyOf:
            - type: string
              minLength: 1
            - type: 'null'
          description: >-
            Permitted identifier value; null when masked, restricted or
            unavailable.
          x-field-id: VERIFY:VerificationIdentifier.value
        masked_value:
          anyOf:
            - type: string
              minLength: 1
            - type: 'null'
          description: Masked representation when full disclosure is not permitted.
          x-field-id: VERIFY:VerificationIdentifier.masked_value
        country:
          anyOf:
            - type: string
              minLength: 1
              pattern: ^[A-Z]{2}$
            - type: 'null'
          description: ISO 3166-1 alpha-2 issuing country.
          x-field-id: VERIFY:VerificationIdentifier.country
        jurisdiction:
          anyOf:
            - type: string
              minLength: 1
            - type: 'null'
          description: >-
            ISO 3166-2 subdivision where known, otherwise source jurisdiction
            label.
          x-field-id: VERIFY:VerificationIdentifier.jurisdiction
        disclosure:
          type: string
          enum:
            - full
            - masked
            - unavailable
          x-field-id: VERIFY:VerificationIdentifier.disclosure
          description: >-
            Disclosure. Preserve the source meaning; null or unknown does not
            establish a negative or a verified result.
        reason:
          anyOf:
            - type: string
              minLength: 1
            - type: 'null'
          description: Reason for masking or unavailability.
          x-field-id: VERIFY:VerificationIdentifier.reason
      required:
        - scheme
        - value
        - masked_value
        - country
        - jurisdiction
        - disclosure
        - reason
      additionalProperties: false
      allOf:
        - if:
            properties:
              disclosure:
                const: full
          then:
            properties:
              value:
                type: string
                minLength: 1
              reason:
                type: 'null'
          else:
            properties:
              value:
                type: 'null'
              reason:
                type: string
                minLength: 1
        - if:
            properties:
              disclosure:
                const: masked
          then:
            properties:
              masked_value:
                type: string
                minLength: 1
    VerificationScore:
      type: object
      properties:
        value:
          anyOf:
            - type: number
            - type: 'null'
          description: Original numeric value; null if only a rating was supplied.
          x-field-id: VERIFY:VerificationScore.value
        scale_min:
          anyOf:
            - type: number
            - type: 'null'
          description: >-
            Documented lower scale bound; null when the source does not define
            one.
          x-field-id: VERIFY:VerificationScore.scale_min
        scale_max:
          anyOf:
            - type: number
            - type: 'null'
          description: Documented upper scale bound; never assume 0-100.
          x-field-id: VERIFY:VerificationScore.scale_max
        direction:
          type: string
          enum:
            - higher_is_stronger_match
            - higher_is_more_risk
            - higher_is_more_assurance
            - provider_defined
            - unknown
          description: Meaning of increasing values, not a credit-decision direction.
          x-field-id: VERIFY:VerificationScore.direction
        label:
          anyOf:
            - type: string
              minLength: 1
            - type: 'null'
          description: Original provider label or qualitative rating.
          x-field-id: VERIFY:VerificationScore.label
        method:
          anyOf:
            - type: string
              minLength: 1
            - type: 'null'
          description: Provider method or model version when supplied.
          x-field-id: VERIFY:VerificationScore.method
      required:
        - value
        - scale_min
        - scale_max
        - direction
        - label
        - method
      additionalProperties: false
      description: >-
        No conversion to creditworthiness, default probability or a
        cross-provider score.
    Money:
      type: object
      properties:
        amount:
          type: string
          minLength: 1
          pattern: ^(?:0|[1-9][0-9]*)\.[0-9]{2}$
          description: >-
            Amount for Money. Constraints, requiredness and allowed values are
            defined by this schema.
        currency:
          type: string
          minLength: 1
          pattern: ^[A-Z]{3}$
          description: >-
            Currency for Money. Constraints, requiredness and allowed values are
            defined by this schema.
      required:
        - amount
        - currency
      additionalProperties: false
    VerificationScreeningHit:
      type: object
      properties:
        id:
          type: string
          minLength: 1
          x-field-id: VERIFY:VerificationScreeningHit.id
          description: >-
            Id. Preserve the source meaning; null or unknown does not establish
            a negative or a verified result.
        category:
          type: string
          enum:
            - sanctions
            - pep
            - adverse_media
            - watchlist
            - other
          x-field-id: VERIFY:VerificationScreeningHit.category
          description: >-
            Category. Preserve the source meaning; null or unknown does not
            establish a negative or a verified result.
        matched_name:
          anyOf:
            - type: string
              minLength: 1
            - type: 'null'
          x-field-id: VERIFY:VerificationScreeningHit.matched_name
          description: >-
            Candidate subject name returned by screening, not a confirmed
            identity match.
        aliases:
          type: array
          items:
            type: string
            minLength: 1
          x-field-id: VERIFY:VerificationScreeningHit.aliases
          description: >-
            Aliases. Preserve the source meaning; null or unknown does not
            establish a negative or a verified result.
        list_name:
          anyOf:
            - type: string
              minLength: 1
            - type: 'null'
          x-field-id: VERIFY:VerificationScreeningHit.list_name
          description: Screening list or dataset name actually returned for the candidate.
        list_authority:
          anyOf:
            - type: string
              minLength: 1
            - type: 'null'
          x-field-id: VERIFY:VerificationScreeningHit.list_authority
          description: >-
            Authority publishing the screening list, when identified by the
            source.
        source_record_reference:
          anyOf:
            - type: string
              minLength: 1
            - type: 'null'
          x-field-id: VERIFY:VerificationScreeningHit.source_record_reference
          description: >-
            Permitted native screening record identifier used to trace this
            candidate.
        source_url:
          anyOf:
            - type: string
              minLength: 1
            - type: 'null'
          x-field-id: VERIFY:VerificationScreeningHit.source_url
          description: >-
            Source url. Preserve the source meaning; null or unknown does not
            establish a negative or a verified result.
        match_score:
          anyOf:
            - $ref: '#/components/schemas/VerificationScore'
            - type: 'null'
          x-field-id: VERIFY:VerificationScreeningHit.match_score
          description: >-
            Match score. Preserve the source meaning; null or unknown does not
            establish a negative or a verified result.
        risk_score:
          anyOf:
            - $ref: '#/components/schemas/VerificationScore'
            - type: 'null'
          x-field-id: VERIFY:VerificationScreeningHit.risk_score
          description: >-
            Risk score. Preserve the source meaning; null or unknown does not
            establish a negative or a verified result.
        disposition:
          type: string
          enum:
            - unreviewed
            - confirmed
            - false_positive
            - inconclusive
          x-field-id: VERIFY:VerificationScreeningHit.disposition
          description: Review state; unreviewed candidates are not confirmed matches.
        reviewed_at:
          anyOf:
            - type: string
              minLength: 1
              format: date-time
            - type: 'null'
          x-field-id: VERIFY:VerificationScreeningHit.reviewed_at
          description: >-
            UTC time the hit disposition was reviewed; null means no completed
            review is recorded.
        review_reason:
          anyOf:
            - type: string
              minLength: 1
            - type: 'null'
          x-field-id: VERIFY:VerificationScreeningHit.review_reason
          description: Reason supporting the documented match disposition.
        first_seen_at:
          anyOf:
            - type: string
              minLength: 1
              format: date-time
            - type: 'null'
          x-field-id: VERIFY:VerificationScreeningHit.first_seen_at
          description: UTC time this source first recorded the candidate, when known.
        last_seen_at:
          anyOf:
            - type: string
              minLength: 1
              format: date-time
            - type: 'null'
          x-field-id: VERIFY:VerificationScreeningHit.last_seen_at
          description: UTC time this source last recorded the candidate, when known.
        properties:
          type: array
          items:
            $ref: '#/components/schemas/VerificationFact'
          x-field-id: VERIFY:VerificationScreeningHit.properties
          description: >-
            Properties. Preserve the source meaning; null or unknown does not
            establish a negative or a verified result.
        evidence:
          type: array
          items:
            $ref: '#/components/schemas/VerificationEvidence'
          minItems: 1
          x-field-id: VERIFY:VerificationScreeningHit.evidence
          description: Exact evidence records and source-document locations.
      required:
        - id
        - category
        - matched_name
        - aliases
        - list_name
        - list_authority
        - source_record_reference
        - source_url
        - match_score
        - risk_score
        - disposition
        - reviewed_at
        - review_reason
        - first_seen_at
        - last_seen_at
        - properties
        - evidence
      additionalProperties: false
      description: >-
        Potential name match until disposition is confirmed. News allegations
        and PEP status are not findings of misconduct.
    VerificationEvidence:
      type: object
      properties:
        evidence_id:
          anyOf:
            - type: string
              minLength: 1
            - type: 'null'
          description: >-
            Exact frozen evidence ID; null only when a DataRecord reference
            provides provenance.
          x-field-id: VERIFY:VerificationEvidence.evidence_id
        data_record_id:
          anyOf:
            - type: string
              minLength: 1
            - type: 'null'
          description: >-
            Exact immutable data-record version; not a mutable logical resource
            ID.
          x-field-id: VERIFY:VerificationEvidence.data_record_id
        source_path:
          anyOf:
            - type: string
              minLength: 1
            - type: 'null'
          description: >-
            RFC 6901 pointer into the permitted source payload, preserving its
            original field path.
          x-field-id: VERIFY:VerificationEvidence.source_path
        document_id:
          anyOf:
            - type: string
              minLength: 1
            - type: 'null'
          description: AMLOK document ID for an authorized source report or file.
          x-field-id: VERIFY:VerificationEvidence.document_id
        page:
          anyOf:
            - type: integer
              minimum: 1
            - type: 'null'
          description: One-based source PDF page; requires document_id.
          x-field-id: VERIFY:VerificationEvidence.page
      required:
        - evidence_id
        - data_record_id
        - source_path
        - document_id
        - page
      additionalProperties: false
      anyOf:
        - properties:
            evidence_id:
              type: string
              minLength: 1
              x-field-id: VERIFY:VerificationEvidence.evidence_id
              description: >-
                Evidence id. Preserve the source meaning; null or unknown does
                not establish a negative or a verified result.
        - properties:
            data_record_id:
              type: string
              minLength: 1
              x-field-id: VERIFY:VerificationEvidence.data_record_id
              description: >-
                Data record id. Preserve the source meaning; null or unknown
                does not establish a negative or a verified result.
      allOf:
        - if:
            properties:
              page:
                type: integer
          then:
            properties:
              document_id:
                type: string
                minLength: 1
  securitySchemes:
    BearerAuth:
      type: http
      scheme: bearer
      bearerFormat: API key
      description: >-
        Server-to-server API key bound to exactly one workspace, institution
        tenant and environment. No caller-supplied workspace override is
        accepted. Do not use in public browser code.

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.