Octane Customers API
Manage customers and their subscriptions, billing, and settings
Manage customers and their subscriptions, billing, and settings
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-customers-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 Customers 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: Customers
description: Manage customers and their subscriptions, billing, and settings
paths:
/customers:
get:
summary: List Customers
description: Get all customers for a given vendor.
operationId: customersGet
tags:
- Customers
responses:
'200':
description: List of customers
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/Customer'
post:
summary: Create Customer
description: Create a new customer.
operationId: customersPost
tags:
- Customers
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/CreateCustomerArgs'
responses:
'200':
description: Created customer
content:
application/json:
schema:
$ref: '#/components/schemas/Customer'
/customers/{customer_name}:
get:
summary: Get Customer
description: Get a customer by their unique name.
operationId: customersCustomerNameGet
tags:
- Customers
parameters:
- name: customer_name
in: path
required: true
schema:
type: string
responses:
'200':
description: Customer details
content:
application/json:
schema:
$ref: '#/components/schemas/Customer'
delete:
summary: Delete Customer
description: Delete a customer by their unique name.
operationId: customersCustomerNameDelete
tags:
- Customers
parameters:
- name: customer_name
in: path
required: true
schema:
type: string
responses:
'204':
description: Customer deleted
/customers/{customer_name}/billing_settings:
get:
summary: Get Customer Billing Settings
description: Get billing settings for a customer.
operationId: customersCustomerNameBillingSettingsGet
tags:
- Customers
parameters:
- name: customer_name
in: path
required: true
schema:
type: string
responses:
'200':
description: Billing settings
content:
application/json:
schema:
$ref: '#/components/schemas/BillingSettings'
post:
summary: Create Customer Billing Settings
description: Create billing settings for a customer.
operationId: customersCustomerNameBillingSettingsPost
tags:
- Customers
parameters:
- name: customer_name
in: path
required: true
schema:
type: string
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/CustomerBillingSettingsInputArgs'
responses:
'200':
description: Billing settings
content:
application/json:
schema:
$ref: '#/components/schemas/BillingSettings'
put:
summary: Update Customer Billing Settings
description: Update billing settings for a customer.
operationId: customersCustomerNameBillingSettingsPut
tags:
- Customers
parameters:
- name: customer_name
in: path
required: true
schema:
type: string
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/CustomerBillingSettingsInputArgs'
responses:
'200':
description: Updated billing settings
content:
application/json:
schema:
$ref: '#/components/schemas/BillingSettings'
delete:
summary: Delete Customer Billing Settings
description: Delete billing settings for a customer.
operationId: customersCustomerNameBillingSettingsDelete
tags:
- Customers
parameters:
- name: customer_name
in: path
required: true
schema:
type: string
responses:
'204':
description: Billing settings deleted
/customers/{customer_name}/adhoc_charges:
get:
summary: List Customer Adhoc Charges
description: Get all adhoc charges for a customer.
operationId: customersCustomerNameAdhocChargesGet
tags:
- Customers
parameters:
- name: customer_name
in: path
required: true
schema:
type: string
responses:
'200':
description: List of adhoc charges
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/AdhocCharge'
post:
summary: Create Customer Adhoc Charge
description: Create an adhoc charge for a customer.
operationId: customersCustomerNameAdhocChargesPost
tags:
- Customers
parameters:
- name: customer_name
in: path
required: true
schema:
type: string
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/CreateAdhocChargeArgs'
responses:
'200':
description: Created adhoc charge
content:
application/json:
schema:
$ref: '#/components/schemas/AdhocCharge'
/customers/{customer_name}/adhoc_charges/{uuid}:
get:
summary: Get Customer Adhoc Charge
description: Get a specific adhoc charge for a customer.
operationId: customersCustomerNameAdhocChargesUuidGet
tags:
- Customers
parameters:
- name: customer_name
in: path
required: true
schema:
type: string
- name: uuid
in: path
required: true
schema:
type: string
responses:
'200':
description: Adhoc charge details
content:
application/json:
schema:
$ref: '#/components/schemas/AdhocCharge'
delete:
summary: Delete Customer Adhoc Charge
description: Delete an adhoc charge for a customer.
operationId: customersCustomerNameAdhocChargesUuidDelete
tags:
- Customers
parameters:
- name: customer_name
in: path
required: true
schema:
type: string
- name: uuid
in: path
required: true
schema:
type: string
responses:
'204':
description: Adhoc charge deleted
/customers/{customer_name}/discounts:
post:
summary: Create Customer Discount
description: Apply a discount to a customer.
operationId: customersCustomerNameDiscountsPost
tags:
- Customers
parameters:
- name: customer_name
in: path
required: true
schema:
type: string
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/DiscountInputArgs'
responses:
'200':
description: Discount applied
content:
application/json:
schema:
type: object
delete:
summary: Delete Customer Discounts
description: Remove discounts from a customer.
operationId: customersCustomerNameDiscountsDelete
tags:
- Customers
parameters:
- name: customer_name
in: path
required: true
schema:
type: string
responses:
'204':
description: Discounts removed
/customers/{customer_name}/mappings:
get:
summary: List Customer Measurement Mappings
description: Get measurement mappings for a customer.
operationId: customersCustomerNameMappingsGet
tags:
- Customers
parameters:
- name: customer_name
in: path
required: true
schema:
type: string
responses:
'200':
description: Measurement mappings
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/CustomerMeasurementMapping'
post:
summary: Create Customer Measurement Mapping
description: Create a measurement mapping for a customer.
operationId: customersCustomerNameMappingsPost
tags:
- Customers
parameters:
- name: customer_name
in: path
required: true
schema:
type: string
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/CustomerMeasurementMappingInputArgs'
responses:
'200':
description: Created measurement mapping
content:
application/json:
schema:
$ref: '#/components/schemas/CustomerMeasurementMapping'
components:
schemas:
Customer:
type: object
required:
- name
properties:
name:
type: string
description: Unique name identifier for the customer.
display_name:
type: string
description: Human-readable display name.
contact_info:
$ref: '#/components/schemas/ContactInfo'
created_at:
type: string
format: date-time
description: When the customer was created.
measurement_mappings:
type: array
items:
type: object
description: Measurement label mappings for the customer.
tags:
type: array
items:
type: object
description: Tags associated with the customer.
AdhocCharge:
type: object
properties:
uuid:
type: string
customer_name:
type: string
amount:
type: number
description: Amount of the adhoc charge.
description:
type: string
description: Description of the charge.
created_at:
type: string
format: date-time
BillingSettings:
type: object
properties:
payment_gateway_type:
type: string
description: Type of payment gateway (e.g., stripe).
invoice_grace_period_days:
type: integer
description: Number of days grace period before invoice payment is due.
auto_charge:
type: boolean
description: Whether to automatically charge customers on invoice.
billing_period_anchor:
type: string
description: Anchor date for billing periods.
CustomerMeasurementMapping:
type: object
properties:
label:
type: string
description: Label key to map.
value:
type: string
description: Label value to map to.
CustomerMeasurementMappingInputArgs:
type: object
properties:
label:
type: string
value:
type: string
CreateCustomerArgs:
type: object
properties:
name:
type: string
description: Unique name identifier for the customer.
display_name:
type: string
description: Human-readable display name.
vendor_id:
type: string
description: External vendor identifier for the customer.
contact_info:
$ref: '#/components/schemas/ContactInfoInputArgs'
price_plan_name:
type: string
description: Name of the price plan to subscribe the customer to.
price_plan_tag:
type: string
description: Tag for the price plan.
measurement_mappings:
type: array
items:
$ref: '#/components/schemas/CustomerMeasurementMappingInputArgs'
customer_metadata:
type: array
items:
type: object
tags:
type: array
items:
type: string
autogenerate_payment_gateway_customer:
type: boolean
description: Automatically create a customer in the connected payment gateway.
autogenerate_accounting_customer:
type: boolean
description: Automatically create a customer in the connected accounting system.
created_at:
type: string
format: date-time
ContactInfo:
type: object
properties:
address_line_1:
type: string
address_line_2:
type: string
city:
type: string
state:
type: string
country:
type: string
zipcode:
type: string
url:
type: string
format: uri
logo_url:
type: string
format: uri
email:
type: string
format: email
secondary_emails:
type: array
items:
type: string
phone:
type: string
legal_name:
type: string
vat_id:
type: string
DiscountInputArgs:
type: object
properties:
discount_type:
type: string
enum:
- PERCENT
- AMOUNT
description: Type of discount.
amount:
type: number
description: Discount amount or percentage.
scope:
type: string
enum:
- SUBSCRIPTION
- COMPONENT
- ADD_ON
description: What the discount applies to.
billing_cycle_duration:
type: integer
description: How many billing cycles the discount lasts.
billing_cycle_start_offset:
type: integer
description: Offset from subscription start to begin applying discount.
metered_component_uuid:
type: string
description: UUID of the metered component to discount.
add_on_name:
type: string
description: Name of the add-on to discount.
labels:
type: object
description: Label filters for the discount.
CustomerBillingSettingsInputArgs:
type: object
properties:
payment_gateway_type:
type: string
invoice_grace_period_days:
type: integer
auto_charge:
type: boolean
ContactInfoInputArgs:
type: object
properties:
address_line_1:
type: string
address_line_2:
type: string
city:
type: string
state:
type: string
country:
type: string
zipcode:
type: string
url:
type: string
format: uri
logo_url:
type: string
format: uri
email:
type: string
format: email
secondary_emails:
type: array
items:
type: string
phone:
type: string
legal_name:
type: string
vat_id:
type: string
CreateAdhocChargeArgs:
type: object
properties:
amount:
type: number
description: Amount to charge.
description:
type: string
description: Description of the adhoc charge.
securitySchemes:
BearerApiKeyAuth:
type: http
scheme: bearer
description: API key passed as a Bearer token in the Authorization header.