Octane Price Plans API

Manage pricing plans with metered components and flat rates

Operations 10

GET /price_plans List Price Plans #
POST /price_plans Create Price Plan #
GET /price_plans/paginate List Price Plans Paginated #
GET /price_plans/self_serve List Self-Serve Price Plans #
GET /price_plans/{price_plan_name} Get Price Plan #
PUT /price_plans/{price_plan_name} Update Price Plan #
DELETE /price_plans/{price_plan_name} Delete Price Plan #
POST /price_plans/{price_plan_name}/archive Archive Price Plan #
GET /price_plans/{price_plan_name}/{tag} Get Price Plan by Tag #
POST /price_plans/metered_components/{uuid}/update_limits Update Metered Component Limits #

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/octane-price-plans-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

octane-price-plans-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Octane REST Admin Price Plans API
  description: REST API for managing meters, customers, pricing plans, subscriptions, measurements, and real-time usage data for usage-based billing workflows. Octane enables infrastructure and SaaS companies to implement flexible pay-as-you-go billing similar to Snowflake and AWS.
  version: 1.0.0
  contact:
    name: Octane Support
    url: https://www.getoctane.io
servers:
- url: https://api.getoctane.io
  description: Octane Production API
security:
- BearerApiKeyAuth: []
tags:
- name: Price Plans
  description: Manage pricing plans with metered components and flat rates
paths:
  /price_plans:
    get:
      summary: List Price Plans
      description: Get all price plans for a vendor.
      operationId: pricePlansGet
      tags:
      - Price Plans
      responses:
        '200':
          description: List of price plans
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/PricePlan'
    post:
      summary: Create Price Plan
      description: Create a new price plan.
      operationId: pricePlansPost
      tags:
      - Price Plans
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreatePricePlanArgs'
      responses:
        '200':
          description: Created price plan
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PricePlan'
  /price_plans/paginate:
    get:
      summary: List Price Plans Paginated
      description: Get price plans with pagination support.
      operationId: pricePlansPaginateGet
      tags:
      - Price Plans
      responses:
        '200':
          description: Paginated price plans
          content:
            application/json:
              schema:
                type: object
  /price_plans/self_serve:
    get:
      summary: List Self-Serve Price Plans
      description: Get price plans available for self-serve enrollment.
      operationId: pricePlansSelfServeGet
      tags:
      - Price Plans
      responses:
        '200':
          description: Self-serve price plans
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/PricePlan'
  /price_plans/{price_plan_name}:
    get:
      summary: Get Price Plan
      description: Get a price plan by its unique name.
      operationId: pricePlansPricePlanNameGet
      tags:
      - Price Plans
      parameters:
      - name: price_plan_name
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Price plan details
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PricePlan'
    put:
      summary: Update Price Plan
      description: Update a price plan by its unique name.
      operationId: pricePlansPricePlanNamePut
      tags:
      - Price Plans
      parameters:
      - name: price_plan_name
        in: path
        required: true
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreatePricePlanArgs'
      responses:
        '200':
          description: Updated price plan
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PricePlan'
    delete:
      summary: Delete Price Plan
      description: Delete a price plan by its unique name.
      operationId: pricePlansPricePlanNameDelete
      tags:
      - Price Plans
      parameters:
      - name: price_plan_name
        in: path
        required: true
        schema:
          type: string
      responses:
        '204':
          description: Price plan deleted
  /price_plans/{price_plan_name}/archive:
    post:
      summary: Archive Price Plan
      description: Archive a price plan by its unique name.
      operationId: pricePlansPricePlanNameArchivePost
      tags:
      - Price Plans
      parameters:
      - name: price_plan_name
        in: path
        required: true
        schema:
          type: string
      responses:
        '204':
          description: Price plan archived
  /price_plans/{price_plan_name}/{tag}:
    get:
      summary: Get Price Plan by Tag
      description: Get a price plan by name and tag.
      operationId: pricePlansPricePlanNameTagGet
      tags:
      - Price Plans
      parameters:
      - name: price_plan_name
        in: path
        required: true
        schema:
          type: string
      - name: tag
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Price plan details
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PricePlan'
  /price_plans/metered_components/{uuid}/update_limits:
    post:
      summary: Update Metered Component Limits
      description: Update usage limits for a metered component on a price plan.
      operationId: pricePlansMeteredComponentsUuidUpdateLimitsPost
      tags:
      - Price Plans
      parameters:
      - name: uuid
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Updated limits
          content:
            application/json:
              schema:
                type: object
