Pomo Credits API

The credits API from Pomo — 7 operation(s) for credits.

Operations 7

POST /api/payment/credits/purchase Purchase Credits #
GET /api/payment/credits/balance Get Credit Balance #
POST /api/payment/credits/calculate-charge Calculate Ad Charge #
GET /api/payment/credits/transactions Get Credit Transactions #
POST /api/payment/credits/hold Create Credit Hold #
POST /api/payment/credits/capture Capture Credit Hold #
POST /api/payment/credits/release Release Credit Hold #

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/pomo-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

pomo-credits-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: GPT Backend Credits API
  version: 0.1.0
servers:
- url: https://api.usepomo.ai
  description: Base URL declared by the provider in apis.yml (roadmap#122).
tags:
- name: credits
paths:
  /api/payment/credits/purchase:
    post:
      tags:
      - credits
      summary: Purchase Credits
      description: 'Create Stripe Payment Intent for credit purchase.

        CRITICAL: This only initiates payment. Credits are added via webhook.'
      operationId: purchase_credits_api_payment_credits_purchase_post
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreditPurchaseRequest'
        required: true
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreditPurchaseResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      security:
      - HTTPBearer: []
  /api/payment/credits/balance:
    get:
      tags:
      - credits
      summary: Get Credit Balance
      description: Get current credit balance for an organization.
      operationId: get_credit_balance_api_payment_credits_balance_get
      security:
      - HTTPBearer: []
      parameters:
      - name: organization_id
        in: query
        required: true
        schema:
          type: string
          description: Organization ID
          title: Organization Id
        description: Organization ID
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreditBalanceResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /api/payment/credits/calculate-charge:
    post:
      tags:
      - credits
      summary: Calculate Ad Charge
      description: 'Calculate charge for an ad campaign including commission.

        Shows what will be charged based on current tier.'
      operationId: calculate_ad_charge_api_payment_credits_calculate_charge_post
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CalculateChargeRequest'
        required: true
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CalculateChargeResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      security:
      - HTTPBearer: []
  /api/payment/credits/transactions:
    get:
      tags:
      - credits
      summary: Get Credit Transactions
      description: 'Get credit transaction history for an organization.

        Supports pagination and filtering by transaction type.'
      operationId: get_credit_transactions_api_payment_credits_transactions_get
      security:
      - HTTPBearer: []
      parameters:
      - name: organization_id
        in: query
        required: true
        schema:
          type: string
          description: Organization ID
          title: Organization Id
        description: Organization ID
      - name: limit
        in: query
        required: false
        schema:
          type: integer
          maximum: 100
          description: Number of transactions to return
          default: 50
          title: Limit
        description: Number of transactions to return
      - name: offset
        in: query
        required: false
        schema:
          type: integer
          minimum: 0
          description: Number of transactions to skip
          default: 0
          title: Offset
        description: Number of transactions to skip
      - name: transaction_type
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          description: Filter by transaction type
          title: Transaction Type
        description: Filter by transaction type
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TransactionHistoryResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /api/payment/credits/hold:
    post:
      tags:
      - credits
      summary: Create Credit Hold
      description: 'Create a credit hold for ad campaign launch.

        CRITICAL: This immediately reserves funds for up to 30 minutes.'
      operationId: create_credit_hold_api_payment_credits_hold_post
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreditHoldRequest'
        required: true
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreditHoldResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      security:
      - HTTPBearer: []
  /api/payment/credits/capture:
    post:
      tags:
      - credits
      summary: Capture Credit Hold
      description: 'Capture a credit hold after successful campaign launch.

        CRITICAL: This finalizes the charge - cannot be reversed except by manual refund.'
      operationId: capture_credit_hold_api_payment_credits_capture_post
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreditCaptureRequest'
        required: true
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                additionalProperties: true
                type: object
                title: Response Capture Credit Hold Api Payment Credits Capture Post
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      security:
      - HTTPBearer: []
  /api/payment/credits/release:
    post:
      tags:
      - credits
      summary: Release Credit Hold
      description: 'Release a credit hold and refund.

        Used when campaign launch fails or is cancelled.'
      operationId: release_credit_hold_api_payment_credits_release_post
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreditReleaseRequest'
        required: true
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                additionalProperties: true
                type: object
                title: Response Release Credit Hold Api Payment Credits Release Post
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      security:
      - HTTPBearer: []
components:
  schemas:
    HTTPValidationError:
      properties:
        detail:
          items:
            $ref: '#/components/schemas/ValidationError'
          type: array
          title: Detail
      type: object
      title: HTTPValidationError
    TransactionHistoryResponse:
      properties:
        transactions:
          items: {}
          type: array
          title: Transactions
        total:
          type: integer
          title: Total
        limit:
          type: integer
          title: Limit
        offset:
          type: integer
          title: Offset
      type: object
      required:
      - transactions
      - total
      - limit
      - offset
      title: TransactionHistoryResponse
      description: Credit transaction history response.
    ValidationError:
      properties:
        loc:
          items:
            anyOf:
            - type: string
            - type: integer
          type: array
          title: Location
        msg:
          type: string
          title: Message
        type:
          type: string
          title: Error Type
      type: object
      required:
      - loc
      - msg
      - type
      title: ValidationError
    CreditReleaseRequest:
      properties:
        hold_id:
          type: string
          title: Hold Id
        reason:
          type: string
          title: Reason
      type: object
      required:
      - hold_id
      - reason
      title: CreditReleaseRequest
      description: Request to release a credit hold.
    CreditBalanceResponse:
      properties:
        balance:
          type: number
          title: Balance
        currency:
          type: string
          title: Currency
          default: USD
        last_updated:
          anyOf:
          - type: string
            format: date-time
          - type: 'null'
          title: Last Updated
      type: object
      required:
      - balance
      - last_updated
      title: CreditBalanceResponse
      description: Current credit balance response.
    CalculateChargeResponse:
      properties:
        ad_spend:
          type: number
          title: Ad Spend
        commission_rate:
          type: number
          title: Commission Rate
        commission_amount:
          type: number
          title: Commission Amount
        total_charge:
          type: number
          title: Total Charge
        tier_used:
          type: string
          title: Tier Used
        current_balance:
          type: number
          title: Current Balance
        has_sufficient_credits:
          type: boolean
          title: Has Sufficient Credits
        currency:
          type: string
          title: Currency
          default: USD
        billing_currency:
          type: string
          title: Billing Currency
          default: USD
        fx_rate_to_usd:
          type: number
          title: Fx Rate To Usd
      type: object
      required:
      - ad_spend
      - commission_rate
      - commission_amount
      - total_charge
      - tier_used
      - current_balance
      - has_sufficient_credits
      - fx_rate_to_usd
      title: CalculateChargeResponse
      description: Response with calculated charges.
    CalculateChargeRequest:
      properties:
        organization_id:
          type: string
          title: Organization Id
        daily_budget:
          type: number
          title: Daily Budget
        campaign_days:
          type: integer
          title: Campaign Days
        currency:
          type: string
          title: Currency
          description: Currency code for display (e.g., USD, INR)
        ad_account_currency:
          anyOf:
          - type: string
          - type: 'null'
          title: Ad Account Currency
          description: Currency code used by the selected ad account
      type: object
      required:
      - organization_id
      - daily_budget
      - campaign_days
      - currency
      title: CalculateChargeRequest
      description: Request to calculate charge for ad campaign.
    CreditPurchaseResponse:
      properties:
        client_secret:
          type: string
          title: Client Secret
        payment_intent_id:
          type: string
          title: Payment Intent Id
        amount:
          type: number
          title: Amount
        currency:
          type: string
          title: Currency
          default: USD
      type: object
      required:
      - client_secret
      - payment_intent_id
      - amount
      title: CreditPurchaseResponse
      description: Response with Stripe payment intent details.
    CreditHoldResponse:
      properties:
        hold_id:
          type: string
          title: Hold Id
        amount:
          type: number
          title: Amount
        expires_at:
          type: string
          format: date-time
          title: Expires At
        status:
          type: string
          title: Status
          default: success
      type: object
      required:
      - hold_id
      - amount
      - expires_at
      title: CreditHoldResponse
      description: Response from credit hold creation.
    CreditHoldRequest:
      properties:
        organization_id:
          type: string
          title: Organization Id
        amount:
          type: number
          title: Amount
        description:
          type: string
          title: Description
        platform_type:
          anyOf:
          - type: string
          - type: 'null'
          title: Platform Type
          description: 'Platform type: google_search, google_display, etc'
      type: object
      required:
      - organization_id
      - amount
      - description
      title: CreditHoldRequest
      description: Request to create a credit hold.
    CreditPurchaseRequest:
      properties:
        organization_id:
          type: string
          title: Organization Id
        amount:
          type: number
          title: Amount
      type: object
      required:
      - organization_id
      - amount
      title: CreditPurchaseRequest
      description: Request to purchase credits.
    CreditCaptureRequest:
      properties:
        hold_id:
          type: string
          title: Hold Id
        campaign_id:
          type: string
          title: Campaign Id
        final_charge:
          anyOf:
          - type: number
          - type: 'null'
          title: Final Charge
          description: Final charge if different from hold
      type: object
      required:
      - hold_id
      - campaign_id
      title: CreditCaptureRequest
      description: Request to capture a credit hold.
  securitySchemes:
    HTTPBearer:
      type: http
      scheme: bearer