> ## 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.

# Create business

> Create a client-asserted business profile.

Required scope: `identity:write`. Does not represent successful registry verification. Once account cancellation is submitted, processing and usage deductions stop immediately. Reject new operational commands with 409 invalid_state; pending work is cancelled without another debit. Read-only reporting remains available until workspace deletion. Accepted commands have a durable request receipt. Full response replay lasts 24 hours; afterward the same key and target return 409 idempotency_result_expired without re-execution. Different payloads return 409 idempotency_conflict. Use GET /v1/request-receipts/lookup to find the original resource. The fingerprint includes the resolved target path and intended payload; a key used on another target is rejected rather than replayed onto it. Pre-execution validation or insufficient-credit rejection creates no accepted receipt.

**Required scope:** `identity:write`

Create a client-asserted business profile.

Required scope: `identity:write`. Does not represent successful registry verification. Once account cancellation is submitted, processing and usage deductions stop immediately. Reject new operational commands with 409 invalid\_state; pending work is cancelled without another debit. Read-only reporting remains available until workspace deletion. Accepted commands have a durable request receipt. Full response replay lasts 24 hours; afterward the same key and target return 409 idempotency\_result\_expired without re-execution. Different payloads return 409 idempotency\_conflict. Use GET /v1/request-receipts/lookup to find the original resource. The fingerprint includes the resolved target path and intended payload; a key used on another target is rejected rather than replayed onto it. Pre-execution validation or insufficient-credit rejection creates no accepted receipt.