components:
  schemas:
    PricePlan:
      type: object
      required:
      - name
      - period
      - metered_components
      properties:
        name:
          type: string
          description: Unique name identifier for the price plan.
        display_name:
          type: string
          description: Human-readable display name.
        description:
          type: string
          description: Description of the price plan.
        external_uuid:
          type: string
          description: External UUID reference.
        base_price:
          type: number
          description: Fixed base price for the plan period.
        base_price_frequency:
          type: string
          description: How often the base price is charged.
        base_price_description:
          type: string
          description: Description of what the base price covers.
        period:
          type: string
          enum:
          - monthly
          - quarterly
          - annual
          description: Billing period for this plan.
        minimum_charge:
          type: number
          description: Minimum charge amount for the period.
        minimum_charge_frequency:
          type: string
          description: Frequency of minimum charge.
        metered_components:
          type: array
          items:
            $ref: '#/components/schemas/MeteredComponent'
          description: Usage-based metered pricing components.
        features:
          type: array
          items:
            $ref: '#/components/schemas/Feature'
          description: Features included in this plan.
        add_ons:
          type: array
          items:
            $ref: '#/components/schemas/AddOn'
          description: Available add-ons for this plan.
        limits:
          type: array
          items:
            $ref: '#/components/schemas/Limit'
          description: Usage limits for features.
        tags:
          type: array
          items:
            type: object
          description: Version tags for this plan.
        trial:
          $ref: '#/components/schemas/Trial'
        created_at:
          type: string
          format: date-time
    TrialInputArgs:
      type: object
      properties:
        time_length:
          type: integer
          description: Duration of the trial period.
        time_unit_name:
          type: string
          description: Unit of time for the trial.
        credit:
          type: number
          description: Trial credit amount.
    AddOn:
      type: object
      required:
      - feature
      - price
      - price_scheme_type
      - single_use
      - quantity_enabled
      properties:
        feature:
          $ref: '#/components/schemas/Feature'
        price:
          type: number
          description: Price of the add-on.
        prices:
          type: array
          items:
            $ref: '#/components/schemas/PriceTier'
        price_scheme_type:
          type: string
          description: Pricing scheme type for the add-on.
        single_use:
          type: boolean
          description: Whether the add-on can only be purchased once.
        quantity_enabled:
          type: boolean
          description: Whether quantity selection is enabled.
        immediately_charge:
          type: boolean
          description: Whether to charge immediately on purchase.
        limit:
          type: number
          description: Maximum quantity allowed.
        price_frequency:
          type: string
          description: How often the add-on price recurs.
        charge_frequency:
          type: string
          description: How often to charge for the add-on.
    PriceSchemeInputArgs:
      type: object
      properties:
        prices:
          type: array
          items:
            $ref: '#/components/schemas/PriceTier'
        scheme_type:
          type: string
          enum:
          - FLAT
          - TIERED
          - VOLUME
          - PACKAGE
        unit_name:
          type: string
        time_unit_name:
          type: string
    PriceTier:
      type: object
      description: A price tier within a tiered pricing scheme.
      properties:
        price:
          type: number
          description: Price per unit at this tier.
        cap:
          type: number
          description: Upper bound of usage for this tier (null = unlimited).
    Trial:
      type: object
      properties:
        time_length:
          type: integer
          description: Duration of the trial period.
        time_unit_name:
          type: string
          description: Unit of time for the trial (e.g., "day", "month").
        credit:
          type: number
          description: Trial credit amount.
    CreatePricePlanArgs:
      type: object
      properties:
        name:
          type: string
          description: Unique name for the price plan.
        display_name:
          type: string
        description:
          type: string
        vendor_id:
          type: string
        period:
          type: string
          enum:
          - monthly
          - quarterly
          - annual
        base_price:
          type: number
        base_price_frequency:
          type: string
        base_price_description:
          type: string
        minimum_charge:
          type: number
        minimum_charge_frequency:
          type: string
        metered_components:
          type: array
          items:
            $ref: '#/components/schemas/MeteredComponentInputArgs'
        features:
          type: array
          items:
            type: object
        add_ons:
          type: array
          items:
            type: object
        limits:
          type: array
          items:
            type: object
        trial:
          $ref: '#/components/schemas/TrialInputArgs'
        tags:
          type: array
          items:
            type: string
    Limit:
      type: object
      required:
      - feature
      - limit
      properties:
        feature:
          $ref: '#/components/schemas/Feature'
        limit:
          type: number
          description: Numeric limit for the feature.
    MeteredComponent:
      type: object
      required:
      - meter_name
      - meter_display_name
      - price_scheme
      - label_limits
      properties:
        meter_name:
          type: string
          description: Name of the meter this component is based on.
        meter_display_name:
          type: string
          description: Display name of the meter.
        display_name:
          type: string
          description: Display name for this component on invoices.
        external_uuid:
          type: string
          description: External UUID reference.
        price_scheme:
          $ref: '#/components/schemas/PriceScheme'
        limit:
          type: number
          description: Usage limit for this component.
        label_limits:
          type: array
          items:
            type: object
          description: Per-label usage limits.
        minimum_charge:
          type: number
        minimum_charge_frequency:
          type: string
        watermark:
          type: number
          description: High-watermark for pricing.
    MeteredComponentInputArgs:
      type: object
      properties:
        meter_name:
          type: string
        meter_id:
          type: string
        id:
          type: string
        display_name:
          type: string
        price_scheme:
          $ref: '#/components/schemas/PriceSchemeInputArgs'
        limit:
          type: number
        label_limits:
          type: array
          items:
            type: object
        minimum_charge:
          type: number
        minimum_charge_frequency:
          type: string
        watermark:
          type: number
    PriceScheme:
      type: object
      description: Pricing scheme configuration for a metered component.
      properties:
        prices:
          type: array
          items:
            $ref: '#/components/schemas/PriceTier'
        scheme_type:
          type: string
          enum:
          - FLAT
          - TIERED
          - VOLUME
          - PACKAGE
        unit_name:
          type: string
        time_unit_name:
          type: string
    Feature:
      type: object
      required:
      - name
      properties:
        name:
          type: string
          description: Unique name of the feature.
        display_name:
          type: string
          description: Human-readable display name.
        description:
          type: string
          description: Description of the feature.
  securitySchemes:
    BearerApiKeyAuth:
      type: http
      scheme: bearer
      description: API key passed as a Bearer token in the Authorization header.