Vaquill AI Credits API

Your own credit balance: what is spendable right now, where it came from, and what is about to expire. Free and never charged, so it is safe to poll for low-balance alerting or to pre-flight a batch job.

Operations 1

GET /api/v1/credits/balance Get your credit balance #

Documentation

Specifications

Schemas & Data

📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/vaquill-ai/refs/heads/main/json-schema/vaquill-ai-statute-search-request-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/vaquill-ai/refs/heads/main/json-schema/vaquill-ai-session-law-response-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/vaquill-ai/refs/heads/main/json-schema/vaquill-ai-statute-body-response-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/vaquill-ai/refs/heads/main/json-schema/vaquill-ai-session-law-body-response-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/vaquill-ai/refs/heads/main/json-schema/vaquill-ai-create-watch-request-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/vaquill-ai/refs/heads/main/json-schema/vaquill-ai-statute-count-request-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/vaquill-ai/refs/heads/main/json-schema/vaquill-ai-act-search-request-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/vaquill-ai/refs/heads/main/json-schema/vaquill-ai-act-status-response-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/vaquill-ai/refs/heads/main/json-schema/vaquill-ai-external-credit-balance-response-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/vaquill-ai/refs/heads/main/json-schema/vaquill-ai-act-cited-by-response-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/vaquill-ai/refs/heads/main/json-schema/vaquill-ai-act-text-response-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/vaquill-ai/refs/heads/main/json-schema/vaquill-ai-act-subordinate-response-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/vaquill-ai/refs/heads/main/json-schema/vaquill-ai-review-create-request-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/vaquill-ai/refs/heads/main/json-schema/vaquill-ai-review-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/vaquill-ai/refs/heads/main/json-schema/vaquill-ai-nda-triage-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/vaquill-ai/refs/heads/main/json-schema/vaquill-ai-ask-request-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/vaquill-ai/refs/heads/main/json-schema/vaquill-ai-matter-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/vaquill-ai/refs/heads/main/json-schema/vaquill-ai-compliance-check-schema.json

Other Resources

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/vaquill-ai:vaquill-ai-credits-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

vaquill-ai-credits-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Vaquill Ai Credits API
  version: 1.0.0
  contact:
    name: Vaquill API Support
    url: https://www.vaquill.ai
    email: support@vaquill.ai
  license:
    name: Proprietary
    url: https://www.vaquill.ai/terms
  termsOfService: https://www.vaquill.ai/terms
  description: 'Operations tagged Credits across 2 of this provider''s published API definitions: vaquill-ai-openapi.json, vaquill-ai-openapi.yml. Each path carries the servers of the definition it was published in.'
servers:
- url: https://api.vaquill.ai
  description: Production
security:
- ApiKeyAuth: []
- ApiKeyHeader: []
- ApiKeyQuery: []
tags:
- name: Credits
  description: 'Your own credit balance: what is spendable right now, where it came from, and what is about to expire.


    Free and never charged, so it is safe to poll for low-balance alerting or to pre-flight a batch job.'