[Product scope](https://docs.amlok.io/api-reference/products-and-endpoints.md) · [Processing lifecycle](https://docs.amlok.io/api-reference/processing-lifecycle.md) · [Errors](https://docs.amlok.io/api-reference/errors.md)


## OpenAPI

````yaml openapi/amlok-v1.json POST /v1/businesses
openapi: 3.1.0
info:
  title: AMLOK API
  version: 1.4.2
  description: >-
    API reference for AMLOK 1.4.2, with example requests and responses.
    Configure your institution-issued environment URL before making requests.
  x-source-workbook: >-
    https://docs.google.com/spreadsheets/d/14pU2PLv9JDda8gAa1367hipa2oJQB260fIJthevrp10/edit
servers:
  - url: https://api.example.com
    description: Set the server URL to your institution-issued AMLOK environment URL.
security:
  - BearerAuth: []
tags:
  - name: Platform
    description: Platform operations.
  - name: Identity
    description: Identity operations.
  - name: Banking
    description: Banking operations.
  - name: Payments
    description: Payments operations.
  - name: Commerce
    description: Commerce operations.
  - name: Accounting
    description: Accounting operations.
  - name: Inventory
    description: Inventory operations.
  - name: Lending
    description: Lending operations.
  - name: Liens
    description: Liens operations.
  - name: Risk
    description: Risk operations.
  - name: Operations
    description: Operations operations.
  - name: Webhooks
    description: Webhooks operations.
  - name: Reporting
    description: Reporting operations.
paths:
  /v1/businesses:
    post:
      tags:
        - Identity
      summary: Create business
      description: >-
        Create a client-asserted business profile.


        Required scope: `identity:write`. Does not represent successful registry
        verification. Once account cancellation is submitted, processing and
        usage deductions stop immediately. Reject new operational commands with
        409 invalid_state; pending work is cancelled without another debit.
        Read-only reporting remains available until workspace deletion. Accepted
        commands have a durable request receipt. Full response replay lasts 24
        hours; afterward the same key and target return 409
        idempotency_result_expired without re-execution. Different payloads
        return 409 idempotency_conflict. Use GET /v1/request-receipts/lookup to
        find the original resource. The fingerprint includes the resolved target
        path and intended payload; a key used on another target is rejected
        rather than replayed onto it. Pre-execution validation or
        insufficient-credit rejection creates no accepted receipt.
      operationId: EP135
      parameters:
        - name: X-Request-ID
          in: header
          required: false
          description: >-
            Optional caller correlation ID; the response includes AMLOK
            request_id.
          schema:
            type: string
          example: client-request-example
        - name: Idempotency-Key
          in: header
          required: true
          description: >-
            Reuse for retries of the same intended command and identical
            payload. Retention: 24 hours.
          schema:
            type: string
          example: idem_example_1001
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/EP135Request'
            example:
              legal_name: Example Manufacturing Inc.
              client_reference: app-1029
              incorporation_country: CA
      responses:
        '201':
          description: Create a client-asserted business profile.
          headers:
            X-Request-ID:
              description: AMLOK response correlation identifier.
              schema:
                type: string
              example: req_example
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    $ref: '#/components/schemas/Business'
                  meta:
                    $ref: '#/components/schemas/ResponseMeta'
                required:
                  - data
                  - meta
              examples:
                synthetic:
                  summary: Synthetic create business
                  value:
                    data:
                      id: biz_example
                      object: business
                      subject_id: biz_example
                      created_at: '2026-10-23T14:00:00Z'
                      updated_at: '2026-10-23T14:00:00Z'
                      record_version: 1
                      source_refs:
                        - provider_id: CLIENT
                          retrieved_at: '2026-10-23T14:00:00Z'
                      data_status: partial
                      missing_fields: []
                      schema_version: 1.4.2
                      client_reference: app-1029
                      legal_name: Example Manufacturing Inc.
                      trade_names:
                        - Example Works
                      former_names: []
                      registration_number: REG-EXAMPLE
                      registration_jurisdiction: CA-ON
                      incorporation_country: CA
                      incorporation_date: '2018-04-09'
                      legal_form: corporation
                      legal_status: null
                      raw_legal_status: Active
                      tax_identifiers: []
                      lei: null
                      registered_address:
                        city: Toronto
                        country: CA
                      operating_addresses: []
                      website: https://example.com
                      email: contact@example.com
                      phone: '+14165550100'
                      industry_codes: []
                      business_description: Industrial component fabrication
                      employee_count: 35
                      fiscal_year_end: 12-31
                      reporting_currency: CAD
                      is_registry_sourced: false
                      registry_retrieved_at: null
                      last_annual_return_date: '2026-04-01'
                      ownership_complete: false
                    meta:
                      request_id: req_example
                      schema_version: 1.4.2
                      generated_at: '2026-10-23T14:00:00Z'
                      data_status: partial
        '400':
          $ref: '#/components/responses/Error400'
        '401':
          $ref: '#/components/responses/Error401'
        '403':
          $ref: '#/components/responses/Error403'
        '404':
          $ref: '#/components/responses/Error404'
        '409':
          $ref: '#/components/responses/Error409'
        '410':
          $ref: '#/components/responses/Error410'
        '422':
          $ref: '#/components/responses/Error422'
        '429':
          $ref: '#/components/responses/Error429'
        '500':
          $ref: '#/components/responses/Error500'
        '502':
          $ref: '#/components/responses/Error502'
        '503':
          $ref: '#/components/responses/Error503'
      security:
        - BearerAuth: []
      x-codeSamples:
        - lang: Shell
          label: cURL
          source: |-
            curl --request POST --fail-with-body --max-time 30 \
              "${AMLOK_API_BASE_URL}/v1/businesses" \
              --header "Authorization: Bearer ${AMLOK_API_KEY}" \
              --header "Accept: application/json" \
              --header 'Idempotency-Key: idem_example_1001' \
              --header 'Content-Type: application/json' \
              --data '{
              "legal_name": "Example Manufacturing Inc.",
              "client_reference": "app-1029",
              "incorporation_country": "CA"
            }'
        - lang: Python
          source: |-
            import os
            import requests

            base_url = os.environ["AMLOK_API_BASE_URL"].rstrip("/")
            headers = {'Accept': 'application/json',
             'Idempotency-Key': 'idem_example_1001',
             'Content-Type': 'application/json'}
            headers["Authorization"] = "Bearer " + os.environ["AMLOK_API_KEY"]

            response = requests.request(
                "POST", base_url + "/v1/businesses",
                headers=headers, timeout=30, allow_redirects=False,
                json={'legal_name': 'Example Manufacturing Inc.',
             'client_reference': 'app-1029',
             'incorporation_country': 'CA'},
            )
            response.raise_for_status()
            print(response.json())
        - lang: JavaScript
          label: Node.js
          source: >-

            const baseUrl = process.env.AMLOK_API_BASE_URL;

            const apiKey = process.env.AMLOK_API_KEY;

            if (!baseUrl || !apiKey) throw new Error("Configure
            AMLOK_API_BASE_URL and AMLOK_API_KEY");

            const headers = {
              "Accept": "application/json",
              "Idempotency-Key": "idem_example_1001",
              "Content-Type": "application/json"
            };

            headers.Authorization = `Bearer ${apiKey}`;

            const response = await fetch(baseUrl.replace(/\/$/, "") +
            "/v1/businesses", {
              method: "POST", headers,
              redirect: "error", signal: AbortSignal.timeout(30000),
              body: JSON.stringify({
              "legal_name": "Example Manufacturing Inc.",
              "client_reference": "app-1029",
              "incorporation_country": "CA"
            }),

            });

            if (!response.ok) throw new Error(`AMLOK returned HTTP
            ${response.status}`);

            console.log(await response.json());
components:
  schemas:
    EP135Request:
      type: object
      properties:
        legal_name:
          type: string
          minLength: 1
          description: Client-asserted legal name.
        client_reference:
          type: string
          minLength: 1
          description: Optional caller-owned correlation identifier.
        registration_number:
          type: string
          minLength: 1
          description: Company or registry registration identifier.
        incorporation_country:
          type: string
          minLength: 1
          description: Country of formation.
      required:
        - legal_name
      additionalProperties: false
    Business:
      type: object
      properties:
        id:
          type: string
          description: >-
            Stable identifier scoped to the client tenant. Never use a provider
            ID as the public primary key.
          x-field-id: F0001
          x-classification: Confidential
          x-availability: Required when resource exists
        object:
          type: string
          const: business
        subject_id:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Business or person to which this record relates. Null for
            tenant-level configuration and unresolved subjects.
          x-field-id: F0003
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        created_at:
          type: string
          format: date-time
          description: >-
            Time AMLOK first stored this resource. Preserve original evidence;
            do not invent missing values.
          x-field-id: F0004
          x-classification: Confidential
          x-availability: Required when resource exists
        updated_at:
          type: string
          format: date-time
          description: >-
            Time the normalized representation last changed. Preserve original
            evidence; do not invent missing values.
          x-field-id: F0005
          x-classification: Confidential
          x-availability: Required when resource exists
        observed_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          description: >-
            Time the source was observed by AMLOK. Do not imply this is the
            economic event time.
          x-field-id: F0006
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        effective_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          description: >-
            Time the source states this version became valid. Preserve original
            evidence; do not invent missing values.
          x-field-id: F0007
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        record_version:
          type: integer
          description: >-
            Monotonically increasing AMLOK version for this resource. Preserve
            original evidence; do not invent missing values.
          x-field-id: F0008
          x-classification: Confidential
          x-availability: Required when resource exists
        deleted_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          description: >-
            Tombstone timestamp for a source or AMLOK deletion. Null for records
            not deleted; retain only under the configured policy.
          x-field-id: F0009
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        source_refs:
          type: array
          items:
            $ref: '#/components/schemas/SourceRef'
          description: >-
            Evidence references contributing to this record. A known empty array
            is valid for a newly client-created record.
          x-field-id: F0010
          x-classification: Confidential
          x-availability: Required when resource exists
        field_provenance:
          anyOf:
            - type: array
              items:
                $ref: '#/components/schemas/FieldProvenance'
            - type: 'null'
          description: >-
            Field-level source, extraction, transformation and quality details.
            Preserve original evidence; do not invent missing values.
          x-field-id: F0011
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        data_status:
          $ref: '#/components/schemas/Enum_data_status'
          description: >-
            Whether the requested resource is complete for its stated scope.
            Completeness is relative to declared fields, sources and time
            interval.
          x-field-id: F0012
          x-classification: Confidential
          x-availability: Required when resource exists
        missing_fields:
          type: array
          items:
            $ref: '#/components/schemas/MissingField'
          description: >-
            Unavailable field paths and their explicit reasons. Preserve
            original evidence; do not invent missing values.
          x-field-id: F0013
          x-classification: Confidential
          x-availability: Required when resource exists
        schema_version:
          type: string
          description: >-
            Contract version used to serialize this record. Preserve original
            evidence; do not invent missing values.
          x-field-id: F0014
          x-classification: Confidential
          x-availability: Required when resource exists
        client_reference:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Optional caller-owned correlation identifier. Scoped to tenant;
            uniqueness only when explicitly contracted.
          x-field-id: F0015
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        extensions:
          anyOf:
            - type: object
              additionalProperties: true
            - type: 'null'
          description: >-
            Namespaced extra provider fields without changing the core schema.
            Access-controlled and documented per provider; no provider tokens.
          x-field-id: F0016
          x-classification: Restricted
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        legal_name:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Name recorded as the legal business name. Retain accents and source
            spelling; normalized matching key is separate.
          x-field-id: F0055
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        trade_names:
          anyOf:
            - type: array
              items:
                type: string
            - type: 'null'
          description: >-
            Trading or DBA names separately identified by the source. Do not
            split an unstructured list without evidence.
          x-field-id: F0056
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        former_names:
          anyOf:
            - type: array
              items:
                type: string
            - type: 'null'
          description: >-
            Historical legal names explicitly identified by source. Preserve
            original evidence; do not invent missing values.
          x-field-id: F0057
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        registration_number:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Company or registry registration identifier. Preserve leading zeroes
            and jurisdiction-specific punctuation.
          x-field-id: F0058
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        registration_jurisdiction:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Registry jurisdiction for the identifier. Preserve original
            evidence; do not invent missing values.
          x-field-id: F0059
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        incorporation_country:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Country of formation. Normalize documented alpha-3 source codes to
            alpha-2 using a versioned lookup.
          x-field-id: F0060
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        incorporation_date:
          anyOf:
            - type: string
              format: date
            - type: 'null'
          description: >-
            Legal formation date. Preserve original evidence; do not invent
            missing values.
          x-field-id: F0061
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        legal_form:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Source legal form, normalized only where an approved mapping exists.
            Preserve original evidence; do not invent missing values.
          x-field-id: F0062
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        legal_status:
          anyOf:
            - $ref: '#/components/schemas/Enum_legal_status'
            - type: 'null'
          description: >-
            Registry legal standing category. Active does not imply solvency or
            all compliance obligations satisfied.
          x-field-id: F0063
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        raw_legal_status:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Unmodified status supplied by the registry. Preserve original
            evidence; do not invent missing values.
          x-field-id: F0064
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        tax_identifiers:
          anyOf:
            - type: array
              items:
                $ref: '#/components/schemas/Identifier'
            - type: 'null'
          description: >-
            Jurisdiction-qualified business tax identifiers. Preserve original
            evidence; do not invent missing values.
          x-field-id: F0065
          x-classification: Restricted
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        lei:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Legal Entity Identifier when assigned. Do not invent an LEI from a
            registration number.
          x-field-id: F0066
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        registered_address:
          anyOf:
            - $ref: '#/components/schemas/Address'
            - type: 'null'
          description: >-
            Registered office address. Preserve original evidence; do not invent
            missing values.
          x-field-id: F0067
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        operating_addresses:
          anyOf:
            - type: array
              items:
                $ref: '#/components/schemas/Address'
            - type: 'null'
          description: >-
            Known trading or operating locations. Preserve original evidence; do
            not invent missing values.
          x-field-id: F0068
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        website:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Business website reported by a source. Preserve original evidence;
            do not invent missing values.
          x-field-id: F0069
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        email:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Business contact email. Preserve original evidence; do not invent
            missing values.
          x-field-id: F0070
          x-classification: Restricted
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        phone:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Business contact telephone. E.164 when parseable with country
            context; otherwise preserve raw value.
          x-field-id: F0071
          x-classification: Restricted
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        industry_codes:
          anyOf:
            - type: array
              items:
                $ref: '#/components/schemas/IndustryCode'
            - type: 'null'
          description: >-
            Classification codes with explicit taxonomy and version. Preserve
            original evidence; do not invent missing values.
          x-field-id: F0072
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        business_description:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Source description of business activity. Preserve original evidence;
            do not invent missing values.
          x-field-id: F0073
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        employee_count:
          anyOf:
            - type: integer
            - type: 'null'
          description: >-
            Employee count reported for the stated observation date. Registry or
            source observation; not a live payroll count.
          x-field-id: F0074
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        fiscal_year_end:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Fiscal year-end month and day. MM-DD; not a financial statement
            date.
          x-field-id: F0075
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        reporting_currency:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Home currency of the business accounting system. Preserve original
            evidence; do not invent missing values.
          x-field-id: F0076
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        is_registry_sourced:
          anyOf:
            - type: boolean
            - type: 'null'
          description: >-
            Whether the profile came from a registry rather than self-report.
            Retain any subsequent user edits in field provenance.
          x-field-id: F0077
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        registry_retrieved_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          description: >-
            When registry evidence was obtained. Preserve original evidence; do
            not invent missing values.
          x-field-id: F0078
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        last_annual_return_date:
          anyOf:
            - type: string
              format: date
            - type: 'null'
          description: >-
            Date of annual corporate return filing when reported. Distinct from
            financial accounts and tax return filing dates.
          x-field-id: F0079
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
        ownership_complete:
          anyOf:
            - type: boolean
            - type: 'null'
          description: >-
            Whether the delivered ownership report meets the declared scope.
            Null if completeness cannot be established.
          x-field-id: F0080
          x-classification: Confidential
          x-availability: >-
            Source, module, country, consent and contracted permissions
            determine population.
      required:
        - id
        - object
        - created_at
        - updated_at
        - record_version
        - source_refs
        - data_status
        - missing_fields
        - schema_version
      title: business
      description: >-
        A legal organization or sole-proprietor business profile. Population
        depends on source and tenant entitlement.
    ResponseMeta:
      type: object
      properties:
        request_id:
          type: string
          description: AMLOK request correlation ID.
        schema_version:
          type: string
          description: Serialization contract version.
        generated_at:
          type: string
          format: date-time
          description: Response generation time, not source data freshness.
        data_status:
          $ref: '#/components/schemas/Enum_data_status'
          description: Completeness of this response within its declared scope.
        coverage:
          anyOf:
            - $ref: '#/components/schemas/Coverage'
            - type: 'null'
          description: Requested and achieved source/time coverage.
      required:
        - request_id
        - schema_version
        - generated_at
        - data_status
    SourceRef:
      type: object
      properties:
        provider_id:
          type: string
          description: >-
            Inventory or supplemental provider identifier; AMLOK or CLIENT for
            internal evidence.
        connection_id:
          anyOf:
            - type: string
            - type: 'null'
          description: Authorized provider connection.
        source_record_id:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Upstream record identifier scoped by provider, connection and record
            type.
        source_record_type:
          anyOf:
            - type: string
            - type: 'null'
          description: Provider object or report type.
        source_updated_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          description: Source update time; do not replace with retrieval time.
        retrieved_at:
          type: string
          format: date-time
          description: Time AMLOK retrieved this evidence.
        document_id:
          anyOf:
            - type: string
            - type: 'null'
          description: Evidence document when applicable.
        source_api_version:
          anyOf:
            - type: string
            - type: 'null'
          description: Version of provider API/schema used.
      required:
        - provider_id
        - retrieved_at
    FieldProvenance:
      type: object
      properties:
        field_path:
          type: string
          description: Relative path in the normalized resource.
        source_ref_index:
          type: integer
          description: Zero-based index into source_refs.
        source_field_path:
          anyOf:
            - type: string
            - type: 'null'
          description: Actual field path or document locator.
        transformation_id:
          anyOf:
            - type: string
            - type: 'null'
          description: Versioned conversion/mapping rule.
        evidence_level:
          $ref: '#/components/schemas/Enum_evidence_level'
          description: Provenance class for the resulting value.
        confidence:
          anyOf:
            - type: string
              pattern: ^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?$
              description: >-
                Exact decimal string in major units. Do not use binary
                floating-point arithmetic.
            - type: 'null'
          description: Calibrated extraction or matching confidence, if available.
        source_timezone:
          anyOf:
            - type: string
            - type: 'null'
          description: Original timezone where needed to interpret local time.
      required:
        - field_path
        - source_ref_index
        - evidence_level
    Enum_data_status:
      type: string
      enum:
        - complete
        - partial
        - unavailable
        - pending
    MissingField:
      type: object
      properties:
        field_path:
          type: string
          description: Unavailable relative field path.
        reason:
          $ref: '#/components/schemas/Enum_null_reason'
          description: Specific reason the field has no value.
        detail:
          anyOf:
            - type: string
            - type: 'null'
          description: Sanitized explanation useful to the caller.
      required:
        - field_path
        - reason
    Enum_legal_status:
      type: string
      enum:
        - active
        - inactive
        - dissolved
        - struck_off
        - liquidation
        - dormant
        - unknown
    Identifier:
      type: object
      properties:
        type:
          type: string
          description: Identifier scheme such as CA_BN or US_EIN.
        value_token:
          anyOf:
            - type: string
            - type: 'null'
          description: Vault token for restricted identifiers.
        masked_value:
          anyOf:
            - type: string
            - type: 'null'
          description: Masked identifier for an authorized caller.
        country:
          type: string
          description: Issuing country code.
        jurisdiction:
          anyOf:
            - type: string
            - type: 'null'
          description: Registry or subdivision when necessary.
      required:
        - type
        - country
    Address:
      type: object
      properties:
        line1:
          anyOf:
            - type: string
            - type: 'null'
          description: Street or delivery address line one.
        line2:
          anyOf:
            - type: string
            - type: 'null'
          description: Suite, unit or second address line.
        city:
          anyOf:
            - type: string
            - type: 'null'
          description: Locality.
        region:
          anyOf:
            - type: string
            - type: 'null'
          description: Subdivision or province code/name; preserve raw when unmapped.
        postal_code:
          anyOf:
            - type: string
            - type: 'null'
          description: Postal code as a string with leading zeroes preserved.
        country:
          anyOf:
            - type: string
            - type: 'null'
          description: ISO 3166-1 alpha-2 country when established.
        raw_address:
          anyOf:
            - type: string
            - type: 'null'
          description: Unparsed source address if structured fields are unavailable.
    IndustryCode:
      type: object
      properties:
        taxonomy:
          type: string
          description: Classification system; NAICS, SIC, MCC, NACE or named local scheme.
        version:
          anyOf:
            - type: string
            - type: 'null'
          description: Edition of the classification system.
        code:
          type: string
          description: Identifier preserved as a string.
        description:
          anyOf:
            - type: string
            - type: 'null'
          description: Label supplied by source or a versioned dictionary.
        is_primary:
          anyOf:
            - type: boolean
            - type: 'null'
          description: Source-designated primary industry.
      required:
        - taxonomy
        - code
    Coverage:
      type: object
      properties:
        requested_from:
          anyOf:
            - type: string
              format: date
            - type: 'null'
          description: Inclusive start requested.
        requested_to:
          anyOf:
            - type: string
              format: date
            - type: 'null'
          description: Exclusive end requested.
        available_from:
          anyOf:
            - type: string
              format: date
            - type: 'null'
          description: Earliest actual coverage.
        available_to:
          anyOf:
            - type: string
              format: date
            - type: 'null'
          description: Exclusive end of actual coverage.
        source_ids:
          type: array
          items:
            type: string
          description: Sources actually contributing.
        missing_intervals:
          type: array
          items:
            $ref: '#/components/schemas/Interval'
          description: Known gaps within requested scope.
        jurisdictions_completed:
          anyOf:
            - type: array
              items:
                type: string
            - type: 'null'
          description: Completed geographic search scope when applicable.
      required:
        - source_ids
        - missing_intervals
    ErrorEnvelope:
      type: object
      properties:
        error:
          $ref: '#/components/schemas/Error'
        meta:
          $ref: '#/components/schemas/ResponseMeta'
      required:
        - error
        - meta
    Enum_evidence_level:
      type: string
      enum:
        - source_record
        - document_extracted
        - client_asserted
        - derived
        - model_inferred
    Enum_null_reason:
      type: string
      enum:
        - not_provided
        - not_supported
        - not_authorized
        - not_applicable
        - pending
        - redacted
        - source_error
        - invalid
        - insufficient_history
    Interval:
      type: object
      properties:
        from:
          type: string
          format: date
          description: Inclusive interval start.
        to:
          type: string
          format: date
          description: Exclusive interval end.
      required:
        - from
        - to
    Error:
      type: object
      properties:
        code:
          type: string
          description: Stable machine-readable error code.
        message:
          type: string
          description: Safe caller-facing explanation.
        field:
          anyOf:
            - type: string
            - type: 'null'
          description: Invalid request field when relevant.
        retryable:
          type: boolean
          description: Whether retry may succeed without changing the request.
        request_id:
          type: string
          description: Correlation identifier for support.
      required:
        - code
        - message
        - retryable
        - request_id
  responses:
    Error400:
      description: Request failed. Inspect error.code and error.retryable.
      headers:
        X-Request-ID:
          description: AMLOK response correlation identifier.
          schema:
            type: string
          example: req_example
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorEnvelope'
          examples:
            invalid_request:
              summary: invalid_request
              value:
                error:
                  code: invalid_request
                  message: Malformed input, unknown parameter or incompatible filters.
                  retryable: false
                  request_id: req_example
                meta:
                  request_id: req_example
                  schema_version: 1.4.2
                  generated_at: '2026-10-23T14:00:00Z'
                  data_status: complete
            unsupported_parameter:
              summary: unsupported_parameter
              value:
                error:
                  code: unsupported_parameter
                  message: Historical query or filter not implemented on this resource.
                  retryable: false
                  request_id: req_example
                meta:
                  request_id: req_example
                  schema_version: 1.4.2
                  generated_at: '2026-10-23T14:00:00Z'
                  data_status: complete
            validation_error:
              summary: validation_error
              value:
                error:
                  code: validation_error
                  message: >-
                    A field, projection, or request value is invalid. Inspect
                    error.field.
                  retryable: false
                  request_id: req_example
                meta:
                  request_id: req_example
                  schema_version: 1.4.2
                  generated_at: '2026-10-23T14:00:00Z'
                  data_status: complete
    Error401:
      description: Request failed. Inspect error.code and error.retryable.
      headers:
        X-Request-ID:
          description: AMLOK response correlation identifier.
          schema:
            type: string
          example: req_example
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorEnvelope'
          examples:
            unauthenticated:
              summary: unauthenticated
              value:
                error:
                  code: unauthenticated
                  message: Missing, expired or invalid credential.
                  retryable: false
                  request_id: req_example
                meta:
                  request_id: req_example
                  schema_version: 1.4.2
                  generated_at: '2026-10-23T14:00:00Z'
                  data_status: complete
    Error403:
      description: Request failed. Inspect error.code and error.retryable.
      headers:
        X-Request-ID:
          description: AMLOK response correlation identifier.
          schema:
            type: string
          example: req_example
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorEnvelope'
          examples:
            forbidden:
              summary: forbidden
              value:
                error:
                  code: forbidden
                  message: Tenant scope or field/product entitlement missing.
                  retryable: false
                  request_id: req_example
                meta:
                  request_id: req_example
                  schema_version: 1.4.2
                  generated_at: '2026-10-23T14:00:00Z'
                  data_status: complete
    Error404:
      description: Request failed. Inspect error.code and error.retryable.
      headers:
        X-Request-ID:
          description: AMLOK response correlation identifier.
          schema:
            type: string
          example: req_example
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorEnvelope'
          examples:
            not_found:
              summary: not_found
              value:
                error:
                  code: not_found
                  message: Record does not exist or is not visible in this tenant.
                  retryable: false
                  request_id: req_example
                meta:
                  request_id: req_example
                  schema_version: 1.4.2
                  generated_at: '2026-10-23T14:00:00Z'
                  data_status: complete
    Error409:
      description: Request failed. Inspect error.code and error.retryable.
      headers:
        X-Request-ID:
          description: AMLOK response correlation identifier.
          schema:
            type: string
          example: req_example
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorEnvelope'
          examples:
            idempotency_conflict:
              summary: idempotency_conflict
              value:
                error:
                  code: idempotency_conflict
                  message: Same key was reused with different intended input.
                  retryable: false
                  request_id: req_example
                meta:
                  request_id: req_example
                  schema_version: 1.4.2
                  generated_at: '2026-10-23T14:00:00Z'
                  data_status: complete
            invalid_state:
              summary: invalid_state
              value:
                error:
                  code: invalid_state
                  message: >-
                    The operation is unavailable in the current resource or
                    account state. Operational commands are unavailable after
                    cancellation is submitted.
                  retryable: false
                  request_id: req_example
                meta:
                  request_id: req_example
                  schema_version: 1.4.2
                  generated_at: '2026-10-23T14:00:00Z'
                  data_status: complete
    Error410:
      description: Request failed. Inspect error.code and error.retryable.
      headers:
        X-Request-ID:
          description: AMLOK response correlation identifier.
          schema:
            type: string
          example: req_example
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorEnvelope'
          examples:
            cursor_expired:
              summary: cursor_expired
              value:
                error:
                  code: cursor_expired
                  message: >-
                    The synchronization cursor has expired. Begin a new
                    synchronization checkpoint and rebuild the collection
                    snapshot.
                  retryable: false
                  request_id: req_example
                meta:
                  request_id: req_example
                  schema_version: 1.4.2
                  generated_at: '2026-10-23T14:00:00Z'
                  data_status: complete
    Error422:
      description: Request failed. Inspect error.code and error.retryable.
      headers:
        X-Request-ID:
          description: AMLOK response correlation identifier.
          schema:
            type: string
          example: req_example
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorEnvelope'
          examples:
            invalid_search_scope:
              summary: invalid_search_scope
              value:
                error:
                  code: invalid_search_scope
                  message: Missing or unsupported jurisdiction/search mode.
                  retryable: false
                  request_id: req_example
                meta:
                  request_id: req_example
                  schema_version: 1.4.2
                  generated_at: '2026-10-23T14:00:00Z'
                  data_status: complete
            invalid_money:
              summary: invalid_money
              value:
                error:
                  code: invalid_money
                  message: >-
                    Invalid decimal, missing required currency or incompatible
                    currency pair.
                  retryable: false
                  request_id: req_example
                meta:
                  request_id: req_example
                  schema_version: 1.4.2
                  generated_at: '2026-10-23T14:00:00Z'
                  data_status: complete
            insufficient_evidence:
              summary: insufficient_evidence
              value:
                error:
                  code: insufficient_evidence
                  message: Required decision or metric prerequisites are missing.
                  retryable: false
                  request_id: req_example
                meta:
                  request_id: req_example
                  schema_version: 1.4.2
                  generated_at: '2026-10-23T14:00:00Z'
                  data_status: complete
            workload_limit_exceeded:
              summary: workload_limit_exceeded
              value:
                error:
                  code: workload_limit_exceeded
                  message: >-
                    The agreed workload limit cannot cover this work. No
                    automatic tier upgrade or surcharge occurs. Contact AMLOK to
                    agree expanded scope.
                  retryable: false
                  request_id: req_example
                meta:
                  request_id: req_example
                  schema_version: 1.4.2
                  generated_at: '2026-10-23T14:00:00Z'
                  data_status: complete
    Error429:
      description: Request failed. Inspect error.code and error.retryable.
      headers:
        X-Request-ID:
          description: AMLOK response correlation identifier.
          schema:
            type: string
          example: req_example
        Retry-After:
          description: >-
            Delay in seconds or an HTTP-date. The example is illustrative, not a
            contractual quota.
          schema:
            type: string
          example: '30'
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorEnvelope'
          examples:
            rate_limited:
              summary: rate_limited
              value:
                error:
                  code: rate_limited
                  message: AMLOK tenant quota or upstream throttle.
                  retryable: true
                  request_id: req_example
                meta:
                  request_id: req_example
                  schema_version: 1.4.2
                  generated_at: '2026-10-23T14:00:00Z'
                  data_status: complete
    Error500:
      description: Request failed. Inspect error.code and error.retryable.
      headers:
        X-Request-ID:
          description: AMLOK response correlation identifier.
          schema:
            type: string
          example: req_example
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorEnvelope'
          examples:
            internal_error:
              summary: internal_error
              value:
                error:
                  code: internal_error
                  message: Unexpected AMLOK processing error.
                  retryable: false
                  request_id: req_example
                meta:
                  request_id: req_example
                  schema_version: 1.4.2
                  generated_at: '2026-10-23T14:00:00Z'
                  data_status: complete
    Error502:
      description: Request failed. Inspect error.code and error.retryable.
      headers:
        X-Request-ID:
          description: AMLOK response correlation identifier.
          schema:
            type: string
          example: req_example
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorEnvelope'
          examples:
            source_error:
              summary: source_error
              value:
                error:
                  code: source_error
                  message: Upstream returned invalid or failed data.
                  retryable: false
                  request_id: req_example
                meta:
                  request_id: req_example
                  schema_version: 1.4.2
                  generated_at: '2026-10-23T14:00:00Z'
                  data_status: complete
    Error503:
      description: Request failed. Inspect error.code and error.retryable.
      headers:
        X-Request-ID:
          description: AMLOK response correlation identifier.
          schema:
            type: string
          example: req_example
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorEnvelope'
          examples:
            source_unavailable:
              summary: source_unavailable
              value:
                error:
                  code: source_unavailable
                  message: Required source temporarily unavailable.
                  retryable: true
                  request_id: req_example
                meta:
                  request_id: req_example
                  schema_version: 1.4.2
                  generated_at: '2026-10-23T14:00:00Z'
                  data_status: complete
  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.