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

# Get purchase

> One of your purchases, with its settlement status.



## OpenAPI

````yaml /openapi.json get /v1/account/payments/{purchase_id}
openapi: 3.1.0
info:
  title: OneHot workbench
  description: >-
    Native decisions, versioned datasets, adaptation and shared-base deployment.
    Authenticate with `Authorization: Bearer onehot_sk_...` when accounts are
    on. A short guide for coding agents is at /llms.txt. Hosted account APIs
    accept a Bearer API key or a browser session. A full or read-only API key
    reads its account, and no key can change it: keys, billing and settings
    change in the console. Browser mutations require the configured Origin and
    X-CSRF-Token from /auth/session. Account recovery and history remain
    available to blocked accounts. Waitlisted accounts can read their account
    summary and model catalogue and request early access; private member APIs
    require admission. Money fields ending in _usd are exact decimal strings;
    never interpret them as integer cents. Authenticated customer reads and
    existing-operation replays share read_rpm, and other customer writes except
    decisions and their estimates share write_rpm. Exhausted budgets return 429
    with Retry-After; unavailable admission storage returns 503.
  version: 0.1.0
servers:
  - url: https://api.sqwish.ai
security: []
tags:
  - name: Decisions
    description: Probabilities for questions with fixed outcomes.
  - name: Models
    description: Base models, and fine-tuned models by their numbers.
  - name: Families
    description: >-
      Lines of models trained on one dataset, and the switches that let them
      answer calls.
  - name: Datasets
    description: >-
      Validated training examples. A dataset grows in versions, and a version
      never changes.
  - name: Evaluations
    description: Reusable model results on a dataset's fixed evaluation rows.
  - name: Fine-tuning
    description: Training jobs, their events and held-out results.
  - name: Prompt tuning
    description: Better wording for a decision, tested on your rows. Words, not weights.
  - name: Labeling
    description: Teacher labels for real queries, reviewed by you.
  - name: Accounts
    description: Email OTP sign-in, revocable sessions, security and API keys.
  - name: Billing
    description: Exact USD balances, purchases, automatic top-ups and referrals.
  - name: Integrations
    description: Endpoints other tools call, such as Claude Code.
  - name: System
    description: Health and discovery.
paths:
  /v1/account/payments/{purchase_id}:
    get:
      tags:
        - Billing
      summary: Get purchase
      description: One of your purchases, with its settlement status.
      operationId: getPayment
      parameters:
        - name: purchase_id
          in: path
          required: true
          schema:
            type: string
            title: Purchase Id
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                properties:
                  id:
                    type: string
                    title: Id
                  status:
                    type: string
                    title: Status
                  origin:
                    enum:
                      - manual
                      - automatic
                    title: Origin
                    type: string
                  amount_usd:
                    type: string
                    title: Amount Usd
                  tax_usd:
                    anyOf:
                      - type: string
                      - type: 'null'
                    description: >-
                      The tax added on top of the credit when it was paid; null
                      until the payment is seen, and for payments made before
                      tax was charged.
                    title: Tax Usd
                  reversed_usd:
                    title: Reversed Usd
                    type: string
                  checkout_url:
                    anyOf:
                      - type: string
                      - type: 'null'
                    description: >-
                      The hosted checkout page, for the console's session. Null
                      to an API key, which may not complete a payment.
                    title: Checkout Url
                  receipt_url:
                    anyOf:
                      - type: string
                      - type: 'null'
                    description: >-
                      The payment's invoice once it is paid, or its Stripe
                      receipt, for the console's session. Null to an API key,
                      since an invoice shows the billing address and VAT number.
                    title: Receipt Url
                  created_at:
                    type: number
                    title: Created At
                  credited_at:
                    anyOf:
                      - type: number
                      - type: 'null'
                    title: Credited At
                  expires_at:
                    anyOf:
                      - type: number
                      - type: 'null'
                    description: When the purchase's credit expires; null if it never does.
                    title: Expires At
                  expired_usd:
                    anyOf:
                      - type: string
                      - type: 'null'
                    description: >-
                      What expired of it, once its expiry has been recorded;
                      null until then.
                    title: Expired Usd
                required:
                  - id
                  - status
                  - origin
                  - amount_usd
                  - tax_usd
                  - reversed_usd
                  - checkout_url
                  - receipt_url
                  - created_at
                  - credited_at
                  - expires_at
                  - expired_usd
                title: Purchase
                type: object
        4XX:
          description: >-
            Client error. On a 422, `error.details` lists each field that
            failed.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        5XX:
          description: Server error. A 503 names what is not running on this server.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      security:
        - BearerAuth: []
components:
  schemas:
    ErrorResponse:
      description: >-
        The body of every error. app.failure() builds it; this model documents
        it.
      properties:
        error:
          $ref: '#/components/schemas/ErrorBody'
      required:
        - error
      title: ErrorResponse
      type: object
    ErrorBody:
      properties:
        code:
          description: A stable code to branch on, such as invalid_request.
          title: Code
          type: string
        message:
          description: What went wrong and what to change, in plain words.
          title: Message
          type: string
        retryable:
          description: >-
            True when another attempt may succeed; it does not prove that no
            work was done. Respect Retry-After when present. Only operations
            that support Idempotency-Key replay a prior result, including
            /v1/decide for 24 hours.
          title: Retryable
          type: boolean
        request_id:
          description: Also sent as X-Request-ID. Quote it in bug reports.
          title: Request Id
          type: string
        details:
          anyOf:
            - items:
                $ref: '#/components/schemas/ErrorDetail'
              type: array
            - type: 'null'
          default: null
          description: On validation errors, one entry for each field that failed.
          title: Details
      required:
        - code
        - message
        - retryable
        - request_id
      title: ErrorBody
      type: object
    ErrorDetail:
      properties:
        path:
          description: Where the problem is, such as ["body", "decisions", 0, "outcomes"].
          items:
            anyOf:
              - type: string
              - type: integer
          title: Path
          type: array
        message:
          title: Message
          type: string
        type:
          anyOf:
            - type: string
            - type: 'null'
          default: null
          title: Type
      required:
        - path
        - message
      title: ErrorDetail
      type: object
  securitySchemes:
    BearerAuth:
      type: http
      scheme: bearer
      bearerFormat: onehot_sk_...
      description: Create an API key in the console. Required when accounts are enabled.

````

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