Octane Price Plans API
Manage pricing plans with metered components and flat rates
Manage pricing plans with metered components and flat rates
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
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.curl "https://apis.io/api/v1/apis/octane-price-plans-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
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: 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.