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

# Get a hosted enrollment session's results

> Returns the outcome of a completed session: the verdict, what the applicant submitted, their confirmed identity, the business, beneficial owners, and each check's result. A session that has not completed answers 409.

This is a hosted enrollment session: the applicant completes your published journey on Baselayer's page. To verify an identity you collected yourself, use a direct verification, `POST /issuance/identities/verifications`.

Onboarding must be enabled for your organization. Until it is, this endpoint answers 403 with error code 37.



## OpenAPI

````yaml /api-reference/openapi.json get /onboarding/sessions/{session_id}/results
openapi: 3.1.0
info:
  title: baselayer-api-service
  version: 0.1.0
servers:
  - url: https://api.baselayer.com/
security: []
paths:
  /onboarding/sessions/{session_id}/results:
    get:
      tags:
        - Onboarding
      summary: Get a hosted enrollment session's results
      description: >-
        Returns the outcome of a completed session: the verdict, what the
        applicant submitted, their confirmed identity, the business, beneficial
        owners, and each check's result. A session that has not completed
        answers 409.


        This is a hosted enrollment session: the applicant completes your
        published journey on Baselayer's page. To verify an identity you
        collected yourself, use a direct verification, `POST
        /issuance/identities/verifications`.


        Onboarding must be enabled for your organization. Until it is, this
        endpoint answers 403 with error code 37.
      operationId: get_onboarding_results_onboarding_sessions__session_id__results_get
      parameters:
        - name: session_id
          in: path
          required: true
          schema:
            type: string
            format: uuid
            title: Session Id
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/v1.OnboardingSessionResultsResponse'
        '403':
          description: >-
            Onboarding is not enabled for the organization (code 37), or the
            credential lacks the onboarding permission this endpoint needs (code
            30).
          content:
            application/json:
              schema:
                anyOf:
                  - $ref: '#/components/schemas/APIError'
                    title: ForbiddenOrganizationNotEnrolled
                    description: >-
                      Forbidden access. The organization is not enrolled in the
                      product this route belongs to.
                    examples:
                      - code: 37
                        message: >-
                          Forbidden access. The organization is not enrolled in
                          the product this route belongs to.
                        metadata: {}
                  - $ref: '#/components/schemas/APIError'
                    title: ForbiddenAccessNoPermission
                    description: >-
                      Forbidden access. The authentication credentials don't
                      have appropriate permissions to access or affect the
                      resource.
                    examples:
                      - code: 30
                        message: >-
                          Forbidden access. The authentication credentials don't
                          have appropriate permissions to access or affect the
                          resource.
                        metadata: {}
                title: >-
                  Response 403 Get Onboarding Results Onboarding Sessions 
                  Session Id  Results Get
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      security:
        - APIKeyHeader: []