paths:
  /api/v1/credits/balance:
    get:
      tags:
      - Credits
      summary: Get your credit balance
      description: 'Returns the credits this API key''s account can spend right now.


        **Free.** This endpoint is never charged, so you can poll it to drive alerting

        or a pre-flight check without the check itself costing you anything. It is rate

        limited like every other key-authenticated route.


        **Authentication:** any valid `vq_key_` key. No particular scope is required.


        ## What the number means


        `creditsRemaining` is derived from your live credit buckets under the same

        expiry rule the billing path applies, so it is what a call would actually be

        allowed to spend, not a cached figure that a nightly job later corrects.


        It is the same field name metered responses use, so you can read `creditsRemaining`

        the same way everywhere.


        ## Not all credits behave alike


        Read `bySource` before assuming a balance is durable. `subscription` credits are

        use-it-or-lose-it and are forfeited at the end of the period, while `payg`

        credits you purchased burn last and persist. `nextExpiry` tells you what is

        about to be forfeited and when, which is the one thing a balance alone cannot.


        ## Two separate ceilings


        Credits are how MUCH you may spend; `rateLimit` is how FAST you may call. They

        are independent, so a healthy balance does not exempt you from throttling and

        staying under the rate limit does not pay for a call.


        `rateLimit` has your plan applied and lets you size a client before issuing a

        request. Every response also carries `X-RateLimit-Limit`, `X-RateLimit-Remaining`

        and `X-RateLimit-Reset` for the per-minute window, plus `X-RateLimit-Limit-Day`

        and `X-RateLimit-Remaining-Day` for the daily backstop; those report the same

        ceilings with your live headroom.


        ## Example


        ```bash

        curl https://api.vaquill.ai/api/v1/credits/balance \

        -H "Authorization: Bearer $VAQUILL_API_KEY"

        ```


        ```json

        {

        "creditsRemaining": 103039.0,

        "usdRemaining": 1030.39,

        "bySource": [

        { "source": "payg", "credits": 102539.0 },

        { "source": "subscription", "credits": 500.0 }

        ],

        "nextExpiry": { "at": "2026-10-01T00:00:00Z", "credits": 500.0 },

        "plan": "business",

        "totalPurchased": 150000.0,

        "totalConsumed": 46961.0,

        "asOf": "2026-09-19T12:34:56Z"

        }

        ```'
      operationId: get_credit_balance_api_v1_credits_balance_get
      responses:
        '200':
          description: Current spendable balance for the calling key's account.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ExternalCreditBalanceResponse'
              example:
                creditsRemaining: 103039.0
                usdRemaining: 1030.39
                bySource:
                - source: comp
                  credits: 20000.0
                - source: payg
                  credits: 64699.0
                - source: subscription
                  credits: 18340.0
                nextExpiry:
                  at: '2026-10-12T13:56:31Z'
                  credits: 18340.0
                plan: business
                totalPurchased: 143960.0
                totalConsumed: 48471.0
                rateLimit:
                  perMinute: 150
                  perHour: 2500
                  perDay: 10000
                asOf: '2026-09-19T12:34:56Z'
        '401':
          description: Missing, malformed or unrecognised API key. Note this endpoint accepts ONLY a `vq_key_` API key; a dashboard session token is rejected here.
          content:
            application/json:
              example:
                detail: Invalid token
        '429':
          description: Request-rate ceiling exceeded. Retry after the `Retry-After` header. Being throttled says nothing about your balance.
          content:
            application/json:
              example:
                detail: Rate limit exceeded. Try again in 42 seconds.
    servers:
    - url: https://api.vaquill.ai
      description: Production
