Alphaus Cost API
Cost API. Base URL: https://api.alphaus.cloud/m/blue/cost
Cost API. Base URL: https://api.alphaus.cloud/m/blue/cost
swagger: '2.0'
info:
title: Blue API reference Admin Cost API
description: 'Alphaus provides an API for interacting with its services. Blue API is a RESTful API that can be accessed by an HTTP client such as `curl`, or any HTTP library which is part of most modern programming languages. This API reference is autogenerated from [protocol buffers](https://developers.google.com/protocol-buffers) defined in this [repository](https://github.com/alphauslabs/blueapi), together with our supported [client libraries](https://alphauslabs.github.io/docs/blueapi/client-sdks/). See the official [documentation](https://alphauslabs.github.io/docs/blueapi/overview/) for more information.
You may encounter the following feature maturity indicators:
- **(WORK-IN-PROGRESS)** - Development is ongoing, don''t use yet;
- **(BETA)** - New or experimental features, subject to changes; and
- **(DEPRECATED)** - Outdated or replaced features.
Some endpoints, especially those that return lists of resources, have streaming responses; newline-separated stream of “chunks”. Each chunk is an envelope that can contain either a response message or an error. Only the last chunk will include an error, if any.'
version: v1
host: api.alphaus.cloud
basePath: /m/blue
schemes:
- https
consumes:
- application/json
produces:
- application/json
tags:
- name: Cost
description: 'Cost API. Base URL: https://api.alphaus.cloud/m/blue/cost'
externalDocs:
description: Service definition
url: https://github.com/alphauslabs/blueapi/tree/main/cost/
paths:
/v1/alerts:
post:
summary: CreateBudgetAlerts
description: 'Create the budget alerts.
Only available in Wave(Pro).'
operationId: Cost_CreateBudgetAlerts
responses:
'200':
description: A successful response.
schema:
$ref: '#/definitions/v1BudgetAlerts'
default:
description: An unexpected error response.
schema:
$ref: '#/definitions/rpcStatus'
parameters:
- name: body
description: Request message for the CreateBudgetAlerts rpc.
in: body
required: true
schema:
$ref: '#/definitions/v1CreateBudgetAlertsRequest'
tags:
- Cost
/v1/alerts/{id}:
get:
summary: GetBudgetAlerts
description: 'Gets the budget alerts.
Only available in Wave(Pro).'
operationId: Cost_GetBudgetAlerts
responses:
'200':
description: A successful response.
schema:
$ref: '#/definitions/v1BudgetAlerts'
default:
description: An unexpected error response.
schema:
$ref: '#/definitions/rpcStatus'
parameters:
- name: id
description: Required. budget alert id
in: path
required: true
type: string
tags:
- Cost
delete:
summary: DeleteBudgetAlerts
description: 'Deletes the budget alerts.
Only available in Wave(Pro).'
operationId: Cost_DeleteBudgetAlerts
responses:
'200':
description: A successful response.
schema:
type: object
properties: {}
default:
description: An unexpected error response.
schema:
$ref: '#/definitions/rpcStatus'
parameters:
- name: id
description: Required. budget alert id
in: path
required: true
type: string
tags:
- Cost
put:
summary: UpdateBudgetAlerts
description: 'Updates the budget alerts.
Only available in Wave(Pro).'
operationId: Cost_UpdateBudgetAlerts
responses:
'200':
description: A successful response.
schema:
$ref: '#/definitions/v1BudgetAlerts'
default:
description: An unexpected error response.
schema:
$ref: '#/definitions/rpcStatus'
parameters:
- name: id
description: Required. budget alert id
in: path
required: true
type: string
- name: body
in: body
required: true
schema:
$ref: '#/definitions/CostUpdateBudgetAlertsBody'
tags:
- Cost
/v1/alerts:read:
post:
summary: ReadBudgetAlerts
description: "Reads the budget alerts.\nOnly available in Wave(Pro).\n[ERRORS] \n- Unimplemented:\n - not implemented\n- InvalidArgument:\n - parse error"
operationId: Cost_ReadBudgetAlerts
responses:
'200':
description: A successful response.(streaming responses)
schema:
type: object
properties:
result:
$ref: '#/definitions/v1BudgetAlerts'
error:
$ref: '#/definitions/rpcStatus'
title: Stream result of v1BudgetAlerts
default:
description: An unexpected error response.
schema:
$ref: '#/definitions/rpcStatus'
parameters:
- name: body
description: Request message for the ReadBudgetAlerts rpc.
in: body
required: true
schema:
$ref: '#/definitions/v1ReadBudgetAlertsRequest'
tags:
- Cost
/v1/aws/cur:import:
post:
summary: Initiates an ondemand import of all registered CUR files.
description: See https://help.alphaus.cloud/en/articles/3612555-ripple-aws-things-you-need-to-prepare-before-starting for more information.
operationId: Cost_ImportCurFiles
responses:
'200':
description: A successful response.
schema:
$ref: '#/definitions/protosOperation'
default:
description: An unexpected error response.
schema:
$ref: '#/definitions/rpcStatus'
parameters:
- name: body
description: Request message for the Cost.ImportCurFiles rpc.
in: body
required: true
schema:
$ref: '#/definitions/v1ImportCurFilesRequest'
tags:
- Cost
/v1/exportcsv/payers:export:
post:
summary: Exports RI and SP for all payers.
operationId: Cost_GetExportRISP
responses:
'200':
description: A successful response.
schema:
$ref: '#/definitions/v1GetExportRISPResponse'
default:
description: An unexpected error response.
schema:
$ref: '#/definitions/rpcStatus'
parameters:
- name: body
in: body
required: true
schema:
$ref: '#/definitions/v1GetExportRISPRequest'
tags:
- Cost
/v1/invoicecosts:read:
post:
summary: 'WORK-IN-PROGRESS: Read the invoice costs. Only available in Ripple.'
operationId: Cost_ReadInvoiceCosts
responses:
'200':
description: A successful response.(streaming responses)
schema:
type: object
properties:
result:
$ref: '#/definitions/v1TotalSection'
error:
$ref: '#/definitions/rpcStatus'
title: Stream result of v1TotalSection
default:
description: An unexpected error response.
schema:
$ref: '#/definitions/rpcStatus'
parameters:
- name: body
description: Request message for the ReadInvoiceCosts rpc.
in: body
required: true
schema:
$ref: '#/definitions/v1ReadInvoiceCostsRequest'
tags:
- Cost
/v1/invoicegroupcosts:read:
post:
summary: 'WORK-IN-PROGRESS: Read the invoice group costs. Only available in Ripple.'
operationId: Cost_ReadInvoiceGroupCosts
responses:
'200':
description: A successful response.(streaming responses)
schema:
type: object
properties:
result:
$ref: '#/definitions/v1BillingGroupSection'
error:
$ref: '#/definitions/rpcStatus'
title: Stream result of v1BillingGroupSection
default:
description: An unexpected error response.
schema:
$ref: '#/definitions/rpcStatus'
parameters:
- name: body
description: Request message for the ReadInvoiceGroupCosts rpc.
in: body
required: true
schema:
$ref: '#/definitions/v1ReadInvoiceGroupCostsRequest'
tags:
- Cost
/v1/invoiceoverviews:read:
post:
summary: 'WORK-IN-PROGRESS: Read the invoice overviews. Only available in Ripple.'
operationId: Cost_ReadInvoiceOverViews
responses:
'200':
description: A successful response.(streaming responses)
schema:
type: object
properties:
result:
$ref: '#/definitions/v1OverViewSection'
error:
$ref: '#/definitions/rpcStatus'
title: Stream result of v1OverViewSection
default:
description: An unexpected error response.
schema:
$ref: '#/definitions/rpcStatus'
parameters:
- name: body
description: Request message for the ReadInvoiceOverviews rpc.
in: body
required: true
schema:
$ref: '#/definitions/v1ReadInvoiceOverviewsRequest'
tags:
- Cost
/v1/reports:export:
post:
summary: 'Exports a vendor report and delivers results via email notification channel.
Supports multiple report types per vendor. For AWS, this covers RI/SP utilization reports.
Returns a long-running operation; use GetOperation to poll for completion.'
operationId: Cost_ExportReport
responses:
'200':
description: A successful response.
schema:
$ref: '#/definitions/protosOperation'
default:
description: An unexpected error response.
schema:
$ref: '#/definitions/rpcStatus'
parameters:
- name: body
description: Request message for ExportReport.
in: body
required: true
schema:
$ref: '#/definitions/v1ExportReportRequest'
tags:
- Cost
/v1/{vendor}/accounts:
get:
summary: Lists all vendor accounts.
operationId: Cost_ListAccounts
responses:
'200':
description: A successful response.(streaming responses)
schema:
type: object
properties:
result:
$ref: '#/definitions/blueapiApiAccount'
error:
$ref: '#/definitions/rpcStatus'
title: Stream result of blueapiApiAccount
default:
description: An unexpected error response.
schema:
$ref: '#/definitions/rpcStatus'
parameters:
- name: vendor
description: Required. At the moment, `aws` and `gcp` is supported.
in: path
required: true
type: string
- name: groupId
description: Optional. The billing group internal id. Only valid for Ripple users.
in: query
required: false
type: string
- name: fieldMask
description: Optional.
in: query
required: false
type: string
tags:
- Cost
post:
summary: Registers a vendor account.
operationId: Cost_CreateAccount
responses:
'200':
description: A successful response.
schema:
$ref: '#/definitions/blueapiApiAccount'
default:
description: An unexpected error response.
schema:
$ref: '#/definitions/rpcStatus'
parameters:
- name: vendor
description: Required. At the moment, only `aws` is supported.
in: path
required: true
type: string
- name: body
in: body
required: true
schema:
$ref: '#/definitions/CostCreateAccountBody'
tags:
- Cost
/v1/{vendor}/accounts/customers/accounts:check:
post:
summary: 'WORK-IN-PROGRESS: Check inputed accountIds belong to current MSP or not'
operationId: Cost_CheckAccountsBelongToMsp
responses:
'200':
description: A successful response.
schema:
$ref: '#/definitions/v1CheckAccountsResponse'
default:
description: An unexpected error response.
schema:
$ref: '#/definitions/rpcStatus'
parameters:
- name: vendor
description: Required. At the moment, only `aws` is supported.
in: path
required: true
type: string
- name: body
in: body
required: true
schema:
$ref: '#/definitions/CostCheckAccountsBelongToMspBody'
tags:
- Cost
/v1/{vendor}/accounts/groups/{groupId}:
get:
summary: Lists all vendor accounts.
operationId: Cost_ListAccounts2
responses:
'200':
description: A successful response.(streaming responses)
schema:
type: object
properties:
result:
$ref: '#/definitions/blueapiApiAccount'
error:
$ref: '#/definitions/rpcStatus'
title: Stream result of blueapiApiAccount
default:
description: An unexpected error response.
schema:
$ref: '#/definitions/rpcStatus'
parameters:
- name: vendor
description: Required. At the moment, `aws` and `gcp` is supported.
in: path
required: true
type: string
- name: groupId
description: Optional. The billing group internal id. Only valid for Ripple users.
in: path
required: true
type: string
- name: fieldMask
description: Optional.
in: query
required: false
type: string
tags:
- Cost
/v1/{vendor}/accounts/{id}:
get:
summary: Gets a vendor account. This API includes all of the account's metadata. See https://alphauslabs.github.io/blueapi/ for the list of supported attributes.
operationId: Cost_GetAccount
responses:
'200':
description: A successful response.
schema:
$ref: '#/definitions/blueapiApiAccount'
default:
description: An unexpected error response.
schema:
$ref: '#/definitions/rpcStatus'
parameters:
- name: vendor
description: Required. At the moment, `aws` and `gcp` is supported.
in: path
required: true
type: string
- name: id
description: Required. The account id to retrieve.
in: path
required: true
type: string
- name: fieldMask
description: Optional.
in: query
required: false
type: string
tags:
- Cost
delete:
summary: 'WORK-IN-PROGRESS: Deletes a vendor account.'
operationId: Cost_DeleteAccount
responses:
'200':
description: A successful response.
schema:
type: object
properties: {}
default:
description: An unexpected error response.
schema:
$ref: '#/definitions/rpcStatus'
parameters:
- name: vendor
description: Required. At the moment, only `aws` is supported.
in: path
required: true
type: string
- name: id
description: Required. The account id to delete.
in: path
required: true
type: string
tags:
- Cost
put:
summary: 'WORK-IN-PROGRESS: Updates a vendor account. Only available in Ripple.'
operationId: Cost_UpdateAccount
responses:
'200':
description: A successful response.
schema:
$ref: '#/definitions/blueapiApiAccount'
default:
description: An unexpected error response.
schema:
$ref: '#/definitions/rpcStatus'
parameters:
- name: vendor
description: Required.
in: path
required: true
type: string
- name: id
description: Required.
in: path
required: true
type: string
- name: body
in: body
required: true
schema:
$ref: '#/definitions/CostUpdateAccountBody'
tags:
- Cost
/v1/{vendor}/adjustments:read:
post:
summary: Reads the non-usage-based details of an organization (Ripple) or billing group (Wave[Pro]).
description: This API covers non-usage-based adjustments, such as Fees, Credits, Discounts, Tax, Upfront Fees, etc. At the moment, the supported `{vendor}` is `aws` or `azure`. If datetime range parameters are not set, month-to-date (current month) will be returned.
operationId: Cost_ReadAdjustments
responses:
'200':
description: A successful response.(streaming responses)
schema:
type: object
properties:
result:
$ref: '#/definitions/blueapiCostV1CostItem'
error:
$ref: '#/definitions/rpcStatus'
title: Stream result of blueapiCostV1CostItem
default:
description: An unexpected error response.
schema:
$ref: '#/definitions/rpcStatus'
parameters:
- name: vendor
description: Required. At the moment, only `aws` or `azure` is supported.
in: path
required: true
type: string
- name: body
in: body
required: true
schema:
$ref: '#/definitions/CostReadAdjustmentsBody'
tags:
- Cost
/v1/{vendor}/alerts/{id}:
get:
summary: Get the budget alerts for the account id. Only available in Wave(Pro).
operationId: Cost_GetAccountBudgetAlerts
responses:
'200':
description: A successful response.
schema:
$ref: '#/definitions/apiWaveBudgetAlert'
default:
description: An unexpected error response.
schema:
$ref: '#/definitions/rpcStatus'
parameters:
- name: vendor
description: Required. At the moment, only `aws` is supported.
in: path
required: true
type: string
- name: id
description: Required. Account Id
in: path
required: true
type: string
tags:
- Cost
delete:
summary: Delete the budget alerts for the account id. Only available in Wave(Pro).
operationId: Cost_DeleteAccountBudgetAlerts
responses:
'200':
description: A successful response.
schema:
type: object
properties: {}
default:
description: An unexpected error response.
schema:
$ref: '#/definitions/rpcStatus'
parameters:
- name: vendor
description: Required. At the moment, only `aws` is supported.
in: path
required: true
type: string
- name: id
description: Required. Account Id
in: path
required: true
type: string
tags:
- Cost
post:
summary: Create the budget alerts for the account id. Only available in Wave(Pro).
operationId: Cost_CreateAccountBudgetAlerts
responses:
'200':
description: A successful response.
schema:
$ref: '#/definitions/apiWaveBudgetAlert'
default:
description: An unexpected error response.
schema:
$ref: '#/definitions/rpcStatus'
parameters:
- name: vendor
description: Required. At the moment, only `aws` is supported.
in: path
required: true
type: string
- name: id
description: Required. Account Id
in: path
required: true
type: string
- name: body
in: body
required: true
schema:
$ref: '#/definitions/CostCreateAccountBudgetAlertsBody'
tags:
- Cost
put:
summary: Update the budget alerts for the account id. Only available in Wave(Pro).
operationId: Cost_UpdateAccountBudgetAlerts
responses:
'200':
description: A successful response.
schema:
$ref: '#/definitions/apiWaveBudgetAlert'
default:
description: An unexpected error response.
schema:
$ref: '#/definitions/rpcStatus'
parameters:
- name: vendor
description: Required. At the moment, only `aws` is supported.
in: path
required: true
type: string
- name: id
description: Required. Account Id
in: path
required: true
type: string
- name: body
in: body
required: true
schema:
$ref: '#/definitions/CostUpdateAccountBudgetAlertsBody'
tags:
- Cost
/v1/{vendor}/aors:read:
post:
summary: 'Reads all vendor account-original-resources.
Account that have not been used for one month will no longer be retrieved.'
operationId: Cost_ReadAccountOriginalResources
responses:
'200':
description: A successful response.(streaming responses)
schema:
type: object
properties:
result:
$ref: '#/definitions/apiAccountOriginalResource'
error:
$ref: '#/definitions/rpcStatus'
title: Stream result of apiAccountOriginalResource
default:
description: An unexpected error response.
schema:
$ref: '#/definitions/rpcStatus'
parameters:
- name: vendor
description: Required. At the moment, only `aws`.`gcp`,`azure` is supported.
in: path
required: true
type: string
- name: body
in: body
required: true
schema:
$ref: '#/definitions/CostReadAccountOriginalResourcesBody'
tags:
- Cost
/v1/{vendor}/bep/{orgId}:
get:
summary: Get the breakeven point details for the RI or SP.
operationId: Cost_GetBreakevenPoint
responses:
'200':
description: A successful response.
schema:
$ref: '#/definitions/v1GetBreakevenPointResponse'
default:
description: An unexpected error response.
schema:
$ref: '#/definitions/rpcStatus'
parameters:
- name: vendor
description: Required. At the moment, only `aws` is supported.
in: path
required: true
type: string
- name: orgId
description: Required. Organization Id.
in: path
required: true
type: string
- name: type
description: Required. For AWS, "ri" or "sp".
in: query
required: false
type: string
- name: arn
description: Required. RI/SP Arn.
in: query
required: false
type: string
tags:
- Cost
/v1/{vendor}/budget/{budgetId}:
delete:
summary: Removes monthly budget for the account/acctgroup id from database.
operationId: Cost_DeleteAccountBudget
responses:
'200':
description: A successful response.
schema:
type: object
properties: {}
default:
description: An unexpected error response.
schema:
$ref: '#/definitions/rpcStatus'
parameters:
- name: vendor
description: Required. At the moment, only `aws` is supported.
in: path
required: true
type: string
- name: budgetId
description: Required. Budget Id
in: path
required: true
type: string
tags:
- Cost
put:
summary: Updates monthly budget for the account/acctgroup id.
operationId: Cost_UpdateAccountBudget
responses:
'200':
description: A successful response.
schema:
type: object
properties: {}
default:
description: An unexpected error response.
schema:
$ref: '#/definitions/rpcStatus'
parameters:
- name: vendor
description: Required. At the moment, only `aws` is supported.
in: path
required: true
type: string
- name: budgetId
description: Required. Budget Id
in: path
required: true
type: string
- name: body
in: body
required: true
schema:
$ref: '#/definitions/CostUpdateAccountBudgetBody'
tags:
- Cost
/v1/{vendor}/budget/{level}/{id}:
get:
summary: Fetches monthly budget for the account/acctgroup id.
operationId: Cost_GetAccountBudget
responses:
'200':
description: A successful response.
schema:
$ref: '#/definitions/v1GetAccountBudgetResponse'
default:
description: An unexpected error response.
schema:
$ref: '#/definitions/rpcStatus'
parameters:
- name: vendor
description: Required. At the moment, only `aws` is supported.
in: path
required: true
type: string
- name: level
description: Required. 'account' or 'acctgroup'
in: path
required: true
type: string
- name: id
description: Required. Account or AccountGroup Id
in: path
required: true
type: string
- name: year
description: 'Optional. Default is current year. Format: `yyyy`.'
in: query
required: false
type: string
tags:
- Cost
post:
summary: Creates monthly budget for the account/acctgroup id.
operationId: Cost_CreateAccountBudget
responses:
'200':
description: A successful response.
schema:
$ref: '#/definitions/v1CreateAccountBudgetResponse'
default:
description: An unexpected error response.
schema:
$ref: '#/definitions/rpcStatus'
parameters:
- name: vendor
description: Required. At the moment, only `aws` is supported.
in: path
required: true
type: string
- name: level
description: Required. 'account' or 'acctgroup'
in: path
required: true
type: string
- name: id
description: Required. Account or AccountGroup Id
in: path
required: true
type: string
- name: body
in: body
required: true
schema:
$ref: '#/definitions/CostCreateAccountBudgetBody'
tags:
- Cost
/v1/{vendor}/calculation/prerequisites/{month}:
get:
summary: 'WORK-IN-PROGRESS: List the prerequisites for cost calculations.'
operationId: Cost_ListCalculationPrerequisites
responses:
'200':
description: A successful response.
schema:
$ref: '#/definitions/v1ListCalculationPrerequisitesResponse'
default:
description: An unexpected error response.
schema:
$ref: '#/definitions/rpcStatus'
parameters:
- name: vendor
description: Required. At the moment, only `aws` is supported.
in: path
required: true
type: string
- name: month
description: Required. Month in format yyyy-mm.
in: path
required: true
type: string
tags:
- Cost
/v1/{vendor}/calculations/history:
get:
summary: Lists vendor costs calculations history and statuses.
operationId: Cost_ListCalculationsHistory
responses:
'200':
description: A successful response.
schema:
$ref: '#/definitions/v1ListCalculationsHistoryResponse'
default:
description: An unexpected error response.
schema:
$ref: '#/definitions/rpcStatus'
parameters:
- name: vendor
description: Required. At the moment, only `aws` is supported.
in: path
required: true
type: string
- name: asOf
description: Optional. List operations on and after this date. Format is yyyymmdd. For example, if you want to list all operations starting from June 01, 2021, set to `20210601`. If not set, defaults to the first day of the current UTC month.
in: query
required: false
type: string
- name: excludeDone
description: Optional. If true, exclude all operations that are marked as done. Include by default.
in: query
required: false
type: boolean
tags:
- Cost
/v1/{vendor}/calculations/schedules:
get:
summary: Lists the schedules of your monthly calculations. Only available in Ripple.
operationId: Cost_ListCalculationsSchedules
responses:
'200':
description: A successful response.
schema:
$ref: '#/definitions/v1ListCalculationsSchedulesResponse'
default:
description: An unexpected error response.
schema:
$ref: '#/definitions/rpcStatus'
parameters:
- name: vendor
description: Required. At the moment, only `aws` is supported.
in: path
required: true
type: string
tags:
- Cost
post:
summary: Creates a schedule to trigger your monthly calculations. At the moment, only one schedule is allowed per account. Only available in Ripple.
operationId: Cost_CreateCalculationsSchedule
responses:
'200':
description: A successful response.
schema:
$ref: '#/definitions/v1CalculationsSchedule'
default:
description: An unexpected error response.
schema:
$ref: '#/definitions/rpcStatus'
parameters:
- name: vendor
description: Required. At the moment, only `aws` is supported.
in: path
required: true
type: string
- name: body
in: body
required: true
schema:
$ref: '#/definitions/CostCreateCalculationsScheduleBody'
tags:
- Cost
/v1/{vendor}/calculations/schedules/{id}:
delete:
summary: Deletes the schedule of your monthly calculations. Only available in Ripple.
operationId: Cost_DeleteCalculationsSchedule
responses:
'200':
description: A successful response.
schema:
type: object
properties: {}
default:
description: An unexpected error response.
schema:
$ref: '#/definitions/rpcStatus'
parameters:
- name: vendor
description: Required. At the moment, only `aws` is supported.
in: path
required: true
type: string
- name: id
description: Required. The id to delete. Can be set to either `-` or `*`, which means all.
in: path
required: true
type: string
tags:
- Cost
/v1/{vendor}/calculator/config:
get:
summary: 'WORK-IN-PROGRESS: Gets the vendor cost calculator''s current configuration.'
operationId: Cost_GetCalculatorConfig
responses:
'200':
description: A successful response.
schema:
$ref: '#/definitions/v1GetCalculatorConfigResponse'
default:
description: An unexpected error response.
schema:
$ref: '#/definitions/rpcStatus'
parameters:
- name: vendor
description: Required. At the moment, only `aws` is supported.
in: path
required: true
type: string
tags:
- Cost
/v1/{vendor}/calculator/config/costmods:
get:
summary: Lists the cost calculator's cost modifiers. At the moment, the supported {vendor} is 'aws'. Only available in Ripple.
operationId: Cost_ListCalculatorCostModifiers
responses:
'200':
description: A successful response.(streaming responses)
schema:
type: object
properties:
result:
$ref: '#/definitions/v1CalculatorCostModifier'
error:
$ref: '#/definitions/rpcStatus'
title: Stream result of v1CalculatorCostModifier
default:
description: An unexpected error response.
schema:
$ref: '#/de
# --- truncated at 32 KB (200 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/alphaus/refs/heads/main/openapi/alphaus-cost-api-openapi.yml