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

# Get Credits

> Get your current credits balance and quota status

Returns your workspace's current credits balance, usage, and quota information.

## Request

<ParamField header="X-API-Key" type="string" required>
  Your API key
</ParamField>

## Response

<ResponseField name="available" type="number">
  Total credits currently available across all buckets (subscription + purchased).
</ResponseField>

<ResponseField name="subscription" type="number">
  Remaining subscription/AppSumo credits for the current billing cycle.

  These reset back to the plan allocation at the beginning of each billing cycle.
</ResponseField>

<ResponseField name="purchased" type="number">
  Remaining purchased credits.

  Purchased credits never expire and roll over across billing cycles.
</ResponseField>

<ResponseField name="used" type="number">
  Credits consumed during the current billing cycle.
</ResponseField>

<ResponseField name="nextResetDate" type="string" nullable>
  ISO 8601 timestamp indicating when the subscription credit bucket will next reset.

  Returns `null` for workspaces without an active subscription or license.
</ResponseField>

<RequestExample>
  ```bash cURL theme={null}
  curl https://api.sendpilot.ai/v1/credits \
    -H "X-API-Key: YOUR_API_KEY"
  ```

  ```javascript Node.js theme={null}
  const response = await fetch('https://api.sendpilot.ai/v1/credits', {
    headers: {
      'X-API-Key': process.env.SENDPILOT_API_KEY
    }
  });
  const data = await response.json();
  ```

  ```python Python theme={null}
  import requests

  response = requests.get(
      'https://api.sendpilot.ai/v1/credits',
      headers={'X-API-Key': 'YOUR_API_KEY'}
  )
  data = response.json()
  ```
</RequestExample>

<ResponseExample>
  ```json 200 theme={null}
  {
    "available": 12500,
    "subscription": 7500,
    "purchased": 5000,
    "used": 2500,
    "nextResetDate": "2026-06-01T00:00:00.000Z"
  }
  ```
</ResponseExample>

<Note>
  Credits are tracked using two buckets:

  * **Subscription credits** — Included with your active plan or AppSumo license and reset every billing cycle.
  * **Purchased credits** — One-time purchased credits that never expire and roll over indefinitely.

  The `available` field represents the combined total of both buckets.
</Note>


## OpenAPI

````yaml GET /v1/credits
openapi: 3.0.0
info:
  title: SendPilot External API
  description: >
    The SendPilot API enables you to programmatically manage LinkedIn outreach
    campaigns,

    add leads, update lead statuses, send messages, and receive real-time
    webhook notifications.
  version: 1.0.0
  contact:
    name: SendPilot Support
    email: support@sendpilot.ai
    url: https://sendpilot.ai
servers:
  - url: https://api.sendpilot.ai
    description: Production server
security:
  - ApiKeyAuth: []
tags:
  - name: Credits
    description: Credits and quota management
  - name: Campaigns
    description: Campaign management endpoints
  - name: Leads
    description: Lead management endpoints
  - name: Lead Database
    description: Lead Database search endpoints
  - name: Lead Extractor
    description: Lead extraction campaign endpoints
  - name: Inbox
    description: Direct messaging endpoints
paths:
  /v1/credits:
    get:
      tags:
        - Credits
      summary: Get credits
      description: Get your current credits balance and quota status for all features
      operationId: getCredits
      responses:
        '200':
          description: Credits balance and quota information
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreditsResponse'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
components:
  schemas:
    CreditsResponse:
      type: object
      description: Credits balance and quota information for all features
      properties:
        available:
          type: number
          example: 12500
          description: >-
            Total credits available now (sum of subscription + purchased
            buckets).
        subscription:
          type: number
          example: 7500
          description: >-
            Subscription/AppSumo allocation remaining. Reset to the plan total
            at the start of each billing cycle.
        purchased:
          type: number
          example: 5000
          description: >-
            Purchased credits remaining. These never expire and roll over across
            billing cycles.
        used:
          type: number
          example: 2500
          description: Credits consumed in the current billing cycle.
        nextResetDate:
          type: string
          example: '2026-06-01T00:00:00.000Z'
          description: >-
            ISO 8601 timestamp at which the subscription bucket will next reset
            to the plan total. `null` for workspaces with no active
            subscription/license.
          nullable: true
      required:
        - available
        - subscription
        - purchased
        - used
    Error:
      type: object
      properties:
        statusCode:
          type: integer
        error:
          type: string
        code:
          type: string
        message:
          type: string
      required:
        - statusCode
        - message
  responses:
    Unauthorized:
      description: Unauthorized
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    NotFound:
      description: Resource not found
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: X-API-Key
      description: API key for authentication

````