Rapidata Billing Account API

The Billing Account API from Rapidata — 6 operation(s) for billing account.

Operations 7

POST /vouchers Grants a voucher to a customer #
GET /vouchers Queries vouchers with filtering, sorting, and pagination #
POST /vouchers/{voucherId}/revoke Revokes a voucher #
PUT /customer/{customerId}/credit-line Sets the spend limit for a customer #
PUT /customer/{customerId}/minimum-spend-commitment Sets the minimum spend commitment for a customer #
PUT /customer/{customerId}/platform-fee Sets the platform fee for a customer #
POST /customer/unsubscribe Unsubscribes the current customer #

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/rapidata-billing-account-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

rapidata-billing-account-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Rapidata Billing Account API
  description: The API for the Rapidata Asset service
  version: v1
servers:
- url: https://api.rapidata.ai/
tags:
- name: Billing Account
  x-displayName: BillingAccount
paths:
  /vouchers:
    post:
      tags:
      - Billing Account
      summary: Grants a voucher to a customer
      description: 'Provide exactly one of validity (a duration from now) or expiresAt (an

        explicit instant) — not both, not neither. The grant immediately raises the customer''s

        serve allowance.'
      requestBody:
        description: The customer, voucher amount, and expiry.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GrantVoucherEndpoint_Input'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GrantVoucherEndpoint_Output'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationProblemDetails'
        '401':
          description: Unauthenticated
        '403':
          description: Forbidden
      security:
      - OpenIdConnect:
        - openid
        - profile
        - email
        - offline_access
      operationId: postVouchers
      x-operation-id-source: derived
    get:
      tags:
      - Billing Account
      summary: Queries vouchers with filtering, sorting, and pagination
      parameters:
      - name: page
        in: query
        description: The 1-based page index.
        schema:
          type: integer
        x-parameter-group: page
      - name: page_size
        in: query
        description: The number of items per page.
        schema:
          type: integer
        x-parameter-group: page
      - name: sort
        in: query
        description: Sort fields. Prefix with - for descending order (e.g. -created_at).
        schema:
          type: array
          items:
            enum:
            - issued_at
            - -issued_at
            - expires_at
            - -expires_at
            - amount
            - -amount
            type: string
        x-parameter-group: sort
      - name: customer_id
        in: query
        description: Filter by customer_id.
        style: deepObject
        explode: true
        schema:
          type: object
          properties:
            eq:
              type: string
            neq:
              type: string
            gt:
              type: string
            gte:
              type: string
            lt:
              type: string
            lte:
              type: string
            contains:
              type: string
            starts_with:
              type: string
            ends_with:
              type: string
            in:
              type: array
              items:
                type: string
            not_contains:
              type: string
        x-parameter-group: filters
      - name: status
        in: query
        description: Filter by status.
        style: deepObject
        explode: true
        schema:
          type: object
          properties:
            eq:
              type: string
            neq:
              type: string
            gt:
              type: string
            gte:
              type: string
            lt:
              type: string
            lte:
              type: string
            contains:
              type: string
            starts_with:
              type: string
            ends_with:
              type: string
            in:
              type: array
              items:
                type: string
            not_contains:
              type: string
        x-parameter-group: filters
      - name: source
        in: query
        description: Filter by source.
        style: deepObject
        explode: true
        schema:
          type: object
          properties:
            eq:
              type: string
            neq:
              type: string
            gt:
              type: string
            gte:
              type: string
            lt:
              type: string
            lte:
              type: string
            contains:
              type: string
            starts_with:
              type: string
            ends_with:
              type: string
            in:
              type: array
              items:
                type: string
            not_contains:
              type: string
        x-parameter-group: filters
      - name: expires_at
        in: query
        description: Filter by expires_at.
        style: deepObject
        explode: true
        schema:
          type: object
          properties:
            eq:
              type: string
            neq:
              type: string
            gt:
              type: string
            gte:
              type: string
            lt:
              type: string
            lte:
              type: string
            contains:
              type: string
            starts_with:
              type: string
            ends_with:
              type: string
            in:
              type: array
              items:
                type: string
            not_contains:
              type: string
        x-parameter-group: filters
      - name: issued_at
        in: query
        description: Filter by issued_at.
        style: deepObject
        explode: true
        schema:
          type: object
          properties:
            eq:
              type: string
            neq:
              type: string
            gt:
              type: string
            gte:
              type: string
            lt:
              type: string
            lte:
              type: string
            contains:
              type: string
            starts_with:
              type: string
            ends_with:
              type: string
            in:
              type: array
              items:
                type: string
            not_contains:
              type: string
        x-parameter-group: filters
      - name: logic
        in: query
        description: 'How to combine the field filters: "and" (default) requires every filter to match, "or" requires any of them to match.'
        schema:
          enum:
          - and
          - or
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/QueryVouchersEndpoint_PagedResultOfOutput'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationProblemDetails'
        '401':
          description: Unauthenticated
        '403':
          description: Forbidden
      security:
      - OpenIdConnect:
        - openid
        - profile
        - email
        - offline_access
      operationId: getVouchers
      x-operation-id-source: derived
  /vouchers/{voucherId}/revoke:
    post:
      tags:
      - Billing Account
      summary: Revokes a voucher
      description: Lowers the owning customer's serve allowance by the voucher's remaining grant.
      parameters:
      - name: voucherId
        in: path
        description: The id of the voucher to revoke.
        required: true
        schema:
          type: string
      responses:
        '204':
          description: No Content
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationProblemDetails'
        '401':
          description: Unauthenticated
        '403':
          description: Forbidden
      security:
      - OpenIdConnect:
        - openid
        - profile
        - email
        - offline_access
      operationId: postVouchersByVoucherIdRevoke
      x-operation-id-source: derived
  /customer/{customerId}/credit-line:
    put:
      tags:
      - Billing Account
      summary: Sets the spend limit for a customer
      parameters:
      - name: customerId
        in: path
        description: The id of the customer whose credit line to set.
        required: true
        schema:
          type: string
          format: uuid
      requestBody:
        description: The new credit line.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SetCreditLineEndpoint_Input'
        required: true
      responses:
        '204':
          description: No Content
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationProblemDetails'
        '401':
          description: Unauthenticated
        '403':
          description: Forbidden
      security:
      - OpenIdConnect:
        - openid
        - profile
        - email
        - offline_access
      operationId: putCustomerByCustomerIdCreditLine
      x-operation-id-source: derived
  /customer/{customerId}/minimum-spend-commitment:
    put:
      tags:
      - Billing Account
      summary: Sets the minimum spend commitment for a customer
      description: 'At invoice time, if the period''s measured spend is below the commitment, a top-up charge for

        the shortfall is added so the usage-side bill reaches the commitment. Setting it to 0

        removes the commitment.'
      parameters:
      - name: customerId
        in: path
        description: The id of the customer whose minimum spend commitment to set.
        required: true
        schema:
          type: string
          format: uuid
      requestBody:
        description: The new minimum spend commitment.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SetMinimumSpendCommitmentEndpoint_Input'
        required: true
      responses:
        '204':
          description: No Content
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationProblemDetails'
        '401':
          description: Unauthenticated
        '403':
          description: Forbidden
      security:
      - OpenIdConnect:
        - openid
        - profile
        - email
        - offline_access
      operationId: putCustomerByCustomerIdMinimumSpendCommitment
      x-operation-id-source: derived
  /customer/{customerId}/platform-fee:
    put:
      tags:
      - Billing Account
      summary: Sets the platform fee for a customer
      description: 'The fee is automatically applied as a charge to the customer''s current open billing period

        and to every future period. Setting it to null removes the platform-fee charge from

        the current open period; 0 keeps an explicit $0 charge that is still shown.'
      parameters:
      - name: customerId
        in: path
        description: The id of the customer whose platform fee to set.
        required: true
        schema:
          type: string
          format: uuid
      requestBody:
        description: The new platform fee.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SetPlatformFeeEndpoint_Input'
        required: true
      responses:
        '204':
          description: No Content
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationProblemDetails'
        '401':
          description: Unauthenticated
        '403':
          description: Forbidden
      security:
      - OpenIdConnect:
        - openid
        - profile
        - email
        - offline_access
      operationId: putCustomerByCustomerIdPlatformFee
      x-operation-id-source: derived
  /customer/unsubscribe:
    post:
      tags:
      - Billing Account
      summary: Unsubscribes the current customer
      requestBody:
        description: Optional reason for unsubscribing.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UnsubscribeEndpoint_Input'
        required: true
      responses:
        '204':
          description: No Content
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationProblemDetails'
        '401':
          description: Unauthenticated
        '403':
          description: Forbidden
      security:
      - OpenIdConnect:
        - openid
        - profile
        - email
        - offline_access
      operationId: postCustomerUnsubscribe
      x-operation-id-source: derived