components:
  schemas:
    v1.OnboardingSessionResultsResponse:
      properties:
        id:
          type: string
          format: uuid
          title: Id
          description: Onboarding session id.
        verdict:
          anyOf:
            - $ref: '#/components/schemas/OnboardingVerdict'
            - type: 'null'
          description: >-
            Resolved onboarding verdict: the manual decision when one was made,
            otherwise the automated verdict from delivery.
        manual_decision:
          anyOf:
            - $ref: '#/components/schemas/v1.OnboardingDecisionView'
            - type: 'null'
          description: Latest manual decision, when present.
        created_at:
          anyOf:
            - format: date-time
              type: string
            - type: 'null'
          title: Created At
          description: Session creation timestamp.
        completed_at:
          anyOf:
            - format: date-time
              type: string
            - type: 'null'
          title: Completed At
          description: When the session reached terminal state.
        reference_id:
          anyOf:
            - type: string
            - type: 'null'
          title: Reference Id
          description: Caller-supplied correlation id.
        template_name:
          anyOf:
            - type: string
            - type: 'null'
          title: Template Name
          description: Onboarding template the session ran.
        template_version:
          anyOf:
            - type: integer
            - type: 'null'
          title: Template Version
          description: >-
            Published template version the session minted from; null for
            draft/test sessions.
        uploaded_document_count:
          type: integer
          title: Uploaded Document Count
          description: >-
            Number of documents uploaded to the session, including uploads the
            applicant later replaced, so it can exceed `inputs.documents`.
          default: 0
        active_checks:
          anyOf:
            - items:
                type: string
              type: array
            - type: 'null'
          title: Active Checks
          description: >-
            Verification checks (KYC, KYB) the session's flow included, or null
            when unknown. Tells a check the template did not include apart from
            one that ran and produced no result.
        findings:
          items:
            $ref: '#/components/schemas/OnboardingFinding'
          type: array
          title: Findings
          description: >-
            Findings recorded when the session completed: the issues that hold a
            session for review, plus informational evidence flags (website
            corroboration, officer match).
        inputs:
          $ref: '#/components/schemas/OnboardingInputs'
          description: What the applicant submitted during the session.
        person:
          anyOf:
            - $ref: '#/components/schemas/OnboardingPerson'
            - type: 'null'
          description: >-
            Confirmed identity of the person; null when the session confirmed no
            identity.
        business:
          anyOf:
            - $ref: '#/components/schemas/OnboardingBusiness'
            - type: 'null'
          description: >-
            Asserted + KYB-resolved business identity; null when the session
            collected no business.
        owners:
          items:
            $ref: '#/components/schemas/OnboardingOwner'
          type: array
          title: Owners
          description: >-
            Beneficial owners the applicant entered, each with their per-owner
            KYC result, in entry order.
        results:
          $ref: '#/components/schemas/OnboardingResults'
          description: >-
            Outcome of the session's verification checks, led by the overall
            verification level.
      type: object
      required:
        - id
        - inputs
        - results
      title: OnboardingSessionResultsResponse (v1)
      description: |-
        The outcome of a completed onboarding session.

        The verdict and review history, around four sections frozen when the
        session completed: ``inputs`` (what the applicant submitted), ``person``
        (their confirmed identity), ``business`` (the business and its
        verification), and ``results`` (the checks' outcomes).
    APIError:
      properties:
        code:
          type: integer
          title: Code
        message:
          type: string
          title: Message
        uri:
          anyOf:
            - type: string
            - type: 'null'
          title: Uri
        metadata:
          additionalProperties: true
          type: object
          title: Metadata
        request_id:
          anyOf:
            - type: string
            - type: 'null'
          title: Request Id
      type: object
      required:
        - code
        - message
      title: APIError
      description: >-
        APIError is a Pydantic model for standardizing error responses from the
        API.


        This class is used internally by APIException for JSON serialization.

        Users should typically work with APIException directly in exception
        catalogs.
    HTTPValidationError:
      properties:
        detail:
          items:
            $ref: '#/components/schemas/ValidationError'
          type: array
          title: Detail
      type: object
      title: HTTPValidationError
    OnboardingVerdict:
      description: Normalized onboarding verdict used across provider-specific outputs.
      enum:
        - APPROVED
        - UNDER_REVIEW
        - REJECTED
      title: OnboardingVerdict
      type: string
    v1.OnboardingDecisionView:
      properties:
        decision:
          $ref: '#/components/schemas/ManualOnboardingDecision'
          description: Manual decision applied to the session.
        reason:
          anyOf:
            - type: string
            - type: 'null'
          title: Reason
          description: Reviewer's note on the decision, if any.
        reject_reason:
          anyOf:
            - $ref: '#/components/schemas/OnboardingRejectReason'
            - type: 'null'
          description: Why the session was rejected.
        decided_by:
          anyOf:
            - $ref: '#/components/schemas/v1.ActedBy'
            - type: 'null'
          description: >-
            Who made the decision; null on decisions recorded before the decider
            was stamped.
        created_at:
          anyOf:
            - format: date-time
              type: string
            - type: 'null'
          title: Created At
          description: Decision creation timestamp.
      type: object
      required:
        - decision
      title: OnboardingDecisionView (v1)
      description: The latest manual review decision recorded on the session.
    OnboardingFinding:
      properties:
        code:
          $ref: '#/components/schemas/OnboardingFindingCode'
          description: Machine-readable finding code.
        check:
          $ref: '#/components/schemas/OnboardingFindingCheck'
          description: Verification check the finding pertains to.
        gating:
          type: boolean
          title: Gating
          description: >-
            True when the finding names a verdict gate that held the session in
            review; False for reviewer-facing evidence flags (website
            corroboration, officer match) that never move the automated verdict.
        summary:
          type: string
          title: Summary
          description: >-
            Human-readable finding summary, frozen at packet delivery with the
            session's specifics (e.g. the submitted website).
        data_keys:
          items:
            $ref: '#/components/schemas/OnboardingDataKey'
          type: array
          title: Data Keys
          description: >-
            Collected data keys whose submitted values this finding disputes;
            empty when the finding names no specific field. Derived from the
            code, so persisted rows can never go stale.
          readOnly: true
      type: object
      required:
        - code
        - check
        - gating
        - summary
        - data_keys
      title: OnboardingFinding
      description: |-
        One materialized finding on a delivered onboarding session.

        Reads of persisted findings must go through :meth:`from_persisted`:
        unknown keys are ignored (a newer writer may have added fields) and a
        row this reader cannot parse at all is skipped with a warning — one
        skewed row must never take down a whole queue page, results dossier,
        or webhook render.
    OnboardingInputs:
      properties:
        phone_e164:
          anyOf:
            - type: string
            - type: 'null'
          title: Phone E164
          description: Applicant phone in E.164 format.
        custom_values:
          additionalProperties:
            $ref: '#/components/schemas/JsonValue'
          type: object
          title: Custom Values
          description: >-
            Page values collected under CUSTOM:<slug> data keys, keyed by the
            full data key.
        custom_value_currencies:
          additionalProperties:
            $ref: '#/components/schemas/CurrencyCode'
          type: object
          title: Custom Value Currencies
          description: >-
            Currency denominating each CURRENCY-collected entry in
            custom_values, keyed by the same CUSTOM:<slug> data key. Only
            CURRENCY elements record one; packets delivered before per-field
            currencies carry an empty map.
        documents:
          items:
            $ref: '#/components/schemas/OnboardingDocumentReference'
          type: array
          title: Documents
          description: >-
            Documents the applicant attached via FILE_UPLOAD elements, limited
            to those referenced by the submitted page values.
        identity_source:
          anyOf:
            - $ref: '#/components/schemas/KYCIdentitySource'
            - type: 'null'
          description: >-
            How the person identity was collected: PREFILL (provider disclosure
            behind phone + DOB + possession), SELF_ENTERED (typed by the
            applicant), or CUSTOMER_ASSERTED (submitted through the direct
            identity-submission API). Null when the flow ran no KYC evaluation.
      additionalProperties: true
      type: object
      title: OnboardingInputs
      description: |-
        What the applicant/customer submitted during the session.

        Raw session-level submissions only: the asserted person identity lives
        in the ``person`` section once confirmed, and the asserted business
        identity in the ``business`` section.
    OnboardingPerson:
      properties:
        first_name:
          type: string
          title: First Name
          description: Legal first name.
        middle_name:
          anyOf:
            - type: string
            - type: 'null'
          title: Middle Name
          description: Legal middle name, if any.
        last_name:
          type: string
          title: Last Name
          description: Legal last name.
        dob:
          type: string
          title: Dob
          description: Date of birth (YYYY-MM-DD).
        phone_e164:
          type: string
          title: Phone E164
          description: Confirmed mobile phone in E.164 format.
        email:
          anyOf:
            - type: string
            - type: 'null'
          title: Email
          description: Applicant email address, when supplied.
        address:
          anyOf:
            - $ref: '#/components/schemas/ConfirmedAddressFields'
            - type: 'null'
          description: Confirmed residential address.
        principal_ref:
          anyOf:
            - type: string
            - type: 'null'
          title: Principal Ref
          description: >-
            The sourcing organization's pairwise reference to the verified
            principal (KYA). Present when the flow recorded an anchored
            PrincipalIdentity snapshot; the durable handle for credential
            minting, stable across re-verification.
        ssn_last_four:
          anyOf:
            - type: string
              maxLength: 4
            - type: 'null'
          title: Ssn Last Four
          description: >-
            Last four characters of the collected national id (an SSN everywhere
            the product collects one — the API channel validates a nine-digit US
            SSN), pre-masked at packet delivery. The packet never carries the
            full value.
        field_provenance:
          additionalProperties:
            $ref: '#/components/schemas/OnboardingFieldProvenance'
          type: object
          title: Field Provenance
          description: >-
            Where each attribute of this person came from: PREFILL,
            MATCHED_INPUT, SELF_ENTERED, CUSTOMER_ASSERTED, or
            VERIFIED_POSSESSION (an email the applicant proved with a one-time
            code). Keys are drawn from first_name, middle_name, last_name, dob,
            phone_e164, email, address and ssn_last_four. Empty on sessions
            completed before provenance was recorded.
      additionalProperties: false
      type: object
      required:
        - first_name
        - last_name
        - dob
        - phone_e164
      title: OnboardingPerson
      description: |-
        The confirmed identity of the person the session verified.

        Extends the confirmed identity fields with the org-scoped pairwise
        reference issued when the flow anchored a principal identity (KYA).
    OnboardingBusiness:
      properties:
        name:
          anyOf:
            - type: string
            - type: 'null'
          title: Name
          description: Business legal name supplied by the applicant.
        address:
          anyOf:
            - type: string
            - type: 'null'
          title: Address
          description: Business address supplied by the applicant.
        ein:
          anyOf:
            - type: string
            - type: 'null'
          title: Ein
          description: Employer Identification Number, if supplied.
        officer_name:
          anyOf:
            - type: string
            - type: 'null'
          title: Officer Name
          description: Business officer name supplied on the business screen, if any.
        officer_names:
          anyOf:
            - items:
                type: string
              type: array
            - type: 'null'
          title: Officer Names
          description: >-
            Business officer names asserted on an API-channel submission, kept
            separate from the consumer identity.
        alternative_names:
          anyOf:
            - items:
                type: string
              type: array
              uniqueItems: true
            - type: 'null'
          title: Alternative Names
          description: Alternative business names, if supplied.
        dba:
          anyOf:
            - type: string
            - type: 'null'
          title: Dba
          description: >-
            Doing-business-as name supplied by the applicant; KYB consumes it as
            an alternative name.
        phone_number:
          anyOf:
            - type: string
            - type: 'null'
          title: Phone Number
          description: Business phone number, if supplied.
        email:
          anyOf:
            - type: string
            - type: 'null'
          title: Email
          description: Business email, if supplied.
        website:
          anyOf:
            - type: string
            - type: 'null'
          title: Website
          description: Business website, if supplied.
        selected:
          anyOf:
            - $ref: '#/components/schemas/SelectedBusinessFields'
            - type: 'null'
          description: >-
            Business the applicant selected from autocomplete, carrying the
            registration reference KYB resolved against.
        business_ref:
          anyOf:
            - type: string
            - type: 'null'
          title: Business Ref
          description: >-
            The sourcing organization's pairwise reference to the KYB-resolved
            business (KYA). Present when the flow recorded a business operator
            link.
        operator_link_status:
          anyOf:
            - $ref: '#/components/schemas/BusinessOperatorLinkStatus'
            - type: 'null'
          description: >-
            Status of the individual-operates-business link as of this session's
            evaluation.
        operator_link_shortfalls:
          items:
            $ref: '#/components/schemas/BusinessOperatorLinkShortfall'
          type: array
          title: Operator Link Shortfalls
          description: >-
            Legs of the operator-link evidence recipe this session's evaluation
            failed. Empty when the evaluation earned a verified link on its own,
            and when the flow resolved no business to link to.
        field_provenance:
          additionalProperties:
            $ref: '#/components/schemas/OnboardingFieldProvenance'
          type: object
          title: Field Provenance
          description: >-
            Where each attribute of this business came from:
            BUSINESS_AUTOCOMPLETE for fields from the registry pick,
            SELF_ENTERED for text the applicant typed, CUSTOMER_ASSERTED for
            fields submitted through the API. Keys are drawn from name, address,
            ein, officer_name, dba, phone_number, email and website. Empty on
            sessions completed before provenance was recorded.
      additionalProperties: false
      type: object
      title: OnboardingBusiness
      description: >-
        The asserted and KYB-resolved identity of the business.


        Every asserted business fact lives here (not under ``inputs``); the

        KYB-resolved references (registration selection, pairwise business ref,

        operator link) sit alongside so the business identity reads in one
        place.
    OnboardingOwner:
      properties:
        first_name:
          type: string
          minLength: 1
          title: First Name
          description: Owner first name.
        middle_name:
          anyOf:
            - type: string
            - type: 'null'
          title: Middle Name
          description: Owner middle name, if supplied.
        last_name:
          type: string
          minLength: 1
          title: Last Name
          description: Owner last name.
        dob:
          type: string
          title: Dob
          description: Owner date of birth (YYYY-MM-DD).
        phone_e164:
          type: string
          title: Phone E164
          description: Owner phone in E.164 format.
        ownership_percentage:
          type: integer
          maximum: 100
          minimum: 1
          title: Ownership Percentage
          description: The owner's stake in the business, in whole percent.
        ssn_last_four:
          type: string
          maxLength: 4
          minLength: 4
          title: Ssn Last Four
          description: Last four digits of the owner's Social Security number.
          examples:
            - '6789'
        kyc:
          anyOf:
            - $ref: '#/components/schemas/KYCResult'
            - type: 'null'
          description: >-
            The owner's KYC check result; null when the evaluation wrote no
            result.
        field_provenance:
          additionalProperties:
            $ref: '#/components/schemas/OnboardingFieldProvenance'
          type: object
          title: Field Provenance
          description: >-
            Where each attribute of this beneficial owner came from; always
            SELF_ENTERED, since the applicant enters owners. Empty on sessions
            completed before provenance was recorded.
      additionalProperties: false
      type: object
      required:
        - first_name
        - last_name
        - dob
        - phone_e164
        - ownership_percentage
        - ssn_last_four
      title: OnboardingOwner
      description: |-
        One beneficial owner collected by the session, with their KYC result.

        Sessions are single-actor: the applicant entered these details on the
        owner's behalf, so every owner evaluation ran on the self-entered path
        (no prefill, possession, or identity anchoring for owners).
    OnboardingResults:
      properties:
        verification_level:
          anyOf:
            - $ref: '#/components/schemas/v1.VerificationLevel'
            - type: 'null'
          description: >-
            Overall verification level (the KYA tier, serialized as its integer
            value: 1 = VL1, 2 = VL2, 3 = VL3), derived at packet delivery from
            the active keys the session's evidence earned under the
            trust-framework recipes — the same derivation and wire form as GET
            /issuance/identities/individuals/{individual_ref} and minted
            credentials. When the flow ran KYB, this is min(business strength,
            person strength); otherwise the person strength alone. Null when the
            earned keys satisfy no strength recipe (including collect-only
            templates and sessions whose checks failed). Frozen at delivery; a
            manual decision changes the session verdict, never this value.
        kyc:
          anyOf:
            - $ref: '#/components/schemas/KYCResult'
            - type: 'null'
          description: KYC check result; null when the flow ran no KYC check.
        kyb:
          anyOf:
            - $ref: '#/components/schemas/KYBResult'
            - type: 'null'
          description: KYB check result; null when the flow ran no KYB check.
        application_score:
          anyOf:
            - $ref: '#/components/schemas/OnboardingApplicationScore'
            - type: 'null'
          description: >-
            Application-level letter grade with its component scores (KYC, KYB,
            KYC ⟷ KYB connection), evidence confidence, and qualifier badges.
            Derived at packet delivery from the check outcomes and frozen; null
            when nothing scorable ran (collect-only templates, checks that wrote
            no result).
      additionalProperties: false
      type: object
      title: OnboardingResults
      description: The outcome of the session's verification checks.
    ValidationError:
      properties:
        loc:
          items:
            anyOf:
              - type: string
              - type: integer
          type: array
          title: Location
        msg:
          type: string
          title: Message
        type:
          type: string
          title: Error Type
        input:
          title: Input
        ctx:
          type: object
          title: Context
      type: object
      required:
        - loc
        - msg
        - type
      title: ValidationError
    ManualOnboardingDecision:
      type: string
      enum:
        - APPROVED
        - REJECTED
      title: ManualOnboardingDecision
      description: Customer-authored manual override for completed under-review sessions.
    OnboardingRejectReason:
      type: string
      enum:
        - NOT_ENOUGH_INFORMATION
        - OTHER
      title: OnboardingRejectReason
      description: >-
        Why a reviewer rejected an onboarding session, beside the free-text
        note.
    v1.ActedBy:
      description: |-
        Who acted on a record, as they were named when they acted: the one actor
        shape every route answers.
      properties:
        kind:
          $ref: '#/components/schemas/v1.ActedByKind'
          description: '`USER` for a console user, `API_KEY` for a key.'
        label:
          description: >-
            The user's first and last name or the API key's name, as they were
            when they acted; never rewritten by a later rename or deletion.
          title: Label
          type: string
      required:
        - kind
        - label
      title: ActedBy (v1)
      type: object
    OnboardingFindingCode:
      type: string
      enum:
        - IDENTITY_NOT_APPROVED
        - KYC_MISSING_RESULT
        - OWNER_KYC_MISSING
        - KYB_MISSING_RESULT
        - BUSINESS_NOT_FOUND
        - BUSINESS_NOT_VERIFIED
        - TIN_MISMATCH
        - WEBSITE_NOT_CORROBORATED
        - OFFICER_PARTIAL_MATCH
        - OFFICER_NOT_MATCHED
        - NO_CHECKS_CONFIGURED
        - NEEDS_REVIEW
        - EMAIL_UNVERIFIED
        - EMAIL_SEND_FAILED
      title: OnboardingFindingCode
      description: |-
        Machine-readable code for a materialized onboarding finding.

        Findings are derived once at packet delivery (see
        ``osiris.onboarding.findings``) and persisted on the session, so the
        review queue can filter by them. Gating codes name the verdict conjunct
        that held the session in review; evidence codes (website corroboration,
        officer match) flag reviewer-facing evidence that never gates the
        automated verdict.
    OnboardingFindingCheck:
      type: string
      enum:
        - KYC
        - KYB
        - CHECKS
      title: OnboardingFindingCheck
      description: |-
        Which verification check an onboarding finding pertains to.

        ``Checks`` covers session-level findings that no single check owns
        (collect-only templates, a check missing its packet result).
    OnboardingDataKey:
      type: string
      enum:
        - CONSUMER_FIRST_NAME
        - CONSUMER_MIDDLE_NAME
        - CONSUMER_LAST_NAME
        - CONSUMER_DOB
        - CONSUMER_PHONE
        - CONSUMER_EMAIL
        - CONSUMER_NATIONAL_ID
        - CONSUMER_ADDRESS
        - BUSINESS_LEGAL_NAME
        - BUSINESS_ADDRESS
        - BUSINESS_EIN
        - BUSINESS_OFFICER_NAME
        - BUSINESS_PHONE
        - BUSINESS_EMAIL
        - BUSINESS_WEBSITE
        - BUSINESS_DBA
      title: OnboardingDataKey
      description: Shared vocabulary between page collection and processors.
    JsonValue: {}
    CurrencyCode:
      type: string
      enum:
        - USD
        - EUR
        - GBP
        - CAD
        - AUD
      title: CurrencyCode
      description: Currencies a CURRENCY element can denominate its amount in.
    OnboardingDocumentReference:
      properties:
        id:
          type: string
          format: uuid
          title: Id
          description: Onboarding document id.
        page_key:
          type: string
          title: Page Key
          description: Template page the document was collected on.
        element_key:
          type: string
          title: Element Key
          description: FILE_UPLOAD element the document satisfies.
        document_category:
          anyOf:
            - type: string
            - type: 'null'
          title: Document Category
          description: Authored document category, when set.
        filename:
          type: string
          title: Filename
          description: Original filename supplied by the applicant.
        mime:
          type: string
          title: Mime
          description: Uploaded content type.
        size_bytes:
          type: integer
          title: Size Bytes
          description: Stored object size in bytes.
        has_thumbnail:
          type: boolean
          title: Has Thumbnail
          description: >-
            Whether a first-page preview image was rendered at upload. False for
            formats that cannot be previewed.
          default: false
      additionalProperties: false
      type: object
      required:
        - id
        - page_key
        - element_key
        - filename
        - mime
        - size_bytes
      title: OnboardingDocumentReference
      description: A document the applicant uploaded during the session.
    KYCIdentitySource:
      type: string
      enum:
        - PREFILL
        - SELF_ENTERED
        - CUSTOMER_ASSERTED
      title: KYCIdentitySource
      description: |-
        How the identity a KYC check ran against was established.

        PREFILL: disclosed by the identity provider after the applicant proved
        possession of their phone. SELF_ENTERED: typed by the applicant.
        CUSTOMER_ASSERTED: submitted by you through the identity-submission API.
    ConfirmedAddressFields:
      properties:
        street_address:
          anyOf:
            - type: string
            - type: 'null'
          title: Street Address
          description: Street address line.
        city:
          anyOf:
            - type: string
            - type: 'null'
          title: City
          description: City.
        state:
          anyOf:
            - type: string
            - type: 'null'
          title: State
          description: State or region.
        postal_code:
          anyOf:
            - type: string
            - type: 'null'
          title: Postal Code
          description: Postal / ZIP code.
        country:
          anyOf:
            - type: string
            - type: 'null'
          title: Country
          description: ISO country code.
          default: US
      additionalProperties: false
      type: object
      title: ConfirmedAddressFields
      description: A postal address, split into its parts.
    OnboardingFieldProvenance:
      type: string
      enum:
        - PREFILL
        - SELF_ENTERED
        - CUSTOMER_ASSERTED
        - BUSINESS_AUTOCOMPLETE
        - MATCHED_INPUT
        - VERIFIED_POSSESSION
      title: OnboardingFieldProvenance
      description: |-
        Where one person, business or owner attribute came from.

        PREFILL: disclosed by the identity provider. MATCHED_INPUT: typed by the
        applicant and confirmed by the provider. SELF_ENTERED: typed by the
        applicant. CUSTOMER_ASSERTED: submitted by you through the API.
        BUSINESS_AUTOCOMPLETE: taken from the business the applicant picked.
        VERIFIED_POSSESSION: typed by the applicant and proven with a one-time
        code sent to it.
    SelectedBusinessFields:
      properties:
        registration_id:
          type: string
          format: uuid
          title: Registration Id
          description: >-
            Id of the picked suggestion: the business's registration in its home
            state.
        name:
          type: string
          title: Name
          description: Selected business legal name.
        address:
          anyOf:
            - type: string
            - type: 'null'
          title: Address
          description: Address of the autocomplete suggestion.
        states:
          items:
            type: string
          type: array
          title: States
          description: States the business is registered in.
      additionalProperties: false
      type: object
      required:
        - registration_id
        - name
      title: SelectedBusinessFields
      description: The business the applicant picked from the business name typeahead.
    BusinessOperatorLinkStatus:
      description: |-
        Your organization's status for the link between an individual and a
        business they operate.

        VERIFIED is earned by the full evidence recipe (TIN provided +
        IRS-matched + KYB-verified) on one of your own sessions, or decided by
        your organization; UNDER_REVIEW is every automatic shortfall; REJECTED
        is your organization's refusal, which stands until you decide again.
        Another organization's evidence or decision never changes it.
      enum:
        - VERIFIED
        - UNDER_REVIEW
        - REJECTED
      title: BusinessOperatorLinkStatus
      type: string
    BusinessOperatorLinkShortfall:
      description: >-
        Which leg of the operator-link evidence recipe a covering evaluation

        failed.


        Reviewer-facing: a session whose evaluation reports any shortfall
        records

        an UNDER_REVIEW link, and these name what a reviewer would be overriding

        by verifying it anyway. An evaluation that reports none earns VERIFIED
        on

        its own.
      enum:
        - TIN_NOT_PROVIDED
        - TIN_NOT_MATCHED
        - KYB_NOT_VERIFIED
      title: BusinessOperatorLinkShortfall
      type: string
    KYCResult:
      properties:
        verdict:
          anyOf:
            - $ref: '#/components/schemas/OnboardingVerdict'
            - type: 'null'
          description: Normalized onboarding verdict.
        search:
          anyOf:
            - $ref: '#/components/schemas/KYCEvidence'
            - type: 'null'
          description: >-
            The identity evaluation's distilled, provider-neutral findings — the
            KYC analogue of the KYB section's embedded search. None when KYC
            never evaluated (no confirmed identity to run against).
      additionalProperties: false
      type: object
      title: KYCResult
      description: 'Identity verification (KYC) result: the verdict and its evidence.'
    v1.VerificationLevel:
      description: |-
        Verification level the earned active keys attain, serialized as its
        integer value. Derived from the keys, never asserted.
      enum:
        - 1
        - 2
        - 3
      title: VerificationLevel
      type: integer
    KYBResult:
      properties:
        verdict:
          anyOf:
            - $ref: '#/components/schemas/OnboardingVerdict'
            - type: 'null'
          description: Normalized onboarding verdict.
        search:
          anyOf:
            - $ref: '#/components/schemas/v1.GetBusinessSearchResponse'
            - type: 'null'
          description: >-
            The complete business-search payload backing the KYB check —
            identical in shape to GET /searches/{id} — frozen at packet
            delivery. Null when the check minted no search (no business input
            reached it).
      additionalProperties: false
      type: object
      title: KYBResult
      description: |-
        Business verification (KYB) result: the verdict plus the full business
        search, in the shape ``GET /searches/{id}`` returns, frozen when the
        session completed.
    OnboardingApplicationScore:
      properties:
        grade:
          $ref: '#/components/schemas/OnboardingScoreGrade'
          description: Overall application letter grade.
        score:
          type: number
          maximum: 100
          minimum: 0
          title: Score
          description: >-
            Numeric application score (0–100): the weighted average of the
            component scores, or the representative F value when the
            rejected-identity override applies.
        confidence:
          $ref: '#/components/schemas/OnboardingScoreConfidence'
          description: How complete the evidence behind the grade was.
        badges:
          items:
            $ref: '#/components/schemas/OnboardingScoreBadge'
          type: array
          title: Badges
          description: Reviewer-facing qualifiers on the score card.
        components:
          items:
            $ref: '#/components/schemas/OnboardingComponentScore'
          type: array
          title: Components
          description: The graded components the application grade composes.
      type: object
      required:
        - grade
        - score
        - confidence
      title: OnboardingApplicationScore
      description: The application's overall grade, scored when the session completed.
    v1.ActedByKind:
      description: 'Who acted on a record: a console user or an API key.'
      enum:
        - USER
        - API_KEY
      title: ActedByKind
      type: string
    KYCEvidence:
      properties:
        attribute_matches:
          items:
            $ref: '#/components/schemas/KYCAttributeMatch'
          type: array
          title: Attribute Matches
          description: Per-attribute identity match classifications.
        watchlist_hits:
          anyOf:
            - items:
                $ref: '#/components/schemas/KYCWatchlistHit'
              type: array
            - type: 'null'
          title: Watchlist Hits
          description: >-
            Watchlist sources with hits against the person, mirroring the
            business watchlist_hits shape. An empty list is an affirmative
            all-clear (screening ran, nothing found); None means the provider
            ran no watchlist screening.
        risk_signals:
          items:
            $ref: '#/components/schemas/KYCRiskSignal'
          type: array
          title: Risk Signals
          description: >-
            Risk findings the evaluation affirmatively flagged; empty when
            nothing was flagged.
        identity_history:
          anyOf:
            - $ref: '#/components/schemas/KYCIdentityHistory'
            - type: 'null'
          description: Historical identity associations.
        created_at:
          anyOf:
            - type: string
            - type: 'null'
          title: Created At
          description: >-
            When the evaluation's findings were created (the provider evaluation
            end time), mirroring the KYB search's created_at.
      additionalProperties: false
      type: object
      title: KYCEvidence
      description: The evidence behind a KYC verdict. Every field is optional.
    v1.GetBusinessSearchResponse:
      properties:
        id:
          type: string
          format: uuid
          title: Id
          description: The unique identifier of the search.
        options:
          items:
            type: string
            enum:
              - Order.WebsiteAnalysis
              - Order.NaicsPrediction
              - Order.Pep
              - Order.Enhanced
            title: BusinessSearchOptions
          type: array
          title: Options
          description: Optional features enabled during search execution.
          examples:
            - - Order.WebsiteAnalysis
        orderables:
          items:
            $ref: '#/components/schemas/Orderable'
          type: array
          title: Orderables
          description: >-
            A list of associated requests that were made as a result of ordering
            optional features through the options when the search was submitted.
            This allows you to correlate associated operations that will
            complete asynchronously once the search is completed. For example,
            if you order Website Analysis when issuing the search you will have
            a corresponding WebsiteAnalysisRequest orderable containing the ID
            and URL of the forthcoming associated operations.
          default: []
          examples:
            - - id: 6ab61260-8d6c-4e18-bc3a-0359c91e8339
                option: Order.WebsiteAnalysis
                type: WebsiteAnalysisRequest
                url: >-
                  https://api.baselayer.com/website_analysis_requests/6ab61260-8d6c-4e18-bc3a-0359c91e8339
        user:
          anyOf:
            - $ref: '#/components/schemas/v1.UserAttributionResponse'
            - type: 'null'
          description: Details on the User who performed the search.
        idempotency_key:
          anyOf:
            - type: string
            - type: 'null'
          title: Idempotency Key
          description: >-
            The Idempotency-Key header the request that created this resource
            carried, if any.
        state:
          $ref: '#/components/schemas/TaskState'
          description: The current state of the search.
        name:
          type: string
          title: Name
          description: The name inputted in the search.
          examples:
            - Acme Corporation
        address:
          type: string
          title: Address
          description: The address string inputted in the search.
          examples:
            - 1640 Riverside Drive, Hill Valley, CA
        search_address:
          anyOf:
            - $ref: '#/components/schemas/v1.AddressSummaryResponse'
            - type: 'null'
          description: The sanitized address inputted in the search.
        officer_names:
          anyOf:
            - items:
                type: string
              type: array
            - type: 'null'
          title: Officer Names
          description: The officer names inputted in the search.
          examples:
            - - Doc Brown
        alternative_names:
          anyOf:
            - items:
                type: string
              type: array
              uniqueItems: true
            - type: 'null'
          title: Alternative Names
          description: The alternative names inputted in the search.
          examples:
            - - Joe's Pizza
              - Joe's Pizzeria
        website:
          anyOf:
            - type: string
            - type: 'null'
          title: Website
          description: The website inputted in the search.
          examples:
            - https://baselayer.com/
        phone_number:
          anyOf:
            - type: string
            - type: 'null'
          title: Phone Number
          description: The phone number inputted in the search.
          examples:
            - 636-555-3226
        email:
          anyOf:
            - type: string
            - type: 'null'
          title: Email
          description: The email inputted in the search.
          examples:
            - support@baselayer.com
        tin:
          anyOf:
            - type: string
            - type: 'null'
          title: Tin
          description: The TIN/EIN inputted in the search.
          examples:
            - '555666777'
        reference_id:
          anyOf:
            - type: string
            - type: 'null'
          title: Reference Id
          description: The reference ID inputted in the search.
          examples:
            - Search1234
        tin_matched:
          anyOf:
            - type: boolean
            - type: 'null'
          title: Tin Matched
          description: >-
            Indicates whether the inputted TIN/EIN was a match, per the IRS.  If
            a TIN is submitted with the search,                and a response of
            null is returned, this indicates that the IRS validation service is
            currently having a temporary outage.                 Please see
            status.baselayer.com for status updates.
          examples:
            - true
            - false
        tin_match_type:
          anyOf:
            - $ref: '#/components/schemas/IRSTINMatchType'
            - type: 'null'
          description: The type of match that occurred.
          examples:
            - SSN
        tin_potential_match:
          anyOf:
            - type: string
            - type: 'null'
          title: Tin Potential Match
          description: >-
            If the inputted TIN/EIN was *not* a match, but is a real
            TIN/EIN,              this field returns the name of the entity to
            whom that TIN/EIN actually belongs.
          deprecated: true
          examples:
            - Baselayer
        watchlist_hits:
          items:
            $ref: '#/components/schemas/v1.WatchlistHitResponse'
          type: array
          title: Watchlist Hits
          description: The watchlist hits associated with the searched business.
          default: []
        business_name_match:
          anyOf:
            - $ref: '#/components/schemas/MatchType'
            - type: 'null'
          description: >-
            Indicates how close the inputted name matches the found business
            entity.
          examples:
            - EXACT
        business_address_match:
          anyOf:
            - $ref: '#/components/schemas/AddressMatchType'
            - type: 'null'
          description: >-
            Indicates how close the inputted address matches the found business
            entity.
          examples:
            - EXACT
        business_officer_match:
          anyOf:
            - $ref: '#/components/schemas/MatchType'
            - type: 'null'
          description: >-
            Indicates how close the inputted officer name matches the found
            business officers.
          examples:
            - SIMILAR
        registered_agent_match:
          anyOf:
            - $ref: '#/components/schemas/MatchType'
            - type: 'null'
          description: >-
            Indicates how close the inputted officer name matches the found
            business registered agent.
          examples:
            - SIMILAR
        business_website_match:
          anyOf:
            - type: boolean
            - type: 'null'
          title: Business Website Match
          description: Does the inputted website match the found business website?
          examples:
            - true
            - false
        business_website_redirect_match:
          anyOf:
            - type: boolean
            - type: 'null'
          title: Business Website Redirect Match
          description: >-
            Indicates whether the website match was established via a
            cross-domain redirect. True when business_website_match is True and
            the match was found because one website redirects to the other's
            domain.
          examples:
            - true
            - false
        search_address_validation_level:
          anyOf:
            - $ref: '#/components/schemas/AddressValidationLevel'
            - type: 'null'
          description: The validation level derived during address normalization.
          examples:
            - FULL
            - PARTIAL
            - INVALID
        created_at:
          type: string
          format: date-time
          title: Created At
          description: The datetime the search was created.
          examples:
            - '2026-10-22T15:43:38.091242'
        updated_at:
          anyOf:
            - format: date-time
              type: string
            - type: 'null'
          title: Updated At
          description: >-
            The datetime the search was updated at (generally when the search
            completed).
          examples:
            - '2026-10-22T15:43:38.091255'
        verified:
          anyOf:
            - type: boolean
            - type: 'null'
          title: Verified
          description: >-
            Indicates whether the found business was a close enough match to be
            considered verified.
          examples:
            - true
            - false
        scores:
          anyOf:
            - items:
                $ref: '#/components/schemas/v1.ScoreResponse'
              type: array
            - type: 'null'
          title: Scores
          description: An array containing Baselayer's ratings.
        reason_codes:
          items:
            $ref: '#/components/schemas/ReasonCode'
          type: array
          title: Reason Codes
          description: >-
            The reason codes that hold on this result, sorted: conditions a
            rules engine can branch on. Each code's category, recommended
            severity and description are served by GET /reason_codes. Empty when
            none hold.
          examples:
            - - SEARCH_ADDRESS_CMRA
        error:
          anyOf:
            - type: string
            - type: 'null'
          title: Error
          description: Any errors that occurred.
        warnings:
          items:
            type: string
          type: array
          title: Warnings
          description: Any warnings that occurred.
          default: []
          examples:
            - - IRS Validation is unavailable.
        business:
          anyOf:
            - $ref: '#/components/schemas/v1.BusinessResponse'
            - type: 'null'
          description: A representation of the Business identified by the Search.
        url:
          type: string
          maxLength: 2083
          minLength: 1
          format: uri
          title: Url
          description: The API URL to retrieve the search.
          examples:
            - >-
              https://api.baselayer.com/searches/c623e29e-1f57-11ef-938f-1edb1b067314
        status_url:
          type: string
          maxLength: 2083
          minLength: 1
          format: uri
          title: Status Url
          description: The API URL to retrieve the status of the search.
          examples:
            - >-
              https://api.baselayer.com/searches/c623e29e-1f57-11ef-938f-1edb1b067314/status
        business_url:
          anyOf:
            - format: uri
              maxLength: 2083
              minLength: 1
              type: string
            - type: 'null'
          title: Business Url
          description: The API URL to retrieve the business details.
          examples:
            - >-
              https://api.baselayer.com/businesses/febe48f6-1f57-11ef-8bbf-1edb1b067314/status
        console_url:
          type: string
          maxLength: 2083
          minLength: 1
          format: uri
          title: Console Url
          description: The URL to the search details in the console.
          examples:
            - >-
              https://console.baselayer.com/business/febe48f6-1f57-11ef-8bbf-1edb1b067314
      type: object
      required:
        - id
        - options
        - state
        - name
        - address
        - created_at
        - url
        - status_url
        - business_url
      title: GetBusinessSearchResponse (v1)
    OnboardingScoreGrade:
      type: string
      enum:
        - A
        - B
        - C
        - F
      title: OnboardingScoreGrade
      description: |-
        Letter grade for an onboarding application score.

        Deliberately the scoring engine's vocabulary (KYB/Risk grades are
        A/B/C/F; there is no D or E anywhere in the product), so the KYB
        component score can carry the business search's rating verbatim.
    OnboardingScoreConfidence:
      type: string
      enum:
        - HIGH
        - MEDIUM
        - LOW
      title: OnboardingScoreConfidence
      description: |-
        How complete the evidence behind an application score was.

        Grades say what the checks concluded; confidence says how much
        corroborating data they had to work with (identity provenance and
        evidence, TIN collection, website corroboration).
    OnboardingScoreBadge:
      type: string
      enum:
        - IDENTITY_REJECTED
        - SELF_ENTERED_IDENTITY
        - LOW_DATA_CONFIDENCE
      title: OnboardingScoreBadge
      description: Reviewer-facing qualifier badges on the application score card.
    OnboardingComponentScore:
      properties:
        component:
          $ref: '#/components/schemas/OnboardingScoreComponent'
          description: Which slice of the application this grades.
        grade:
          $ref: '#/components/schemas/OnboardingScoreGrade'
          description: Letter grade for the component.
        score:
          type: number
          maximum: 100
          minimum: 0
          title: Score
          description: Numeric score (0–100) behind the grade.
        narrative:
          type: string
          title: Narrative
          description: >-
            Human-readable explanation, frozen at packet delivery with the
            session's specifics (e.g. the applicant's name).
        match:
          anyOf:
            - $ref: '#/components/schemas/MatchType'
            - type: 'null'
          description: >-
            Officer match level, on the connection component only — drives the
            dossier's Exact Match chip.
        subject:
          anyOf:
            - type: string
            - type: 'null'
          title: Subject
          description: >-
            Display name of the beneficial owner this row grades — OWNER_KYC
            rows repeat per owner and this is their discriminator. None on every
            other component.
      type: object
      required:
        - component
        - grade
        - score
        - narrative
      title: OnboardingComponentScore
      description: One graded slice of the application (KYC, KYB, or the connection).
    KYCAttributeMatch:
      properties:
        attribute:
          $ref: '#/components/schemas/KYCMatchAttribute'
          description: The identity attribute compared.
        level:
          $ref: '#/components/schemas/KYCCorrelationLevel'
          description: How closely the attribute matched.
      additionalProperties: false
      type: object
      required:
        - attribute
        - level
      title: KYCAttributeMatch
      description: How one submitted identity attribute compared against verified records.
    KYCWatchlistHit:
      properties:
        name:
          $ref: '#/components/schemas/KYCWatchlistSource'
          description: >-
            Watchlist source, named as in business watchlist results. OTHER
            carries hits from sources outside that list.
          examples:
            - OFAC
        count:
          type: integer
          title: Count
          description: Number of hits found in this source.
      additionalProperties: false
      type: object
      required:
        - name
        - count
      title: KYCWatchlistHit
      description: One watchlist source with hits against the person.
    KYCRiskSignal:
      type: string
      enum:
        - DECEASED
        - CORRECTIONAL_ADDRESS
        - NATIONAL_ID_BEFORE_DOB
        - RECENT_SIM_SWAP
        - RECENT_PORT
        - CALL_FORWARDING
        - VOIP_LINE
        - RECYCLED_PHONE
        - VELOCITY_ANOMALY
        - NO_IDENTITY_FOR_PHONE
      title: KYCRiskSignal
      description: |-
        Discrete risk findings a KYC evaluation affirmatively flagged.

        A closed vocabulary of conditions any identity verification provider can
        report; adapters map their own wire signals onto these members, and a
        signal appears only when the provider flagged the condition (absence
        means "not flagged", never "not checked").
    KYCIdentityHistory:
      properties:
        aliases:
          items:
            type: string
          type: array
          title: Aliases
          description: Known name aliases.
        addresses:
          items:
            $ref: '#/components/schemas/KYCAssociationRecord'
          type: array
          title: Addresses
          description: Associated addresses.
        phones:
          items:
            $ref: '#/components/schemas/KYCAssociationRecord'
          type: array
          title: Phones
          description: Associated phone numbers.
        emails:
          items:
            $ref: '#/components/schemas/KYCAssociationRecord'
          type: array
          title: Emails
          description: Associated emails.
      additionalProperties: false
      type: object
      title: KYCIdentityHistory
      description: Historical associations the provider has observed for this identity.
    Orderable:
      properties:
        type:
          $ref: '#/components/schemas/OrderableType'
          title: Orderable Type
          description: >-
            The type of optional orderable object that was requested as part of
            the Business Search options.
        id:
          type: string
          format: uuid
          title: Orderable Object Identifier
          description: The unique identifier of the orderable object.
        url:
          type: string
          title: Orderable Object URL
          description: The URL to the orderable object.
          readOnly: true
          examples:
            - >-
              https://api.baselayer.com/website_analysis_requests/9083e7e2-1f6b-11ef-8f0f-1edb1b067314
        option:
          $ref: '#/components/schemas/BusinessSearchOptionsOutput'
          title: Bussiness Search Option
          description: The business search option that requested the orderable object.
          readOnly: true
      type: object
      required:
        - type
        - id
        - url
        - option
      title: Orderable
    v1.UserAttributionResponse:
      description: |-
        Response model for user attribution operations.

        This model defines the structure for user attribution API responses.
      properties:
        id:
          description: Unique identifier for the user.
          format: uuid
          title: Id
          type: string
        first_name:
          description: First name of the user.
          examples:
            - Austin
          title: First Name
          type: string
        last_name:
          description: Last name of the user.
          examples:
            - Taylor
          title: Last Name
          type: string
        email:
          description: Email address of the user.
          examples:
            - jessicasimpson@example.com
          title: Email
          type: string
      required:
        - id
        - first_name
        - last_name
        - email
      title: UserAttributionResponse (v1)
      type: object
    TaskState:
      enum:
        - PENDING
        - EXECUTING
        - COMPLETED
        - FAILED
        - CANCELLED
      title: TaskState
      type: string
    v1.AddressSummaryResponse:
      description: |-
        Response model for address summary data.

        This model defines the structure for address summary API responses.
      properties:
        id:
          description: Unique identifier for the address.
          format: uuid
          title: Id
          type: string
        street:
          description: Street name of the address.
          examples:
            - 913 Hendrix Gardens Suite 492
          title: Street
          type: string
        city:
          description: City name of the address.
          examples:
            - Jasonfurt
          title: City
          type: string
        state:
          $ref: '#/components/schemas/v1.StateAbbreviation'
          description: State 2 letter abbreviation of the address.
          examples:
            - VA
        zip:
          description: Zip code of the address.
          examples:
            - '19773'
          title: Zip
          type: string
        latitude:
          description: Latitude of the address.
          examples:
            - 38.03012
          title: Latitude
          type: number
        longitude:
          description: Longitude of the address.
          examples:
            - 78.47665
          title: Longitude
          type: number
        rdi:
          anyOf:
            - $ref: '#/components/schemas/v1.AddressRDI'
            - type: 'null'
          default: null
          description: Residential Delivery Indicator of the address.
          examples:
            - Commercial
        deliverable:
          anyOf:
            - type: boolean
            - type: 'null'
          default: null
          description: Indicates whether the address is deliverable.
          examples:
            - false
          title: Deliverable
        cmra:
          anyOf:
            - type: boolean
            - type: 'null'
          default: null
          description: >-
            Indicates whether the address is a Commercial Mail Receiving Agency
            (CMRA).
          examples:
            - false
          title: Cmra
        url:
          anyOf:
            - format: uri
              maxLength: 2083
              minLength: 1
              type: string
            - type: 'null'
          default: null
          description: The URL to the address details.
          title: Url
        delivery_type:
          anyOf:
            - $ref: '#/components/schemas/v1.USPSDeliveryType'
            - type: 'null'
          default: null
          description: The USPS delivery type.
          examples:
            - STREET
            - FIRM
      required:
        - id
        - street
        - city
        - state
        - zip
        - latitude
        - longitude
      title: AddressSummaryResponse (v1)
      type: object
    IRSTINMatchType:
      type: string
      enum:
        - SSN
        - EIN
        - UNKNOWN
      title: IRSTINMatchType
    v1.WatchlistHitResponse:
      properties:
        code:
          description: The code of the watchlist data source.
          examples:
            - DMF
          title: Code
        name:
          $ref: '#/components/schemas/v1.WatchlistDataSource'
          description: The name of the watchlist data source.
          examples:
            - Death Master File
        count:
          description: The number of hits found in the watchlist data source.
          examples:
            - 1
            - 0
            - 5
          title: Count
          type: integer
        details:
          anyOf:
            - items:
                additionalProperties: true
                type: object
              type: array
            - type: 'null'
          default: []
          description: The details of the watchlist hits.
          examples:
            - - address: 123 Main St
                date_of_birth: '1980-01-01'
                name: John Doe
          title: Details
      required:
        - code
        - name
        - count
      title: WatchlistHitResponse (v1)
      type: object
    MatchType:
      enum:
        - NO_MATCH
        - SIMILAR
        - EXACT
      title: MatchType
      type: string
    AddressMatchType:
      enum:
        - NO_MATCH
        - CITY
        - STATE
        - SIMILAR
        - EXACT
      title: AddressMatchType
      type: string
    AddressValidationLevel:
      type: string
      enum:
        - FULL
        - PARTIAL
        - INVALID
      title: AddressValidationLevel
    v1.ScoreResponse:
      properties:
        type:
          $ref: '#/components/schemas/v1.ScoreType'
          description: The type of score.
          examples:
            - risk
        score:
          description: The score value.
          examples:
            - 95
          title: Score
          type: number
        rating:
          description: The rating associated with the score.
          examples:
            - A
            - B
          title: Rating
          type: string
      required:
        - type
        - score
        - rating
      title: ScoreResponse (v1)
      type: object
    ReasonCode:
      description: >-
        Every reason code Baselayer has ever issued.


        Members are named exactly as their value so the code a customer sees is
        the

        code a developer greps for. A member is never removed: rows that
        recorded it

        still name it.
      enum:
        - ADDRESS_FAILED_TO_NORMALIZE
        - ENTITY_NOT_FOUND
        - BUSINESS_NAME_NO_MATCH
        - NO_ACTIVE_REGISTRATIONS
        - DOMESTIC_REGISTRATION_INACTIVE
        - SOLE_REGISTRATION_STATUS_UNKNOWN
        - ENTITY_AGE_UNDER_7D
        - ENTITY_AGE_UNDER_30D
        - ENTITY_AGE_UNDER_90D
        - ENTITY_AGE_UNDER_6M
        - ENTITY_AGE_UNDER_12M
        - TIN_MISMATCH
        - TIN_IS_SSN
        - ADDRESS_NO_MATCH
        - ADDRESS_PARTIAL_MATCH
        - SEARCH_ADDRESS_UNDELIVERABLE
        - SEARCH_ADDRESS_PO_BOX
        - SEARCH_ADDRESS_CMRA
        - SEARCH_ADDRESS_RESIDENTIAL
        - PRIMARY_ADDRESS_UNDELIVERABLE
        - PRIMARY_ADDRESS_PO_BOX
        - PRIMARY_ADDRESS_CMRA
        - PRIMARY_ADDRESS_RESIDENTIAL
        - NO_OFFICER_MATCH
        - SUBMITTED_DOMAIN_UNDER_7D
        - DISCOVERED_DOMAIN_UNDER_7D
        - TAX_LIEN_ACTIVE
        - TAX_LIEN_PAST
        - UCC_LIEN_ACTIVE
        - BANKRUPTCY_ACTIVE
        - BANKRUPTCY_RECENT
        - LITIGATION_ACTIVE
        - LITIGATION_RECENT
        - NETWORK_HIGH_VELOCITY
        - NETWORK_HIGH_APPLICATION_COUNT
        - ADDRESS_MISMATCH
        - NETWORK_NO_HISTORY
      title: ReasonCode
      type: string
    v1.BusinessResponse:
      description: >-
        Response model for business data.


        This model defines the complete structure for business-related API
        responses.
      properties:
        id:
          description: Unique identifier for the business.
          format: uuid
          title: Id
          type: string
        name:
          description: >-
            The name of the business, determined by the name found on the
            domestic registration.
          examples:
            - Levine-Santos
          title: Name
          type: string
        structure:
          anyOf:
            - $ref: '#/components/schemas/v1.BusinessStructure'
            - type: 'null'
          default: null
          description: The structure of the business.
          examples:
            - C_CORPORATION
            - LLC
        addresses:
          description: All addresses found associated with this business entity.
          items:
            $ref: '#/components/schemas/v1.AddressSummaryResponseWithSources'
          title: Addresses
          type: array
        phone_numbers:
          description: All phone numbers found associated with this business entity.
          examples:
            - - 251-829-8026
          items:
            type: string
          title: Phone Numbers
          type: array
        email:
          anyOf:
            - type: string
            - type: 'null'
          default: null
          description: The main email found associated with this business entity.
          examples:
            - kathleenholmes@example.com
          title: Email
        website:
          anyOf:
            - type: string
            - type: 'null'
          default: null
          description: The website found associated with this business entity.
          examples:
            - http://www.cruz-adkins.net/
          title: Website
        social_profiles:
          anyOf:
            - items:
                $ref: '#/components/schemas/v1.DiscoveredSocialProfile'
              type: array
            - type: 'null'
          default: null
          description: >-
            The list of social media profiles potentially associated with this
            business entity that were identified by searching the web.
          examples:
            - confidence: null
              found_on: []
              metadata: null
              site: twitter
              url: https://twitter.com/michelle98
              username: michelle98
          title: Social Profiles
        reviews:
          anyOf:
            - items:
                $ref: '#/components/schemas/v1.DiscoveredReview'
              type: array
            - type: 'null'
          description: >-
            The list of customer reviews potentially associated with this
            business entity that were identified by searching the web.
          title: Reviews
        directory_listings:
          anyOf:
            - items:
                $ref: '#/components/schemas/v1.DirectoryListingResponse'
              type: array
            - type: 'null'
          description: >-
            Directory listings (BBB, Yelp, etc.) discovered during website
            analysis, including business category, contact info, and address.
          title: Directory Listings
        ein:
          anyOf:
            - type: string
            - type: 'null'
          default: null
          deprecated: true
          description: The EIN/TIN found associated with this business entity.
          examples:
            - '871888915'
          title: Ein
        incorporation_state:
          anyOf:
            - $ref: '#/components/schemas/v1.StateAbbreviation'
            - type: 'null'
          default: null
          description: The state in which the business first incorporated.
          examples:
            - HI
        incorporation_date:
          anyOf:
            - type: string
              format: date
            - type: 'null'
          default: null
          description: The date when the business first incorporated.
          examples:
            - '2011-11-27'
          title: Incorporation Date
        months_in_business:
          anyOf:
            - type: integer
            - type: 'null'
          default: null
          description: The number of months elapsed since the incorporation date.
          examples:
            - 256
          title: Months In Business
        primary_address:
          anyOf:
            - $ref: '#/components/schemas/v1.AddressSummaryResponse'
            - type: 'null'
          default: null
          description: The primary address associated with the business entity.
        alternative_names:
          default: []
          description: >-
            A list of alternative names (e.g. DBAs) found associated with the
            business entity.
          examples:
            - - Ramos, Garcia and Good
          items:
            type: string
          title: Alternative Names
          type: array
        registrations:
          description: The corporate registrations associated with the business entity.
          items:
            $ref: '#/components/schemas/v1.RegistrationResponse'
          title: Registrations
          type: array
        business_officers:
          description: The officers associated with the business entity.
          items:
            $ref: '#/components/schemas/v1.BusinessOfficerResponse'
          title: Business Officers
          type: array
        predicted_naics:
          default: []
          deprecated: true
          description: The predicted NAICS code(s) for the business entity.
          items:
            $ref: '#/components/schemas/v1.PredictedNaicsResponse'
          title: Predicted Naics
          type: array
        watchlist_hits:
          default: []
          description: The watchlist hits associated with the business entity.
          items:
            $ref: '#/components/schemas/v1.WatchlistHitResponse'
          title: Watchlist Hits
          type: array
        sec_registrations:
          default: []
          description: >-
            SEC EDGAR registrations linked to this business. Empty when no SEC
            registration is linked.
          items:
            $ref: '#/components/schemas/v1.SecRegistrationResponse'
          title: Sec Registrations
          type: array
        url:
          description: The URL to the business details.
          examples:
            - >-
              https://api.baselayer.com/businesses/9083e7e2-1f6b-11ef-8f0f-1edb1b067314
          format: uri
          maxLength: 2083
          minLength: 1
          title: Url
          type: string
        console_url:
          description: The URL to the business details in the console.
          examples:
            - >-
              https://console.baselayer.com/business/9083e7e2-1f6b-11ef-8f0f-1edb1b067314
          format: uri
          maxLength: 2083
          minLength: 1
          title: Console Url
          type: string
        revenue:
          default: null
          deprecated: true
          description: >-
            Indicates that there is no recent revenue data available for the
            business.
          title: No revenue data
          type: 'null'
        phone_number:
          anyOf:
            - type: string
            - type: 'null'
          default: null
          deprecated: true
          description: The primary phone number found associated with the business.
          examples:
            - 955-714-3269
          title: Phone Number
        address:
          anyOf:
            - type: string
            - type: 'null'
          deprecated: true
          description: The primary address associated with the business entity.
          examples:
            - 63788 Paige Lane Cooperfurt, MI 10037
          readOnly: true
          title: Address
      required:
        - id
        - name
        - url
        - console_url
        - address
      title: BusinessResponse (v1)
      type: object
    OnboardingScoreComponent:
      type: string
      enum:
        - KYC
        - KYB
        - CONNECTION
        - OWNER_KYC
      title: OnboardingScoreComponent
      description: |-
        Which slice of the application a component score grades.

        ``Connection`` is the KYC ⟷ KYB link: whether the verified identity
        matches an officer on the verified business's registration.
        ``OwnerKyc`` repeats — one component row per collected beneficial
        owner, discriminated by the row's ``subject`` (the owner's name).
    KYCMatchAttribute:
      type: string
      enum:
        - NAME
        - DOB
        - ADDRESS
        - PHONE
        - NATIONAL_ID
      title: KYCMatchAttribute
      description: Identity attribute a KYC check compares against verified records.
    KYCCorrelationLevel:
      type: string
      enum:
        - EXACT
        - PARTIAL
        - NO_MATCH
      title: KYCCorrelationLevel
      description: >-
        How strongly a submitted identity field correlates to verified records.


        The reviewer-facing discretization of a provider's identity-match

        signals; each provider adapter maps its own convention onto these
        levels.
    KYCWatchlistSource:
      type: string
      enum:
        - OFAC
        - PEP
        - CSL
        - FBI
        - CNS
        - OIG
        - OTHER
      title: KYCWatchlistSource
      description: |-
        Watchlist a KYC check can report hits from. OTHER covers any source
        outside this list; its records are kept on the hit's details.
    KYCAssociationRecord:
      properties:
        value:
          type: string
          title: Value
          description: The associated value.
        first_seen:
          anyOf:
            - type: string
            - type: 'null'
          title: First Seen
          description: Provider first-seen date.
        last_seen:
          anyOf:
            - type: string
            - type: 'null'
          title: Last Seen
          description: Provider last-seen date.
        matched:
          anyOf:
            - type: boolean
            - type: 'null'
          title: Matched
          description: Whether it matched the submitted value.
      additionalProperties: false
      type: object
      required:
        - value
      title: KYCAssociationRecord
      description: One historical value (phone / address / email) linked to the identity.
    OrderableType:
      type: string
      enum:
        - WebsiteAnalysisRequest
        - NAICSPredictionRequest
      title: OrderableType
    BusinessSearchOptionsOutput:
      type: string
      enum:
        - Order.WebsiteAnalysis
        - Order.NaicsPrediction
        - Order.Pep
        - Order.Enhanced
      title: BusinessSearchOptionsOutput
    v1.StateAbbreviation:
      enum:
        - AL
        - AK
        - AZ
        - AR
        - CA
        - CO
        - CT
        - DE
        - DC
        - FL
        - GA
        - HI
        - ID
        - IL
        - IN
        - IA
        - KS
        - KY
        - LA
        - ME
        - MD
        - MA
        - MI
        - MN
        - MS
        - MO
        - MT
        - NE
        - NV
        - NH
        - NJ
        - NM
        - NY
        - NC
        - ND
        - OH
        - OK
        - OR
        - PA
        - RI
        - SC
        - SD
        - TN
        - TX
        - UT
        - VT
        - VA
        - WA
        - WV
        - WI
        - WY
        - PR
        - VI
        - AE
        - AA
        - AP
        - GU
        - AS
      title: StateAbbreviation
      type: string
    v1.AddressRDI:
      enum:
        - Residential
        - Commercial
      title: AddressRDI
      type: string
    v1.USPSDeliveryType:
      description: |-
        Enum representing the different types of USPS delivery points.
        Used to classify addresses based on how mail is delivered to them.
      enum:
        - FIRM
        - GENERAL_DELIVERY
        - HIGH_RISE
        - POST_OFFICE
        - RURAL_ROUTE
        - STREET
      title: USPSDeliveryType
      type: string
    v1.WatchlistDataSource:
      enum:
        - Death Master File
        - Department of Treasury, Office of Foreign Assets Control
        - Politically Exposed Persons
        - IRS Exempt Organizations List
        - FBI Wanted List
        - Department of Commerce, Consolidated Screening List
        - Consolidated Canadian Autonomous Sanctions List
        - HHS OIG List of Excluded Individuals/Entities
        - Baselayer Fraud Consortium
      title: WatchlistDataSource
      type: string
    v1.ScoreType:
      enum:
        - fraud
        - risk
        - kyb
      title: ScoreType
      type: string
    v1.BusinessStructure:
      enum:
        - SOLE_PROPRIETORSHIP
        - GENERAL_PARTNERSHIP
        - LLC
        - LLP
        - LLLP
        - LP
        - C_CORPORATION
        - S_CORPORATION
        - B_CORPORATION
        - NONPROFIT
        - COOPERATIVE
        - TRUST
        - PROFESSIONAL_ASSOCIATION
        - PROFESSIONAL_CORPORATION
        - TRADE_NAME
        - BANK
        - CREDIT_UNION
        - INSURANCE
        - OTHER
      title: BusinessStructure
      type: string
    v1.AddressSummaryResponseWithSources:
      properties:
        id:
          description: Unique identifier for the address.
          format: uuid
          title: Id
          type: string
        street:
          description: Street name of the address.
          examples:
            - 913 Hendrix Gardens Suite 492
          title: Street
          type: string
        city:
          description: City name of the address.
          examples:
            - Jasonfurt
          title: City
          type: string
        state:
          $ref: '#/components/schemas/v1.StateAbbreviation'
          description: State 2 letter abbreviation of the address.
          examples:
            - VA
        zip:
          description: Zip code of the address.
          examples:
            - '19773'
          title: Zip
          type: string
        latitude:
          description: Latitude of the address.
          examples:
            - 38.03012
          title: Latitude
          type: number
        longitude:
          description: Longitude of the address.
          examples:
            - 78.47665
          title: Longitude
          type: number
        rdi:
          anyOf:
            - $ref: '#/components/schemas/v1.AddressRDI'
            - type: 'null'
          default: null
          description: Residential Delivery Indicator of the address.
          examples:
            - Commercial
        deliverable:
          anyOf:
            - type: boolean
            - type: 'null'
          default: null
          description: Indicates whether the address is deliverable.
          examples:
            - false
          title: Deliverable
        cmra:
          anyOf:
            - type: boolean
            - type: 'null'
          default: null
          description: >-
            Indicates whether the address is a Commercial Mail Receiving Agency
            (CMRA).
          examples:
            - false
          title: Cmra
        url:
          anyOf:
            - format: uri
              maxLength: 2083
              minLength: 1
              type: string
            - type: 'null'
          default: null
          description: The URL to the address details.
          title: Url
        delivery_type:
          anyOf:
            - $ref: '#/components/schemas/v1.USPSDeliveryType'
            - type: 'null'
          default: null
          description: The USPS delivery type.
          examples:
            - STREET
            - FIRM
        sources:
          description: The sources of the address.
          examples:
            - - SOS
              - Online
          items:
            $ref: '#/components/schemas/v1.EntitySource'
          title: Sources
          type: array
          uniqueItems: true
      required:
        - id
        - street
        - city
        - state
        - zip
        - latitude
        - longitude
      title: AddressSummaryResponseWithSources (v1)
      type: object
    v1.DiscoveredSocialProfile:
      properties:
        site:
          description: The type of social profile.
          enum:
            - linked_in:personal
            - linked_in:company
            - twitter
            - instagram
            - facebook
            - youtube
            - tiktok
            - pinterest
            - x
          examples:
            - instagram
          type: string
        username:
          description: The username of the social profile.
          examples:
            - certifiedpowerinc
          title: Username
          type: string
        confidence:
          anyOf:
            - $ref: '#/components/schemas/v1.ConfidenceLevel'
            - type: 'null'
          default: null
          description: The confidence level of the social profile.
          examples:
            - high
        metadata:
          anyOf:
            - $ref: '#/components/schemas/v1.DiscoveredInstagramMetadata'
            - $ref: '#/components/schemas/v1.DiscoveredLinkedInMetadata'
            - $ref: '#/components/schemas/v1.DiscoveredFacebookMetadata'
            - $ref: '#/components/schemas/v1.DiscoveredXMetadata'
            - $ref: '#/components/schemas/v1.DiscoveredYouTubeMetadata'
            - $ref: '#/components/schemas/v1.DiscoveredTikTokMetadata'
            - $ref: '#/components/schemas/v1.DiscoveredPinterestMetadata'
            - type: 'null'
          default: null
          description: >-
            The metadata of the social profile.  Based on the site of the social
            profile.
          title: Metadata
        found_on:
          description: >-
            Location(s) where this social profile was found: InputWebsite
            (user-provided website), FoundWebsite (discovered website)
          examples:
            - - FOUND_WEBSITE
            - - INPUT_WEBSITE
              - FOUND_WEBSITE
          items:
            enum:
              - INPUT_WEBSITE
              - FOUND_WEBSITE
            type: string
          title: Found On
          type: array
          uniqueItems: true
        url:
          description: The URL of the social profile.
          examples:
            - https://www.instagram.com/certifiedpowerinc
          readOnly: true
          title: Url
          type: string
      required:
        - site
        - username
        - url
      title: DiscoveredSocialProfile
      type: object
    v1.DiscoveredReview:
      properties:
        source:
          anyOf:
            - $ref: '#/components/schemas/v1.ReviewSource'
            - type: 'null'
          default: null
          description: The source of the review.
          examples:
            - yelp
        url:
          description: The URL of the review.
          examples:
            - https://www.yelp.com/biz/certified-power-inc-mundelein
          title: Url
          type: string
        confidence:
          anyOf:
            - $ref: '#/components/schemas/v1.ConfidenceLevel'
            - type: 'null'
          default: high
          description: The confidence level that this review is for the business.
          examples:
            - high
        rating:
          anyOf:
            - maximum: 5
              minimum: 0
              type: number
            - type: 'null'
          default: null
          description: The numeric rating of the review (e.g., 4.5 out of 5).
          examples:
            - 4.5
          title: Rating
        volume:
          anyOf:
            - type: integer
              minimum: 0
            - type: 'null'
          default: null
          description: The number of reviews.
          examples:
            - 23
          title: Volume
        summary:
          anyOf:
            - type: string
            - type: 'null'
          default: null
          description: >-
            Overall summary of the reviews and general sentiment towards the
            business.
          examples:
            - >-
              5 reviews mention that the service was great and the owner was
              very helpful.
          title: Summary
        phone_number:
          anyOf:
            - type: string
            - type: 'null'
          default: null
          description: Business phone number if found in profile
          examples:
            - '+12125551234'
          title: Phone Number
        address:
          anyOf:
            - type: string
            - type: 'null'
          default: null
          description: Business address if found in profile
          examples:
            - 123 Main St, Anytown, USA
          title: Address
        business_website:
          anyOf:
            - type: string
            - type: 'null'
          default: null
          description: Business website if found in profile
          examples:
            - https://www.example.com
          title: Business Website
        reviews:
          description: Individual reviews for this business.
          items:
            $ref: '#/components/schemas/v1.ReviewDetail'
          title: Reviews
          type: array
        metadata:
          anyOf:
            - $ref: '#/components/schemas/v1.GoogleReviewMetadata'
            - type: 'null'
          default: null
          description: >-
            Platform-specific metadata for the review. Currently only populated
            for Google reviews.
      required:
        - url
      title: DiscoveredReview
      type: object
    v1.DirectoryListingResponse:
      description: >-
        A business listing discovered on a directory/aggregator site (BBB, Yelp,
        etc.).


        This is the public schema representation of directory listing data.

        Shadowed from the internal transient model to keep the OpenAPI spec

        stable and decoupled from internal IPC models.
      properties:
        source:
          anyOf:
            - type: string
            - type: 'null'
          default: null
          description: Directory domain where the listing was found.
          examples:
            - bbb.org
            - yelp.com
            - yellowpages.com
          title: Source
        url:
          anyOf:
            - type: string
            - type: 'null'
          default: null
          description: URL of the directory page that was scraped.
          examples:
            - >-
              https://www.bbb.org/us/ca/modesto/profile/plumber/joes-plumbing-1234
          title: Url
        category:
          anyOf:
            - type: string
            - type: 'null'
          default: null
          description: Business category assigned by the directory site.
          examples:
            - Plumbing Contractor
            - Italian Restaurant
            - Moving Company
          title: Category
        business_name:
          anyOf:
            - type: string
            - type: 'null'
          default: null
          description: Business name as listed on the directory (may be a DBA).
          examples:
            - Joe's Plumbing & Heating
          title: Business Name
        phone_number:
          anyOf:
            - type: string
            - type: 'null'
          default: null
          description: Phone number from the directory listing.
          title: Phone Number
        email:
          anyOf:
            - type: string
            - type: 'null'
          default: null
          description: Email address from the directory listing.
          title: Email
        business_website:
          anyOf:
            - type: string
            - type: 'null'
          default: null
          description: Website URL listed on the directory page for the business.
          title: Business Website
        address:
          anyOf:
            - type: string
            - type: 'null'
          default: null
          description: Physical address from the directory listing.
          title: Address
        people:
          description: Officers, principals, or key people listed on the directory page.
          items:
            $ref: '#/components/schemas/v1.DirectoryListingPerson'
          title: People
          type: array
      title: DirectoryListingResponse (v1)
      type: object
    v1.RegistrationResponse:
      description: Response model for corporate registration data.
      properties:
        id:
          description: The unique identifier of the corporate registration.
          format: uuid
          title: Id
          type: string
        name:
          description: The name on the registration.
          examples:
            - Garcia, Hernandez and Woods
          title: Name
          type: string
        issue_date:
          anyOf:
            - type: string
              format: date
            - type: 'null'
          default: null
          description: The date the registration was issued.
          examples:
            - '2024-01-01'
          title: Issue Date
        inactive_date:
          anyOf:
            - type: string
              format: date
            - type: 'null'
          description: The date the registration became inactive.
          examples:
            - '2024-06-01'
          title: Inactive Date
        dissolution_date:
          anyOf:
            - type: string
              format: date
            - type: 'null'
          default: null
          description: The date the registration was dissolved in the given state.
          examples:
            - '2024-06-01'
          title: Dissolution Date
        file_number:
          description: The file number of the registration.
          examples:
            - '867124'
          title: File Number
          type: string
        state:
          $ref: '#/components/schemas/v1.StateAbbreviation'
          description: The state in which the registration was filed.
          examples:
            - AZ
        address:
          anyOf:
            - $ref: '#/components/schemas/v1.AddressSummaryResponse'
            - type: 'null'
          default: null
          description: The address associated with the registration.
        registration_type:
          anyOf:
            - $ref: '#/components/schemas/v1.CorporateRegistrationDomesticStatus'
            - type: 'null'
          default: null
          description: Whether the registration is domestic or foreign.
          examples:
            - domestic
            - foreign
            - unknown
        status:
          $ref: '#/components/schemas/v1.CorporateRegistrationStatus'
          description: >-
            Status field indicating whether the corporate registration filing is
            active or inactive.
          examples:
            - active
            - inactive
            - unknown
        standing:
          anyOf:
            - type: string
            - type: 'null'
          default: null
          description: The standing of the registration.
          examples:
            - In Good Standing
            - Inactive
            - Dissolved
          title: Standing
        registered_agent:
          anyOf:
            - $ref: '#/components/schemas/v1.CorporateRegistrationAgentResponse'
            - type: 'null'
          default: null
          description: The Registered Agent listed on the Registration.
        officers:
          default: []
          description: The officers listed on the registration.
          items:
            $ref: '#/components/schemas/v1.RegistrationOfficerResponse'
          title: Officers
          type: array
        metadata:
          default: []
          description: >-
            Registration metadata from state agencies beyond the Secretary of
            State (e.g. the Texas Comptroller's franchise-tax standing). Empty
            when no agency record is linked to this registration.
          items:
            $ref: '#/components/schemas/v1.TexasComptrollerMetadataResponse'
          title: Metadata
          type: array
      required:
        - id
        - name
        - file_number
        - state
        - status
      title: RegistrationResponse (v1)
      type: object
    v1.BusinessOfficerResponse:
      description: Response model for business officer data.
      properties:
        name:
          description: The name of the officer.
          examples:
            - Philip Mcguire
          title: Name
          type: string
        titles:
          default: []
          description: The titles associated with the officer.
          examples:
            - - CEO
              - Founder
          items:
            type: string
          title: Titles
          type: array
        states:
          default: []
          description: The states where the officer is registered.
          examples:
            - - CA
              - NY
          items:
            $ref: '#/components/schemas/v1.StateAbbreviation'
          title: States
          type: array
        sources:
          description: The sources of the officer.
          examples:
            - - SOS
              - Online
          items:
            $ref: '#/components/schemas/v1.EntitySource'
          title: Sources
          type: array
          uniqueItems: true
      required:
        - name
      title: BusinessOfficerResponse (v1)
      type: object
    v1.PredictedNaicsResponse:
      properties:
        code:
          description: The predicted NAICS code for the business.
          examples:
            - '336111'
          title: Code
          type: string
        title:
          description: The title of the predicted NAICS code.
          examples:
            - Automobile Manufacturing
          title: Title
          type: string
        accuracy:
          anyOf:
            - type: number
            - type: 'null'
          default: null
          description: The accuracy of the NAICS code prediction.
          examples:
            - 1
            - 0.4
          title: Accuracy
        keywords:
          anyOf:
            - items:
                type: string
              type: array
            - type: 'null'
          default: null
          description: >-
            Any keywords associated with the NAICS code to indicate area of
            business activity.
          examples:
            - - Automobiles
              - Manufacturing
              - Cars
              - Trucks
          title: Keywords
        mcc_codes:
          anyOf:
            - items:
                $ref: '#/components/schemas/v1.MCC'
              type: array
            - type: 'null'
          default: null
          description: List of MCC codes associated with the NAICS code.
          title: Mcc Codes
        sic_codes:
          anyOf:
            - items:
                $ref: '#/components/schemas/v1.SICCode'
              type: array
            - type: 'null'
          default: null
          description: List of SIC codes associated with the NAICS code.
          title: Sic Codes
        risk_level:
          anyOf:
            - $ref: '#/components/schemas/v1.RiskLevel'
            - type: 'null'
          default: null
          description: The risk level associated with the NAICS code.
          examples:
            - low
            - medium
            - high
        reasoning:
          anyOf:
            - type: string
            - type: 'null'
          default: null
          description: >-
            Explanation of why this specific NAICS code was chosen for the
            business.
          examples:
            - >-
              Based on homepage content mentioning automobile manufacturing and
              assembly processes.
            - >-
              Reviews and social profiles consistently reference restaurant and
              food service operations.
          title: Reasoning
      required:
        - code
        - title
      title: PredictedNaicsResponse (v1)
      type: object
    v1.SecRegistrationResponse:
      description: SEC EDGAR details for a single SEC registration linked to this business.
      properties:
        cik:
          description: SEC Central Index Key assigned to the registrant.
          examples:
            - '320193'
          title: Cik
          type: string
        tickers:
          description: All stock ticker symbols for this registrant.
          examples:
            - - NTDOY
            - - NTDOF
          items:
            type: string
          title: Tickers
          type: array
          uniqueItems: true
        exchanges:
          description: All exchanges this registrant's securities are listed on.
          examples:
            - - OTC
          items:
            type: string
          title: Exchanges
          type: array
          uniqueItems: true
        sec_edgar_url:
          description: Direct link to this registrant's SEC EDGAR page.
          format: uri
          maxLength: 2083
          minLength: 1
          readOnly: true
          title: Sec Edgar Url
          type: string
      required:
        - cik
        - tickers
        - exchanges
        - sec_edgar_url
      title: SecRegistrationResponse
      type: object
    v1.EntitySource:
      enum:
        - SOS
        - Online
      title: EntitySource
      type: string
    v1.ConfidenceLevel:
      enum:
        - high
        - medium
        - low
      title: ConfidenceLevel
      type: string
    v1.DiscoveredInstagramMetadata:
      description: Instagram-specific metadata extracted from a verified business profile.
      properties:
        is_private:
          anyOf:
            - type: boolean
            - type: 'null'
          default: null
          description: Whether the Instagram account is private
          examples:
            - false
            - true
          title: Is Private
        is_business_account:
          anyOf:
            - type: boolean
            - type: 'null'
          default: null
          description: Whether this is an Instagram business account
          examples:
            - true
            - false
          title: Is Business Account
        has_business_address:
          anyOf:
            - type: boolean
            - type: 'null'
          default: null
          description: Whether the business address is displayed on the Instagram profile
          examples:
            - true
            - false
          title: Has Business Address
        bio:
          anyOf:
            - type: string
            - type: 'null'
          default: null
          description: Instagram bio/description content
          examples:
            - Professional roofing services since 2010 🏠
          title: Bio
        followers_count:
          anyOf:
            - type: integer
            - type: 'null'
          default: null
          description: Number of followers if displayed
          examples:
            - 1250
            - 5000
          title: Followers Count
        phone_number:
          anyOf:
            - type: string
            - type: 'null'
          default: null
          description: Business phone number if found in profile
          examples:
            - '+12125551234'
          title: Phone Number
        email:
          anyOf:
            - type: string
            - type: 'null'
          default: null
          description: Business email address if found in profile
          examples:
            - contact@business.com
          title: Email
        address:
          anyOf:
            - type: string
            - type: 'null'
          default: null
          description: Business address if found in profile
          examples:
            - 123 Main St, Anytown, USA
          title: Address
        business_website:
          anyOf:
            - type: string
            - type: 'null'
          default: null
          description: Business website URL if found in profile
          examples:
            - https://www.business.com
          title: Business Website
      title: DiscoveredInstagramMetadata
      type: object
    v1.DiscoveredLinkedInMetadata:
      description: LinkedIn-specific metadata extracted from a verified business profile.
      properties:
        company_size_range:
          anyOf:
            - type: string
            - type: 'null'
          default: null
          description: >-
            Company size range as displayed on LinkedIn (e.g., '11-50
            employees')
          examples:
            - 11-50 employees
            - 51-200 employees
          title: Company Size Range
        industry:
          anyOf:
            - type: string
            - type: 'null'
          default: null
          description: Industry classification from LinkedIn
          examples:
            - Construction
            - Financial Services
          title: Industry
        followers_count:
          anyOf:
            - type: integer
            - type: 'null'
          default: null
          description: Number of followers if displayed
          examples:
            - 250
            - 1500
          title: Followers Count
        phone_number:
          anyOf:
            - type: string
            - type: 'null'
          default: null
          description: Business phone number if found in profile
          examples:
            - '+12125551234'
          title: Phone Number
        bio:
          anyOf:
            - type: string
            - type: 'null'
          default: null
          description: LinkedIn bio/description content
          title: Bio
        email:
          anyOf:
            - type: string
            - type: 'null'
          default: null
          description: Business email address if found in profile
          examples:
            - info@business.com
          title: Email
        number_of_employees:
          anyOf:
            - type: integer
            - type: 'null'
          default: null
          description: Number of employees (LinkedIn only)
          examples:
            - 25
            - 150
          title: Number Of Employees
        business_website:
          anyOf:
            - type: string
            - type: 'null'
          default: null
          description: Business website URL if found in profile
          examples:
            - https://www.business.com
          title: Business Website
      title: DiscoveredLinkedInMetadata
      type: object
    v1.DiscoveredFacebookMetadata:
      description: Facebook-specific metadata extracted from a verified business profile.
      properties:
        is_business_page:
          anyOf:
            - type: boolean
            - type: 'null'
          default: null
          description: Whether this is a Facebook business page vs personal profile
          title: Is Business Page
        has_reviews:
          anyOf:
            - type: boolean
            - type: 'null'
          default: null
          description: Whether the Facebook page has customer reviews
          title: Has Reviews
        check_ins_count:
          anyOf:
            - type: integer
            - type: 'null'
          default: null
          description: Number of check-ins at this business location
          title: Check Ins Count
        followers_count:
          anyOf:
            - type: integer
            - type: 'null'
          default: null
          description: Number of followers if displayed
          title: Followers Count
        bio:
          anyOf:
            - type: string
            - type: 'null'
          default: null
          description: Facebook bio/description content
          title: Bio
        phone_number:
          anyOf:
            - type: string
            - type: 'null'
          default: null
          description: Business phone number if found in profile
          title: Phone Number
        address:
          anyOf:
            - type: string
            - type: 'null'
          default: null
          description: Business address if found in profile
          title: Address
        email:
          anyOf:
            - type: string
            - type: 'null'
          default: null
          description: Business email address if found in profile
          title: Email
        business_website:
          anyOf:
            - type: string
            - type: 'null'
          default: null
          description: Business website URL if found in profile
          title: Business Website
      title: DiscoveredFacebookMetadata
      type: object
    v1.DiscoveredXMetadata:
      description: Twitter/X-specific metadata extracted from a verified business profile.
      properties:
        is_verified:
          anyOf:
            - type: boolean
            - type: 'null'
          default: null
          description: Whether the Twitter/X account is verified
          examples:
            - true
            - false
          title: Is Verified
        follower_count:
          anyOf:
            - type: integer
            - type: 'null'
          default: null
          description: Number of followers if displayed
          examples:
            - 1500
            - 10000
          title: Follower Count
        bio:
          anyOf:
            - type: string
            - type: 'null'
          default: null
          description: Twitter/X bio/description content
          examples:
            - Leading provider of construction services in the NYC area
          title: Bio
        joined_date:
          anyOf:
            - type: string
            - type: 'null'
          default: null
          description: When the account joined Twitter/X (e.g., 'Joined February 2010')
          examples:
            - Joined February 2010
            - Joined March 2015
          title: Joined Date
        address:
          anyOf:
            - type: string
            - type: 'null'
          default: null
          description: Business address if found in profile
          examples:
            - 123 Main St, Anytown, USA
          title: Address
        phone_number:
          anyOf:
            - type: string
            - type: 'null'
          default: null
          description: Business phone number if found in profile
          examples:
            - '+12125551234'
          title: Phone Number
        email:
          anyOf:
            - type: string
            - type: 'null'
          default: null
          description: Business email address if found in profile
          examples:
            - contact@business.com
          title: Email
        business_website:
          anyOf:
            - type: string
            - type: 'null'
          default: null
          description: Business website URL if found in profile
          examples:
            - https://www.business.com
          title: Business Website
      title: DiscoveredXMetadata
      type: object
    v1.DiscoveredYouTubeMetadata:
      description: YouTube-specific metadata extracted from a verified business channel.
      properties:
        is_verified:
          anyOf:
            - type: boolean
            - type: 'null'
          default: null
          description: Whether the YouTube channel is verified
          examples:
            - true
            - false
          title: Is Verified
        subscriber_count:
          anyOf:
            - type: integer
            - type: 'null'
          default: null
          description: Number of subscribers if displayed
          examples:
            - 1200
            - 15000
          title: Subscriber Count
        channel_type:
          anyOf:
            - type: string
            - type: 'null'
          default: null
          description: Type of channel (e.g., 'Business', 'Brand', 'Personal')
          examples:
            - Business
            - Brand
            - Personal
          title: Channel Type
        has_business_email:
          anyOf:
            - type: boolean
            - type: 'null'
          default: null
          description: Whether business contact email is provided
          examples:
            - true
            - false
          title: Has Business Email
        channel_description:
          anyOf:
            - type: string
            - type: 'null'
          default: null
          description: Channel about/description content
          examples:
            - Weekly tutorials on home improvement and DIY projects
          title: Channel Description
        followers_count:
          anyOf:
            - type: integer
            - type: 'null'
          default: null
          description: Number of followers if displayed
          examples:
            - 1200
            - 15000
          title: Followers Count
        phone_number:
          anyOf:
            - type: string
            - type: 'null'
          default: null
          description: Business phone number if found in profile
          examples:
            - '+12125551234'
          title: Phone Number
        email:
          anyOf:
            - type: string
            - type: 'null'
          default: null
          description: Business email address if found in profile
          examples:
            - business@example.com
          title: Email
        business_website:
          anyOf:
            - type: string
            - type: 'null'
          default: null
          description: Business website URL if found in profile
          examples:
            - https://www.business.com
          title: Business Website
      title: DiscoveredYouTubeMetadata
      type: object
    v1.DiscoveredTikTokMetadata:
      description: TikTok-specific metadata extracted from a verified business profile.
      properties:
        is_verified:
          anyOf:
            - type: boolean
            - type: 'null'
          default: null
          description: Whether the TikTok account is verified
          examples:
            - true
            - false
          title: Is Verified
        is_business_account:
          anyOf:
            - type: boolean
            - type: 'null'
          default: null
          description: Whether this is a TikTok business account
          examples:
            - true
            - false
          title: Is Business Account
        follower_count:
          anyOf:
            - type: integer
            - type: 'null'
          default: null
          description: Number of followers if displayed
          examples:
            - 5000
            - 25000
          title: Follower Count
        bio:
          anyOf:
            - type: string
            - type: 'null'
          default: null
          description: TikTok bio/description content
          examples:
            - Your trusted local contractor 🔨 Follow for tips!
          title: Bio
        has_business_website:
          anyOf:
            - type: boolean
            - type: 'null'
          default: null
          description: Whether a business website link is provided
          examples:
            - true
            - false
          title: Has Business Website
        phone_number:
          anyOf:
            - type: string
            - type: 'null'
          default: null
          description: Business phone number if found in profile
          examples:
            - '+12125551234'
          title: Phone Number
        email:
          anyOf:
            - type: string
            - type: 'null'
          default: null
          description: Business email address if found in profile
          examples:
            - contact@business.com
          title: Email
        business_website:
          anyOf:
            - type: string
            - type: 'null'
          default: null
          description: Business website URL if found in profile
          examples:
            - https://www.business.com
          title: Business Website
      title: DiscoveredTikTokMetadata
      type: object
    v1.DiscoveredPinterestMetadata:
      description: Pinterest-specific metadata extracted from a verified business profile.
      properties:
        follower_count:
          anyOf:
            - type: integer
            - type: 'null'
          default: null
          description: Number of followers if displayed
          title: Follower Count
        monthly_views:
          anyOf:
            - type: integer
            - type: 'null'
          default: null
          description: Monthly views count if displayed
          title: Monthly Views
        bio:
          anyOf:
            - type: string
            - type: 'null'
          default: null
          description: Pinterest profile bio/description content
          title: Bio
        has_business_website:
          anyOf:
            - type: boolean
            - type: 'null'
          default: null
          description: Whether a business website link is provided
          title: Has Business Website
        phone_number:
          anyOf:
            - type: string
            - type: 'null'
          default: null
          description: Business phone number if found in profile
          title: Phone Number
        email:
          anyOf:
            - type: string
            - type: 'null'
          default: null
          description: Business email address if found in profile
          title: Email
        business_website:
          anyOf:
            - type: string
            - type: 'null'
          default: null
          description: Business website URL if found in profile
          title: Business Website
      title: DiscoveredPinterestMetadata
      type: object
    v1.ReviewSource:
      enum:
        - yelp
        - google
        - trustpilot
        - tripadvisor
        - other
      title: ReviewSource
      type: string
    v1.ReviewDetail:
      properties:
        username:
          description: The username of the reviewer.
          examples:
            - John Doe
          title: Username
          type: string
        text:
          description: The text of the review.
          examples:
            - This is a great review!
          title: Text
          type: string
        date:
          description: The date of the review.
          examples:
            - '2024-01-01'
          format: date
          title: Date
          type: string
        rating:
          description: The rating of the review.
          examples:
            - 5
          title: Rating
          type: integer
      required:
        - username
        - text
        - date
        - rating
      title: ReviewDetail
      type: object
    v1.GoogleReviewMetadata:
      description: Google Maps-specific metadata for a discovered review.
      properties:
        open_state:
          anyOf:
            - type: string
            - type: 'null'
          default: null
          description: Current open/closed state from Google Maps.
          examples:
            - Open
            - Closed
            - Temporarily closed
          title: Open State
        operating_hours:
          anyOf:
            - additionalProperties: true
              type: object
            - type: 'null'
          default: null
          description: Operating hours data from Google Maps.
          title: Operating Hours
        description:
          anyOf:
            - type: string
            - type: 'null'
          default: null
          description: Business description from Google Maps.
          title: Description
        types:
          anyOf:
            - items:
                type: string
              type: array
            - type: 'null'
          default: null
          description: Business type tags from Google Maps.
          examples:
            - - Restaurant
              - Italian restaurant
          title: Types
        service_options:
          anyOf:
            - additionalProperties: true
              type: object
            - type: 'null'
          default: null
          description: Service options from Google Maps (e.g., dine-in, takeout).
          title: Service Options
      title: GoogleReviewMetadata
      type: object
    v1.DirectoryListingPerson:
      description: An officer, principal, or key person listed on a directory page.
      properties:
        name:
          type: string
          title: Name
        title:
          anyOf:
            - type: string
            - type: 'null'
          default: null
          title: Title
      required:
        - name
      title: DirectoryListingPerson
      type: object
    v1.CorporateRegistrationDomesticStatus:
      description: Status of the corporate registration filing.
      enum:
        - foreign
        - domestic
        - unknown
      title: CorporateRegistrationDomesticStatus
      type: string
    v1.CorporateRegistrationStatus:
      description: |-
        Status field indicating whether the corporate registration filing is
        active or inactive.
      enum:
        - active
        - inactive
        - unknown
      title: CorporateRegistrationStatus
      type: string
    v1.CorporateRegistrationAgentResponse:
      description: Response model for corporate registration agent data.
      properties:
        name:
          description: The name of the registered agent.
          examples:
            - Jeremy Crawford
          title: Name
          type: string
        address:
          anyOf:
            - $ref: '#/components/schemas/v1.AddressSummaryResponse'
            - type: 'null'
          default: null
          description: >-
            The AddressSummaryResponse of the address associated with the
            registered agent
          examples:
            - city: Andrewton
              cmra: false
              deliverable: false
              delivery_type: null
              id: 4239df07-dc00-4a4b-9dc0-236911d74877
              latitude: 34.0522
              longitude: -118.2437
              rdi: null
              state: CA
              street: 3032 Mark Parks Andrewton, CA 27458
              url: null
              zip: '27458'
      required:
        - name
      title: CorporateRegistrationAgentResponse (v1)
      type: object
    v1.RegistrationOfficerResponse:
      description: Response model for registration officer data.
      properties:
        name:
          description: The name of the officer.
          examples:
            - Tyler Johnson
          title: Name
          type: string
        titles:
          default: []
          description: The titles associated with the officer.
          examples:
            - - CEO
              - Founder
          items:
            type: string
          title: Titles
          type: array
      required:
        - name
      title: RegistrationOfficerResponse (v1)
      type: object
    v1.TexasComptrollerMetadataResponse:
      description: |-
        Franchise-tax standing at the Texas Comptroller for a TX registration.

        Leads SOS status by months, so it's kept as its own field on the wire
        rather than folded into ``status`` — but the KYB scoring engine does
        blend it into sos_status, at even weight (see ``scoring_engine.py``).
      properties:
        source:
          const: texas_comptroller
          description: The agency this registration metadata came from.
          title: Source
          type: string
        status:
          $ref: '#/components/schemas/v1.CorporateRegistrationStatus'
          description: >-
            Whether the registration is in franchise-tax standing at the Texas
            Comptroller. Independent of the Secretary of State status; the two
            disagreeing is the signal.
          examples:
            - active
            - inactive
        status_description:
          anyOf:
            - type: string
            - type: 'null'
          default: null
          description: Human-readable franchise-tax standing.
          examples:
            - Franchise Tax Forfeited
            - Active
          title: Status Description
        taxpayer_number:
          anyOf:
            - type: string
            - type: 'null'
          default: null
          description: The registration's Texas taxpayer number.
          examples:
            - '32081737150'
          title: Taxpayer Number
      required:
        - source
        - status
      title: TexasComptrollerMetadataResponse (v1)
      type: object
    v1.MCC:
      description: Represents a Merchant Category Code (MCC).
      properties:
        code:
          description: The 4-digit MCC.
          title: Code
          type: string
        description:
          anyOf:
            - type: string
            - type: 'null'
          default: null
          description: Description of the MCC.
          title: Description
        mastercard_risk:
          anyOf:
            - type: boolean
            - type: 'null'
          default: null
          description: >-
            Indicates if there is a risk associated with Mastercard
            transactions.
          title: Mastercard Risk
        visa_risk_tier:
          anyOf:
            - $ref: '#/components/schemas/v1.VisaRiskTier'
            - type: 'null'
          default: null
          description: The Visa risk tier associated with this MCC.
      required:
        - code
      title: MCC
      type: object
    v1.SICCode:
      description: Represents a Standard Industrial Classification (SIC) code.
      properties:
        code:
          description: The 4-digit SIC code.
          title: Code
          type: string
        description:
          anyOf:
            - type: string
            - type: 'null'
          default: null
          description: Description of the SIC code.
          title: Description
      required:
        - code
      title: SICCode
      type: object
    v1.RiskLevel:
      enum:
        - high
        - medium
        - low
        - no_risk
      title: RiskLevel
      type: string
    v1.VisaRiskTier:
      enum:
        - 1
        - 2
        - 3
      title: VisaRiskTier
      type: integer
  securitySchemes:
    APIKeyHeader:
      type: apiKey
      in: header
      name: X-API-Key

````

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