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

# Get a test account

> Tells whether the test account has been claimed and when it expires. Takes no key and returns no keys.




## OpenAPI

````yaml /api-reference/openapi.en.json get /public/v1/claimables/{claimableID}
openapi: 3.1.0
info:
  title: Infi API
  version: 0.0.1
  description: >
    The Infi REST API: catalog, customers, usage metering, subscriptions,

    invoices, payments and checkout.


    **Authentication.** Send your secret key as `Authorization: Bearer
    sk_test_…`

    (sandbox) or `sk_live_…` (production). The key prefix selects the
    environment.

    Checkout routes (`/pay/*`) and `/public/*` take no key: they run in the

    payer's browser.


    **Idempotency.** Every request that changes data requires an

    `Idempotency-Key` header. A retry with the same key returns the original

    response instead of running again.


    **Amounts.** Money and quantities travel as decimal strings (`"150.00"`,

    `"0.0001"`), never as floating-point numbers.


    **Errors.** The body carries `error_code` (stable, branch on it), `message`

    (for humans) and `tracer_id` (send it to support). Rate-limit and
    idempotency

    errors are nested under `error`, with `code` and `request_id`.
servers:
  - url: https://api-sandbox.beinfi.com
    description: Sandbox
  - url: https://api.beinfi.com
    description: Production
security:
  - bearerAuth: []
tags:
  - name: Catalog
  - name: Customers
  - name: Metering
  - name: Subscriptions
  - name: Invoices
  - name: Payments
  - name: Checkout
  - name: Coupons
  - name: Billing
  - name: Account
  - name: Webhooks
  - name: Test account
  - name: Rail
  - name: Storefronts
paths:
  /public/v1/claimables/{claimableID}:
    get:
      tags:
        - Test account
      summary: Get a test account
      description: >
        Tells whether the test account has been claimed and when it expires.
        Takes no key and returns no keys.
      operationId: getClaimable
      parameters:
        - in: path
          name: claimableID
          required: true
          schema:
            type: string
            format: uuid
          description: The `id` returned when the test account was created.
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TestAccountStatus'
          description: The test account's state.
      security: []
components:
  schemas:
    TestAccountStatus:
      type: object
      required:
        - id
        - status
        - tenantSlug
        - ref
        - expiresAt
      properties:
        id:
          type: string
          format: uuid
        status:
          type: string
          enum:
            - UNCLAIMED
            - CLAIMED
          description: '`UNCLAIMED` or `CLAIMED`.'
        tenantSlug:
          type: string
          description: The account's public identifier.
        accountName:
          type: string
        productId:
          type: string
          format: uuid
          description: The starter product.
        ref:
          type: string
          enum:
            - lovable
            - mcp
            - cursor
            - cli
          description: Where the account came from.
        expiresAt:
          type: string
          format: date-time
          description: Claim deadline.
        claimedAt:
          type: string
          format: date-time
          description: When the account was claimed.
      description: A test account's public state, without keys.
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: >-
        Your account's secret key: `Authorization: Bearer sk_test_…` or
        `sk_live_…`. Server-side only.

````