components:
  schemas:
    QueryVouchersEndpoint_Output:
      required:
      - id
      - amount
      - used
      - remaining
      - issuedAt
      - expiresAt
      - status
      - source
      type: object
      properties:
        id:
          type: string
          description: The voucher id.
        amount:
          type: number
          description: The face value of the voucher in dollars.
          format: double
        used:
          type: number
          description: The amount already consumed across closed billing periods.
          format: double
        remaining:
          type: number
          description: The remaining free usage the voucher can still grant.
          format: double
        issuedAt:
          type: string
          description: When the voucher was issued.
          format: date-time
        expiresAt:
          type: string
          description: When the voucher expires.
          format: date-time
        status:
          allOf:
          - $ref: '#/components/schemas/VoucherStatus'
          description: The voucher's lifecycle status.
        source:
          allOf:
          - $ref: '#/components/schemas/VoucherSource'
          description: Where the voucher came from.
    UnsubscribeEndpoint_Input:
      type: object
      properties:
        reason:
          type:
          - string
          - 'null'
          description: The reason for unsubscribing.
    GrantVoucherEndpoint_Output:
      required:
      - voucherId
      type: object
      properties:
        voucherId:
          type: string
          description: The id of the granted voucher.
    SetMinimumSpendCommitmentEndpoint_Input:
      required:
      - minimumSpendCommitment
      type: object
      properties:
        minimumSpendCommitment:
          type: number
          description: "The new minimum spend commitment. 0 means no commitment; a positive value tops up\n the usage-side bill at invoice time when measured spend falls short."
          format: double
    GrantVoucherEndpoint_Input:
      required:
      - customerId
      - amount
      type: object
      properties:
        customerId:
          type: string
          description: The id of the customer to grant the voucher to.
          format: uuid
        amount:
          type: number
          description: The face value of the voucher in dollars.
          format: double
        validity:
          pattern: ^-?(\d+\.)?\d{2}:\d{2}:\d{2}(\.\d{1,7})?$
          type:
          - string
          - 'null'
          description: "How long the voucher stays valid, counted from now. Serialized as a duration string in\n the format [days.]hh:mm:ss (the days part is optional): \"30.00:00:00\" = 30\n days, \"7.00:00:00\" = 7 days, \"12:00:00\" = 12 hours. Must be positive.\n Provide this or expiresAt, not both."
        expiresAt:
          type:
          - string
          - 'null'
          description: "An explicit expiry instant as an ISO-8601 timestamp (e.g. \"2026-12-31T23:59:59Z\").\n Use this instead of validity when you know the exact date the\n voucher should expire. Provide this or validity, not both."
          format: date-time
    QueryVouchersEndpoint_PagedResultOfOutput:
      required:
      - total
      - page
      - pageSize
      - items
      type: object
      properties:
        total:
          type: integer
          format: int64
        page:
          type: integer
          format: int32
        pageSize:
          type: integer
          format: int32
        items:
          type: array
          items:
            $ref: '#/components/schemas/QueryVouchersEndpoint_Output'
        totalPages:
          type: integer
          format: int32
    VoucherStatus:
      enum:
      - Active
      - Exhausted
      - Expired
      - Revoked
    ValidationProblemDetails:
      type: object
      properties:
        type:
          type:
          - string
          - 'null'
        title:
          type:
          - string
          - 'null'
        status:
          type:
          - integer
          - 'null'
          format: int32
        detail:
          type:
          - string
          - 'null'
        instance:
          type:
          - string
          - 'null'
        errors:
          type: object
          additionalProperties:
            type: array
            items:
              type: string
    SetPlatformFeeEndpoint_Input:
      required:
      - platformFee
      type: object
      properties:
        platformFee:
          type:
          - number
          - 'null'
          description: "The new platform fee. null removes the platform fee; 0 is an explicit $0\n fee that is still shown; a positive value is charged once per billing period."
          format: double
    SetCreditLineEndpoint_Input:
      required:
      - creditLine
      type: object
      properties:
        creditLine:
          type:
          - number
          - 'null'
          description: "The new credit line. null means no limit (unlimited), 0 disables all traffic,\n and a positive value caps spend at that amount."
          format: double
    VoucherSource:
      enum:
      - Signup
      - ManualGrant
      - TopUp
  securitySchemes:
    OpenIdConnect:
      type: openIdConnect
      description: OpenID Connect connection flow
      openIdConnectUrl: https://auth.rapidata.ai/.well-known/openid-configuration
