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

# Look up a verified business by pairwise reference

> Returns what the latest onboarding session that covered the business attested to, the registry incorporation facts, the people you hold covered operator links for, outstanding counterparty credentials, and your submission history for a `business_ref` issued to your organization. References issued to other organizations and unknown references are indistinguishable `404`s.



## OpenAPI

````yaml /api-reference/openapi.json get /identities/businesses/{business_ref}
openapi: 3.1.0
info:
  title: baselayer-api-service
  version: 0.1.0
servers:
  - url: https://api.baselayer.com/
security: []
paths:
  /identities/businesses/{business_ref}:
    get:
      tags:
        - Identities
      summary: Look up a verified business by pairwise reference
      description: >-
        Returns what the latest onboarding session that covered the business
        attested to, the registry incorporation facts, the people you hold
        covered operator links for, outstanding counterparty credentials, and
        your submission history for a `business_ref` issued to your
        organization. References issued to other organizations and unknown
        references are indistinguishable `404`s.
      operationId: get_business_identity_status
      parameters:
        - name: business_ref
          in: path
          required: true
          schema:
            type: string
            title: Business Ref
      responses:
        '200':
          description: Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/v1.BusinessIdentityStatusResponse'
            application/vnd.baselayer.v1+json:
              schema:
                $ref: '#/components/schemas/v1.BusinessIdentityStatusResponse'
        '404':
          description: >-
            The business_ref is unknown or was issued to another organization —
            the two are indistinguishable.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/APIError'
                title: ResourceNotFound
                description: Could not locate the resource for the given URI.
                examples:
                  - code: 1
                    message: Could not locate the resource for the given URI.
                    metadata: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      security:
        - APIKeyHeader: []
