Blotato Billing API

Endpoints related to credits, credit balance, and credit purchases.

Operations 2

GET /v2/credits Get credit balance and pricing #
POST /v2/credits Buy credits #

Specifications

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/blotato:blotato-billing-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.

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

blotato-billing-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Blotato Billing API
  description: Blotato API documentation
  version: 2.0.0
servers:
- url: https://backend.blotato.com
  description: Blotato API Server
tags:
- name: Billing
  description: Endpoints related to credits, credit balance, and credit purchases.
paths:
  /v2/credits:
    get:
      summary: Get credit balance and pricing
      tags:
      - Billing
      description: Fetches the authenticated account's remaining credits, the account email the credentials belong to, and current credit purchase pricing. Confirm the account email before purchasing credits, since credits are non-transferable between accounts.
      security:
      - apiKey: []
      responses:
        '200':
          description: Credit balance, the account email, and credit purchase pricing
          content:
            application/json:
              schema:
                description: Credit balance, the account email, and credit purchase pricing
                example:
                  creditsRemaining: 54688
                  accountEmail: user@example.com
                  purchaseQuantityRange:
                    min: 1000
                    max: 10000
                  pricePer1000CreditsUsd: 6
                type: object
                properties:
                  creditsRemaining:
                    type: integer
                  accountEmail:
                    type: string
                  purchaseQuantityRange:
                    type: object
                    properties:
                      min:
                        type: integer
                      max:
                        type: integer
                    required:
                    - min
                    - max
                  pricePer1000CreditsUsd:
                    type: number
                required:
                - creditsRemaining
                - accountEmail
                - purchaseQuantityRange
                - pricePer1000CreditsUsd
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                description: Unauthorized
                type: object
                properties:
                  code:
                    type: number
                  reqId:
                    description: Request ID for tracking
                    type: string
                  message:
                    description: Unauthorized access
                    type: string
                  action:
                    description: Action to take to resolve the error
                    type: string
                  details:
                    description: Additional structured details about the error
                    type: object
                    additionalProperties: {}
                required:
                - message
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                description: Forbidden
                type: object
                properties:
                  code:
                    type: number
                  reqId:
                    description: Request ID for tracking
                    type: string
                  message:
                    description: Forbidden access
                    type: string
                  subscriptionStatus:
                    description: Current subscription plan status
                    type: string
                  action:
                    description: Action to take to resolve the error
                    type: string
                  details:
                    description: Additional structured details about the error
                    type: object
                    additionalProperties: {}
                required:
                - message
        '500':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                  code:
                    type: number
                  action:
                    description: Action to take to resolve the error
                    type: string
                  details:
                    description: Additional structured details about the error
                    type: object
                    additionalProperties: {}
                required:
                - message
      operationId: getV2Credits
      x-operation-id-source: derived
    post:
      summary: Buy credits
      tags:
      - Billing
      description: Creates a Stripe Checkout link the account owner opens in a browser to buy credits (quantity between 1000 and 10000). Creating a link never charges anything; payment happens only when a human completes checkout in the browser, and the purchased credits always land on this account.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                quantity:
                  minimum: 1000
                  maximum: 10000
                  type: integer
                referral:
                  type:
                  - string
                  - 'null'
              required:
              - quantity
      security:
      - apiKey: []
      responses:
        '201':
          description: A Stripe Checkout link to buy credits.
          content:
            application/json:
              schema:
                description: A Stripe Checkout link to buy credits.
                example:
                  checkoutUrl: https://checkout.stripe.com/c/pay/cs_test_123
                type: object
                properties:
                  checkoutUrl:
                    description: Stripe Checkout URL. The account owner opens this in a browser to complete payment. No charge occurs until checkout is completed.
                    type: string
                required:
                - checkoutUrl
        '400':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                  code:
                    type: number
                  action:
                    description: Action to take to resolve the error
                    type: string
                  details:
                    description: Additional structured details about the error
                    type: object
                    additionalProperties: {}
                required:
                - message
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                description: Unauthorized
                type: object
                properties:
                  code:
                    type: number
                  reqId:
                    description: Request ID for tracking
                    type: string
                  message:
                    description: Unauthorized access
                    type: string
                  action:
                    description: Action to take to resolve the error
                    type: string
                  details:
                    description: Additional structured details about the error
                    type: object
                    additionalProperties: {}
                required:
                - message
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                description: Forbidden
                type: object
                properties:
                  code:
                    type: number
                  reqId:
                    description: Request ID for tracking
                    type: string
                  message:
                    description: Forbidden access
                    type: string
                  subscriptionStatus:
                    description: Current subscription plan status
                    type: string
                  action:
                    description: Action to take to resolve the error
                    type: string
                  details:
                    description: Additional structured details about the error
                    type: object
                    additionalProperties: {}
                required:
                - message
        '429':
          description: Rate limit exceeded
          content:
            application/json:
              schema:
                description: Rate limit exceeded
                type: object
                properties:
                  code:
                    type: number
                  reqId:
                    description: Request ID for tracking
                    type: string
                  message:
                    description: Rate limit exceeded
                    type: string
                  action:
                    description: Action to take to resolve the error
                    type: string
                  details:
                    description: Additional structured details about the error
                    type: object
                    additionalProperties: {}
                required:
                - message
        '500':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                  code:
                    type: number
                  action:
                    description: Action to take to resolve the error
                    type: string
                  details:
                    description: Additional structured details about the error
                    type: object
                    additionalProperties: {}
                required:
                - message
      operationId: postV2Credits
      x-operation-id-source: derived
components:
  securitySchemes:
    apiKey:
      type: apiKey
      name: blotato-api-key
      in: header
externalDocs:
  url: https://help.blotato.com
  description: Find more info here