> ## 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 risk package

> Retrieve an immutable Insights or Signal result with financial dimensions, policy evaluations, limitations and the frozen supporting evidence set. Recommendations do not replace the institution decision.

Retrieve an immutable Insights or Signal result with financial dimensions, policy evaluations, limitations and the frozen supporting evidence set. Recommendations do not replace the institution decision. All IDs and cursors must belong to the authorized workspace and environment. Required scope: results:read.

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


## OpenAPI

````yaml openapi/amlok.json GET /v1/risk-packages/{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/risk-packages/{id}:
    get:
      tags:
        - Results
      summary: Get risk package
      description: >-
        Retrieve an immutable Insights or Signal result with financial
        dimensions, policy evaluations, limitations and the frozen supporting
        evidence set. Recommendations do not replace the institution decision.
        All IDs and cursors must belong to the authorized workspace and
        environment. Required scope: results:read.
      operationId: getRiskPackage
      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/RiskPackage'
                  meta:
                    $ref: '#/components/schemas/Meta'
                required:
                  - data
                  - meta
                additionalProperties: false
              example:
                data:
                  id: rp_synthetic
                  borrower_id: bor_synthetic
                  origination_id: orgn_synthetic
                  monitoring_run_id: null
                  product: insights
                  created_at: '2026-11-06T12:00:00Z'
                  as_of: '2026-11-06T12:00:00Z'
                  previous_package_id: null
                  application:
                    institution_reference: LOS-2026-0042
                    requested_amount:
                      amount: '50000.00'
                      currency: CAD
                    requested_term_months: 12
                    purpose: Working capital
                    application_schema_id: app_schema_synthetic
                    declared_data:
                      annual_revenue: '600000.00'
                  lending_product:
                    id: lpv_synthetic
                    created_at: '2026-11-06T12:00:00Z'
                    definition:
                      external_id: working-capital
                      version: '1'
                      name: Working capital loan
                      borrower_type: business
                      market: CA
                      currency: CAD
                      product_type: term_loan
                      minimum_amount:
                        amount: '10000.00'
                        currency: CAD
                      maximum_amount:
                        amount: '100000.00'
                        currency: CAD
                      minimum_term_months: 6
                      maximum_term_months: 24
                      repayment_frequency: monthly
                      pricing_schema_id: pricing_synthetic
                      pricing:
                        rate_type: fixed
                        annual_interest_rate: '0.12'
                        amortization_months: 12
                        fees: []
                      terms_document_ids: []
                    sha256: >-
                      0000000000000000000000000000000000000000000000000000000000000000
                  risk_policy:
                    id: rpv_synthetic
                    created_at: '2026-11-06T12:00:00Z'
                    definition:
                      external_id: working-capital-policy
                      version: '1'
                      name: Illustrative policy, not a recommended threshold
                      borrower_type: business
                      market: CA
                      rules:
                        - id: dscr-minimum
                          dimension_key: dscr
                          operator: gte
                          threshold: '1.25'
                          unit: ratio
                          on_missing: review
                          on_fail: review
                          calculation_version: amlok-dscr-1
                      policy_document_ids: []
                    sha256: >-
                      0000000000000000000000000000000000000000000000000000000000000000
                  assessment:
                    recommendation: review_required
                    is_institution_decision: false
                    summary: >-
                      Repayment capacity requires review because the debt
                      schedule is incomplete.
                    reasons:
                      - Required repayment evidence is missing.
                  dimensions:
                    - key: identity
                      status: unavailable
                      summary: See individual metric availability and reasons.
                      metrics:
                        - key: business_age_months
                          label: Business age
                          status: unavailable
                          value: null
                          unit: months
                          window:
                            start: '2025-11-01T00:00:00Z'
                            end: '2026-11-01T00:00:00Z'
                          calculation_version: amlok-business_age_months-1
                          missing_reason: >-
                            Required, comparable source inputs are not included
                            in this synthetic example.
                          evidence_ids: []
                          analysis_basis: historical
                          assumptions: []
                          definition_version: 2026-11-06.1
                          currency: null
                          as_of: '2026-11-06T12:00:00Z'
                          basis: derived
                          reason_code: missing_source
                          inputs: []
                          coverage:
                            observed_days: 0
                            expected_days: 365
                            scope_note: >-
                              Synthetic example; observed sources do not
                              establish all external accounts.
                          series: []
                        - key: verified_account_owner_ratio
                          label: Verified account ownership share
                          status: unavailable
                          value: null
                          unit: ratio
                          window:
                            start: '2025-11-01T00:00:00Z'
                            end: '2026-11-01T00:00:00Z'
                          calculation_version: amlok-verified_account_owner_ratio-1
                          missing_reason: >-
                            Required, comparable source inputs are not included
                            in this synthetic example.
                          evidence_ids: []
                          analysis_basis: historical
                          assumptions: []
                          definition_version: 2026-11-06.1
                          currency: null
                          as_of: '2026-11-06T12:00:00Z'
                          basis: derived
                          reason_code: missing_source
                          inputs: []
                          coverage:
                            observed_days: 0
                            expected_days: 365
                            scope_note: >-
                              Synthetic example; observed sources do not
                              establish all external accounts.
                          series: []
                      evidence_ids: []
                    - key: ownership_and_control
                      status: unavailable
                      summary: See individual metric availability and reasons.
                      metrics:
                        - key: ownership_disclosed_ratio
                          label: Disclosed ownership share
                          status: unavailable
                          value: null
                          unit: ratio
                          window:
                            start: '2025-11-01T00:00:00Z'
                            end: '2026-11-01T00:00:00Z'
                          calculation_version: amlok-ownership_disclosed_ratio-1
                          missing_reason: >-
                            Required, comparable source inputs are not included
                            in this synthetic example.
                          evidence_ids: []
                          analysis_basis: historical
                          assumptions: []
                          definition_version: 2026-11-06.1
                          currency: null
                          as_of: '2026-11-06T12:00:00Z'
                          basis: derived
                          reason_code: missing_source
                          inputs: []
                          coverage:
                            observed_days: 0
                            expected_days: 365
                            scope_note: >-
                              Synthetic example; observed sources do not
                              establish all external accounts.
                          series: []
                        - key: related_party_balance_share
                          label: Related-party receivables share
                          status: unavailable
                          value: null
                          unit: ratio
                          window:
                            start: '2025-11-01T00:00:00Z'
                            end: '2026-11-01T00:00:00Z'
                          calculation_version: amlok-related_party_balance_share-1
                          missing_reason: >-
                            Required, comparable source inputs are not included
                            in this synthetic example.
                          evidence_ids: []
                          analysis_basis: historical
                          assumptions: []
                          definition_version: 2026-11-06.1
                          currency: null
                          as_of: '2026-11-06T12:00:00Z'
                          basis: derived
                          reason_code: missing_source
                          inputs: []
                          coverage:
                            observed_days: 0
                            expected_days: 365
                            scope_note: >-
                              Synthetic example; observed sources do not
                              establish all external accounts.
                          series: []
                        - key: supported_guarantee_coverage
                          label: Supported guarantee coverage
                          status: unavailable
                          value: null
                          unit: ratio
                          window:
                            start: '2025-11-01T00:00:00Z'
                            end: '2026-11-01T00:00:00Z'
                          calculation_version: amlok-supported_guarantee_coverage-1
                          missing_reason: >-
                            Required, comparable source inputs are not included
                            in this synthetic example.
                          evidence_ids: []
                          analysis_basis: historical
                          assumptions: []
                          definition_version: 2026-11-06.1
                          currency: null
                          as_of: '2026-11-06T12:00:00Z'
                          basis: derived
                          reason_code: missing_source
                          inputs: []
                          coverage:
                            observed_days: 0
                            expected_days: 365
                            scope_note: >-
                              Synthetic example; observed sources do not
                              establish all external accounts.
                          series: []
                      evidence_ids: []
                    - key: cashflow
                      status: partial
                      summary: See individual metric availability and reasons.
                      metrics:
                        - key: total_inflows
                          label: Posted inflows
                          status: available
                          value: '1250.00'
                          unit: currency
                          window:
                            start: '2026-10-31T00:00:00Z'
                            end: '2026-11-01T00:00:00Z'
                          calculation_version: amlok-total_inflows-1
                          missing_reason: null
                          evidence_ids:
                            - ev_bank_synthetic
                          analysis_basis: historical
                          assumptions: []
                          definition_version: 2026-11-06.1
                          currency: CAD
                          as_of: '2026-11-06T12:00:00Z'
                          basis: derived
                          reason_code: null
                          inputs:
                            - name: posted_inflow
                              value: '1250.00'
                              unit: currency
                              currency: CAD
                              basis: observed
                              evidence:
                                - evidence_id: ev_bank_synthetic
                                  field_path: /amount/amount
                                  document_id: null
                                  page: null
                                  quote: null
                          coverage:
                            observed_days: 1
                            expected_days: 1
                            scope_note: >-
                              Complete for the explicitly illustrated source
                              scope and period only.
                          series:
                            - window:
                                start: '2026-10-31T00:00:00Z'
                                end: '2026-11-01T00:00:00Z'
                              status: available
                              value: '1250.00'
                              reason: null
                              evidence_ids:
                                - ev_bank_synthetic
                        - key: total_outflows
                          label: Posted outflows
                          status: unavailable
                          value: null
                          unit: currency
                          window:
                            start: '2025-11-01T00:00:00Z'
                            end: '2026-11-01T00:00:00Z'
                          calculation_version: amlok-total_outflows-1
                          missing_reason: >-
                            Required, comparable source inputs are not included
                            in this synthetic example.
                          evidence_ids: []
                          analysis_basis: historical
                          assumptions: []
                          definition_version: 2026-11-06.1
                          currency: CAD
                          as_of: '2026-11-06T12:00:00Z'
                          basis: derived
                          reason_code: missing_source
                          inputs: []
                          coverage:
                            observed_days: 0
                            expected_days: 365
                            scope_note: >-
                              Synthetic example; observed sources do not
                              establish all external accounts.
                          series: []
                        - key: net_cash_flow
                          label: Net cash flow
                          status: unavailable
                          value: null
                          unit: currency
                          window:
                            start: '2025-11-01T00:00:00Z'
                            end: '2026-11-01T00:00:00Z'
                          calculation_version: amlok-net_cash_flow-1
                          missing_reason: >-
                            Required, comparable source inputs are not included
                            in this synthetic example.
                          evidence_ids: []
                          analysis_basis: historical
                          assumptions: []
                          definition_version: 2026-11-06.1
                          currency: CAD
                          as_of: '2026-11-06T12:00:00Z'
                          basis: derived
                          reason_code: missing_source
                          inputs: []
                          coverage:
                            observed_days: 0
                            expected_days: 365
                            scope_note: >-
                              Synthetic example; observed sources do not
                              establish all external accounts.
                          series: []
                        - key: operating_cash_inflows
                          label: Operating receipts
                          status: unavailable
                          value: null
                          unit: currency
                          window:
                            start: '2025-11-01T00:00:00Z'
                            end: '2026-11-01T00:00:00Z'
                          calculation_version: amlok-operating_cash_inflows-1
                          missing_reason: >-
                            Required, comparable source inputs are not included
                            in this synthetic example.
                          evidence_ids: []
                          analysis_basis: historical
                          assumptions: []
                          definition_version: 2026-11-06.1
                          currency: CAD
                          as_of: '2026-11-06T12:00:00Z'
                          basis: derived
                          reason_code: missing_source
                          inputs: []
                          coverage:
                            observed_days: 0
                            expected_days: 365
                            scope_note: >-
                              Synthetic example; observed sources do not
                              establish all external accounts.
                          series: []
                        - key: operating_cash_outflows
                          label: Operating cash payments
                          status: unavailable
                          value: null
                          unit: currency
                          window:
                            start: '2025-11-01T00:00:00Z'
                            end: '2026-11-01T00:00:00Z'
                          calculation_version: amlok-operating_cash_outflows-1
                          missing_reason: >-
                            Required, comparable source inputs are not included
                            in this synthetic example.
                          evidence_ids: []
                          analysis_basis: historical
                          assumptions: []
                          definition_version: 2026-11-06.1
                          currency: CAD
                          as_of: '2026-11-06T12:00:00Z'
                          basis: derived
                          reason_code: missing_source
                          inputs: []
                          coverage:
                            observed_days: 0
                            expected_days: 365
                            scope_note: >-
                              Synthetic example; observed sources do not
                              establish all external accounts.
                          series: []
                        - key: operating_net_cash_flow
                          label: Net operating cash flow
                          status: unavailable
                          value: null
                          unit: currency
                          window:
                            start: '2025-11-01T00:00:00Z'
                            end: '2026-11-01T00:00:00Z'
                          calculation_version: amlok-operating_net_cash_flow-1
                          missing_reason: >-
                            Required, comparable source inputs are not included
                            in this synthetic example.
                          evidence_ids: []
                          analysis_basis: historical
                          assumptions: []
                          definition_version: 2026-11-06.1
                          currency: CAD
                          as_of: '2026-11-06T12:00:00Z'
                          basis: derived
                          reason_code: missing_source
                          inputs: []
                          coverage:
                            observed_days: 0
                            expected_days: 365
                            scope_note: >-
                              Synthetic example; observed sources do not
                              establish all external accounts.
                          series: []
                        - key: internal_transfer_inflows
                          label: Internal transfer inflows
                          status: unavailable
                          value: null
                          unit: currency
                          window:
                            start: '2025-11-01T00:00:00Z'
                            end: '2026-11-01T00:00:00Z'
                          calculation_version: amlok-internal_transfer_inflows-1
                          missing_reason: >-
                            Required, comparable source inputs are not included
                            in this synthetic example.
                          evidence_ids: []
                          analysis_basis: historical
                          assumptions: []
                          definition_version: 2026-11-06.1
                          currency: CAD
                          as_of: '2026-11-06T12:00:00Z'
                          basis: derived
                          reason_code: missing_source
                          inputs: []
                          coverage:
                            observed_days: 0
                            expected_days: 365
                            scope_note: >-
                              Synthetic example; observed sources do not
                              establish all external accounts.
                          series: []
                        - key: financing_inflows
                          label: Financing inflows
                          status: unavailable
                          value: null
                          unit: currency
                          window:
                            start: '2025-11-01T00:00:00Z'
                            end: '2026-11-01T00:00:00Z'
                          calculation_version: amlok-financing_inflows-1
                          missing_reason: >-
                            Required, comparable source inputs are not included
                            in this synthetic example.
                          evidence_ids: []
                          analysis_basis: historical
                          assumptions: []
                          definition_version: 2026-11-06.1
                          currency: CAD
                          as_of: '2026-11-06T12:00:00Z'
                          basis: derived
                          reason_code: missing_source
                          inputs: []
                          coverage:
                            observed_days: 0
                            expected_days: 365
                            scope_note: >-
                              Synthetic example; observed sources do not
                              establish all external accounts.
                          series: []
                        - key: positive_cashflow_month_share
                          label: Positive cash-flow months
                          status: unavailable
                          value: null
                          unit: ratio
                          window:
                            start: '2025-11-01T00:00:00Z'
                            end: '2026-11-01T00:00:00Z'
                          calculation_version: amlok-positive_cashflow_month_share-1
                          missing_reason: >-
                            Required, comparable source inputs are not included
                            in this synthetic example.
                          evidence_ids: []
                          analysis_basis: historical
                          assumptions: []
                          definition_version: 2026-11-06.1
                          currency: null
                          as_of: '2026-11-06T12:00:00Z'
                          basis: derived
                          reason_code: missing_source
                          inputs: []
                          coverage:
                            observed_days: 0
                            expected_days: 365
                            scope_note: >-
                              Synthetic example; observed sources do not
                              establish all external accounts.
                          series: []
                        - key: cashflow_volatility
                          label: Operating cash-flow volatility
                          status: unavailable
                          value: null
                          unit: ratio
                          window:
                            start: '2025-11-01T00:00:00Z'
                            end: '2026-11-01T00:00:00Z'
                          calculation_version: amlok-cashflow_volatility-1
                          missing_reason: >-
                            Required, comparable source inputs are not included
                            in this synthetic example.
                          evidence_ids: []
                          analysis_basis: historical
                          assumptions: []
                          definition_version: 2026-11-06.1
                          currency: null
                          as_of: '2026-11-06T12:00:00Z'
                          basis: derived
                          reason_code: missing_source
                          inputs: []
                          coverage:
                            observed_days: 0
                            expected_days: 365
                            scope_note: >-
                              Synthetic example; observed sources do not
                              establish all external accounts.
                          series: []
                        - key: cashflow_change_90d
                          label: Operating cash-flow change
                          status: unavailable
                          value: null
                          unit: ratio
                          window:
                            start: '2025-11-01T00:00:00Z'
                            end: '2026-11-01T00:00:00Z'
                          calculation_version: amlok-cashflow_change_90d-1
                          missing_reason: >-
                            Required, comparable source inputs are not included
                            in this synthetic example.
                          evidence_ids: []
                          analysis_basis: historical
                          assumptions: []
                          definition_version: 2026-11-06.1
                          currency: null
                          as_of: '2026-11-06T12:00:00Z'
                          basis: derived
                          reason_code: missing_source
                          inputs: []
                          coverage:
                            observed_days: 0
                            expected_days: 365
                            scope_note: >-
                              Synthetic example; observed sources do not
                              establish all external accounts.
                          series: []
                      evidence_ids:
                        - ev_bank_synthetic
                    - key: liquidity
                      status: unavailable
                      summary: See individual metric availability and reasons.
                      metrics:
                        - key: unrestricted_cash
                          label: Unrestricted cash
                          status: unavailable
                          value: null
                          unit: currency
                          window:
                            start: '2025-11-01T00:00:00Z'
                            end: '2026-11-01T00:00:00Z'
                          calculation_version: amlok-unrestricted_cash-1
                          missing_reason: >-
                            Required, comparable source inputs are not included
                            in this synthetic example.
                          evidence_ids: []
                          analysis_basis: historical
                          assumptions: []
                          definition_version: 2026-11-06.1
                          currency: CAD
                          as_of: '2026-11-06T12:00:00Z'
                          basis: derived
                          reason_code: missing_source
                          inputs: []
                          coverage:
                            observed_days: 0
                            expected_days: 365
                            scope_note: >-
                              Synthetic example; observed sources do not
                              establish all external accounts.
                          series: []
                        - key: average_daily_balance
                          label: Average daily cash balance
                          status: unavailable
                          value: null
                          unit: currency
                          window:
                            start: '2025-11-01T00:00:00Z'
                            end: '2026-11-01T00:00:00Z'
                          calculation_version: amlok-average_daily_balance-1
                          missing_reason: >-
                            Required, comparable source inputs are not included
                            in this synthetic example.
                          evidence_ids: []
                          analysis_basis: historical
                          assumptions: []
                          definition_version: 2026-11-06.1
                          currency: CAD
                          as_of: '2026-11-06T12:00:00Z'
                          basis: derived
                          reason_code: missing_source
                          inputs: []
                          coverage:
                            observed_days: 0
                            expected_days: 365
                            scope_note: >-
                              Synthetic example; observed sources do not
                              establish all external accounts.
                          series: []
                        - key: minimum_daily_balance
                          label: Minimum daily cash balance
                          status: unavailable
                          value: null
                          unit: currency
                          window:
                            start: '2025-11-01T00:00:00Z'
                            end: '2026-11-01T00:00:00Z'
                          calculation_version: amlok-minimum_daily_balance-1
                          missing_reason: >-
                            Required, comparable source inputs are not included
                            in this synthetic example.
                          evidence_ids: []
                          analysis_basis: historical
                          assumptions: []
                          definition_version: 2026-11-06.1
                          currency: CAD
                          as_of: '2026-11-06T12:00:00Z'
                          basis: derived
                          reason_code: missing_source
                          inputs: []
                          coverage:
                            observed_days: 0
                            expected_days: 365
                            scope_note: >-
                              Synthetic example; observed sources do not
                              establish all external accounts.
                          series: []
                        - key: negative_balance_days
                          label: Days below zero
                          status: unavailable
                          value: null
                          unit: days
                          window:
                            start: '2025-11-01T00:00:00Z'
                            end: '2026-11-01T00:00:00Z'
                          calculation_version: amlok-negative_balance_days-1
                          missing_reason: >-
                            Required, comparable source inputs are not included
                            in this synthetic example.
                          evidence_ids: []
                          analysis_basis: historical
                          assumptions: []
                          definition_version: 2026-11-06.1
                          currency: null
                          as_of: '2026-11-06T12:00:00Z'
                          basis: derived
                          reason_code: missing_source
                          inputs: []
                          coverage:
                            observed_days: 0
                            expected_days: 365
                            scope_note: >-
                              Synthetic example; observed sources do not
                              establish all external accounts.
                          series: []
                        - key: cash_buffer_days
                          label: Cash buffer
                          status: unavailable
                          value: null
                          unit: days
                          window:
                            start: '2025-11-01T00:00:00Z'
                            end: '2026-11-01T00:00:00Z'
                          calculation_version: amlok-cash_buffer_days-1
                          missing_reason: >-
                            Required, comparable source inputs are not included
                            in this synthetic example.
                          evidence_ids: []
                          analysis_basis: historical
                          assumptions: []
                          definition_version: 2026-11-06.1
                          currency: null
                          as_of: '2026-11-06T12:00:00Z'
                          basis: derived
                          reason_code: missing_source
                          inputs: []
                          coverage:
                            observed_days: 0
                            expected_days: 365
                            scope_note: >-
                              Synthetic example; observed sources do not
                              establish all external accounts.
                          series: []
                        - key: current_ratio
                          label: Current ratio
                          status: unavailable
                          value: null
                          unit: ratio
                          window:
                            start: '2025-11-01T00:00:00Z'
                            end: '2026-11-01T00:00:00Z'
                          calculation_version: amlok-current_ratio-1
                          missing_reason: >-
                            Required, comparable source inputs are not included
                            in this synthetic example.
                          evidence_ids: []
                          analysis_basis: historical
                          assumptions: []
                          definition_version: 2026-11-06.1
                          currency: null
                          as_of: '2026-11-06T12:00:00Z'
                          basis: derived
                          reason_code: missing_source
                          inputs: []
                          coverage:
                            observed_days: 0
                            expected_days: 365
                            scope_note: >-
                              Synthetic example; observed sources do not
                              establish all external accounts.
                          series: []
                        - key: quick_ratio
                          label: Quick ratio
                          status: unavailable
                          value: null
                          unit: ratio
                          window:
                            start: '2025-11-01T00:00:00Z'
                            end: '2026-11-01T00:00:00Z'
                          calculation_version: amlok-quick_ratio-1
                          missing_reason: >-
                            Required, comparable source inputs are not included
                            in this synthetic example.
                          evidence_ids: []
                          analysis_basis: historical
                          assumptions: []
                          definition_version: 2026-11-06.1
                          currency: null
                          as_of: '2026-11-06T12:00:00Z'
                          basis: derived
                          reason_code: missing_source
                          inputs: []
                          coverage:
                            observed_days: 0
                            expected_days: 365
                            scope_note: >-
                              Synthetic example; observed sources do not
                              establish all external accounts.
                          series: []
                        - key: cash_ratio
                          label: Cash ratio
                          status: unavailable
                          value: null
                          unit: ratio
                          window:
                            start: '2025-11-01T00:00:00Z'
                            end: '2026-11-01T00:00:00Z'
                          calculation_version: amlok-cash_ratio-1
                          missing_reason: >-
                            Required, comparable source inputs are not included
                            in this synthetic example.
                          evidence_ids: []
                          analysis_basis: historical
                          assumptions: []
                          definition_version: 2026-11-06.1
                          currency: null
                          as_of: '2026-11-06T12:00:00Z'
                          basis: derived
                          reason_code: missing_source
                          inputs: []
                          coverage:
                            observed_days: 0
                            expected_days: 365
                            scope_note: >-
                              Synthetic example; observed sources do not
                              establish all external accounts.
                          series: []
                      evidence_ids: []
                    - key: revenue_quality
                      status: unavailable
                      summary: See individual metric availability and reasons.
                      metrics:
                        - key: verified_revenue
                          label: Verified revenue
                          status: unavailable
                          value: null
                          unit: currency
                          window:
                            start: '2025-11-01T00:00:00Z'
                            end: '2026-11-01T00:00:00Z'
                          calculation_version: amlok-verified_revenue-1
                          missing_reason: >-
                            Required, comparable source inputs are not included
                            in this synthetic example.
                          evidence_ids: []
                          analysis_basis: historical
                          assumptions: []
                          definition_version: 2026-11-06.1
                          currency: CAD
                          as_of: '2026-11-06T12:00:00Z'
                          basis: derived
                          reason_code: missing_source
                          inputs: []
                          coverage:
                            observed_days: 0
                            expected_days: 365
                            scope_note: >-
                              Synthetic example; observed sources do not
                              establish all external accounts.
                          series: []
                        - key: recurring_revenue_share
                          label: Recurring revenue share
                          status: unavailable
                          value: null
                          unit: ratio
                          window:
                            start: '2025-11-01T00:00:00Z'
                            end: '2026-11-01T00:00:00Z'
                          calculation_version: amlok-recurring_revenue_share-1
                          missing_reason: >-
                            Required, comparable source inputs are not included
                            in this synthetic example.
                          evidence_ids: []
                          analysis_basis: historical
                          assumptions: []
                          definition_version: 2026-11-06.1
                          currency: null
                          as_of: '2026-11-06T12:00:00Z'
                          basis: derived
                          reason_code: missing_source
                          inputs: []
                          coverage:
                            observed_days: 0
                            expected_days: 365
                            scope_note: >-
                              Synthetic example; observed sources do not
                              establish all external accounts.
                          series: []
                        - key: revenue_growth_yoy
                          label: Revenue growth year over year
                          status: unavailable
                          value: null
                          unit: ratio
                          window:
                            start: '2025-11-01T00:00:00Z'
                            end: '2026-11-01T00:00:00Z'
                          calculation_version: amlok-revenue_growth_yoy-1
                          missing_reason: >-
                            Required, comparable source inputs are not included
                            in this synthetic example.
                          evidence_ids: []
                          analysis_basis: historical
                          assumptions: []
                          definition_version: 2026-11-06.1
                          currency: null
                          as_of: '2026-11-06T12:00:00Z'
                          basis: derived
                          reason_code: missing_source
                          inputs: []
                          coverage:
                            observed_days: 0
                            expected_days: 365
                            scope_note: >-
                              Synthetic example; observed sources do not
                              establish all external accounts.
                          series: []
                        - key: revenue_growth_90d
                          label: Revenue growth over 90 days
                          status: unavailable
                          value: null
                          unit: ratio
                          window:
                            start: '2025-11-01T00:00:00Z'
                            end: '2026-11-01T00:00:00Z'
                          calculation_version: amlok-revenue_growth_90d-1
                          missing_reason: >-
                            Required, comparable source inputs are not included
                            in this synthetic example.
                          evidence_ids: []
                          analysis_basis: historical
                          assumptions: []
                          definition_version: 2026-11-06.1
                          currency: null
                          as_of: '2026-11-06T12:00:00Z'
                          basis: derived
                          reason_code: missing_source
                          inputs: []
                          coverage:
                            observed_days: 0
                            expected_days: 365
                            scope_note: >-
                              Synthetic example; observed sources do not
                              establish all external accounts.
                          series: []
                        - key: revenue_volatility
                          label: Monthly revenue volatility
                          status: unavailable
                          value: null
                          unit: ratio
                          window:
                            start: '2025-11-01T00:00:00Z'
                            end: '2026-11-01T00:00:00Z'
                          calculation_version: amlok-revenue_volatility-1
                          missing_reason: >-
                            Required, comparable source inputs are not included
                            in this synthetic example.
                          evidence_ids: []
                          analysis_basis: historical
                          assumptions: []
                          definition_version: 2026-11-06.1
                          currency: null
                          as_of: '2026-11-06T12:00:00Z'
                          basis: derived
                          reason_code: missing_source
                          inputs: []
                          coverage:
                            observed_days: 0
                            expected_days: 365
                            scope_note: >-
                              Synthetic example; observed sources do not
                              establish all external accounts.
                          series: []
                        - key: refund_amount_share
                          label: Refund amount share
                          status: unavailable
                          value: null
                          unit: ratio
                          window:
                            start: '2025-11-01T00:00:00Z'
                            end: '2026-11-01T00:00:00Z'
                          calculation_version: amlok-refund_amount_share-1
                          missing_reason: >-
                            Required, comparable source inputs are not included
                            in this synthetic example.
                          evidence_ids: []
                          analysis_basis: historical
                          assumptions: []
                          definition_version: 2026-11-06.1
                          currency: null
                          as_of: '2026-11-06T12:00:00Z'
                          basis: derived
                          reason_code: missing_source
                          inputs: []
                          coverage:
                            observed_days: 0
                            expected_days: 365
                            scope_note: >-
                              Synthetic example; observed sources do not
                              establish all external accounts.
                          series: []
                        - key: chargeback_amount_share
                          label: Chargeback amount share
                          status: unavailable
                          value: null
                          unit: ratio
                          window:
                            start: '2025-11-01T00:00:00Z'
                            end: '2026-11-01T00:00:00Z'
                          calculation_version: amlok-chargeback_amount_share-1
                          missing_reason: >-
                            Required, comparable source inputs are not included
                            in this synthetic example.
                          evidence_ids: []
                          analysis_basis: historical
                          assumptions: []
                          definition_version: 2026-11-06.1
                          currency: null
                          as_of: '2026-11-06T12:00:00Z'
                          basis: derived
                          reason_code: missing_source
                          inputs: []
                          coverage:
                            observed_days: 0
                            expected_days: 365
                            scope_note: >-
                              Synthetic example; observed sources do not
                              establish all external accounts.
                          series: []
                        - key: revenue_cash_realization
                          label: Revenue cash realization
                          status: unavailable
                          value: null
                          unit: ratio
                          window:
                            start: '2025-11-01T00:00:00Z'
                            end: '2026-11-01T00:00:00Z'
                          calculation_version: amlok-revenue_cash_realization-1
                          missing_reason: >-
                            Required, comparable source inputs are not included
                            in this synthetic example.
                          evidence_ids: []
                          analysis_basis: historical
                          assumptions: []
                          definition_version: 2026-11-06.1
                          currency: null
                          as_of: '2026-11-06T12:00:00Z'
                          basis: derived
                          reason_code: missing_source
                          inputs: []
                          coverage:
                            observed_days: 0
                            expected_days: 365
                            scope_note: >-
                              Synthetic example; observed sources do not
                              establish all external accounts.
                          series: []
                        - key: unverified_receipts_share
                          label: Unverified receipts share
                          status: unavailable
                          value: null
                          unit: ratio
                          window:
                            start: '2025-11-01T00:00:00Z'
                            end: '2026-11-01T00:00:00Z'
                          calculation_version: amlok-unverified_receipts_share-1
                          missing_reason: >-
                            Required, comparable source inputs are not included
                            in this synthetic example.
                          evidence_ids: []
                          analysis_basis: historical
                          assumptions: []
                          definition_version: 2026-11-06.1
                          currency: null
                          as_of: '2026-11-06T12:00:00Z'
                          basis: derived
                          reason_code: missing_source
                          inputs: []
                          coverage:
                            observed_days: 0
                            expected_days: 365
                            scope_note: >-
                              Synthetic example; observed sources do not
                              establish all external accounts.
                          series: []
                        - key: nonrecurring_revenue_share
                          label: Nonrecurring revenue share
                          status: unavailable
                          value: null
                          unit: ratio
                          window:
                            start: '2025-11-01T00:00:00Z'
                            end: '2026-11-01T00:00:00Z'
                          calculation_version: amlok-nonrecurring_revenue_share-1
                          missing_reason: >-
                            Required, comparable source inputs are not included
                            in this synthetic example.
                          evidence_ids: []
                          analysis_basis: historical
                          assumptions: []
                          definition_version: 2026-11-06.1
                          currency: null
                          as_of: '2026-11-06T12:00:00Z'
                          basis: derived
                          reason_code: missing_source
                          inputs: []
                          coverage:
                            observed_days: 0
                            expected_days: 365
                            scope_note: >-
                              Synthetic example; observed sources do not
                              establish all external accounts.
                          series: []
                      evidence_ids: []
                    - key: profitability
                      status: unavailable
                      summary: See individual metric availability and reasons.
                      metrics:
                        - key: gross_profit
                          label: Gross profit
                          status: unavailable
                          value: null
                          unit: currency
                          window:
                            start: '2025-11-01T00:00:00Z'
                            end: '2026-11-01T00:00:00Z'
                          calculation_version: amlok-gross_profit-1
                          missing_reason: >-
                            Required, comparable source inputs are not included
                            in this synthetic example.
                          evidence_ids: []
                          analysis_basis: historical
                          assumptions: []
                          definition_version: 2026-11-06.1
                          currency: CAD
                          as_of: '2026-11-06T12:00:00Z'
                          basis: derived
                          reason_code: missing_source
                          inputs: []
                          coverage:
                            observed_days: 0
                            expected_days: 365
                            scope_note: >-
                              Synthetic example; observed sources do not
                              establish all external accounts.
                          series: []
                        - key: gross_margin
                          label: Gross margin
                          status: unavailable
                          value: null
                          unit: ratio
                          window:
                            start: '2025-11-01T00:00:00Z'
                            end: '2026-11-01T00:00:00Z'
                          calculation_version: amlok-gross_margin-1
                          missing_reason: >-
                            Required, comparable source inputs are not included
                            in this synthetic example.
                          evidence_ids: []
                          analysis_basis: historical
                          assumptions: []
                          definition_version: 2026-11-06.1
                          currency: null
                          as_of: '2026-11-06T12:00:00Z'
                          basis: derived
                          reason_code: missing_source
                          inputs: []
                          coverage:
                            observed_days: 0
                            expected_days: 365
                            scope_note: >-
                              Synthetic example; observed sources do not
                              establish all external accounts.
                          series: []
                        - key: ebitda
                          label: EBITDA
                          status: unavailable
                          value: null
                          unit: currency
                          window:
                            start: '2025-11-01T00:00:00Z'
                            end: '2026-11-01T00:00:00Z'
                          calculation_version: amlok-ebitda-1
                          missing_reason: >-
                            Required, comparable source inputs are not included
                            in this synthetic example.
                          evidence_ids: []
                          analysis_basis: historical
                          assumptions: []
                          definition_version: 2026-11-06.1
                          currency: CAD
                          as_of: '2026-11-06T12:00:00Z'
                          basis: derived
                          reason_code: missing_source
                          inputs: []
                          coverage:
                            observed_days: 0
                            expected_days: 365
                            scope_note: >-
                              Synthetic example; observed sources do not
                              establish all external accounts.
                          series: []
                        - key: ebitda_margin
                          label: EBITDA margin
                          status: unavailable
                          value: null
                          unit: ratio
                          window:
                            start: '2025-11-01T00:00:00Z'
                            end: '2026-11-01T00:00:00Z'
                          calculation_version: amlok-ebitda_margin-1
                          missing_reason: >-
                            Required, comparable source inputs are not included
                            in this synthetic example.
                          evidence_ids: []
                          analysis_basis: historical
                          assumptions: []
                          definition_version: 2026-11-06.1
                          currency: null
                          as_of: '2026-11-06T12:00:00Z'
                          basis: derived
                          reason_code: missing_source
                          inputs: []
                          coverage:
                            observed_days: 0
                            expected_days: 365
                            scope_note: >-
                              Synthetic example; observed sources do not
                              establish all external accounts.
                          series: []
                        - key: operating_profit
                          label: Operating profit
                          status: unavailable
                          value: null
                          unit: currency
                          window:
                            start: '2025-11-01T00:00:00Z'
                            end: '2026-11-01T00:00:00Z'
                          calculation_version: amlok-operating_profit-1
                          missing_reason: >-
                            Required, comparable source inputs are not included
                            in this synthetic example.
                          evidence_ids: []
                          analysis_basis: historical
                          assumptions: []
                          definition_version: 2026-11-06.1
                          currency: CAD
                          as_of: '2026-11-06T12:00:00Z'
                          basis: derived
                          reason_code: missing_source
                          inputs: []
                          coverage:
                            observed_days: 0
                            expected_days: 365
                            scope_note: >-
                              Synthetic example; observed sources do not
                              establish all external accounts.
                          series: []
                        - key: operating_margin
                          label: Operating margin
                          status: unavailable
                          value: null
                          unit: ratio
                          window:
                            start: '2025-11-01T00:00:00Z'
                            end: '2026-11-01T00:00:00Z'
                          calculation_version: amlok-operating_margin-1
                          missing_reason: >-
                            Required, comparable source inputs are not included
                            in this synthetic example.
                          evidence_ids: []
                          analysis_basis: historical
                          assumptions: []
                          definition_version: 2026-11-06.1
                          currency: null
                          as_of: '2026-11-06T12:00:00Z'
                          basis: derived
                          reason_code: missing_source
                          inputs: []
                          coverage:
                            observed_days: 0
                            expected_days: 365
                            scope_note: >-
                              Synthetic example; observed sources do not
                              establish all external accounts.
                          series: []
                        - key: net_profit
                          label: Net profit
                          status: unavailable
                          value: null
                          unit: currency
                          window:
                            start: '2025-11-01T00:00:00Z'
                            end: '2026-11-01T00:00:00Z'
                          calculation_version: amlok-net_profit-1
                          missing_reason: >-
                            Required, comparable source inputs are not included
                            in this synthetic example.
                          evidence_ids: []
                          analysis_basis: historical
                          assumptions: []
                          definition_version: 2026-11-06.1
                          currency: CAD
                          as_of: '2026-11-06T12:00:00Z'
                          basis: derived
                          reason_code: missing_source
                          inputs: []
                          coverage:
                            observed_days: 0
                            expected_days: 365
                            scope_note: >-
                              Synthetic example; observed sources do not
                              establish all external accounts.
                          series: []
                        - key: net_margin
                          label: Net margin
                          status: unavailable
                          value: null
                          unit: ratio
                          window:
                            start: '2025-11-01T00:00:00Z'
                            end: '2026-11-01T00:00:00Z'
                          calculation_version: amlok-net_margin-1
                          missing_reason: >-
                            Required, comparable source inputs are not included
                            in this synthetic example.
                          evidence_ids: []
                          analysis_basis: historical
                          assumptions: []
                          definition_version: 2026-11-06.1
                          currency: null
                          as_of: '2026-11-06T12:00:00Z'
                          basis: derived
                          reason_code: missing_source
                          inputs: []
                          coverage:
                            observed_days: 0
                            expected_days: 365
                            scope_note: >-
                              Synthetic example; observed sources do not
                              establish all external accounts.
                          series: []
                        - key: free_cash_flow
                          label: Free cash flow
                          status: unavailable
                          value: null
                          unit: currency
                          window:
                            start: '2025-11-01T00:00:00Z'
                            end: '2026-11-01T00:00:00Z'
                          calculation_version: amlok-free_cash_flow-1
                          missing_reason: >-
                            Required, comparable source inputs are not included
                            in this synthetic example.
                          evidence_ids: []
                          analysis_basis: historical
                          assumptions: []
                          definition_version: 2026-11-06.1
                          currency: CAD
                          as_of: '2026-11-06T12:00:00Z'
                          basis: derived
                          reason_code: missing_source
                          inputs: []
                          coverage:
                            observed_days: 0
                            expected_days: 365
                            scope_note: >-
                              Synthetic example; observed sources do not
                              establish all external accounts.
                          series: []
                        - key: return_on_assets
                          label: Return on assets
                          status: unavailable
                          value: null
                          unit: ratio
                          window:
                            start: '2025-11-01T00:00:00Z'
                            end: '2026-11-01T00:00:00Z'
                          calculation_version: amlok-return_on_assets-1
                          missing_reason: >-
                            Required, comparable source inputs are not included
                            in this synthetic example.
                          evidence_ids: []
                          analysis_basis: historical
                          assumptions: []
                          definition_version: 2026-11-06.1
                          currency: null
                          as_of: '2026-11-06T12:00:00Z'
                          basis: derived
                          reason_code: missing_source
                          inputs: []
                          coverage:
                            observed_days: 0
                            expected_days: 365
                            scope_note: >-
                              Synthetic example; observed sources do not
                              establish all external accounts.
                          series: []
                      evidence_ids: []
                    - key: working_capital
                      status: unavailable
                      summary: See individual metric availability and reasons.
                      metrics:
                        - key: net_working_capital
                          label: Net working capital
                          status: unavailable
                          value: null
                          unit: currency
                          window:
                            start: '2025-11-01T00:00:00Z'
                            end: '2026-11-01T00:00:00Z'
                          calculation_version: amlok-net_working_capital-1
                          missing_reason: >-
                            Required, comparable source inputs are not included
                            in this synthetic example.
                          evidence_ids: []
                          analysis_basis: historical
                          assumptions: []
                          definition_version: 2026-11-06.1
                          currency: CAD
                          as_of: '2026-11-06T12:00:00Z'
                          basis: derived
                          reason_code: missing_source
                          inputs: []
                          coverage:
                            observed_days: 0
                            expected_days: 365
                            scope_note: >-
                              Synthetic example; observed sources do not
                              establish all external accounts.
                          series: []
                        - key: receivables_days
                          label: Receivable days
                          status: unavailable
                          value: null
                          unit: days
                          window:
                            start: '2025-11-01T00:00:00Z'
                            end: '2026-11-01T00:00:00Z'
                          calculation_version: amlok-receivables_days-1
                          missing_reason: >-
                            Required, comparable source inputs are not included
                            in this synthetic example.
                          evidence_ids: []
                          analysis_basis: historical
                          assumptions: []
                          definition_version: 2026-11-06.1
                          currency: null
                          as_of: '2026-11-06T12:00:00Z'
                          basis: derived
                          reason_code: missing_source
                          inputs: []
                          coverage:
                            observed_days: 0
                            expected_days: 365
                            scope_note: >-
                              Synthetic example; observed sources do not
                              establish all external accounts.
                          series: []
                        - key: payables_days
                          label: Payable days
                          status: unavailable
                          value: null
                          unit: days
                          window:
                            start: '2025-11-01T00:00:00Z'
                            end: '2026-11-01T00:00:00Z'
                          calculation_version: amlok-payables_days-1
                          missing_reason: >-
                            Required, comparable source inputs are not included
                            in this synthetic example.
                          evidence_ids: []
                          analysis_basis: historical
                          assumptions: []
                          definition_version: 2026-11-06.1
                          currency: null
                          as_of: '2026-11-06T12:00:00Z'
                          basis: derived
                          reason_code: missing_source
                          inputs: []
                          coverage:
                            observed_days: 0
                            expected_days: 365
                            scope_note: >-
                              Synthetic example; observed sources do not
                              establish all external accounts.
                          series: []
                        - key: inventory_days
                          label: Inventory days
                          status: unavailable
                          value: null
                          unit: days
                          window:
                            start: '2025-11-01T00:00:00Z'
                            end: '2026-11-01T00:00:00Z'
                          calculation_version: amlok-inventory_days-1
                          missing_reason: >-
                            Required, comparable source inputs are not included
                            in this synthetic example.
                          evidence_ids: []
                          analysis_basis: historical
                          assumptions: []
                          definition_version: 2026-11-06.1
                          currency: null
                          as_of: '2026-11-06T12:00:00Z'
                          basis: derived
                          reason_code: missing_source
                          inputs: []
                          coverage:
                            observed_days: 0
                            expected_days: 365
                            scope_note: >-
                              Synthetic example; observed sources do not
                              establish all external accounts.
                          series: []
                        - key: cash_conversion_cycle
                          label: Cash conversion cycle
                          status: unavailable
                          value: null
                          unit: days
                          window:
                            start: '2025-11-01T00:00:00Z'
                            end: '2026-11-01T00:00:00Z'
                          calculation_version: amlok-cash_conversion_cycle-1
                          missing_reason: >-
                            Required, comparable source inputs are not included
                            in this synthetic example.
                          evidence_ids: []
                          analysis_basis: historical
                          assumptions: []
                          definition_version: 2026-11-06.1
                          currency: null
                          as_of: '2026-11-06T12:00:00Z'
                          basis: derived
                          reason_code: missing_source
                          inputs: []
                          coverage:
                            observed_days: 0
                            expected_days: 365
                            scope_note: >-
                              Synthetic example; observed sources do not
                              establish all external accounts.
                          series: []
                        - key: ar_overdue_share
                          label: Overdue receivables share
                          status: unavailable
                          value: null
                          unit: ratio
                          window:
                            start: '2025-11-01T00:00:00Z'
                            end: '2026-11-01T00:00:00Z'
                          calculation_version: amlok-ar_overdue_share-1
                          missing_reason: >-
                            Required, comparable source inputs are not included
                            in this synthetic example.
                          evidence_ids: []
                          analysis_basis: historical
                          assumptions: []
                          definition_version: 2026-11-06.1
                          currency: null
                          as_of: '2026-11-06T12:00:00Z'
                          basis: derived
                          reason_code: missing_source
                          inputs: []
                          coverage:
                            observed_days: 0
                            expected_days: 365
                            scope_note: >-
                              Synthetic example; observed sources do not
                              establish all external accounts.
                          series: []
                        - key: ar_90_plus_share
                          label: Receivables over 90 days past due
                          status: unavailable
                          value: null
                          unit: ratio
                          window:
                            start: '2025-11-01T00:00:00Z'
                            end: '2026-11-01T00:00:00Z'
                          calculation_version: amlok-ar_90_plus_share-1
                          missing_reason: >-
                            Required, comparable source inputs are not included
                            in this synthetic example.
                          evidence_ids: []
                          analysis_basis: historical
                          assumptions: []
                          definition_version: 2026-11-06.1
                          currency: null
                          as_of: '2026-11-06T12:00:00Z'
                          basis: derived
                          reason_code: missing_source
                          inputs: []
                          coverage:
                            observed_days: 0
                            expected_days: 365
                            scope_note: >-
                              Synthetic example; observed sources do not
                              establish all external accounts.
                          series: []
                        - key: ap_overdue_share
                          label: Overdue payables share
                          status: unavailable
                          value: null
                          unit: ratio
                          window:
                            start: '2025-11-01T00:00:00Z'
                            end: '2026-11-01T00:00:00Z'
                          calculation_version: amlok-ap_overdue_share-1
                          missing_reason: >-
                            Required, comparable source inputs are not included
                            in this synthetic example.
                          evidence_ids: []
                          analysis_basis: historical
                          assumptions: []
                          definition_version: 2026-11-06.1
                          currency: null
                          as_of: '2026-11-06T12:00:00Z'
                          basis: derived
                          reason_code: missing_source
                          inputs: []
                          coverage:
                            observed_days: 0
                            expected_days: 365
                            scope_note: >-
                              Synthetic example; observed sources do not
                              establish all external accounts.
                          series: []
                        - key: inventory_turnover
                          label: Inventory turnover
                          status: unavailable
                          value: null
                          unit: ratio
                          window:
                            start: '2025-11-01T00:00:00Z'
                            end: '2026-11-01T00:00:00Z'
                          calculation_version: amlok-inventory_turnover-1
                          missing_reason: >-
                            Required, comparable source inputs are not included
                            in this synthetic example.
                          evidence_ids: []
                          analysis_basis: historical
                          assumptions: []
                          definition_version: 2026-11-06.1
                          currency: null
                          as_of: '2026-11-06T12:00:00Z'
                          basis: derived
                          reason_code: missing_source
                          inputs: []
                          coverage:
                            observed_days: 0
                            expected_days: 365
                            scope_note: >-
                              Synthetic example; observed sources do not
                              establish all external accounts.
                          series: []
                      evidence_ids: []
                    - key: leverage
                      status: unavailable
                      summary: See individual metric availability and reasons.
                      metrics:
                        - key: total_debt
                          label: Total interest-bearing debt
                          status: unavailable
                          value: null
                          unit: currency
                          window:
                            start: '2025-11-01T00:00:00Z'
                            end: '2026-11-01T00:00:00Z'
                          calculation_version: amlok-total_debt-1
                          missing_reason: >-
                            Required, comparable source inputs are not included
                            in this synthetic example.
                          evidence_ids: []
                          analysis_basis: historical
                          assumptions: []
                          definition_version: 2026-11-06.1
                          currency: CAD
                          as_of: '2026-11-06T12:00:00Z'
                          basis: derived
                          reason_code: missing_source
                          inputs: []
                          coverage:
                            observed_days: 0
                            expected_days: 365
                            scope_note: >-
                              Synthetic example; observed sources do not
                              establish all external accounts.
                          series: []
                        - key: net_debt
                          label: Net debt
                          status: unavailable
                          value: null
                          unit: currency
                          window:
                            start: '2025-11-01T00:00:00Z'
                            end: '2026-11-01T00:00:00Z'
                          calculation_version: amlok-net_debt-1
                          missing_reason: >-
                            Required, comparable source inputs are not included
                            in this synthetic example.
                          evidence_ids: []
                          analysis_basis: historical
                          assumptions: []
                          definition_version: 2026-11-06.1
                          currency: CAD
                          as_of: '2026-11-06T12:00:00Z'
                          basis: derived
                          reason_code: missing_source
                          inputs: []
                          coverage:
                            observed_days: 0
                            expected_days: 365
                            scope_note: >-
                              Synthetic example; observed sources do not
                              establish all external accounts.
                          series: []
                        - key: debt_to_assets
                          label: Debt to assets
                          status: unavailable
                          value: null
                          unit: ratio
                          window:
                            start: '2025-11-01T00:00:00Z'
                            end: '2026-11-01T00:00:00Z'
                          calculation_version: amlok-debt_to_assets-1
                          missing_reason: >-
                            Required, comparable source inputs are not included
                            in this synthetic example.
                          evidence_ids: []
                          analysis_basis: historical
                          assumptions: []
                          definition_version: 2026-11-06.1
                          currency: null
                          as_of: '2026-11-06T12:00:00Z'
                          basis: derived
                          reason_code: missing_source
                          inputs: []
                          coverage:
                            observed_days: 0
                            expected_days: 365
                            scope_note: >-
                              Synthetic example; observed sources do not
                              establish all external accounts.
                          series: []
                        - key: debt_to_equity
                          label: Debt to equity
                          status: unavailable
                          value: null
                          unit: ratio
                          window:
                            start: '2025-11-01T00:00:00Z'
                            end: '2026-11-01T00:00:00Z'
                          calculation_version: amlok-debt_to_equity-1
                          missing_reason: >-
                            Required, comparable source inputs are not included
                            in this synthetic example.
                          evidence_ids: []
                          analysis_basis: historical
                          assumptions: []
                          definition_version: 2026-11-06.1
                          currency: null
                          as_of: '2026-11-06T12:00:00Z'
                          basis: derived
                          reason_code: missing_source
                          inputs: []
                          coverage:
                            observed_days: 0
                            expected_days: 365
                            scope_note: >-
                              Synthetic example; observed sources do not
                              establish all external accounts.
                          series: []
                        - key: net_debt_to_ebitda
                          label: Net debt to EBITDA
                          status: unavailable
                          value: null
                          unit: ratio
                          window:
                            start: '2025-11-01T00:00:00Z'
                            end: '2026-11-01T00:00:00Z'
                          calculation_version: amlok-net_debt_to_ebitda-1
                          missing_reason: >-
                            Required, comparable source inputs are not included
                            in this synthetic example.
                          evidence_ids: []
                          analysis_basis: historical
                          assumptions: []
                          definition_version: 2026-11-06.1
                          currency: null
                          as_of: '2026-11-06T12:00:00Z'
                          basis: derived
                          reason_code: missing_source
                          inputs: []
                          coverage:
                            observed_days: 0
                            expected_days: 365
                            scope_note: >-
                              Synthetic example; observed sources do not
                              establish all external accounts.
                          series: []
                        - key: credit_utilization
                          label: Revolving credit utilization
                          status: unavailable
                          value: null
                          unit: ratio
                          window:
                            start: '2025-11-01T00:00:00Z'
                            end: '2026-11-01T00:00:00Z'
                          calculation_version: amlok-credit_utilization-1
                          missing_reason: >-
                            Required, comparable source inputs are not included
                            in this synthetic example.
                          evidence_ids: []
                          analysis_basis: historical
                          assumptions: []
                          definition_version: 2026-11-06.1
                          currency: null
                          as_of: '2026-11-06T12:00:00Z'
                          basis: derived
                          reason_code: missing_source
                          inputs: []
                          coverage:
                            observed_days: 0
                            expected_days: 365
                            scope_note: >-
                              Synthetic example; observed sources do not
                              establish all external accounts.
                          series: []
                        - key: short_term_debt_share
                          label: Debt due within one year
                          status: unavailable
                          value: null
                          unit: ratio
                          window:
                            start: '2025-11-01T00:00:00Z'
                            end: '2026-11-01T00:00:00Z'
                          calculation_version: amlok-short_term_debt_share-1
                          missing_reason: >-
                            Required, comparable source inputs are not included
                            in this synthetic example.
                          evidence_ids: []
                          analysis_basis: historical
                          assumptions: []
                          definition_version: 2026-11-06.1
                          currency: null
                          as_of: '2026-11-06T12:00:00Z'
                          basis: derived
                          reason_code: missing_source
                          inputs: []
                          coverage:
                            observed_days: 0
                            expected_days: 365
                            scope_note: >-
                              Synthetic example; observed sources do not
                              establish all external accounts.
                          series: []
                        - key: debt_maturing_90d
                          label: Debt maturing within 90 days
                          status: unavailable
                          value: null
                          unit: currency
                          window:
                            start: '2025-11-01T00:00:00Z'
                            end: '2026-11-01T00:00:00Z'
                          calculation_version: amlok-debt_maturing_90d-1
                          missing_reason: >-
                            Required, comparable source inputs are not included
                            in this synthetic example.
                          evidence_ids: []
                          analysis_basis: historical
                          assumptions: []
                          definition_version: 2026-11-06.1
                          currency: CAD
                          as_of: '2026-11-06T12:00:00Z'
                          basis: derived
                          reason_code: missing_source
                          inputs: []
                          coverage:
                            observed_days: 0
                            expected_days: 365
                            scope_note: >-
                              Synthetic example; observed sources do not
                              establish all external accounts.
                          series: []
                      evidence_ids: []
                    - key: repayment_capacity
                      status: unavailable
                      summary: See individual metric availability and reasons.
                      metrics:
                        - key: dscr
                          label: Cash-flow debt-service coverage
                          status: unavailable
                          value: null
                          unit: ratio
                          window:
                            start: '2025-11-01T00:00:00Z'
                            end: '2026-11-01T00:00:00Z'
                          calculation_version: amlok-dscr-1
                          missing_reason: >-
                            Required, comparable source inputs are not included
                            in this synthetic example.
                          evidence_ids: []
                          analysis_basis: historical
                          assumptions: []
                          definition_version: 2026-11-06.1
                          currency: null
                          as_of: '2026-11-06T12:00:00Z'
                          basis: derived
                          reason_code: missing_source
                          inputs: []
                          coverage:
                            observed_days: 0
                            expected_days: 365
                            scope_note: >-
                              Synthetic example; observed sources do not
                              establish all external accounts.
                          series: []
                        - key: fixed_charge_coverage
                          label: Fixed-charge coverage
                          status: unavailable
                          value: null
                          unit: ratio
                          window:
                            start: '2025-11-01T00:00:00Z'
                            end: '2026-11-01T00:00:00Z'
                          calculation_version: amlok-fixed_charge_coverage-1
                          missing_reason: >-
                            Required, comparable source inputs are not included
                            in this synthetic example.
                          evidence_ids: []
                          analysis_basis: historical
                          assumptions: []
                          definition_version: 2026-11-06.1
                          currency: null
                          as_of: '2026-11-06T12:00:00Z'
                          basis: derived
                          reason_code: missing_source
                          inputs: []
                          coverage:
                            observed_days: 0
                            expected_days: 365
                            scope_note: >-
                              Synthetic example; observed sources do not
                              establish all external accounts.
                          series: []
                        - key: interest_coverage
                          label: Interest coverage
                          status: unavailable
                          value: null
                          unit: ratio
                          window:
                            start: '2025-11-01T00:00:00Z'
                            end: '2026-11-01T00:00:00Z'
                          calculation_version: amlok-interest_coverage-1
                          missing_reason: >-
                            Required, comparable source inputs are not included
                            in this synthetic example.
                          evidence_ids: []
                          analysis_basis: historical
                          assumptions: []
                          definition_version: 2026-11-06.1
                          currency: null
                          as_of: '2026-11-06T12:00:00Z'
                          basis: derived
                          reason_code: missing_source
                          inputs: []
                          coverage:
                            observed_days: 0
                            expected_days: 365
                            scope_note: >-
                              Synthetic example; observed sources do not
                              establish all external accounts.
                          series: []
                        - key: existing_debt_service
                          label: Existing debt service
                          status: unavailable
                          value: null
                          unit: currency
                          window:
                            start: '2025-11-01T00:00:00Z'
                            end: '2026-11-01T00:00:00Z'
                          calculation_version: amlok-existing_debt_service-1
                          missing_reason: >-
                            Required, comparable source inputs are not included
                            in this synthetic example.
                          evidence_ids: []
                          analysis_basis: historical
                          assumptions: []
                          definition_version: 2026-11-06.1
                          currency: CAD
                          as_of: '2026-11-06T12:00:00Z'
                          basis: derived
                          reason_code: missing_source
                          inputs: []
                          coverage:
                            observed_days: 0
                            expected_days: 365
                            scope_note: >-
                              Synthetic example; observed sources do not
                              establish all external accounts.
                          series: []
                        - key: proposed_debt_service
                          label: Proposed debt service
                          status: unavailable
                          value: null
                          unit: currency
                          window:
                            start: '2025-11-01T00:00:00Z'
                            end: '2026-11-01T00:00:00Z'
                          calculation_version: amlok-proposed_debt_service-1
                          missing_reason: >-
                            Required, comparable source inputs are not included
                            in this synthetic example.
                          evidence_ids: []
                          analysis_basis: historical
                          assumptions: []
                          definition_version: 2026-11-06.1
                          currency: CAD
                          as_of: '2026-11-06T12:00:00Z'
                          basis: derived
                          reason_code: missing_source
                          inputs: []
                          coverage:
                            observed_days: 0
                            expected_days: 365
                            scope_note: >-
                              Synthetic example; observed sources do not
                              establish all external accounts.
                          series: []
                        - key: total_debt_service
                          label: Total debt service
                          status: unavailable
                          value: null
                          unit: currency
                          window:
                            start: '2025-11-01T00:00:00Z'
                            end: '2026-11-01T00:00:00Z'
                          calculation_version: amlok-total_debt_service-1
                          missing_reason: >-
                            Required, comparable source inputs are not included
                            in this synthetic example.
                          evidence_ids: []
                          analysis_basis: historical
                          assumptions: []
                          definition_version: 2026-11-06.1
                          currency: CAD
                          as_of: '2026-11-06T12:00:00Z'
                          basis: derived
                          reason_code: missing_source
                          inputs: []
                          coverage:
                            observed_days: 0
                            expected_days: 365
                            scope_note: >-
                              Synthetic example; observed sources do not
                              establish all external accounts.
                          series: []
                        - key: residual_cash_after_debt
                          label: Cash after debt service
                          status: unavailable
                          value: null
                          unit: currency
                          window:
                            start: '2025-11-01T00:00:00Z'
                            end: '2026-11-01T00:00:00Z'
                          calculation_version: amlok-residual_cash_after_debt-1
                          missing_reason: >-
                            Required, comparable source inputs are not included
                            in this synthetic example.
                          evidence_ids: []
                          analysis_basis: historical
                          assumptions: []
                          definition_version: 2026-11-06.1
                          currency: CAD
                          as_of: '2026-11-06T12:00:00Z'
                          basis: derived
                          reason_code: missing_source
                          inputs: []
                          coverage:
                            observed_days: 0
                            expected_days: 365
                            scope_note: >-
                              Synthetic example; observed sources do not
                              establish all external accounts.
                          series: []
                        - key: debt_service_headroom
                          label: Debt-service headroom
                          status: unavailable
                          value: null
                          unit: currency
                          window:
                            start: '2025-11-01T00:00:00Z'
                            end: '2026-11-01T00:00:00Z'
                          calculation_version: amlok-debt_service_headroom-1
                          missing_reason: >-
                            Required, comparable source inputs are not included
                            in this synthetic example.
                          evidence_ids: []
                          analysis_basis: historical
                          assumptions: []
                          definition_version: 2026-11-06.1
                          currency: CAD
                          as_of: '2026-11-06T12:00:00Z'
                          basis: derived
                          reason_code: missing_source
                          inputs: []
                          coverage:
                            observed_days: 0
                            expected_days: 365
                            scope_note: >-
                              Synthetic example; observed sources do not
                              establish all external accounts.
                          series: []
                        - key: debt_payment_to_receipts
                          label: Debt payments to operating receipts
                          status: unavailable
                          value: null
                          unit: ratio
                          window:
                            start: '2025-11-01T00:00:00Z'
                            end: '2026-11-01T00:00:00Z'
                          calculation_version: amlok-debt_payment_to_receipts-1
                          missing_reason: >-
                            Required, comparable source inputs are not included
                            in this synthetic example.
                          evidence_ids: []
                          analysis_basis: historical
                          assumptions: []
                          definition_version: 2026-11-06.1
                          currency: null
                          as_of: '2026-11-06T12:00:00Z'
                          basis: derived
                          reason_code: missing_source
                          inputs: []
                          coverage:
                            observed_days: 0
                            expected_days: 365
                            scope_note: >-
                              Synthetic example; observed sources do not
                              establish all external accounts.
                          series: []
                      evidence_ids: []
                    - key: concentration
                      status: unavailable
                      summary: See individual metric availability and reasons.
                      metrics:
                        - key: top_customer_share
                          label: Largest customer share
                          status: unavailable
                          value: null
                          unit: ratio
                          window:
                            start: '2025-11-01T00:00:00Z'
                            end: '2026-11-01T00:00:00Z'
                          calculation_version: amlok-top_customer_share-1
                          missing_reason: >-
                            Required, comparable source inputs are not included
                            in this synthetic example.
                          evidence_ids: []
                          analysis_basis: historical
                          assumptions: []
                          definition_version: 2026-11-06.1
                          currency: null
                          as_of: '2026-11-06T12:00:00Z'
                          basis: derived
                          reason_code: missing_source
                          inputs: []
                          coverage:
                            observed_days: 0
                            expected_days: 365
                            scope_note: >-
                              Synthetic example; observed sources do not
                              establish all external accounts.
                          series: []
                        - key: top_five_customer_share
                          label: Top five customer share
                          status: unavailable
                          value: null
                          unit: ratio
                          window:
                            start: '2025-11-01T00:00:00Z'
                            end: '2026-11-01T00:00:00Z'
                          calculation_version: amlok-top_five_customer_share-1
                          missing_reason: >-
                            Required, comparable source inputs are not included
                            in this synthetic example.
                          evidence_ids: []
                          analysis_basis: historical
                          assumptions: []
                          definition_version: 2026-11-06.1
                          currency: null
                          as_of: '2026-11-06T12:00:00Z'
                          basis: derived
                          reason_code: missing_source
                          inputs: []
                          coverage:
                            observed_days: 0
                            expected_days: 365
                            scope_note: >-
                              Synthetic example; observed sources do not
                              establish all external accounts.
                          series: []
                        - key: top_supplier_share
                          label: Largest supplier share
                          status: unavailable
                          value: null
                          unit: ratio
                          window:
                            start: '2025-11-01T00:00:00Z'
                            end: '2026-11-01T00:00:00Z'
                          calculation_version: amlok-top_supplier_share-1
                          missing_reason: >-
                            Required, comparable source inputs are not included
                            in this synthetic example.
                          evidence_ids: []
                          analysis_basis: historical
                          assumptions: []
                          definition_version: 2026-11-06.1
                          currency: null
                          as_of: '2026-11-06T12:00:00Z'
                          basis: derived
                          reason_code: missing_source
                          inputs: []
                          coverage:
                            observed_days: 0
                            expected_days: 365
                            scope_note: >-
                              Synthetic example; observed sources do not
                              establish all external accounts.
                          series: []
                        - key: top_channel_share
                          label: Largest sales channel share
                          status: unavailable
                          value: null
                          unit: ratio
                          window:
                            start: '2025-11-01T00:00:00Z'
                            end: '2026-11-01T00:00:00Z'
                          calculation_version: amlok-top_channel_share-1
                          missing_reason: >-
                            Required, comparable source inputs are not included
                            in this synthetic example.
                          evidence_ids: []
                          analysis_basis: historical
                          assumptions: []
                          definition_version: 2026-11-06.1
                          currency: null
                          as_of: '2026-11-06T12:00:00Z'
                          basis: derived
                          reason_code: missing_source
                          inputs: []
                          coverage:
                            observed_days: 0
                            expected_days: 365
                            scope_note: >-
                              Synthetic example; observed sources do not
                              establish all external accounts.
                          series: []
                        - key: customer_hhi
                          label: Customer concentration index
                          status: unavailable
                          value: null
                          unit: ratio
                          window:
                            start: '2025-11-01T00:00:00Z'
                            end: '2026-11-01T00:00:00Z'
                          calculation_version: amlok-customer_hhi-1
                          missing_reason: >-
                            Required, comparable source inputs are not included
                            in this synthetic example.
                          evidence_ids: []
                          analysis_basis: historical
                          assumptions: []
                          definition_version: 2026-11-06.1
                          currency: null
                          as_of: '2026-11-06T12:00:00Z'
                          basis: derived
                          reason_code: missing_source
                          inputs: []
                          coverage:
                            observed_days: 0
                            expected_days: 365
                            scope_note: >-
                              Synthetic example; observed sources do not
                              establish all external accounts.
                          series: []
                        - key: income_source_hhi
                          label: Income-source concentration index
                          status: not_applicable
                          value: null
                          unit: ratio
                          window:
                            start: '2025-11-01T00:00:00Z'
                            end: '2026-11-01T00:00:00Z'
                          calculation_version: amlok-income_source_hhi-1
                          missing_reason: >-
                            This metric does not apply to this borrower or an
                            initial Insights assessment.
                          evidence_ids: []
                          analysis_basis: historical
                          assumptions: []
                          definition_version: 2026-11-06.1
                          currency: null
                          as_of: '2026-11-06T12:00:00Z'
                          basis: derived
                          reason_code: not_applicable
                          inputs: []
                          coverage:
                            observed_days: 0
                            expected_days: 365
                            scope_note: >-
                              Synthetic example; observed sources do not
                              establish all external accounts.
                          series: []
                      evidence_ids: []
                    - key: collateral
                      status: unavailable
                      summary: See individual metric availability and reasons.
                      metrics:
                        - key: collateral_ltv
                          label: Loan to collateral value
                          status: unavailable
                          value: null
                          unit: ratio
                          window:
                            start: '2025-11-01T00:00:00Z'
                            end: '2026-11-01T00:00:00Z'
                          calculation_version: amlok-collateral_ltv-1
                          missing_reason: >-
                            Required, comparable source inputs are not included
                            in this synthetic example.
                          evidence_ids: []
                          analysis_basis: historical
                          assumptions: []
                          definition_version: 2026-11-06.1
                          currency: null
                          as_of: '2026-11-06T12:00:00Z'
                          basis: derived
                          reason_code: missing_source
                          inputs: []
                          coverage:
                            observed_days: 0
                            expected_days: 365
                            scope_note: >-
                              Synthetic example; observed sources do not
                              establish all external accounts.
                          series: []
                        - key: combined_ltv
                          label: Combined loan to value
                          status: unavailable
                          value: null
                          unit: ratio
                          window:
                            start: '2025-11-01T00:00:00Z'
                            end: '2026-11-01T00:00:00Z'
                          calculation_version: amlok-combined_ltv-1
                          missing_reason: >-
                            Required, comparable source inputs are not included
                            in this synthetic example.
                          evidence_ids: []
                          analysis_basis: historical
                          assumptions: []
                          definition_version: 2026-11-06.1
                          currency: null
                          as_of: '2026-11-06T12:00:00Z'
                          basis: derived
                          reason_code: missing_source
                          inputs: []
                          coverage:
                            observed_days: 0
                            expected_days: 365
                            scope_note: >-
                              Synthetic example; observed sources do not
                              establish all external accounts.
                          series: []
                        - key: collateral_coverage
                          label: Collateral coverage
                          status: unavailable
                          value: null
                          unit: ratio
                          window:
                            start: '2025-11-01T00:00:00Z'
                            end: '2026-11-01T00:00:00Z'
                          calculation_version: amlok-collateral_coverage-1
                          missing_reason: >-
                            Required, comparable source inputs are not included
                            in this synthetic example.
                          evidence_ids: []
                          analysis_basis: historical
                          assumptions: []
                          definition_version: 2026-11-06.1
                          currency: null
                          as_of: '2026-11-06T12:00:00Z'
                          basis: derived
                          reason_code: missing_source
                          inputs: []
                          coverage:
                            observed_days: 0
                            expected_days: 365
                            scope_note: >-
                              Synthetic example; observed sources do not
                              establish all external accounts.
                          series: []
                        - key: eligible_receivables
                          label: Eligible borrowing-base receivables
                          status: unavailable
                          value: null
                          unit: currency
                          window:
                            start: '2025-11-01T00:00:00Z'
                            end: '2026-11-01T00:00:00Z'
                          calculation_version: amlok-eligible_receivables-1
                          missing_reason: >-
                            Required, comparable source inputs are not included
                            in this synthetic example.
                          evidence_ids: []
                          analysis_basis: historical
                          assumptions: []
                          definition_version: 2026-11-06.1
                          currency: CAD
                          as_of: '2026-11-06T12:00:00Z'
                          basis: derived
                          reason_code: missing_source
                          inputs: []
                          coverage:
                            observed_days: 0
                            expected_days: 365
                            scope_note: >-
                              Synthetic example; observed sources do not
                              establish all external accounts.
                          series: []
                        - key: collateral_haircut_ratio
                          label: Collateral haircut
                          status: unavailable
                          value: null
                          unit: ratio
                          window:
                            start: '2025-11-01T00:00:00Z'
                            end: '2026-11-01T00:00:00Z'
                          calculation_version: amlok-collateral_haircut_ratio-1
                          missing_reason: >-
                            Required, comparable source inputs are not included
                            in this synthetic example.
                          evidence_ids: []
                          analysis_basis: historical
                          assumptions: []
                          definition_version: 2026-11-06.1
                          currency: null
                          as_of: '2026-11-06T12:00:00Z'
                          basis: derived
                          reason_code: missing_source
                          inputs: []
                          coverage:
                            observed_days: 0
                            expected_days: 365
                            scope_note: >-
                              Synthetic example; observed sources do not
                              establish all external accounts.
                          series: []
                      evidence_ids: []
                    - key: fraud_and_consistency
                      status: unavailable
                      summary: See individual metric availability and reasons.
                      metrics:
                        - key: reconciliation_break_share
                          label: Unreconciled value share
                          status: unavailable
                          value: null
                          unit: ratio
                          window:
                            start: '2025-11-01T00:00:00Z'
                            end: '2026-11-01T00:00:00Z'
                          calculation_version: amlok-reconciliation_break_share-1
                          missing_reason: >-
                            Required, comparable source inputs are not included
                            in this synthetic example.
                          evidence_ids: []
                          analysis_basis: historical
                          assumptions: []
                          definition_version: 2026-11-06.1
                          currency: null
                          as_of: '2026-11-06T12:00:00Z'
                          basis: derived
                          reason_code: missing_source
                          inputs: []
                          coverage:
                            observed_days: 0
                            expected_days: 365
                            scope_note: >-
                              Synthetic example; observed sources do not
                              establish all external accounts.
                          series: []
                        - key: duplicate_transaction_share
                          label: Duplicate transaction share
                          status: unavailable
                          value: null
                          unit: ratio
                          window:
                            start: '2025-11-01T00:00:00Z'
                            end: '2026-11-01T00:00:00Z'
                          calculation_version: amlok-duplicate_transaction_share-1
                          missing_reason: >-
                            Required, comparable source inputs are not included
                            in this synthetic example.
                          evidence_ids: []
                          analysis_basis: historical
                          assumptions: []
                          definition_version: 2026-11-06.1
                          currency: null
                          as_of: '2026-11-06T12:00:00Z'
                          basis: derived
                          reason_code: missing_source
                          inputs: []
                          coverage:
                            observed_days: 0
                            expected_days: 365
                            scope_note: >-
                              Synthetic example; observed sources do not
                              establish all external accounts.
                          series: []
                        - key: document_contradiction_count
                          label: Document contradictions
                          status: unavailable
                          value: null
                          unit: count
                          window:
                            start: '2025-11-01T00:00:00Z'
                            end: '2026-11-01T00:00:00Z'
                          calculation_version: amlok-document_contradiction_count-1
                          missing_reason: >-
                            Required, comparable source inputs are not included
                            in this synthetic example.
                          evidence_ids: []
                          analysis_basis: historical
                          assumptions: []
                          definition_version: 2026-11-06.1
                          currency: null
                          as_of: '2026-11-06T12:00:00Z'
                          basis: derived
                          reason_code: missing_source
                          inputs: []
                          coverage:
                            observed_days: 0
                            expected_days: 365
                            scope_note: >-
                              Synthetic example; observed sources do not
                              establish all external accounts.
                          series: []
                        - key: identity_mismatch_count
                          label: Unresolved identity mismatches
                          status: unavailable
                          value: null
                          unit: count
                          window:
                            start: '2025-11-01T00:00:00Z'
                            end: '2026-11-01T00:00:00Z'
                          calculation_version: amlok-identity_mismatch_count-1
                          missing_reason: >-
                            Required, comparable source inputs are not included
                            in this synthetic example.
                          evidence_ids: []
                          analysis_basis: historical
                          assumptions: []
                          definition_version: 2026-11-06.1
                          currency: null
                          as_of: '2026-11-06T12:00:00Z'
                          basis: derived
                          reason_code: missing_source
                          inputs: []
                          coverage:
                            observed_days: 0
                            expected_days: 365
                            scope_note: >-
                              Synthetic example; observed sources do not
                              establish all external accounts.
                          series: []
                        - key: declared_income_gap_ratio
                          label: Declared-to-verified income gap
                          status: unavailable
                          value: null
                          unit: ratio
                          window:
                            start: '2025-11-01T00:00:00Z'
                            end: '2026-11-01T00:00:00Z'
                          calculation_version: amlok-declared_income_gap_ratio-1
                          missing_reason: >-
                            Required, comparable source inputs are not included
                            in this synthetic example.
                          evidence_ids: []
                          analysis_basis: historical
                          assumptions: []
                          definition_version: 2026-11-06.1
                          currency: null
                          as_of: '2026-11-06T12:00:00Z'
                          basis: derived
                          reason_code: missing_source
                          inputs: []
                          coverage:
                            observed_days: 0
                            expected_days: 365
                            scope_note: >-
                              Synthetic example; observed sources do not
                              establish all external accounts.
                          series: []
                      evidence_ids: []
                    - key: income_and_affordability
                      status: not_applicable
                      summary: See individual metric availability and reasons.
                      metrics:
                        - key: verified_gross_monthly_income
                          label: Verified gross monthly income
                          status: not_applicable
                          value: null
                          unit: currency
                          window:
                            start: '2025-11-01T00:00:00Z'
                            end: '2026-11-01T00:00:00Z'
                          calculation_version: amlok-verified_gross_monthly_income-1
                          missing_reason: >-
                            This metric does not apply to this borrower or an
                            initial Insights assessment.
                          evidence_ids: []
                          analysis_basis: historical
                          assumptions: []
                          definition_version: 2026-11-06.1
                          currency: CAD
                          as_of: '2026-11-06T12:00:00Z'
                          basis: derived
                          reason_code: not_applicable
                          inputs: []
                          coverage:
                            observed_days: 0
                            expected_days: 365
                            scope_note: >-
                              Synthetic example; observed sources do not
                              establish all external accounts.
                          series: []
                        - key: verified_net_monthly_income
                          label: Verified net monthly income
                          status: not_applicable
                          value: null
                          unit: currency
                          window:
                            start: '2025-11-01T00:00:00Z'
                            end: '2026-11-01T00:00:00Z'
                          calculation_version: amlok-verified_net_monthly_income-1
                          missing_reason: >-
                            This metric does not apply to this borrower or an
                            initial Insights assessment.
                          evidence_ids: []
                          analysis_basis: historical
                          assumptions: []
                          definition_version: 2026-11-06.1
                          currency: CAD
                          as_of: '2026-11-06T12:00:00Z'
                          basis: derived
                          reason_code: not_applicable
                          inputs: []
                          coverage:
                            observed_days: 0
                            expected_days: 365
                            scope_note: >-
                              Synthetic example; observed sources do not
                              establish all external accounts.
                          series: []
                        - key: debt_to_income
                          label: Debt to income
                          status: not_applicable
                          value: null
                          unit: ratio
                          window:
                            start: '2025-11-01T00:00:00Z'
                            end: '2026-11-01T00:00:00Z'
                          calculation_version: amlok-debt_to_income-1
                          missing_reason: >-
                            This metric does not apply to this borrower or an
                            initial Insights assessment.
                          evidence_ids: []
                          analysis_basis: historical
                          assumptions: []
                          definition_version: 2026-11-06.1
                          currency: null
                          as_of: '2026-11-06T12:00:00Z'
                          basis: derived
                          reason_code: not_applicable
                          inputs: []
                          coverage:
                            observed_days: 0
                            expected_days: 365
                            scope_note: >-
                              Synthetic example; observed sources do not
                              establish all external accounts.
                          series: []
                        - key: housing_to_income
                          label: Housing cost to income
                          status: not_applicable
                          value: null
                          unit: ratio
                          window:
                            start: '2025-11-01T00:00:00Z'
                            end: '2026-11-01T00:00:00Z'
                          calculation_version: amlok-housing_to_income-1
                          missing_reason: >-
                            This metric does not apply to this borrower or an
                            initial Insights assessment.
                          evidence_ids: []
                          analysis_basis: historical
                          assumptions: []
                          definition_version: 2026-11-06.1
                          currency: null
                          as_of: '2026-11-06T12:00:00Z'
                          basis: derived
                          reason_code: not_applicable
                          inputs: []
                          coverage:
                            observed_days: 0
                            expected_days: 365
                            scope_note: >-
                              Synthetic example; observed sources do not
                              establish all external accounts.
                          series: []
                        - key: essential_monthly_spend
                          label: Essential monthly expenditure
                          status: not_applicable
                          value: null
                          unit: currency
                          window:
                            start: '2025-11-01T00:00:00Z'
                            end: '2026-11-01T00:00:00Z'
                          calculation_version: amlok-essential_monthly_spend-1
                          missing_reason: >-
                            This metric does not apply to this borrower or an
                            initial Insights assessment.
                          evidence_ids: []
                          analysis_basis: historical
                          assumptions: []
                          definition_version: 2026-11-06.1
                          currency: CAD
                          as_of: '2026-11-06T12:00:00Z'
                          basis: derived
                          reason_code: not_applicable
                          inputs: []
                          coverage:
                            observed_days: 0
                            expected_days: 365
                            scope_note: >-
                              Synthetic example; observed sources do not
                              establish all external accounts.
                          series: []
                        - key: residual_monthly_income
                          label: Residual monthly income
                          status: not_applicable
                          value: null
                          unit: currency
                          window:
                            start: '2025-11-01T00:00:00Z'
                            end: '2026-11-01T00:00:00Z'
                          calculation_version: amlok-residual_monthly_income-1
                          missing_reason: >-
                            This metric does not apply to this borrower or an
                            initial Insights assessment.
                          evidence_ids: []
                          analysis_basis: historical
                          assumptions: []
                          definition_version: 2026-11-06.1
                          currency: CAD
                          as_of: '2026-11-06T12:00:00Z'
                          basis: derived
                          reason_code: not_applicable
                          inputs: []
                          coverage:
                            observed_days: 0
                            expected_days: 365
                            scope_note: >-
                              Synthetic example; observed sources do not
                              establish all external accounts.
                          series: []
                        - key: payment_to_income
                          label: Proposed payment to income
                          status: not_applicable
                          value: null
                          unit: ratio
                          window:
                            start: '2025-11-01T00:00:00Z'
                            end: '2026-11-01T00:00:00Z'
                          calculation_version: amlok-payment_to_income-1
                          missing_reason: >-
                            This metric does not apply to this borrower or an
                            initial Insights assessment.
                          evidence_ids: []
                          analysis_basis: historical
                          assumptions: []
                          definition_version: 2026-11-06.1
                          currency: null
                          as_of: '2026-11-06T12:00:00Z'
                          basis: derived
                          reason_code: not_applicable
                          inputs: []
                          coverage:
                            observed_days: 0
                            expected_days: 365
                            scope_note: >-
                              Synthetic example; observed sources do not
                              establish all external accounts.
                          series: []
                        - key: liquid_reserve_months
                          label: Liquid reserve months
                          status: not_applicable
                          value: null
                          unit: months
                          window:
                            start: '2025-11-01T00:00:00Z'
                            end: '2026-11-01T00:00:00Z'
                          calculation_version: amlok-liquid_reserve_months-1
                          missing_reason: >-
                            This metric does not apply to this borrower or an
                            initial Insights assessment.
                          evidence_ids: []
                          analysis_basis: historical
                          assumptions: []
                          definition_version: 2026-11-06.1
                          currency: null
                          as_of: '2026-11-06T12:00:00Z'
                          basis: derived
                          reason_code: not_applicable
                          inputs: []
                          coverage:
                            observed_days: 0
                            expected_days: 365
                            scope_note: >-
                              Synthetic example; observed sources do not
                              establish all external accounts.
                          series: []
                      evidence_ids: []
                    - key: income_stability
                      status: not_applicable
                      summary: See individual metric availability and reasons.
                      metrics:
                        - key: income_source_count
                          label: Verified income sources
                          status: not_applicable
                          value: null
                          unit: count
                          window:
                            start: '2025-11-01T00:00:00Z'
                            end: '2026-11-01T00:00:00Z'
                          calculation_version: amlok-income_source_count-1
                          missing_reason: >-
                            This metric does not apply to this borrower or an
                            initial Insights assessment.
                          evidence_ids: []
                          analysis_basis: historical
                          assumptions: []
                          definition_version: 2026-11-06.1
                          currency: null
                          as_of: '2026-11-06T12:00:00Z'
                          basis: derived
                          reason_code: not_applicable
                          inputs: []
                          coverage:
                            observed_days: 0
                            expected_days: 365
                            scope_note: >-
                              Synthetic example; observed sources do not
                              establish all external accounts.
                          series: []
                        - key: income_volatility
                          label: Monthly income volatility
                          status: not_applicable
                          value: null
                          unit: ratio
                          window:
                            start: '2025-11-01T00:00:00Z'
                            end: '2026-11-01T00:00:00Z'
                          calculation_version: amlok-income_volatility-1
                          missing_reason: >-
                            This metric does not apply to this borrower or an
                            initial Insights assessment.
                          evidence_ids: []
                          analysis_basis: historical
                          assumptions: []
                          definition_version: 2026-11-06.1
                          currency: null
                          as_of: '2026-11-06T12:00:00Z'
                          basis: derived
                          reason_code: not_applicable
                          inputs: []
                          coverage:
                            observed_days: 0
                            expected_days: 365
                            scope_note: >-
                              Synthetic example; observed sources do not
                              establish all external accounts.
                          series: []
                        - key: income_growth_yoy
                          label: Income growth year over year
                          status: not_applicable
                          value: null
                          unit: ratio
                          window:
                            start: '2025-11-01T00:00:00Z'
                            end: '2026-11-01T00:00:00Z'
                          calculation_version: amlok-income_growth_yoy-1
                          missing_reason: >-
                            This metric does not apply to this borrower or an
                            initial Insights assessment.
                          evidence_ids: []
                          analysis_basis: historical
                          assumptions: []
                          definition_version: 2026-11-06.1
                          currency: null
                          as_of: '2026-11-06T12:00:00Z'
                          basis: derived
                          reason_code: not_applicable
                          inputs: []
                          coverage:
                            observed_days: 0
                            expected_days: 365
                            scope_note: >-
                              Synthetic example; observed sources do not
                              establish all external accounts.
                          series: []
                        - key: days_since_last_income
                          label: Days since last income
                          status: not_applicable
                          value: null
                          unit: days
                          window:
                            start: '2025-11-01T00:00:00Z'
                            end: '2026-11-01T00:00:00Z'
                          calculation_version: amlok-days_since_last_income-1
                          missing_reason: >-
                            This metric does not apply to this borrower or an
                            initial Insights assessment.
                          evidence_ids: []
                          analysis_basis: historical
                          assumptions: []
                          definition_version: 2026-11-06.1
                          currency: null
                          as_of: '2026-11-06T12:00:00Z'
                          basis: derived
                          reason_code: not_applicable
                          inputs: []
                          coverage:
                            observed_days: 0
                            expected_days: 365
                            scope_note: >-
                              Synthetic example; observed sources do not
                              establish all external accounts.
                          series: []
                        - key: income_interruption_days
                          label: Income interruption
                          status: not_applicable
                          value: null
                          unit: days
                          window:
                            start: '2025-11-01T00:00:00Z'
                            end: '2026-11-01T00:00:00Z'
                          calculation_version: amlok-income_interruption_days-1
                          missing_reason: >-
                            This metric does not apply to this borrower or an
                            initial Insights assessment.
                          evidence_ids: []
                          analysis_basis: historical
                          assumptions: []
                          definition_version: 2026-11-06.1
                          currency: null
                          as_of: '2026-11-06T12:00:00Z'
                          basis: derived
                          reason_code: not_applicable
                          inputs: []
                          coverage:
                            observed_days: 0
                            expected_days: 365
                            scope_note: >-
                              Synthetic example; observed sources do not
                              establish all external accounts.
                          series: []
                        - key: income_continuity_share
                          label: Income continuity
                          status: not_applicable
                          value: null
                          unit: ratio
                          window:
                            start: '2025-11-01T00:00:00Z'
                            end: '2026-11-01T00:00:00Z'
                          calculation_version: amlok-income_continuity_share-1
                          missing_reason: >-
                            This metric does not apply to this borrower or an
                            initial Insights assessment.
                          evidence_ids: []
                          analysis_basis: historical
                          assumptions: []
                          definition_version: 2026-11-06.1
                          currency: null
                          as_of: '2026-11-06T12:00:00Z'
                          basis: derived
                          reason_code: not_applicable
                          inputs: []
                          coverage:
                            observed_days: 0
                            expected_days: 365
                            scope_note: >-
                              Synthetic example; observed sources do not
                              establish all external accounts.
                          series: []
                      evidence_ids: []
                    - key: payment_behavior
                      status: unavailable
                      summary: See individual metric availability and reasons.
                      metrics:
                        - key: nsf_event_count
                          label: Insufficient-funds events
                          status: unavailable
                          value: null
                          unit: count
                          window:
                            start: '2025-11-01T00:00:00Z'
                            end: '2026-11-01T00:00:00Z'
                          calculation_version: amlok-nsf_event_count-1
                          missing_reason: >-
                            Required, comparable source inputs are not included
                            in this synthetic example.
                          evidence_ids: []
                          analysis_basis: historical
                          assumptions: []
                          definition_version: 2026-11-06.1
                          currency: null
                          as_of: '2026-11-06T12:00:00Z'
                          basis: derived
                          reason_code: missing_source
                          inputs: []
                          coverage:
                            observed_days: 0
                            expected_days: 365
                            scope_note: >-
                              Synthetic example; observed sources do not
                              establish all external accounts.
                          series: []
                        - key: overdraft_days
                          label: Overdraft days
                          status: unavailable
                          value: null
                          unit: days
                          window:
                            start: '2025-11-01T00:00:00Z'
                            end: '2026-11-01T00:00:00Z'
                          calculation_version: amlok-overdraft_days-1
                          missing_reason: >-
                            Required, comparable source inputs are not included
                            in this synthetic example.
                          evidence_ids: []
                          analysis_basis: historical
                          assumptions: []
                          definition_version: 2026-11-06.1
                          currency: null
                          as_of: '2026-11-06T12:00:00Z'
                          basis: derived
                          reason_code: missing_source
                          inputs: []
                          coverage:
                            observed_days: 0
                            expected_days: 365
                            scope_note: >-
                              Synthetic example; observed sources do not
                              establish all external accounts.
                          series: []
                        - key: returned_payment_amount
                          label: Returned payment amount
                          status: unavailable
                          value: null
                          unit: currency
                          window:
                            start: '2025-11-01T00:00:00Z'
                            end: '2026-11-01T00:00:00Z'
                          calculation_version: amlok-returned_payment_amount-1
                          missing_reason: >-
                            Required, comparable source inputs are not included
                            in this synthetic example.
                          evidence_ids: []
                          analysis_basis: historical
                          assumptions: []
                          definition_version: 2026-11-06.1
                          currency: CAD
                          as_of: '2026-11-06T12:00:00Z'
                          basis: derived
                          reason_code: missing_source
                          inputs: []
                          coverage:
                            observed_days: 0
                            expected_days: 365
                            scope_note: >-
                              Synthetic example; observed sources do not
                              establish all external accounts.
                          series: []
                        - key: delinquent_obligation_count
                          label: Delinquent obligations
                          status: unavailable
                          value: null
                          unit: count
                          window:
                            start: '2025-11-01T00:00:00Z'
                            end: '2026-11-01T00:00:00Z'
                          calculation_version: amlok-delinquent_obligation_count-1
                          missing_reason: >-
                            Required, comparable source inputs are not included
                            in this synthetic example.
                          evidence_ids: []
                          analysis_basis: historical
                          assumptions: []
                          definition_version: 2026-11-06.1
                          currency: null
                          as_of: '2026-11-06T12:00:00Z'
                          basis: derived
                          reason_code: missing_source
                          inputs: []
                          coverage:
                            observed_days: 0
                            expected_days: 365
                            scope_note: >-
                              Synthetic example; observed sources do not
                              establish all external accounts.
                          series: []
                        - key: maximum_days_past_due
                          label: Maximum days past due
                          status: unavailable
                          value: null
                          unit: days
                          window:
                            start: '2025-11-01T00:00:00Z'
                            end: '2026-11-01T00:00:00Z'
                          calculation_version: amlok-maximum_days_past_due-1
                          missing_reason: >-
                            Required, comparable source inputs are not included
                            in this synthetic example.
                          evidence_ids: []
                          analysis_basis: historical
                          assumptions: []
                          definition_version: 2026-11-06.1
                          currency: null
                          as_of: '2026-11-06T12:00:00Z'
                          basis: derived
                          reason_code: missing_source
                          inputs: []
                          coverage:
                            observed_days: 0
                            expected_days: 365
                            scope_note: >-
                              Synthetic example; observed sources do not
                              establish all external accounts.
                          series: []
                        - key: on_time_payment_share
                          label: On-time payment share
                          status: unavailable
                          value: null
                          unit: ratio
                          window:
                            start: '2025-11-01T00:00:00Z'
                            end: '2026-11-01T00:00:00Z'
                          calculation_version: amlok-on_time_payment_share-1
                          missing_reason: >-
                            Required, comparable source inputs are not included
                            in this synthetic example.
                          evidence_ids: []
                          analysis_basis: historical
                          assumptions: []
                          definition_version: 2026-11-06.1
                          currency: null
                          as_of: '2026-11-06T12:00:00Z'
                          basis: derived
                          reason_code: missing_source
                          inputs: []
                          coverage:
                            observed_days: 0
                            expected_days: 365
                            scope_note: >-
                              Synthetic example; observed sources do not
                              establish all external accounts.
                          series: []
                      evidence_ids: []
                    - key: credit_history
                      status: unavailable
                      summary: See individual metric availability and reasons.
                      metrics:
                        - key: open_credit_obligation_count
                          label: Open credit obligations
                          status: unavailable
                          value: null
                          unit: count
                          window:
                            start: '2025-11-01T00:00:00Z'
                            end: '2026-11-01T00:00:00Z'
                          calculation_version: amlok-open_credit_obligation_count-1
                          missing_reason: >-
                            Required, comparable source inputs are not included
                            in this synthetic example.
                          evidence_ids: []
                          analysis_basis: historical
                          assumptions: []
                          definition_version: 2026-11-06.1
                          currency: null
                          as_of: '2026-11-06T12:00:00Z'
                          basis: derived
                          reason_code: missing_source
                          inputs: []
                          coverage:
                            observed_days: 0
                            expected_days: 365
                            scope_note: >-
                              Synthetic example; observed sources do not
                              establish all external accounts.
                          series: []
                        - key: bureau_utilization
                          label: Reported revolving utilization
                          status: unavailable
                          value: null
                          unit: ratio
                          window:
                            start: '2025-11-01T00:00:00Z'
                            end: '2026-11-01T00:00:00Z'
                          calculation_version: amlok-bureau_utilization-1
                          missing_reason: >-
                            Required, comparable source inputs are not included
                            in this synthetic example.
                          evidence_ids: []
                          analysis_basis: historical
                          assumptions: []
                          definition_version: 2026-11-06.1
                          currency: null
                          as_of: '2026-11-06T12:00:00Z'
                          basis: derived
                          reason_code: missing_source
                          inputs: []
                          coverage:
                            observed_days: 0
                            expected_days: 365
                            scope_note: >-
                              Synthetic example; observed sources do not
                              establish all external accounts.
                          series: []
                        - key: recent_credit_inquiry_count
                          label: Recent credit inquiries
                          status: unavailable
                          value: null
                          unit: count
                          window:
                            start: '2025-11-01T00:00:00Z'
                            end: '2026-11-01T00:00:00Z'
                          calculation_version: amlok-recent_credit_inquiry_count-1
                          missing_reason: >-
                            Required, comparable source inputs are not included
                            in this synthetic example.
                          evidence_ids: []
                          analysis_basis: historical
                          assumptions: []
                          definition_version: 2026-11-06.1
                          currency: null
                          as_of: '2026-11-06T12:00:00Z'
                          basis: derived
                          reason_code: missing_source
                          inputs: []
                          coverage:
                            observed_days: 0
                            expected_days: 365
                            scope_note: >-
                              Synthetic example; observed sources do not
                              establish all external accounts.
                          series: []
                        - key: severe_delinquency_count
                          label: Severe delinquency events
                          status: unavailable
                          value: null
                          unit: count
                          window:
                            start: '2025-11-01T00:00:00Z'
                            end: '2026-11-01T00:00:00Z'
                          calculation_version: amlok-severe_delinquency_count-1
                          missing_reason: >-
                            Required, comparable source inputs are not included
                            in this synthetic example.
                          evidence_ids: []
                          analysis_basis: historical
                          assumptions: []
                          definition_version: 2026-11-06.1
                          currency: null
                          as_of: '2026-11-06T12:00:00Z'
                          basis: derived
                          reason_code: missing_source
                          inputs: []
                          coverage:
                            observed_days: 0
                            expected_days: 365
                            scope_note: >-
                              Synthetic example; observed sources do not
                              establish all external accounts.
                          series: []
                        - key: public_record_event_count
                          label: Relevant public-record events
                          status: unavailable
                          value: null
                          unit: count
                          window:
                            start: '2025-11-01T00:00:00Z'
                            end: '2026-11-01T00:00:00Z'
                          calculation_version: amlok-public_record_event_count-1
                          missing_reason: >-
                            Required, comparable source inputs are not included
                            in this synthetic example.
                          evidence_ids: []
                          analysis_basis: historical
                          assumptions: []
                          definition_version: 2026-11-06.1
                          currency: null
                          as_of: '2026-11-06T12:00:00Z'
                          basis: derived
                          reason_code: missing_source
                          inputs: []
                          coverage:
                            observed_days: 0
                            expected_days: 365
                            scope_note: >-
                              Synthetic example; observed sources do not
                              establish all external accounts.
                          series: []
                      evidence_ids: []
                    - key: commerce_performance
                      status: unavailable
                      summary: See individual metric availability and reasons.
                      metrics:
                        - key: gross_sales
                          label: Gross sales
                          status: unavailable
                          value: null
                          unit: currency
                          window:
                            start: '2025-11-01T00:00:00Z'
                            end: '2026-11-01T00:00:00Z'
                          calculation_version: amlok-gross_sales-1
                          missing_reason: >-
                            Required, comparable source inputs are not included
                            in this synthetic example.
                          evidence_ids: []
                          analysis_basis: historical
                          assumptions: []
                          definition_version: 2026-11-06.1
                          currency: CAD
                          as_of: '2026-11-06T12:00:00Z'
                          basis: derived
                          reason_code: missing_source
                          inputs: []
                          coverage:
                            observed_days: 0
                            expected_days: 365
                            scope_note: >-
                              Synthetic example; observed sources do not
                              establish all external accounts.
                          series: []
                        - key: net_sales
                          label: Net sales
                          status: unavailable
                          value: null
                          unit: currency
                          window:
                            start: '2025-11-01T00:00:00Z'
                            end: '2026-11-01T00:00:00Z'
                          calculation_version: amlok-net_sales-1
                          missing_reason: >-
                            Required, comparable source inputs are not included
                            in this synthetic example.
                          evidence_ids: []
                          analysis_basis: historical
                          assumptions: []
                          definition_version: 2026-11-06.1
                          currency: CAD
                          as_of: '2026-11-06T12:00:00Z'
                          basis: derived
                          reason_code: missing_source
                          inputs: []
                          coverage:
                            observed_days: 0
                            expected_days: 365
                            scope_note: >-
                              Synthetic example; observed sources do not
                              establish all external accounts.
                          series: []
                        - key: average_order_value
                          label: Average order value
                          status: unavailable
                          value: null
                          unit: currency
                          window:
                            start: '2025-11-01T00:00:00Z'
                            end: '2026-11-01T00:00:00Z'
                          calculation_version: amlok-average_order_value-1
                          missing_reason: >-
                            Required, comparable source inputs are not included
                            in this synthetic example.
                          evidence_ids: []
                          analysis_basis: historical
                          assumptions: []
                          definition_version: 2026-11-06.1
                          currency: CAD
                          as_of: '2026-11-06T12:00:00Z'
                          basis: derived
                          reason_code: missing_source
                          inputs: []
                          coverage:
                            observed_days: 0
                            expected_days: 365
                            scope_note: >-
                              Synthetic example; observed sources do not
                              establish all external accounts.
                          series: []
                        - key: repeat_customer_share
                          label: Repeat customer share
                          status: unavailable
                          value: null
                          unit: ratio
                          window:
                            start: '2025-11-01T00:00:00Z'
                            end: '2026-11-01T00:00:00Z'
                          calculation_version: amlok-repeat_customer_share-1
                          missing_reason: >-
                            Required, comparable source inputs are not included
                            in this synthetic example.
                          evidence_ids: []
                          analysis_basis: historical
                          assumptions: []
                          definition_version: 2026-11-06.1
                          currency: null
                          as_of: '2026-11-06T12:00:00Z'
                          basis: derived
                          reason_code: missing_source
                          inputs: []
                          coverage:
                            observed_days: 0
                            expected_days: 365
                            scope_note: >-
                              Synthetic example; observed sources do not
                              establish all external accounts.
                          series: []
                        - key: monthly_recurring_revenue
                          label: Monthly recurring revenue
                          status: unavailable
                          value: null
                          unit: currency
                          window:
                            start: '2025-11-01T00:00:00Z'
                            end: '2026-11-01T00:00:00Z'
                          calculation_version: amlok-monthly_recurring_revenue-1
                          missing_reason: >-
                            Required, comparable source inputs are not included
                            in this synthetic example.
                          evidence_ids: []
                          analysis_basis: historical
                          assumptions: []
                          definition_version: 2026-11-06.1
                          currency: CAD
                          as_of: '2026-11-06T12:00:00Z'
                          basis: derived
                          reason_code: missing_source
                          inputs: []
                          coverage:
                            observed_days: 0
                            expected_days: 365
                            scope_note: >-
                              Synthetic example; observed sources do not
                              establish all external accounts.
                          series: []
                        - key: gross_revenue_retention
                          label: Gross revenue retention
                          status: unavailable
                          value: null
                          unit: ratio
                          window:
                            start: '2025-11-01T00:00:00Z'
                            end: '2026-11-01T00:00:00Z'
                          calculation_version: amlok-gross_revenue_retention-1
                          missing_reason: >-
                            Required, comparable source inputs are not included
                            in this synthetic example.
                          evidence_ids: []
                          analysis_basis: historical
                          assumptions: []
                          definition_version: 2026-11-06.1
                          currency: null
                          as_of: '2026-11-06T12:00:00Z'
                          basis: derived
                          reason_code: missing_source
                          inputs: []
                          coverage:
                            observed_days: 0
                            expected_days: 365
                            scope_note: >-
                              Synthetic example; observed sources do not
                              establish all external accounts.
                          series: []
                        - key: net_revenue_retention
                          label: Net revenue retention
                          status: unavailable
                          value: null
                          unit: ratio
                          window:
                            start: '2025-11-01T00:00:00Z'
                            end: '2026-11-01T00:00:00Z'
                          calculation_version: amlok-net_revenue_retention-1
                          missing_reason: >-
                            Required, comparable source inputs are not included
                            in this synthetic example.
                          evidence_ids: []
                          analysis_basis: historical
                          assumptions: []
                          definition_version: 2026-11-06.1
                          currency: null
                          as_of: '2026-11-06T12:00:00Z'
                          basis: derived
                          reason_code: missing_source
                          inputs: []
                          coverage:
                            observed_days: 0
                            expected_days: 365
                            scope_note: >-
                              Synthetic example; observed sources do not
                              establish all external accounts.
                          series: []
                        - key: settlement_delay_days
                          label: Settlement delay
                          status: unavailable
                          value: null
                          unit: days
                          window:
                            start: '2025-11-01T00:00:00Z'
                            end: '2026-11-01T00:00:00Z'
                          calculation_version: amlok-settlement_delay_days-1
                          missing_reason: >-
                            Required, comparable source inputs are not included
                            in this synthetic example.
                          evidence_ids: []
                          analysis_basis: historical
                          assumptions: []
                          definition_version: 2026-11-06.1
                          currency: null
                          as_of: '2026-11-06T12:00:00Z'
                          basis: derived
                          reason_code: missing_source
                          inputs: []
                          coverage:
                            observed_days: 0
                            expected_days: 365
                            scope_note: >-
                              Synthetic example; observed sources do not
                              establish all external accounts.
                          series: []
                      evidence_ids: []
                    - key: operating_resilience
                      status: unavailable
                      summary: See individual metric availability and reasons.
                      metrics:
                        - key: payroll_burden_share
                          label: Payroll burden
                          status: unavailable
                          value: null
                          unit: ratio
                          window:
                            start: '2025-11-01T00:00:00Z'
                            end: '2026-11-01T00:00:00Z'
                          calculation_version: amlok-payroll_burden_share-1
                          missing_reason: >-
                            Required, comparable source inputs are not included
                            in this synthetic example.
                          evidence_ids: []
                          analysis_basis: historical
                          assumptions: []
                          definition_version: 2026-11-06.1
                          currency: null
                          as_of: '2026-11-06T12:00:00Z'
                          basis: derived
                          reason_code: missing_source
                          inputs: []
                          coverage:
                            observed_days: 0
                            expected_days: 365
                            scope_note: >-
                              Synthetic example; observed sources do not
                              establish all external accounts.
                          series: []
                        - key: payroll_growth_yoy
                          label: Payroll growth year over year
                          status: unavailable
                          value: null
                          unit: ratio
                          window:
                            start: '2025-11-01T00:00:00Z'
                            end: '2026-11-01T00:00:00Z'
                          calculation_version: amlok-payroll_growth_yoy-1
                          missing_reason: >-
                            Required, comparable source inputs are not included
                            in this synthetic example.
                          evidence_ids: []
                          analysis_basis: historical
                          assumptions: []
                          definition_version: 2026-11-06.1
                          currency: null
                          as_of: '2026-11-06T12:00:00Z'
                          basis: derived
                          reason_code: missing_source
                          inputs: []
                          coverage:
                            observed_days: 0
                            expected_days: 365
                            scope_note: >-
                              Synthetic example; observed sources do not
                              establish all external accounts.
                          series: []
                        - key: inventory_stockout_share
                          label: Inventory stockout share
                          status: unavailable
                          value: null
                          unit: ratio
                          window:
                            start: '2025-11-01T00:00:00Z'
                            end: '2026-11-01T00:00:00Z'
                          calculation_version: amlok-inventory_stockout_share-1
                          missing_reason: >-
                            Required, comparable source inputs are not included
                            in this synthetic example.
                          evidence_ids: []
                          analysis_basis: historical
                          assumptions: []
                          definition_version: 2026-11-06.1
                          currency: null
                          as_of: '2026-11-06T12:00:00Z'
                          basis: derived
                          reason_code: missing_source
                          inputs: []
                          coverage:
                            observed_days: 0
                            expected_days: 365
                            scope_note: >-
                              Synthetic example; observed sources do not
                              establish all external accounts.
                          series: []
                        - key: fulfillment_on_time_share
                          label: On-time fulfillment share
                          status: unavailable
                          value: null
                          unit: ratio
                          window:
                            start: '2025-11-01T00:00:00Z'
                            end: '2026-11-01T00:00:00Z'
                          calculation_version: amlok-fulfillment_on_time_share-1
                          missing_reason: >-
                            Required, comparable source inputs are not included
                            in this synthetic example.
                          evidence_ids: []
                          analysis_basis: historical
                          assumptions: []
                          definition_version: 2026-11-06.1
                          currency: null
                          as_of: '2026-11-06T12:00:00Z'
                          basis: derived
                          reason_code: missing_source
                          inputs: []
                          coverage:
                            observed_days: 0
                            expected_days: 365
                            scope_note: >-
                              Synthetic example; observed sources do not
                              establish all external accounts.
                          series: []
                        - key: supplier_payment_delay_days
                          label: Supplier payment delay
                          status: unavailable
                          value: null
                          unit: days
                          window:
                            start: '2025-11-01T00:00:00Z'
                            end: '2026-11-01T00:00:00Z'
                          calculation_version: amlok-supplier_payment_delay_days-1
                          missing_reason: >-
                            Required, comparable source inputs are not included
                            in this synthetic example.
                          evidence_ids: []
                          analysis_basis: historical
                          assumptions: []
                          definition_version: 2026-11-06.1
                          currency: null
                          as_of: '2026-11-06T12:00:00Z'
                          basis: derived
                          reason_code: missing_source
                          inputs: []
                          coverage:
                            observed_days: 0
                            expected_days: 365
                            scope_note: >-
                              Synthetic example; observed sources do not
                              establish all external accounts.
                          series: []
                      evidence_ids: []
                    - key: tax_and_compliance
                      status: unavailable
                      summary: See individual metric availability and reasons.
                      metrics:
                        - key: tax_liability
                          label: Reported tax liability
                          status: unavailable
                          value: null
                          unit: currency
                          window:
                            start: '2025-11-01T00:00:00Z'
                            end: '2026-11-01T00:00:00Z'
                          calculation_version: amlok-tax_liability-1
                          missing_reason: >-
                            Required, comparable source inputs are not included
                            in this synthetic example.
                          evidence_ids: []
                          analysis_basis: historical
                          assumptions: []
                          definition_version: 2026-11-06.1
                          currency: CAD
                          as_of: '2026-11-06T12:00:00Z'
                          basis: derived
                          reason_code: missing_source
                          inputs: []
                          coverage:
                            observed_days: 0
                            expected_days: 365
                            scope_note: >-
                              Synthetic example; observed sources do not
                              establish all external accounts.
                          series: []
                        - key: tax_overdue_amount
                          label: Overdue tax amount
                          status: unavailable
                          value: null
                          unit: currency
                          window:
                            start: '2025-11-01T00:00:00Z'
                            end: '2026-11-01T00:00:00Z'
                          calculation_version: amlok-tax_overdue_amount-1
                          missing_reason: >-
                            Required, comparable source inputs are not included
                            in this synthetic example.
                          evidence_ids: []
                          analysis_basis: historical
                          assumptions: []
                          definition_version: 2026-11-06.1
                          currency: CAD
                          as_of: '2026-11-06T12:00:00Z'
                          basis: derived
                          reason_code: missing_source
                          inputs: []
                          coverage:
                            observed_days: 0
                            expected_days: 365
                            scope_note: >-
                              Synthetic example; observed sources do not
                              establish all external accounts.
                          series: []
                        - key: tax_payment_coverage
                          label: Tax payment coverage
                          status: unavailable
                          value: null
                          unit: ratio
                          window:
                            start: '2025-11-01T00:00:00Z'
                            end: '2026-11-01T00:00:00Z'
                          calculation_version: amlok-tax_payment_coverage-1
                          missing_reason: >-
                            Required, comparable source inputs are not included
                            in this synthetic example.
                          evidence_ids: []
                          analysis_basis: historical
                          assumptions: []
                          definition_version: 2026-11-06.1
                          currency: null
                          as_of: '2026-11-06T12:00:00Z'
                          basis: derived
                          reason_code: missing_source
                          inputs: []
                          coverage:
                            observed_days: 0
                            expected_days: 365
                            scope_note: >-
                              Synthetic example; observed sources do not
                              establish all external accounts.
                          series: []
                        - key: filing_coverage
                          label: Filing evidence coverage
                          status: unavailable
                          value: null
                          unit: ratio
                          window:
                            start: '2025-11-01T00:00:00Z'
                            end: '2026-11-01T00:00:00Z'
                          calculation_version: amlok-filing_coverage-1
                          missing_reason: >-
                            Required, comparable source inputs are not included
                            in this synthetic example.
                          evidence_ids: []
                          analysis_basis: historical
                          assumptions: []
                          definition_version: 2026-11-06.1
                          currency: null
                          as_of: '2026-11-06T12:00:00Z'
                          basis: derived
                          reason_code: missing_source
                          inputs: []
                          coverage:
                            observed_days: 0
                            expected_days: 365
                            scope_note: >-
                              Synthetic example; observed sources do not
                              establish all external accounts.
                          series: []
                      evidence_ids: []
                    - key: financial_reporting_quality
                      status: unavailable
                      summary: See individual metric availability and reasons.
                      metrics:
                        - key: bank_accounting_match_share
                          label: Bank-to-books match share
                          status: unavailable
                          value: null
                          unit: ratio
                          window:
                            start: '2025-11-01T00:00:00Z'
                            end: '2026-11-01T00:00:00Z'
                          calculation_version: amlok-bank_accounting_match_share-1
                          missing_reason: >-
                            Required, comparable source inputs are not included
                            in this synthetic example.
                          evidence_ids: []
                          analysis_basis: historical
                          assumptions: []
                          definition_version: 2026-11-06.1
                          currency: null
                          as_of: '2026-11-06T12:00:00Z'
                          basis: derived
                          reason_code: missing_source
                          inputs: []
                          coverage:
                            observed_days: 0
                            expected_days: 365
                            scope_note: >-
                              Synthetic example; observed sources do not
                              establish all external accounts.
                          series: []
                        - key: statement_balance_discrepancy
                          label: Balance-sheet discrepancy
                          status: unavailable
                          value: null
                          unit: currency
                          window:
                            start: '2025-11-01T00:00:00Z'
                            end: '2026-11-01T00:00:00Z'
                          calculation_version: amlok-statement_balance_discrepancy-1
                          missing_reason: >-
                            Required, comparable source inputs are not included
                            in this synthetic example.
                          evidence_ids: []
                          analysis_basis: historical
                          assumptions: []
                          definition_version: 2026-11-06.1
                          currency: CAD
                          as_of: '2026-11-06T12:00:00Z'
                          basis: derived
                          reason_code: missing_source
                          inputs: []
                          coverage:
                            observed_days: 0
                            expected_days: 365
                            scope_note: >-
                              Synthetic example; observed sources do not
                              establish all external accounts.
                          series: []
                        - key: material_adjustment_share
                          label: Material accounting adjustments
                          status: unavailable
                          value: null
                          unit: ratio
                          window:
                            start: '2025-11-01T00:00:00Z'
                            end: '2026-11-01T00:00:00Z'
                          calculation_version: amlok-material_adjustment_share-1
                          missing_reason: >-
                            Required, comparable source inputs are not included
                            in this synthetic example.
                          evidence_ids: []
                          analysis_basis: historical
                          assumptions: []
                          definition_version: 2026-11-06.1
                          currency: null
                          as_of: '2026-11-06T12:00:00Z'
                          basis: derived
                          reason_code: missing_source
                          inputs: []
                          coverage:
                            observed_days: 0
                            expected_days: 365
                            scope_note: >-
                              Synthetic example; observed sources do not
                              establish all external accounts.
                          series: []
                        - key: books_closing_lag_days
                          label: Books closing lag
                          status: unavailable
                          value: null
                          unit: days
                          window:
                            start: '2025-11-01T00:00:00Z'
                            end: '2026-11-01T00:00:00Z'
                          calculation_version: amlok-books_closing_lag_days-1
                          missing_reason: >-
                            Required, comparable source inputs are not included
                            in this synthetic example.
                          evidence_ids: []
                          analysis_basis: historical
                          assumptions: []
                          definition_version: 2026-11-06.1
                          currency: null
                          as_of: '2026-11-06T12:00:00Z'
                          basis: derived
                          reason_code: missing_source
                          inputs: []
                          coverage:
                            observed_days: 0
                            expected_days: 365
                            scope_note: >-
                              Synthetic example; observed sources do not
                              establish all external accounts.
                          series: []
                      evidence_ids: []
                    - key: data_quality
                      status: unavailable
                      summary: See individual metric availability and reasons.
                      metrics:
                        - key: observed_account_coverage
                          label: Declared-account coverage
                          status: unavailable
                          value: null
                          unit: ratio
                          window:
                            start: '2025-11-01T00:00:00Z'
                            end: '2026-11-01T00:00:00Z'
                          calculation_version: amlok-observed_account_coverage-1
                          missing_reason: >-
                            Required, comparable source inputs are not included
                            in this synthetic example.
                          evidence_ids: []
                          analysis_basis: historical
                          assumptions: []
                          definition_version: 2026-11-06.1
                          currency: null
                          as_of: '2026-11-06T12:00:00Z'
                          basis: derived
                          reason_code: missing_source
                          inputs: []
                          coverage:
                            observed_days: 0
                            expected_days: 365
                            scope_note: >-
                              Synthetic example; observed sources do not
                              establish all external accounts.
                          series: []
                        - key: covered_history_days
                          label: Covered history
                          status: unavailable
                          value: null
                          unit: days
                          window:
                            start: '2025-11-01T00:00:00Z'
                            end: '2026-11-01T00:00:00Z'
                          calculation_version: amlok-covered_history_days-1
                          missing_reason: >-
                            Required, comparable source inputs are not included
                            in this synthetic example.
                          evidence_ids: []
                          analysis_basis: historical
                          assumptions: []
                          definition_version: 2026-11-06.1
                          currency: null
                          as_of: '2026-11-06T12:00:00Z'
                          basis: derived
                          reason_code: missing_source
                          inputs: []
                          coverage:
                            observed_days: 0
                            expected_days: 365
                            scope_note: >-
                              Synthetic example; observed sources do not
                              establish all external accounts.
                          series: []
                        - key: stale_source_share
                          label: Stale required sources
                          status: unavailable
                          value: null
                          unit: ratio
                          window:
                            start: '2025-11-01T00:00:00Z'
                            end: '2026-11-01T00:00:00Z'
                          calculation_version: amlok-stale_source_share-1
                          missing_reason: >-
                            Required, comparable source inputs are not included
                            in this synthetic example.
                          evidence_ids: []
                          analysis_basis: historical
                          assumptions: []
                          definition_version: 2026-11-06.1
                          currency: null
                          as_of: '2026-11-06T12:00:00Z'
                          basis: derived
                          reason_code: missing_source
                          inputs: []
                          coverage:
                            observed_days: 0
                            expected_days: 365
                            scope_note: >-
                              Synthetic example; observed sources do not
                              establish all external accounts.
                          series: []
                        - key: unclassified_transaction_share
                          label: Unclassified transactions
                          status: unavailable
                          value: null
                          unit: ratio
                          window:
                            start: '2025-11-01T00:00:00Z'
                            end: '2026-11-01T00:00:00Z'
                          calculation_version: amlok-unclassified_transaction_share-1
                          missing_reason: >-
                            Required, comparable source inputs are not included
                            in this synthetic example.
                          evidence_ids: []
                          analysis_basis: historical
                          assumptions: []
                          definition_version: 2026-11-06.1
                          currency: null
                          as_of: '2026-11-06T12:00:00Z'
                          basis: derived
                          reason_code: missing_source
                          inputs: []
                          coverage:
                            observed_days: 0
                            expected_days: 365
                            scope_note: >-
                              Synthetic example; observed sources do not
                              establish all external accounts.
                          series: []
                        - key: reconciled_value_share
                          label: Reconciled financial value
                          status: unavailable
                          value: null
                          unit: ratio
                          window:
                            start: '2025-11-01T00:00:00Z'
                            end: '2026-11-01T00:00:00Z'
                          calculation_version: amlok-reconciled_value_share-1
                          missing_reason: >-
                            Required, comparable source inputs are not included
                            in this synthetic example.
                          evidence_ids: []
                          analysis_basis: historical
                          assumptions: []
                          definition_version: 2026-11-06.1
                          currency: null
                          as_of: '2026-11-06T12:00:00Z'
                          basis: derived
                          reason_code: missing_source
                          inputs: []
                          coverage:
                            observed_days: 0
                            expected_days: 365
                            scope_note: >-
                              Synthetic example; observed sources do not
                              establish all external accounts.
                          series: []
                      evidence_ids: []
                    - key: forecasting_and_stress
                      status: unavailable
                      summary: See individual metric availability and reasons.
                      metrics:
                        - key: projected_minimum_cash
                          label: Projected minimum cash
                          status: unavailable
                          value: null
                          unit: currency
                          window:
                            start: '2025-11-01T00:00:00Z'
                            end: '2026-11-01T00:00:00Z'
                          calculation_version: amlok-projected_minimum_cash-1
                          missing_reason: >-
                            Required, comparable source inputs are not included
                            in this synthetic example.
                          evidence_ids: []
                          analysis_basis: historical
                          assumptions: []
                          definition_version: 2026-11-06.1
                          currency: CAD
                          as_of: '2026-11-06T12:00:00Z'
                          basis: derived
                          reason_code: missing_source
                          inputs: []
                          coverage:
                            observed_days: 0
                            expected_days: 365
                            scope_note: >-
                              Synthetic example; observed sources do not
                              establish all external accounts.
                          series: []
                        - key: stress_dscr
                          label: Stressed debt-service coverage
                          status: unavailable
                          value: null
                          unit: ratio
                          window:
                            start: '2025-11-01T00:00:00Z'
                            end: '2026-11-01T00:00:00Z'
                          calculation_version: amlok-stress_dscr-1
                          missing_reason: >-
                            Required, comparable source inputs are not included
                            in this synthetic example.
                          evidence_ids: []
                          analysis_basis: historical
                          assumptions: []
                          definition_version: 2026-11-06.1
                          currency: null
                          as_of: '2026-11-06T12:00:00Z'
                          basis: derived
                          reason_code: missing_source
                          inputs: []
                          coverage:
                            observed_days: 0
                            expected_days: 365
                            scope_note: >-
                              Synthetic example; observed sources do not
                              establish all external accounts.
                          series: []
                        - key: stress_residual_income
                          label: Stressed residual income
                          status: not_applicable
                          value: null
                          unit: currency
                          window:
                            start: '2025-11-01T00:00:00Z'
                            end: '2026-11-01T00:00:00Z'
                          calculation_version: amlok-stress_residual_income-1
                          missing_reason: >-
                            This metric does not apply to this borrower or an
                            initial Insights assessment.
                          evidence_ids: []
                          analysis_basis: historical
                          assumptions: []
                          definition_version: 2026-11-06.1
                          currency: CAD
                          as_of: '2026-11-06T12:00:00Z'
                          basis: derived
                          reason_code: not_applicable
                          inputs: []
                          coverage:
                            observed_days: 0
                            expected_days: 365
                            scope_note: >-
                              Synthetic example; observed sources do not
                              establish all external accounts.
                          series: []
                        - key: liquidity_shortfall
                          label: Projected liquidity shortfall
                          status: unavailable
                          value: null
                          unit: currency
                          window:
                            start: '2025-11-01T00:00:00Z'
                            end: '2026-11-01T00:00:00Z'
                          calculation_version: amlok-liquidity_shortfall-1
                          missing_reason: >-
                            Required, comparable source inputs are not included
                            in this synthetic example.
                          evidence_ids: []
                          analysis_basis: historical
                          assumptions: []
                          definition_version: 2026-11-06.1
                          currency: CAD
                          as_of: '2026-11-06T12:00:00Z'
                          basis: derived
                          reason_code: missing_source
                          inputs: []
                          coverage:
                            observed_days: 0
                            expected_days: 365
                            scope_note: >-
                              Synthetic example; observed sources do not
                              establish all external accounts.
                          series: []
                        - key: break_even_revenue_decline
                          label: Break-even revenue decline
                          status: unavailable
                          value: null
                          unit: ratio
                          window:
                            start: '2025-11-01T00:00:00Z'
                            end: '2026-11-01T00:00:00Z'
                          calculation_version: amlok-break_even_revenue_decline-1
                          missing_reason: >-
                            Required, comparable source inputs are not included
                            in this synthetic example.
                          evidence_ids: []
                          analysis_basis: historical
                          assumptions: []
                          definition_version: 2026-11-06.1
                          currency: null
                          as_of: '2026-11-06T12:00:00Z'
                          basis: derived
                          reason_code: missing_source
                          inputs: []
                          coverage:
                            observed_days: 0
                            expected_days: 365
                            scope_note: >-
                              Synthetic example; observed sources do not
                              establish all external accounts.
                          series: []
                      evidence_ids: []
                    - key: relationship_risk
                      status: unavailable
                      summary: See individual metric availability and reasons.
                      metrics:
                        - key: related_party_receipts_share
                          label: Related-party receipts share
                          status: unavailable
                          value: null
                          unit: ratio
                          window:
                            start: '2025-11-01T00:00:00Z'
                            end: '2026-11-01T00:00:00Z'
                          calculation_version: amlok-related_party_receipts_share-1
                          missing_reason: >-
                            Required, comparable source inputs are not included
                            in this synthetic example.
                          evidence_ids: []
                          analysis_basis: historical
                          assumptions: []
                          definition_version: 2026-11-06.1
                          currency: null
                          as_of: '2026-11-06T12:00:00Z'
                          basis: derived
                          reason_code: missing_source
                          inputs: []
                          coverage:
                            observed_days: 0
                            expected_days: 365
                            scope_note: >-
                              Synthetic example; observed sources do not
                              establish all external accounts.
                          series: []
                        - key: circular_flow_amount
                          label: Potential circular-flow amount
                          status: unavailable
                          value: null
                          unit: currency
                          window:
                            start: '2025-11-01T00:00:00Z'
                            end: '2026-11-01T00:00:00Z'
                          calculation_version: amlok-circular_flow_amount-1
                          missing_reason: >-
                            Required, comparable source inputs are not included
                            in this synthetic example.
                          evidence_ids: []
                          analysis_basis: historical
                          assumptions: []
                          definition_version: 2026-11-06.1
                          currency: CAD
                          as_of: '2026-11-06T12:00:00Z'
                          basis: derived
                          reason_code: missing_source
                          inputs: []
                          coverage:
                            observed_days: 0
                            expected_days: 365
                            scope_note: >-
                              Synthetic example; observed sources do not
                              establish all external accounts.
                          series: []
                        - key: connected_counterparty_share
                          label: Connected-counterparty exposure
                          status: unavailable
                          value: null
                          unit: ratio
                          window:
                            start: '2025-11-01T00:00:00Z'
                            end: '2026-11-01T00:00:00Z'
                          calculation_version: amlok-connected_counterparty_share-1
                          missing_reason: >-
                            Required, comparable source inputs are not included
                            in this synthetic example.
                          evidence_ids: []
                          analysis_basis: historical
                          assumptions: []
                          definition_version: 2026-11-06.1
                          currency: null
                          as_of: '2026-11-06T12:00:00Z'
                          basis: derived
                          reason_code: missing_source
                          inputs: []
                          coverage:
                            observed_days: 0
                            expected_days: 365
                            scope_note: >-
                              Synthetic example; observed sources do not
                              establish all external accounts.
                          series: []
                      evidence_ids: []
                    - key: monitoring_change
                      status: not_applicable
                      summary: See individual metric availability and reasons.
                      metrics:
                        - key: revenue_change_from_baseline
                          label: Revenue change from baseline
                          status: not_applicable
                          value: null
                          unit: ratio
                          window:
                            start: '2025-11-01T00:00:00Z'
                            end: '2026-11-01T00:00:00Z'
                          calculation_version: amlok-revenue_change_from_baseline-1
                          missing_reason: >-
                            This metric does not apply to this borrower or an
                            initial Insights assessment.
                          evidence_ids: []
                          analysis_basis: historical
                          assumptions: []
                          definition_version: 2026-11-06.1
                          currency: null
                          as_of: '2026-11-06T12:00:00Z'
                          basis: derived
                          reason_code: not_applicable
                          inputs: []
                          coverage:
                            observed_days: 0
                            expected_days: 365
                            scope_note: >-
                              Synthetic example; observed sources do not
                              establish all external accounts.
                          series: []
                        - key: liquidity_change_from_baseline
                          label: Liquidity change from baseline
                          status: not_applicable
                          value: null
                          unit: currency
                          window:
                            start: '2025-11-01T00:00:00Z'
                            end: '2026-11-01T00:00:00Z'
                          calculation_version: amlok-liquidity_change_from_baseline-1
                          missing_reason: >-
                            This metric does not apply to this borrower or an
                            initial Insights assessment.
                          evidence_ids: []
                          analysis_basis: historical
                          assumptions: []
                          definition_version: 2026-11-06.1
                          currency: CAD
                          as_of: '2026-11-06T12:00:00Z'
                          basis: derived
                          reason_code: not_applicable
                          inputs: []
                          coverage:
                            observed_days: 0
                            expected_days: 365
                            scope_note: >-
                              Synthetic example; observed sources do not
                              establish all external accounts.
                          series: []
                        - key: dscr_change_from_baseline
                          label: DSCR change from baseline
                          status: not_applicable
                          value: null
                          unit: ratio
                          window:
                            start: '2025-11-01T00:00:00Z'
                            end: '2026-11-01T00:00:00Z'
                          calculation_version: amlok-dscr_change_from_baseline-1
                          missing_reason: >-
                            This metric does not apply to this borrower or an
                            initial Insights assessment.
                          evidence_ids: []
                          analysis_basis: historical
                          assumptions: []
                          definition_version: 2026-11-06.1
                          currency: null
                          as_of: '2026-11-06T12:00:00Z'
                          basis: derived
                          reason_code: not_applicable
                          inputs: []
                          coverage:
                            observed_days: 0
                            expected_days: 365
                            scope_note: >-
                              Synthetic example; observed sources do not
                              establish all external accounts.
                          series: []
                        - key: obligation_growth_from_baseline
                          label: Debt change from baseline
                          status: not_applicable
                          value: null
                          unit: ratio
                          window:
                            start: '2025-11-01T00:00:00Z'
                            end: '2026-11-01T00:00:00Z'
                          calculation_version: amlok-obligation_growth_from_baseline-1
                          missing_reason: >-
                            This metric does not apply to this borrower or an
                            initial Insights assessment.
                          evidence_ids: []
                          analysis_basis: historical
                          assumptions: []
                          definition_version: 2026-11-06.1
                          currency: null
                          as_of: '2026-11-06T12:00:00Z'
                          basis: derived
                          reason_code: not_applicable
                          inputs: []
                          coverage:
                            observed_days: 0
                            expected_days: 365
                            scope_note: >-
                              Synthetic example; observed sources do not
                              establish all external accounts.
                          series: []
                      evidence_ids: []
                  policy_results:
                    - rule_id: dscr-minimum
                      result: unavailable
                      actual: null
                      threshold: '1.25'
                      unit: ratio
                      explanation: The rule cannot be evaluated without a supported DSCR.
                      evidence_ids:
                        - ev_bank_synthetic
                      metric_key: dscr
                      calculation_version: amlok-dscr-1
                      metric_window:
                        start: '2025-11-01T00:00:00Z'
                        end: '2026-11-01T00:00:00Z'
                  sources:
                    - connection_id: con_synthetic
                      integration_id: bank_synthetic
                      source_as_of: '2026-11-01T00:00:00Z'
                      retrieved_at: '2026-11-06T12:00:00Z'
                      window:
                        start: '2025-11-01T00:00:00Z'
                        end: '2026-11-01T00:00:00Z'
                      status: partial
                      limitations:
                        - >-
                          Bank records alone do not establish a complete debt
                          schedule.
                  limitations:
                    - >-
                      All values, IDs and hashes in this example are synthetic.
                      The threshold is illustrative, not an industry
                      recommendation.
                    - >-
                      The illustrated inflow is a one-day observed-source
                      subtotal. It is not annual revenue. Authorized derived
                      metrics can remain available while a licensed raw evidence
                      record is restricted.
                  evidence_set:
                    id: es_synthetic
                    sha256: >-
                      0000000000000000000000000000000000000000000000000000000000000000
                    count: 1
                  versions:
                    schema: 1.0.0
                    normalization: synthetic-v1
                    calculation: synthetic-v1
                    model: null
                  billing_usage_id: usage_synthetic
                  document_ids: []
                  record_version: 1
                  deal_snapshot_id: null
                  catalog_version: 2026-11-06.1
                  scope:
                    borrower_type: business
                    market: CA
                    reporting_currency: CAD
                    window:
                      start: '2025-11-01T00:00:00Z'
                      end: '2026-11-01T00:00:00Z'
                    account_ids:
                      - acct_synthetic
                    entity_ids:
                      - bor_synthetic
                    consolidation: single_entity
                    accounting_basis: mixed
                    coverage_basis: observed_sources
                    excluded_sources: []
                    fx_rates: []
                  analyses:
                    verifications:
                      status: unavailable
                      reason: >-
                        Necessary supporting evidence is not included in this
                        synthetic example.
                      evidence_ids: []
                      items: []
                    financial_statements:
                      status: unavailable
                      reason: >-
                        Necessary supporting evidence is not included in this
                        synthetic example.
                      evidence_ids: []
                      items: []
                    obligations:
                      status: unavailable
                      reason: >-
                        Necessary supporting evidence is not included in this
                        synthetic example.
                      evidence_ids: []
                      items: []
                    income_streams:
                      status: unavailable
                      reason: >-
                        Necessary supporting evidence is not included in this
                        synthetic example.
                      evidence_ids: []
                      items: []
                    reconciliations:
                      status: unavailable
                      reason: >-
                        Necessary supporting evidence is not included in this
                        synthetic example.
                      evidence_ids: []
                      items: []
                    concentrations:
                      status: unavailable
                      reason: >-
                        Necessary supporting evidence is not included in this
                        synthetic example.
                      evidence_ids: []
                      items: []
                    projections:
                      status: unavailable
                      reason: >-
                        Necessary supporting evidence is not included in this
                        synthetic example.
                      evidence_ids: []
                      items: []
                    benchmarks:
                      status: unavailable
                      reason: >-
                        Necessary supporting evidence is not included in this
                        synthetic example.
                      evidence_ids: []
                      items: []
                    model_outputs:
                      status: unavailable
                      reason: >-
                        No eligible validated model output is included; no score
                        or default probability is fabricated.
                      evidence_ids: []
                      items: []
                    changes:
                      status: not_applicable
                      reason: >-
                        An initial Insights assessment has no comparable
                        baseline.
                      evidence_ids: []
                      items: []
                    collateral:
                      status: unavailable
                      reason: >-
                        Necessary supporting evidence is not included in this
                        synthetic example.
                      evidence_ids: []
                      items: []
                    relationships:
                      status: unavailable
                      reason: >-
                        Necessary supporting evidence is not included in this
                        synthetic example.
                      evidence_ids: []
                      items: []
                    credit_reports:
                      status: unavailable
                      reason: >-
                        Necessary supporting evidence is not included in this
                        synthetic example.
                      evidence_ids: []
                      items: []
                    tax_obligations:
                      status: unavailable
                      reason: >-
                        Necessary supporting evidence is not included in this
                        synthetic example.
                      evidence_ids: []
                      items: []
                  findings: []
                  required_actions:
                    - code: provide_debt_schedule
                      description: >-
                        Supply complete existing and proposed debt-service
                        evidence.
                      metric_keys:
                        - dscr
                      requirement_ids: []
                  completeness:
                    expected_metric_count: 149
                    available_metric_count: 1
                    unavailable_metric_count: 128
                    not_applicable_metric_count: 20
                    coverage_statement: >-
                      All catalog entries are accounted for. Availability
                      describes supplied evidence, not borrower credit quality.
                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.
        '429':
          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: 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/risk-packages/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/risk-packages/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/risk-packages/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:
    RiskPackage:
      type: object
      properties:
        id:
          type: string
          minLength: 1
          description: >-
            Opaque identifier, authorized within the API key workspace and
            environment.
        borrower_id:
          type: string
          minLength: 1
          description: >-
            Opaque identifier, authorized within the API key workspace and
            environment.
        origination_id:
          anyOf:
            - type: string
              minLength: 1
              description: >-
                Opaque identifier, authorized within the API key workspace and
                environment.
            - type: 'null'
          description: >-
            Origination id for RiskPackage. Constraints, requiredness and
            allowed values are defined by this schema.
        monitoring_run_id:
          anyOf:
            - type: string
              minLength: 1
              description: >-
                Opaque identifier, authorized within the API key workspace and
                environment.
            - type: 'null'
          description: >-
            Monitoring run id for RiskPackage. Constraints, requiredness and
            allowed values are defined by this schema.
        product:
          type: string
          enum:
            - insights
            - signal
          description: >-
            Product for RiskPackage. Constraints, requiredness and allowed
            values are defined by this schema.
        created_at:
          type: string
          minLength: 1
          format: date-time
          description: UTC time the record was created.
        as_of:
          type: string
          minLength: 1
          format: date-time
          description: >-
            As of for RiskPackage. Constraints, requiredness and allowed values
            are defined by this schema.
        previous_package_id:
          anyOf:
            - type: string
              minLength: 1
              description: >-
                Opaque identifier, authorized within the API key workspace and
                environment.
            - type: 'null'
          description: >-
            Previous package id for RiskPackage. Constraints, requiredness and
            allowed values are defined by this schema.
        application:
          anyOf:
            - $ref: '#/components/schemas/ApplicationInput'
            - type: 'null'
          description: >-
            Application for RiskPackage. Constraints, requiredness and allowed
            values are defined by this schema.
        lending_product:
          $ref: '#/components/schemas/LendingProductVersion'
          description: >-
            Lending product for RiskPackage. Constraints, requiredness and
            allowed values are defined by this schema.
        risk_policy:
          $ref: '#/components/schemas/RiskPolicyVersion'
          description: >-
            Risk policy for RiskPackage. Constraints, requiredness and allowed
            values are defined by this schema.
        assessment:
          type: object
          properties:
            recommendation:
              type: string
              enum:
                - within_policy
                - outside_policy
                - review_required
            is_institution_decision:
              const: false
            summary:
              type: string
              minLength: 1
            reasons:
              type: array
              items:
                type: string
                minLength: 1
          required:
            - recommendation
            - is_institution_decision
            - summary
            - reasons
          additionalProperties: false
          description: >-
            Assessment for RiskPackage. Constraints, requiredness and allowed
            values are defined by this schema.
        dimensions:
          type: array
          items:
            $ref: '#/components/schemas/Dimension'
          description: >-
            All 24 dimension families, exactly once. Available means every
            applicable metric is available; partial means some are available;
            unavailable means none can be calculated; not_applicable means no
            metric applies.
          minItems: 24
          maxItems: 24
        policy_results:
          type: array
          items:
            $ref: '#/components/schemas/PolicyResult'
          description: >-
            Policy results for RiskPackage. Constraints, requiredness and
            allowed values are defined by this schema.
        sources:
          type: array
          items:
            $ref: '#/components/schemas/SourceCoverage'
          description: >-
            Sources for RiskPackage. Constraints, requiredness and allowed
            values are defined by this schema.
        limitations:
          type: array
          items:
            type: string
            minLength: 1
          description: >-
            Limitations for RiskPackage. Constraints, requiredness and allowed
            values are defined by this schema.
        evidence_set:
          type: object
          properties:
            id:
              type: string
              minLength: 1
              description: >-
                Opaque identifier, authorized within the API key workspace and
                environment.
            sha256:
              type: string
              minLength: 1
              pattern: ^[a-f0-9]{64}$
            count:
              type: integer
              minimum: 0
          required:
            - id
            - sha256
            - count
          additionalProperties: false
          description: >-
            Evidence set for RiskPackage. Constraints, requiredness and allowed
            values are defined by this schema.
        versions:
          type: object
          properties:
            schema:
              type: string
              minLength: 1
            normalization:
              type: string
              minLength: 1
            calculation:
              type: string
              minLength: 1
            model:
              anyOf:
                - type: string
                  minLength: 1
                - type: 'null'
          required:
            - schema
            - normalization
            - calculation
            - model
          additionalProperties: false
          description: >-
            Versions for RiskPackage. Constraints, requiredness and allowed
            values are defined by this schema.
        billing_usage_id:
          anyOf:
            - type: string
              minLength: 1
              description: >-
                Opaque identifier, authorized within the API key workspace and
                environment.
            - type: 'null'
          description: >-
            Billing usage id for RiskPackage. 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: >-
            Current authorized document associations. Includes submitted
            documents and later documents accepted against open requirements. A
            completed assessment freezes its own document and evidence
            references.
        record_version:
          type: integer
          const: 1
          description: Immutable published record; event.resource_version is always 1.
        deal_snapshot_id:
          anyOf:
            - type: string
              minLength: 1
              description: Exact Signal lender snapshot used; null for Insights.
            - type: 'null'
          description: >-
            Deal snapshot id for RiskPackage. Constraints, requiredness and
            allowed values are defined by this schema.
        scope:
          $ref: '#/components/schemas/AssessmentScope'
        catalog_version:
          const: 2026-11-06.1
        completeness:
          type: object
          properties:
            expected_metric_count:
              const: 149
            available_metric_count:
              type: integer
              minimum: 0
            unavailable_metric_count:
              type: integer
              minimum: 0
            not_applicable_metric_count:
              type: integer
              minimum: 0
            coverage_statement:
              type: string
              minLength: 1
          required:
            - expected_metric_count
            - available_metric_count
            - unavailable_metric_count
            - not_applicable_metric_count
            - coverage_statement
          additionalProperties: false
        findings:
          type: array
          items:
            $ref: '#/components/schemas/RiskFinding'
        analyses:
          type: object
          properties:
            verifications:
              $ref: '#/components/schemas/VerificationCheckSection'
            financial_statements:
              $ref: '#/components/schemas/FinancialStatementSection'
            obligations:
              $ref: '#/components/schemas/DebtObligationSection'
            income_streams:
              $ref: '#/components/schemas/IncomeStreamSection'
            reconciliations:
              $ref: '#/components/schemas/ReconciliationSection'
            concentrations:
              $ref: '#/components/schemas/ConcentrationSegmentSection'
            projections:
              $ref: '#/components/schemas/RiskProjectionSection'
            benchmarks:
              $ref: '#/components/schemas/RiskBenchmarkSection'
            model_outputs:
              $ref: '#/components/schemas/RiskModelOutputSection'
            changes:
              $ref: '#/components/schemas/RiskChangeSection'
            collateral:
              $ref: '#/components/schemas/CollateralAssetSection'
            relationships:
              $ref: '#/components/schemas/BorrowerRelationshipSection'
            credit_reports:
              $ref: '#/components/schemas/CreditReportAssessmentSection'
            tax_obligations:
              $ref: '#/components/schemas/TaxObligationSection'
          required:
            - verifications
            - financial_statements
            - obligations
            - income_streams
            - reconciliations
            - concentrations
            - projections
            - benchmarks
            - model_outputs
            - changes
            - collateral
            - relationships
            - credit_reports
            - tax_obligations
          additionalProperties: false
        required_actions:
          type: array
          items:
            type: object
            properties:
              code:
                type: string
                minLength: 1
              description:
                type: string
                minLength: 1
              metric_keys:
                type: array
                items:
                  type: string
                  minLength: 1
              requirement_ids:
                type: array
                items:
                  type: string
                  minLength: 1
                uniqueItems: true
            required:
              - code
              - description
              - metric_keys
              - requirement_ids
            additionalProperties: false
      required:
        - id
        - borrower_id
        - origination_id
        - monitoring_run_id
        - product
        - created_at
        - as_of
        - previous_package_id
        - application
        - lending_product
        - risk_policy
        - assessment
        - dimensions
        - policy_results
        - sources
        - limitations
        - evidence_set
        - versions
        - billing_usage_id
        - document_ids
        - record_version
        - deal_snapshot_id
        - scope
        - catalog_version
        - completeness
        - findings
        - analyses
        - required_actions
      additionalProperties: false
      description: >-
        Immutable completed result. Summaries, metrics and evidence must
        reference the exact input versions. A Signal package does not incur
        another Insights charge. A model version is null when no validated,
        entitled model was used. Includes every defined metric with an explicit
        availability state, source-linked analyses and exact catalog/calculation
        versions. Completeness is evidence coverage, not creditworthiness.
        Cross-field invariants are specified in the risk-package methodology.
      oneOf:
        - properties:
            product:
              const: insights
            origination_id:
              type: string
              minLength: 1
              description: >-
                Opaque identifier, authorized within the API key workspace and
                environment.
            monitoring_run_id:
              type: 'null'
            application:
              $ref: '#/components/schemas/ApplicationInput'
            deal_snapshot_id:
              type: 'null'
          title: Insights risk package
        - properties:
            product:
              const: signal
            monitoring_run_id:
              type: string
              minLength: 1
              description: >-
                Opaque identifier, authorized within the API key workspace and
                environment.
            deal_snapshot_id:
              type: string
              minLength: 1
              description: Opaque identifier in the authorized workspace and environment.
          title: Signal risk package
      allOf:
        - if:
            properties:
              policy_results:
                contains:
                  properties:
                    result:
                      const: unavailable
                  required:
                    - result
          then:
            properties:
              assessment:
                properties:
                  recommendation:
                    const: review_required
    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
          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.
      required:
        - code
        - message
        - retryable
        - request_id
        - field
      additionalProperties: false
    ApplicationInput:
      type: object
      properties:
        institution_reference:
          type: string
          minLength: 1
          description: >-
            Institution reference for ApplicationInput. Constraints,
            requiredness and allowed values are defined by this schema.
        requested_amount:
          $ref: '#/components/schemas/Money'
          description: >-
            Requested amount for ApplicationInput. Constraints, requiredness and
            allowed values are defined by this schema.
        requested_term_months:
          type: integer
          minimum: 1
          description: >-
            Requested term months for ApplicationInput. Constraints,
            requiredness and allowed values are defined by this schema.
        purpose:
          type: string
          minLength: 1
          description: >-
            Purpose for ApplicationInput. Constraints, requiredness and allowed
            values are defined by this schema.
        declared_data:
          type: object
          description: >-
            Institution-defined application fields validated against
            application_schema_id; additionalProperties here does not bypass
            that schema.
        application_schema_id:
          type: string
          minLength: 1
          description: >-
            Opaque identifier, authorized within the API key workspace and
            environment.
        related_borrower_ids:
          type: array
          items:
            type: string
            minLength: 1
            description: >-
              Opaque identifier, authorized within the API key workspace and
              environment.
          uniqueItems: true
          description: >-
            Related borrower ids for ApplicationInput. Constraints, requiredness
            and allowed values are defined by this schema.
      required:
        - institution_reference
        - requested_amount
        - requested_term_months
        - purpose
        - application_schema_id
        - declared_data
      additionalProperties: false
    LendingProductVersion:
      type: object
      properties:
        id:
          type: string
          minLength: 1
          description: >-
            Opaque identifier, authorized within the API key workspace and
            environment.
        created_at:
          type: string
          minLength: 1
          format: date-time
          description: UTC time the record was created.
        definition:
          $ref: '#/components/schemas/LendingProductInput'
          description: >-
            Definition for LendingProductVersion. Constraints, requiredness and
            allowed values are defined by this schema.
        sha256:
          type: string
          minLength: 1
          pattern: ^[a-f0-9]{64}$
          description: >-
            Sha256 for LendingProductVersion. Constraints, requiredness and
            allowed values are defined by this schema.
      required:
        - id
        - created_at
        - definition
        - sha256
      additionalProperties: false
    RiskPolicyVersion:
      type: object
      properties:
        id:
          type: string
          minLength: 1
          description: >-
            Opaque identifier, authorized within the API key workspace and
            environment.
        created_at:
          type: string
          minLength: 1
          format: date-time
          description: UTC time the record was created.
        definition:
          $ref: '#/components/schemas/RiskPolicyInput'
          description: >-
            Definition for RiskPolicyVersion. Constraints, requiredness and
            allowed values are defined by this schema.
        sha256:
          type: string
          minLength: 1
          pattern: ^[a-f0-9]{64}$
          description: >-
            Sha256 for RiskPolicyVersion. Constraints, requiredness and allowed
            values are defined by this schema.
      required:
        - id
        - created_at
        - definition
        - sha256
      additionalProperties: false
    Dimension:
      type: object
      properties:
        key:
          type: string
          enum:
            - identity
            - ownership_and_control
            - cashflow
            - liquidity
            - revenue_quality
            - profitability
            - working_capital
            - leverage
            - repayment_capacity
            - concentration
            - collateral
            - fraud_and_consistency
            - income_and_affordability
            - income_stability
            - payment_behavior
            - credit_history
            - commerce_performance
            - operating_resilience
            - tax_and_compliance
            - financial_reporting_quality
            - data_quality
            - forecasting_and_stress
            - relationship_risk
            - monitoring_change
        status:
          type: string
          enum:
            - available
            - partial
            - unavailable
            - not_applicable
          description: >-
            Current lifecycle state. See the product lifecycle and recovery
            guides.
        summary:
          type: string
          minLength: 1
          description: >-
            Summary for Dimension. Constraints, requiredness and allowed values
            are defined by this schema.
        metrics:
          type: array
          items:
            $ref: '#/components/schemas/Metric'
          description: >-
            Every catalog metric assigned to this dimension exactly once,
            including unavailable and not-applicable entries. Segment analyses
            are in analyses; do not silently drop metrics.
        evidence_ids:
          type: array
          items:
            type: string
            minLength: 1
            description: >-
              Opaque identifier, authorized within the API key workspace and
              environment.
          uniqueItems: true
          description: >-
            Evidence ids for Dimension. Constraints, requiredness and allowed
            values are defined by this schema.
      required:
        - key
        - status
        - summary
        - metrics
        - evidence_ids
      additionalProperties: false
      allOf:
        - if:
            properties:
              key:
                const: identity
          then:
            properties:
              metrics:
                items:
                  properties:
                    key:
                      enum:
                        - business_age_months
                        - verified_account_owner_ratio
        - if:
            properties:
              key:
                const: ownership_and_control
          then:
            properties:
              metrics:
                items:
                  properties:
                    key:
                      enum:
                        - ownership_disclosed_ratio
                        - related_party_balance_share
                        - supported_guarantee_coverage
        - if:
            properties:
              key:
                const: cashflow
          then:
            properties:
              metrics:
                items:
                  properties:
                    key:
                      enum:
                        - total_inflows
                        - total_outflows
                        - net_cash_flow
                        - operating_cash_inflows
                        - operating_cash_outflows
                        - operating_net_cash_flow
                        - internal_transfer_inflows
                        - financing_inflows
                        - positive_cashflow_month_share
                        - cashflow_volatility
                        - cashflow_change_90d
        - if:
            properties:
              key:
                const: liquidity
          then:
            properties:
              metrics:
                items:
                  properties:
                    key:
                      enum:
                        - unrestricted_cash
                        - average_daily_balance
                        - minimum_daily_balance
                        - negative_balance_days
                        - cash_buffer_days
                        - current_ratio
                        - quick_ratio
                        - cash_ratio
        - if:
            properties:
              key:
                const: revenue_quality
          then:
            properties:
              metrics:
                items:
                  properties:
                    key:
                      enum:
                        - verified_revenue
                        - recurring_revenue_share
                        - revenue_growth_yoy
                        - revenue_growth_90d
                        - revenue_volatility
                        - refund_amount_share
                        - chargeback_amount_share
                        - revenue_cash_realization
                        - unverified_receipts_share
                        - nonrecurring_revenue_share
        - if:
            properties:
              key:
                const: profitability
          then:
            properties:
              metrics:
                items:
                  properties:
                    key:
                      enum:
                        - gross_profit
                        - gross_margin
                        - ebitda
                        - ebitda_margin
                        - operating_profit
                        - operating_margin
                        - net_profit
                        - net_margin
                        - free_cash_flow
                        - return_on_assets
        - if:
            properties:
              key:
                const: working_capital
          then:
            properties:
              metrics:
                items:
                  properties:
                    key:
                      enum:
                        - net_working_capital
                        - receivables_days
                        - payables_days
                        - inventory_days
                        - cash_conversion_cycle
                        - ar_overdue_share
                        - ar_90_plus_share
                        - ap_overdue_share
                        - inventory_turnover
        - if:
            properties:
              key:
                const: leverage
          then:
            properties:
              metrics:
                items:
                  properties:
                    key:
                      enum:
                        - total_debt
                        - net_debt
                        - debt_to_assets
                        - debt_to_equity
                        - net_debt_to_ebitda
                        - credit_utilization
                        - short_term_debt_share
                        - debt_maturing_90d
        - if:
            properties:
              key:
                const: repayment_capacity
          then:
            properties:
              metrics:
                items:
                  properties:
                    key:
                      enum:
                        - dscr
                        - fixed_charge_coverage
                        - interest_coverage
                        - existing_debt_service
                        - proposed_debt_service
                        - total_debt_service
                        - residual_cash_after_debt
                        - debt_service_headroom
                        - debt_payment_to_receipts
        - if:
            properties:
              key:
                const: concentration
          then:
            properties:
              metrics:
                items:
                  properties:
                    key:
                      enum:
                        - top_customer_share
                        - top_five_customer_share
                        - top_supplier_share
                        - top_channel_share
                        - customer_hhi
                        - income_source_hhi
        - if:
            properties:
              key:
                const: collateral
          then:
            properties:
              metrics:
                items:
                  properties:
                    key:
                      enum:
                        - collateral_ltv
                        - combined_ltv
                        - collateral_coverage
                        - eligible_receivables
                        - collateral_haircut_ratio
        - if:
            properties:
              key:
                const: fraud_and_consistency
          then:
            properties:
              metrics:
                items:
                  properties:
                    key:
                      enum:
                        - reconciliation_break_share
                        - duplicate_transaction_share
                        - document_contradiction_count
                        - identity_mismatch_count
                        - declared_income_gap_ratio
        - if:
            properties:
              key:
                const: income_and_affordability
          then:
            properties:
              metrics:
                items:
                  properties:
                    key:
                      enum:
                        - verified_gross_monthly_income
                        - verified_net_monthly_income
                        - debt_to_income
                        - housing_to_income
                        - essential_monthly_spend
                        - residual_monthly_income
                        - payment_to_income
                        - liquid_reserve_months
        - if:
            properties:
              key:
                const: income_stability
          then:
            properties:
              metrics:
                items:
                  properties:
                    key:
                      enum:
                        - income_source_count
                        - income_volatility
                        - income_growth_yoy
                        - days_since_last_income
                        - income_interruption_days
                        - income_continuity_share
        - if:
            properties:
              key:
                const: payment_behavior
          then:
            properties:
              metrics:
                items:
                  properties:
                    key:
                      enum:
                        - nsf_event_count
                        - overdraft_days
                        - returned_payment_amount
                        - delinquent_obligation_count
                        - maximum_days_past_due
                        - on_time_payment_share
        - if:
            properties:
              key:
                const: credit_history
          then:
            properties:
              metrics:
                items:
                  properties:
                    key:
                      enum:
                        - open_credit_obligation_count
                        - bureau_utilization
                        - recent_credit_inquiry_count
                        - severe_delinquency_count
                        - public_record_event_count
        - if:
            properties:
              key:
                const: commerce_performance
          then:
            properties:
              metrics:
                items:
                  properties:
                    key:
                      enum:
                        - gross_sales
                        - net_sales
                        - average_order_value
                        - repeat_customer_share
                        - monthly_recurring_revenue
                        - gross_revenue_retention
                        - net_revenue_retention
                        - settlement_delay_days
        - if:
            properties:
              key:
                const: operating_resilience
          then:
            properties:
              metrics:
                items:
                  properties:
                    key:
                      enum:
                        - payroll_burden_share
                        - payroll_growth_yoy
                        - inventory_stockout_share
                        - fulfillment_on_time_share
                        - supplier_payment_delay_days
        - if:
            properties:
              key:
                const: tax_and_compliance
          then:
            properties:
              metrics:
                items:
                  properties:
                    key:
                      enum:
                        - tax_liability
                        - tax_overdue_amount
                        - tax_payment_coverage
                        - filing_coverage
        - if:
            properties:
              key:
                const: financial_reporting_quality
          then:
            properties:
              metrics:
                items:
                  properties:
                    key:
                      enum:
                        - bank_accounting_match_share
                        - statement_balance_discrepancy
                        - material_adjustment_share
                        - books_closing_lag_days
        - if:
            properties:
              key:
                const: data_quality
          then:
            properties:
              metrics:
                items:
                  properties:
                    key:
                      enum:
                        - observed_account_coverage
                        - covered_history_days
                        - stale_source_share
                        - unclassified_transaction_share
                        - reconciled_value_share
        - if:
            properties:
              key:
                const: forecasting_and_stress
          then:
            properties:
              metrics:
                items:
                  properties:
                    key:
                      enum:
                        - projected_minimum_cash
                        - stress_dscr
                        - stress_residual_income
                        - liquidity_shortfall
                        - break_even_revenue_decline
        - if:
            properties:
              key:
                const: relationship_risk
          then:
            properties:
              metrics:
                items:
                  properties:
                    key:
                      enum:
                        - related_party_receipts_share
                        - circular_flow_amount
                        - connected_counterparty_share
        - if:
            properties:
              key:
                const: monitoring_change
          then:
            properties:
              metrics:
                items:
                  properties:
                    key:
                      enum:
                        - revenue_change_from_baseline
                        - liquidity_change_from_baseline
                        - dscr_change_from_baseline
                        - obligation_growth_from_baseline
    PolicyResult:
      type: object
      properties:
        rule_id:
          type: string
          minLength: 1
          description: >-
            Rule id for PolicyResult. Constraints, requiredness and allowed
            values are defined by this schema.
        result:
          type: string
          enum:
            - pass
            - fail
            - unavailable
            - not_applicable
          description: >-
            Result for PolicyResult. Constraints, requiredness and allowed
            values are defined by this schema.
        actual:
          anyOf:
            - type: string
              minLength: 1
              pattern: ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?$
            - type: 'null'
          description: >-
            Actual for PolicyResult. Constraints, requiredness and allowed
            values are defined by this schema.
        threshold:
          type: string
          minLength: 1
          pattern: ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?$
          description: >-
            Threshold for PolicyResult. Constraints, requiredness and allowed
            values are defined by this schema.
        unit:
          type: string
          minLength: 1
          description: >-
            Unit for PolicyResult. Constraints, requiredness and allowed values
            are defined by this schema.
        explanation:
          type: string
          minLength: 1
          description: >-
            Explanation for PolicyResult. Constraints, requiredness and allowed
            values are defined by this schema.
        evidence_ids:
          type: array
          items:
            type: string
            minLength: 1
            description: >-
              Opaque identifier, authorized within the API key workspace and
              environment.
          uniqueItems: true
          description: >-
            Evidence ids for PolicyResult. Constraints, requiredness and allowed
            values are defined by this schema.
        metric_key:
          type: string
          minLength: 1
        calculation_version:
          type: string
          minLength: 1
        metric_window:
          $ref: '#/components/schemas/Window'
      required:
        - rule_id
        - result
        - actual
        - threshold
        - unit
        - explanation
        - evidence_ids
        - metric_key
        - calculation_version
        - metric_window
      additionalProperties: false
      allOf:
        - if:
            properties:
              result:
                enum:
                  - pass
                  - fail
          then:
            properties:
              actual:
                type: string
                minLength: 1
                pattern: ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?$
          else:
            properties:
              actual:
                type: 'null'
    SourceCoverage:
      type: object
      properties:
        connection_id:
          type: string
          minLength: 1
          description: >-
            Opaque identifier, authorized within the API key workspace and
            environment.
        integration_id:
          type: string
          minLength: 1
          description: >-
            Opaque identifier, authorized within the API key workspace and
            environment.
        source_as_of:
          anyOf:
            - type: string
              minLength: 1
              format: date-time
            - type: 'null'
          description: >-
            Source as of for SourceCoverage. Constraints, requiredness and
            allowed values are defined by this schema.
        retrieved_at:
          type: string
          minLength: 1
          format: date-time
          description: >-
            Retrieved at for SourceCoverage. Constraints, requiredness and
            allowed values are defined by this schema.
        window:
          anyOf:
            - $ref: '#/components/schemas/Window'
            - type: 'null'
          description: >-
            Window for SourceCoverage. Constraints, requiredness and allowed
            values are defined by this schema.
        status:
          type: string
          enum:
            - complete
            - partial
            - unavailable
            - stale
          description: >-
            Current lifecycle state. See the product lifecycle and recovery
            guides.
        limitations:
          type: array
          items:
            type: string
            minLength: 1
          description: >-
            Limitations for SourceCoverage. Constraints, requiredness and
            allowed values are defined by this schema.
      required:
        - connection_id
        - integration_id
        - source_as_of
        - retrieved_at
        - window
        - status
        - limitations
      additionalProperties: false
    AssessmentScope:
      type: object
      properties:
        borrower_type:
          type: string
          enum:
            - business
            - person
        market:
          type: string
          enum:
            - US
            - CA
        reporting_currency:
          type: string
          minLength: 1
          pattern: ^[A-Z]{3}$
        window:
          $ref: '#/components/schemas/Window'
        account_ids:
          type: array
          items:
            type: string
            minLength: 1
          uniqueItems: true
        entity_ids:
          type: array
          items:
            type: string
            minLength: 1
          uniqueItems: true
        consolidation:
          type: string
          enum:
            - single_entity
            - consolidated
            - individual
            - joint
        accounting_basis:
          type: string
          enum:
            - cash
            - accrual
            - mixed
        coverage_basis:
          type: string
          enum:
            - observed_sources
            - declared_sources_reconciled
        excluded_sources:
          type: array
          items:
            type: object
            properties:
              source_id:
                type: string
                minLength: 1
              reason:
                type: string
                minLength: 1
            required:
              - source_id
              - reason
            additionalProperties: false
        fx_rates:
          type: array
          items:
            type: object
            properties:
              from_currency:
                type: string
                minLength: 1
                pattern: ^[A-Z]{3}$
              to_currency:
                type: string
                minLength: 1
                pattern: ^[A-Z]{3}$
              rate:
                type: string
                minLength: 1
                pattern: ^(?:0|[1-9][0-9]*)(?:\.[0-9]+)?$
              as_of:
                type: string
                minLength: 1
                format: date-time
              source:
                type: string
                minLength: 1
              evidence_ids:
                type: array
                items:
                  type: string
                  minLength: 1
                uniqueItems: true
            required:
              - from_currency
              - to_currency
              - rate
              - as_of
              - source
              - evidence_ids
            additionalProperties: false
      required:
        - borrower_type
        - market
        - reporting_currency
        - window
        - account_ids
        - entity_ids
        - consolidation
        - accounting_basis
        - coverage_basis
        - excluded_sources
        - fx_rates
      additionalProperties: false
      description: >-
        Assessment boundaries. Observed sources do not establish all external
        accounts. FX rates must be positive and evidenced; never sum unlike
        currencies. Joint assessments require authorized related borrowers and
        explicit allocation.
    RiskFinding:
      type: object
      properties:
        id:
          type: string
          minLength: 1
        code:
          type: string
          minLength: 1
        dimension_key:
          type: string
          enum:
            - identity
            - ownership_and_control
            - cashflow
            - liquidity
            - revenue_quality
            - profitability
            - working_capital
            - leverage
            - repayment_capacity
            - concentration
            - collateral
            - fraud_and_consistency
            - income_and_affordability
            - income_stability
            - payment_behavior
            - credit_history
            - commerce_performance
            - operating_resilience
            - tax_and_compliance
            - financial_reporting_quality
            - data_quality
            - forecasting_and_stress
            - relationship_risk
            - monitoring_change
        severity:
          type: string
          enum:
            - info
            - warning
            - critical
        nature:
          type: string
          enum:
            - observation
            - calculation
            - inconsistency
            - suspected_anomaly
            - model_output
        summary:
          type: string
          minLength: 1
        explanation:
          type: string
          minLength: 1
        metric_keys:
          type: array
          items:
            type: string
            minLength: 1
        evidence:
          type: array
          items:
            $ref: '#/components/schemas/EvidenceLocation'
          minItems: 1
        limitations:
          type: array
          items:
            type: string
            minLength: 1
      required:
        - id
        - code
        - dimension_key
        - severity
        - nature
        - summary
        - explanation
        - metric_keys
        - evidence
        - limitations
      additionalProperties: false
      description: >-
        Reviewable finding with source locations. Suspicion is not confirmed
        fraud; severity is not a probability of default.
    VerificationCheckSection:
      type: object
      properties:
        status:
          type: string
          enum:
            - available
            - partial
            - unavailable
            - not_applicable
        reason:
          anyOf:
            - type: string
              minLength: 1
            - type: 'null'
        evidence_ids:
          type: array
          items:
            type: string
            minLength: 1
          uniqueItems: true
        items:
          type: array
          items:
            $ref: '#/components/schemas/VerificationCheck'
      required:
        - status
        - reason
        - evidence_ids
        - items
      additionalProperties: false
      description: >-
        Coverage and results for verifications. Empty unavailable/not_applicable
        sections carry an explicit reason. Partial results must identify their
        limitation; an empty list alone never means a clean assessment.
      allOf:
        - if:
            properties:
              status:
                enum:
                  - unavailable
                  - not_applicable
          then:
            properties:
              reason:
                type: string
                minLength: 1
              items:
                maxItems: 0
        - if:
            properties:
              status:
                const: available
          then:
            properties:
              reason:
                type: 'null'
        - if:
            properties:
              status:
                const: partial
          then:
            properties:
              reason:
                type: string
                minLength: 1
              items:
                minItems: 1
    FinancialStatementSection:
      type: object
      properties:
        status:
          type: string
          enum:
            - available
            - partial
            - unavailable
            - not_applicable
        reason:
          anyOf:
            - type: string
              minLength: 1
            - type: 'null'
        evidence_ids:
          type: array
          items:
            type: string
            minLength: 1
          uniqueItems: true
        items:
          type: array
          items:
            $ref: '#/components/schemas/FinancialStatement'
      required:
        - status
        - reason
        - evidence_ids
        - items
      additionalProperties: false
      description: >-
        Coverage and results for financial statements. Empty
        unavailable/not_applicable sections carry an explicit reason. Partial
        results must identify their limitation; an empty list alone never means
        a clean assessment.
      allOf:
        - if:
            properties:
              status:
                enum:
                  - unavailable
                  - not_applicable
          then:
            properties:
              reason:
                type: string
                minLength: 1
              items:
                maxItems: 0
        - if:
            properties:
              status:
                const: available
          then:
            properties:
              reason:
                type: 'null'
        - if:
            properties:
              status:
                const: partial
          then:
            properties:
              reason:
                type: string
                minLength: 1
              items:
                minItems: 1
    DebtObligationSection:
      type: object
      properties:
        status:
          type: string
          enum:
            - available
            - partial
            - unavailable
            - not_applicable
        reason:
          anyOf:
            - type: string
              minLength: 1
            - type: 'null'
        evidence_ids:
          type: array
          items:
            type: string
            minLength: 1
          uniqueItems: true
        items:
          type: array
          items:
            $ref: '#/components/schemas/DebtObligation'
      required:
        - status
        - reason
        - evidence_ids
        - items
      additionalProperties: false
      description: >-
        Coverage and results for obligations. Empty unavailable/not_applicable
        sections carry an explicit reason. Partial results must identify their
        limitation; an empty list alone never means a clean assessment.
      allOf:
        - if:
            properties:
              status:
                enum:
                  - unavailable
                  - not_applicable
          then:
            properties:
              reason:
                type: string
                minLength: 1
              items:
                maxItems: 0
        - if:
            properties:
              status:
                const: available
          then:
            properties:
              reason:
                type: 'null'
        - if:
            properties:
              status:
                const: partial
          then:
            properties:
              reason:
                type: string
                minLength: 1
              items:
                minItems: 1
    IncomeStreamSection:
      type: object
      properties:
        status:
          type: string
          enum:
            - available
            - partial
            - unavailable
            - not_applicable
        reason:
          anyOf:
            - type: string
              minLength: 1
            - type: 'null'
        evidence_ids:
          type: array
          items:
            type: string
            minLength: 1
          uniqueItems: true
        items:
          type: array
          items:
            $ref: '#/components/schemas/IncomeStream'
      required:
        - status
        - reason
        - evidence_ids
        - items
      additionalProperties: false
      description: >-
        Coverage and results for income streams. Empty
        unavailable/not_applicable sections carry an explicit reason. Partial
        results must identify their limitation; an empty list alone never means
        a clean assessment.
      allOf:
        - if:
            properties:
              status:
                enum:
                  - unavailable
                  - not_applicable
          then:
            properties:
              reason:
                type: string
                minLength: 1
              items:
                maxItems: 0
        - if:
            properties:
              status:
                const: available
          then:
            properties:
              reason:
                type: 'null'
        - if:
            properties:
              status:
                const: partial
          then:
            properties:
              reason:
                type: string
                minLength: 1
              items:
                minItems: 1
    ReconciliationSection:
      type: object
      properties:
        status:
          type: string
          enum:
            - available
            - partial
            - unavailable
            - not_applicable
        reason:
          anyOf:
            - type: string
              minLength: 1
            - type: 'null'
        evidence_ids:
          type: array
          items:
            type: string
            minLength: 1
          uniqueItems: true
        items:
          type: array
          items:
            $ref: '#/components/schemas/Reconciliation'
      required:
        - status
        - reason
        - evidence_ids
        - items
      additionalProperties: false
      description: >-
        Coverage and results for reconciliations. Empty
        unavailable/not_applicable sections carry an explicit reason. Partial
        results must identify their limitation; an empty list alone never means
        a clean assessment.
      allOf:
        - if:
            properties:
              status:
                enum:
                  - unavailable
                  - not_applicable
          then:
            properties:
              reason:
                type: string
                minLength: 1
              items:
                maxItems: 0
        - if:
            properties:
              status:
                const: available
          then:
            properties:
              reason:
                type: 'null'
        - if:
            properties:
              status:
                const: partial
          then:
            properties:
              reason:
                type: string
                minLength: 1
              items:
                minItems: 1
    ConcentrationSegmentSection:
      type: object
      properties:
        status:
          type: string
          enum:
            - available
            - partial
            - unavailable
            - not_applicable
        reason:
          anyOf:
            - type: string
              minLength: 1
            - type: 'null'
        evidence_ids:
          type: array
          items:
            type: string
            minLength: 1
          uniqueItems: true
        items:
          type: array
          items:
            $ref: '#/components/schemas/ConcentrationSegment'
      required:
        - status
        - reason
        - evidence_ids
        - items
      additionalProperties: false
      description: >-
        Coverage and results for concentrations. Empty
        unavailable/not_applicable sections carry an explicit reason. Partial
        results must identify their limitation; an empty list alone never means
        a clean assessment.
      allOf:
        - if:
            properties:
              status:
                enum:
                  - unavailable
                  - not_applicable
          then:
            properties:
              reason:
                type: string
                minLength: 1
              items:
                maxItems: 0
        - if:
            properties:
              status:
                const: available
          then:
            properties:
              reason:
                type: 'null'
        - if:
            properties:
              status:
                const: partial
          then:
            properties:
              reason:
                type: string
                minLength: 1
              items:
                minItems: 1
    RiskProjectionSection:
      type: object
      properties:
        status:
          type: string
          enum:
            - available
            - partial
            - unavailable
            - not_applicable
        reason:
          anyOf:
            - type: string
              minLength: 1
            - type: 'null'
        evidence_ids:
          type: array
          items:
            type: string
            minLength: 1
          uniqueItems: true
        items:
          type: array
          items:
            $ref: '#/components/schemas/RiskProjection'
      required:
        - status
        - reason
        - evidence_ids
        - items
      additionalProperties: false
      description: >-
        Coverage and results for projections. Empty unavailable/not_applicable
        sections carry an explicit reason. Partial results must identify their
        limitation; an empty list alone never means a clean assessment.
      allOf:
        - if:
            properties:
              status:
                enum:
                  - unavailable
                  - not_applicable
          then:
            properties:
              reason:
                type: string
                minLength: 1
              items:
                maxItems: 0
        - if:
            properties:
              status:
                const: available
          then:
            properties:
              reason:
                type: 'null'
        - if:
            properties:
              status:
                const: partial
          then:
            properties:
              reason:
                type: string
                minLength: 1
              items:
                minItems: 1
    RiskBenchmarkSection:
      type: object
      properties:
        status:
          type: string
          enum:
            - available
            - partial
            - unavailable
            - not_applicable
        reason:
          anyOf:
            - type: string
              minLength: 1
            - type: 'null'
        evidence_ids:
          type: array
          items:
            type: string
            minLength: 1
          uniqueItems: true
        items:
          type: array
          items:
            $ref: '#/components/schemas/RiskBenchmark'
      required:
        - status
        - reason
        - evidence_ids
        - items
      additionalProperties: false
      description: >-
        Coverage and results for benchmarks. Empty unavailable/not_applicable
        sections carry an explicit reason. Partial results must identify their
        limitation; an empty list alone never means a clean assessment.
      allOf:
        - if:
            properties:
              status:
                enum:
                  - unavailable
                  - not_applicable
          then:
            properties:
              reason:
                type: string
                minLength: 1
              items:
                maxItems: 0
        - if:
            properties:
              status:
                const: available
          then:
            properties:
              reason:
                type: 'null'
        - if:
            properties:
              status:
                const: partial
          then:
            properties:
              reason:
                type: string
                minLength: 1
              items:
                minItems: 1
    RiskModelOutputSection:
      type: object
      properties:
        status:
          type: string
          enum:
            - available
            - partial
            - unavailable
            - not_applicable
        reason:
          anyOf:
            - type: string
              minLength: 1
            - type: 'null'
        evidence_ids:
          type: array
          items:
            type: string
            minLength: 1
          uniqueItems: true
        items:
          type: array
          items:
            $ref: '#/components/schemas/RiskModelOutput'
      required:
        - status
        - reason
        - evidence_ids
        - items
      additionalProperties: false
      description: >-
        Coverage and results for model outputs. Empty unavailable/not_applicable
        sections carry an explicit reason. Partial results must identify their
        limitation; an empty list alone never means a clean assessment.
      allOf:
        - if:
            properties:
              status:
                enum:
                  - unavailable
                  - not_applicable
          then:
            properties:
              reason:
                type: string
                minLength: 1
              items:
                maxItems: 0
        - if:
            properties:
              status:
                const: available
          then:
            properties:
              reason:
                type: 'null'
        - if:
            properties:
              status:
                const: partial
          then:
            properties:
              reason:
                type: string
                minLength: 1
              items:
                minItems: 1
    RiskChangeSection:
      type: object
      properties:
        status:
          type: string
          enum:
            - available
            - partial
            - unavailable
            - not_applicable
        reason:
          anyOf:
            - type: string
              minLength: 1
            - type: 'null'
        evidence_ids:
          type: array
          items:
            type: string
            minLength: 1
          uniqueItems: true
        items:
          type: array
          items:
            $ref: '#/components/schemas/RiskChange'
      required:
        - status
        - reason
        - evidence_ids
        - items
      additionalProperties: false
      description: >-
        Coverage and results for changes. Empty unavailable/not_applicable
        sections carry an explicit reason. Partial results must identify their
        limitation; an empty list alone never means a clean assessment.
      allOf:
        - if:
            properties:
              status:
                enum:
                  - unavailable
                  - not_applicable
          then:
            properties:
              reason:
                type: string
                minLength: 1
              items:
                maxItems: 0
        - if:
            properties:
              status:
                const: available
          then:
            properties:
              reason:
                type: 'null'
        - if:
            properties:
              status:
                const: partial
          then:
            properties:
              reason:
                type: string
                minLength: 1
              items:
                minItems: 1
    CollateralAssetSection:
      type: object
      properties:
        status:
          type: string
          enum:
            - available
            - partial
            - unavailable
            - not_applicable
        reason:
          anyOf:
            - type: string
              minLength: 1
            - type: 'null'
        evidence_ids:
          type: array
          items:
            type: string
            minLength: 1
          uniqueItems: true
        items:
          type: array
          items:
            $ref: '#/components/schemas/CollateralAsset'
      required:
        - status
        - reason
        - evidence_ids
        - items
      additionalProperties: false
      description: >-
        Coverage and results for collateral. Empty unavailable/not_applicable
        sections carry an explicit reason. Partial results must identify their
        limitation; an empty list alone never means a clean assessment.
      allOf:
        - if:
            properties:
              status:
                enum:
                  - unavailable
                  - not_applicable
          then:
            properties:
              reason:
                type: string
                minLength: 1
              items:
                maxItems: 0
        - if:
            properties:
              status:
                const: available
          then:
            properties:
              reason:
                type: 'null'
        - if:
            properties:
              status:
                const: partial
          then:
            properties:
              reason:
                type: string
                minLength: 1
              items:
                minItems: 1
    BorrowerRelationshipSection:
      type: object
      properties:
        status:
          type: string
          enum:
            - available
            - partial
            - unavailable
            - not_applicable
        reason:
          anyOf:
            - type: string
              minLength: 1
            - type: 'null'
        evidence_ids:
          type: array
          items:
            type: string
            minLength: 1
          uniqueItems: true
        items:
          type: array
          items:
            $ref: '#/components/schemas/BorrowerRelationship'
      required:
        - status
        - reason
        - evidence_ids
        - items
      additionalProperties: false
      description: >-
        Coverage and results for relationships. Empty unavailable/not_applicable
        sections carry an explicit reason. Partial results must identify their
        limitation; an empty list alone never means a clean assessment.
      allOf:
        - if:
            properties:
              status:
                enum:
                  - unavailable
                  - not_applicable
          then:
            properties:
              reason:
                type: string
                minLength: 1
              items:
                maxItems: 0
        - if:
            properties:
              status:
                const: available
          then:
            properties:
              reason:
                type: 'null'
        - if:
            properties:
              status:
                const: partial
          then:
            properties:
              reason:
                type: string
                minLength: 1
              items:
                minItems: 1
    CreditReportAssessmentSection:
      type: object
      properties:
        status:
          type: string
          enum:
            - available
            - partial
            - unavailable
            - not_applicable
        reason:
          anyOf:
            - type: string
              minLength: 1
            - type: 'null'
        evidence_ids:
          type: array
          items:
            type: string
            minLength: 1
          uniqueItems: true
        items:
          type: array
          items:
            $ref: '#/components/schemas/CreditReportAssessment'
      required:
        - status
        - reason
        - evidence_ids
        - items
      additionalProperties: false
      description: >-
        Coverage and results for credit reports. Empty
        unavailable/not_applicable sections carry an explicit reason. Partial
        results must identify their limitation; an empty list alone never means
        a clean assessment.
      allOf:
        - if:
            properties:
              status:
                enum:
                  - unavailable
                  - not_applicable
          then:
            properties:
              reason:
                type: string
                minLength: 1
              items:
                maxItems: 0
        - if:
            properties:
              status:
                const: available
          then:
            properties:
              reason:
                type: 'null'
        - if:
            properties:
              status:
                const: partial
          then:
            properties:
              reason:
                type: string
                minLength: 1
              items:
                minItems: 1
    TaxObligationSection:
      type: object
      properties:
        status:
          type: string
          enum:
            - available
            - partial
            - unavailable
            - not_applicable
        reason:
          anyOf:
            - type: string
              minLength: 1
            - type: 'null'
        evidence_ids:
          type: array
          items:
            type: string
            minLength: 1
          uniqueItems: true
        items:
          type: array
          items:
            $ref: '#/components/schemas/TaxObligation'
      required:
        - status
        - reason
        - evidence_ids
        - items
      additionalProperties: false
      description: >-
        Coverage and results for tax obligations. Empty
        unavailable/not_applicable sections carry an explicit reason. Partial
        results must identify their limitation; an empty list alone never means
        a clean assessment.
      allOf:
        - if:
            properties:
              status:
                enum:
                  - unavailable
                  - not_applicable
          then:
            properties:
              reason:
                type: string
                minLength: 1
              items:
                maxItems: 0
        - if:
            properties:
              status:
                const: available
          then:
            properties:
              reason:
                type: 'null'
        - if:
            properties:
              status:
                const: partial
          then:
            properties:
              reason:
                type: string
                minLength: 1
              items:
                minItems: 1
    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
    LendingProductInput:
      type: object
      properties:
        external_id:
          type: string
          minLength: 1
          description: >-
            External id for LendingProductInput. Constraints, requiredness and
            allowed values are defined by this schema.
        version:
          type: string
          minLength: 1
          description: >-
            Version for LendingProductInput. Constraints, requiredness and
            allowed values are defined by this schema.
        name:
          type: string
          minLength: 1
          description: >-
            Name for LendingProductInput. Constraints, requiredness and allowed
            values are defined by this schema.
        borrower_type:
          type: string
          enum:
            - business
            - person
          description: >-
            Borrower type for LendingProductInput. Constraints, requiredness and
            allowed values are defined by this schema.
        market:
          type: string
          enum:
            - US
            - CA
          description: >-
            Market for LendingProductInput. Constraints, requiredness and
            allowed values are defined by this schema.
        currency:
          type: string
          minLength: 1
          pattern: ^[A-Z]{3}$
          description: >-
            Currency for LendingProductInput. Constraints, requiredness and
            allowed values are defined by this schema.
        product_type:
          type: string
          enum:
            - term_loan
            - line_of_credit
            - receivables_financing
            - revenue_based_financing
            - other
          description: >-
            Product type for LendingProductInput. Constraints, requiredness and
            allowed values are defined by this schema.
        minimum_amount:
          $ref: '#/components/schemas/Money'
          description: >-
            Minimum amount for LendingProductInput. Constraints, requiredness
            and allowed values are defined by this schema.
        maximum_amount:
          $ref: '#/components/schemas/Money'
          description: >-
            Maximum amount for LendingProductInput. Constraints, requiredness
            and allowed values are defined by this schema.
        minimum_term_months:
          type: integer
          minimum: 1
          description: >-
            Minimum term months for LendingProductInput. Constraints,
            requiredness and allowed values are defined by this schema.
        maximum_term_months:
          type: integer
          minimum: 1
          description: >-
            Maximum term months for LendingProductInput. Constraints,
            requiredness and allowed values are defined by this schema.
        repayment_frequency:
          type: string
          enum:
            - daily
            - weekly
            - biweekly
            - monthly
            - at_maturity
            - variable
          description: >-
            Repayment frequency for LendingProductInput. Constraints,
            requiredness and allowed values are defined by this schema.
        pricing_schema_id:
          type: string
          minLength: 1
          description: >-
            Opaque identifier, authorized within the API key workspace and
            environment.
        pricing:
          type: object
          description: >-
            Rate, fees, amortization and other product-specific economics,
            validated against the approved pricing_schema_id. All inputs needed
            for repayment analysis must be captured, not inferred.
        terms_document_ids:
          type: array
          items:
            type: string
            minLength: 1
            description: >-
              Opaque identifier, authorized within the API key workspace and
              environment.
          uniqueItems: true
          description: >-
            Terms document ids for LendingProductInput. Constraints,
            requiredness and allowed values are defined by this schema.
      required:
        - external_id
        - version
        - name
        - borrower_type
        - market
        - currency
        - product_type
        - minimum_amount
        - maximum_amount
        - minimum_term_months
        - maximum_term_months
        - repayment_frequency
        - pricing_schema_id
        - pricing
        - terms_document_ids
      additionalProperties: false
      description: >-
        An immutable catalog version, not a merchant inventory product. Validate
        amount currencies, ordered bounds and approved terms before accepting.
        No modification or deletion of an accepted version.
    RiskPolicyInput:
      type: object
      properties:
        external_id:
          type: string
          minLength: 1
          description: >-
            External id for RiskPolicyInput. Constraints, requiredness and
            allowed values are defined by this schema.
        version:
          type: string
          minLength: 1
          description: >-
            Version for RiskPolicyInput. Constraints, requiredness and allowed
            values are defined by this schema.
        name:
          type: string
          minLength: 1
          description: >-
            Name for RiskPolicyInput. Constraints, requiredness and allowed
            values are defined by this schema.
        borrower_type:
          type: string
          enum:
            - business
            - person
          description: >-
            Borrower type for RiskPolicyInput. Constraints, requiredness and
            allowed values are defined by this schema.
        market:
          type: string
          enum:
            - US
            - CA
          description: >-
            Market for RiskPolicyInput. Constraints, requiredness and allowed
            values are defined by this schema.
        rules:
          type: array
          items:
            $ref: '#/components/schemas/PolicyRule'
          minItems: 1
          description: >-
            Rules for RiskPolicyInput. Constraints, requiredness and allowed
            values are defined by this schema.
        policy_document_ids:
          type: array
          items:
            type: string
            minLength: 1
            description: >-
              Opaque identifier, authorized within the API key workspace and
              environment.
          uniqueItems: true
          description: >-
            Policy document ids for RiskPolicyInput. Constraints, requiredness
            and allowed values are defined by this schema.
      required:
        - external_id
        - version
        - name
        - borrower_type
        - market
        - rules
        - policy_document_ids
      additionalProperties: false
      description: >-
        Validated against authorized dimensions and the institution-approved
        policy before use. Documents provide context; they are not automatically
        executable policies.
    Metric:
      type: object
      properties:
        key:
          type: string
          enum:
            - business_age_months
            - verified_account_owner_ratio
            - ownership_disclosed_ratio
            - related_party_balance_share
            - supported_guarantee_coverage
            - total_inflows
            - total_outflows
            - net_cash_flow
            - operating_cash_inflows
            - operating_cash_outflows
            - operating_net_cash_flow
            - internal_transfer_inflows
            - financing_inflows
            - positive_cashflow_month_share
            - cashflow_volatility
            - cashflow_change_90d
            - unrestricted_cash
            - average_daily_balance
            - minimum_daily_balance
            - negative_balance_days
            - cash_buffer_days
            - current_ratio
            - quick_ratio
            - cash_ratio
            - verified_revenue
            - recurring_revenue_share
            - revenue_growth_yoy
            - revenue_growth_90d
            - revenue_volatility
            - refund_amount_share
            - chargeback_amount_share
            - revenue_cash_realization
            - unverified_receipts_share
            - nonrecurring_revenue_share
            - gross_profit
            - gross_margin
            - ebitda
            - ebitda_margin
            - operating_profit
            - operating_margin
            - net_profit
            - net_margin
            - free_cash_flow
            - return_on_assets
            - net_working_capital
            - receivables_days
            - payables_days
            - inventory_days
            - cash_conversion_cycle
            - ar_overdue_share
            - ar_90_plus_share
            - ap_overdue_share
            - inventory_turnover
            - total_debt
            - net_debt
            - debt_to_assets
            - debt_to_equity
            - net_debt_to_ebitda
            - credit_utilization
            - short_term_debt_share
            - debt_maturing_90d
            - dscr
            - fixed_charge_coverage
            - interest_coverage
            - existing_debt_service
            - proposed_debt_service
            - total_debt_service
            - residual_cash_after_debt
            - debt_service_headroom
            - debt_payment_to_receipts
            - top_customer_share
            - top_five_customer_share
            - top_supplier_share
            - top_channel_share
            - customer_hhi
            - income_source_hhi
            - collateral_ltv
            - combined_ltv
            - collateral_coverage
            - eligible_receivables
            - collateral_haircut_ratio
            - reconciliation_break_share
            - duplicate_transaction_share
            - document_contradiction_count
            - identity_mismatch_count
            - declared_income_gap_ratio
            - verified_gross_monthly_income
            - verified_net_monthly_income
            - debt_to_income
            - housing_to_income
            - essential_monthly_spend
            - residual_monthly_income
            - payment_to_income
            - liquid_reserve_months
            - income_source_count
            - income_volatility
            - income_growth_yoy
            - days_since_last_income
            - income_interruption_days
            - income_continuity_share
            - nsf_event_count
            - overdraft_days
            - returned_payment_amount
            - delinquent_obligation_count
            - maximum_days_past_due
            - on_time_payment_share
            - open_credit_obligation_count
            - bureau_utilization
            - recent_credit_inquiry_count
            - severe_delinquency_count
            - public_record_event_count
            - gross_sales
            - net_sales
            - average_order_value
            - repeat_customer_share
            - monthly_recurring_revenue
            - gross_revenue_retention
            - net_revenue_retention
            - settlement_delay_days
            - payroll_burden_share
            - payroll_growth_yoy
            - inventory_stockout_share
            - fulfillment_on_time_share
            - supplier_payment_delay_days
            - tax_liability
            - tax_overdue_amount
            - tax_payment_coverage
            - filing_coverage
            - bank_accounting_match_share
            - statement_balance_discrepancy
            - material_adjustment_share
            - books_closing_lag_days
            - observed_account_coverage
            - covered_history_days
            - stale_source_share
            - unclassified_transaction_share
            - reconciled_value_share
            - projected_minimum_cash
            - stress_dscr
            - stress_residual_income
            - liquidity_shortfall
            - break_even_revenue_decline
            - related_party_receipts_share
            - circular_flow_amount
            - connected_counterparty_share
            - revenue_change_from_baseline
            - liquidity_change_from_baseline
            - dscr_change_from_baseline
            - obligation_growth_from_baseline
        label:
          type: string
          minLength: 1
          description: >-
            Label for Metric. Constraints, requiredness and allowed values are
            defined by this schema.
        status:
          type: string
          enum:
            - available
            - unavailable
            - not_applicable
          description: >-
            Current lifecycle state. See the product lifecycle and recovery
            guides.
        value:
          anyOf:
            - type: string
              minLength: 1
              pattern: ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?$
            - type: 'null'
          description: >-
            Exact decimal string. Ratio 0.25 means 25%; missing is null, never
            zero. No arbitrary composite credit score.
        unit:
          type: string
          minLength: 1
          description: >-
            Unit for Metric. Constraints, requiredness and allowed values are
            defined by this schema.
        window:
          $ref: '#/components/schemas/Window'
          description: >-
            Window for Metric. Constraints, requiredness and allowed values are
            defined by this schema.
        calculation_version:
          type: string
          minLength: 1
          description: >-
            Calculation version for Metric. Constraints, requiredness and
            allowed values are defined by this schema.
        missing_reason:
          anyOf:
            - type: string
              minLength: 1
            - type: 'null'
          description: >-
            Missing reason for Metric. Constraints, requiredness and allowed
            values are defined by this schema.
        evidence_ids:
          type: array
          items:
            type: string
            minLength: 1
            description: >-
              Opaque identifier, authorized within the API key workspace and
              environment.
          uniqueItems: true
          description: >-
            Evidence ids for Metric. Constraints, requiredness and allowed
            values are defined by this schema.
        analysis_basis:
          type: string
          enum:
            - historical
            - pro_forma
            - scenario
        assumptions:
          type: array
          items:
            type: string
            minLength: 1
        definition_version:
          const: 2026-11-06.1
        currency:
          anyOf:
            - type: string
              minLength: 1
              pattern: ^[A-Z]{3}$
            - type: 'null'
        as_of:
          type: string
          minLength: 1
          format: date-time
        basis:
          type: string
          enum:
            - observed
            - declared
            - derived
            - estimated
        reason_code:
          anyOf:
            - type: string
              enum:
                - missing_source
                - insufficient_history
                - stale_source
                - incomplete_coverage
                - restricted_source
                - invalid_denominator
                - conflicting_evidence
                - unsupported_scope
                - not_applicable
                - not_evaluated
                - no_comparable_baseline
                - model_not_eligible
            - type: 'null'
        inputs:
          type: array
          items:
            $ref: '#/components/schemas/CalculationInput'
        coverage:
          type: object
          properties:
            observed_days:
              type: integer
              minimum: 0
            expected_days:
              type: integer
              minimum: 0
            scope_note:
              type: string
              minLength: 1
          required:
            - observed_days
            - expected_days
            - scope_note
          additionalProperties: false
        series:
          type: array
          items:
            $ref: '#/components/schemas/MetricObservation'
          description: >-
            Ordered historical observations using this metric definition, unit,
            currency and scope. Missing periods are explicit unavailable
            observations; no interpolation without an estimated basis.
      required:
        - key
        - label
        - status
        - value
        - unit
        - window
        - calculation_version
        - missing_reason
        - evidence_ids
        - analysis_basis
        - assumptions
        - definition_version
        - currency
        - as_of
        - basis
        - reason_code
        - inputs
        - coverage
        - series
      additionalProperties: false
      allOf:
        - if:
            properties:
              status:
                const: available
          then:
            properties:
              value:
                type: string
                minLength: 1
                pattern: ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?$
              missing_reason:
                type: 'null'
          else:
            properties:
              value:
                type: 'null'
              missing_reason:
                type: string
                minLength: 1
        - if:
            properties:
              analysis_basis:
                enum:
                  - pro_forma
                  - scenario
          then:
            properties:
              assumptions:
                minItems: 1
        - if:
            properties:
              unit:
                const: currency
          then:
            properties:
              currency:
                type: string
                minLength: 1
                pattern: ^[A-Z]{3}$
          else:
            properties:
              currency:
                type: 'null'
        - if:
            properties:
              status:
                const: available
          then:
            properties:
              reason_code:
                type: 'null'
              inputs:
                minItems: 1
              evidence_ids:
                minItems: 1
          else:
            properties:
              reason_code:
                type: string
                enum:
                  - missing_source
                  - insufficient_history
                  - stale_source
                  - incomplete_coverage
                  - restricted_source
                  - invalid_denominator
                  - conflicting_evidence
                  - unsupported_scope
                  - not_applicable
                  - not_evaluated
                  - no_comparable_baseline
                  - model_not_eligible
        - if:
            properties:
              key:
                const: business_age_months
          then:
            properties:
              unit:
                const: months
              calculation_version:
                const: amlok-business_age_months-1
        - if:
            properties:
              key:
                const: verified_account_owner_ratio
          then:
            properties:
              unit:
                const: ratio
              calculation_version:
                const: amlok-verified_account_owner_ratio-1
        - if:
            properties:
              key:
                const: ownership_disclosed_ratio
          then:
            properties:
              unit:
                const: ratio
              calculation_version:
                const: amlok-ownership_disclosed_ratio-1
        - if:
            properties:
              key:
                const: related_party_balance_share
          then:
            properties:
              unit:
                const: ratio
              calculation_version:
                const: amlok-related_party_balance_share-1
        - if:
            properties:
              key:
                const: supported_guarantee_coverage
          then:
            properties:
              unit:
                const: ratio
              calculation_version:
                const: amlok-supported_guarantee_coverage-1
        - if:
            properties:
              key:
                const: total_inflows
          then:
            properties:
              unit:
                const: currency
              calculation_version:
                const: amlok-total_inflows-1
        - if:
            properties:
              key:
                const: total_outflows
          then:
            properties:
              unit:
                const: currency
              calculation_version:
                const: amlok-total_outflows-1
        - if:
            properties:
              key:
                const: net_cash_flow
          then:
            properties:
              unit:
                const: currency
              calculation_version:
                const: amlok-net_cash_flow-1
        - if:
            properties:
              key:
                const: operating_cash_inflows
          then:
            properties:
              unit:
                const: currency
              calculation_version:
                const: amlok-operating_cash_inflows-1
        - if:
            properties:
              key:
                const: operating_cash_outflows
          then:
            properties:
              unit:
                const: currency
              calculation_version:
                const: amlok-operating_cash_outflows-1
        - if:
            properties:
              key:
                const: operating_net_cash_flow
          then:
            properties:
              unit:
                const: currency
              calculation_version:
                const: amlok-operating_net_cash_flow-1
        - if:
            properties:
              key:
                const: internal_transfer_inflows
          then:
            properties:
              unit:
                const: currency
              calculation_version:
                const: amlok-internal_transfer_inflows-1
        - if:
            properties:
              key:
                const: financing_inflows
          then:
            properties:
              unit:
                const: currency
              calculation_version:
                const: amlok-financing_inflows-1
        - if:
            properties:
              key:
                const: positive_cashflow_month_share
          then:
            properties:
              unit:
                const: ratio
              calculation_version:
                const: amlok-positive_cashflow_month_share-1
        - if:
            properties:
              key:
                const: cashflow_volatility
          then:
            properties:
              unit:
                const: ratio
              calculation_version:
                const: amlok-cashflow_volatility-1
        - if:
            properties:
              key:
                const: cashflow_change_90d
          then:
            properties:
              unit:
                const: ratio
              calculation_version:
                const: amlok-cashflow_change_90d-1
        - if:
            properties:
              key:
                const: unrestricted_cash
          then:
            properties:
              unit:
                const: currency
              calculation_version:
                const: amlok-unrestricted_cash-1
        - if:
            properties:
              key:
                const: average_daily_balance
          then:
            properties:
              unit:
                const: currency
              calculation_version:
                const: amlok-average_daily_balance-1
        - if:
            properties:
              key:
                const: minimum_daily_balance
          then:
            properties:
              unit:
                const: currency
              calculation_version:
                const: amlok-minimum_daily_balance-1
        - if:
            properties:
              key:
                const: negative_balance_days
          then:
            properties:
              unit:
                const: days
              calculation_version:
                const: amlok-negative_balance_days-1
        - if:
            properties:
              key:
                const: cash_buffer_days
          then:
            properties:
              unit:
                const: days
              calculation_version:
                const: amlok-cash_buffer_days-1
        - if:
            properties:
              key:
                const: current_ratio
          then:
            properties:
              unit:
                const: ratio
              calculation_version:
                const: amlok-current_ratio-1
        - if:
            properties:
              key:
                const: quick_ratio
          then:
            properties:
              unit:
                const: ratio
              calculation_version:
                const: amlok-quick_ratio-1
        - if:
            properties:
              key:
                const: cash_ratio
          then:
            properties:
              unit:
                const: ratio
              calculation_version:
                const: amlok-cash_ratio-1
        - if:
            properties:
              key:
                const: verified_revenue
          then:
            properties:
              unit:
                const: currency
              calculation_version:
                const: amlok-verified_revenue-1
        - if:
            properties:
              key:
                const: recurring_revenue_share
          then:
            properties:
              unit:
                const: ratio
              calculation_version:
                const: amlok-recurring_revenue_share-1
        - if:
            properties:
              key:
                const: revenue_growth_yoy
          then:
            properties:
              unit:
                const: ratio
              calculation_version:
                const: amlok-revenue_growth_yoy-1
        - if:
            properties:
              key:
                const: revenue_growth_90d
          then:
            properties:
              unit:
                const: ratio
              calculation_version:
                const: amlok-revenue_growth_90d-1
        - if:
            properties:
              key:
                const: revenue_volatility
          then:
            properties:
              unit:
                const: ratio
              calculation_version:
                const: amlok-revenue_volatility-1
        - if:
            properties:
              key:
                const: refund_amount_share
          then:
            properties:
              unit:
                const: ratio
              calculation_version:
                const: amlok-refund_amount_share-1
        - if:
            properties:
              key:
                const: chargeback_amount_share
          then:
            properties:
              unit:
                const: ratio
              calculation_version:
                const: amlok-chargeback_amount_share-1
        - if:
            properties:
              key:
                const: revenue_cash_realization
          then:
            properties:
              unit:
                const: ratio
              calculation_version:
                const: amlok-revenue_cash_realization-1
        - if:
            properties:
              key:
                const: unverified_receipts_share
          then:
            properties:
              unit:
                const: ratio
              calculation_version:
                const: amlok-unverified_receipts_share-1
        - if:
            properties:
              key:
                const: nonrecurring_revenue_share
          then:
            properties:
              unit:
                const: ratio
              calculation_version:
                const: amlok-nonrecurring_revenue_share-1
        - if:
            properties:
              key:
                const: gross_profit
          then:
            properties:
              unit:
                const: currency
              calculation_version:
                const: amlok-gross_profit-1
        - if:
            properties:
              key:
                const: gross_margin
          then:
            properties:
              unit:
                const: ratio
              calculation_version:
                const: amlok-gross_margin-1
        - if:
            properties:
              key:
                const: ebitda
          then:
            properties:
              unit:
                const: currency
              calculation_version:
                const: amlok-ebitda-1
        - if:
            properties:
              key:
                const: ebitda_margin
          then:
            properties:
              unit:
                const: ratio
              calculation_version:
                const: amlok-ebitda_margin-1
        - if:
            properties:
              key:
                const: operating_profit
          then:
            properties:
              unit:
                const: currency
              calculation_version:
                const: amlok-operating_profit-1
        - if:
            properties:
              key:
                const: operating_margin
          then:
            properties:
              unit:
                const: ratio
              calculation_version:
                const: amlok-operating_margin-1
        - if:
            properties:
              key:
                const: net_profit
          then:
            properties:
              unit:
                const: currency
              calculation_version:
                const: amlok-net_profit-1
        - if:
            properties:
              key:
                const: net_margin
          then:
            properties:
              unit:
                const: ratio
              calculation_version:
                const: amlok-net_margin-1
        - if:
            properties:
              key:
                const: free_cash_flow
          then:
            properties:
              unit:
                const: currency
              calculation_version:
                const: amlok-free_cash_flow-1
        - if:
            properties:
              key:
                const: return_on_assets
          then:
            properties:
              unit:
                const: ratio
              calculation_version:
                const: amlok-return_on_assets-1
        - if:
            properties:
              key:
                const: net_working_capital
          then:
            properties:
              unit:
                const: currency
              calculation_version:
                const: amlok-net_working_capital-1
        - if:
            properties:
              key:
                const: receivables_days
          then:
            properties:
              unit:
                const: days
              calculation_version:
                const: amlok-receivables_days-1
        - if:
            properties:
              key:
                const: payables_days
          then:
            properties:
              unit:
                const: days
              calculation_version:
                const: amlok-payables_days-1
        - if:
            properties:
              key:
                const: inventory_days
          then:
            properties:
              unit:
                const: days
              calculation_version:
                const: amlok-inventory_days-1
        - if:
            properties:
              key:
                const: cash_conversion_cycle
          then:
            properties:
              unit:
                const: days
              calculation_version:
                const: amlok-cash_conversion_cycle-1
        - if:
            properties:
              key:
                const: ar_overdue_share
          then:
            properties:
              unit:
                const: ratio
              calculation_version:
                const: amlok-ar_overdue_share-1
        - if:
            properties:
              key:
                const: ar_90_plus_share
          then:
            properties:
              unit:
                const: ratio
              calculation_version:
                const: amlok-ar_90_plus_share-1
        - if:
            properties:
              key:
                const: ap_overdue_share
          then:
            properties:
              unit:
                const: ratio
              calculation_version:
                const: amlok-ap_overdue_share-1
        - if:
            properties:
              key:
                const: inventory_turnover
          then:
            properties:
              unit:
                const: ratio
              calculation_version:
                const: amlok-inventory_turnover-1
        - if:
            properties:
              key:
                const: total_debt
          then:
            properties:
              unit:
                const: currency
              calculation_version:
                const: amlok-total_debt-1
        - if:
            properties:
              key:
                const: net_debt
          then:
            properties:
              unit:
                const: currency
              calculation_version:
                const: amlok-net_debt-1
        - if:
            properties:
              key:
                const: debt_to_assets
          then:
            properties:
              unit:
                const: ratio
              calculation_version:
                const: amlok-debt_to_assets-1
        - if:
            properties:
              key:
                const: debt_to_equity
          then:
            properties:
              unit:
                const: ratio
              calculation_version:
                const: amlok-debt_to_equity-1
        - if:
            properties:
              key:
                const: net_debt_to_ebitda
          then:
            properties:
              unit:
                const: ratio
              calculation_version:
                const: amlok-net_debt_to_ebitda-1
        - if:
            properties:
              key:
                const: credit_utilization
          then:
            properties:
              unit:
                const: ratio
              calculation_version:
                const: amlok-credit_utilization-1
        - if:
            properties:
              key:
                const: short_term_debt_share
          then:
            properties:
              unit:
                const: ratio
              calculation_version:
                const: amlok-short_term_debt_share-1
        - if:
            properties:
              key:
                const: debt_maturing_90d
          then:
            properties:
              unit:
                const: currency
              calculation_version:
                const: amlok-debt_maturing_90d-1
        - if:
            properties:
              key:
                const: dscr
          then:
            properties:
              unit:
                const: ratio
              calculation_version:
                const: amlok-dscr-1
        - if:
            properties:
              key:
                const: fixed_charge_coverage
          then:
            properties:
              unit:
                const: ratio
              calculation_version:
                const: amlok-fixed_charge_coverage-1
        - if:
            properties:
              key:
                const: interest_coverage
          then:
            properties:
              unit:
                const: ratio
              calculation_version:
                const: amlok-interest_coverage-1
        - if:
            properties:
              key:
                const: existing_debt_service
          then:
            properties:
              unit:
                const: currency
              calculation_version:
                const: amlok-existing_debt_service-1
        - if:
            properties:
              key:
                const: proposed_debt_service
          then:
            properties:
              unit:
                const: currency
              calculation_version:
                const: amlok-proposed_debt_service-1
        - if:
            properties:
              key:
                const: total_debt_service
          then:
            properties:
              unit:
                const: currency
              calculation_version:
                const: amlok-total_debt_service-1
        - if:
            properties:
              key:
                const: residual_cash_after_debt
          then:
            properties:
              unit:
                const: currency
              calculation_version:
                const: amlok-residual_cash_after_debt-1
        - if:
            properties:
              key:
                const: debt_service_headroom
          then:
            properties:
              unit:
                const: currency
              calculation_version:
                const: amlok-debt_service_headroom-1
        - if:
            properties:
              key:
                const: debt_payment_to_receipts
          then:
            properties:
              unit:
                const: ratio
              calculation_version:
                const: amlok-debt_payment_to_receipts-1
        - if:
            properties:
              key:
                const: top_customer_share
          then:
            properties:
              unit:
                const: ratio
              calculation_version:
                const: amlok-top_customer_share-1
        - if:
            properties:
              key:
                const: top_five_customer_share
          then:
            properties:
              unit:
                const: ratio
              calculation_version:
                const: amlok-top_five_customer_share-1
        - if:
            properties:
              key:
                const: top_supplier_share
          then:
            properties:
              unit:
                const: ratio
              calculation_version:
                const: amlok-top_supplier_share-1
        - if:
            properties:
              key:
                const: top_channel_share
          then:
            properties:
              unit:
                const: ratio
              calculation_version:
                const: amlok-top_channel_share-1
        - if:
            properties:
              key:
                const: customer_hhi
          then:
            properties:
              unit:
                const: ratio
              calculation_version:
                const: amlok-customer_hhi-1
        - if:
            properties:
              key:
                const: income_source_hhi
          then:
            properties:
              unit:
                const: ratio
              calculation_version:
                const: amlok-income_source_hhi-1
        - if:
            properties:
              key:
                const: collateral_ltv
          then:
            properties:
              unit:
                const: ratio
              calculation_version:
                const: amlok-collateral_ltv-1
        - if:
            properties:
              key:
                const: combined_ltv
          then:
            properties:
              unit:
                const: ratio
              calculation_version:
                const: amlok-combined_ltv-1
        - if:
            properties:
              key:
                const: collateral_coverage
          then:
            properties:
              unit:
                const: ratio
              calculation_version:
                const: amlok-collateral_coverage-1
        - if:
            properties:
              key:
                const: eligible_receivables
          then:
            properties:
              unit:
                const: currency
              calculation_version:
                const: amlok-eligible_receivables-1
        - if:
            properties:
              key:
                const: collateral_haircut_ratio
          then:
            properties:
              unit:
                const: ratio
              calculation_version:
                const: amlok-collateral_haircut_ratio-1
        - if:
            properties:
              key:
                const: reconciliation_break_share
          then:
            properties:
              unit:
                const: ratio
              calculation_version:
                const: amlok-reconciliation_break_share-1
        - if:
            properties:
              key:
                const: duplicate_transaction_share
          then:
            properties:
              unit:
                const: ratio
              calculation_version:
                const: amlok-duplicate_transaction_share-1
        - if:
            properties:
              key:
                const: document_contradiction_count
          then:
            properties:
              unit:
                const: count
              calculation_version:
                const: amlok-document_contradiction_count-1
        - if:
            properties:
              key:
                const: identity_mismatch_count
          then:
            properties:
              unit:
                const: count
              calculation_version:
                const: amlok-identity_mismatch_count-1
        - if:
            properties:
              key:
                const: declared_income_gap_ratio
          then:
            properties:
              unit:
                const: ratio
              calculation_version:
                const: amlok-declared_income_gap_ratio-1
        - if:
            properties:
              key:
                const: verified_gross_monthly_income
          then:
            properties:
              unit:
                const: currency
              calculation_version:
                const: amlok-verified_gross_monthly_income-1
        - if:
            properties:
              key:
                const: verified_net_monthly_income
          then:
            properties:
              unit:
                const: currency
              calculation_version:
                const: amlok-verified_net_monthly_income-1
        - if:
            properties:
              key:
                const: debt_to_income
          then:
            properties:
              unit:
                const: ratio
              calculation_version:
                const: amlok-debt_to_income-1
        - if:
            properties:
              key:
                const: housing_to_income
          then:
            properties:
              unit:
                const: ratio
              calculation_version:
                const: amlok-housing_to_income-1
        - if:
            properties:
              key:
                const: essential_monthly_spend
          then:
            properties:
              unit:
                const: currency
              calculation_version:
                const: amlok-essential_monthly_spend-1
        - if:
            properties:
              key:
                const: residual_monthly_income
          then:
            properties:
              unit:
                const: currency
              calculation_version:
                const: amlok-residual_monthly_income-1
        - if:
            properties:
              key:
                const: payment_to_income
          then:
            properties:
              unit:
                const: ratio
              calculation_version:
                const: amlok-payment_to_income-1
        - if:
            properties:
              key:
                const: liquid_reserve_months
          then:
            properties:
              unit:
                const: months
              calculation_version:
                const: amlok-liquid_reserve_months-1
        - if:
            properties:
              key:
                const: income_source_count
          then:
            properties:
              unit:
                const: count
              calculation_version:
                const: amlok-income_source_count-1
        - if:
            properties:
              key:
                const: income_volatility
          then:
            properties:
              unit:
                const: ratio
              calculation_version:
                const: amlok-income_volatility-1
        - if:
            properties:
              key:
                const: income_growth_yoy
          then:
            properties:
              unit:
                const: ratio
              calculation_version:
                const: amlok-income_growth_yoy-1
        - if:
            properties:
              key:
                const: days_since_last_income
          then:
            properties:
              unit:
                const: days
              calculation_version:
                const: amlok-days_since_last_income-1
        - if:
            properties:
              key:
                const: income_interruption_days
          then:
            properties:
              unit:
                const: days
              calculation_version:
                const: amlok-income_interruption_days-1
        - if:
            properties:
              key:
                const: income_continuity_share
          then:
            properties:
              unit:
                const: ratio
              calculation_version:
                const: amlok-income_continuity_share-1
        - if:
            properties:
              key:
                const: nsf_event_count
          then:
            properties:
              unit:
                const: count
              calculation_version:
                const: amlok-nsf_event_count-1
        - if:
            properties:
              key:
                const: overdraft_days
          then:
            properties:
              unit:
                const: days
              calculation_version:
                const: amlok-overdraft_days-1
        - if:
            properties:
              key:
                const: returned_payment_amount
          then:
            properties:
              unit:
                const: currency
              calculation_version:
                const: amlok-returned_payment_amount-1
        - if:
            properties:
              key:
                const: delinquent_obligation_count
          then:
            properties:
              unit:
                const: count
              calculation_version:
                const: amlok-delinquent_obligation_count-1
        - if:
            properties:
              key:
                const: maximum_days_past_due
          then:
            properties:
              unit:
                const: days
              calculation_version:
                const: amlok-maximum_days_past_due-1
        - if:
            properties:
              key:
                const: on_time_payment_share
          then:
            properties:
              unit:
                const: ratio
              calculation_version:
                const: amlok-on_time_payment_share-1
        - if:
            properties:
              key:
                const: open_credit_obligation_count
          then:
            properties:
              unit:
                const: count
              calculation_version:
                const: amlok-open_credit_obligation_count-1
        - if:
            properties:
              key:
                const: bureau_utilization
          then:
            properties:
              unit:
                const: ratio
              calculation_version:
                const: amlok-bureau_utilization-1
        - if:
            properties:
              key:
                const: recent_credit_inquiry_count
          then:
            properties:
              unit:
                const: count
              calculation_version:
                const: amlok-recent_credit_inquiry_count-1
        - if:
            properties:
              key:
                const: severe_delinquency_count
          then:
            properties:
              unit:
                const: count
              calculation_version:
                const: amlok-severe_delinquency_count-1
        - if:
            properties:
              key:
                const: public_record_event_count
          then:
            properties:
              unit:
                const: count
              calculation_version:
                const: amlok-public_record_event_count-1
        - if:
            properties:
              key:
                const: gross_sales
          then:
            properties:
              unit:
                const: currency
              calculation_version:
                const: amlok-gross_sales-1
        - if:
            properties:
              key:
                const: net_sales
          then:
            properties:
              unit:
                const: currency
              calculation_version:
                const: amlok-net_sales-1
        - if:
            properties:
              key:
                const: average_order_value
          then:
            properties:
              unit:
                const: currency
              calculation_version:
                const: amlok-average_order_value-1
        - if:
            properties:
              key:
                const: repeat_customer_share
          then:
            properties:
              unit:
                const: ratio
              calculation_version:
                const: amlok-repeat_customer_share-1
        - if:
            properties:
              key:
                const: monthly_recurring_revenue
          then:
            properties:
              unit:
                const: currency
              calculation_version:
                const: amlok-monthly_recurring_revenue-1
        - if:
            properties:
              key:
                const: gross_revenue_retention
          then:
            properties:
              unit:
                const: ratio
              calculation_version:
                const: amlok-gross_revenue_retention-1
        - if:
            properties:
              key:
                const: net_revenue_retention
          then:
            properties:
              unit:
                const: ratio
              calculation_version:
                const: amlok-net_revenue_retention-1
        - if:
            properties:
              key:
                const: settlement_delay_days
          then:
            properties:
              unit:
                const: days
              calculation_version:
                const: amlok-settlement_delay_days-1
        - if:
            properties:
              key:
                const: payroll_burden_share
          then:
            properties:
              unit:
                const: ratio
              calculation_version:
                const: amlok-payroll_burden_share-1
        - if:
            properties:
              key:
                const: payroll_growth_yoy
          then:
            properties:
              unit:
                const: ratio
              calculation_version:
                const: amlok-payroll_growth_yoy-1
        - if:
            properties:
              key:
                const: inventory_stockout_share
          then:
            properties:
              unit:
                const: ratio
              calculation_version:
                const: amlok-inventory_stockout_share-1
        - if:
            properties:
              key:
                const: fulfillment_on_time_share
          then:
            properties:
              unit:
                const: ratio
              calculation_version:
                const: amlok-fulfillment_on_time_share-1
        - if:
            properties:
              key:
                const: supplier_payment_delay_days
          then:
            properties:
              unit:
                const: days
              calculation_version:
                const: amlok-supplier_payment_delay_days-1
        - if:
            properties:
              key:
                const: tax_liability
          then:
            properties:
              unit:
                const: currency
              calculation_version:
                const: amlok-tax_liability-1
        - if:
            properties:
              key:
                const: tax_overdue_amount
          then:
            properties:
              unit:
                const: currency
              calculation_version:
                const: amlok-tax_overdue_amount-1
        - if:
            properties:
              key:
                const: tax_payment_coverage
          then:
            properties:
              unit:
                const: ratio
              calculation_version:
                const: amlok-tax_payment_coverage-1
        - if:
            properties:
              key:
                const: filing_coverage
          then:
            properties:
              unit:
                const: ratio
              calculation_version:
                const: amlok-filing_coverage-1
        - if:
            properties:
              key:
                const: bank_accounting_match_share
          then:
            properties:
              unit:
                const: ratio
              calculation_version:
                const: amlok-bank_accounting_match_share-1
        - if:
            properties:
              key:
                const: statement_balance_discrepancy
          then:
            properties:
              unit:
                const: currency
              calculation_version:
                const: amlok-statement_balance_discrepancy-1
        - if:
            properties:
              key:
                const: material_adjustment_share
          then:
            properties:
              unit:
                const: ratio
              calculation_version:
                const: amlok-material_adjustment_share-1
        - if:
            properties:
              key:
                const: books_closing_lag_days
          then:
            properties:
              unit:
                const: days
              calculation_version:
                const: amlok-books_closing_lag_days-1
        - if:
            properties:
              key:
                const: observed_account_coverage
          then:
            properties:
              unit:
                const: ratio
              calculation_version:
                const: amlok-observed_account_coverage-1
        - if:
            properties:
              key:
                const: covered_history_days
          then:
            properties:
              unit:
                const: days
              calculation_version:
                const: amlok-covered_history_days-1
        - if:
            properties:
              key:
                const: stale_source_share
          then:
            properties:
              unit:
                const: ratio
              calculation_version:
                const: amlok-stale_source_share-1
        - if:
            properties:
              key:
                const: unclassified_transaction_share
          then:
            properties:
              unit:
                const: ratio
              calculation_version:
                const: amlok-unclassified_transaction_share-1
        - if:
            properties:
              key:
                const: reconciled_value_share
          then:
            properties:
              unit:
                const: ratio
              calculation_version:
                const: amlok-reconciled_value_share-1
        - if:
            properties:
              key:
                const: projected_minimum_cash
          then:
            properties:
              unit:
                const: currency
              calculation_version:
                const: amlok-projected_minimum_cash-1
        - if:
            properties:
              key:
                const: stress_dscr
          then:
            properties:
              unit:
                const: ratio
              calculation_version:
                const: amlok-stress_dscr-1
        - if:
            properties:
              key:
                const: stress_residual_income
          then:
            properties:
              unit:
                const: currency
              calculation_version:
                const: amlok-stress_residual_income-1
        - if:
            properties:
              key:
                const: liquidity_shortfall
          then:
            properties:
              unit:
                const: currency
              calculation_version:
                const: amlok-liquidity_shortfall-1
        - if:
            properties:
              key:
                const: break_even_revenue_decline
          then:
            properties:
              unit:
                const: ratio
              calculation_version:
                const: amlok-break_even_revenue_decline-1
        - if:
            properties:
              key:
                const: related_party_receipts_share
          then:
            properties:
              unit:
                const: ratio
              calculation_version:
                const: amlok-related_party_receipts_share-1
        - if:
            properties:
              key:
                const: circular_flow_amount
          then:
            properties:
              unit:
                const: currency
              calculation_version:
                const: amlok-circular_flow_amount-1
        - if:
            properties:
              key:
                const: connected_counterparty_share
          then:
            properties:
              unit:
                const: ratio
              calculation_version:
                const: amlok-connected_counterparty_share-1
        - if:
            properties:
              key:
                const: revenue_change_from_baseline
          then:
            properties:
              unit:
                const: ratio
              calculation_version:
                const: amlok-revenue_change_from_baseline-1
        - if:
            properties:
              key:
                const: liquidity_change_from_baseline
          then:
            properties:
              unit:
                const: currency
              calculation_version:
                const: amlok-liquidity_change_from_baseline-1
        - if:
            properties:
              key:
                const: dscr_change_from_baseline
          then:
            properties:
              unit:
                const: ratio
              calculation_version:
                const: amlok-dscr_change_from_baseline-1
        - if:
            properties:
              key:
                const: obligation_growth_from_baseline
          then:
            properties:
              unit:
                const: ratio
              calculation_version:
                const: amlok-obligation_growth_from_baseline-1
    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.
    EvidenceLocation:
      type: object
      properties:
        evidence_id:
          type: string
          minLength: 1
        field_path:
          anyOf:
            - type: string
              minLength: 1
              description: RFC 6901 JSON pointer into the frozen evidence record.
            - type: 'null'
        document_id:
          anyOf:
            - type: string
              minLength: 1
            - type: 'null'
        page:
          anyOf:
            - type: integer
              minimum: 1
            - type: 'null'
        quote:
          anyOf:
            - type: string
              minLength: 1
              description: Short permitted excerpt, with sensitive information minimized.
            - type: 'null'
      required:
        - evidence_id
        - field_path
        - document_id
        - page
        - quote
      additionalProperties: false
      description: >-
        Evidence belongs to this package evidence_set. Page is one-based;
        document_id is required whenever page is present.
      allOf:
        - if:
            properties:
              page:
                type: integer
          then:
            properties:
              document_id:
                type: string
                minLength: 1
    VerificationCheck:
      type: object
      properties:
        id:
          type: string
          minLength: 1
        check:
          type: string
          enum:
            - identity
            - account_ownership
            - business_registration
            - beneficial_ownership
            - document_authenticity
            - income_verification
            - credit_report_match
            - lien
            - tax_filing
        subject_id:
          type: string
          minLength: 1
        result:
          type: string
          enum:
            - matched
            - not_matched
            - inconclusive
            - not_checked
        provider:
          anyOf:
            - type: string
              minLength: 1
            - type: 'null'
        observed_at:
          anyOf:
            - type: string
              minLength: 1
              format: date-time
            - type: 'null'
        explanation:
          type: string
          minLength: 1
        evidence:
          type: array
          items:
            $ref: '#/components/schemas/EvidenceLocation'
      required:
        - id
        - check
        - subject_id
        - result
        - provider
        - observed_at
        - explanation
        - evidence
      additionalProperties: false
      description: >-
        Provider and observation context remain visible. Inconclusive, not
        checked and no matching record must never become a verified pass.
    FinancialStatement:
      type: object
      properties:
        id:
          type: string
          minLength: 1
        kind:
          type: string
          enum:
            - income_statement
            - balance_sheet
            - cash_flow
        window:
          $ref: '#/components/schemas/Window'
        as_of:
          type: string
          minLength: 1
          format: date-time
        basis:
          type: string
          enum:
            - cash
            - accrual
        currency:
          type: string
          minLength: 1
          pattern: ^[A-Z]{3}$
        consolidation:
          type: string
          minLength: 1
        lines:
          type: array
          items:
            type: object
            properties:
              key:
                type: string
                minLength: 1
              label:
                type: string
                minLength: 1
              amount:
                type: string
                minLength: 1
                pattern: ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?$
              parent_key:
                anyOf:
                  - type: string
                    minLength: 1
                  - type: 'null'
              is_subtotal:
                type: boolean
              evidence:
                type: array
                items:
                  $ref: '#/components/schemas/EvidenceLocation'
                minItems: 1
            required:
              - key
              - label
              - amount
              - parent_key
              - is_subtotal
              - evidence
            additionalProperties: false
          minItems: 1
        adjustments:
          type: array
          items:
            type: object
            properties:
              line_key:
                type: string
                minLength: 1
              amount:
                type: string
                minLength: 1
                pattern: ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?$
              reason:
                type: string
                minLength: 1
              evidence:
                type: array
                items:
                  $ref: '#/components/schemas/EvidenceLocation'
                minItems: 1
            required:
              - line_key
              - amount
              - reason
              - evidence
            additionalProperties: false
      required:
        - id
        - kind
        - window
        - as_of
        - basis
        - currency
        - consolidation
        - lines
        - adjustments
      additionalProperties: false
      description: >-
        Normalized statements with hierarchy and sourced adjustments. Do not sum
        both a subtotal and its children. Adjustments never overwrite source
        statements.
    DebtObligation:
      type: object
      properties:
        id:
          type: string
          minLength: 1
        creditor_reference:
          anyOf:
            - type: string
              minLength: 1
            - type: 'null'
        kind:
          type: string
          enum:
            - term_loan
            - revolving
            - lease
            - mortgage
            - trade
            - tax
            - other
        basis:
          type: string
          enum:
            - observed
            - declared
            - inferred
        proposed:
          type: boolean
        currency:
          type: string
          minLength: 1
          pattern: ^[A-Z]{3}$
        outstanding:
          anyOf:
            - type: string
              minLength: 1
              pattern: ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?$
            - type: 'null'
        limit:
          anyOf:
            - type: string
              minLength: 1
              pattern: ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?$
            - type: 'null'
        annual_rate:
          anyOf:
            - type: string
              minLength: 1
              pattern: ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?$
            - type: 'null'
        maturity_date:
          anyOf:
            - type: string
              minLength: 1
              format: date
            - type: 'null'
        secured:
          anyOf:
            - type: boolean
            - type: 'null'
        payment_schedule:
          type: array
          items:
            type: object
            properties:
              due_at:
                type: string
                minLength: 1
                format: date-time
              principal:
                type: string
                minLength: 1
                pattern: ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?$
              interest:
                type: string
                minLength: 1
                pattern: ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?$
              fees:
                type: string
                minLength: 1
                pattern: ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?$
              balloon:
                type: boolean
            required:
              - due_at
              - principal
              - interest
              - fees
              - balloon
            additionalProperties: false
        coverage:
          type: string
          enum:
            - complete
            - partial
        missing_fields:
          type: array
          items:
            type: string
            minLength: 1
        evidence:
          type: array
          items:
            $ref: '#/components/schemas/EvidenceLocation'
          minItems: 1
      required:
        - id
        - creditor_reference
        - kind
        - basis
        - proposed
        - currency
        - outstanding
        - limit
        - annual_rate
        - maturity_date
        - secured
        - payment_schedule
        - coverage
        - missing_fields
        - evidence
      additionalProperties: false
      description: >-
        Resolved obligations and exact required payments, including proposed
        exposure. Inferred recurring debits do not prove outstanding principal,
        contract rate or complete liabilities. Schedules use stated currency;
        rate is a fraction.
    IncomeStream:
      type: object
      properties:
        id:
          type: string
          minLength: 1
        kind:
          type: string
          enum:
            - employment
            - self_employment
            - benefit
            - pension
            - rental
            - other
        payer_reference:
          anyOf:
            - type: string
              minLength: 1
            - type: 'null'
        basis:
          type: string
          enum:
            - observed
            - declared
            - estimated
        gross_monthly:
          anyOf:
            - type: string
              minLength: 1
              pattern: ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?$
            - type: 'null'
        net_monthly:
          anyOf:
            - type: string
              minLength: 1
              pattern: ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?$
            - type: 'null'
        currency:
          type: string
          minLength: 1
          pattern: ^[A-Z]{3}$
        cadence:
          type: string
          enum:
            - weekly
            - biweekly
            - semimonthly
            - monthly
            - irregular
        first_observed_at:
          type: string
          minLength: 1
          format: date-time
        last_observed_at:
          type: string
          minLength: 1
          format: date-time
        verification:
          type: string
          enum:
            - verified
            - partially_verified
            - unverified
        evidence:
          type: array
          items:
            $ref: '#/components/schemas/EvidenceLocation'
          minItems: 1
      required:
        - id
        - kind
        - payer_reference
        - basis
        - gross_monthly
        - net_monthly
        - currency
        - cadence
        - first_observed_at
        - last_observed_at
        - verification
        - evidence
      additionalProperties: false
      description: >-
        Independent gross and net income evidence. Deposits alone establish
        neither pretax income nor an employment relationship. Monthly
        conversion: weekly ×52/12, biweekly ×26/12, semimonthly ×2; disclose
        irregular-period method.
    Reconciliation:
      type: object
      properties:
        id:
          type: string
          minLength: 1
        left_source:
          type: string
          minLength: 1
        right_source:
          type: string
          minLength: 1
        window:
          $ref: '#/components/schemas/Window'
        currency:
          type: string
          minLength: 1
          pattern: ^[A-Z]{3}$
        left_total:
          type: string
          minLength: 1
          pattern: ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?$
        right_total:
          type: string
          minLength: 1
          pattern: ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?$
        adjustments:
          type: array
          items:
            type: object
            properties:
              kind:
                type: string
                enum:
                  - fees
                  - refunds
                  - tax
                  - timing
                  - fx
                  - other
              amount:
                type: string
                minLength: 1
                pattern: ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?$
              explanation:
                type: string
                minLength: 1
              evidence:
                type: array
                items:
                  $ref: '#/components/schemas/EvidenceLocation'
                minItems: 1
            required:
              - kind
              - amount
              - explanation
              - evidence
            additionalProperties: false
        adjusted_left_total:
          type: string
          minLength: 1
          pattern: ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?$
        residual:
          type: string
          minLength: 1
          pattern: ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?$
        tolerance:
          type: string
          minLength: 1
          pattern: ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?$
        result:
          type: string
          enum:
            - matched
            - unmatched
            - inconclusive
        evidence:
          type: array
          items:
            $ref: '#/components/schemas/EvidenceLocation'
          minItems: 1
      required:
        - id
        - left_source
        - right_source
        - window
        - currency
        - left_total
        - right_total
        - adjustments
        - adjusted_left_total
        - residual
        - tolerance
        - result
        - evidence
      additionalProperties: false
      description: >-
        Bridge: adjusted_left_total = left_total + signed adjustments; residual
        = adjusted_left_total - right_total. Matched requires abs(residual) <=
        nonnegative tolerance plus complete comparable populations. Differences
        are not automatically fraud.
    ConcentrationSegment:
      type: object
      properties:
        id:
          type: string
          minLength: 1
        kind:
          type: string
          enum:
            - customer
            - supplier
            - income_source
            - channel
            - geography
            - currency
        window:
          $ref: '#/components/schemas/Window'
        currency:
          type: string
          minLength: 1
          pattern: ^[A-Z]{3}$
        total:
          type: string
          minLength: 1
          pattern: ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?$
        unallocated_amount:
          type: string
          minLength: 1
          pattern: ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?$
        buckets:
          type: array
          items:
            type: object
            properties:
              reference:
                type: string
                minLength: 1
              amount:
                type: string
                minLength: 1
                pattern: ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?$
              share:
                type: string
                minLength: 1
                pattern: ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?$
              evidence_ids:
                type: array
                items:
                  type: string
                  minLength: 1
                uniqueItems: true
            required:
              - reference
              - amount
              - share
              - evidence_ids
            additionalProperties: false
      required:
        - id
        - kind
        - window
        - currency
        - total
        - unallocated_amount
        - buckets
      additionalProperties: false
      description: >-
        Buckets plus unallocated_amount reconcile to total. Shares use the same
        positive denominator. Pseudonymous counterparties are limited to the
        authorized borrower scope; no unrelated customer data.
    RiskProjection:
      type: object
      properties:
        id:
          type: string
          minLength: 1
        kind:
          type: string
          enum:
            - baseline
            - stress
        method:
          type: string
          enum:
            - deterministic
            - statistical
        model_version:
          type: string
          minLength: 1
        horizon:
          $ref: '#/components/schemas/Window'
        assumptions:
          type: array
          items:
            type: object
            properties:
              parameter:
                type: string
                minLength: 1
              value:
                type: string
                minLength: 1
                pattern: ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?$
              unit:
                type: string
                minLength: 1
              rationale:
                type: string
                minLength: 1
            required:
              - parameter
              - value
              - unit
              - rationale
            additionalProperties: false
          minItems: 1
        metric_key:
          type: string
          minLength: 1
        unit:
          type: string
          minLength: 1
        currency:
          anyOf:
            - type: string
              minLength: 1
              pattern: ^[A-Z]{3}$
            - type: 'null'
        observations:
          type: array
          items:
            $ref: '#/components/schemas/MetricObservation'
          minItems: 1
        interval:
          anyOf:
            - type: object
              properties:
                level:
                  type: string
                  minLength: 1
                  pattern: ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?$
                method:
                  type: string
                  minLength: 1
                calibration_reference:
                  type: string
                  minLength: 1
                lower:
                  type: string
                  minLength: 1
                  pattern: ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?$
                upper:
                  type: string
                  minLength: 1
                  pattern: ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?$
              required:
                - level
                - method
                - calibration_reference
                - lower
                - upper
              additionalProperties: false
            - type: 'null'
        limitations:
          type: array
          items:
            type: string
            minLength: 1
      required:
        - id
        - kind
        - method
        - model_version
        - horizon
        - assumptions
        - metric_key
        - unit
        - currency
        - observations
        - interval
        - limitations
      additionalProperties: false
      description: >-
        Conditional forecast under explicit parameter assumptions, not a promise
        or default probability. A statistical interval needs calibration
        evidence; a deterministic stress range is not a confidence interval.
        Each output identifies its horizon, currency and unit.
      allOf:
        - if:
            properties:
              method:
                const: deterministic
          then:
            properties:
              interval:
                type: 'null'
        - if:
            properties:
              unit:
                const: currency
          then:
            properties:
              currency:
                type: string
                minLength: 1
                pattern: ^[A-Z]{3}$
          else:
            properties:
              currency:
                type: 'null'
    RiskBenchmark:
      type: object
      properties:
        id:
          type: string
          minLength: 1
        metric_key:
          type: string
          minLength: 1
        cohort:
          type: object
          properties:
            market:
              type: string
              enum:
                - US
                - CA
            industry:
              anyOf:
                - type: string
                  minLength: 1
                - type: 'null'
            borrower_type:
              type: string
              enum:
                - business
                - person
            size_band:
              anyOf:
                - type: string
                  minLength: 1
                - type: 'null'
            period:
              $ref: '#/components/schemas/Window'
            sample_size:
              type: integer
              minimum: 1
            source:
              type: string
              minLength: 1
            methodology_version:
              type: string
              minLength: 1
          required:
            - market
            - industry
            - borrower_type
            - size_band
            - period
            - sample_size
            - source
            - methodology_version
          additionalProperties: false
        percentile:
          type: string
          minLength: 1
          pattern: ^(?:0(?:\.[0-9]+)?|1(?:\.0+)?)$
        limitations:
          type: array
          items:
            type: string
            minLength: 1
      required:
        - id
        - metric_key
        - cohort
        - percentile
        - limitations
      additionalProperties: false
      description: >-
        Only an entitled, relevant, documented cohort can yield a percentile. No
        invented peers, universal cutoffs or source-free industry rankings.
    RiskModelOutput:
      type: object
      properties:
        id:
          type: string
          minLength: 1
        kind:
          type: string
          enum:
            - probability_of_default
            - loss_given_default
            - expected_loss
            - provider_score
        value:
          type: string
          minLength: 1
          pattern: ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?$
        unit:
          type: string
          enum:
            - ratio
            - currency
            - score
        currency:
          anyOf:
            - type: string
              minLength: 1
              pattern: ^[A-Z]{3}$
            - type: 'null'
        model_version:
          type: string
          minLength: 1
        provider:
          type: string
          minLength: 1
        target_definition:
          type: string
          minLength: 1
        horizon_months:
          type: integer
          minimum: 1
        population:
          type: string
          minLength: 1
        market:
          type: string
          enum:
            - US
            - CA
        validation_reference:
          type: string
          minLength: 1
        calibration_as_of:
          type: string
          minLength: 1
          format: date-time
        reason_codes:
          type: array
          items:
            type: string
            minLength: 1
          minItems: 1
        limitations:
          type: array
          items:
            type: string
            minLength: 1
      required:
        - id
        - kind
        - value
        - unit
        - currency
        - model_version
        - provider
        - target_definition
        - horizon_months
        - population
        - market
        - validation_reference
        - calibration_as_of
        - reason_codes
        - limitations
      additionalProperties: false
      description: >-
        Only entitled, validated outputs applicable to this borrower/population.
        Provider scores retain their original model and scale. Never substitute
        a heuristic or deterministic scenario for a calibrated PD/LGD. Score
        scale and target are documented by validation_reference.
      allOf:
        - if:
            properties:
              kind:
                enum:
                  - probability_of_default
                  - loss_given_default
          then:
            properties:
              unit:
                const: ratio
              currency:
                type: 'null'
              value:
                type: string
                minLength: 1
                pattern: ^(?:0(?:\.[0-9]+)?|1(?:\.0+)?)$
        - if:
            properties:
              kind:
                const: expected_loss
          then:
            properties:
              unit:
                const: currency
              currency:
                type: string
                minLength: 1
                pattern: ^[A-Z]{3}$
              value:
                type: string
                minLength: 1
                pattern: ^(?:0|[1-9][0-9]*)(?:\.[0-9]+)?$
        - if:
            properties:
              kind:
                const: provider_score
          then:
            properties:
              unit:
                const: score
              currency:
                type: 'null'
    RiskChange:
      type: object
      properties:
        metric_key:
          type: string
          minLength: 1
        previous_package_id:
          type: string
          minLength: 1
        comparable:
          type: boolean
        reason:
          anyOf:
            - type: string
              minLength: 1
            - type: 'null'
        previous_value:
          anyOf:
            - type: string
              minLength: 1
              pattern: ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?$
            - type: 'null'
        current_value:
          anyOf:
            - type: string
              minLength: 1
              pattern: ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?$
            - type: 'null'
        absolute_delta:
          anyOf:
            - type: string
              minLength: 1
              pattern: ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?$
            - type: 'null'
        relative_delta:
          anyOf:
            - type: string
              minLength: 1
              pattern: ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?$
            - type: 'null'
        evidence_ids:
          type: array
          items:
            type: string
            minLength: 1
          uniqueItems: true
      required:
        - metric_key
        - previous_package_id
        - comparable
        - reason
        - previous_value
        - current_value
        - absolute_delta
        - relative_delta
        - evidence_ids
      additionalProperties: false
      allOf:
        - if:
            properties:
              comparable:
                const: false
          then:
            properties:
              reason:
                type: string
                minLength: 1
              absolute_delta:
                type: 'null'
              relative_delta:
                type: 'null'
          else:
            properties:
              previous_value:
                type: string
                minLength: 1
                pattern: ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?$
              current_value:
                type: string
                minLength: 1
                pattern: ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?$
              absolute_delta:
                type: string
                minLength: 1
                pattern: ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?$
              reason:
                type: 'null'
      description: >-
        Only compare compatible calculation versions, scope, units, currency,
        observation windows and evidence quality. relative_delta is null with
        zero/nonpositive baseline; absolute_delta remains numeric when valid.
    CollateralAsset:
      type: object
      properties:
        id:
          type: string
          minLength: 1
        kind:
          type: string
          enum:
            - property
            - equipment
            - inventory
            - receivables
            - cash
            - investment
            - other
        owner_subject_id:
          type: string
          minLength: 1
        ownership_share:
          type: string
          minLength: 1
          pattern: ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?$
        currency:
          type: string
          minLength: 1
          pattern: ^[A-Z]{3}$
        valuation:
          anyOf:
            - type: string
              minLength: 1
              pattern: ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?$
            - type: 'null'
        valuation_at:
          anyOf:
            - type: string
              minLength: 1
              format: date-time
            - type: 'null'
        valuation_method:
          anyOf:
            - type: string
              minLength: 1
            - type: 'null'
        eligible_value:
          anyOf:
            - type: string
              minLength: 1
              pattern: ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?$
            - type: 'null'
        haircut:
          anyOf:
            - type: string
              minLength: 1
              pattern: ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?$
            - type: 'null'
        liens:
          type: array
          items:
            type: object
            properties:
              holder_reference:
                type: string
                minLength: 1
              priority:
                anyOf:
                  - type: integer
                    minimum: 1
                  - type: 'null'
              amount:
                anyOf:
                  - type: string
                    minLength: 1
                    pattern: ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?$
                  - type: 'null'
              status:
                type: string
                enum:
                  - reported
                  - verified
                  - released
                  - disputed
            required:
              - holder_reference
              - priority
              - amount
              - status
            additionalProperties: false
        limitations:
          type: array
          items:
            type: string
            minLength: 1
        evidence:
          type: array
          items:
            $ref: '#/components/schemas/EvidenceLocation'
          minItems: 1
      required:
        - id
        - kind
        - owner_subject_id
        - ownership_share
        - currency
        - valuation
        - valuation_at
        - valuation_method
        - eligible_value
        - haircut
        - liens
        - limitations
        - evidence
      additionalProperties: false
      description: >-
        Dated asset valuation, ownership and encumbrance evidence. Eligible
        value is a justified assessment, not an enforceability guarantee.
        Unknown liens or stale valuations are explicit limitations; do not
        report zero liens from an absent search.
    BorrowerRelationship:
      type: object
      properties:
        id:
          type: string
          minLength: 1
        from_subject_id:
          type: string
          minLength: 1
        to_reference:
          type: string
          minLength: 1
        kind:
          type: string
          enum:
            - owner
            - controller
            - guarantor
            - related_party
            - customer
            - supplier
        ownership_share:
          anyOf:
            - type: string
              minLength: 1
              pattern: ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?$
            - type: 'null'
        valid_as_of:
          type: string
          minLength: 1
          format: date-time
        basis:
          type: string
          enum:
            - verified
            - declared
            - inferred
        explanation:
          type: string
          minLength: 1
        evidence:
          type: array
          items:
            $ref: '#/components/schemas/EvidenceLocation'
          minItems: 1
      required:
        - id
        - from_subject_id
        - to_reference
        - kind
        - ownership_share
        - valid_as_of
        - basis
        - explanation
        - evidence
      additionalProperties: false
      description: >-
        An authorized borrower relationship with its basis and observation date.
        IDs are scoped references; an inferred relationship is never represented
        as verified ownership. No unrelated institution identity graph.
    CreditReportAssessment:
      type: object
      properties:
        id:
          type: string
          minLength: 1
        provider:
          type: string
          minLength: 1
        report_type:
          type: string
          minLength: 1
        market:
          type: string
          enum:
            - US
            - CA
        pulled_at:
          type: string
          minLength: 1
          format: date-time
        subject_match:
          type: string
          enum:
            - matched
            - inconclusive
            - not_matched
        report_document_id:
          anyOf:
            - type: string
              minLength: 1
            - type: 'null'
        score:
          anyOf:
            - type: object
              properties:
                value:
                  type: string
                  minLength: 1
                  pattern: ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?$
                minimum:
                  type: string
                  minLength: 1
                  pattern: ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?$
                maximum:
                  type: string
                  minLength: 1
                  pattern: ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?$
                higher_is:
                  type: string
                  enum:
                    - lower_risk
                    - higher_risk
                model:
                  type: string
                  minLength: 1
                reason_codes:
                  type: array
                  items:
                    type: string
                    minLength: 1
              required:
                - value
                - minimum
                - maximum
                - higher_is
                - model
                - reason_codes
              additionalProperties: false
            - type: 'null'
        obligation_ids:
          type: array
          items:
            type: string
            minLength: 1
          uniqueItems: true
        disputes:
          type: array
          items:
            type: string
            minLength: 1
        coverage_notes:
          type: array
          items:
            type: string
            minLength: 1
        evidence:
          type: array
          items:
            $ref: '#/components/schemas/EvidenceLocation'
          minItems: 1
      required:
        - id
        - provider
        - report_type
        - market
        - pulled_at
        - subject_match
        - report_document_id
        - score
        - obligation_ids
        - disputes
        - coverage_notes
        - evidence
      additionalProperties: false
      description: >-
        Entitled matched bureau evidence retains provider/model/score scale,
        pull date and disputes. A missing report is unavailable, not a clean
        credit record. No cross-model score averaging. Linked obligations are
        resolved without double-counting.
    TaxObligation:
      type: object
      properties:
        id:
          type: string
          minLength: 1
        jurisdiction:
          type: string
          minLength: 1
        tax_type:
          type: string
          minLength: 1
        period:
          $ref: '#/components/schemas/Window'
        currency:
          type: string
          minLength: 1
          pattern: ^[A-Z]{3}$
        basis:
          type: string
          enum:
            - declared
            - filed
            - assessed
        amount:
          anyOf:
            - type: string
              minLength: 1
              pattern: ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?$
            - type: 'null'
        paid_amount:
          anyOf:
            - type: string
              minLength: 1
              pattern: ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?$
            - type: 'null'
        due_date:
          anyOf:
            - type: string
              minLength: 1
              format: date
            - type: 'null'
        filing_status:
          type: string
          enum:
            - filed
            - not_filed
            - unknown
        payment_status:
          type: string
          enum:
            - paid
            - partially_paid
            - unpaid
            - unknown
        disputed:
          type: boolean
        evidence:
          type: array
          items:
            $ref: '#/components/schemas/EvidenceLocation'
          minItems: 1
      required:
        - id
        - jurisdiction
        - tax_type
        - period
        - currency
        - basis
        - amount
        - paid_amount
        - due_date
        - filing_status
        - payment_status
        - disputed
        - evidence
      additionalProperties: false
      description: >-
        Separate tax declaration, filing, assessment and payment evidence.
        Unknown records cannot establish compliance or arrears. Duplicate tax
        obligations already in the debt schedule are linked in evidence rather
        than charged twice.
    PolicyRule:
      type: object
      properties:
        id:
          type: string
          minLength: 1
          description: Opaque identifier for this PolicyRule record.
        dimension_key:
          type: string
          minLength: 1
          description: >-
            Scalar metric key from configuration.dimensions, for example dscr or
            debt_to_income, never a dimension-family name. Unit, borrower
            applicability and calculation version must match approved
            configuration.
        operator:
          type: string
          enum:
            - gt
            - gte
            - lt
            - lte
            - eq
          description: >-
            Operator for PolicyRule. Constraints, requiredness and allowed
            values are defined by this schema.
        threshold:
          type: string
          minLength: 1
          pattern: ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?$
          description: >-
            Threshold for PolicyRule. Constraints, requiredness and allowed
            values are defined by this schema.
        unit:
          type: string
          minLength: 1
          description: >-
            Unit for PolicyRule. Constraints, requiredness and allowed values
            are defined by this schema.
        on_missing:
          const: review
          description: >-
            On missing for PolicyRule. Constraints, requiredness and allowed
            values are defined by this schema.
        on_fail:
          type: string
          enum:
            - review
            - outside_policy
          description: >-
            On fail for PolicyRule. Constraints, requiredness and allowed values
            are defined by this schema.
        calculation_version:
          type: string
          minLength: 1
          description: >-
            Pin the calculation version returned by configuration.dimensions. A
            different method requires a new immutable risk-policy version.
      required:
        - id
        - dimension_key
        - operator
        - threshold
        - unit
        - on_missing
        - on_fail
        - calculation_version
      additionalProperties: false
      description: >-
        This rule language supports scalar comparisons only. Units and types
        must match the approved dimension. No executable code, arbitrary
        expressions or inferred pass for missing data.
    CalculationInput:
      type: object
      properties:
        name:
          type: string
          minLength: 1
        value:
          anyOf:
            - type: string
              minLength: 1
              pattern: ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?$
            - type: 'null'
        unit:
          type: string
          minLength: 1
        currency:
          anyOf:
            - type: string
              minLength: 1
              pattern: ^[A-Z]{3}$
            - type: 'null'
        basis:
          type: string
          enum:
            - observed
            - declared
            - derived
            - estimated
        evidence:
          type: array
          items:
            $ref: '#/components/schemas/EvidenceLocation'
          minItems: 1
      required:
        - name
        - value
        - unit
        - currency
        - basis
        - evidence
      additionalProperties: false
      description: >-
        A numeric input to the exact calculation. Declared and estimated inputs
        remain distinguishable from observed values. Null input values cannot
        support an available metric.
    MetricObservation:
      type: object
      properties:
        window:
          $ref: '#/components/schemas/Window'
        status:
          type: string
          enum:
            - available
            - unavailable
        value:
          anyOf:
            - type: string
              minLength: 1
              pattern: ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?$
            - type: 'null'
        reason:
          anyOf:
            - type: string
              minLength: 1
            - type: 'null'
        evidence_ids:
          type: array
          items:
            type: string
            minLength: 1
          uniqueItems: true
      required:
        - window
        - status
        - value
        - reason
        - evidence_ids
      additionalProperties: false
      allOf:
        - if:
            properties:
              status:
                const: available
          then:
            properties:
              value:
                type: string
                minLength: 1
                pattern: ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?$
              reason:
                type: 'null'
              evidence_ids:
                minItems: 1
          else:
            properties:
              value:
                type: 'null'
              reason:
                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.