components:
  schemas:
    CreditRateLimit:
      properties:
        perMinute:
          type: integer
          title: Perminute
          description: Requests allowed per minute on this key, plan multiplier already applied.
          examples:
          - 150
        perHour:
          type: integer
          title: Perhour
          description: Requests allowed per hour on this key.
          examples:
          - 2000
        perDay:
          type: integer
          title: Perday
          description: Requests allowed per day on this key.
          examples:
          - 10000
      type: object
      required:
      - perMinute
      - perHour
      - perDay
      title: CreditRateLimit
      description: 'Request-rate ceilings in force for the calling key.


        A SECOND, independent ceiling alongside credits, and the two are unrelated:

        you can hold credits and still be throttled, or sit far under these limits

        and be refused for an empty balance.'
    CreditSourceBreakdown:
      properties:
        source:
          type: string
          title: Source
          description: 'Where the credits came from. `bonus` (signup grant), `subscription` (plan allowance, use-it-or-lose-it), `payg` (purchased packs) and `comp` (complimentary) exist today, and this list is not closed: read the values rather than matching on a fixed set.'
          examples:
          - payg
        credits:
          type: number
          title: Credits
          description: Credits remaining in this source. 1 credit = $0.01.
          examples:
          - 1030.43
      type: object
      required:
      - source
      - credits
      title: CreditSourceBreakdown
      description: Live credits held under one funding source.
    ExternalCreditBalanceResponse:
      properties:
        creditsRemaining:
          type: number
          title: Creditsremaining
          description: 'Credits you can actually spend right now. Deliberately the same field name that metered responses return, so one name means one thing across the API.


            Derived from your live credit buckets under the same expiry rule the billing path applies, so it never promises credits a call would refuse to spend.'
          examples:
          - 103039.0
        usdRemaining:
          type: number
          title: Usdremaining
          description: '`creditsRemaining` in USD, at the published conversion rate (1 credit = $0.01). Provided so you do not have to hardcode the rate; `GET /api/v1/api-credits/pricing` is its source of truth.'
          examples:
          - 1030.39
        bySource:
          items:
            $ref: '#/components/schemas/CreditSourceBreakdown'
          type: array
          title: Bysource
          description: '`creditsRemaining` split by funding source, and it always sums to it. Worth reading because the sources do not behave alike: `subscription` credits are use-it-or-lose-it at the period end, while `payg` credits you bought are durable and burn last.'
        nextExpiry:
          anyOf:
          - $ref: '#/components/schemas/CreditExpiry'
          - type: 'null'
          description: The soonest expiry across your credits, or `null` if none of them expire. Poll this to avoid silently forfeiting an allowance.
        plan:
          anyOf:
          - type: string
          - type: 'null'
          title: Plan
          description: Active API subscription tier, or `null` on pay-as-you-go. Also determines your rate-limit multiplier. Briefly cached, so a subscription change made seconds ago may not be reflected yet; `creditsRemaining` is always live.
          examples:
          - business
        totalPurchased:
          type: number
          title: Totalpurchased
          description: Lifetime credits added to this account.
          examples:
          - 150000.0
        totalConsumed:
          type: number
          title: Totalconsumed
          description: Lifetime credits spent by this account.
          examples:
          - 46961.0
        rateLimit:
          anyOf:
          - $ref: '#/components/schemas/CreditRateLimit'
          - type: 'null'
          description: 'How fast this key may call, as opposed to how much it may spend. The two ceilings are independent: holding credits does not exempt you from these, and staying under these does not pay for a call.


            These are the ceilings themselves, with your plan already applied, so you can size a client BEFORE issuing a request. The `X-RateLimit-*` headers on every response report the same ceilings plus your live headroom, and the two agree.'
        asOf:
          type: string
          format: date-time
          title: Asof
          description: When this balance was computed. The value is live, not cached, so this is the instant the buckets were read.
      type: object
      required:
      - creditsRemaining
      - usdRemaining
      - totalPurchased
      - totalConsumed
      - asOf
      title: ExternalCreditBalanceResponse
      description: Spendable credit balance for the calling API key's account.
    CreditExpiry:
      properties:
        at:
          type: string
          format: date-time
          title: At
          description: UTC instant at which the next credits expire.
          examples:
          - '2026-10-01T00:00:00Z'
        credits:
          type: number
          title: Credits
          description: Credits that expire at that instant. They stop being spendable immediately at `at`, not when the nightly sweep records it.
          examples:
          - 500.0
      type: object
      required:
      - at
      - credits
      title: CreditExpiry
      description: The soonest expiry, and what dies with it.
  securitySchemes:
    ApiKeyAuth:
      type: http
      scheme: bearer
      bearerFormat: vq_key_*
      description: 'API key issued from the developer dashboard. Pass as `Authorization: Bearer vq_key_...` (preferred).'
    ApiKeyHeader:
      type: apiKey
      in: header
      name: X-API-Key
      description: 'The same API key as a bare header value: `X-API-Key: vq_key_...`. Equivalent to the Bearer form.'
    ApiKeyQuery:
      type: apiKey
      in: query
      name: api_key
      description: 'The same API key as a query parameter: `?api_key=vq_key_...`. Use only where you cannot set a header. A URL can end up in proxy and server logs, browser history and shared links, so prefer either header form, and rotate a key that has leaked.'
externalDocs:
  description: Full API Reference
  url: https://www.vaquill.ai/docs/api-reference/
x-refined-from:
- vaquill-ai-openapi.json
- vaquill-ai-openapi.yml