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

# Poll a submission's verification status

> Returns the verification state of a submission and, once complete, the org-scoped pairwise refs. Accepts any of the calling organization's onboarding session ids — direct submissions and hosted-embed sessions alike.



## OpenAPI

````yaml /api-reference/openapi.json get /identity_submissions/{submission_id}
openapi: 3.1.0
info:
  title: baselayer-api-service
  version: 0.1.0
servers:
  - url: https://api.baselayer.com/
security: []
paths:
  /identity_submissions/{submission_id}:
    get:
      tags:
        - Identities
      summary: Poll a submission's verification status
      description: >-
        Returns the verification state of a submission and, once complete, the
        org-scoped pairwise refs. Accepts any of the calling organization's
        onboarding session ids — direct submissions and hosted-embed sessions
        alike.
      operationId: get_identity_submission
      parameters:
        - name: submission_id
          in: path
          required: true
          schema:
            type: string
            format: uuid
            title: Submission Id
      responses:
        '200':
          description: Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/v1.IdentitySubmissionStatusResponse'
            application/vnd.baselayer.v1+json:
              schema:
                $ref: '#/components/schemas/v1.IdentitySubmissionStatusResponse'
        '404':
          description: >-
            The submission id is unknown to the calling organization and
            application.
          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.IdentitySubmissionStatusResponse:
      description: |-
        Body for ``GET /identity_submissions/{submission_id}`` and the payload
        of the ``OnboardingSession.completed`` webhook.

        Pairwise refs appear once verification completes successfully; they are
        the durable handles for the identity status route and credential
        minting. Global ids are never exposed.
      properties:
        submission_id:
          description: Unique id of the submission.
          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
        completed_at:
          anyOf:
            - format: date-time
              type: string
            - type: 'null'
          default: null
          description: When the workflow reached a terminal state.
          title: Completed At
        principal_ref:
          anyOf:
            - type: string
            - type: 'null'
          default: null
          description: >-
            Pairwise reference to the verified principal, unique to the calling
            organization and stable across re-verification.
          title: Principal Ref
        business_ref:
          anyOf:
            - type: string
            - type: 'null'
          default: null
          description: >-
            Pairwise reference to the verified business, when the submission
            covered one.
          title: Business Ref
        business_operator_link_status:
          anyOf:
            - $ref: '#/components/schemas/v1.BusinessOperatorLinkStatus'
            - type: 'null'
          default: null
          description: >-
            Status of the principal-operates-business link as of this
            submission's evaluation.
      required:
        - submission_id
        - state
      title: IdentitySubmissionStatusResponse (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.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.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
    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
  securitySchemes:
    APIKeyHeader:
      type: apiKey
      in: header
      name: X-API-Key

````