components:
  schemas:
    v1.BusinessIdentityStatusResponse:
      description: |-
        Body for ``GET /identities/businesses/{business_ref}``.

        Strictly scoped to the calling organization, like the person profile:
        the KYB checks read its own latest covering evaluation, the people are
        the operator links it covered, and the submission history is its own
        sessions. No global business id and no EIN are ever echoed.
      properties:
        business_ref:
          description: The queried pairwise business reference.
          title: Business Ref
          type: string
        legal_name:
          description: The business's registered legal name.
          title: Legal Name
          type: string
        kyb_checks:
          $ref: '#/components/schemas/v1.BusinessKybChecksResponse'
          description: >-
            What this organization's latest completed KYB evaluation attested
            to, check by check.
        incorporation:
          $ref: '#/components/schemas/v1.BusinessIncorporationResponse'
          description: The registry facts of the incorporation.
        people:
          description: >-
            People this organization holds covered operator links for, each with
            their pairwise ref and link status.
          items:
            $ref: '#/components/schemas/v1.BusinessOperatorLinkResponse'
          title: People
          type: array
        counterparty_credentials:
          description: >-
            Outstanding counterparty credentials minted for the business, newest
            first.
          items:
            $ref: '#/components/schemas/v1.BusinessCounterpartyCredentialResponse'
          title: Counterparty Credentials
          type: array
        submissions:
          description: >-
            This organization's sessions that covered the business, newest
            first.
          items:
            $ref: '#/components/schemas/v1.IdentitySubmissionHistoryItemResponse'
          title: Submissions
          type: array
      required:
        - business_ref
        - legal_name
        - kyb_checks
        - incorporation
      title: BusinessIdentityStatusResponse (v1)
      type: object
    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
      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
    v1.BusinessKybChecksResponse:
      description: |-
        What the latest covering KYB evaluation attested to, check by check.

        The fields are the business attestation-key vocabulary read as
        booleans: true means the evaluation earned the key, false means it did
        not — whether because the check failed, was indeterminate, or never ran.
        All false when this organization has never completed a KYB evaluation
        of the business.
      properties:
        registry_verified:
          description: A Secretary of State registration resolved the entity.
          title: Registry Verified
          type: boolean
        tax_id_match:
          description: The IRS confirmed the submitted TIN.
          title: Tax Id Match
          type: boolean
        registration_active_verified:
          description: >-
            The registry reports the entity's domicile filing active, with no
            dissolution recorded against it.
          title: Registration Active Verified
          type: boolean
        officer_match:
          description: A registry officer exactly matched the submitted operator name.
          title: Officer Match
          type: boolean
        watchlist_clear:
          description: >-
            Watchlist screening ran and returned no hits; false when screening
            found hits or never ran.
          title: Watchlist Clear
          type: boolean
      required:
        - registry_verified
        - tax_id_match
        - registration_active_verified
        - officer_match
        - watchlist_clear
      title: BusinessKybChecksResponse (v1)
      type: object
    v1.BusinessIncorporationResponse:
      description: The registry facts of a verified business's incorporation.
      properties:
        state:
          $ref: '#/components/schemas/v1.StateAbbreviation'
          description: State of incorporation.
        filing_number:
          description: Registry filing number in that state.
          title: Filing Number
          type: string
        incorporation_date:
          anyOf:
            - type: string
              format: date
            - type: 'null'
          default: null
          description: Date of incorporation, when the registry publishes it.
          title: Incorporation Date
        structure:
          anyOf:
            - $ref: '#/components/schemas/v1.BusinessStructure'
            - type: 'null'
          default: null
          description: Legal structure, when known.
        sos_status:
          anyOf:
            - $ref: '#/components/schemas/v1.SOSStatus'
            - type: 'null'
          default: null
          description: The registry's standing for the entity, when known.
        dissolution_date:
          anyOf:
            - type: string
              format: date
            - type: 'null'
          default: null
          description: Date of dissolution, when the entity has one.
          title: Dissolution Date
      required:
        - state
        - filing_number
      title: BusinessIncorporationResponse (v1)
      type: object
    v1.BusinessOperatorLinkResponse:
      description: |-
        One person the calling organization holds a covered operator link
        for — the mirror of the person profile's business links.
      properties:
        principal_ref:
          description: Pairwise reference to the linked person.
          title: Principal Ref
          type: string
        status:
          $ref: '#/components/schemas/v1.BusinessOperatorLinkStatus'
          description: Current status of the operator link.
        review_flagged_at:
          anyOf:
            - format: date-time
              type: string
            - type: 'null'
          default: null
          description: >-
            When a later evaluation flagged this verified link for review; null
            when it never was.
          title: Review Flagged At
      required:
        - principal_ref
        - status
      title: BusinessOperatorLinkResponse (v1)
      type: object
    v1.BusinessCounterpartyCredentialResponse:
      description: One outstanding counterparty credential minted for the business.
      properties:
        jti:
          description: >-
            Unique credential id — resolvable via `GET
            /issued_credentials/{jti}`.
          title: Jti
          type: string
        domain:
          description: The counterparty domain the credential is bound to.
          title: Domain
          type: string
        subject:
          anyOf:
            - type: string
            - type: 'null'
          default: null
          description: The public business DID in the credential's subject claim.
          title: Subject
        expires_at:
          description: When the credential expires.
          format: date-time
          title: Expires At
          type: string
        status:
          $ref: '#/components/schemas/v1.IssuedCredentialStatus'
          description: Persisted credential status.
      required:
        - jti
        - domain
        - expires_at
        - status
      title: BusinessCounterpartyCredentialResponse (v1)
      type: object
    v1.IdentitySubmissionHistoryItemResponse:
      description: |-
        One verification attempt in a profile's submission history.

        The same submission the polling route reports, reduced to the row a
        history timeline renders — refs and verification results live on the
        profile itself, not repeated per attempt.
      properties:
        submission_id:
          description: >-
            Unique id of the submission — resolvable via `GET
            /identity_submissions/{submission_id}`.
          format: uuid
          title: Submission Id
          type: string
        state:
          $ref: '#/components/schemas/v1.ResumableWorkflowState'
          description: Lifecycle state of the verification workflow.
        verdict:
          anyOf:
            - $ref: '#/components/schemas/v1.OnboardingVerdict'
            - type: 'null'
          default: null
          description: Resolved onboarding verdict; null until completion.
        reference_id:
          anyOf:
            - type: string
            - type: 'null'
          default: null
          description: Caller-supplied correlation id.
          title: Reference Id
        created_at:
          description: When the submission was accepted.
          format: date-time
          title: Created At
          type: string
        completed_at:
          anyOf:
            - format: date-time
              type: string
            - type: 'null'
          default: null
          description: When the workflow reached a terminal state.
          title: Completed At
        terminal_reason:
          anyOf:
            - $ref: '#/components/schemas/v1.IdentitySubmissionTerminalReasonResponse'
            - type: 'null'
          default: null
          description: >-
            Typed state and detail when the workflow ended in FAILED or
            CANCELLED; null otherwise.
      required:
        - submission_id
        - state
        - created_at
      title: IdentitySubmissionHistoryItemResponse (v1)
      type: object
    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
    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.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.SOSStatus:
      enum:
        - GOOD_STANDING
        - NOT_GOOD_STANDING
        - SS
        - FD
      title: SOSStatus
      type: string
    v1.BusinessOperatorLinkStatus:
      description: |-
        Status of the link between a person (principal) and a business they
        operate.

        VERIFIED is earned by the full evidence recipe (TIN provided +
        IRS-matched + KYB-verified) or granted by manual review; UNDER_REVIEW
        is every automatic shortfall; REJECTED is a manual refusal. A rejected
        link is immutable — a later submission evaluates the pair fresh.
      enum:
        - VERIFIED
        - UNDER_REVIEW
        - REJECTED
      title: BusinessOperatorLinkStatus
      type: string
    v1.IssuedCredentialStatus:
      description: |-
        The credential's state on the published Token Status List.

        Valid is the mint-time state; Revoked is terminal — an operator link
        rejected, the organization pulling this one credential, or our own
        compromise response. Expiry is deliberately not a status:
        verifiers already check ``exp``, and the bit must keep meaning
        "revoked before expiry" for the issuance log.
      enum:
        - VALID
        - REVOKED
      title: IssuedCredentialStatus
      type: string
    v1.ResumableWorkflowState:
      description: |-
        Lifecycle state of an asynchronous verification workflow, such as an
        identity submission: PENDING, EXECUTING, or WAITING while in flight,
        then a terminal COMPLETED, FAILED, EXPIRED, or CANCELLED.
      enum:
        - PENDING
        - EXECUTING
        - WAITING
        - COMPLETED
        - FAILED
        - EXPIRED
        - CANCELLED
      title: ResumableWorkflowState
      type: string
    v1.OnboardingVerdict:
      description: Normalized onboarding verdict used across provider-specific outputs.
      enum:
        - APPROVED
        - UNDER_REVIEW
        - REJECTED
      title: OnboardingVerdict
      type: string
    v1.IdentitySubmissionTerminalReasonResponse:
      description: Typed explanation for a submission that did not complete.
      properties:
        state:
          description: Terminal workflow state.
          enum:
            - FAILED
            - CANCELLED
          title: State
          type: string
        message:
          anyOf:
            - type: string
            - type: 'null'
          default: null
          description: Human-readable detail recorded by the workflow.
          title: Message
      required:
        - state
      title: IdentitySubmissionTerminalReasonResponse (v1)
      type: object
  securitySchemes:
    APIKeyHeader:
      type: apiKey
      in: header
      name: X-API-Key

````