x-tagGroups:
- name: Rapidata Asset API
  tags:
  - Asset
  - BatchUpload
- name: Rapidata Audience API
  tags:
  - Audience
  - Examples
- name: Rapidata Campaign API
  tags:
  - Cache
  - Campaign
  - ExternalAudience
- name: Rapidata Dataset API
  tags:
  - ContextShortening
  - Datapoints
  - Dataset
  - DatasetGroup
- name: Rapidata Flow API
  tags:
  - Flow
  - FlowItem
  - RankingFlow
  - RankingFlowItem
- name: Rapidata Identity API
  tags:
  - Rapidata.Identity.API
  - Client
  - Customer
  - Identity
  - Newsletter
  - Organization
  - Survey
- name: Rapidata Leaderboard API
  tags:
  - Benchmark
  - SampleGeneration
  - Faucet
  - Replicate
  - Leaderboard
  - Participant
  - Prompt
  - Sample
- name: Rapidata Order API
  tags:
  - Feedback
  - Job
  - Order
- name: Rapidata Payment API
  tags:
  - Billing
  - ExternalServicePrices
  - Reconciliation
  - Settings
  - VolumeDiscount
  - BillingAccount
  - Invoice
  - Payment
- name: Rapidata Pipeline API
  tags:
  - Pipeline
- name: Rapidata Rapid API
  tags:
  - CustomerRapid
  - GlobalText
  - Rapid
  - UserRapid
  - ValidationFeedback
- name: Rapidata Signal API
  tags:
  - Signal
- name: Rapidata Translation API
  tags:
  - Translation
- name: Rapidata Validation API
  tags:
  - ValidationSet
- name: Rapidata Workflow API
  tags:
  - Evaluation
  - GroupedRanking
  - Ranking
  - SimpleWorkflow
  - Workflow