Onecli Partner Budgets API

Cap how much an organization can spend on a partner LLM key. Owner or admin only. Cloud only.

Operations 3

GET /partner/orgs/{orgId}/budgets List spend budgets for an organization #
POST /partner/orgs/{orgId}/secrets/{secretId}/budget Set or update a spend budget #
DELETE /partner/orgs/{orgId}/secrets/{secretId}/budget Remove a spend budget #

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/onecli-partner-budgets-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

onecli-partner-budgets-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: OneCLI Agent Setup Partner Budgets API
  version: '1.0'
  description: 'The OneCLI API lets you manage agents, secrets, policy rules, app connections, and user settings programmatically.


    **Base URL:** `https://api.onecli.sh/v1` (Cloud) or `http://localhost:10254/v1` (self-hosted)


    ## Authentication


    All endpoints require authentication via one of:


    - **API Key** — `Authorization: Bearer <key>` header. Generate keys in the dashboard or via `GET /v1/user/api-key`.

    - **Session** — Cookie-based session from the web dashboard.


    For organization-scoped API keys, include the `X-Project-Id` header to specify which project to operate on.

    '
servers:
- url: https://api.onecli.sh/v1
  description: OneCLI Cloud
- url: http://localhost:10254/v1
  description: Self-hosted (Docker)
security:
- bearerAuth: []
tags:
- name: Partner Budgets
  description: Cap how much an organization can spend on a partner LLM key. Owner or admin only. Cloud only.
paths:
  /partner/orgs/{orgId}/budgets:
    get:
      operationId: listPartnerOrgBudgets
      summary: List spend budgets for an organization
      description: Returns the spend budgets set on your LLM keys for one organization, each with its current-period spend. Requires a Partner API key (`oc_partner_…`).
      tags:
      - Partner Budgets
      parameters:
      - $ref: '#/components/parameters/orgId'
      responses:
        '200':
          description: List of budgets
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Budget'
        '404':
          description: Organization not found for this partner
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
  /partner/orgs/{orgId}/secrets/{secretId}/budget:
    post:
      operationId: setPartnerOrgBudget
      summary: Set or update a spend budget
      description: 'Caps how much an organization can spend on one of your LLM keys. When the organization''s spend reaches the limit, the gateway stops using that key for the organization until the budget is raised or reset. Creates the budget, or replaces the existing one.


        Only partner owners and admins can set budgets, and budgets are supported on metered LLM keys (Anthropic today).

        '
      tags:
      - Partner Budgets
      parameters:
      - $ref: '#/components/parameters/orgId'
      - $ref: '#/components/parameters/secretId'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
              - limitCents
              - period
              properties:
                limitCents:
                  type: integer
                  minimum: 1
                  maximum: 100000000
                  description: Spend ceiling in US cents (e.g. `500` = $5.00).
                  example: 500
                period:
                  type: string
                  enum:
                  - monthly
                  - total
                  description: '`monthly` resets on the 1st of each month (UTC); `total` is a one-time lifetime cap.'
      responses:
        '200':
          description: Budget saved
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Budget'
        '400':
          description: Validation error, or the secret type isn't supported for budgets
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '403':
          description: Caller is not a partner owner or admin
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '404':
          description: Organization or secret not found for this partner
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
    delete:
      operationId: clearPartnerOrgBudget
      summary: Remove a spend budget
      description: Removes the spend budget for an organization on one of your LLM keys. The key resumes with no cap for that organization. Only partner owners and admins can do this.
      tags:
      - Partner Budgets
      parameters:
      - $ref: '#/components/parameters/orgId'
      - $ref: '#/components/parameters/secretId'
      responses:
        '204':
          description: Budget removed
        '403':
          description: Caller is not a partner owner or admin
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '404':
          description: Organization or secret not found for this partner
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
components:
  schemas:
    ErrorFlat:
      type: object
      description: Flat error shape used by route-level validation.
      properties:
        error:
          type: string
      required:
      - error
    ErrorEnvelope:
      type: object
      description: Envelope error shape used for authentication failures and service errors.
      properties:
        error:
          type: object
          properties:
            message:
              type: string
            type:
              type: string
              description: Error category (e.g. `authentication_error`).
    Error:
      description: 'Error responses take one of two shapes depending on the failing layer:

        route-level validation returns the flat shape (`{ "error": "..." }`),

        while authentication failures (401/403) and service errors (not-found,

        conflict, and service-level validation) return the envelope

        (`{ "error": { "message": "...", "type": "..." } }`).

        '
      oneOf:
      - $ref: '#/components/schemas/ErrorFlat'
      - $ref: '#/components/schemas/ErrorEnvelope'
    Budget:
      type: object
      properties:
        secretId:
          type: string
          description: The partner LLM key this budget caps.
        organizationId:
          type: string
        limitCents:
          type: integer
          description: Spend ceiling in US cents (e.g. `500` = $5.00).
          example: 500
        period:
          type: string
          enum:
          - monthly
          - total
        spentCents:
          type: integer
          description: Spend so far this period, in US cents. Updates within a few seconds of usage.
          example: 320
  parameters:
    orgId:
      name: orgId
      in: path
      required: true
      schema:
        type: string
    secretId:
      name: secretId
      in: path
      required: true
      schema:
        type: string
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: API key obtained from the dashboard or `GET /user/api-key`