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

# List credit packages for top-up (API key)

> Returns active packages you can purchase via `POST /api/v1/credits/checkout`. Prices use the platform rate (credits × price per credit).



## OpenAPI

````yaml /openapi/programmatic.json get /api/v1/credits/packages
openapi: 3.0.0
info:
  title: SnapIt Programmatic API
  description: >-
    Public API-key endpoints for invoice upload, extracted JSON, credit balance,
    and top-up. Authenticate with `Authorization: Bearer sk_live_…`. Full
    operator Swagger (including admin/JWT routes) remains at `/api/docs` on the
    API host.
  version: '1.0'
  contact: {}
servers:
  - url: https://api.trysnapit.com
    description: Production
  - url: http://localhost:3000
    description: Local development
security:
  - api-key: []
tags:
  - name: programmatic
    description: API-key authenticated upload, invoice JSON, balance, and credit top-up
paths:
  /api/v1/credits/packages:
    get:
      tags:
        - programmatic
      summary: List credit packages for top-up (API key)
      description: >-
        Returns active packages you can purchase via `POST
        /api/v1/credits/checkout`. Prices use the platform rate (credits × price
        per credit).
      operationId: listPackages
      parameters: []
      responses:
        '200':
          description: Active credit packages
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/CreditPackagePublicDto'
        '401':
          description: Invalid or missing API key
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrorResponseDto'
      security:
        - api-key: []
components:
  schemas:
    CreditPackagePublicDto:
      type: object
      properties:
        id:
          type: string
          format: uuid
        name:
          type: string
          example: Starter
        credits:
          type: number
          example: 100
          description: Credits granted when this package is purchased
        priceCents:
          type: number
          example: 1000
          description: Price in the smallest currency unit (e.g. cents)
        currency:
          type: string
          example: usd
      required:
        - id
        - name
        - credits
        - priceCents
        - currency
    ApiErrorResponseDto:
      type: object
      properties:
        statusCode:
          type: number
          example: 401
        message:
          oneOf:
            - type: string
            - type: array
              items:
                type: string
          example: Invalid or missing API key
        error:
          type: string
          example: Unauthorized
      required:
        - statusCode
        - message
  securitySchemes:
    api-key:
      type: apiKey
      in: header
      name: Authorization
      description: Bearer sk_live_… (include the Bearer prefix)
      x-default: Bearer sk_live_…

````

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