Ternary Forecasting API
Budget forecasting and spend projections
Budget forecasting and spend projections
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/ternary-forecasting-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: Ternary Anomaly Detection Forecasting API
description: Ternary is a multi-cloud FinOps platform providing programmatic access to cloud cost visibility, anomaly detection, commitment management, cost allocation, forecasting, and reporting. The REST API enables automation of FinOps workflows, integration of cost data into CI/CD pipelines, and programmatic management of all platform capabilities. Authentication uses API keys generated from the Ternary platform.
version: '1.0'
contact:
name: Ternary Support
url: https://ternary.app/contact/
termsOfService: https://ternary.app/terms/
servers:
- url: https://api.ternary.app
description: Ternary Production API
security:
- ApiKeyAuth: []
tags:
- name: Forecasting
description: Budget forecasting and spend projections
paths:
/v1/budgets:
get:
operationId: listBudgets
summary: List Budgets
description: Returns a list of cloud cost budgets configured in the platform, with current spend versus budget targets.
tags:
- Forecasting
parameters:
- name: page_token
in: query
description: Token for paginating through results
schema:
type: string
- name: page_size
in: query
description: Number of results per page
schema:
type: integer
default: 50
responses:
'200':
description: Budgets retrieved successfully
content:
application/json:
schema:
$ref: '#/components/schemas/BudgetListResponse'
'401':
$ref: '#/components/responses/Unauthorized'
post:
operationId: createBudget
summary: Create Budget
description: Creates a new cloud cost budget with defined spend thresholds and alerts.
tags:
- Forecasting
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/BudgetRequest'
responses:
'201':
description: Budget created successfully
content:
application/json:
schema:
$ref: '#/components/schemas/Budget'
'401':
$ref: '#/components/responses/Unauthorized'
/v1/budgets/{budget_id}:
get:
operationId: getBudget
summary: Get Budget
description: Returns details of a specific cloud cost budget.
tags:
- Forecasting
parameters:
- name: budget_id
in: path
required: true
description: The unique identifier of the budget
schema:
type: string
responses:
'200':
description: Budget retrieved successfully
content:
application/json:
schema:
$ref: '#/components/schemas/Budget'
'401':
$ref: '#/components/responses/Unauthorized'
'404':
$ref: '#/components/responses/NotFound'
put:
operationId: updateBudget
summary: Update Budget
description: Updates an existing cloud cost budget.
tags:
- Forecasting
parameters:
- name: budget_id
in: path
required: true
description: The unique identifier of the budget
schema:
type: string
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/BudgetRequest'
responses:
'200':
description: Budget updated successfully
content:
application/json:
schema:
$ref: '#/components/schemas/Budget'
'401':
$ref: '#/components/responses/Unauthorized'
'404':
$ref: '#/components/responses/NotFound'
delete:
operationId: deleteBudget
summary: Delete Budget
description: Deletes a cloud cost budget from the platform.
tags:
- Forecasting
parameters:
- name: budget_id
in: path
required: true
description: The unique identifier of the budget
schema:
type: string
responses:
'204':
description: Budget deleted successfully
'401':
$ref: '#/components/responses/Unauthorized'
'404':
$ref: '#/components/responses/NotFound'
components:
schemas:
Budget:
type: object
description: A cloud cost budget with spend targets and alerts
properties:
id:
type: string
name:
type: string
description:
type: string
amount:
type: number
description: Budget amount in USD
period:
type: string
description: Budget period
enum:
- monthly
- quarterly
- annual
cloud_provider:
type: string
current_spend:
type: number
description: Current spend for the current period
forecasted_spend:
type: number
description: Forecasted spend for the current period
alert_thresholds:
type: array
description: List of alert thresholds as percentages of budget
items:
type: number
created_at:
type: string
format: date-time
updated_at:
type: string
format: date-time
ErrorResponse:
type: object
properties:
error:
type: object
properties:
code:
type: string
description: Error code
message:
type: string
description: Human-readable error message
details:
type: array
items:
type: string
BudgetRequest:
type: object
required:
- name
- amount
- period
properties:
name:
type: string
description:
type: string
amount:
type: number
period:
type: string
enum:
- monthly
- quarterly
- annual
cloud_provider:
type: string
alert_thresholds:
type: array
items:
type: number
BudgetListResponse:
type: object
properties:
budgets:
type: array
items:
$ref: '#/components/schemas/Budget'
next_page_token:
type: string
total_count:
type: integer
responses:
NotFound:
description: The requested resource was not found
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
Unauthorized:
description: Authentication failed - invalid or missing API key
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
securitySchemes:
ApiKeyAuth:
type: apiKey
in: header
name: X-API-Key
description: API key generated from the Ternary platform settings
externalDocs:
description: Ternary API Documentation
url: https://docs.ternary.app/