Alphaus Billing API
(BETA) Billing API. Base URL: https://api.alphaus.cloud/m/blue/billing
(BETA) Billing API. Base URL: https://api.alphaus.cloud/m/blue/billing
swagger: '2.0'
info:
title: Blue API reference Admin Billing 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: Billing
description: '(BETA) Billing API. Base URL: https://api.alphaus.cloud/m/blue/billing'
externalDocs:
description: Service definition
url: https://github.com/alphauslabs/blueapi/tree/main/billing/
paths:
/billing/v1/reseller/announcements/{announcementId}:
get:
summary: Gets the announcement list.
operationId: Billing_GetAnnouncements
responses:
'200':
description: A successful response.(streaming responses)
schema:
type: object
properties:
result:
$ref: '#/definitions/v1Announcement'
error:
$ref: '#/definitions/rpcStatus'
title: Stream result of v1Announcement
default:
description: An unexpected error response.
schema:
$ref: '#/definitions/rpcStatus'
parameters:
- name: announcementId
description: Optional. Set empty to return all
in: path
required: true
type: string
tags:
- Billing
/v1/accessgroups:
get:
summary: Lists access group. Only available in Ripple.
operationId: Billing_ListAccessGroups
responses:
'200':
description: A successful response.(streaming responses)
schema:
type: object
properties:
result:
$ref: '#/definitions/apiRippleAccessGroup'
error:
$ref: '#/definitions/rpcStatus'
title: Stream result of apiRippleAccessGroup
default:
description: An unexpected error response.
schema:
$ref: '#/definitions/rpcStatus'
parameters:
- name: fieldMask
description: 'Optional. Get only the value that set fieldMask.
see more info: https://github.com/protocolbuffers/protobuf/blob/main/src/google/protobuf/field_mask.proto'
in: query
required: false
type: string
tags:
- Billing
post:
summary: Registers the access group. Only available in Ripple.
operationId: Billing_CreateAccessGroup
responses:
'200':
description: A successful response.
schema:
$ref: '#/definitions/apiRippleAccessGroup'
default:
description: An unexpected error response.
schema:
$ref: '#/definitions/rpcStatus'
parameters:
- name: body
description: Request message for the CreateAccessGroup rpc.
in: body
required: true
schema:
$ref: '#/definitions/v1CreateAccessGroupRequest'
tags:
- Billing
/v1/accessgroups/{accessGroupId}:
get:
summary: 'WORK-IN-PROGRESS: Gets an access group.'
operationId: Billing_GetAccessGroup
responses:
'200':
description: A successful response.
schema:
$ref: '#/definitions/v1GetAccessGroupResponse'
default:
description: An unexpected error response.
schema:
$ref: '#/definitions/rpcStatus'
parameters:
- name: accessGroupId
in: path
required: true
type: string
- name: fieldMask
description: 'Optional. Get only the value that set fieldMask.
see more info: https://github.com/protocolbuffers/protobuf/blob/main/src/google/protobuf/field_mask.proto'
in: query
required: false
type: string
tags:
- Billing
/v1/accessgroups/{id}:
delete:
summary: Deletes the access group. Only available in Ripple.
operationId: Billing_DeleteAccessGroup
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. access group id.
in: path
required: true
type: string
tags:
- Billing
put:
summary: Updates the access group. Only available in Ripple.
operationId: Billing_UpdateAccessGroup
responses:
'200':
description: A successful response.
schema:
$ref: '#/definitions/apiRippleAccessGroup'
default:
description: An unexpected error response.
schema:
$ref: '#/definitions/rpcStatus'
parameters:
- name: id
description: Required. access group id.
in: path
required: true
type: string
- name: body
in: body
required: true
schema:
$ref: '#/definitions/BillingUpdateAccessGroupBody'
tags:
- Billing
/v1/adjustmentconfig/{vendor}:
get:
summary: Gets adjustment config
operationId: Billing_GetAdjustmentConfig
responses:
'200':
description: A successful response.
schema:
$ref: '#/definitions/apiAdjustmentConfig'
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: includeSPPDiscount
in: query
required: false
type: boolean
tags:
- Billing
delete:
summary: Deletes adjustment config
operationId: Billing_DeleteAdjustmentConfig
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
tags:
- Billing
post:
summary: Creates adjustment config
description: "[ERRORS] \n- InvalidArgument:\n - the AdjustmentConfig is already exists.\n- NotFound:\n - the AdjustmentConfig is not found."
operationId: Billing_CreateAdjustmentConfig
responses:
'200':
description: A successful response.
schema:
$ref: '#/definitions/apiAdjustmentConfig'
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/BillingCreateAdjustmentConfigBody'
tags:
- Billing
put:
summary: Updates adjustment config
operationId: Billing_UpdateAdjustmentConfig
responses:
'200':
description: A successful response.
schema:
$ref: '#/definitions/apiAdjustmentConfig'
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/BillingUpdateAdjustmentConfigBody'
tags:
- Billing
/v1/aws/dailyrunhistory:read:
post:
summary: Reads the daily calculation history of all accounts in your billing groups. Only available in Ripple.
operationId: Billing_ListAwsDailyRunHistory
responses:
'200':
description: A successful response.(streaming responses)
schema:
type: object
properties:
result:
$ref: '#/definitions/v1AwsDailyRunHistory'
error:
$ref: '#/definitions/rpcStatus'
title: Stream result of v1AwsDailyRunHistory
default:
description: An unexpected error response.
schema:
$ref: '#/definitions/rpcStatus'
parameters:
- name: body
description: Request message for the Billing.ListAwsCalculationHistory rpc.
in: body
required: true
schema:
$ref: '#/definitions/v1ListAwsDailyRunHistoryRequest'
tags:
- Billing
/v1/billinggroup/account:
post:
summary: Add a vendor account to a billing group.
operationId: Billing_AddAccountToBillingGroup
responses:
'200':
description: A successful response.
schema:
type: object
properties: {}
default:
description: An unexpected error response.
schema:
$ref: '#/definitions/rpcStatus'
parameters:
- name: body
in: body
required: true
schema:
$ref: '#/definitions/v1AddAccountToBillingGroupRequest'
tags:
- Billing
/v1/billinggroup/customfield:
post:
summary: Add a custom field into a billing group
operationId: Billing_AddBillingGroupCustomField
responses:
'200':
description: A successful response.
schema:
type: object
properties: {}
default:
description: An unexpected error response.
schema:
$ref: '#/definitions/rpcStatus'
parameters:
- name: body
in: body
required: true
schema:
$ref: '#/definitions/v1AddBillingGroupCustomFieldRequest'
tags:
- Billing
/v1/billinggroup/customfield/{groupId}/{customFieldId}:
delete:
summary: Remove a custom field from a billing group
operationId: Billing_DeleteBillingGroupCustomField
responses:
'200':
description: A successful response.
schema:
type: object
properties: {}
default:
description: An unexpected error response.
schema:
$ref: '#/definitions/rpcStatus'
parameters:
- name: groupId
description: Required. Billing group internal Id
in: path
required: true
type: string
- name: customFieldId
description: Required. The id of customfield from get customfield
in: path
required: true
type: string
tags:
- Billing
/v1/billinggroup/customfield:read:
post:
summary: Show all the billing groups custom fields
operationId: Billing_ListBillingGroupCustomField
responses:
'200':
description: A successful response.(streaming responses)
schema:
type: object
properties:
result:
$ref: '#/definitions/v1ListBillingGroupCustomFieldResponse'
error:
$ref: '#/definitions/rpcStatus'
title: Stream result of v1ListBillingGroupCustomFieldResponse
default:
description: An unexpected error response.
schema:
$ref: '#/definitions/rpcStatus'
parameters:
- name: body
in: body
required: true
schema:
$ref: '#/definitions/v1ListBillingGroupCustomFieldRequest'
tags:
- Billing
/v1/billinggroup/reseller/announcements/{groupId}:
get:
summary: Gets the announcement list for billing group
operationId: Billing_GetBillingGroupAnnouncements
responses:
'200':
description: A successful response.(streaming responses)
schema:
type: object
properties:
result:
$ref: '#/definitions/v1GetBillingGroupAnnouncementsResponse'
error:
$ref: '#/definitions/rpcStatus'
title: Stream result of v1GetBillingGroupAnnouncementsResponse
default:
description: An unexpected error response.
schema:
$ref: '#/definitions/rpcStatus'
parameters:
- name: groupId
description: Optional. Set empty to return all
in: path
required: true
type: string
tags:
- Billing
/v1/billinggroup/tags:
post:
summary: Add Tags to the billing group
operationId: Billing_AddTagsToBillingGroup
responses:
'200':
description: A successful response.
schema:
type: object
properties: {}
default:
description: An unexpected error response.
schema:
$ref: '#/definitions/rpcStatus'
parameters:
- name: body
in: body
required: true
schema:
$ref: '#/definitions/v1AddTagsToBillingGroupRequest'
tags:
- Billing
/v1/billinggroup/{id}:
delete:
summary: Delete a billing group.
operationId: Billing_DeleteBillinGroup
responses:
'200':
description: A successful response.
schema:
type: object
properties: {}
default:
description: An unexpected error response.
schema:
$ref: '#/definitions/rpcStatus'
parameters:
- name: id
in: path
required: true
type: string
tags:
- Billing
/v1/billinggroup/{id}/{vendor}/supportplan:
get:
summary: 'WORK-IN-PROGRESS: Gets the account support plan in billing group. Only available in Ripple.'
operationId: Billing_GetBillingGroupAccountSupportPlan
responses:
'200':
description: A successful response.
schema:
$ref: '#/definitions/v1GetBillingGroupAccountSupportPlanResponse'
default:
description: An unexpected error response.
schema:
$ref: '#/definitions/rpcStatus'
parameters:
- name: id
description: Required. The billing internal id.
in: path
required: true
type: string
- name: vendor
description: Required. At the moment, `aws` is supported.
in: path
required: true
type: string
tags:
- Billing
put:
summary: 'WORK-IN-PROGRESS: Updates the account support plan in billing group. Only available in Ripple.'
operationId: Billing_UpdateBillingGroupAccountSupportPlan
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. The billing internal id.
in: path
required: true
type: string
- name: vendor
description: Required. At the moment, `aws` is supported.
in: path
required: true
type: string
- name: body
in: body
required: true
schema:
$ref: '#/definitions/BillingUpdateBillingGroupAccountSupportPlanBody'
tags:
- Billing
/v1/billinggroup/{id}/{vendor}/untaggedgroups:
post:
summary: Sets non-tag group settings for a billing group.
operationId: Billing_UpdateNonTagGroupToBillingGroup
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. The billing group's internal id
in: path
required: true
type: string
- name: vendor
description: Required. The vendor (aws, azure, etc)
in: path
required: true
type: string
- name: body
in: body
required: true
schema:
$ref: '#/definitions/BillingUpdateNonTagGroupToBillingGroupBody'
tags:
- Billing
/v1/billinggroup/{id}:additionalCharges:
put:
summary: 'WORK-IN-PROGRESS: Update additonal charges for a billing group'
operationId: Billing_UpdateBillingGroupAdditionalCharges
responses:
'200':
description: A successful response.
schema:
type: object
properties: {}
default:
description: An unexpected error response.
schema:
$ref: '#/definitions/rpcStatus'
parameters:
- name: id
in: path
required: true
type: string
- name: body
in: body
required: true
schema:
$ref: '#/definitions/BillingUpdateBillingGroupAdditionalChargesBody'
tags:
- Billing
/v1/billinggroup/{id}:basicInfo:
put:
summary: Update billing group basic information
operationId: Billing_UpdateBillingGroupBasicInformation
responses:
'200':
description: A successful response.
schema:
type: object
properties: {}
default:
description: An unexpected error response.
schema:
$ref: '#/definitions/rpcStatus'
parameters:
- name: id
in: path
required: true
type: string
- name: body
in: body
required: true
schema:
$ref: '#/definitions/BillingUpdateBillingGroupBasicInformationBody'
tags:
- Billing
/v1/billinggroup/{id}:customFields:
put:
summary: 'WORK-IN-PROGRESS: Update billing group custom fields information'
operationId: Billing_UpdateBillingGroupCustomFields
responses:
'200':
description: A successful response.
schema:
type: object
properties: {}
default:
description: An unexpected error response.
schema:
$ref: '#/definitions/rpcStatus'
parameters:
- name: id
in: path
required: true
type: string
- name: body
in: body
required: true
schema:
$ref: '#/definitions/BillingUpdateBillingGroupCustomFieldsBody'
tags:
- Billing
/v1/billinggroup/{id}:freeFormat:
put:
summary: 'WORK-IN-PROGRESS: Update billing group custom fields information'
operationId: Billing_UpdateBillingGroupFreeFormat
responses:
'200':
description: A successful response.
schema:
type: object
properties: {}
default:
description: An unexpected error response.
schema:
$ref: '#/definitions/rpcStatus'
parameters:
- name: id
in: path
required: true
type: string
- name: body
in: body
required: true
schema:
$ref: '#/definitions/BillingUpdateBillingGroupFreeFormatBody'
tags:
- Billing
/v1/billinggroup/{id}:invoiceSettings:
put:
summary: 'WORK-IN-PROGRESS: Update invoice settings for a billing group'
operationId: Billing_UpdateBillingGroupInvoiceSettings
responses:
'200':
description: A successful response.
schema:
type: object
properties: {}
default:
description: An unexpected error response.
schema:
$ref: '#/definitions/rpcStatus'
parameters:
- name: id
in: path
required: true
type: string
- name: body
in: body
required: true
schema:
$ref: '#/definitions/BillingUpdateBillingGroupInvoiceSettingsBody'
tags:
- Billing
/v1/billinggroup/{id}:resellerCharges:
put:
summary: 'WORK-IN-PROGRESS: Update reseller charges for a billing group'
operationId: Billing_UpdateBillingGroupResellerCharges
responses:
'200':
description: A successful response.
schema:
type: object
properties: {}
default:
description: An unexpected error response.
schema:
$ref: '#/definitions/rpcStatus'
parameters:
- name: id
in: path
required: true
type: string
- name: body
in: body
required: true
schema:
$ref: '#/definitions/BillingUpdateBillingGroupResellerChargesBody'
tags:
- Billing
/v1/billinggroup/{id}:resources:
put:
summary: 'WORK-IN-PROGRESS: Update linked resources for a billing group'
operationId: Billing_UpdateBillingGroupLinkedResources
responses:
'200':
description: A successful response.
schema:
type: object
properties: {}
default:
description: An unexpected error response.
schema:
$ref: '#/definitions/rpcStatus'
parameters:
- name: id
in: path
required: true
type: string
- name: body
in: body
required: true
schema:
$ref: '#/definitions/BillingUpdateBillingGroupLinkedResourcesBody'
tags:
- Billing
/v1/billinggroups:
get:
summary: Lists all billing groups (streamed).
operationId: Billing_ListBillingGroups
responses:
'200':
description: A successful response.(streaming responses)
schema:
type: object
properties:
result:
$ref: '#/definitions/billingV1BillingGroup'
error:
$ref: '#/definitions/rpcStatus'
title: Stream result of billingV1BillingGroup
default:
description: An unexpected error response.
schema:
$ref: '#/definitions/rpcStatus'
parameters:
- name: fieldMask
description: 'Optional. Get only the value that set fieldMask.
see more info: https://github.com/protocolbuffers/protobuf/blob/main/src/google/protobuf/field_mask.proto'
in: query
required: false
type: string
- name: vendors
description: 'Optional. Filter vendor accounts included in BillingGroup. Format: vendors=vendor1,vendor2,vendor3.
For example, When Aws and Gcp to be filtered vendors=aws,gcp
If you want to get all vendors, not set parameter.'
in: query
required: false
type: string
- name: calcType
description: 'Optional. Filter by calcType. Format: calType=account
Valid values: account, tag'
in: query
required: false
type: string
- name: displayCost
description: 'Optional. Filter by displayCost. Format: displayCost=unblended_cost
valid values: unblended_cost, true_unblended_cost'
in: query
required: false
type: string
- name: bgType
description: 'Optional. For aws only, filter will be ignored for other vendors.
Valid values: default, imported'
in: query
required: false
type: string
tags:
- Billing
post:
summary: Registers a billing group.
operationId: Billing_CreateBillingGroup
responses:
'200':
description: A successful response.
schema:
$ref: '#/definitions/billingV1BillingGroup'
default:
description: An unexpected error response.
schema:
$ref: '#/definitions/rpcStatus'
parameters:
- name: body
description: Request message for the Billing.CreateBillingGroup rpc.
in: body
required: true
schema:
$ref: '#/definitions/v1CreateBillingGroupRequest'
tags:
- Billing
/v1/billinggroups/billingconductor/{id}:
get:
summary: 'WORK-IN-PROGRESS: Gets all Billing Groups in AWS Billing Conductor(ABC) for specific payer id.'
operationId: Billing_ListAbcBillingGroups
responses:
'200':
description: A successful response.(streaming responses)
schema:
type: object
properties:
result:
$ref: '#/definitions/v1AbcBillingGroup'
error:
$ref: '#/definitions/rpcStatus'
title: Stream result of v1AbcBillingGroup
default:
description: An unexpected error response.
schema:
$ref: '#/definitions/rpcStatus'
parameters:
- name: id
description: Required. Payer Id.
in: path
required: true
type: string
tags:
- Billing
/v1/billinggroups/billingconductor/{payerId}/accounts:
get:
summary: 'WORK-IN-PROGRESS: Gets all accounts associated to AWS Billing Conductor(ABC) Billing group'
operationId: Billing_ListAbcBillingGroupAccounts
responses:
'200':
description: A successful response.(streaming responses)
schema:
type: object
properties:
result:
$ref: '#/definitions/v1AbcAccount'
error:
$ref: '#/definitions/rpcStatus'
title: Stream result of v1AbcAccount
default:
description: An unexpected error response.
schema:
$ref: '#/definitions/rpcStatus'
parameters:
- name: payerId
description: Required. Payer Id.
in: path
required: true
type: string
- name: billingGroupArn
description: Required. BillingGroup Id.
in: query
required: false
type: string
tags:
- Billing
/v1/billinggroups/children:
post:
summary: Creates a child billing group under a parent billing group
operationId: Billing_CreateChildBillingGroup
responses:
'200':
description: A successful response.
schema:
$ref: '#/definitions/v1CreateChildBillingGroupResponse'
default:
description: An unexpected error response.
schema:
$ref: '#/definitions/rpcStatus'
parameters:
- name: body
in: body
required: true
schema:
$ref: '#/definitions/v1CreateChildBillingGroupRequest'
tags:
- Billing
/v1/billinggroups/children/{internalId}:
get:
summary: Gets child billing group info
operationId: Billing_GetChildBillingGroup
responses:
'200':
description: A successful response.
schema:
$ref: '#/definitions/v1GetChildBillingGroupResponse'
default:
description: An unexpected error response.
schema:
$ref: '#/definitions/rpcStatus'
parameters:
- name: internalId
description: Required. Internal Id
in: path
required: true
type: string
tags:
- Billing
delete:
summary: Deletes all child billing group info
operationId: Billing_DeleteChildBillingGroup
responses:
'200':
description: A successful response.
schema:
$ref: '#/definitions/v1DeleteChildBillingGroupResponse'
default:
description: An unexpected error response.
schema:
$ref: '#/definitions/rpcStatus'
parameters:
- name: internalId
description: Required. Child billing group's internal Id
in: path
required: true
type: string
tags:
- Billing
put:
summary: Updates child billing group's basic info
operationId: Billing_UpdateChildBillingGroup
responses:
'200':
description: A successful response.
schema:
$ref: '#/definitions/v1UpdateChildBillingGroupResponse'
default:
description: An unexpected error response.
schema:
$ref: '#/definitions/rpcStatus'
parameters:
- name: internalId
description: Required. Internal Id
in: path
required: true
type: string
- name: body
in: body
required: true
schema:
$ref: '#/definitions/BillingUpdateChildBillingGroupBody'
tags:
- Billing
/v1/billinggroups/children/{internalId}/invoiceSettings:
put:
summary: Updates child billing group's invoice settings
operationId: Billing_UpdateChildBillingGroupInvoiceSettings
responses:
'200':
description: A successful response.
schema:
$ref: '#/definitions/v1UpdateChildBillingGroupInvoiceSettingsResponse'
default:
description: An unexpected error response.
schema:
$ref: '#/definitions/rpcStatus'
parameters:
- name: internalId
description: Required. Internal Id
in: path
required: true
type: string
- name: body
in: body
required: true
schema:
$ref: '#/definitions/BillingUpdateChildBillingGroupInvoiceSettingsBody'
tags:
- Billing
/v1/billinggroups/children/{internalId}/serviceDiscounts:
get:
summary: Returns the service discount associated with the billing group id
operationId: Billing_GetChildBillingGroupInvoiceServiceDiscounts
responses:
'200':
description: A successful response.
schema:
$ref: '#/definitions/v1GetChildBillingGroupInvoiceServiceDiscountsResponse'
default:
description: An unexpected error response.
schema:
$ref: '#/definitions/rpcStatus'
parameters:
- name: internalId
description: Required. Child Billing Group Internal Id
in: path
required: true
type: string
tags:
- Billing
post:
summary: Sets the child billing group invoice service discounts. Only available in Ripple.
operationId: Billing_SetChildBillingGroupInvoiceServiceDiscounts
responses:
'200':
description: A successful response.
schema:
type: object
properties: {}
default:
description: An unexpected error response.
schema:
$ref: '#/definitions/rpcStatus'
parameters:
- name: internalId
description: Required. Internal Id of the child billing group.
in: path
required: true
type: string
- name: body
in: body
required: true
schema:
$ref: '#/definitions/BillingSetChildBillingGroupInvoiceServiceDiscountsBody'
tags:
- Billing
/v1/billinggroups/children/{internalId}/serviceDiscounts/accounts:read:
get:
summary: Returns the account's service discounts associated with the child billing group id
operationId: Billing_ReadChildBillingGroupAccountInvoiceServiceDiscounts
responses:
'200':
description: A successfu
# --- truncated at 32 KB (258 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/alphaus/refs/heads/main/openapi/alphaus-billing-api-openapi.yml