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

# Get Checkout Status

> Poll checkout status. Returns status "pending" until the user approves on mobile. When status becomes "approved" and later "completed", the orderConfirmation fields will be populated.



## OpenAPI

````yaml get /v1/checkout/{id}/status
openapi: 3.1.0
info:
  title: BKey API
  description: Biometric approval infrastructure for AI agents — OAuth 2.1 + CIBA
  version: 1.0.0
  contact:
    name: BKey
    url: https://bkey.id
    email: dev@bkey.id
  license:
    name: Apache-2.0
    url: https://www.apache.org/licenses/LICENSE-2.0
servers:
  - url: https://api.bkey.id
    description: Production
security:
  - bearerAuth: []
tags:
  - name: OAuth
    description: OAuth 2.1 token, device auth, CIBA, revocation
  - name: Checkout
    description: Agent-initiated checkout with biometric approval
  - name: Vault
    description: Encrypted secret storage with biometric access
  - name: Payments
    description: Payment methods and shared payment tokens
  - name: Identity
    description: DID and identity management
paths:
  /v1/checkout/{id}/status:
    get:
      tags:
        - Checkout
      summary: Get Checkout Status
      description: >-
        Poll checkout status. Returns status "pending" until the user approves
        on mobile. When status becomes "approved" and later "completed", the
        orderConfirmation fields will be populated.
      parameters:
        - schema:
            type: string
            format: uuid
          in: path
          name: id
          required: true
      responses:
        '200':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                  checkoutRequest:
                    type: object
                    properties:
                      id:
                        type: string
                      status:
                        type: string
                        description: >-
                          One of: pending, approved, payment_processing,
                          payment_completed, payment_failed, completed,
                          rejected, expired
                      orderConfirmation:
                        type: object
                        properties:
                          provider:
                            type: string
                            enum:
                              - stripe_connect
                              - stripe_spt
                          sptId:
                            type: string
                          paymentIntentId:
                            type: string
                          stripePaymentMethodId:
                            type: string
                          amount:
                            type: integer
                          currency:
                            type: string
                          status:
                            type: string
                          sptExpiresAt:
                            type: string
                          error:
                            type: string
                          chargeId:
                            type: string
                          paidAt:
                            type: string
                          failureMessage:
                            type: string
                          failureCode:
                            type: string
                          failedAt:
                            type: string
                          orderId:
                            type: string
                          metadata:
                            type: object
                            additionalProperties: {}
                        additionalProperties: false
                        nullable: true
                      approvedAt:
                        type: string
                        format: date-time
                        nullable: true
                      completedAt:
                        type: string
                        format: date-time
                        nullable: true
                      expiresAt:
                        type: string
                        format: date-time
                      sptId:
                        type: string
                        nullable: true
                        description: >-
                          Stripe Payment Token ID. Extracted from
                          orderConfirmation.sptId once the Stripe-based
                          completion path has run. Null on pending / expired /
                          non-Stripe checkouts.
                      paymentIntentId:
                        type: string
                        nullable: true
                        description: >-
                          Stripe PaymentIntent ID. Read from the checkout row's
                          stripe_payment_intent_id column once a PaymentIntent
                          has been created on the merchant's connected account.
                          Null on pending / SPT-only / non-Stripe checkouts.
                    required:
                      - id
                      - status
                      - orderConfirmation
                      - approvedAt
                      - completedAt
                      - expiresAt
                    additionalProperties: false
                required:
                  - success
                  - checkoutRequest
                additionalProperties: false
        '401':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    enum:
                      - false
                  error:
                    type: object
                    properties:
                      code:
                        type: string
                        description: Stable machine-readable error code
                      message:
                        type: string
                        description: Human-readable error message
                    required:
                      - code
                      - message
                    additionalProperties: false
                required:
                  - success
                  - error
                additionalProperties: false
        '403':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    enum:
                      - false
                  error:
                    type: object
                    properties:
                      code:
                        type: string
                        description: Stable machine-readable error code
                      message:
                        type: string
                        description: Human-readable error message
                    required:
                      - code
                      - message
                    additionalProperties: false
                required:
                  - success
                  - error
                additionalProperties: false
        '404':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    enum:
                      - false
                  error:
                    type: object
                    properties:
                      code:
                        type: string
                        description: Stable machine-readable error code
                      message:
                        type: string
                        description: Human-readable error message
                    required:
                      - code
                      - message
                    additionalProperties: false
                required:
                  - success
                  - error
                additionalProperties: false
components:
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT
      description: EdDSA-signed JWT obtained via OAuth 2.1 client_credentials or CIBA

````