Protocol Documentation

Table of Contents

org/v1/org.proto

Top

CreateOrgRequest

Request message for the Organization.CreateOrg rpc.

FieldTypeLabelDescription
email string

Required. Organization's email

description string

Required. Organization's description or company name

password string

Optional. User can decide to let the system generates the password.

name string

To be used for onboarding profile

role string

usage string

intention string

isAuth0Signup bool

customerId string

Optional. Customer Id from AWS marketplace

locale string

Optional. User locale. Default value is en if not supplied.

auth0UserId string

Optional. Auth0 user id for users registering using social login.

CreateOrgResponse

Response message for the Organization.CreateOrg rpc.

FieldTypeLabelDescription
org blueapi.api.ripple.Org

password string

DeleteOrgRequest

Request message for the Organization.DeleteOrg rpc.

GetOrgRequest

Request message for the Organization.GetOrg rpc.

SendVerificationRequest

Request message for the Organization.SendVerification rpc.

UpdateMetadataRequest

Request message for the Organization.UpdateMetadata rpc.

FieldTypeLabelDescription
key string

value string

UpdatePasswordRequest

Request message for the Organization.UpdatePassword rpc.

FieldTypeLabelDescription
oldPassword string

newPassword string

VerifyOrgRequest

Request message for the Organization.VerifyOrg rpc.

FieldTypeLabelDescription
key string

Organization

Organization service definition.

Method NameRequest TypeResponse TypeDescription
CreateOrg CreateOrgRequest CreateOrgResponse

Creates the organization account.

SendVerification SendVerificationRequest .google.protobuf.Empty

WORK-IN-PROGRESS: Sends (or resends) the verification email. Only valid for unverified organizations. The verification key will be valid for a day.

VerifyOrg VerifyOrgRequest .google.protobuf.Empty

WORK-IN-PROGRESS: Verifies an organization using the key received from the verification email. The verification key is only valid for a day.

GetOrg GetOrgRequest .blueapi.api.ripple.Org

Gets information about the caller's organization.

UpdateMetadata UpdateMetadataRequest .google.protobuf.Empty

WORK-IN-PROGRESS: Updates organization metadata. See [https://alphauslabs.github.io/blueapi/] for the list of supported attributes.

UpdatePassword UpdatePasswordRequest .google.protobuf.Empty

Updates the organization password.

DeleteOrg DeleteOrgRequest .google.protobuf.Empty

WORK-IN-PROGRESS: Deletes the organization.

Methods with HTTP bindings

Method Name Method Pattern Body
CreateOrg POST /org/v1 *
SendVerification POST /org/v1:sendVerification
VerifyOrg POST /org/v1:verify
GetOrg GET /org/v1
UpdateMetadata PUT /org/v1/metadata *
UpdatePassword PUT /org/v1/passwd *
DeleteOrg DELETE /org/v1

iam/v1/iam.proto

Top

CreateApiClientRequest

Request message for the Iam.CreateApiClient rpc.

FieldTypeLabelDescription
name string

Required. The descriptive name of the API client to create.

CreateGroupRootUserRequest

Request message for the Iam.CreateGroupRootUser rpc

FieldTypeLabelDescription
email string

The email address of the user being created.

password string

The password of the user being created. A value will be generated if not is provided for this field

groupId string

The ID of the group to which the user will be added. This must either be a billing group ID or an access group ID.

groupType string

The type of group which is represented by the group ID. Valid values include "billing_group" or "access_group".

inputType string

This value determines whether the password should be auto-generated or if the plaintext value received with the request should be used. A value of "Auto" will result in an auto-generated password whereas a value of "Custom" will result in the password included with the request being used.

plan string

The plan associated with the root-user account. Valid values include "trial", "limited3" and "limited4".

emailNotification bool

Whether or not a notification should be sent to the provided email after the user has been created.

meta blueapi.api.FeatureFlags

A collection of feature flags and whether or not they should be enabled. For a full list of such flags, see https://labs.alphaus.cloud/docs/blueapi/apis/iam/.

CreateIdentityProviderRequest

Request message for the Iam.CreateIdentityProvider rpc.

FieldTypeLabelDescription
name string

Required. The IdP name.

type string

Required. Value is `saml`.

metadata string

Required. The contents of the metadata file from your IdP.

CreateIpFilterRequest

Request message for the Iam.CreateIpFilter rpc.

FieldTypeLabelDescription
value string

Required. The IP input to filter, either blacklist or whitelist. Should be in CIDR format (i.e. `1.2.3.4/32`).

type string

Optional. Can be `whitelist` or `blacklist`. Defaults to `blacklist` if empty.

rootUser string

Optional. If `rootUser` is valid and `subUser` is empty, filter is for this rootuser. If both `rootUser` and `subUser` inputs are empty, filter is at global scope.

subUser string

Optional. If `subuser` is valid, filter is for this subuser; `rootUser` value is discarded. If both `rootUser` and `subUser` inputs are empty, filter is at global scope.

CreatePartnerTokenRequest

Request message for the Iam.CreatePartnerToken rpc.

FieldTypeLabelDescription
id string

Required. Partner id or audience for the token.

CreateRoleRequest

Request message for the Iam.CreateRole rpc.

FieldTypeLabelDescription
name string

Required. The name of the role to create. Role names should have at least 6 characters in length and 32 characters maximum. It should also be alphanumeric. Hyphens and underscores are allowed in between. The regular expression used for validation is `^[A-Za-z0-9][A-Za-z0-9_-]*[A-Za-z0-9]$`.

namespace string

Required. The namespace where this role will belong.

permissions string repeated

Required. The list of permissions to attach to this role.

CreateUserRequest

Request message for the Iam.CreateUser rpc.

FieldTypeLabelDescription
name string

Required. Min: 4, max: 18, allowed characters: letters, numbers, `_` (underscore), `.` (period) and `-` (hyphen) characters.

password string

Required. Minimum of 8 characters.

email string

Optional. Email address of the subuser.

nickName string

Optional. Nickname or description. It is set to 'name' if empty.

CreateUserRoleMappingRequest

Request message for the Iam.CreateUserRoleMapping rpc.

FieldTypeLabelDescription
subUser string

Optional. The subuser to map the roles. Defaults to caller if not set.

roles MapRole repeated

Required. The roles to map to the user. Limited to 5 items.

CreateUserRoleMappingResponse

Response message for the Iam.CreateUserRoleMapping rpc.

FieldTypeLabelDescription
success string repeated

failed string repeated

filters string repeated

DeleteApiClientRequest

Request message for the Iam.DeleteApiClient rpc.

FieldTypeLabelDescription
id string

Required. The client id to delete.

DeleteGroupRootUserRequest

Request message for the Iam.DeleteGroupRootUser rpc.

FieldTypeLabelDescription
id string

DeleteIdentityProviderRequest

Request message for the Iam.DeleteIdentityProvider rpc.

FieldTypeLabelDescription
id string

Required. The IdP id to delete.

DeleteIpFilterRequest

Request message for the Iam.DeleteIpFilter rpc.

FieldTypeLabelDescription
id string

The IP filter id to delete.

DeleteRoleRequest

Request message for the Iam.DeleteRole rpc.

FieldTypeLabelDescription
namespace string

Required. The parent namespace.

name string

Required. The role name to delete.

DeleteUserRequest

Request message for the Iam.DeleteUser rpc.

FieldTypeLabelDescription
id string

Required. The subuser name to delete.

GetFeatureFlagsRequest

Request message for the Iam.GetUpdateFeatureFlags rpc.

FieldTypeLabelDescription
id string

GetGroupRootRequest

Request message for the Iam.GetGroupRootUser rpc.

FieldTypeLabelDescription
id string

GetUserRequest

Request message for the Iam.GetUser rpc.

FieldTypeLabelDescription
id string

IpFilter

FieldTypeLabelDescription
id string

IP filter item id. Note that this name is transcient and is not fixed. However, you can use any of its permutations to endpoints that accept it, such as the `DELETE:/iam/v?/ipfilters/{id}` endpoint, without issues.

scope string

Can be `global`, `rootuser`, or `subuser`.

target string

The target of the filter. If global scope, this is usually empty. Rootuser name for rootuser scope, and subuser name for subuser scope. For subuser targets, format is `rootuser/subuser`.

type string

The type of IP filter. It could be `whitelist` or `blacklist`.

value string

The IP filter value. Should be in CIDR format.

ListApiClientsRequest

Request message for the Iam.ListApiClients rpc.

ListGroupRootUsersRequest

Request message for the Iam.ListGroupRootUsers rpc.

ListIdentityProvidersRequest

Request message for the Iam.ListIdentityProviders rpc.

ListIdentityProvidersResponse

Response message for the Iam.ListIdentityProviders rpc.

FieldTypeLabelDescription
data ListIdentityProvidersResponse.IdentityProvider repeated

ListIdentityProvidersResponse.IdentityProvider

FieldTypeLabelDescription
id string

name string

type string

saml ListIdentityProvidersResponse.IdentityProvider.samlInfo

ListIdentityProvidersResponse.IdentityProvider.samlInfo

FieldTypeLabelDescription
metadata string

ListIpFiltersRequest

Request message for the Iam.ListIpFilters rpc.

ListPermissionsRequest

Request message for the Iam.ListPermissions rpc.

FieldTypeLabelDescription
subUser string

Optional. The subuser to query. If empty (default), query all available permissions. If set to a valid subuser, query that subuser's permissions, if allowed. You can also set this field to `me` to query your own permissions.

ListPermissionsResponse

Response message for the Iam.ListPermissions rpc.

FieldTypeLabelDescription
permissions blueapi.api.Permission repeated

ListRolesRequest

Request message for the Iam.ListRoles rpc.

FieldTypeLabelDescription
namespace string

Optional. If not set, all roles will be returned.

ListRolesResponse

Response message for the Iam.ListRoles rpc.

FieldTypeLabelDescription
roles blueapi.api.Role repeated

ListUserRoleMappingsRequest

Request message for the Iam.ListUserRoleMappings rpc.

FieldTypeLabelDescription
subUser string

Optional. The subuser to query. Defaults to caller if not set.

ListUserRoleMappingsResponse

Response message for the Iam.ListUserRoleMappings rpc.

FieldTypeLabelDescription
userRoleMappings blueapi.api.UserRoleMapping repeated

ListUsersRequest

Request message for the Iam.ListUsers rpc.

MFAUser

FieldTypeLabelDescription
id string

name string

type string

status string

createdAt string

MFAUsersInfoRequest

Request message for the Iam.MFAUsersInfoRequest rpc.

FieldTypeLabelDescription
status string

Optional. If non empty: list users by status. Otherwise will list all MFA users.

MFAUsersInfoResponse

Response message for the MFAUsersInfoResponse rpc.

FieldTypeLabelDescription
users MFAUser repeated

MapRole

FieldTypeLabelDescription
namespace string

role string

PartnerToken

FieldTypeLabelDescription
token string

RefreshPartnerTokenRequest

Request message for the Iam.RefreshPartnerToken rpc.

FieldTypeLabelDescription
id string

Required. Partner id or audience for the token.

token string

Required. The previous (old) token to be refreshed.

UpdateFeatureFlagsRequest

Request message for the Iam.UpdateFeatureFlags rpc.

FieldTypeLabelDescription
id string

featureFlags blueapi.api.FeatureFlags

UpdateRoleRequest

Request message for the Iam.UpdateRole rpc.

FieldTypeLabelDescription
namespace string

Required. The new namespace.

name string

Required. The role name to update.

newName string

Optional. If set, update the current name to this.

permissions string repeated

Required. The list of permissions to attach to this role.

UpdateUserRoleMappingRequest

Request message for the Iam.UpdateUserRoleMapping rpc.

FieldTypeLabelDescription
subUser string

Optional. The subuser to map the roles. Defaults to caller if not set.

roles MapRole repeated

Required. The roles to map to the user. Limited to 5 items. Setting `role` to empty will remove the mapping.

UpdateUserRoleMappingResponse

Response message for the Iam.UpdateUserRoleMapping rpc.

FieldTypeLabelDescription
success string repeated

failed string repeated

filters string repeated

ValidateResetPasswordLinkAndChangePasswordRequest

Request for message Iam.ValidateVerificationCode rpc.

FieldTypeLabelDescription
originalEncodedCode string

userInputEncodedCode string

ValidateResetPasswordLinkAndChangePasswordResponse

Response for message Iam.ValidateVerificationCode rpc.

FieldTypeLabelDescription
isPasswordUpdated bool

isResetPasswordLinkValid bool

errorMessage string

VerifyUserForResetPasswordRequest

Request message for Iam.VerifyUserForResetPassword rpc.

FieldTypeLabelDescription
user string

VerifyUserForResetPasswordResponse

Response message for Iam.VerifyUserForResetPassword rpc.

FieldTypeLabelDescription
doesUserExists bool

WhoAmIRequest

Request message for the Iam.WhoAmI rpc.

Iam

IAM service definition.

Method NameRequest TypeResponse TypeDescription
WhoAmI WhoAmIRequest .blueapi.api.User

Gets user information about the caller. This call includes all of the user metadata. See [https://alphauslabs.github.io/blueapi/] for the list of supported attributes.

ListUsers ListUsersRequest .blueapi.api.User stream

Lists all subusers.

GetUser GetUserRequest .blueapi.api.User

Gets subuser information. This call includes all of the subuser metadata. See [https://alphauslabs.github.io/blueapi/] for the list of supported attributes. If the `{name}` parameter is `me` or `-`, returns the caller information, which is equivalent to `WhoAmI()` or `GET:/iam/v*/whoami`.

CreateUser CreateUserRequest .blueapi.api.User

Creates a subuser.

DeleteUser DeleteUserRequest .google.protobuf.Empty

Deletes a subuser.

CreateGroupRootUser CreateGroupRootUserRequest .blueapi.api.GroupRootUser

WORK-IN-PROGRESS: Creates a new root user for a billing group or access group.

ListGroupRootUsers ListGroupRootUsersRequest .blueapi.api.GroupRootUser stream

WORK-IN-PROGRESS: Retrieves all the existing group root users asscoiated with the organization.

GetGroupRootUser GetGroupRootRequest .blueapi.api.GroupRootUser

WORK-IN-PROGRESS: Retrieves a group root user.

DeleteGroupRootUser DeleteGroupRootUserRequest .google.protobuf.Empty

WORK-IN-PROGRESS: Deletes an existing group root user.

GetFeatureFlags GetFeatureFlagsRequest .blueapi.api.FeatureFlags

WORK-IN-PROGRESS: Retrieves the features available to a user on an Alphaus product. For a list of valid feature flags, see our documentation at https://labs.alphaus.cloud/docs/blueapi/apis/iam/.

UpdateFeatureFlags UpdateFeatureFlagsRequest .blueapi.api.FeatureFlags

WORK-IN-PROGRESS: Updates the features available to a user on an Alphaus product. For a list of valid feature flags, see our documentation at https://labs.alphaus.cloud/docs/blueapi/apis/iam/.

ListApiClients ListApiClientsRequest .blueapi.api.ApiClient stream

Lists all API clients belonging to the caller.

CreateApiClient CreateApiClientRequest .blueapi.api.ApiClient

Creates an API client for the caller.

DeleteApiClient DeleteApiClientRequest .google.protobuf.Empty

Deletes an API client belonging to the caller.

ListPermissions ListPermissionsRequest ListPermissionsResponse

WORK-IN-PROGRESS: Lists all permissions based on the input's scope. For reference, supported permissions can be found on [https://github.com/mobingi/rbac-permissions].

ListRoles ListRolesRequest ListRolesResponse

WORK-IN-PROGRESS: Lists all available roles.

CreateRole CreateRoleRequest .blueapi.api.Role

WORK-IN-PROGRESS: Creates a role. If your `permissions` list contains an `Admin` entry, all other entries will be discarded except `Admin`. Roles are root user-level. That means all roles created by the root user, or any subuser that has permissions to create roles, are available to all subusers.

UpdateRole UpdateRoleRequest .blueapi.api.Role

WORK-IN-PROGRESS: Updates a role. If role name is different, rename mapped role name.

DeleteRole DeleteRoleRequest .google.protobuf.Empty

WORK-IN-PROGRESS: Deletes a role. Deleting a role will also remove all mappings.

ListUserRoleMappings ListUserRoleMappingsRequest ListUserRoleMappingsResponse

WORK-IN-PROGRESS: Lists roles attached to the caller or the input.

CreateUserRoleMapping CreateUserRoleMappingRequest CreateUserRoleMappingResponse

WORK-IN-PROGRESS: Maps roles to a subuser. You can only map (or attach) up to 5 roles to a user per namespace. There is no limit for filtering rules per user.

UpdateUserRoleMapping UpdateUserRoleMappingRequest UpdateUserRoleMappingResponse

WORK-IN-PROGRESS: Updates user-to-role mappings. You can only map (or attach) up to 5 roles to a user per namespace. There is no limit for filtering rules per user.

ListIdentityProviders ListIdentityProvidersRequest ListIdentityProvidersResponse

Lists all SSO Identity Providers (IdP).

CreateIdentityProvider CreateIdentityProviderRequest .google.protobuf.Empty

Registers an SSO Identity Provider (IdP).

DeleteIdentityProvider DeleteIdentityProviderRequest .google.protobuf.Empty

Deletes an SSO Identity Provider (IdP).

ListIpFilters ListIpFiltersRequest IpFilter stream

Lists all IP filters. At the moment, this API is only available to root users.

CreateIpFilter CreateIpFilterRequest IpFilter

Creates an IP filter item for IP blacklisting or whitelisting. At the moment, this API is only available to root users.

DeleteIpFilter DeleteIpFilterRequest .google.protobuf.Empty

Deletes an IP filter item. At the moment, this API is only available to root users.

CreatePartnerToken CreatePartnerTokenRequest PartnerToken

BETA: Creates a partner token for custom integrations. Available only to Ripple and Cover users.

RefreshPartnerToken RefreshPartnerTokenRequest PartnerToken

BETA: Refreshes an expired partner token. Only partners are expected to call this API.

VerifyUserForResetPassword VerifyUserForResetPasswordRequest VerifyUserForResetPasswordResponse

WORK-IN-PROGRESS: Verify User Input For Reset Password

ValidateResetPasswordLinkAndChangePassword ValidateResetPasswordLinkAndChangePasswordRequest ValidateResetPasswordLinkAndChangePasswordResponse

WORK-IN-PROGRESS: Validate reset password link and proceed to update password

GetMFAUsers MFAUsersInfoRequest MFAUsersInfoResponse

WORK-IN-PROGRESS: List MFA users info for login user's organization based on status.

Methods with HTTP bindings

Method Name Method Pattern Body
WhoAmI GET /iam/v1/whoami
ListUsers GET /iam/v1/users
GetUser GET /iam/v1/users/{id}
CreateUser POST /iam/v1/users *
DeleteUser DELETE /iam/v1/users/{id}
CreateGroupRootUser POST /iam/v1/grouprootusers *
ListGroupRootUsers GET /iam/v1/grouprootusers
GetGroupRootUser GET /iam/v1/grouprootusers/{id}
DeleteGroupRootUser DELETE /iam/v1/grouprootusers/{id}
GetFeatureFlags GET /iam/v1/grouprootusers/{id}/features
UpdateFeatureFlags PUT /iam/v1/grouprootusers/{id}/features *
ListApiClients GET /iam/v1/apiclients
CreateApiClient POST /iam/v1/apiclients *
DeleteApiClient DELETE /iam/v1/apiclients/{id}
ListPermissions GET /iam/v1/permissions
ListRoles GET /iam/v1/roles
CreateRole POST /iam/v1/roles *
UpdateRole PUT /iam/v1/roles/{namespace}/{name} *
DeleteRole DELETE /iam/v1/roles/{namespace}/{name}
ListUserRoleMappings GET /iam/v1/userroles
CreateUserRoleMapping POST /iam/v1/userroles *
UpdateUserRoleMapping PUT /iam/v1/userroles *
ListIdentityProviders GET /iam/v1/idps
CreateIdentityProvider POST /iam/v1/idps *
DeleteIdentityProvider DELETE /iam/v1/idps/{id}
ListIpFilters GET /iam/v1/ipfilters
CreateIpFilter POST /iam/v1/ipfilters *
DeleteIpFilter DELETE /iam/v1/ipfilters/{id}
CreatePartnerToken POST /iam/v1/partners/{id}/token *
RefreshPartnerToken POST /iam/v1/partners/{id}/token:refresh *
VerifyUserForResetPassword POST /iam/v1/{user}/password:verify
ValidateResetPasswordLinkAndChangePassword POST /iam/v1/password:reset *
GetMFAUsers GET /iam/v1/mfausers

admin/v1/admin.proto

Top

CloudWatchMetricsStream

Response message for the Admin.CreateCloudWatchMetricsStream rpc.

FieldTypeLabelDescription
target string

The queried target account.

externalId string

The external id for this role.

stackId string

The id of the CloudFormation stack deployed in the target account.

stackRegion string

The region where the stack is deployed.

templateUrl string

The latest template used to deploy the stack.

status string

This can be `latest`, `outdated`, or some error information.

lastUpdated string

The last updated timestamp, RFC3339 UTC.

CreateCloudWatchMetricsStreamRequest

Request message for the Admin.CreateCloudWatchMetricsStream rpc.

FieldTypeLabelDescription
target string

Required. The target AWS account to validate.

CreateDefaultCostAccessRequest

Request message for the Admin.CreateDefaultCostAccess rpc.

FieldTypeLabelDescription
target string

Required. The target AWS account to validate.

CreateDefaultNotificationChannelRequest

Request message for the Admin.CreateDefaultNotificationChannel rpc.

CreateNotificationChannelRequest

Request message for the Admin.CreateNotificationChannel rpc.

FieldTypeLabelDescription
name string

Required. Name of the notification channel.

type string

Required. Valid values: `email`, `slack`, `msteams`.

email blueapi.api.EmailChannel

Required if type = `email`.

slack blueapi.api.SlackChannel

Required if type = `slack`.

msteams blueapi.api.MSTeamsChannel

Required if type = `msteams`.

product string

Optional. For Octo use only: `octo`.

CreateNotificationRequest

Request message for the Admin.CreateNotificationTypeChannels rpc.

FieldTypeLabelDescription
notificationType string

Required Valid values: `InvoiceCalculationStarted`, `InvoiceCalculationFinished`, `CurUpdatedAfterInvoice`. `AccountBudgetAlert`.

channels string repeated

Required

enabled bool

Required

account NotificationAccount

Optional. only available Wave(Pro).

CreateProformaCurRequest

Request message for Admin.CreateProformaCur rpc

FieldTypeLabelDescription
payerId string

Required.

billingInternalId string

Required.

reportName string

Required.

s3BucketName string

Optional. Default value: `alphaus-proforma-cur-export`

s3Prefix string

Optional. Default value: `pre`

s3Region string

Optional. Default value: `us-east-1`

DefaultCostAccess

Response message for the Admin.GetDefaultCostAccess, Admin.CreateDefaultCostAccess rpc.

FieldTypeLabelDescription
target string

The queried target account.

roleArn string

The role ARN that provides the cross-account access permissions.

externalId string

The external id for this role.

stackId string

The id of the CloudFormation stack deployed in the target account.

stackRegion string

The region where the stack is deployed.

templateUrl string

The latest template used to deploy the stack.

status string

This can be `latest`, `outdated`, or some error information.

lastUpdated string

The last updated timestamp, RFC3339 UTC.

DeleteDefaultCostAccessRequest

Request message for the Admin.DeleteDefaultCostAccess rpc.

FieldTypeLabelDescription
target string

Required. The target AWS account to delete.

DeleteNotificationChannelRequest

Request message for the Admin.DeleteNotificationChannel rpc.

FieldTypeLabelDescription
id string

Required. ID of the notification channel to delete.

DeleteNotificationRequest

Request message for the Admin.DeleteNotification rpc.

FieldTypeLabelDescription
id string

Required

notificationType string

Required Valid values: `InvoiceCalculationStarted`, `InvoiceCalculationFinished`, `CurUpdatedAfterInvoice`. `AccountBudgetAlert`.

ExportAuditLogsRequest

Request message for the ExportAuditLogs rpc.

FieldTypeLabelDescription
format string

Required. At the moment, `CSV`,`JSON` is supported.

startTime string

Required. The UTC date to start data from. If not set, the first day of the current year will be used. Format: `yyyymmdd`.

endTime string

Required. The UTC date to end data from. If not set, the first day of the current year will be used. Format: `yyyymmdd`.

GetAccountGroupRequest

Request message for the Admin.GetAccountGroup rpc.

FieldTypeLabelDescription
id string

GetAccountGroupResponse

Response message for the Admin.GetAccountGroup rpc.

FieldTypeLabelDescription
acctGroup blueapi.api.AccountGroup

GetCloudWatchMetricsStreamTemplateUrlRequest

Request message for the Admin.GetCloudWatchMetricsStreamTemplateUrl rpc.

GetCloudWatchMetricsStreamTemplateUrlResponse

Response message for the Admin.GetCloudWatchMetricsStreamTemplateUrl rpc.

FieldTypeLabelDescription
launchUrl string

The CloudFormation launch url. Open it in your browser.

templateUrl string

The latest CloudFormation template. The version is included in the filename.

stackName string

The default stack name used. Can be modified.

externalId string

The external id for this role. Do not change.

GetDefaultCostAccessRequest

Request message for the Admin.GetDefaultCostAccess rpc.

FieldTypeLabelDescription
target string

Required. The target AWS account to query.

GetDefaultCostAccessTemplateUrlRequest

Request message for the Admin.GetDefaultCostAccessTemplateUrl rpc.

FieldTypeLabelDescription
type string

Optional. Valid values are `default`, `s3only`, and `apionly`. Defaults to `default` if empty. `default` - Template for setting up both CUR export and read-only access to cost information. If selected, you need to deploy this template to `us-east-1` region as CloudFormation only supports the `AWS::CUR::ReportDefinition` in that region at the moment. The target S3 bucket will also be created in that region. If you prefer your S3 bucket to be located in a different region, you can use the template from this API by setting the type to `s3only`. After your S3 bucket is ready, call this API again (type is `default`) and set the `CurS3BucketOption` parameter to `USE_EXISTING`, then set your bucket name and region accordingly. This is the default for Ripple, unless specified otherwise. `apionly` - Template for setting up ready-only access to cost information. Handy if you already have exported your CUR to Alphaus through other means (i.e. manual setup). This template is the same as the `default` type but without the CUR export definitions. Although not required, we recommend you to deploy this template to allow us to query your cost-related information such as Reserved Instances, Saving Plans, etc. through the AWS API. At the moment, we only rely on CUR data which is a best-effort basis and sometimes not accurate. This is the default for Wave(Pro), unless specified otherwise. `s3only` - A helper template for creating an S3 bucket to be used for CUR export. All templates are publicly available from the reponse link (`templateUrl`) if you want to audit the included permissions.

GetDefaultCostAccessTemplateUrlResponse

Response message for the Admin.GetDefaultCostAccessTemplateUrl rpc.

FieldTypeLabelDescription
launchUrl string

The CloudFormation launch url. Open it in your browser.

templateUrl string

The latest CloudFormation template. The version is included in the filename.

stackName string

The default stack name used. Can be modified.

principal string

The AWS account that will receive the access. Do not change.

externalId string

The external id for this role. Do not change.

GetNotificationChannelRequest

Request message for the Admin.GetNotificationChannel rpc.

FieldTypeLabelDescription
id string

field_mask google.protobuf.FieldMask

Optional.

GetNotificationRequest

Request message for the Admin.GetNotificationTypeChannels rpc.

FieldTypeLabelDescription
id string

Required

notificationType string

Required Valid values: `InvoiceCalculationStarted`, `InvoiceCalculationFinished`, `CurUpdatedAfterInvoice`. `AccountBudgetAlert`.

GetNotificationSettingsRequest

Request message for the Admin.GetNotificationSettings rpc.

ListAccountGroupsRequest

Request message for the Admin.ListAccountGroups rpc.

ListAccountGroupsResponse

Response message for the Admin.ListAccountGroups rpc.

FieldTypeLabelDescription
accountGroups blueapi.api.AccountGroup repeated

ListDefaultCostAccessRequest

Request message for the Admin.ListDefaultCostAccess rpc.

ListNotificationChannelsRequest

Request message for the Admin.ListNotificationChannels rpc.

ListNotificationChannelsResponse

Response message for the Admin.ListNotificationChannels rpc.

FieldTypeLabelDescription
channels blueapi.api.NotificationChannel repeated

ListNotificationsRequest

Request message for the Admin.ListNotifications rpc.

ListNotificationsResponse

Response message for the Admin.ListNotifications rpc.

FieldTypeLabelDescription
notifications blueapi.api.Notification repeated

NotificationAccount

FieldTypeLabelDescription
vendor string

Required.

accountId string

Required.

ProformaCur

FieldTypeLabelDescription
orgId string

payerId string

billingInternalId string

reportName string

bucketName string

prefix string

timeCreated string

SaveNotificationSettingsRequest

Request message for the Admin.SaveNotificationSettings rpc.

FieldTypeLabelDescription
enabled bool

Required. Enable or disable notifications globally.

defaultChannel string

Optional. If non-empty, set this notification channel id as the default channel.

UpdateDefaultCostAccessRequest

Request message for the Admin.UpdateDefaultCostAccess rpc.

FieldTypeLabelDescription
target string

Required. The target AWS account to update.

UpdateNotificationChannelRequest

Request message for the Admin.UpdateNotificationChannel rpc.

FieldTypeLabelDescription
id string

Required. ID of the notification channel to update.

name string

Required. Name of the notification channel.

type string

Required. Valid values: `email`, `slack`, `msteams`.

email blueapi.api.EmailChannel

Required if type = `email`.

slack blueapi.api.SlackChannel

Required if type = `slack`.

msteams blueapi.api.MSTeamsChannel

Required if type = `msteams`.

product string

Optional. For Octo use only: `octo`.

UpdateNotificationRequest

Request message for the Admin.UpdateNotificationTypeChannels rpc.

FieldTypeLabelDescription
id string

Required

channels string repeated

Required

enabled bool

Required

notificationType string

Required Valid values: `InvoiceCalculationStarted`, `InvoiceCalculationFinished`, `CurUpdatedAfterInvoice`. `AccountBudgetAlert`.

account NotificationAccount

Optional. only available Wave(Pro).

Admin

Admin service definition.

Method NameRequest TypeResponse TypeDescription
ListAccountGroups ListAccountGroupsRequest ListAccountGroupsResponse stream

Lists all account groups.

GetAccountGroup GetAccountGroupRequest GetAccountGroupResponse

Gets an account group.

GetDefaultCostAccessTemplateUrl GetDefaultCostAccessTemplateUrlRequest GetDefaultCostAccessTemplateUrlResponse

Gets a CloudFormation launch URL for enabling the default cross-account access to your account's cost information based on type. See comments on the type for more information on what each template does.

ListDefaultCostAccess ListDefaultCostAccessRequest DefaultCostAccess stream

Lists the default cross-account access role(s) attached to accounts under caller.

GetDefaultCostAccess GetDefaultCostAccessRequest DefaultCostAccess

Gets the current default cross-account role attached to the input target.

CreateDefaultCostAccess CreateDefaultCostAccessRequest DefaultCostAccess

Starts validation of a default cross-account access stack deployment. If successful, the IAM role created from the CloudFormation stack will be registered to the target.

UpdateDefaultCostAccess UpdateDefaultCostAccessRequest .protos.Operation

Starts an update to an existing default cross-account access CloudFormation stack for template changes, if any. Only call this API if the status of your default cross-account access is 'outdated'.

DeleteDefaultCostAccess DeleteDefaultCostAccessRequest .google.protobuf.Empty

Deletes the current default cross-account access role attached to this target account. This does not delete the CloudFormation deployment in your account.

GetCloudWatchMetricsStreamTemplateUrl GetCloudWatchMetricsStreamTemplateUrlRequest GetCloudWatchMetricsStreamTemplateUrlResponse

WORK-IN-PROGRESS: Gets a CloudFormation launch URL for enabling CloudWatch metrics streaming on a target account.

CreateCloudWatchMetricsStream CreateCloudWatchMetricsStreamRequest CloudWatchMetricsStream

WORK-IN-PROGRESS: Starts validation of a CloudWatch Metrics streaming stack deployment.

CreateProformaCur CreateProformaCurRequest ProformaCur

WORK-IN-PROGRESS: Configure AWS Proforma Cost and Usage Report.

GetNotificationSettings GetNotificationSettingsRequest .blueapi.api.NotificationSettings

Get notification settings for login user's organization or group.

SaveNotificationSettings SaveNotificationSettingsRequest .blueapi.api.NotificationSettings

Creates or updates notification settings for login user's organization or group.

ListNotificationChannels ListNotificationChannelsRequest ListNotificationChannelsResponse

Lists all notification channels for login user's organization or group.

GetNotificationChannel GetNotificationChannelRequest .blueapi.api.NotificationChannel

Gets notification channel for login user's organization or group.

CreateNotificationChannel CreateNotificationChannelRequest .blueapi.api.NotificationChannel

WORK-IN-PROGRESS: Creates notification settings for login user's organization or group.

CreateDefaultNotificationChannel CreateDefaultNotificationChannelRequest .blueapi.api.NotificationChannel

Creates a default notification channel of type email based on the caller's primary email address.

UpdateNotificationChannel UpdateNotificationChannelRequest .blueapi.api.NotificationChannel

WORK-IN-PROGRESS: Updates notification settings for login user's organization or group.

DeleteNotificationChannel DeleteNotificationChannelRequest .google.protobuf.Empty

Deletes notification settings for login user's organization or group.

ListNotifications ListNotificationsRequest ListNotificationsResponse

WORK-IN-PROGRESS: List all notification for login user's organization.

GetNotification GetNotificationRequest .blueapi.api.Notification

WORK-IN-PROGRESS: Get notifications for login user's organization.

CreateNotification CreateNotificationRequest .blueapi.api.Notification

WORK-IN-PROGRESS: Creates notification for login user's organization.

UpdateNotification UpdateNotificationRequest .blueapi.api.Notification

WORK-IN-PROGRESS: Updates notification for login user's organization.

DeleteNotification DeleteNotificationRequest .google.protobuf.Empty

WORK-IN-PROGRESS: Deletes notification for login user's organization.

ExportAuditLogs ExportAuditLogsRequest .blueapi.api.AuditExport

WORK-IN-PROGRESS: Exports audit logs for login user's organization.

Methods with HTTP bindings

Method Name Method Pattern Body
ListAccountGroups GET /admin/v1/acctgroups
GetAccountGroup GET /admin/v1/acctgroups/{id}
GetDefaultCostAccessTemplateUrl GET /admin/v1/aws/xacct/dca
ListDefaultCostAccess POST /admin/v1/aws/xacct/dca/all:read
GetDefaultCostAccess GET /admin/v1/aws/xacct/dca/{target}
CreateDefaultCostAccess POST /admin/v1/aws/xacct/dca *
UpdateDefaultCostAccess PUT /admin/v1/aws/xacct/dca/{target}
DeleteDefaultCostAccess DELETE /admin/v1/aws/xacct/dca/{target}
GetCloudWatchMetricsStreamTemplateUrl GET /admin/v1/aws/xacct/cwms
CreateCloudWatchMetricsStream POST /admin/v1/aws/xacct/cwms *
CreateProformaCur POST /admin/v1/aws/reports/proforma *
GetNotificationSettings GET /admin/v1/notification/settings
SaveNotificationSettings POST /admin/v1/notification/settings *
ListNotificationChannels GET /admin/v1/notification/channels
GetNotificationChannel GET /admin/v1/notification/channels/{id}
CreateNotificationChannel POST /admin/v1/notification/channels *
CreateDefaultNotificationChannel POST /admin/v1/notification/default *
UpdateNotificationChannel PUT /admin/v1/notification/channels/{id} *
DeleteNotificationChannel DELETE /admin/v1/notification/channels/{id}
ListNotifications GET /admin/v1/notifications
GetNotification GET /admin/v1/notifications/{id}
CreateNotification POST /admin/v1/notifications *
UpdateNotification PUT /admin/v1/notifications/{id} *
DeleteNotification DELETE /admin/v1/notifications/{id}
ExportAuditLogs POST /admin/v1/auditlogs:export *

cost/v1/cost.proto

Top

BudgetAlerts

Request message for the BudgetAlerts rpc.

FieldTypeLabelDescription
id string

Budget alert Id.

vendor string

Vnedor. At the moment, only `aws` is supported.

accounts blueapi.api.Account repeated

Lsit of accountId.

notification blueapi.api.BudgetAlertNotificationDetail

Notification setting for budget alert.

daily blueapi.api.DailyBudgetAlert

Daily setting for budget alert.

dailyRate blueapi.api.DailyRateIncreaseBudgetAlert

Daily rate increase setting for budget alert.

monthly blueapi.api.MonthlyBudgetAlert

Monthly setting for budget alert.

CalculateCostsRequest

Request message for the Cost.CalculateCosts rpc.

FieldTypeLabelDescription
vendor string

Required. At the moment, only `aws` is supported.

groupId string

Optional. A comma-separated list of billing internal ids. If empty, calculate for all billing groups. At the moment, for AWS, this is only valid for account type billing groups, not tag billing groups. If a tag billing group is provided, it is discarded and the calculation is done for the whole organization.

month string

Optional. The UTC month to calculate. If empty, it defaults to the previous month. Format is `yyyymm`. For example, June 2021 will be `202106`.

awsOptions CalculateCostsRequestAwsOptions

Optional. Valid only for the `aws` vendor. AWS-specific options.

CalculateCostsRequestAwsOptions

FieldTypeLabelDescription
force bool

Optional. If set to true, discard existing calculation operation(s), if any, and make this as the active/latest one. By default, if there is an ongoing operation during the call, the request will fail.

accountsOnly bool

Optional. If set to true, only calculate for account-type billing groups. If both `accountsOnly` and `tagsOnly` are set to true, `accountsOnly` will prevail.

tagsOnly bool

Optional. If set to true, only calculate for tags-type billing groups. Discarded when the organization doesn't have any tag-based billing groups configured. If both `accountsOnly` and `tagsOnly` are set to true, `accountsOnly` will prevail.

CalculationsSchedule

FieldTypeLabelDescription
id string

The schedule id.

schedule string

The desired schedule in UTC, using the [cron](https://man7.org/linux/man-pages/man5/crontab.5.html) format.

scheduleMacro string

The macro that augments `schedule`.

targetMonth string

The target month for the calculation. Empty means previous month (default).

nextRun string

The schedule for the next run in UTC.

notificationChannel string

The channel id to use for notifications.

force bool

If set to true, force calculations to proceed regardless of run status.

dryRun bool

If set to true, skips the actual calculations.

status string

The current state of this schedule. Normally set to "OK", or empty if no issues. Otherwise, will contain an error string.

CalculatorCostModifier

FieldTypeLabelDescription
id string

createTime string

updateTime string

awsOptions CalculatorCostModifierAwsOptions

CalculatorCostModifierAwsOptions

AWS-specific options definition.

FieldTypeLabelDescription
accountId string

Optional. The account to which the modifier is applied. A comma-separated list of accounts is also valid.

groupId string

Optional. The group to which the modifier is applied. Accepts billing internal ids. A comma-separated list of billing internal ids is also valid.

payerId string

Optional. The payer id to which the modifier is applied. A comma-separated list of payer ids is also valid.

qualifiers CalculatorCostModifierAwsOptions.Qualifier repeated

Optional. Conditional qualifiers to further filter the modifier targets. Multiple qualifiers use the logical `or` operator; `qualifiers[0] || qualifiers[1] || qualifiers[n]`.

modifier CalculatorCostModifierAwsOptions.Modifier

after string

Optional. Specifies the modifier id in which this modifier will be applied after. For example, if you have another modifier `mod1` and you create a new modifier with `after` set to `mod1`, the calculator will apply `mod1` first, then this modifier. If `after` is not set, the application sequence for multiple overlapping modifiers will be by update timestamp, newest to oldest.

CalculatorCostModifierAwsOptions.Modifier

FieldTypeLabelDescription
formula string

Required. Our modifier formula. The final result should be a number. Integers are converted to floating points. Supported operators are `*`, `/`, `+`, `-`, and `%`. You can use parenthesis `()` to control precedence. Additional supported operators include `==`, `!=`, `!`, `>`, `<`, `>=`, `<=`, and the ternary operator `? :`, or `cond ? expr1 : expr2`. Examples: `1 + 2 * 3` = 7 `(1 + 2) * 3` = 9 `7.8 % 5` = 2.8 `true ? 1.1 : 2.2` = 1.1 `1 > 2 ? 1.1 : 2.2` = 2.2 You can use the `cost` variable to reference the original lineitem cost. For example, if you want to add $10 to the cost, you can use the formula: `cost + 10`. For trueunblended-type billing groups, `cost` refers to the calculated trueunblended cost. The `usage` variable refers to the usage amount of a lineitem. For example, if you want to use a different rate of $1.5, you can use the formula: `usage * 1.5`. The `unblendedcost` variable refers to the lineitem's unblended cost as indicated in the CUR. Note that the `unblendedcost` variable is different than the `cost` variable, although there are cases where the two are equal. The `ondemandrate` variable refers to the lineitem's public ondemand rate as indicated in the CUR. You can check out this [guide](https://alphauslabs.github.io/docs/guides/aws-cost-mods/) for more examples.

descriptionModifier CalculatorCostModifierAwsOptions.Modifier.DescriptionModifier

Optional. A simple description modifier.

CalculatorCostModifierAwsOptions.Modifier.DescriptionModifier

FieldTypeLabelDescription
prefix string

Optional. Add a prefix to the description.

suffix string

Optional. Add a suffix to the description.

replace string

Optional. Replace the description with the input.

replaceMatch CalculatorCostModifierAwsOptions.Modifier.DescriptionModifier.ReplaceMatchEntry repeated

Optional. Replace matching occurences with the input. The key part is the regular expression matcher based on https://github.com/google/re2, while the value is the replacement. The order of replacement is not guaranteed. You can use the `{{ondemandrate}}` variable in the replacement value part to reference the public ondemand rate indicated in the CUR.

CalculatorCostModifierAwsOptions.Modifier.DescriptionModifier.ReplaceMatchEntry

FieldTypeLabelDescription
key string

value string

CalculatorCostModifierAwsOptions.Qualifier

A map of "key:value" attribute filters. The key indicates the column name while the value is the filter value prefixed by either "eq:" (equal), "re:" (regular expressions based on https://github.com/google/re2), or "!re:" (reverse "re:"). No prefix is the same as "eq:". Multiple map items will use the logical 'and' operator, e.g. mapfilter1 && mapfilter2 && mapfilter3, etc.

For example, if you like your modifiers to apply to `productCode:AmazonEC2`, set to `{"productCode":"eq:AmazonEC2"}` or `{"productCode":"AmazonEC2"}`. You can also use a regular expression like `{"productCode":"re:AmazonEC2|AmazonRDS"}`, which means apply to all AmazonEC2 or AmazonRDS lineitems. Or reverse regexp, such as `{"productCode":"!re:^AmazonEC2$"}`, which means apply to all items except `AmazonEC2`. Valid keys are `productCode`, `serviceCode`, `region`, `zone`, `usageType`, `instanceType`, `operation`, `description`, and `resourceId`.

FieldTypeLabelDescription
and CalculatorCostModifierAwsOptions.Qualifier.AndEntry repeated

CalculatorCostModifierAwsOptions.Qualifier.AndEntry

FieldTypeLabelDescription
key string

value string

CheckAccountsRequest

FieldTypeLabelDescription
vendor string

Required. At the moment, only `aws` is supported.

accountIds string repeated

Required. A comma-separated list of account ids. For example, you set to ["accountId1","accountId2","accountId3"].

CheckAccountsResponse

FieldTypeLabelDescription
exists CheckAccountsResponse.ExistsEntry repeated

Map of accountIds to boolean values indicating if the account exists.

CheckAccountsResponse.ExistsEntry

FieldTypeLabelDescription
key string

value bool

CostAttribute

FieldTypeLabelDescription
vendor string

category string

data string repeated

CostAttributeItem

Response message for the Cost.ReadCostAttributes rpc.

FieldTypeLabelDescription
aws blueapi.api.aws.CostAttribute

CostItem

Response message wrapper for cloud costs.

FieldTypeLabelDescription
aws blueapi.api.aws.Cost

gcp blueapi.api.gcp.Cost

azure blueapi.api.azure.Cost

CreateAccountBudgetAlertsRequest

Request message for CreateAccountBudgetAlerts

FieldTypeLabelDescription
vendor string

Required. At the moment, only `aws` is supported.

id string

Required. Account Id

budgetAlert blueapi.api.wave.BudgetAlert

Required. Budget alert setting.

CreateAccountBudgetRequest

Request message for CreateAccountBudget

FieldTypeLabelDescription
vendor string

Required. At the moment, only `aws` is supported.

level string

Required. 'account' or 'acctgroup'

id string

Required. Account or AccountGroup Id

data blueapi.api.Budget

CreateAccountBudgetResponse

Response message for CreateAccountBudget

FieldTypeLabelDescription
budgetId string

Budget Id

CreateAccountRequest

Request message for the Cost.CreateAccount rpc.

FieldTypeLabelDescription
vendor string

Required. At the moment, only `aws` is supported.

id string

Required. The account id to register.

name string

Optional. If empty, set to the value of `id`.

parent string

Optional. The parent `billingInternalId` of the billing group to which this account will belong to.

awsOptions CreateAccountRequestAwsOptions

Required for the `aws` vendor. AWS-specific options.

gcpOptions CreateAccountRequestGcpOptions

Required for the `gcp` vendor. GCP-specific options.

CreateAccountRequestAwsOptions

AWS-specific options for registering an account.

FieldTypeLabelDescription
managementAccountId string

Optional. The management account id (formerly known as master, or payer) to which an account belongs to, initially. If the account is moved to another management account, the system is able to detect it and set this value accordingly.

CreateAccountRequestGcpOptions

GCP-specific options for registering an account.

FieldTypeLabelDescription
managementAccountId string

Optional.

managementBillingId string

Optional.

CreateBudgetAlertsRequest

Request message for the CreateBudgetAlerts rpc.

FieldTypeLabelDescription
vendor string

Required. At the moment, only `aws` is supported.

accounts string repeated

Required. Lsit of accountId. For example, you set to ["accountId1","accountId2","accountId3"].

notification blueapi.api.BudgetAlertNotification

Required.

daily blueapi.api.DailyBudgetAlert

Optional.

dailyRate blueapi.api.DailyRateIncreaseBudgetAlert

Optional.

monthly blueapi.api.MonthlyBudgetAlert

Optional.

CreateCalculationsScheduleRequest

Request message for the Cost.CreateCalculationsSchedule rpc.

FieldTypeLabelDescription
vendor string

Required. At the moment, only `aws` is supported.

schedule string

Required. The desired schedule in UTC, using the unix-cron string format `* * * * *` which is a set of five fields in a line using the order: `minute hour day-of-the-month month day-of-the-week`. * `minute` values can be `0-59` * `hour` values can be `0-23` * `day-of-the-month` values can be `1-31` * `month` values can be `1-12`, or `JAN-DEC` * `day-of-the-week` values can be `0-6`, or `SUN-SAT`, or `7` for Sunday Special characters: * A field can contain an asterisk (*), which always stands for "first-last". * Ranges are two numbers separated with a hyphen (-) and the specified range is inclusive. * Following a range with `/NUMBER` specifies skips of the number's value through the range. For example, both `0-23/2` and `*/2` can be used in the `hour` field to specify execution every two hours. * A list is a set of numbers (or ranges) separated by commas (,). For example, `1,2,5,6` in the `month` field specifies an execution on the first, second, fifth, and sixth days of the month.

scheduleMacro string

Optional. Non-standard macro(s) that augment(s) `schedule`'s behavior. The only supported value for now is `@endofmonth`. `@endofmonth` - If set, the backend scheduler will only use the `minute` and `hour` part of `schedule`'s value and set the days to 28th, 29th, 30th, and 31st but the runner will do the filtering for the actual end of the trigger month. Note that this is different than setting `schedule` to, say, `0 0 28-31 * *`.

targetMonth string

Optional. The desired month to calculate. If not set, defaults to previous month. The only supported value for now is `@current`. `@current` - If set, calculate for the month the schedule is triggered (or current month).

notificationChannel string

Optional. The channel id to use for notifications. At the moment, only email-type notification channels are supported. If not set, your default channel will be used. And if non-existent, an email-type notification channel will be created using your primary email address.

force bool

Optional. Not used at the moment.

dryRun bool

Optional. If set to true, skips the actual calculations. Useful as test, or reminder.

CreateCalculatorCostModifierRequest

Request message for the Cost.CreateCalculatorCostModifier rpc.

FieldTypeLabelDescription
vendor string

Required. At the moment, only `aws` is supported.

awsOptions CalculatorCostModifierAwsOptions

Required if `{vendor}` is `aws`. AWS-specific options.

CreateCalculatorCostModifierResponse

Response message for the Cost.CreateCalculatorCostModifier rpc.

FieldTypeLabelDescription
aws CalculatorCostModifier repeated

CreateCostFiltersRequest

Request message for the CreateCostFilters rpc.

FieldTypeLabelDescription
vendor string

Required. At the moment, only `aws` is supported.

filterName string

Required. Filter Name. Specify characters between 1 ~ 100

groupId string

Required. If set, reads the usage-based cost details of this group. Only valid for Ripple users. Implied as the parent billing group for Wave(Pro) users. For AWS Ripple, only billing internal ids are supported at the moment. Overriden when `accountId` is set to anything other than `*`. Set this and `accountId` to `*` to read the usage-based cost details of the whole organization. Optional for AWS Wave(Pro).

accountId string

Required. You can set it to a single account or a comma-separated list of accounts. For AWS, setting this will override `groupId`. Set this and `groupId` to `*` to read the usage-based cost details of the whole organization.

awsOptions ReadCostsRequestAwsOptions

Required. Valid only for the `aws` vendor. AWS-specific options.

CreateCostFiltersResponse

Response message for the CreateCostFilters rpc.

FieldTypeLabelDescription
filterId string

Required. Filter Id.

CreatePayerAccountRequest

Request message for the Cost.CreatePayerAccount rpc.

FieldTypeLabelDescription
vendor string

Required. At the moment, only `aws` is supported.

awsOptions CreatePayerAccountRequestAwsOptions

Required for the `aws` vendor. AWS-specific options.

CreatePayerAccountRequestAwsOptions

See [https://help.alphaus.cloud/en/articles/3612555-ripple-aws-things-you-need-to-prepare-before-starting] for more information.

See [https://docs.aws.amazon.com/cur/latest/userguide/cur-create.html] for more information. Requirements include: Additional report details = 'Include Resource IDS' enabled, Prefix = non-empty (recommendation only), Time granularity = 'Hourly', File format = 'text/csv'.

FieldTypeLabelDescription
id string

Required. The id of the management account.

name string

Optional. The name, or description of the management account. This is set to `id` when not specified.

bucketName string

Required. S3 Bucket name.

prefix string

Optional. Prefix.

reportName string

Required. Report name.

roleArn string

Required. Role ARN for Alphaus to assume for access.

DeleteAccountBudgetAlertsRequest

Request message for DeleteAccountBudgetAlerts

FieldTypeLabelDescription
vendor string

Required. At the moment, only `aws` is supported.

id string

Required. Account Id

DeleteAccountBudgetRequest

Request message for DeleteAccountBudget

FieldTypeLabelDescription
vendor string

Required. At the moment, only `aws` is supported.

budgetId string

Required. Budget Id

DeleteAccountRequest

Request message for the Cost.DeleteAccount rpc.

FieldTypeLabelDescription
vendor string

Required. At the moment, only `aws` is supported.

id string

Required. The account id to delete.

DeleteBudgetAlertsRequest

Request message for the DeleteBudgetAlerts rpc.

FieldTypeLabelDescription
id string

Required. budget alert id

DeleteCalculationsScheduleRequest

Request message for the Cost.DeleteCalculationsSchedule rpc.

FieldTypeLabelDescription
vendor string

Required. At the moment, only `aws` is supported.

id string

Required. The id to delete. Can be set to either `-` or `*`, which means all.

DeleteCalculatorCostModifierRequest

Request message for the Cost.DeleteCalculatorCostModifier rpc.

FieldTypeLabelDescription
vendor string

Required. At the moment, only `aws` is supported.

id string

Required. The id of the modifier to delete.

DeleteCostFiltersRequest

Request message for the DeleteCostFilters rpc.

FieldTypeLabelDescription
vendor string

Required. At the moment, only `aws` is supported.

filterId string

Required. Filter Id to delete.

DeletePayerAccountRequest

Request message for the Cost.DeletePayerAccount rpc.

FieldTypeLabelDescription
vendor string

Required. At the moment, only `aws` is supported.

id string

Required. The id of the account.

ExportCostFiltersFileRequest

Request message for the ExportCostFiltersFile rpc.

FieldTypeLabelDescription
vendor string

Required. At the moment, only `aws` is supported.

filterId string

Required. Filter Id.

startTime string

Optional. The UTC date to start streaming data from. If not set, the first day of the current month will be used. Format: `yyyymmdd`. The oldest supported date is `20200101`.

endTime string

Optional. The UTC date to end the streaming data. If not set, current date will be used. Format: `yyyymmd`.

groupByMonth bool

Optional. If set to true, return data grouped by month within the date range. If you want data that is grouped per account per month, set this to `true`, then set `groupByColumns` to `none`.

groupByColumns string

Optional. A comma-separated list of columns to aggregate the data into. Valid values are `productCode`, `serviceCode`, `region`, `zone`, `usageType`, `instanceType`, `operation`, `invoiceId`, `description`, and `resourceId`. A special value of `none` is also supported, which means query by date or month per account only. For example, if you only want the services and region data, you can set this field to `productCode,region`. Your input sequence doesn't matter (although the sequence above is recommended) as the actual sequence is already fixed in the return data (see the definition in https://github.com/alphauslabs/blueapi/blob/main/api/aws/cost.proto), which is generic to specific, top to bottom. Invalid values are discarded. Excluded columns will be empty.

includeTags bool

Optional. If set to true, stream will include resource tags.

ExportCostFiltersFileResponse

Response message for the ExportCostFiltersFile rpc.

FieldTypeLabelDescription
url string

Required. URL of exported file.

GetAccountBudgetAlertsRequest

Request message for GetAccountBudgetAlerts

FieldTypeLabelDescription
vendor string

Required. At the moment, only `aws` is supported.

id string

Required. Account Id

GetAccountBudgetRequest

Request message for GetAccountBudget

FieldTypeLabelDescription
vendor string

Required. At the moment, only `aws` is supported.

level string

Required. 'account' or 'acctgroup'

id string

Required. Account or AccountGroup Id

year string

Optional. Default is current year. Format: `yyyy`.

GetAccountBudgetResponse

Response message for GetAccountBudget

FieldTypeLabelDescription
data blueapi.api.Budget

GetAccountRequest

Request message for the Cost.GetAccount rpc.

FieldTypeLabelDescription
vendor string

Required. At the moment, `aws` and `gcp` is supported.

id string

Required. The account id to retrieve.

field_mask google.protobuf.FieldMask

Optional.

GetBreakevenPointRequest

Request message for GetBreakevenPoint

FieldTypeLabelDescription
vendor string

Required. At the moment, only `aws` is supported.

orgId string

Required. Organization Id.

type string

Required. For AWS, "ri" or "sp".

arn string

Required. RI/SP Arn.

GetBreakevenPointResponse

Response message for GetBreakevenPoint

FieldTypeLabelDescription
orgId string

awsCostBreakeven blueapi.api.aws.AwsCostBreakeven

GetBudgetAlertsRequest

Request message for the GetBudgetAlerts rpc.

FieldTypeLabelDescription
id string

Required. budget alert id

GetCalculatorConfigRequest

Request message for the Cost.GetCalculatorConfig rpc.

FieldTypeLabelDescription
vendor string

Required. At the moment, only `aws` is supported.

GetCalculatorConfigResponse

Response message for the Cost.GetCalculatorConfig rpc.

FieldTypeLabelDescription
aws blueapi.api.aws.CalculatorConfig

GetCostAttributesRequest

Request message for the Cost.GetCostAttributes rpc.

FieldTypeLabelDescription
vendor string

Required. At the moment, only `aws` is supported.

month string

Required. Format: `yyyy-mm`.

groupId string

Optional. If set, reads the cost attributes of this group. Only valid for Ripple users. Implied as the parent billing group for Wave(Pro) users.

accountId string

Optional. You can set it to a single account or a comma-separated list of accounts. If set, overrides `groupId`

category string

Optional. A comma-separated list of dimensions to query. Valid values are `productCode`, `serviceCode`, `region`, `zone`, `usageType`, `instanceType`, `operation`, `invoiceId`, `description`, `resourceId` and `tags`. Sequence doesn't matter. An empty value implies all attributes will be returned.

GetCostAttributesResponse

Response message for the Cost.GetCostAttributes rpc.

FieldTypeLabelDescription
items CostAttribute repeated

The cost attributes.

GetCostReductionRequest

Request message for GetCostReduction

FieldTypeLabelDescription
vendor string

Required. At the moment, only `aws` is supported.

orgId string

Required. Organization Id.

reductionDisplay string

Required. Valid values: 'all', 'reservation', 'savingsplan'

includeDetails bool

Optional. If set to "true", details of the RI or SP list is returned. Default: false.

fromDate string

Optional. The start date of the displayed data. If not set, the first day of the current month will be used. Format: yyyy-mm-dd.

toDate string

Optional. The end date of the displayed data. If not set, current date will be used. Format: yyyy-mm-dd.

payerId string

Optional. Payer Id.

billingInternalId string

Optional. Billing group Id.

groupId string

Optional. Account group Id.

costGroupId string

Optional. Cost Group Id used in octo.

accounts string repeated

Optional. List of Account Ids.

services string repeated

Optional. List of services.

GetCostReductionResponse

Response message for GetCostReduction

FieldTypeLabelDescription
orgId string

awsCostReductions blueapi.api.aws.AwsCostReductions

GetCoverageOndemandRequest

Request message for GetCoverageOndemand

FieldTypeLabelDescription
vendor string

Required. At the moment, only `aws` is supported.

orgId string

Required. Organization Id.

period string

Required. Available values: day, hour

fromDate string

Optional. The start date of the displayed data. If not set, the first day of the current month will be used. Format: yyyy-mm-dd.

toDate string

Optional. The end date of the displayed data. If not set, current date will be used. Format: yyyy-mm-dd.

payerId string

Optional. Payer Id.

billingInternalId string

Optional. Billing group Id.

groupId string

Optional. Account group Id.

costGroupId string

Optional. Cost Group Id, currently used in octo

accounts string repeated

Optional. List of Account Ids.

services string repeated

Optional. List of services.

GetCoverageOndemandResponse

Response message for GetCoverageOndemand

FieldTypeLabelDescription
orgId string

ondemandData blueapi.api.OndemandData repeated

GetCoverageOptionsRequest

Request message for GetCoverageOptions

FieldTypeLabelDescription
vendor string

Required. At the moment, only `aws` is supported.

orgId string

Required. Organization Id.

period string

Required. Available values: day, hour.

fromDate string

Optional. The start date of the displayed data. If not set, the first day of the current month will be used. Format: yyyy-mm-dd.

toDate string

Optional. The end date of the displayed data. If not set, current date will be used. Format: yyyy-mm-dd.

payerId string

Optional. Payer Id.

billingInternalId string

Optional. Billing group Id.

groupId string

Optional. Account group Id.

costGroupId string

Optional. Cost Group Id

accounts string repeated

Optional. List of Account Ids.

services string repeated

Optional. List of services.

GetCoverageOptionsResponse

Response message for GetCoverageOptions

FieldTypeLabelDescription
orgId string

optionsData blueapi.api.OptionsData repeated

GetForecastsRequest

Request message for GetForecasts per billing group.

FieldTypeLabelDescription
vendor string

Required. At the moment, only `aws` is supported.

billingInternalId string

Optional. Company Id of Billing Group to retrieve. Default value is user's Company Id

frequency string

Optional. Forecast frequency. Valid values are `daily` and `monthly`. Default value is `daily`.

level string

Optional. Forecast granularity. Valid values are `account`, `category` and `product`. Default value is `account`.

fromDate string

Optional. Start date to get cost forecast. If from_date is less than current date, historical costs are included. If from_date is greater than current date, only forecasted costs are returned. Format: `yyyy-mm-dd`.

toDate string

Optional. End date to get cost forecast. Currently, we only support 90 days forecasting from the first day of current month. Format: `yyyy-mm-dd`.

GetForecastsResponse

Response message for GetForecasts per billing group.

FieldTypeLabelDescription
data blueapi.api.BillingGroupForecast

GetMonthOnMonthCostForecastRequest

Request message for GetMonthOnMonthCostForecast

FieldTypeLabelDescription
vendor string

Required. At the moment, only `aws` is supported.

level string

Required. 'account' or 'acctgroup'

id string

Required. Account or AccountGroup Id

date string

Optional. Default is current month. Format: `yyyymm`.

GetMonthOnMonthCostForecastResponse

Response message for GetMonthOnMonthCostForecast

FieldTypeLabelDescription
id string

data blueapi.api.MonthOnMonthCostForecast repeated

timestamp string

GetMonthToDateCostForecastRequest

Request message for GetMonthToDateCostForecast

FieldTypeLabelDescription
vendor string

Required. At the moment, only `aws` is supported.

level string

Required. 'account' or 'acctgroup'

id string

Required. Account or AccountGroup Id

date string

Optional. Default is current month. Format: `yyyymm`.

GetMonthToDateCostForecastResponse

Response message for GetMonthToDateCostForecast

FieldTypeLabelDescription
id string

budget double

data blueapi.api.MonthToDateCostForecast repeated

timestamp string

GetMonthlyCostForecastRequest

Request message for GetMonthlyCostForecast

FieldTypeLabelDescription
vendor string

Required. At the moment, only `aws` is supported.

level string

Required. 'account' or 'acctgroup'

id string

Required. Account or AccountGroup Id

fromDate string

Optional. Start month to get cost forecast. Format: `yyyymm`.

toDate string

Optional. Last month to get cost forecast. Format: `yyyymm`.

GetMonthlyCostForecastResponse

Response message for GetMonthlyCostForecast

FieldTypeLabelDescription
id string

data blueapi.api.MonthlyCostForecast repeated

timestamp string

GetPayerAccountImportHistoryRequest

Request message for the Cost.GetPayerAccountImportHistory rpc.

FieldTypeLabelDescription
vendor string

Required. At the moment, only `aws` is supported.

id string

Required. The account id to query. Could be `*`, which implies all payers.

month string

Optional. The UTC month to query. If empty, defaults to current month. Format is `yyyymm`. For example, June 2021 will be `202106`.

GetPayerAccountImportHistoryResponse

Response message for the Cost.GetPayerAccountImportHistory rpc.

FieldTypeLabelDescription
id string

The queried account id.

month string

The queried UTC month.

timestamps string repeated

List of timestamps in RFC3339 format with the `T` separator. Example: `2019-10-12T07:20:50.52Z`

GetPayerAccountRequest

Request message for the Cost.GetPayerAccount rpc.

FieldTypeLabelDescription
vendor string

Required. At the moment, only `aws` is supported.

id string

Required. The id of the account to get.

GetPayerProformaReportsRequest

Request message for Cost.GetPayerProformaReports rpc.

FieldTypeLabelDescription
vendor string

Required. At the moment, only `aws` is supported.

id string

Required. The account id to query.

GetPayerProformaReportsResponse

Response message for Cost.GetPayerProformaReports rpc.

FieldTypeLabelDescription
reports ProformaReports repeated

GetRecommendationsRequest

Request message for GetRecommendations

FieldTypeLabelDescription
vendor string

Required. At the moment, only `aws` is supported.

orgId string

Required. Organization Id.

accounts string repeated

Required. List of Account Ids.

costGroupId string

Required. For OCTO only.

awsOptions GetRecommendationsRequestAwsOptions

Required if vendor = 'aws'

GetRecommendationsRequestAwsOptions

FieldTypeLabelDescription
recommendationType string

Required. Valid values: 'reservation', 'rightsizing', 'scheduling'. Only 'reservation' is supported for now.

type string

For recommendationType = 'reservation'. Optional. Valid values: 'combined', 'individual' Default: 'combined'

riServices string repeated

For recommendationType = 'reservation'. Optional. List of Services ["AmazonEC2", "AmazonRDS", "AmazonElastiCache", "AmazonES", "AmazonRedshift"]. Default: Empty list.

spServices string repeated

For recommendationType = 'reservation'. Optional. List of Services ["AmazonECS", "AmazonEKS", "AWSLambda"]. Default: Empty list.

purchaseEC2SavingsPlan bool

For recommendationType = 'reservation'. Optional. If set to "true", recommends EC2 Instance Savings Plan that will cover usage not covered by RI. Default: false.

ec2SpProductFamily string

For recommendationType = 'reservation'. Optional. Valid values: 'EC2Instance', 'Compute'. Default: 'EC2Instance'.

term string

For recommendationType = 'reservation'. Optional. Valid values: '1yr', '3yr'. Default: '1yr'.

offeringClass string

For recommendationType = 'reservation'. Optional. Valid values: 'standard', 'convertible'. Default: 'standard'.

paymentOption string

For recommendationType = 'reservation'. Optional. Valid values: 'allUpfront', 'partialUpfront', 'noUpfront'. Default: 'allUpfront'.

coveragePercentage double

For recommendationType = 'reservation'. Optional. Percentage of the usage (in NormalizedUnits) to be covered by Reserved Instance or Savings Plan. Default: 100.

GetRecommendationsResponse

Request message for GetRecommendations

FieldTypeLabelDescription
orgId string

awsRecommendations blueapi.api.aws.AwsRecommendations

GetUtilizationRequest

Request message for GetUtilization

FieldTypeLabelDescription
vendor string

Required. At the moment, only `aws` is supported.

orgId string

Required. Organization Id.

type string

Required. For AWS, "ri" or "sp".

fromDate string

Optional. The start date of the displayed data. If not set, the first day of the current month will be used. Format: yyyy-mm-dd.

toDate string

Optional. The end date of the displayed data. If not set, current date will be used. Format: yyyy-mm-dd.

payerId string

Optional. Payer Id.

billingInternalId string

Optional. Billing group Id.

groupId string

Optional. Account group Id.

costGroupId string

Optional. Cost Group Id used in octo.

GetUtilizationResponse

Response message for GetUtilization

FieldTypeLabelDescription
orgId string

utilizationData blueapi.api.UtilizationData repeated

ImportCurFilesRequest

Request message for the Cost.ImportCurFiles rpc.

FieldTypeLabelDescription
month string

Optional. The UTC month to import. If empty, it defaults to the current month. Format is `yyyymm`. For example, June 2021 will be `202106`.

filter string

Optional. A comma-separated list of management accounts to import. If empty, all CURs associated with all your management accounts will be imported.

ListAccountsRequest

Request message for the Cost.ListAccounts rpc.

FieldTypeLabelDescription
vendor string

Required. At the moment, `aws` and `gcp` is supported.

groupId string

Optional. The billing group internal id. Only valid for Ripple users.

field_mask google.protobuf.FieldMask

Optional.

ListCalculationsHistoryAwsResponse

AWS-specific response message for the Cost.ListCalculationsHistory rpc. Should be compatible with the Operations API.

FieldTypeLabelDescription
operations protos.Operation repeated

ListCalculationsHistoryRequest

Request message for the Cost.ListCalculationsHistory rpc.

FieldTypeLabelDescription
vendor string

Required. At the moment, only `aws` is supported.

asOf string

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.

excludeDone bool

Optional. If true, exclude all operations that are marked as done. Include by default.

ListCalculationsHistoryResponse

Response message for the Cost.ListCalculationsHistory rpc.

FieldTypeLabelDescription
aws ListCalculationsHistoryAwsResponse

ListCalculationsSchedulesRequest

Request message for the Cost.ListCalculationsSchedules rpc.

FieldTypeLabelDescription
vendor string

Required. At the moment, only `aws` is supported.

ListCalculationsSchedulesResponse

Response message for the Cost.ListCalculationsSchedules rpc.

FieldTypeLabelDescription
schedules CalculationsSchedule repeated

ListCalculatorCostModifiersRequest

Request message for the Cost.ListCalculatorCostModifiers rpc.

FieldTypeLabelDescription
vendor string

Required. At the moment, only `aws` is supported.

ListCalculatorRunningAccountsRequest

Request message for the Cost.ListCalculatorRunningAccounts rpc.

FieldTypeLabelDescription
vendor string

Required. At the moment, only `aws` is supported.

month string

Optional. The UTC month to query. Defaults to current month if empty. Format is `yyyymm`. For example, June 2021 will be `202106`.

ListCalculatorRunningAccountsResponse

Response message for the Cost.ListCalculatorRunningAccounts rpc.

FieldTypeLabelDescription
aws ListCalculatorRunningAccountsResponse.AwsRunningAccount

AWS-specific entry.

ListCalculatorRunningAccountsResponse.AwsRunningAccount

FieldTypeLabelDescription
month string

The queried month. Format is yyyy-mm.

account string

The AWS account that is actively processing.

date string

The target date the account is processing for.

started string

The timestamp when the calculation has started.

ListCostFilters

Response message for the ListCostFilters rpc.

FieldTypeLabelDescription
filterId string

Required. Filter Id.

filterName string

Required. Filter Name.

vendor string

Required. Vendor.

groupId string

Optional. If set, reads the usage-based cost details of this group. Only valid for Ripple users. Implied as the parent billing group for Wave(Pro) users. For AWS Ripple, only billing internal ids are supported at the moment. Overriden when `accountId` is set to anything other than `*`. Set this and `accountId` to `*` to read the usage-based cost details of the whole organization. Optional for AWS Wave(Pro).

accountId string

Optional. You can set it to a single account or a comma-separated list of accounts. For AWS, setting this will override `groupId`. Set this and `groupId` to `*` to read the usage-based cost details of the whole organization.

awsOptions ReadCostsRequestAwsOptions

Optional. Valid only for the `aws` vendor. AWS-specific options.

ListCostFiltersRequest

Request message for the ListCostFilters rpc.

FieldTypeLabelDescription
vendor string

Required. At the moment, only `aws` is supported.

ListCostFiltersResponse

Response message for the ListCostFilters rpc.

FieldTypeLabelDescription
costFilters ListCostFilters repeated

ListPayerAccountsRequest

Request message for the Cost.ListPayerAccounts rpc.

FieldTypeLabelDescription
vendor string

Required. At the moment, only `aws` is supported.

field_mask google.protobuf.FieldMask

Optional. Get only the value that set fieldMask. see more info: https://github.com/protocolbuffers/protobuf/blob/main/src/google/protobuf/field_mask.proto

ListTagsRequest

Request message for the Cost.ListTags rpc.

FieldTypeLabelDescription
vendor string

Required. At the moment, only `aws` is supported.

groupId string

Optional. The billing group internal id. Only valid for Ripple users.

field_mask google.protobuf.FieldMask

Optional.

ProformaReports

FieldTypeLabelDescription
id string

payer account id

billingInternalId string

billing group internal id

billingGroupName string

billing group name

bucketName string

s3 bucket name

prefix string

s3 report prefix

reportName string

report name

roleArn string

role arn

ReadAdjustmentsRequest

Request message for the Cost.ReadAdjustments rpc.

FieldTypeLabelDescription
vendor string

Required. At the moment, only `aws` or `azure` is supported.

groupId string

Optional. At the moment, only billing internal ids are supported. If set, reads the non-usage-based adjustment details of this group. Valid only if `accountId` is not set. If both `groupId` and `accountId` are not set, reads the adjustment details of the whole organization. Only valid for Ripple users. Implied (or discarded) for Wave(Pro) users.

accountId string

Optional. If set, reads the non-usaged-based adjustment details of this account. Also invalidates the `groupId` value even if set. If both `groupId` and `accountId` are not set, reads the adjustment details of the whole organization.

startTime string

Optional. The UTC date to start streaming data from. If not set, the first day of the current month will be used. Format: `yyyymmdd`.

endTime string

Optional. The UTC date to end the streaming data. If not set, current date will be used. Format: `yyyymmdd`.

awsOptions ReadAdjustmentsRequestAwsOptions

Optional. Valid only for the `aws` vendor. AWS-specific options.

ReadAdjustmentsRequestAwsOptions

FieldTypeLabelDescription
toCurrency string

Optional. Set to US dollars (USD) by default (AWS CUR's default currency). You can set it to the desired three-letter currency symbol (i.e. JPY, EUR, GBP), in which case, it will use the latest exchange rates provided by https://fixer.io. If you prefer a custom exchange rate, you can append the rate to the currency's three-letter symbol. For example, `JPY:110.622` for the Japanese Yen. Note that the exchange rate should be against the US dollar (USD).

ReadBudgetAlertsRequest

Request message for the ReadBudgetAlerts rpc.

FieldTypeLabelDescription
field_mask google.protobuf.FieldMask

Optional.

ReadCostAttributesRequest

Request message for the Cost.ReadCostAttributes rpc.

FieldTypeLabelDescription
vendor string

Required. At the moment, only `aws` is supported.

groupId string

Optional. If set, reads the cost attributes of this group. Only valid for Ripple users. Implied as the parent billing group for Wave(Pro) users. For AWS Ripple, only billing internal ids are supported at the moment. Overriden when `accountId` is set to anything other than `*`. Set this and `accountId` to `*` to read the cost attributes of the whole organization. Optional for AWS Wave(Pro).

accountId string

Optional. You can set it to a single account or a comma-separated list of accounts. For AWS, setting this will override `groupId`. Set this and `groupId` to `*` to read the cost attributes of the whole organization.

startTime string

Optional. The UTC date to start streaming data from. If not set, the first day of the current month will be used. Format: `yyyymmdd`. The oldest supported date is `20200101`.

endTime string

Optional. The UTC date to end the streaming data. If not set, current date will be used. Format: `yyyymmdd`.

awsOptions ReadCostAttributesRequest.AwsOptions

Optional. Valid only for the `aws` vendor. AWS-specific options.

ReadCostAttributesRequest.AwsOptions

FieldTypeLabelDescription
dimensions string

Optional. A comma-separated list of dimensions to query. Valid values are `productCode`, `serviceCode`, `region`, `zone`, `usageType`, `instanceType`, `operation`, `invoiceId`, `description`, `resourceId`, `tags`, and `costCategories`. Sequence doesn't matter. An empty value implies all attributes will be returned.

ReadCostsRequest

Request message for the Cost.ReadCosts rpc.

FieldTypeLabelDescription
vendor string

Required. At the moment, `aws`,`azure` and `gcp` are supported.

groupId string

Optional. If set, reads the usage-based cost details of this group. Only valid for Ripple users. Implied as the parent billing group for Wave(Pro) users. For AWS Ripple, only billing internal ids are supported at the moment. Overriden when `accountId` is set to anything other than `*`. Set this and `accountId` to `*` to read the usage-based cost details of the whole organization. Optional for AWS Wave(Pro).

accountId string

Optional. You can set it to a single account or a comma-separated list of accounts. For AWS, setting this will override `groupId`. Set this and `groupId` to `*` to read the usage-based cost details of the whole organization.

startTime string

Optional. The UTC date to start streaming data from. If not set, the first day of the current month will be used. Format: `yyyymmdd`. The oldest supported date is `20200101`.

endTime string

Optional. The UTC date to end the streaming data. If not set, current date will be used. Format: `yyyymmdd`.

awsOptions ReadCostsRequestAwsOptions

Optional. Valid only for the `aws` vendor. AWS-specific options.

gcpOptions ReadCostsRequestGcpOptions

Optional. Valid only for the `gcp` vendor. GCP-specific options.

azureOptions ReadCostsRequestAzureOptions

Optional. Valid only for the `azure` vendor. Azure-specific options.

ReadCostsRequestAwsOptions

AWS-specific options for ReadCostsRequest.

FieldTypeLabelDescription
groupByColumns string

Optional. A comma-separated list of columns to aggregate the data into. Valid values are `productCode`, `serviceCode`, `region`, `zone`, `usageType`, `instanceType`, `operation`, `invoiceId`, `description`, and `resourceId`. A special value of `none` is also supported, which means query by date or month per account only. For example, if you only want the services and region data, you can set this field to `productCode,region`. Your input sequence doesn't matter (although the sequence above is recommended) as the actual sequence is already fixed in the return data (see the definition in https://github.com/alphauslabs/blueapi/blob/main/api/aws/cost.proto), which is generic to specific, top to bottom. Invalid values are discarded. Excluded columns will be empty.

groupByMonth bool

Optional. If set to true, return data grouped by month within the date range. If you want data that is grouped per account per month, set this to `true`, then set `groupByColumns` to `none`. You can also use `groupByColumns` while setting this to true.

groupAccounts bool

Optional. If set to true, group all input accounts into one.

filters ReadCostsRequestAwsOptionsFilters repeated

Optional. A list of filtering options. See [ReadCostsRequestAwsOptionsFilters] for more information on each filter item. Multiple filter items will use the logical 'or' operator, e.g. filter1 || filter2 || filter3, etc.

tagFilters ReadCostsRequestAwsOptions.TagFilters repeated

Optional. A list of filtering options specific for tags. Multiple filter items will use the logical 'or' operator, e.g. filter1 || filter2 || filter3, etc. Discarded when `groupByColumns` field is set or if `groupByMonth` is true.

includeTags bool

Optional. If set to true, stream will include resource tags. Discarded when `groupByColumns` field is set to `none`.

includeCostCategories bool

Optional. If set to true, stream will include resource cost category information. Discarded when `groupByColumns` field is set to `none`.

toCurrency string

Optional. Set to US dollars (USD) by default (AWS CUR's default currency). You can set it to the desired three-letter currency symbol (i.e. JPY, EUR, GBP), in which case, it will use the latest exchange rates provided by https://fixer.io. If you prefer a custom exchange rate, you can append the rate to the currency's three-letter symbol. For example, `JPY:110.622` for the Japanese Yen. Note that the exchange rate should be against the US dollar (USD).

forceLatest bool

Optional. If set to true, always get the up-to-date calculation results. This data isn't necessarily in-sync with your invoice data as AWS could still have updated your CUR files even after you created your invoices. By default, returned data are those that are always in-sync with your invoices. This field is discarded for Wave(Pro) users. You will always get the latest data that is in-sync with your invoices.

noCache bool

If true, force API to not use cached data.

includeAdjustments bool

WORK-IN-PROGRESS: Optional. If set to true, include adjustment entries in the output. Adjustments include fees, discounts, credits, etc. The output here is the same as the ReadAdjustments API.

ReadCostsRequestAwsOptions.TagFilters

A map of "key:value" tag filters. The key indicates the tag key while the value is the filter tag value which can be prefixed by either "eq:" (equal), "re:" (regular expressions based on https://github.com/google/re2), or "!re:" (reverse "re:"). No prefix is the same as "eq:". Multiple map items will use the logical 'and' operator, e.g. mapfilter1 && mapfilter2 && mapfilter3, etc.

For example, if you want to query lineitems with the tag `project:MY_PROJECT`, set to `{"project":"MY_PROJECT"}`. You can also use regular expressions for tag values, such as `{"name":"re:[A-Za-z0-9]*"}`.

FieldTypeLabelDescription
andFilters ReadCostsRequestAwsOptions.TagFilters.AndFiltersEntry repeated

ReadCostsRequestAwsOptions.TagFilters.AndFiltersEntry

FieldTypeLabelDescription
key string

value string

ReadCostsRequestAwsOptionsFilters

A map of "key:value" column filters. Dependent on `groupByColumns` and/or `groupByMonth`. The key indicates the column name while the value is the filter value prefixed by either "eq:" (equal), "re:" (regular expressions based on https://github.com/google/re2), or "!re:" (reverse "re:"). No prefix is the same as "eq:". Multiple map items will use the logical 'and' operator, e.g. mapfilter1 && mapfilter2 && mapfilter3, etc.

For example, if you like to filter `productCode` to return only `AmazonEC2`, set to `{"productCode":"eq:AmazonEC2"}` or `{"productCode":"AmazonEC2"}`. You can also use a regular expression like `{"productCode":"re:AmazonEC2|AmazonRDS"}`, which means return all AmazonEC2 or AmazonRDS lineitems. Or reverse regexp, such as `{"productCode":"!re:^AmazonEC2$"}`, which means return all items except `AmazonEC2`.

FieldTypeLabelDescription
andFilters ReadCostsRequestAwsOptionsFilters.AndFiltersEntry repeated

ReadCostsRequestAwsOptionsFilters.AndFiltersEntry

FieldTypeLabelDescription
key string

value string

ReadCostsRequestAzureOptions

Azure-specific options for ReadCostsRequest.

FieldTypeLabelDescription
groupByColumns string

Optional. A comma-separated list of columns to aggregate the data into. Valid values are `serviceName`, `productName`, `region`, `chargeType`, `description`, `billableQuantity`, `effectiveUnitPrice`, `timeInterval`, `billingType`, `alternateId` and `domainName`. A special value of `none` is also supported, which means query by date or month per account only. For example, if you only want the services and region data, you can set this field to `serviceName,region`. Your input sequence doesn't matter (although the sequence above is recommended) as the actual sequence is already fixed in the return data (see the definition in https://github.com/alphauslabs/blueapi/blob/main/api/azure/cost.proto), which is generic to specific, top to bottom. Invalid values are discarded. Excluded columns will be empty.

groupByMonth bool

Optional. If set to true, return data grouped by month within the date range. If you want data that is grouped per account per month, set this to `true`. You can also use `groupByColumns` while setting this to true.

noCache bool

If true, force API to not use cached data.

toCurrency string

Optional. Set to US dollars (USD) by default (AWS CUR's default currency). You can set it to the desired three-letter currency symbol (i.e. JPY, EUR, GBP), in which case, it will use the latest exchange rates provided by https://fixer.io. If you prefer a custom exchange rate, you can append the rate to the currency's three-letter symbol. For example, `JPY:110.622` for the Japanese Yen. Note that the exchange rate should be against the US dollar (USD).

ReadCostsRequestGcpOptions

GCP-specific options for ReadCostsRequest.

FieldTypeLabelDescription
groupByColumns string

Optional. A comma-separated list of columns to aggregate the data into. Valid values are `service`, `sku`, `region`, `zone`, and `usageUnit`. A special value of `none` is also supported, which means query by date or month per account only.

groupByMonth bool

Optional. If set to true, return data grouped by month within the date range. If you want data that is grouped per account per month, set this to `true`, then set `groupByColumns` to `none`.

groupAccounts bool

Optional. If set to true, group all input accounts into one. Valid only if `groupByMonth` is true.

filters ReadCostsRequestGcpOptionsFilters repeated

Optional. A list of filtering options. See [ReadCostsRequestGcpOptionsFilters] for more information on each filter item. Multiple filter items will use the logical 'or' operator, e.g. filter1 || filter2 || filter3, etc.

includeInvoiceMonth bool

Optional. If set to true, stream will include invoice month. Discarded when `groupByColumns` field is set to `none`. The last usage occurrence of invoice month based on endTime is set to endTime. For example, (Assumption: Last usage start time 2022-02-01 01:00:00 UTC) If you set to "endTime:20210131", automatically set to "endTime:20220101". Ignored if the batch calculation for invoice month has not been completed.

includeCredits bool

Optional. If set to true, stream will include credits{"creditsType","creditsName"}. Discarded when `groupByColumns` field is set to `none`.

rounding bool

Optional. If set to true, round the cost data to a rounded format. It will be rounded off in the unit specified by `groupByColumns`.

noCache bool

If true, force API to not use cached data.

ReadCostsRequestGcpOptionsFilters

A map of "key:value" column filters. Dependent on `groupByColumns` and/or `groupByMonth`. The key indicates the column name while the value is the filter value prefixed by either "eq:" (equal), "re:" (regular expressions based on https://github.com/google/re2), or "!re:" (reverse "re:"). No prefix is the same as "eq:". Multiple map items will use the logical 'and' operator, e.g. mapfilter1 && mapfilter2 && mapfilter3, etc.

For example, if you like to filter `service` to return only `Compute Engine`, set to `{"service":"eq:Compute Engine"}` or `{"service":"Compute Engine"}`. You can also use a regular expression like `{"service":"re:Compute Engine|Cloud Storage"}`, which means return all Compute Engine or Cloud Storage lineitems. Or reverse regexp, such as `{"service":"!re:^Cloud Engine$"}`, which means return all items except `Cloud Engine`.

FieldTypeLabelDescription
andFilters ReadCostsRequestGcpOptionsFilters.AndFiltersEntry repeated

ReadCostsRequestGcpOptionsFilters.AndFiltersEntry

FieldTypeLabelDescription
key string

value string

ReadNonTagCostsRequest

Request message for the Cost.ReadNonTagCosts rpc.

FieldTypeLabelDescription
vendor string

Required. At the moment, only `aws` is supported.

billingInternalId string

Required. The billing internal id to stream.

startTime string

Optional. Timestamp to start streaming data from. If not set, the first day of the current month will be used. Format: `yyyymmdd`.

endTime string

Optional. Timestamp to end the streaming data. If not set, current date will be used. Format: `yyyymmdd`.

groupByMonths bool

Optional. Group services and costs by months in the range of `startTime` and `endTime`. If not set, daily data will be returned.

ReadTagCostsRequest

Request message for the Cost.ReadTagCosts rpc.

FieldTypeLabelDescription
vendor string

Required. At the moment, only `aws` is supported.

billingInternalId string

Required. The billing internal id to stream.

startTime string

Optional. Timestamp to start streaming data from. If not set, the first day of the current month will be used. Format: `yyyymmdd`.

endTime string

Optional. Timestamp to end the streaming data. If not set, current date will be used. Format: `yyyymmdd`.

groupByMonths bool

Optional. Group services and costs by months in the range of `startTime` and `endTime`. If not set, daily data will be returned.

awsOptions ReadTagCostsRequestAwsOptions

Optional. Valid only for the `aws` vendor. AWS-specific options.

ReadTagCostsRequestAwsOptions

FieldTypeLabelDescription
tagId string

Optional. If set, only return data for this tagId.

groupByColumns string

Optional. A comma-separated list of columns to aggregate the data into. Valid values are `productCode`, `serviceCode`, `region`, `zone`, `usageType`, `instanceType`, `operation`, `invoiceId`, `description`, and `resourceId`. A special value of `none` is also supported, which means query by date or month per account only. For example, if you only want the services and region data, you can set this field to `productCode,region`. Your input sequence doesn't matter (although the sequence above is recommended) as the actual sequence is already fixed in the return data (see the definition in https://github.com/alphauslabs/blueapi/blob/main/api/aws/cost.proto), which is generic to specific, top to bottom. Invalid values are discarded. Excluded columns will be empty.

groupByMonth bool

Optional. If set to true, return data grouped by month within the date range. If you want data that is grouped per account per month, set this to `true`, then set `groupByColumns` to `none`. You can also use `groupByColumns` while setting this to true.

filters ReadCostsRequestAwsOptionsFilters repeated

Optional. A list of filtering options. See [ReadCostsRequestAwsOptionsFilters] for more information on each filter item. Multiple filter items will use the logical 'or' operator, e.g. filter1 || filter2 || filter3, etc.

tagFilters ReadTagCostsRequestAwsOptions.TagFilters repeated

Optional. A list of filtering options specific for tags. Multiple filter items will use the logical 'or' operator, e.g. filter1 || filter2 || filter3, etc. Discarded when `groupByColumns` field is set or if `groupByMonth` is true.

includeTags bool

Optional. If set to true, stream will include resource tags. Discarded when `groupByColumns` field is set to `none`.

includeCostCategories bool

Optional. If set to true, stream will include resource cost category information. Discarded when `groupByColumns` field is set to `none`.

toCurrency string

Optional. Set to US dollars (USD) by default (AWS CUR's default currency). You can set it to the desired three-letter currency symbol (i.e. JPY, EUR, GBP), in which case, it will use the latest exchange rates provided by https://fixer.io. If you prefer a custom exchange rate, you can append the rate to the currency's three-letter symbol. For example, `JPY:110.622` for the Japanese Yen. Note that the exchange rate should be against the US dollar (USD).

forceLatest bool

Optional. If set to true, always get the up-to-date calculation results. This data isn't necessarily in-sync with your invoice data as AWS could still have updated your CUR files even after you created your invoices. By default, returned data are those that are always in-sync with your invoices. This field is discarded for Wave(Pro) users. You will always get the latest data that is in-sync with your invoices.

noCache bool

If true, force API to not use cached data.

tagIds string repeated

Optional. If set, only return data list tags.

ReadTagCostsRequestAwsOptions.TagFilters

A map of "key:value" tag filters. The key indicates the tag key while the value is the filter tag value which can be prefixed by either "eq:" (equal), "re:" (regular expressions based on https://github.com/google/re2), or "!re:" (reverse "re:"). No prefix is the same as "eq:". Multiple map items will use the logical 'and' operator, e.g. mapfilter1 && mapfilter2 && mapfilter3, etc.

For example, if you want to query lineitems with the tag `project:MY_PROJECT`, set to `{"project":"MY_PROJECT"}`. You can also use regular expressions for tag values, such as `{"name":"re:[A-Za-z0-9]*"}`.

FieldTypeLabelDescription
andFilters ReadTagCostsRequestAwsOptions.TagFilters.AndFiltersEntry repeated

ReadTagCostsRequestAwsOptions.TagFilters.AndFiltersEntry

FieldTypeLabelDescription
key string

value string

UpdateAccountBudgetAlertsRequest

Request message for UpdateAccountBudgetAlerts

FieldTypeLabelDescription
vendor string

Required. At the moment, only `aws` is supported.

id string

Required. Account Id

budgetAlert blueapi.api.wave.BudgetAlert

Required. Budget alert setting. Set only the setting value to be changed. For example, If you want to change only daily value, set `{"budget":[{"id":"daily","value":100,"enabled":true}}` as a parameter The same goes for notification. If you want to change only email value, set `{"notification":[{"id":"email","destination":"budgetalert-example@alphaus.cloud","enabled":true}}` as a parameter

UpdateAccountBudgetRequest

Request message for UpdateAccountBudget

FieldTypeLabelDescription
vendor string

Required. At the moment, only `aws` is supported.

budgetId string

Required. Budget Id

data blueapi.api.Budget

UpdateAccountRequest

Request message for the Cost.UpdateAccount rpc.

FieldTypeLabelDescription
vendor string

Required.

id string

Required.

name string

Optional.

UpdateBudgetAlertsRequest

Request message for the UpdateBudgetAlerts rpc.

FieldTypeLabelDescription
id string

Required. budget alert id

vendor string

Required. At the moment, only `aws` is supported.

accounts string repeated

Required. Lsit of accountId. For example, you set to ["accountId1","accountId2","accountId3"].

notification blueapi.api.BudgetAlertNotification

Required.

daily blueapi.api.DailyBudgetAlert

Optional.

dailyRate blueapi.api.DailyRateIncreaseBudgetAlert

Optional.

monthly blueapi.api.MonthlyBudgetAlert

Optional.

UpdateCostFiltersRequest

Request message for the UpdateCostFilters rpc.

FieldTypeLabelDescription
vendor string

Required. At the moment, only `aws` is supported.

filterId string

Required. Filter Id.

filterName string

Required. Filter Name. Specify characters between 1 ~ 100

groupId string

Required. If set, reads the usage-based cost details of this group. Only valid for Ripple users. Implied as the parent billing group for Wave(Pro) users. For AWS Ripple, only billing internal ids are supported at the moment. Overriden when `accountId` is set to anything other than `*`. Set this and `accountId` to `*` to read the usage-based cost details of the whole organization. Optional for AWS Wave(Pro).

accountId string

Required. You can set it to a single account or a comma-separated list of accounts. For AWS, setting this will override `groupId`. Set this and `groupId` to `*` to read the usage-based cost details of the whole organization.

awsOptions ReadCostsRequestAwsOptions

Required. Valid only for the `aws` vendor. AWS-specific options.

UpdateCostFiltersResponse

Response message for the UpdateCostFilters rpc.

FieldTypeLabelDescription
filterId string

Required. Filter Id.

Cost

Service for reading aggregated costs for your cloud costs and usages.

Method NameRequest TypeResponse TypeDescription
ListPayerAccounts ListPayerAccountsRequest .blueapi.api.Account stream

Lists vendor payer accounts. For AWS, these are management accounts (formerly known as master or payer accounts); for Azure, these are subscriptions, for GCP, these are projects.

GetPayerAccount GetPayerAccountRequest .blueapi.api.ripple.Payer

Gets a vendor payer account. This API includes all of the account's metadata. See (https://alphauslabs.github.io/blueapi/)[https://alphauslabs.github.io/blueapi/] for the list of supported attributes. For AWS, this means a management account (formerly known as master or payer account); for Azure, this means a subscription, for GCP, this means a project.

GetPayerAccountImportHistory GetPayerAccountImportHistoryRequest GetPayerAccountImportHistoryResponse stream

Gets a payer account's import history. Import history is a list of timestamps our system tracks when the account's data are imported to our system, which in turn, triggers processing. At the moment, this only supports AWS (CUR files). You can also set `{id}` to `*` to return all payers' information under the organization.

GetPayerProformaReports GetPayerProformaReportsRequest GetPayerProformaReportsResponse

Gets a payer account's proforma reports. Applicable for AWS payer accounts only.

CreatePayerAccount CreatePayerAccountRequest .blueapi.api.Account

DEPRECATED: Registers a vendor payer account. This is now deprecated for AWS payer accounts. To register an AWS payer account, check out the 'CreateDefaultCostAccess' API.

DeletePayerAccount DeletePayerAccountRequest .google.protobuf.Empty

Deletes a vendor payer account.

ListAccounts ListAccountsRequest .blueapi.api.Account stream

Lists all vendor accounts.

GetAccount GetAccountRequest .blueapi.api.Account

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.

CreateAccount CreateAccountRequest .blueapi.api.Account

Registers a vendor account.

UpdateAccount UpdateAccountRequest .blueapi.api.Account

WORK-IN-PROGRESS: Updates a vendor account. Only available in Ripple.

DeleteAccount DeleteAccountRequest .google.protobuf.Empty

WORK-IN-PROGRESS: Deletes a vendor account.

ListTags ListTagsRequest .blueapi.api.CostTag stream

Lists all vendor tags.

ListCalculatorRunningAccounts ListCalculatorRunningAccountsRequest ListCalculatorRunningAccountsResponse stream

Lists the vendor calculator's queued accounts for calculation. If result is non-empty, it means calculation is still in progress for the returned accounts. Only available in Ripple.

GetCalculatorConfig GetCalculatorConfigRequest GetCalculatorConfigResponse

WORK-IN-PROGRESS: Gets the vendor cost calculator's current configuration.

ListCalculatorCostModifiers ListCalculatorCostModifiersRequest CalculatorCostModifier stream

Lists the cost calculator's cost modifiers. At the moment, the supported {vendor} is 'aws'. Only available in Ripple.

CreateCalculatorCostModifier CreateCalculatorCostModifierRequest CreateCalculatorCostModifierResponse

Creates a cost modifier. A cost modifier allows you to modify the cost per lineitem. At the moment, the supported `{vendor}` is `aws` and only applies to items not affected by trueunblended calculations. Items not covered include some usages under `AmazonEC2`, `AmazonRDS`, `AmazonElastiCache`, `AmazonES`, and `AmazonRedShift`, that are covered by their respective RIs and/or SPs. Non-usage items such as discounts, refunds, fees, etc. are also not covered. Only available in Ripple.

DeleteCalculatorCostModifier DeleteCalculatorCostModifierRequest .google.protobuf.Empty

Deletes a cost modifier. At the moment, the supported {vendor} is 'aws'. Only available in Ripple.

ImportCurFiles ImportCurFilesRequest .protos.Operation

Initiates an ondemand import of all registered CUR files. See https://help.alphaus.cloud/en/articles/3612555-ripple-aws-things-you-need-to-prepare-before-starting for more information.

CalculateCosts CalculateCostsRequest .protos.Operation

Triggers monthly calculations for costs and invoices at either organization or billing group level. For the AWS calculator, aggregation is done at daily and monthly level. Also, all occurrences of the character `|` (pipe) in the CUR descriptions and tag key/values are replaced with the `/` (forward-slash) character. This is due to the `|` character having a special designation in the data processing workflows.

ListCalculationsHistory ListCalculationsHistoryRequest ListCalculationsHistoryResponse

Lists vendor costs calculations history and statuses.

ListCalculationsSchedules ListCalculationsSchedulesRequest ListCalculationsSchedulesResponse

Lists the schedules of your monthly calculations. Only available in Ripple.

CreateCalculationsSchedule CreateCalculationsScheduleRequest CalculationsSchedule

Creates a schedule to trigger your monthly calculations. At the moment, only one schedule is allowed per account. Only available in Ripple.

DeleteCalculationsSchedule DeleteCalculationsScheduleRequest .google.protobuf.Empty

Deletes the schedule of your monthly calculations. Only available in Ripple.

ListCostFilters ListCostFiltersRequest ListCostFiltersResponse

Lists the usage-based cost filter condition. Only available in Wave(Pro).

CreateCostFilters CreateCostFiltersRequest CreateCostFiltersResponse

Creates the usage-based cost filter condition. You can consider cost filters as predefined/prefiltered queries using the `v1/{vendor}/costs:read` or `ReadCosts` API. Only available in Wave(Pro).

UpdateCostFilters UpdateCostFiltersRequest UpdateCostFiltersResponse

Updates the usage-based cost filter condition. Only available in Wave(Pro).

DeleteCostFilters DeleteCostFiltersRequest .google.protobuf.Empty

Deletes the usage-based cost filter condition. Only available in Wave(Pro).

ExportCostFiltersFile ExportCostFiltersFileRequest ExportCostFiltersFileResponse

Exports the usage-based cost filter condition. Only available in Wave(Pro).

ReadCostAttributes ReadCostAttributesRequest CostAttributeItem stream

Reads the available cost attributes of an organization (Ripple) or billing group (Wave). Similar to the `ReadCosts` API but without the aggregated usages and costs. At the moment, the supported `{vendor}` is `aws`. If datetime range parameters are not set, month-to-date (current month) will be returned.

GetCostAttributes GetCostAttributesRequest GetCostAttributesResponse

WORK-IN-PROGRESS: Reads the available cost attributes of an organization (Ripple) or billing group (Wave).

ReadCosts ReadCostsRequest CostItem stream

Reads the usage-based cost details of an organization (Ripple) or billing group (Wave). At the moment, the supported `{vendor}` are `aws` and `gcp`. If datetime range parameters are not set, month-to-date (current month) will be returned.

ReadAdjustments ReadAdjustmentsRequest CostItem stream

Reads the non-usage-based details of an organization (Ripple) or billing group (Wave[Pro]). 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.

ReadTagCosts ReadTagCostsRequest CostItem stream

Reads the usage-based tag costs of a billing group. At the moment, the supported `{vendor}` is `aws`. If datetime range parameters are not set, month-to-date (current month) will be returned.

ReadNonTagCosts ReadNonTagCostsRequest CostItem stream

Reads the usage-based non tag costs of a billing group. At the moment, the supported `{vendor}` is `aws`. If datetime range parameters are not set, month-to-date (current month) will be returned.

GetForecasts GetForecastsRequest GetForecastsResponse

Fetches cost forecasts for the specified billing group. Includes historical cost (up to previous month) and forecasted cost (up to three months for now).

GetMonthlyCostForecast GetMonthlyCostForecastRequest GetMonthlyCostForecastResponse

Fetches monthly accumulated costs vs forecasted cost vs budget for the id.

GetMonthOnMonthCostForecast GetMonthOnMonthCostForecastRequest GetMonthOnMonthCostForecastResponse

Fetches previous month cost vs current month forecast vs current accumulated cost per category for id.

GetMonthToDateCostForecast GetMonthToDateCostForecastRequest GetMonthToDateCostForecastResponse

Fetches current month daily forecast vs current accumulated daily cost for id.

GetAccountBudget GetAccountBudgetRequest GetAccountBudgetResponse

Fetches monthly budget for the account/acctgroup id.

CreateAccountBudget CreateAccountBudgetRequest CreateAccountBudgetResponse

Creates monthly budget for the account/acctgroup id.

UpdateAccountBudget UpdateAccountBudgetRequest .google.protobuf.Empty

Updates monthly budget for the account/acctgroup id.

DeleteAccountBudget DeleteAccountBudgetRequest .google.protobuf.Empty

Removes monthly budget for the account/acctgroup id from database.

GetAccountBudgetAlerts GetAccountBudgetAlertsRequest .blueapi.api.wave.BudgetAlert

Get the budget alerts for the account id. Only available in Wave(Pro).

CreateAccountBudgetAlerts CreateAccountBudgetAlertsRequest .blueapi.api.wave.BudgetAlert

Create the budget alerts for the account id. Only available in Wave(Pro).

UpdateAccountBudgetAlerts UpdateAccountBudgetAlertsRequest .blueapi.api.wave.BudgetAlert

Update the budget alerts for the account id. Only available in Wave(Pro).

DeleteAccountBudgetAlerts DeleteAccountBudgetAlertsRequest .google.protobuf.Empty

Delete the budget alerts for the account id. Only available in Wave(Pro).

ReadBudgetAlerts ReadBudgetAlertsRequest BudgetAlerts stream

ReadBudgetAlerts Reads the budget alerts. Only available in Wave(Pro). [ERRORS] - Unimplemented: - not implemented - InvalidArgument: - parse error

GetBudgetAlerts GetBudgetAlertsRequest BudgetAlerts

GetBudgetAlerts Gets the budget alerts. Only available in Wave(Pro).

CreateBudgetAlerts CreateBudgetAlertsRequest BudgetAlerts

CreateBudgetAlerts Create the budget alerts. Only available in Wave(Pro).

UpdateBudgetAlerts UpdateBudgetAlertsRequest BudgetAlerts

UpdateBudgetAlerts Updates the budget alerts. Only available in Wave(Pro).

DeleteBudgetAlerts DeleteBudgetAlertsRequest .google.protobuf.Empty

DeleteBudgetAlerts Deletes the budget alerts. Only available in Wave(Pro).

GetRecommendations GetRecommendationsRequest GetRecommendationsResponse

WORK-IN-PROGRESS: Get cost opmtimization recommendations for an organization (or MSP).

GetCostReduction GetCostReductionRequest GetCostReductionResponse

Get cost reduction details for an organization (or MSP).

GetUtilization GetUtilizationRequest GetUtilizationResponse

Get the utilization details for an organization (or MSP).

GetCoverageOptions GetCoverageOptionsRequest GetCoverageOptionsResponse

Get coverage options details for an organization (or MSP).

GetCoverageOndemand GetCoverageOndemandRequest GetCoverageOndemandResponse

Get ondemand cost details for an organization (or MSP).

GetBreakevenPoint GetBreakevenPointRequest GetBreakevenPointResponse

Get the breakeven point details for the RI or SP.

CheckAccountsBelongToMsp CheckAccountsRequest CheckAccountsResponse

WORK-IN-PROGRESS: Check inputed accountIds belong to current MSP or not

Methods with HTTP bindings

Method Name Method Pattern Body
ListPayerAccounts GET /v1/{vendor}/payers
GetPayerAccount GET /v1/{vendor}/payers/{id}
GetPayerAccountImportHistory GET /v1/{vendor}/payers/{id}/importhistory
GetPayerProformaReports GET /v1/{vendor}/payers/{id}/proforma
CreatePayerAccount POST /v1/{vendor}/payers *
DeletePayerAccount DELETE /v1/{vendor}/payers/{id}
ListAccounts GET /v1/{vendor}/accounts
ListAccounts GET /v1/{vendor}/accounts/groups/{groupId}
GetAccount GET /v1/{vendor}/accounts/{id}
CreateAccount POST /v1/{vendor}/accounts *
UpdateAccount PUT /v1/{vendor}/accounts/{id} *
DeleteAccount DELETE /v1/{vendor}/accounts/{id}
ListTags GET /v1/{vendor}/tags
ListTags GET /v1/{vendor}/tags/groups/{groupId}
ListCalculatorRunningAccounts POST /v1/{vendor}/calculator/running:read *
GetCalculatorConfig GET /v1/{vendor}/calculator/config
ListCalculatorCostModifiers GET /v1/{vendor}/calculator/config/costmods
CreateCalculatorCostModifier POST /v1/{vendor}/calculator/config/costmods *
DeleteCalculatorCostModifier DELETE /v1/{vendor}/calculator/config/costmods/{id}
ImportCurFiles POST /v1/aws/cur:import *
CalculateCosts POST /v1/{vendor}/costs:calculate *
ListCalculationsHistory GET /v1/{vendor}/calculations/history
ListCalculationsSchedules GET /v1/{vendor}/calculations/schedules
CreateCalculationsSchedule POST /v1/{vendor}/calculations/schedules *
DeleteCalculationsSchedule DELETE /v1/{vendor}/calculations/schedules/{id}
ListCostFilters GET /v1/{vendor}/costfilters
CreateCostFilters POST /v1/{vendor}/costfilters *
UpdateCostFilters PUT /v1/{vendor}/costfilters/{filterId} *
DeleteCostFilters DELETE /v1/{vendor}/costfilters/{filterId}
ExportCostFiltersFile POST /v1/{vendor}/costfilters/{filterId}:export *
ReadCostAttributes POST /v1/{vendor}/costattrs:read *
GetCostAttributes GET /v1/{vendor}/costattrs
ReadCosts POST /v1/{vendor}/costs:read *
ReadAdjustments POST /v1/{vendor}/adjustments:read *
ReadTagCosts POST /v1/{vendor}/tagcosts:read *
ReadNonTagCosts POST /v1/{vendor}/nontagcosts:read *
GetForecasts GET /v1/{vendor}/forecasts
GetMonthlyCostForecast GET /v1/{vendor}/forecasts/monthly/{level}/{id}
GetMonthOnMonthCostForecast GET /v1/{vendor}/forecasts/month-on-month/{level}/{id}
GetMonthToDateCostForecast GET /v1/{vendor}/forecasts/month-to-date/{level}/{id}
GetAccountBudget GET /v1/{vendor}/budget/{level}/{id}
CreateAccountBudget POST /v1/{vendor}/budget/{level}/{id} *
UpdateAccountBudget PUT /v1/{vendor}/budget/{budgetId} *
DeleteAccountBudget DELETE /v1/{vendor}/budget/{budgetId}
GetAccountBudgetAlerts GET /v1/{vendor}/alerts/{id}
CreateAccountBudgetAlerts POST /v1/{vendor}/alerts/{id} *
UpdateAccountBudgetAlerts PUT /v1/{vendor}/alerts/{id} *
DeleteAccountBudgetAlerts DELETE /v1/{vendor}/alerts/{id}
ReadBudgetAlerts POST /v1/alerts:read *
GetBudgetAlerts GET /v1/alerts/{id}
CreateBudgetAlerts POST /v1/alerts *
UpdateBudgetAlerts PUT /v1/alerts/{id} *
DeleteBudgetAlerts DELETE /v1/alerts/{id}
GetRecommendations POST /v1/{vendor}/recommendations/{orgId}:read *
GetCostReduction POST /v1/{vendor}/reduction/{orgId}:read *
GetUtilization GET /v1/{vendor}/utilization/{orgId}
GetCoverageOptions POST /v1/{vendor}/coverage/options/{orgId}:read *
GetCoverageOndemand POST /v1/{vendor}/coverage/ondemand/{orgId}:read *
GetBreakevenPoint GET /v1/{vendor}/bep/{orgId}
CheckAccountsBelongToMsp POST /v1/{vendor}/accounts/customers/accounts:check *

billing/v1/billing.proto

Top

AbcAccount

FieldTypeLabelDescription
accountId string

accountName string

AbcBillingGroup

FieldTypeLabelDescription
arn string

name string

creationTime string

description string

primaryAccountId string

size string

status string

AccessGroup

Defines the fields associated with a Wave access group.

FieldTypeLabelDescription
accessGroupId string

The ID of the access group.

accessGroupName string

The name of the access group.

accessGroupDescription string

A description of the access group.

billingGroups BillingGroup repeated

A list of billing groups contained in the access group.

AccountInvoiceServiceDiscounts

Streaming response message for the AccountInvoiceServiceDiscounts rpc.

FieldTypeLabelDescription
id string

Service discount id.

account string

Account id.

AccountOptions

Account options definition.

FieldTypeLabelDescription
aws RegisterAccounts

AWS register accounts

gcp RegisterAccounts

GCP register accounts

azure RegisterAccounts

Azure register accounts

AccountServiceDiscounts

FieldTypeLabelDescription
id string

Service discount id.

accountId string

Account id.

AwsDailyRunHistory

Streaming response message for the Billing.ListAwsDailyRunHistory rpc.

FieldTypeLabelDescription
billingInternalId string

billingGroupId string

month string

accounts AwsDailyRunHistory.Account repeated

AwsDailyRunHistory.Account

FieldTypeLabelDescription
accountId string

history AwsDailyRunHistory.Account.History repeated

AwsDailyRunHistory.Account.History

FieldTypeLabelDescription
timestamp string

Calculation timestamp in UTC, RFC3339.

trigger string

Calculation trigger. Either `invoice` or `cur`.

AwsOptions

FieldTypeLabelDescription
useProFormaCur bool

payerId string

Must not be empty if useProFormaCur is true.

BillingGroup

FieldTypeLabelDescription
billingInternalId string

The billing group's internal id.

billingGroupId string

The billing group id.

billingGroupName string

The billing group name.

companyName string

The company’s name.

billingGroupInfo blueapi.api.ripple.BillingGroupInfo

The billing group info

accountOptions AccountOptions

The account options.

accounts blueapi.api.Account repeated

List of all accounts

tags blueapi.api.CostTag repeated

List of all tags

invoiceSettings BillingGroupInvoiceSettings

The invoice settings for this billing group.

additionalItems BillingGroupAdditionalItems

List of all additionalItems

awsOptions AwsOptions

AWS-specific options

BillingGroupAdditionalItems

Additional items for a billing group.

FieldTypeLabelDescription
aws blueapi.api.AdditionalItems repeated

AWS additional items

azure blueapi.api.AdditionalItems repeated

Azure additional items

gcp blueapi.api.AdditionalItems repeated

GCP additional items

BillingGroupInvoiceSettings

Invoice settings for a billing group.

FieldTypeLabelDescription
aws BillingGroupVendoredInvoiceSetting

AWS invoice settings

azure BillingGroupVendoredInvoiceSetting

Azure invoice settings

gcp BillingGroupVendoredInvoiceSetting

GCP invoice settings

BillingGroupVendoredInvoiceSetting

Invoice settings that are vendor-specific for each billing group.

FieldTypeLabelDescription
calcType string

discountRate double

substitutionFee string

substitutionFix double

substitutionRate double

supportFee string

supportRate double

supportFix double

taxRate double

currency string

discountTargetUsage string

substitutionFeeTargetUsage string

discountCalcLogic string

substitutionFeeCalcTarget string

substitutionFeeCalcType string

supportAmountTarget string

supportFeeCalcTarget string

CreateAccessGroupRequest

Request message for the CreateAccessGroup rpc.

FieldTypeLabelDescription
name string

Required. access group name. We recommend the name length of 1~60 characters.

description string

Required. access group description. We recommend the description length of 0~150 characters.

billingGroups string repeated

Required. Billing group to be included in the access group. You can only include billing groups with the same calculation type and currency type. Specify the billingInternalIds. For example: [`billingInternalId1`,`billingInternalId2`,`billingInternalId3`]

CreateAccountInvoiceServiceDiscountsRequest

Request message for the CreateAccountInvoiceServiceDiscounts rpc.

FieldTypeLabelDescription
groupId string

Required. For Ripple, only billing internal ids are supported at the moment. You can set it to a single group Implied as the parent billing group for Wave(Pro) users.

accounts AccountServiceDiscounts repeated

Required.

CreateAccountInvoiceServiceDiscountsResponse

Response message for the CreateAccountInvoiceServiceDiscounts rpc.

FieldTypeLabelDescription
accounts AccountServiceDiscounts repeated

CreateAdjustmentConfigRequest

Request message for the Billing.CreateAdjustmentConfig rpc.

FieldTypeLabelDescription
vendor string

Required. At the moment, only `aws` is supported.

config blueapi.api.ConfigFilters repeated

Required. A list of filtering options. See [api.ConfigFilters] for more information on each filter item. Multiple filter items will use the logical 'or' operator, e.g. filter1 || filter2 || filter3, etc.

accounts blueapi.api.ManagementAccount repeated

Optional.

CreateBillingGroupRequest

Request message for the Billing.CreateBillingGroup rpc.

FieldTypeLabelDescription
billingGroupId string

Required. The billing group's id.

billingGroupName string

Required. The billing group's name.

companyName string

Required. Company’s name

billingTitle string

Optional. The title of the billing

phoneNumber string

Optional. Company’s phone number

postalCode string

Optional. Company’s postal code

address string

Optional. Company’s address

personal string

Optional. Addressee

remarks string

Optional. Any remarks about the billing group

projectId string

Optional. Project code

language string

Optional. Invoice language

displayCost string

Optional. Calculation type, true unblended or unblended

exchangeRateType string

Optional. Exchange rate type, payer or billing group

accountOptions AccountOptions

Optional. Account options.

invoices CreateBillingGroupRequestInvoice

Invoice settings

awsOptions AwsOptions

Optional. AWS-specific options

CreateBillingGroupRequestInvoice

Vendor invoice setttings

FieldTypeLabelDescription
aws CreateBillingGroupRequestInvoiceVendor

AWS invoice settings

azure CreateBillingGroupRequestInvoiceVendor

Azure invoice settings

gcp CreateBillingGroupRequestInvoiceVendor

GCP invoice settings

CreateBillingGroupRequestInvoiceVendor

Specific settings per vendor

FieldTypeLabelDescription
calcType string

discountRate double

substitutionFee string

substitutionFix double

substitutionRate double

supportFee string

supportRate double

supportFix double

taxRate double

currency string

discountTargetUsage string

substitutionFeeTargetUsage string

discountCalcLogic string

substitutionFeeCalcTarget string

substitutionFeeCalcType string

supportAmountTarget string

supportFeeCalcTarget string

CreateInvoiceRequest

Request message for the CreateInvoice rpc.

FieldTypeLabelDescription
date string

Required. Month to get invoice. Format: `yyyymm`.

vendor string

Required. At the moment, only `aws` is supported.

allGroups bool

Optional. You can set all billing groups. If this parameter is not set, The list set to `groups` is used.

groups string repeated

Optional. You can set it to a list of billing internal group id

CreateResellerRequest

Request message for the CreateReseller rpc.

FieldTypeLabelDescription
groupId string

Required. You can set billing internal id or access group id.

email string

Required.

password string

Required. We recommend a password length of 8~32 characters. If you send 0 characters, a password will be generated automatically.

notification bool

Required. If valid, you will be notified via email address.

waveConfig blueapi.api.ripple.ResellerConfig repeated

Optional. Feature Config. If not set config value, use default config

aquaConfig blueapi.api.ripple.ResellerConfig repeated

Optional. Feature Config. If not set config value, use default config

DeleteAccessGroupRequest

Request message for the DeleteAccessGroup rpc.

FieldTypeLabelDescription
id string

Required. access group id.

DeleteAccountInvoiceServiceDiscountsRequest

Request message for the DeleteAccountInvoiceServiceDiscounts rpc.

FieldTypeLabelDescription
groupId string

Required. For Ripple, only billing internal ids are supported at the moment. You can set it to a single group Implied as the parent billing group for Wave(Pro) users.

DeleteAdjustmentConfigRequest

Request message for the Billing.DeleteAdjustmentConfig rpc.

FieldTypeLabelDescription
vendor string

Required. At the moment, only `aws` is supported.

DeleteResellerRequest

Request message for the DeleteReseller rpc.

FieldTypeLabelDescription
id string

Required. reseller id.

ExportInvoiceFileRequest

Request message for the ExportCostFiltersFile rpc.

FieldTypeLabelDescription
date string

Required. Month to get invoice. Format: `yyyymm`.

groupId string

Optional. For Ripple, only billing internal ids are supported at the moment. You can set it to a single group or a comma-separated list of groups. ex) `group1,group2`. if want to set all group, set `*`. Implied as the parent billing group for Wave(Pro) users.

ExportInvoiceFileResponse

Response message for the ExportInvoiceFile rpc.

FieldTypeLabelDescription
url string

Required. URL of exported file. csv columns set `group vendor resourceId resourceName type serviceName currency cost`

GetAccessGroupRequest

Request message for the Billing.GetAccessGroup rpc.

FieldTypeLabelDescription
accessGroupId string

field_mask google.protobuf.FieldMask

Optional. Get only the value that set fieldMask. see more info: https://github.com/protocolbuffers/protobuf/blob/main/src/google/protobuf/field_mask.proto

GetAccessGroupResponse

Response message for the Billing.GetAccessGroup rpc.

FieldTypeLabelDescription
accessGroup AccessGroup

GetAdjustmentConfigRequest

Request message for the Billing.GetAdjustmentConfig rpc.

FieldTypeLabelDescription
vendor string

Required. At the moment, only `aws` is supported.

GetBillingGroupRequest

Request message for the Billing.GetBillingGroup rpc.

FieldTypeLabelDescription
billingInternalId string

field_mask google.protobuf.FieldMask

Optional. Get only the value that set fieldMask. see more info: https://github.com/protocolbuffers/protobuf/blob/main/src/google/protobuf/field_mask.proto

GetBillingGroupResponse

Response message for the Billing.GetBillingGroup rpc.

FieldTypeLabelDescription
billingGroup BillingGroup

GetBillingSettingRequest

Request message for the GetBillingSetting rpc.

FieldTypeLabelDescription
field_mask google.protobuf.FieldMask

Optional. Get only the value that set fieldMask. see more info: https://github.com/protocolbuffers/protobuf/blob/main/src/google/protobuf/field_mask.proto

GetBillingSettingResponse

Response message for the GetBillingSetting rpc.

FieldTypeLabelDescription
yearMonth blueapi.api.ripple.YearMonth repeated

List of available yearmonth.

roundingMethod blueapi.api.ripple.Rounding

Rounding method.

exportRoundingMethod blueapi.api.ripple.Rounding

Rounding method for Export CSV.

invoiceLayout blueapi.api.ripple.InvoiceLayout

Invoice layout.

invoiceDueDate blueapi.api.ripple.DueDate

Invoice due date.

supportCurrency string repeated

List of available currency.

GetInvoiceRequest

Request message for the Cost.GetInvoiceRequest rpc.

FieldTypeLabelDescription
date string

Required. Month to get invoice. Format: `yyyymm`.

groupId string

Required. For Ripple, only billing internal ids are supported at the moment. You can set it to a single group Implied as the parent billing group for Wave(Pro) users.

GetInvoiceStatusRequest

Request message for the GetInvoiceStatus rpc.

FieldTypeLabelDescription
id string

Required. invoice generate request id.

GetResellerRequest

Request message for the GetReseller rpc.

FieldTypeLabelDescription
id string

Required. reseller id.

field_mask google.protobuf.FieldMask

Optional. Get only the value that set fieldMask. see more info: https://github.com/protocolbuffers/protobuf/blob/main/src/google/protobuf/field_mask.proto

InvoiceServiceDiscounts

Streaming response message for the InvoiceServiceDiscounts rpc.

FieldTypeLabelDescription
id string

Service discount id.

name string

Service discount name.

description string

Service discount description.

created string

create timestamp.

updated string

update timestamp.

ListAbcBillingGroupAccountsRequest

request message for ListAbcBillingGroupAccounts

FieldTypeLabelDescription
payerId string

Required. Payer Id.

billingGroupArn string

Required. BillingGroup Id.

ListAbcBillingGroupsRequest

request message for ListAbcBillingGroups

FieldTypeLabelDescription
id string

Required. Payer Id.

ListAccessGroupsRequest

Request message for the ListAccessGroups rpc.

FieldTypeLabelDescription
field_mask google.protobuf.FieldMask

Optional. Get only the value that set fieldMask. see more info: https://github.com/protocolbuffers/protobuf/blob/main/src/google/protobuf/field_mask.proto

ListAccountInvoiceServiceDiscountsRequest

Request message for the ListAccountInvoiceServiceDiscounts rpc.

FieldTypeLabelDescription
groupId string

Required. For Ripple, only billing internal ids are supported at the moment. You can set it to a single group Implied as the parent billing group for Wave(Pro) users.

ListAccountResourcesRequest

Request message for the Billing.ListAccountResources rpc.

FieldTypeLabelDescription
vendor string

Required. At the moment, only `aws`,`azure`,`gcp` is supported.

month string

Optional. The UTC month to query. If empty, defaults to current month. Format is `yyyymm`.

ListAwsDailyRunHistoryRequest

Request message for the Billing.ListAwsCalculationHistory rpc.

FieldTypeLabelDescription
month string

Optional. If empty, defaults to current UTC month. Format: yyyymm.

groupId string

Optional. If not empty, query for this group. At the moment, only `billingInternalId`s are supported.

ListBillingGroupsRequest

Request message for the Billing.ListBillingGroups rpc.

FieldTypeLabelDescription
field_mask google.protobuf.FieldMask

Optional. Get only the value that set fieldMask. see more info: https://github.com/protocolbuffers/protobuf/blob/main/src/google/protobuf/field_mask.proto

vendors string

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.

ListExchangeRatesRequest

Request message for the ListExchangeRates rpc.

FieldTypeLabelDescription
vendor string

Required. vendor.

month string

Required. month. Format: `yyyymm`.

ListExchangeRatesResponse

Response message for the ListExchangeRates rpc.

FieldTypeLabelDescription
month string

The Month.

common blueapi.api.ripple.CommonExchangeRate

The common exchange rate.

billingGroup blueapi.api.ripple.BillingGroupExchangeRate repeated

The billing group exchange rate.

payer blueapi.api.ripple.VendorPayerExchangeRate

The payer exchange rate.

ListInvoiceRequest

Request message for the ListInvoice rpc.

FieldTypeLabelDescription
groupId string

Optional. billing internal id.

ListInvoiceResponse

Response message for the ListInvoice rpc.

FieldTypeLabelDescription
billingInternalId string

The billing internal id.

BillingGroupId string

The billing group id.

BillingGroupName string

The billing group name.

date string

The date.

ListInvoiceServiceDiscountsRequest

Request message for the ListInvoiceServiceDiscounts rpc.

ListInvoiceStatusRequest

Request message for the ListInvoiceStatus rpc.

FieldTypeLabelDescription
date string

Required. Month to get invoice status. Format: `yyyymm`.

ListResellersRequest

Request message for the ListResellers rpc.

FieldTypeLabelDescription
field_mask google.protobuf.FieldMask

Optional. Get only the value that set fieldMask. see more info: https://github.com/protocolbuffers/protobuf/blob/main/src/google/protobuf/field_mask.proto

ListUsageCostsDriftRequest

Request message for the Billing.ListUsageCostsDrift rpc.

FieldTypeLabelDescription
vendor string

Required. At the moment, only `aws` is supported.

billingInternalId string

Optional. If empty, returns all billing groups.

month string

Optional. If empty, defaults to current UTC month. Format: yyyymm.

ReadInvoiceAdjustmentsRequest

Request message for the Billing.ReadInvoiceAdjustments rpc.

FieldTypeLabelDescription
vendor string

Required. At the moment, only `aws`,`azure`,`gcp` is supported.

accountId string

Required.

month string

Optional. The UTC month to query. If empty, defaults to current month. Format is `yyyymm`. For example, June 2021 will be `202106`.

feeType string

Optional. If empty, defaults to all fee type. At the moment, only `Fee`,`Refund`,`Credit`,`SppDiscount`,`EdpDiscount`,`BundledDiscount` is supported.

ReadUntaggedGroupsRequest

Request message for the Billing.ReadUntaggedGroups rpc.

FieldTypeLabelDescription
vendor string

Required. At the moment, only `aws` is supported.

field_mask google.protobuf.FieldMask

Optional. Get only the value that set fieldMask. see more info: https://github.com/protocolbuffers/protobuf/blob/main/src/google/protobuf/field_mask.proto

RegisterAccounts

Register Accounts definition

FieldTypeLabelDescription
enabled bool

Optional. If enabled, any additional accounts will be automatically enrolled into the billing group. If disabled, register the account manually. For GCP, Register projectId under the specific Sub billing account. For AWS, Register accountId under the specific payer account into the billing group

accountId string

Optional. AccountId to be used for registration into the billing group.

RemoveAccountInvoiceServiceDiscountsRequest

FieldTypeLabelDescription
groupId string

Required. For Ripple, only billing internal ids are supported at the moment. You can set it to a single group Implied as the parent billing group for Wave(Pro) users.

accounts AccountServiceDiscounts repeated

Required.

ResourceAccount

FieldTypeLabelDescription
payerId string

customerId string

registered bool

UpdateAccessGroupRequest

Request message for the UpdateAccessGroup rpc.

FieldTypeLabelDescription
id string

Required. access group id.

name string

Optional. access group name. Set only the name to be changed. We recommend the name length of 1~60 characters.

description string

Optional. access group description. Set only the description to be changed. We recommend the description length of 0~150 characters.

billingGroups string repeated

Optional. Billing group to be included in the access group. You can only include billing groups with the same calculation type and currency type. Set only the billingGroups to be changed. Specify the billingInternalIds. For example: [`billingInternalId1`,`billingInternalId2`,`billingInternalId3`]

UpdateAccountInvoiceServiceDiscountsRequest

Request message for the UpdateAccountInvoiceServiceDiscounts rpc.

FieldTypeLabelDescription
groupId string

Required. For Ripple, only billing internal ids are supported at the moment. You can set it to a single group Implied as the parent billing group for Wave(Pro) users.

accounts AccountServiceDiscounts repeated

Required.

UpdateAccountInvoiceServiceDiscountsResponse

Response message for the UpdateAccountInvoiceServiceDiscounts rpc.

FieldTypeLabelDescription
accounts AccountServiceDiscounts repeated

UpdateAdjustmentConfigRequest

Request message for the Billing.UpdateAdjustmentConfig rpc.

FieldTypeLabelDescription
vendor string

Required. At the moment, only `aws` is supported.

config blueapi.api.ConfigFilters repeated

Optional.

accounts blueapi.api.ManagementAccount repeated

Optional.

UpdateInvoicePreviewsRequest

Request message for the UpdateInvoicePreviews rpc.

FieldTypeLabelDescription
date string

Required. Month to get invoice. Format: `yyyymm`.

allGroups bool

Optional. You can set all billing groups. If this parameter is not set, The list set to `groups` is used.

groups string repeated

Optional. You can set it to a list of billing internal group id

enabled bool

Required. You can set display or hiding. If true, Hiding Invoice. If false, Display Invoice.

UpdateResellerRequest

Request message for the UpdateReseller rpc.

FieldTypeLabelDescription
id string

Required. reseller id.

email string

Optional.

password string

Optional. We recommend a password length of 8~32 characters. If you send 0 characters, a password will be generated automatically.

waveConfig blueapi.api.ripple.ResellerConfig repeated

Optional. wave feature config Set only the config to be changed. For example, If you want to change only dashboardGraph, set `{"waveConfig": [{"key": "dashboardGraph","value": true}]}` as a parameter

aquaConfig blueapi.api.ripple.ResellerConfig repeated

Optional. aqua feature config Set only the config to be changed. For example, If you want to change only aqRiManagement, set `{"waveConfig": [{"key": "aqRiManagement","value": true}]}` as a parameter

notification bool

Optional. If valid when email or password is updated, you will be notified via email address. If only waveConfig or aquaConfig is changed, it is ignored.

updateMask google.protobuf.FieldMask

Required.

UsageCostsDrift

Streaming response message for the Billing.ListUsageCostsDrift rpc.

FieldTypeLabelDescription
billingInternalId string

billingGroupId string

account string

snapshot double

The total costs saved in your invoice.

current double

The current total costs.

diff double

Billing

Billing service definition.

Method NameRequest TypeResponse TypeDescription
ListBillingGroups ListBillingGroupsRequest BillingGroup stream

Lists all billing groups.

CreateBillingGroup CreateBillingGroupRequest BillingGroup

Registers a billing group.

GetBillingGroup GetBillingGroupRequest GetBillingGroupResponse

Gets a billing group.

GetAccessGroup GetAccessGroupRequest GetAccessGroupResponse

WORK-IN-PROGRESS: Gets an access group.

ListAwsDailyRunHistory ListAwsDailyRunHistoryRequest AwsDailyRunHistory stream

Reads the daily calculation history of all accounts in your billing groups. Only available in Ripple.

ListUsageCostsDrift ListUsageCostsDriftRequest UsageCostsDrift stream

Returns a list of accounts that have been updated after invoice along with the differences in costs, if any. Only available in Ripple.

CreateInvoice CreateInvoiceRequest .blueapi.api.InvoiceMessage

Creates an invoice. Only available in Ripple.

GetInvoiceStatus GetInvoiceStatusRequest .blueapi.api.InvoiceMessage

Gets an invoice. Only available in Ripple.

ListInvoiceStatus ListInvoiceStatusRequest .blueapi.api.InvoiceMessage stream

WORK-IN-PROGRESS: Reads an invoice status. Only available in Ripple.

GetInvoice GetInvoiceRequest .blueapi.api.Invoice

Gets an invoice.

ListInvoice ListInvoiceRequest ListInvoiceResponse stream

Reads list of the invoice.

UpdateInvoicePreviews UpdateInvoicePreviewsRequest .google.protobuf.Empty

Updates an invoice preview. Only available in Ripple.

ExportInvoiceFile ExportInvoiceFileRequest ExportInvoiceFileResponse

Exports an invoice.

ListInvoiceServiceDiscounts ListInvoiceServiceDiscountsRequest InvoiceServiceDiscounts stream

Reads the invoice service discounts. Only available in Ripple.

ListAccountInvoiceServiceDiscounts ListAccountInvoiceServiceDiscountsRequest AccountInvoiceServiceDiscounts stream

Reads the account invoice service discounts. Only available in Ripple.

CreateAccountInvoiceServiceDiscounts CreateAccountInvoiceServiceDiscountsRequest CreateAccountInvoiceServiceDiscountsResponse

Registers the account invoice service discounts. Only available in Ripple.

UpdateAccountInvoiceServiceDiscounts UpdateAccountInvoiceServiceDiscountsRequest UpdateAccountInvoiceServiceDiscountsResponse

Updates the account invoice service discounts. Only available in Ripple.

RemoveAccountInvoiceServiceDiscounts RemoveAccountInvoiceServiceDiscountsRequest .google.protobuf.Empty

Removes the account invoice service discounts. Only available in Ripple.

DeleteAccountInvoiceServiceDiscounts DeleteAccountInvoiceServiceDiscountsRequest .google.protobuf.Empty

Deletes the account invoice service discounts. Only available in Ripple.

CreateReseller CreateResellerRequest .blueapi.api.ripple.Reseller

Registers the reseller account. Only available in Ripple.

ListResellers ListResellersRequest .blueapi.api.ripple.Reseller stream

ListResellers **Lists all the reseller accounts.** > **Only available in Ripple.**

GetReseller GetResellerRequest .blueapi.api.ripple.Reseller

Gets the reseller account. Only available in Ripple.

UpdateReseller UpdateResellerRequest .blueapi.api.ripple.Reseller

Updates the reseller account. Only available in Ripple.

DeleteReseller DeleteResellerRequest .google.protobuf.Empty

Deletes the reseller account. Only available in Ripple.

GetBillingSetting GetBillingSettingRequest GetBillingSettingResponse

WORK-IN-PROGRESS: Gets all billing settings.

ListExchangeRates ListExchangeRatesRequest ListExchangeRatesResponse

ListExchangeRates Lists all exchange rate. > Only available in Ripple.

ListAccessGroups ListAccessGroupsRequest .blueapi.api.ripple.AccessGroup stream

Lists access group. Only available in Ripple.

CreateAccessGroup CreateAccessGroupRequest .blueapi.api.ripple.AccessGroup

Registers the access group. Only available in Ripple.

UpdateAccessGroup UpdateAccessGroupRequest .blueapi.api.ripple.AccessGroup

Updates the access group. Only available in Ripple.

DeleteAccessGroup DeleteAccessGroupRequest .google.protobuf.Empty

Deletes the access group. Only available in Ripple.

ListAbcBillingGroups ListAbcBillingGroupsRequest AbcBillingGroup stream

WORK-IN-PROGRESS: Gets all Billing Groups in AWS Billing Conductor(ABC) for specific payer id.

ListAbcBillingGroupAccounts ListAbcBillingGroupAccountsRequest AbcAccount stream

WORK-IN-PROGRESS: Gets all accounts associated to AWS Billing Conductor(ABC) Billing group

ReadInvoiceAdjustments ReadInvoiceAdjustmentsRequest .blueapi.api.wave.Adjustment stream

Reads the adjustment details involved in invoicing of an organization billing group (Wave).

ListAccountResources ListAccountResourcesRequest ResourceAccount stream

WORK-IN-PROGRESS: Returns all registered accounts that are not associated to any billing groups and accounts found in CUR for the specified month. For Ripple only

GetAdjustmentConfig GetAdjustmentConfigRequest .blueapi.api.AdjustmentConfig

WORK-IN-PROGRESS: Gets adjustment config

CreateAdjustmentConfig CreateAdjustmentConfigRequest .blueapi.api.AdjustmentConfig

WORK-IN-PROGRESS: Creates adjustment config [ERRORS] - InvalidArgument: - the AdjustmentConfig is already exists. - NotFound: - the AdjustmentConfig is not found.

UpdateAdjustmentConfig UpdateAdjustmentConfigRequest .blueapi.api.AdjustmentConfig

WORK-IN-PROGRESS: Updates adjustment config

DeleteAdjustmentConfig DeleteAdjustmentConfigRequest .google.protobuf.Empty

WORK-IN-PROGRESS: Deletes adjustment config

ReadUntaggedGroups ReadUntaggedGroupsRequest .blueapi.api.ripple.UntaggedGroup stream

WORK-IN-PROGRESS: Reads the untagged group. Only available in Ripple.

Methods with HTTP bindings

Method Name Method Pattern Body
ListBillingGroups GET /v1/billinggroups
CreateBillingGroup POST /v1/billinggroups *
GetBillingGroup GET /v1/billinggroups/{billingInternalId}
GetAccessGroup GET /v1/accessgroups/{accessGroupId}
ListAwsDailyRunHistory POST /v1/aws/dailyrunhistory:read *
ListUsageCostsDrift POST /v1/{vendor}/usagecostsdrift:read *
CreateInvoice POST /v1/invoice/{date}:create *
GetInvoiceStatus GET /v1/invoice/status/{id}
ListInvoiceStatus POST /v1/invoice/status/{date}:read *
GetInvoice POST /v1/invoice/{date}:read *
ListInvoice POST /v1/invoice:read *
UpdateInvoicePreviews PUT /v1/invoice/{date}:preview *
ExportInvoiceFile POST /v1/invoice/{date}:export *
ListInvoiceServiceDiscounts POST /v1/servicediscounts:read *
ListAccountInvoiceServiceDiscounts POST /v1/servicediscounts/{groupId}/account:read *
CreateAccountInvoiceServiceDiscounts POST /v1/servicediscounts/{groupId}/account *
UpdateAccountInvoiceServiceDiscounts PUT /v1/servicediscounts/{groupId}/account *
RemoveAccountInvoiceServiceDiscounts PUT /v1/servicediscounts/{groupId}/account:remove *
DeleteAccountInvoiceServiceDiscounts DELETE /v1/servicediscounts/{groupId}/account
CreateReseller POST /v1/resellers *
ListResellers GET /v1/resellers
GetReseller GET /v1/resellers/{id}
UpdateReseller PUT /v1/resellers/{id} *
DeleteReseller DELETE /v1/resellers/{id}
GetBillingSetting GET /v1/settings
ListExchangeRates GET /v1/{vendor}/exchangerate/{month}
ListAccessGroups GET /v1/accessgroups
CreateAccessGroup POST /v1/accessgroups *
UpdateAccessGroup PUT /v1/accessgroups/{id} *
DeleteAccessGroup DELETE /v1/accessgroups/{id}
ListAbcBillingGroups GET /v1/billinggroups/billingconductor/{id}
ListAbcBillingGroupAccounts GET /v1/billinggroups/billingconductor/{payerId}/accounts
ReadInvoiceAdjustments POST /v1/{vendor}/invoiceadjustments:read *
ListAccountResources GET /v1/resources/accounts/{vendor}
GetAdjustmentConfig GET /v1/adjustmentconfig/{vendor}
CreateAdjustmentConfig POST /v1/adjustmentconfig/{vendor} *
UpdateAdjustmentConfig PUT /v1/adjustmentconfig/{vendor} *
DeleteAdjustmentConfig DELETE /v1/adjustmentconfig/{vendor}
ReadUntaggedGroups POST /v1/{vendor}/untaggedgroups:read *

operations/v1/operations.proto

Top

CancelOperationRequest

Request message for the Operations.CancelOperation rpc.

FieldTypeLabelDescription
name string

The name of the operation resource to be cancelled.

DeleteOperationRequest

Request message for the Operations.DeleteOperation rpc.

FieldTypeLabelDescription
name string

The name of the operation resource to be deleted.

GetOperationRequest

Request message for the Operations.GetOperation rpc.

FieldTypeLabelDescription
name string

The name of the operation resource.

ListOperationsRequest

Request message for the Operations.ListOperations rpc.

FieldTypeLabelDescription
parent string

Optional. The name of the operation's parent resource. Not used at the moment.

asOf string

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.

includeDone bool

Optional. If true, include all operations that are marked as done. Exclude by default.

WaitOperationRequest

The request message for the Operations.WaitOperation rpc.

FieldTypeLabelDescription
name string

The name of the operation resource to wait on.

timeout google.protobuf.Duration

The maximum duration to wait before timing out. If left blank, the wait will be at most the time permitted by the underlying HTTP/RPC protocol. If RPC context deadline is also specified, the shorter one will be used.

Operations

Manages long-running operations with an API service.

When an API method normally takes long time to complete, it can be designed

to return [Operation][google.longrunning.Operation] to the client, and the client can use this

interface to receive the real response asynchronously by polling the

operation resource, or pass the operation resource to another API (such as

Google Cloud Pub/Sub API) to receive the response. Any API service that

returns long-running operations should implement the `Operations` interface

so developers can have a consistent client experience.

Method NameRequest TypeResponse TypeDescription
ListOperations ListOperationsRequest .protos.Operation stream

Lists long-running operations.

GetOperation GetOperationRequest .protos.Operation

Gets the latest state of a long-running operation. You can use this method to poll the operation result at intervals.

DeleteOperation DeleteOperationRequest .google.protobuf.Empty

Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation.

CancelOperation CancelOperationRequest .google.protobuf.Empty

Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. On successful cancellation, the operation is not deleted; instead, it becomes an operation with a value of [google.rpc.Status.code][google.rpc.Status.code] 1, corresponding to `Code.CANCELLED`.

WaitOperation WaitOperationRequest .protos.Operation

Waits for the specified long-running operation until it is done or reaches at most a specified timeout, returning the latest state. If the operation is already done, the latest state is immediately returned. If the timeout specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout is used. If the server does not support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort basis. It may return the latest state before the specified timeout (including immediately), meaning, even an immediate response is no guarantee that the operation is done. At the moment, Blue's default RPC timeout is around one hour.

Methods with HTTP bindings

Method Name Method Pattern Body
ListOperations GET /ops/v1
GetOperation GET /ops/v1/{name}
DeleteOperation DELETE /ops/v1/{name}
CancelOperation POST /ops/v1/{name}:cancel *

cover/v1/cover.proto

Top

AccountAccess

Response message for GetAccountAccess, CreateAccountAccess rpc.

FieldTypeLabelDescription
target string

The queried target account.

accountName string

The account name

accountType string

The account type. Payer or linked account.

payerId string

The payer account of the account.

roleArn string

The role ARN that provides the cross-account access permissions.

externalId string

The external id for this role.

stackId string

The id of the CloudFormation stack deployed in the target account.

stackRegion string

The region where the stack is deployed.

templateUrl string

The latest template used to deploy the stack.

bucketName string

The s3 bucket name

prefix string

Report path prefix

reportName string

The report name

registrationStatus blueapi.api.cover.RegistrationStatus

The status of registration for CUR export, API access and Cloudwatch streaming

status string

This can be `latest`, `outdated`, or some error information.

lastUpdated string

The last updated timestamp, RFC3339 UTC.

AccountUsageDetails

Response message for SimulateAccountCostAllocator rpc.

FieldTypeLabelDescription
id string

orgId string

vendor string

account string

date string

productCode string

serviceCode string

region string

zone string

usageType string

instanceType string

operation string

invoiceId string

description string

resourceId string

tags string

costCategories string

usageAmount double

trueUnblendedCost double

unblendedCost double

effectiveCost double

amortizedCost double

publicOnDemandCost double

unusedAmortizedCost double

lastUpdate string

splitStatus string

isAllocated bool

isApplied bool

source string

ActivateUserRequest

Request message for ActivateUser

FieldTypeLabelDescription
userId string

previousPassword string

password string

name string

locale string

email string

Email. For auth0 email validation.

isAuth0 bool

auth0UserId string

Auth0 user Id. For updating of user metadata.

ActivateUserResponse

Response message for ActivateUser

FieldTypeLabelDescription
userData blueapi.api.cover.UserData

AddFavoriteRequest

Request message for AddFavorite

FieldTypeLabelDescription
viewId string

Required. View Id.

AddFavoriteResponse

Response message for AddFavorite

FieldTypeLabelDescription
viewId string

AddInfotoMarketplaceRequest

FieldTypeLabelDescription
customerIdentifier string

AddInfotoMarketplaceResponse

AddMpnSettingRequest

Request message for AddMpnSetting

FieldTypeLabelDescription
mpnId string

Partner Id / MPN Id

AddPartnerCenterCredentialsRequest

Request message for AddPartnerCenterCredentials

FieldTypeLabelDescription
accountId string

The account Id

applicationId string

Application Id

secretKey string

Secret Key

AddSideMenuFavoriteRequest

Request message for AddSideMenuFavorite

FieldTypeLabelDescription
viewId string

Required. View Id.

menuItemId string

AddSideMenuFavoriteResponse

Response message for AddSideMenuFavorite

FieldTypeLabelDescription
viewId string

AllocationItem

Response message wrapper for cost group allocations.

FieldTypeLabelDescription
vendor string

month string

product string

account string

type string

cost double

Allocator

FieldTypeLabelDescription
type string

Required. The type where the adjustments are to be applied. This can support `account`, `costGroup` and `payer`.

value string

Required. The value for the specified attribute. `accountId` for account, `costGroupId` for cost group, `payerId` for payer and account name regex for account name.

formula string

Required. The formula to use to compute the value of the allocation on an attribute. If left blank, allocation is based on usage.

months int64

Optional. The number of months the adjustment is to be applied. If set, it will divide the cost equally to the number of months.

AnomalyAlertData

FieldTypeLabelDescription
id string

orgId string

name string

alertEnabled bool

frequency string

costGroupId blueapi.api.cover.AlertCostGroup

channels blueapi.api.cover.AlertChannels

AnomalyData

Message response for anomaly detection

FieldTypeLabelDescription
account string

costGroupId string

vendor string

product string

date string

totalCost float

isAnomaly bool

The value will be true if there is an anomaly for a specific account and product

lowerLimit float

Lower bound. If the total cost is lesser than the lowerlimit it is considered as anomaly

upperLimit float

Upper bound. If the total cost is greater than the upperlimit it is considered as anomaly

anomalyCost float

The difference of the total cost and the upperlimit or lowerlimit if it is anomamly, if not anomaly then anomaly cost is 0

anomalyProbability float

How many percentage does the data is considered anomaly

AssetsSummary

FieldTypeLabelDescription
date string

Format is `yyyy-mm`

vendor string

Only `aws` is supported for now.

totalResources int64

Total number of resources

totalCost double

Total Cost incurred for the resources on specified month.

AssignCostGroupMemberRequest

Request message for AssignCostGroupMember

FieldTypeLabelDescription
costGroupId string

Required. Cost Group Id.

userId string

Required. User Id.

AssignCostGroupMemberResponse

Response message for AssignCostGroupMember

FieldTypeLabelDescription
costGroupId string

userId string

AssignPayerRequest

Request message for AssignPayer

FieldTypeLabelDescription
vendor string

Required. Cloud vendor.

accountId string

Required. Account Id.

payerId string

Required. The Payer Id.

AssignPayerResponse

Response message for AssignPayer

FieldTypeLabelDescription
accountId string

payerId string

BillingAccountRequest

Request message for AddBillingAccount

FieldTypeLabelDescription
billingId string

Required. The billing account id.

datasetId string

Name of dataset you created.

datasetRegion string

In creating dataset, It requires you to select a region.

projectId string

Project Id where the datasetId of BQ can be found.

CostAllocatorDetails

FieldTypeLabelDescription
id string

category string

expiration int64

startMonth string

Optional. The starting month of the allocator to be effective.

defaultAccount string

Optional. The default account for remaining costs. If not set, will allocate the cost to the original account.

criteria Criteria repeated

Required. Criteria for the adjustment to be applied.

allocator Allocator repeated

createTime string

updateTime string

CostAllocatorRequest

FieldTypeLabelDescription
id string

category string

expiration int64

startMonth string

Optional. The starting month of the allocator to be effective.

defaultAccount string

Optional. The default account for remaining costs. If not set, will allocate the cost to the original account.

criteria Criteria repeated

Required. Criteria for the adjustment to be applied.

allocator Allocator repeated

CostItem

Response message wrapper for cloud costs.

FieldTypeLabelDescription
vendor string

`aws`, `azure`, `azureea` or `gcp`

date string

product string

account string

AWS linked account or Azure subscription or GCP project

cost double

details string

Could be AWS, Azure or GCP Cost

forecast blueapi.api.cover.AwsCostForecast

Only for AWS for now

CreateAccountAccessRequest

Request message for the CreateAccountAccess rpc.

FieldTypeLabelDescription
target string

Required. The target AWS account to validate.

fromTerraform bool

Optional. Set to true if deployment is done through terraform

CreateAccountAccessStacksetRequest

Request message for the CreateAccountAccessStackset rpc.

FieldTypeLabelDescription
target string

Required. The AWS payer account to validate.

region string

Required. The region of the stack deployment.

CreateAlertRequest

Request message for CreateAlert

FieldTypeLabelDescription
name string

Required.

fixedAmount float

At least one in either fixedAmount or percentage.

percentage float

granularity string

Optional. daily or monthly. Only 'daily' is supported for now.

costGroups string repeated

Required. Cost group IDs.

channels string repeated

Required. Channel IDs.

CreateAlertResponse

Response message for CreateAlert

FieldTypeLabelDescription
alertData blueapi.api.cover.AlertData

CreateAllocatorRequest

Request message for the CreateAllocator rpc.

FieldTypeLabelDescription
category string

Optional. The category where the allocator is to be applied. Applicable values are `fee`, `account`, or `savings`. Default value is `fee`.

expiration int64

startMonth string

Optional. The starting month of the allocator to be effective.

defaultAccount string

Optional. The default account for remaining costs. If not set, will allocate the cost to the original account.

criteria Criteria repeated

Required. Criteria for the adjustment to be applied.

allocator Allocator repeated

CreateAnomalyAlertRequest

Rquest message for CreateAnomalyAlert

FieldTypeLabelDescription
name string

Required. Name of the Anomaly Alert

alertEnabled bool

Required. Toggle disable and enable status of the alert

frequency string

Required. How often the user wants to receive alerts. Daily or Weekly

costGroupId string

Requried. The Id of the cost group you want to monitor if there is an anomaly

notificationChannels string repeated

Required. The Channels where you want to send the alerts.

CreateBudgetRequest

FieldTypeLabelDescription
budgetData blueapi.api.cover.BudgetData

CreateBudgetResponse

FieldTypeLabelDescription
budgetData blueapi.api.cover.BudgetData

CreateChannelRequest

Request message for CreateChannel

FieldTypeLabelDescription
name string

Required. Either actual email address or slack/msteams channel name

type string

Required. email, slack, or msteams.

webhookUrl string

Optional. Only needed for slack and msteams type.

CreateChannelResponse

Response message for CreateChannel

FieldTypeLabelDescription
channelData blueapi.api.cover.ChannelData

CreateCostGroupRequest

Request message for CreateCostGroup

FieldTypeLabelDescription
name string

description string

image string

icon string

colorTheme string

combinations blueapi.api.cover.Combinations

CreateCostGroupResponse

Response message for CreateCostGroup

FieldTypeLabelDescription
costGroupData blueapi.api.cover.CostGroupData

CreateDiscountExpirationAlertRequest

Request message for CreateDiscountExpirationAlert

FieldTypeLabelDescription
frequencies int64 repeated

Required if the alertEnabled is set to true Supported values are the following: [0, 7, 30, 60, 90]

costGroups string repeated

Required. Cost Group Id

alertEnabled bool

required. Switch in enabling alert.

channels string repeated

required. Array of notificationChannel Ids from DynamoDB. Existing in ripple.

name string

required. Name of alert

CreateMemberRequest

Request message for CreateMember

FieldTypeLabelDescription
email string

password string

name string

costgroups string repeated

CreateMemberResponse

Response message for CreateMember

FieldTypeLabelDescription
userData blueapi.api.cover.UserData

CreateProfilingRequest

FieldTypeLabelDescription
name string

role string

usage string

intention string

companyName string

emailAddress string

CreateProfilingResponse

CreateViewRequest

Request message for CreateView

FieldTypeLabelDescription
name string

description string

isPrivate bool

isEditable bool

icon string

reportType string

colorTheme string

CreateViewResponse

Response message for CreateView

FieldTypeLabelDescription
viewData blueapi.api.cover.ViewData

Criteria

A map of "key:value" attribute filters. The key indicates the column name while the value is the filter value prefixed by either "eq:" (equal), "re:" (regular expressions based on https://github.com/google/re2), or "!re:" (reverse "re:"). No prefix is the same as "eq:". Multiple map items will use the logical 'and' operator, e.g. mapfilter1 && mapfilter2 && mapfilter3, etc.

FieldTypeLabelDescription
and Criteria.AndEntry repeated

Criteria.AndEntry

FieldTypeLabelDescription
key string

value string

DataAccess

Message Response for GetDataAccess. For Azure and GCP

FieldTypeLabelDescription
target string

Project Id for GCP, Account Id for Azure

orgId string

Org Id

gcpOptions blueapi.api.cover.GcpOptions

GCP Options

azureOptions blueapi.api.cover.AzureOptions

Azure Options

awsOptions blueapi.api.cover.AwsOptions

accountType string

Account type, linked or payer

lastUpdate string

Last Update

createTime string

Time Created

vendor string

DeleteAccountAccessRequest

Request message for the DeleteAccountAccess rpc.

FieldTypeLabelDescription
target string

Required. The target AWS account to delete.

vendor string

DeleteAccountAccessResponse

Response message for the DeleteAccountAccess rpc.

FieldTypeLabelDescription
targetId string

DeleteAlertRequest

Request message for DeleteAlert

FieldTypeLabelDescription
id string

Required. Alert ID.

DeleteAlertResponse

Response message for DeleteAlert

FieldTypeLabelDescription
id string

DeleteAllocatorRequest

Request message for the DeleteAllocator rpc.

FieldTypeLabelDescription
id string

Required. The id of the allocator to delete.

DeleteBudgetRequest

FieldTypeLabelDescription
id string

Required. Budget ID.

DeleteBudgetResponse

FieldTypeLabelDescription
id string

DeleteChannelRequest

Request message for DeleteChannel

FieldTypeLabelDescription
id string

Required. Channel ID.

DeleteChannelResponse

Response message for DeleteChannel

FieldTypeLabelDescription
id string

DeleteCostGroupRequest

Request message for DeleteCostGroup

FieldTypeLabelDescription
costGroupId string

Required. Cost Group Id.

DeleteCostGroupResponse

Response message for DeleteCostGroup

FieldTypeLabelDescription
costGroupId string

DeleteMemberRequest

Request message for DeleteMember

FieldTypeLabelDescription
userId string

Required. UserId.

DeleteMemberResponse

Response message for DeleteMember

FieldTypeLabelDescription
userId string

DeleteViewRequest

Request message for DeleteView

FieldTypeLabelDescription
viewId string

Required. View Id.

DeleteViewResponse

Response message for DeleteView

FieldTypeLabelDescription
viewId string

DiscountExpiryAlertData

FieldTypeLabelDescription
id string

orgId string

alertEnabled bool

frequencies int64 repeated

costGroups blueapi.api.cover.AlertCostGroup repeated

details string

channels blueapi.api.cover.AlertChannels

name string

ExecuteOptimizationRequest

FieldTypeLabelDescription
recommendationId string

ExecuteOptimizationResponse

FeeDetails

Response message for GetFeeDetails, CreateFeeReallocation rpc.

FieldTypeLabelDescription
id string

orgId string

vendor string

account string

month string

lineType string

feeType string

productCode string

description string

started string

timeInterval string

productName string

currency string

splitStatus string

isAllocated bool

isApplied bool

unblendedCost double

sourceFee string

lastUpdate string

FeeItem

Response message wrapper for cost group fees.

FieldTypeLabelDescription
vendor string

month string

product string

account string

type string

cost double

GetAccountAccessRequest

Request message for the GetAccountAccess rpc.

FieldTypeLabelDescription
target string

Required. The target AWS account to query.

GetAccountAccessTemplateUrlRequest

Request message for the GetAccountAccessTemplateUrlRequest rpc.

FieldTypeLabelDescription
type string

All templates are publicly available from the reponse link (`templateUrl`) if you want to audit the included permissions.

GetAccountAccessTemplateUrlResponse

Response message for the GetAccountAccessTemplateUrlResponse rpc.

FieldTypeLabelDescription
launchUrl string

The CloudFormation launch url. Open it in your browser.

templateUrl string

The latest CloudFormation template. The version is included in the filename.

stackName string

The default stack name used. Can be modified.

principal string

The AWS account that will receive the access. Do not change.

externalId string

The external id for this role. Do not change.

GetAccountsRequest

Request message for GetAccounts

FieldTypeLabelDescription
vendor string

Required. Cloud vendor.

costGroupId string

GetAccountsResponse

Response message for GetAccounts

FieldTypeLabelDescription
accounts string repeated

GetAlertDetailsRequest

Request message for GetAlertDetails

FieldTypeLabelDescription
id string

Required. Alert ID.

GetAlertDetailsResponse

Response message for GetAlertDetails

FieldTypeLabelDescription
alertData blueapi.api.cover.AlertData

GetAlertsRequest

Request message for GetAlerts

GetAlertsResponse

Response message for GetAlerts

FieldTypeLabelDescription
alertData blueapi.api.cover.AlertData

GetAndDeleteDataAccessRequest

FieldTypeLabelDescription
target string

Required. (Project ID for GCP / Account ID for Azure)

vendor string

Vendor (GCP/Azure)

accountType string

In the context of fetching account details, specifying the account type is necessary. This is because the target alone might not uniquely identify an account and could result in multiple data points.

GetAnomalyinCostGroupRequest

Request message for getting anomaly

FieldTypeLabelDescription
costGroupId string

startDate string

Start date for detecting anomalies

endDate string

End date for detection anomalies

GetAssetsSummaryRequest

FieldTypeLabelDescription
costGroupId string

Required. Cost Group Id.

startMonth string

Optional. If not set, current month will be used. Format: `yyyymm`.

endMonth string

Optional. If not set, current month will be used. Format: `yyyymm`.

combineDates bool

Optional. If true, return the assets summary for the requested period. Else, summary per month is returned.

awsOptions ListAssetsFilters repeated

Optional. For AWS-specific filter options.

awsPropertiesOptions ListAssetsFilters repeated

Optional. For AWS-specific properties filter options.

GetAssetsSummaryResponse

FieldTypeLabelDescription
summary AssetsSummary repeated

recommendationSummary string

Format: JSON String

GetBudgetRequest

FieldTypeLabelDescription
id string

Required. Budget ID.

GetBudgetResponse

FieldTypeLabelDescription
budgetData blueapi.api.cover.BudgetData

GetCategoriesRequest

FieldTypeLabelDescription
vendor string

GetCategoriesResponse

FieldTypeLabelDescription
category blueapi.api.cover.Category repeated

GetChannelDetailsRequest

Request message for GetChannelDetails

FieldTypeLabelDescription
id string

Required. Channel ID.

GetChannelDetailsResponse

Response message for GetChannelDetails

FieldTypeLabelDescription
channelData blueapi.api.cover.ChannelData

GetChannelsRequest

Request message for GetChannels

FieldTypeLabelDescription
type string

Optional. Use email, slack, or msteams to filter the type of channels Otherwise, it returns all channels

GetChannelsResponse

Response message for GetChannels

FieldTypeLabelDescription
channelData blueapi.api.cover.ChannelData

GetCostGroupAllocationRequest

Request message for the GetCostGroupAllocation rpc.

FieldTypeLabelDescription
category string

Required. The category to display on the cost group. Supports `fee` or `savings`.

costGroupId string

Required. Cost Group Id.

startDate string

endDate string

GetCostGroupAttributeRequest

Request message for GetCostGroupAttribute

FieldTypeLabelDescription
vendor string

attributeType string

costGroupId string

GetCostGroupAttributeResponse

Response message for GetCostGroupAttribute

FieldTypeLabelDescription
result blueapi.api.cover.Result repeated

tagData blueapi.api.cover.TagData repeated

GetCostGroupDetailsRequest

Request message for GetCostGroupDetails

FieldTypeLabelDescription
costGroupId string

Required. Cost Group Id.

GetCostGroupDetailsResponse

Response message for GetCostGroupDetails

FieldTypeLabelDescription
costGroupData blueapi.api.cover.CostGroupData

GetCostGroupFeeRequest

Request message for the GetCostGroupFee rpc.

FieldTypeLabelDescription
costGroupId string

Required. Cost Group Id.

startTime string

endTime string

GetCostGroupsRequest

Request message for GetCostGroups

GetCostGroupsResponse

Response message for GetCostGroups

FieldTypeLabelDescription
costGroupData blueapi.api.cover.CostGroupData repeated

GetCostUsageRequest

FieldTypeLabelDescription
costGroupId string

Required. Cost Group Id.

startTime string

Optional. If not set, the first day of the current month will be used. Format: `yyyymmdd`.

endTime string

Optional. If not set, current date will be used. Format: `yyyymmdd`.

groupByMonth bool

Optional. If set to true, return data grouped by month within the date range. If you want data that is grouped per account per month, set this to `true`, then set `groupByColumns` to `none`. You can also use `groupByColumns` while setting this to true.

limit int64

Optional. If set, returns only the services or accounts with the highest cost or usage Default value is 0.

category string

Optional. Valid values are `cost` and `usage`. Default value is `cost`. Used only when limit is not 0.

groupBy string

Optional. Valid values are `service` and `account`. Only `service` is supported for now Default value is `service`. Used only when limit is not 0.

includeZeroCost bool

Optional. If set to true, return all available data including the data with zero cost. Default value is `false` which means that only data with non-zero cost are returned.

awsOptions GetCostUsageRequestAwsOptions

Optional. Valid only for the `aws` vendor. AWS-specific options.

azureOptions GetCostUsageRequestAzureOptions

Optional. Valid only for the `azure` vendor. Azure-specific options.

gcpOptions GetCostUsageRequestGcpOptions

Optional. Valid only for the `gcp` vendor. gcp-specific options.

azurecspOptions GetCostUsageRequestAzureCspOptions

Optional. Valid only for the `azurecsp` vendor. AzureCsp-specific options.

customOptions GetCostUsageRequestCustomOptions

Optional. For custom selection when creating cost groups. This field allows custom options for specifying criteria for cost group creation.

includeForecast blueapi.api.cover.IncludeForecast

Optional. If set to true, include cost forecast for current month

GetCostUsageRequestAwsOptions

FieldTypeLabelDescription
groupByColumns string

Optional. A comma-separated list of columns to aggregate the data into. Valid values are `productCode`, `serviceCode`, `region`, `zone`, `usageType`, `instanceType`, `operation`, `invoiceId`, `description`, and `resourceId`. A special value of `none` is also supported, which means query by date or month per account only. For example, if you only want the services and region data, you can set this field to `productCode,region`. Your input sequence doesn't matter (although the sequence above is recommended) as the actual sequence is already fixed in the return data (see the definition in https://github.com/alphauslabs/blueapi/blob/main/api/aws/cost.proto), which is generic to specific, top to bottom. Invalid values are discarded. Excluded columns will be empty.

groupAccounts bool

Optional. If set to true, group all input accounts into one.

filters ReadCostsRequestOptionsFilters repeated

Optional. A list of filtering options. See [ReadCostsRequestOptionsFilters] for more information on each filter item. Multiple filter items will use the logical 'or' operator, e.g. filter1 || filter2 || filter3, etc.

tagFilters ReadCostsRequestOptionsFilters repeated

Optional. A list of filtering options specific for tags. Multiple filter items will use the logical 'or' operator, e.g. filter1 || filter2 || filter3, etc. Discarded when `groupByColumns` field is set or if `groupByMonth` is true.

GetCostUsageRequestAzureCspOptions

FieldTypeLabelDescription
groupByColumns string

Optional. A comma-separated list of columns to aggregate the data into. A special value of `none` is also supported, which means query by date or month per account only. For example, if you only want the services and location data, you can set this field to `serviceName,location`.

groupAccounts bool

Optional. If set to true, group all input projects into one.

filters ReadCostsRequestOptionsFilters repeated

Optional. A list of filtering options. See [ReadCostsRequestOptionsFilters] for more information on each filter item. Multiple filter items will use the logical 'or' operator, e.g. filter1 || filter2 || filter3, etc.

tagFilters ReadCostsRequestOptionsFilters repeated

Optional. A list of filtering options specific for tags. Multiple filter items will use the logical 'or' operator, e.g. filter1 || filter2 || filter3, etc.

GetCostUsageRequestAzureOptions

FieldTypeLabelDescription
groupByColumns string

Optional. A comma-separated list of columns to aggregate the data into. Valid values are `accountId`, `serviceName`, `serviceTier`, `location`, `product`, `partNumber`, `resourceGuid`, `offerId`, `consumedService`, `departmentId`, `departmentName`, `resourceGroup`, `enrollment`, `additionalInfo` A special value of `none` is also supported, which means query by date or month per account only. For example, if you only want the services and location data, you can set this field to `serviceName,location`.

groupAccounts bool

Optional. If set to true, group all input subscription into one.

filters ReadCostsRequestOptionsFilters repeated

Optional. A list of filtering options. See [ReadCostsRequestOptionsFilters] for more information on each filter item. Multiple filter items will use the logical 'or' operator, e.g. filter1 || filter2 || filter3, etc.

tagFilters ReadCostsRequestOptionsFilters repeated

Optional. A list of filtering options specific for tags. Multiple filter items will use the logical 'or' operator, e.g. filter1 || filter2 || filter3, etc.

GetCostUsageRequestCustomOptions

FieldTypeLabelDescription
groupByColumns string

Optional. A comma-separated list of columns to aggregate the data into. A special value of `none` is also supported, which means query by date or month per account only. For example, if you only want the services and location data, you can set this field to `serviceName,location`.

groupAccounts bool

Optional. If set to true, group all input projects into one.

filters ReadCostsRequestOptionsFilters repeated

Optional. A list of filtering options. See [ReadCostsRequestOptionsFilters] for more information on each filter item. Multiple filter items will use the logical 'or' operator, e.g. filter1 || filter2 || filter3, etc.

GetCostUsageRequestGcpOptions

FieldTypeLabelDescription
groupByColumns string

Optional. A comma-separated list of columns to aggregate the data into. A special value of `none` is also supported, which means query by date or month per account only. For example, if you only want the services and location data, you can set this field to `serviceName,location`.

groupAccounts bool

Optional. If set to true, group all input projects into one.

filters ReadCostsRequestOptionsFilters repeated

Optional. A list of filtering options. See [ReadCostsRequestOptionsFilters] for more information on each filter item. Multiple filter items will use the logical 'or' operator, e.g. filter1 || filter2 || filter3, etc.

tagFilters ReadCostsRequestOptionsFilters repeated

Optional. A list of filtering options specific for tags. Multiple filter items will use the logical 'or' operator, e.g. filter1 || filter2 || filter3, etc.

labelFilters ReadCostsRequestOptionsFilters repeated

projectLabelFilters ReadCostsRequestOptionsFilters repeated

GetCurrentViewRequest

Request message for GetCurrentView

FieldTypeLabelDescription
viewId string

Required. View Id.

GetCurrentViewResponse

Response message for GetCurrentView

FieldTypeLabelDescription
viewData blueapi.api.cover.ViewData

GetCustomerSubscriptionStatusRequest

GetCustomerSubscriptionStatusResponse

FieldTypeLabelDescription
dateRegistered string

subscriptionExpiry string

daysLeft int32

isSubscribed bool

isExpired bool

plan string

amount string

paymentOption string

paymentMethod string

GetDiscountRecommendationsRequest

Request message for GetDiscountRecomemendations

FieldTypeLabelDescription
costGroupId string

Required.

awsInputs blueapi.api.cover.AwsInputs

AWS Inputs

azureInputs blueapi.api.cover.AzureInputs

NOT SUPPORTED YET

gcpInputs blueapi.api.cover.GcpInputs

NOT SUPPORTED YET

GetDiscountRecommendationsResponse

Response message for GetDiscountRecommendations

FieldTypeLabelDescription
awsRecommendations blueapi.api.cover.AwsDiscountRecommendations

azureRecommendations blueapi.api.cover.AzureDiscountRecommendations

gcpRecommendations blueapi.api.cover.GcpDiscountRecommendations

GetFavoriteViewsRequest

Request message for GetFavoriteViews

GetFavoriteViewsResponse

Response message for GetFavoriteViews

FieldTypeLabelDescription
favorites blueapi.api.cover.Favorites repeated

GetMemberCostGroupRequest

Request message for GetMemberCostGroup

FieldTypeLabelDescription
userId string

Required. UserId.

GetMemberCostGroupResponse

Response message for GetMemberCostGroup

FieldTypeLabelDescription
costGroups blueapi.api.cover.MemberCostGroup repeated

GetMemberDetailsRequest

Request message for GetMemberDetails

FieldTypeLabelDescription
userId string

Required. UserId.

GetMemberDetailsResponse

Response message for GetMemberDetails

FieldTypeLabelDescription
userData blueapi.api.cover.UserData

GetMembersRequest

Request message for GetMembers

GetMembersResponse

Response message for GetMembers

FieldTypeLabelDescription
userData blueapi.api.cover.UserData repeated

GetOrgFiscalMonthRequest

GetOrgFiscalMonthResponse

FieldTypeLabelDescription
fiscalMonth string

dateRegistered string

GetPayersRequest

Request message for GetPayers

FieldTypeLabelDescription
vendor string

Required. Cloud vendor.

GetPayersResponse

Response message for GetPayers

FieldTypeLabelDescription
payers string repeated

GetRecommendationRequest

FieldTypeLabelDescription
id string

costGroupId string

periodOption string

Valid inputs are: "30days", "60days". and "90days". Default is "30days".

GetRecommendationResponse

FieldTypeLabelDescription
recommendationData blueapi.api.cover.AWSRecommendations

GetRegionsRequest

Request message for GetRegions

FieldTypeLabelDescription
vendor string

Required. Cloud vendor.

costGroupId string

GetRegionsResponse

Response message for GetRegions

FieldTypeLabelDescription
regions string repeated

GetReportSummaryRequest

FieldTypeLabelDescription
costGroupId string

Required. Cost Group Id.

startDate string

Required. Start date Format: "YYYYMMDD"

endDate string

Required. End date Format: "YYYYMMDD"

reportType string

Required. Report Type. Valid inputs are: "quarterly", "yearly"

GetReportSummaryResponse

FieldTypeLabelDescription
costGroupId string

startDate string

endDate string

executiveSummary blueapi.api.cover.ExecutiveSummary

optimizationRecommendationSummary blueapi.api.cover.OptimizationRecommendationSummary

savingsSummary blueapi.api.cover.SavingsSummary

GetRightSizingRecommendationRequest

Request message for GetRightSizingRecommendation

FieldTypeLabelDescription
costGroupId string

Required. Cost Group Id.

GetRightSizingRecommendationResponse

Response message for GetRightSizingRecommendation

FieldTypeLabelDescription
resource blueapi.api.cover.ResourceData repeated

GetServicesRequest

Request message for GetServices

FieldTypeLabelDescription
vendor string

Required. Cloud vendor.

costGroupId string

GetServicesResponse

Response message for GetServices

FieldTypeLabelDescription
services string repeated

GetTagsRequest

Request message for GetTags

FieldTypeLabelDescription
vendor string

Required. Cloud vendor.

costGroupId string

GetTagsResponse

Response message for GetTags

FieldTypeLabelDescription
tagData blueapi.api.cover.TagData repeated

GetUserDetailsRequest

Request message for GetUserDetails

GetUserDetailsResponse

Response message for GetUserDetails

FieldTypeLabelDescription
userData blueapi.api.cover.UserData

GetUserProfileRequest

Request message for GetUserProfile

FieldTypeLabelDescription
email string

required email

GetUserProfileResponse

FieldTypeLabelDescription
hasCreatedProfile bool

GetViewsRequest

Request message for GetViews

GetViewsResponse

Response message for GetViews

FieldTypeLabelDescription
viewList blueapi.api.cover.ViewList repeated

InviteMemberRequest

Request message for InviteMember

FieldTypeLabelDescription
email string repeated

isResend bool

inviteAsAdmin bool

InviteMemberResponse

Response message for InviteMember

FieldTypeLabelDescription
email string repeated

ListAccountAccessRequest

Request message for the ListAccountAccess rpc.

ListAccountUsageRequest

Request message for the RestoreAccountUsage rpc.

FieldTypeLabelDescription
startDate string

endDate string

ListAllocatorsRequest

Request message for the ListAllocators rpc.

ListAnomalyAlertRequest

Request message for ListAnomalyAlert

ListAssetsFilters

FieldTypeLabelDescription
andFilters ListAssetsFilters.AndFiltersEntry repeated

ListAssetsFilters.AndFiltersEntry

FieldTypeLabelDescription
key string

value string

ListAssetsRequest

Request message for the Asset.ListResources rpc.

FieldTypeLabelDescription
costGroupId string

Required. Cost Group Id.

startMonth string

Optional. If not set, current month will be used. Format: `yyyymm`.

endMonth string

Optional. If not set, current month will be used. Format: `yyyymm`.

withRecommendation bool

Optional. If true, returns only all assets with recommendation

awsOptions ListAssetsFilters repeated

Optional. For AWS-specific filter options.

awsPropertiesOptions ListAssetsFilters repeated

Optional. For AWS-specific properties filter options.

ListBudgetsRequest

FieldTypeLabelDescription
includeSpendAndForecast bool

Optional. Set to true to include monthly spending and forecast within the budget period

costGroup string

Optional. Cost group ID. Return budgets under this specific cost group.

ListBudgetsResponse

FieldTypeLabelDescription
budgetData blueapi.api.cover.BudgetData

ListDataAccessRequest

Request message for ListDataAccess

ListDiscountExpirationAlertRequest

Request message for ListDiscountExpirationAlert

ListFeesRequest

Request message for the ListFees rpc.

FieldTypeLabelDescription
month string

ListRecommendationRequest

FieldTypeLabelDescription
costgroupId string

Required. Cost Group Id.

dateRangeStart string

Required. Start date of retrieved data. If not set, the default would be today.

dateRangeEnd string

Required. End date of retrieved data. If not set, the default would be today.

vendor string

Valid inputs are: "all", "aws", "gcp", and "azure". Default is "all".

source string

Valid inputs are: "all", "trustedadvisor", "costexplorer", and "costoptimizationhub". Default is "all".

optimizationStatus string

Valid inputs are: "in-progress", "error", "open","done" and "all"

ListRecommendationResponse

FieldTypeLabelDescription
recommendationId string

recommendation string

service string

estimatedMonthlySaving double

estimatedMonthlyCost double

scoring string

vendor string

category string

optimizationStatus string

errorMessage string

accountId string

accountName string

instanceName string

instanceId string

instanceType string

region string

commitment double

spType string

numberToPurchase int64

riType string

ManipulateAnomalyAlertRequest

FieldTypeLabelDescription
id string

required. Id

ManipulateDiscountExpirationAlertRequest

FieldTypeLabelDescription
id string

required. Id

MarkAsExecutedRequest

FieldTypeLabelDescription
id string repeated

MarkAsExecutedResponse

ModifyResourceTypeRequest

Request message for ModifyResourceType

FieldTypeLabelDescription
vendor string

Required. Cloud vendor.

accountId string

Required. Account Id.

resourceId string

Required. The resource Id.

resourceType string

Required. The recommended resource type.

region string

Required. Resource region.

ModifyResourceTypeResponse

Response message for ModifyResourceType

FieldTypeLabelDescription
accountId string

resourceId string

resourceType string

region string

OnboardOrgRequest

Request message for OnboardOrg

FieldTypeLabelDescription
email string

password string

name string

orgId string

OnboardOrgResponse

Response message for OnboardOrg

FieldTypeLabelDescription
userData blueapi.api.cover.UserData

OptimizationHistoryRequest

FieldTypeLabelDescription
costgroupId string

Required. Cost Group Id.

dateRangeStart string

Required. Start date of retrieved data. If not set, default is three months past.

dateRangeEnd string

Required. End date of retrieved data.

vendor string

Required. Valid inputs are: "all", "aws", "gcp", and "azure".

source string

Valid inputs are: "all", "trusted-advisor", "cost-explorer", and "cost-optimization-hub". Default is "All".

periodOption string

Valid inputs are: "daily", "monthly". and "yearly". Default is "monthly".

OptimizationHistoryResponse

FieldTypeLabelDescription
executedRecommendationDetails blueapi.api.cover.ExecutedRecommendationDetails repeated

ProcessAuth0UserRequest

Request message for AddUserFromAuth0asRoot rpc

FieldTypeLabelDescription
source string

customerId string

email string

subuserId string

ProcessAuth0UserResponse

Response message wrapper for adding user from Auth0 as root

FieldTypeLabelDescription
isAuthorized bool

ProxyCreateCompletionRequest

Request message for the ProxyCreateCompletion rpc.

FieldTypeLabelDescription
params google.protobuf.Struct

ProxyCreateCompletionResponse

Response message for the ProxyCreateCompletion rpc.

FieldTypeLabelDescription
line string

PublishViewRequest

Request message for PublishView

FieldTypeLabelDescription
viewId string

Required. View Id.

PublishViewResponse

Response message for PublishView

FieldTypeLabelDescription
url string

ReadCostsRequestOptionsFilters

A map of "key:value" column filters. Dependent on `groupByColumns` and/or `groupByMonth`. The key indicates the column name while the value is the filter value prefixed by either "eq:" (equal), "re:" (regular expressions based on https://github.com/google/re2), or "!re:" (reverse "re:"). No prefix is the same as "eq:". Multiple map items will use the logical 'and' operator, e.g. mapfilter1 && mapfilter2 && mapfilter3, etc.

For example, if you like to filter `productCode` to return only `AmazonEC2`, set to `{"productCode":"eq:AmazonEC2"}` or `{"productCode":"AmazonEC2"}`. You can also use a regular expression like `{"productCode":"re:AmazonEC2|AmazonRDS"}`, which means return all AmazonEC2 or AmazonRDS lineitems. Or reverse regexp, such as `{"productCode":"!re:^AmazonEC2$"}`, which means return all items except `AmazonEC2`.

FieldTypeLabelDescription
andFilters ReadCostsRequestOptionsFilters.AndFiltersEntry repeated

ReadCostsRequestOptionsFilters.AndFiltersEntry

FieldTypeLabelDescription
key string

value string

RegisterAccountRequest

Request message for the RegisterAccount rpc.

FieldTypeLabelDescription
vendor string

Required. Cloud vendor.

accountId string

Required. The AWS account Id.

accountName string

The account name

RegisterDataAccessRequest

Request message for Register Data Access. For azure and gcp.

FieldTypeLabelDescription
vendor string

Vendor (Azure/GCP)

target string

Project Id for GCP, Account Id for Azure

accountType string

Account type (payer/linked)

gcpOptions blueapi.api.cover.GcpOptions

GCP Options. Specific for GCP

azureOptions blueapi.api.cover.AzureOptions

Azure Options. Specific for Azure

awsOptions blueapi.api.cover.AwsOptions

Aws Options. Specific for Aws

RegisterNewUserRequest

Request message for RegisterNewUser

FieldTypeLabelDescription
email string

required email

password string

required password

name string

required user Name

company string

required company name

role string

required company role

amount string

optional company monthly cloud usage

intention string

optional intention

RegisterNewUserResponse

FieldTypeLabelDescription
isAuthorized bool

RemoveCostGroupMemberRequest

Request message for RemoveCostGroupMember

FieldTypeLabelDescription
costGroupId string

Required. Cost Group Id.

userId string

Required. User Id.

RemoveCostGroupMemberResponse

Response message for RemoveCostGroupMember

FieldTypeLabelDescription
costGroupId string

userId string

RemoveFavoriteRequest

Request message for RemoveFavorite

FieldTypeLabelDescription
viewId string

Required. View Id.

RemoveFavoriteResponse

Response message for RemoveFavorite

FieldTypeLabelDescription
viewId string

RemoveSideMenuFavoriteRequest

Request message for RemoveSideMenuFavorite

FieldTypeLabelDescription
viewId string

Required. View Id.

menuItemId string

RemoveSideMenuFavoriteResponse

Response message for RemoveSideMenuFavorite

FieldTypeLabelDescription
viewId string

ResetPasswordRequest

Request message for ResetPassword

FieldTypeLabelDescription
userId string

Required. UserId.

ResetPasswordResponse

Response message for ResetPassword

FieldTypeLabelDescription
userId string

ResetUserPasswordRequest

Request message for ResetUserPassword

FieldTypeLabelDescription
previousPassword string

newPassword string

ResetUserPasswordResponse

Response message for ResetUserPassword

FieldTypeLabelDescription
userData blueapi.api.cover.UserData

ResolveAWSMarketplaceTokenForOnboardingRequest

FieldTypeLabelDescription
registrationToken string

ResolveAWSMarketplaceTokenForOnboardingResponse

FieldTypeLabelDescription
isAllowedToOnboard bool

customerId string

ResolveCostGroupCombinationsRequest

FieldTypeLabelDescription
costGroupId string

Required. Cost Group Id.

ResolveCostGroupCombinationsResponse

FieldTypeLabelDescription
costGroupId string

accounts blueapi.api.cover.Account repeated

Resource

FieldTypeLabelDescription
date string

Format is `yyyy-mm`

orgId string

Organization ID

vendor string

Only `aws` is supported for now.

account string

Resource owner account

service string

Only `AmazonEC2` is supported for now.

resourceId string

Resource unique identifier

resourceType string

Only `AWS::EC2::Instance` is supported for now

cost double

Cost incurred for the resource on specified month.

properties string

Format: JSON String

recommendation string

Format: JSON String

RestoreAccountUsageRequest

Request message for the RestoreAccountUsage rpc.

FieldTypeLabelDescription
allocationId string

Required. The account usage to restore.

RestoreFeeRequest

Request message for the RestoreFee rpc.

FieldTypeLabelDescription
feeId string

Required. The fee to restore.

RestoreSavingsRequest

Request message for the RestoreSavings rpc.

FieldTypeLabelDescription
id string

Required. The item to restore.

SavingsDetails

Response message for ListSavings, RestoreSavings, SimulateSavings rpc.

FieldTypeLabelDescription
id string

orgId string

vendor string

account string

month string

type string

arn string

productCode string

offerClass string

ondemand double

effectiveCost double

savings double

splitStatus string

isAllocated bool

isApplied bool

source string

lastUpdate string

SetCostGroupAnomalyOptionsRequest

FieldTypeLabelDescription
costGroupId string

Required. Cost Group Id.

threshold float

Required

isPercentage bool

Required. When set to true, the threshold is a percentage to the actual cost. Otherwise, it is a fixed amount.

pastDataInMonths int64

Optional. The number of past months to be used in training the model. Note: This will affect the results of anomaly detection. Default and max is 9 while min is 1.

SetCostGroupAnomalyOptionsResponse

FieldTypeLabelDescription
costGroupId string

anomalyOptions blueapi.api.cover.AnomalyOptions

SetCostGroupEventIndicatorRequest

FieldTypeLabelDescription
costGroupId string

Required. Cost Group Id.

anomaly bool

Required. Only anomaly is supported as of now

SetCostGroupEventIndicatorResponse

FieldTypeLabelDescription
costGroupId string

eventIndicator blueapi.api.cover.EventIndicator

SetOrgFiscalMonthRequest

FieldTypeLabelDescription
fiscalMonth string

Required. Fiscal month. Valid inputs are: "01 - 12"

SetOrgFiscalMonthResponse

FieldTypeLabelDescription
fiscalMonth string

TerminateResourceRequest

Request message for TerminateResource

FieldTypeLabelDescription
vendor string

Required. Cloud vendor.

accountId string

Required. Account Id.

resourceId string

Required. The resource Id.

region string

Required. Resource region.

TerminateResourceResponse

Response message for TerminateResource

FieldTypeLabelDescription
accountId string

resourceId string

region string

TransferOrganizationRequest

FieldTypeLabelDescription
target string

Required. The target account to be transferred.

region string

Required. The region of the target account.

payer string

Optional. Alphaus payer account to be used for the transfer.

orgId string

Optional. The org id of the payer account.

TransferOrganizationResponse

FieldTypeLabelDescription
target string

UndoExecutedRecommendationRequest

FieldTypeLabelDescription
id string repeated

UndoExecutedRecommendationResponse

UpdateAccountAccessRequest

Request message for the UpdateAccountAccess rpc.

FieldTypeLabelDescription
target string

Required. The target AWS account to update.

UpdateAlertDetailsRequest

Request message for UpdateAlertDetails

FieldTypeLabelDescription
id string

Required. Alert ID.

name string

If optional fields are not supplied, no changes occur. Optional.

fixedAmount float

Both are optional.

percentage float

granularity string

Optional. daily or monthly. Only 'daily' is supported for now.

costGroups string repeated

Optional. Cost group IDs.

channels string repeated

Optional. Channel IDs.

UpdateAlertDetailsResponse

Response message for UpdateAlertDetails

FieldTypeLabelDescription
alertData blueapi.api.cover.AlertData

UpdateAnomalyAlertRequest

FieldTypeLabelDescription
id string

required. Id

name string

required. alert name

alertEnabled bool

required.

notificationChannels string repeated

required. Notification Channel Ids.

frequency string

required. Frequency.

costGroupId string

required. cost group id

UpdateBudgetRequest

FieldTypeLabelDescription
id string

Required. Budget ID.

budgetData blueapi.api.cover.BudgetData

UpdateBudgetResponse

FieldTypeLabelDescription
budgetData blueapi.api.cover.BudgetData

UpdateChannelDetailsRequest

Request message for UpdateChannelDetails

FieldTypeLabelDescription
id string

Required. Channel ID.

name string

If optional fields are not supplied, no changes occur. Optional. Either actual email address or slack/msteams channel name

type string

Optional. email, slack, or msteams.

webhookUrl string

Optional. Only needed for slack and msteams type.

UpdateChannelDetailsResponse

Response message for UpdateChannelDetails

FieldTypeLabelDescription
channelData blueapi.api.cover.ChannelData

UpdateCostGroupColorThemeRequest

Request message for UpdateCostGroupColorTheme

FieldTypeLabelDescription
costGroupId string

Required. Cost Group Id.

colorTheme string

Required. Color Theme.

UpdateCostGroupColorThemeResponse

Response message for UpdateCostGroupColorTheme

FieldTypeLabelDescription
colorTheme string

UpdateCostGroupCombinationsRequest

Request message for UpdateCostGroupCombinations

FieldTypeLabelDescription
costGroupId string

Required. Cost Group Id.

combinations blueapi.api.cover.Combinations

UpdateCostGroupCombinationsResponse

Response message for UpdateCostGroupCombinations

FieldTypeLabelDescription
combinations blueapi.api.cover.Combinations

UpdateCostGroupDescriptionRequest

Request message for UpdateCostGroupDescription

FieldTypeLabelDescription
costGroupId string

Required. Cost Group Id.

description string

Required. Description.

UpdateCostGroupDescriptionResponse

Response message for UpdateCostGroupDescription

FieldTypeLabelDescription
description string

UpdateCostGroupIconRequest

Request message for UpdateCostGroupIcon

FieldTypeLabelDescription
costGroupId string

Required. Cost Group Id.

icon string

Required. Icon.

UpdateCostGroupIconResponse

Response message for UpdateCostGroupIcon

FieldTypeLabelDescription
icon string

UpdateCostGroupImageRequest

Request message for UpdateCostGroupImage

FieldTypeLabelDescription
costGroupId string

Required. Cost Group Id.

image string

Required. Image.

UpdateCostGroupImageResponse

Response message for UpdateCostGroupImage

FieldTypeLabelDescription
image string

UpdateCostGroupNameRequest

Request message for UpdateCostGroupName

FieldTypeLabelDescription
costGroupId string

Required. Cost Group Id.

name string

Required. Name.

UpdateCostGroupNameResponse

Response message for UpdateCostGroupName

FieldTypeLabelDescription
name string

UpdateDataAccessRequest

Request message for UpdateDataAccess (GCP/Azure)

FieldTypeLabelDescription
target string

Project Id for GCP, Account Id for Azure

vendor string

GCP or Azure

gcpOptions blueapi.api.cover.GcpOptions

GCP Options

azureOptions blueapi.api.cover.AzureOptions

Azure Options

awsOptions blueapi.api.cover.AwsOptions

AWS Options

accountType string

Account Type

UpdateDiscountExpirationAlertRequest

FieldTypeLabelDescription
id string

required. Id

alertEnabled bool

required.

channels string repeated

required. Notification Channel Ids.

frequencies int64 repeated

required. Frequencies.

costGroups string repeated

Required. Cost Group Ids

name string

required. Name

UpdateMemberPermissionRequest

Request message for UpdateMemberPermission

FieldTypeLabelDescription
userId string

Required. UserId.

isAdmin bool

Required. IsAdmin.

UpdateMemberPermissionResponse

Response message for UpdateMemberPermission

FieldTypeLabelDescription
userData blueapi.api.cover.UserData

UpdateSideMenuStateRequest

Request message for UpdateSideMenuState

FieldTypeLabelDescription
viewId string

Required. View Id.

sidemenustate blueapi.api.cover.SideMenuState repeated

UpdateSideMenuStateResponse

Response message for UpdateSideMenuState

FieldTypeLabelDescription
viewId string

UpdateUserAppThemeRequest

Request message for UpdateUserAppTheme

FieldTypeLabelDescription
appTheme string

UpdateUserAppThemeResponse

Response message for UpdateUserAppTheme

FieldTypeLabelDescription
userData blueapi.api.cover.UserData

UpdateUserAttributesRequest

Request message for UpdateUserAttributes

FieldTypeLabelDescription
attributes string repeated

UpdateUserAttributesResponse

Response message for UpdateUserAttributes

FieldTypeLabelDescription
userData blueapi.api.cover.UserData

UpdateUserAvatarRequest

Request message for UpdateUserAvatar

FieldTypeLabelDescription
avatar string

UpdateUserAvatarResponse

Response message for UpdateUserAvatar

FieldTypeLabelDescription
userData blueapi.api.cover.UserData

UpdateUserColorThemeRequest

Request message for UpdateUserColorTheme

FieldTypeLabelDescription
colorTheme string

UpdateUserColorThemeResponse

Response message for UpdateUserColorTheme

FieldTypeLabelDescription
userData blueapi.api.cover.UserData

UpdateUserEmailRequest

Request message for UpdateUserEmail

FieldTypeLabelDescription
email string

UpdateUserEmailResponse

Response message for UpdateUserEmail

FieldTypeLabelDescription
userData blueapi.api.cover.UserData

UpdateUserIconRequest

Request message for UpdateUserIcon

FieldTypeLabelDescription
icon string

UpdateUserIconResponse

Response message for UpdateUserIcon

FieldTypeLabelDescription
userData blueapi.api.cover.UserData

UpdateUserLocaleRequest

Request message for UpdateUserLocale

FieldTypeLabelDescription
locale string

UpdateUserLocaleResponse

Response message for UpdateUserLocale

FieldTypeLabelDescription
userData blueapi.api.cover.UserData

UpdateUserMainViewRequest

Request message for UpdateUserMainView

FieldTypeLabelDescription
viewId string

UpdateUserMainViewResponse

Response message for UpdateUserMainView

FieldTypeLabelDescription
userData blueapi.api.cover.UserData

UpdateUserNameRequest

Request message for UpdateUserName

FieldTypeLabelDescription
name string

UpdateUserNameResponse

Response message for UpdateUserName

FieldTypeLabelDescription
userData blueapi.api.cover.UserData

UpdateUserTimezoneRequest

Request message for UpdateUserTimezone

FieldTypeLabelDescription
timezone string

UpdateUserTimezoneResponse

Response message for UpdateUserTimezone

FieldTypeLabelDescription
userData blueapi.api.cover.UserData

UpdateViewColorThemeRequest

Request message for UpdateViewColorTheme

FieldTypeLabelDescription
viewId string

colorTheme string

UpdateViewColorThemeResponse

Response message for UpdateViewColorTheme

FieldTypeLabelDescription
viewData blueapi.api.cover.ViewData

UpdateViewLayoutRequest

Request message for UpdateViewLayout

FieldTypeLabelDescription
viewId string

Required. View Id.

layout blueapi.api.cover.WidgetData repeated

UpdateViewLayoutResponse

Response message for UpdateViewLayout

FieldTypeLabelDescription
layout blueapi.api.cover.ViewLayout repeated

UpdateViewRequest

Request message for UpdateView

FieldTypeLabelDescription
viewId string

Required. View Id.

name string

description string

icon string

isPrivate bool

isEditable bool

colorTheme string

UpdateViewResponse

Response message for UpdateView

FieldTypeLabelDescription
viewId string

UpdateViewWidgetRequest

Request message for UpdateViewWidget

FieldTypeLabelDescription
viewId string

Required. View Id.

widgetId string

Required. Widget Id.

options google.protobuf.Struct

requests blueapi.api.cover.LayoutRequests repeated

UpdateViewWidgetResponse

Response message for UpdateViewWidget

FieldTypeLabelDescription
widgetId string

widgetData blueapi.api.cover.WidgetData

UploadChargeCodeRequest

(WIP): Request message for Upload Charge Code

FieldTypeLabelDescription
name string

Required. File name file name

type string

Required. File type file type

file bytes

Required. Convert file into bytes to transfer file file in bytes

UploadChargeCodeResponse

(WIP): Response message for Upload Charge Code

FieldTypeLabelDescription
name string

File name

status Status

Status

Status

Status of upload file

NameNumberDescription
PENDING 0

IN_PROGRESS 1

SUCCESS 2

FAILED 3

Cover

Cover service definition.

Method NameRequest TypeResponse TypeDescription
OnboardOrg OnboardOrgRequest OnboardOrgResponse

Onboard an organization with an admin account and default cost group

InviteMember InviteMemberRequest InviteMemberResponse

Invite members to the system

ActivateUser ActivateUserRequest ActivateUserResponse

Activate the added user

CreateMember CreateMemberRequest CreateMemberResponse

Create a member

GetMembers GetMembersRequest GetMembersResponse

Get all the members/subusers of the company

GetMemberDetails GetMemberDetailsRequest GetMemberDetailsResponse

Get the details of the user

GetMemberCostGroup GetMemberCostGroupRequest GetMemberCostGroupResponse

Get the cost group to which the member is attached

UpdateMemberPermission UpdateMemberPermissionRequest UpdateMemberPermissionResponse

Modify member's permission

GetUserDetails GetUserDetailsRequest GetUserDetailsResponse

Get the details of the logged-in user

UpdateUserAvatar UpdateUserAvatarRequest UpdateUserAvatarResponse

Modify user's avatar

UpdateUserIcon UpdateUserIconRequest UpdateUserIconResponse

Modify user's icon

UpdateUserColorTheme UpdateUserColorThemeRequest UpdateUserColorThemeResponse

Modify user's color theme

UpdateUserName UpdateUserNameRequest UpdateUserNameResponse

Modify user's name

UpdateUserEmail UpdateUserEmailRequest UpdateUserEmailResponse

Modify user's email

UpdateUserMainView UpdateUserMainViewRequest UpdateUserMainViewResponse

Modify user's main view

ResetUserPassword ResetUserPasswordRequest ResetUserPasswordResponse

Reset user's password

UpdateUserLocale UpdateUserLocaleRequest UpdateUserLocaleResponse

Modify user's locale

UpdateUserAppTheme UpdateUserAppThemeRequest UpdateUserAppThemeResponse

Modify user's app theme

UpdateUserTimezone UpdateUserTimezoneRequest UpdateUserTimezoneResponse

Modify user's timezone

UpdateUserAttributes UpdateUserAttributesRequest UpdateUserAttributesResponse

Modify attributes

DeleteMember DeleteMemberRequest DeleteMemberResponse

Deletes a user

ResetPassword ResetPasswordRequest ResetPasswordResponse

Reset member's password

CreateView CreateViewRequest CreateViewResponse

Create a view

GetViews GetViewsRequest GetViewsResponse

Get all the views

GetCurrentView GetCurrentViewRequest GetCurrentViewResponse

Get the details of the current view

GetFavoriteViews GetFavoriteViewsRequest GetFavoriteViewsResponse

Get favorite views

PublishView PublishViewRequest PublishViewResponse

Publish current view

AddFavorite AddFavoriteRequest AddFavoriteResponse

Add to favorites

RemoveFavorite RemoveFavoriteRequest RemoveFavoriteResponse

Remove from favorites

UpdateView UpdateViewRequest UpdateViewResponse

Updates the view details

UpdateViewLayout UpdateViewLayoutRequest UpdateViewLayoutResponse

Updates the view's layout

UpdateViewWidget UpdateViewWidgetRequest UpdateViewWidgetResponse

Updates the view's widget

UpdateViewColorTheme UpdateViewColorThemeRequest UpdateViewColorThemeResponse

Update view's color theme

DeleteView DeleteViewRequest DeleteViewResponse

Deletes a view

UpdateSideMenuState UpdateSideMenuStateRequest UpdateSideMenuStateResponse

Updates the side menu state

AddSideMenuFavorite AddSideMenuFavoriteRequest AddSideMenuFavoriteResponse

Add as side menu favorite

RemoveSideMenuFavorite RemoveSideMenuFavoriteRequest RemoveSideMenuFavoriteResponse

Remove from side menu favorite

CreateCostGroup CreateCostGroupRequest CreateCostGroupResponse

Create a cost group

GetCostGroups GetCostGroupsRequest GetCostGroupsResponse

Get all the cost groups

GetCategories GetCategoriesRequest GetCategoriesResponse

Retrieve the categories to be utilized in the creation of the cost group.

GetCostGroupDetails GetCostGroupDetailsRequest GetCostGroupDetailsResponse

Get the details of the cost group

UpdateCostGroupName UpdateCostGroupNameRequest UpdateCostGroupNameResponse

Update cost group's name

UpdateCostGroupDescription UpdateCostGroupDescriptionRequest UpdateCostGroupDescriptionResponse

Update cost group's description

UpdateCostGroupImage UpdateCostGroupImageRequest UpdateCostGroupImageResponse

Update cost group's image

UpdateCostGroupIcon UpdateCostGroupIconRequest UpdateCostGroupIconResponse

Update cost group's icon

UpdateCostGroupColorTheme UpdateCostGroupColorThemeRequest UpdateCostGroupColorThemeResponse

Update cost group's color theme

UpdateCostGroupCombinations UpdateCostGroupCombinationsRequest UpdateCostGroupCombinationsResponse

Update cost group's combinations

ResolveCostGroupCombinations ResolveCostGroupCombinationsRequest ResolveCostGroupCombinationsResponse

AssignCostGroupMember AssignCostGroupMemberRequest AssignCostGroupMemberResponse

Assign a member to a cost group

RemoveCostGroupMember RemoveCostGroupMemberRequest RemoveCostGroupMemberResponse

Remove a member from a cost group

DeleteCostGroup DeleteCostGroupRequest DeleteCostGroupResponse

Deletes a cost group

GetAccountAccessTemplateUrl GetAccountAccessTemplateUrlRequest GetAccountAccessTemplateUrlResponse

Gets a CloudFormation launch URL for enabling the account access.

ListAccountAccess ListAccountAccessRequest AccountAccess stream

Lists the account access role(s) attached to accounts under caller.

GetAccountAccess GetAccountAccessRequest AccountAccess

Gets the current account role attached to the input target.

GetDataAccess GetAndDeleteDataAccessRequest DataAccess

Gets the current account. For GCP and Azure.

DeleteDataAccess GetAndDeleteDataAccessRequest .google.protobuf.Empty

Deletes GCP or Azure accounts based on the provided request.

CreateAccountAccess CreateAccountAccessRequest AccountAccess

Starts validation of the account access stack deployment. If successful, the IAM role created from the CloudFormation stack will be registered to the target.

CreateAccountAccessStackset CreateAccountAccessStacksetRequest AccountAccess

Starts validation of the account access stackset deployment. If successful, the IAM role created from the CloudFormation stackset will be registered to the linked accounts.

CreateAccountAccessCur CreateAccountAccessRequest AccountAccess

Starts validation of the account access cur stack deployment. If successful, the IAM role created from the CloudFormation stack will be registered to the target.

UpdateAccountAccess UpdateAccountAccessRequest .protos.Operation

Starts an update to an existing account access CloudFormation stack for template changes, if any. Only call this API if the status of your account access is 'outdated'.

DeleteAccountAccess DeleteAccountAccessRequest DeleteAccountAccessResponse

Deletes the current account access role attached to this target account. This does not delete the CloudFormation deployment in your account.

RegisterAccount RegisterAccountRequest .google.protobuf.Empty

Registers an account

RegisterDataAccess RegisterDataAccessRequest .google.protobuf.Empty

Registers GCP/Azure account.

AddBillingAccount BillingAccountRequest .google.protobuf.Empty

Add Billing Account ID for GCP.

ListDataAccess ListDataAccessRequest DataAccess stream

Lists Azure and GCP accounts.

UpdateDataAccess UpdateDataAccessRequest .google.protobuf.Empty

Update GCP/Azure account info

ListAssets ListAssetsRequest Resource stream

WORK-IN-PROGRESS: Lists assets for costgroup

GetAssetsSummary GetAssetsSummaryRequest GetAssetsSummaryResponse

WORK-IN-PROGRESS: Assets summary for costgroup

GetCostUsage GetCostUsageRequest CostItem stream

WORK-IN-PROGRESS: Get usage and usage-based costs for the specified costgroup

GetRightSizingRecommendation GetRightSizingRecommendationRequest GetRightSizingRecommendationResponse

Gets the right sizing recommendation of all the accounts in the costgroup

ModifyResourceType ModifyResourceTypeRequest ModifyResourceTypeResponse

Modify resource type from right sizing recommendation

TerminateResource TerminateResourceRequest TerminateResourceResponse

Terminate a resource from right sizing recommendation

UploadChargeCode UploadChargeCodeRequest stream UploadChargeCodeResponse

Upload charge code

AssignPayer AssignPayerRequest AssignPayerResponse

Assign payer to a linked account

GetPayers GetPayersRequest GetPayersResponse

Get list of all payers

GetAccounts GetAccountsRequest GetAccountsResponse

Get list of registered accounts

GetServices GetServicesRequest GetServicesResponse

Get list of supported services

GetRegions GetRegionsRequest GetRegionsResponse

Get list of available regions

GetTags GetTagsRequest GetTagsResponse

Get list of available tags

ListFees ListFeesRequest FeeDetails stream

Lists the fees

RestoreFee RestoreFeeRequest FeeDetails stream

Restore distributed fees

GetCostGroupFee GetCostGroupFeeRequest FeeItem stream

Get all available fees for the specified cost group

ListAllocators ListAllocatorsRequest CostAllocatorDetails stream

WORK-IN-PROGRESS: Lists all the allocators

CreateAllocator CreateAllocatorRequest CostAllocatorDetails

WORK-IN-PROGRESS: Creates cost allocator item

UpdateAllocator CostAllocatorRequest CostAllocatorDetails

WORK-IN-PROGRESS: Updates a cost allocator item

DeleteAllocator DeleteAllocatorRequest .google.protobuf.Empty

WORK-IN-PROGRESS: Deletes a cost allocator

ProxyCreateCompletion ProxyCreateCompletionRequest ProxyCreateCompletionResponse stream

WORK-IN-PROGRESS: Do not use.

SimulateFeeAllocator CreateAllocatorRequest FeeDetails stream

WORK-IN-PROGRESS: Simulate fee allocator

ListAccountUsage ListAccountUsageRequest AccountUsageDetails stream

WORK-IN-PROGRESS: Lists the allocated account usages

RestoreAccountUsage RestoreAccountUsageRequest AccountUsageDetails stream

WORK-IN-PROGRESS: Restore the allocated account usages

SimulateAccountUsage CreateAllocatorRequest AccountUsageDetails stream

WORK-IN-PROGRESS: Simulate the output of the account usage allocation

ListSavings ListFeesRequest SavingsDetails stream

WORK-IN-PROGRESS: Lists the allocated ri and sp savings

RestoreSavings RestoreSavingsRequest SavingsDetails stream

WORK-IN-PROGRESS: Restore the allocated ri and sp savings

SimulateSavings CreateAllocatorRequest SavingsDetails stream

WORK-IN-PROGRESS: Simulate the output of the ri and sp savings allocation

GetCostGroupAllocation GetCostGroupAllocationRequest AllocationItem stream

WORK-IN-PROGRESS: Get all available allocation items for the specified cost group

ProcessAuth0User ProcessAuth0UserRequest ProcessAuth0UserResponse

WORK-IN-PROGRESS: Add or read user from Auth0

AddPartnerCenterCredentials AddPartnerCenterCredentialsRequest .google.protobuf.Empty

WORK-IN-PROGRESS: PartnerCenterCredentials for Azure

AddMpnSetting AddMpnSettingRequest .google.protobuf.Empty

WORK-IN-PROGRESS: Adding MpnSetting for Azure

GetCostGroupAttribute GetCostGroupAttributeRequest GetCostGroupAttributeResponse

WORK-IN-PROGRESS: Get Cost Group by Attribute Type

GetAlerts GetAlertsRequest GetAlertsResponse stream

Get Alerts under organization

CreateAlert CreateAlertRequest CreateAlertResponse

Create Alerts under organization

GetAlertDetails GetAlertDetailsRequest GetAlertDetailsResponse

Get Specific Alert under organization

DeleteAlert DeleteAlertRequest DeleteAlertResponse

Delete Specific Alert under organization

UpdateAlertDetails UpdateAlertDetailsRequest UpdateAlertDetailsResponse

Update Specific Alert under organization

GetChannels GetChannelsRequest GetChannelsResponse stream

WORK-IN-PROGRESS: Get Channels under organization

CreateChannel CreateChannelRequest CreateChannelResponse

WORK-IN-PROGRESS: Create Channel under organization

GetChannelDetails GetChannelDetailsRequest GetChannelDetailsResponse

WORK-IN-PROGRESS: Get Specific Channel under organization

DeleteChannel DeleteChannelRequest DeleteChannelResponse

WORK-IN-PROGRESS: Delete Specific Channel under organization

UpdateChannelDetails UpdateChannelDetailsRequest UpdateChannelDetailsResponse

WORK-IN-PROGRESS: Update Specific Channel under organization

GetDiscountRecommendations GetDiscountRecommendationsRequest GetDiscountRecommendationsResponse

Get the discount recommendations for every account in a cost group

GetAnomalyinCostGroup GetAnomalyinCostGroupRequest AnomalyData stream

Get the data of a cost group containing anomaly values

CreateDiscountExpirationAlert CreateDiscountExpirationAlertRequest .google.protobuf.Empty

Create discount Expiration Alert.

UpdateDiscountExpirationAlert UpdateDiscountExpirationAlertRequest .google.protobuf.Empty

Update discount Expiration Alert

GetDiscountExpirationAlert ManipulateDiscountExpirationAlertRequest DiscountExpiryAlertData

Get discount Expiration Alert Data

ListDiscountExpirationAlert ListDiscountExpirationAlertRequest DiscountExpiryAlertData stream

List all discount Expiration Alert Data

DeleteDiscountExpirationAlert ManipulateDiscountExpirationAlertRequest .google.protobuf.Empty

Delete selected discount Expiration Alert Data

CreateAnomalyAlert CreateAnomalyAlertRequest .google.protobuf.Empty

Create Anomaly Alert

DeleteAnomalyAlert ManipulateAnomalyAlertRequest .google.protobuf.Empty

Delete Anomaly Alert

ListAnomalyAlert ListAnomalyAlertRequest AnomalyAlertData stream

List all the Anomaly Alert Data

GetAnomalyAlert ManipulateAnomalyAlertRequest AnomalyAlertData

Get Anomaly Alert Data

UpdateAnomalyAlert UpdateAnomalyAlertRequest .google.protobuf.Empty

Update Anomaly Alert

RegisterNewUser RegisterNewUserRequest RegisterNewUserResponse

Octo new user registration

GetUserProfile GetUserProfileRequest GetUserProfileResponse

Octo getting user profile

ListBudgets ListBudgetsRequest ListBudgetsResponse stream

WORK-IN-PROGRESS: List all Budgets in an organization or Budgets under specific cost group

GetBudget GetBudgetRequest GetBudgetResponse

WORK-IN-PROGRESS: Get specific Budget data for a cost group in an organization

CreateBudget CreateBudgetRequest CreateBudgetResponse

WORK-IN-PROGRESS: Create Budget for specific cost group in an organization

DeleteBudget DeleteBudgetRequest DeleteBudgetResponse

WORK-IN-PROGRESS: Delete Budget for specific cost group in an organization

UpdateBudget UpdateBudgetRequest UpdateBudgetResponse

WORK-IN-PROGRESS: Update Budget for specific cost group in an organization

ResolveAWSMarketplaceTokenForOnboarding ResolveAWSMarketplaceTokenForOnboardingRequest ResolveAWSMarketplaceTokenForOnboardingResponse

WORK-IN-PROGRESS:Resolve user for aws marketplace subscription integration

GetCustomerSubscriptionStatus GetCustomerSubscriptionStatusRequest GetCustomerSubscriptionStatusResponse

Get the Customer Subscription status from marketplace

CreateProfiling CreateProfilingRequest CreateProfilingResponse

Profiling for new users.

AddInfotoMarketplace AddInfotoMarketplaceRequest AddInfotoMarketplaceResponse

Adding orgId to marketplace customers

GetReportSummary GetReportSummaryRequest GetReportSummaryResponse

Get data for insights reports summary

ListRecommendations ListRecommendationRequest ListRecommendationResponse stream

Lists recommendations based on specified criteria.

GetRecommendation GetRecommendationRequest GetRecommendationResponse

Retrieves a specific recommendation by its ID.

ExecuteOptimization ExecuteOptimizationRequest ExecuteOptimizationResponse

Executes optimization based on a recommendation.

MarkAsExecuted MarkAsExecutedRequest MarkAsExecutedResponse

Mark a recommendation executed.

UndoExecutedRecommendation UndoExecutedRecommendationRequest UndoExecutedRecommendationResponse

Undo a executed recommendation (For recommendation).

OptimizationHistory OptimizationHistoryRequest OptimizationHistoryResponse

Lists recommendations based on specified criteria.

SetCostGroupEventIndicator SetCostGroupEventIndicatorRequest SetCostGroupEventIndicatorResponse

Sets Cost group's event indicator

SetCostGroupAnomalyOptions SetCostGroupAnomalyOptionsRequest SetCostGroupAnomalyOptionsResponse

Sets Cost group's anomaly options

SetOrgFiscalMonth SetOrgFiscalMonthRequest SetOrgFiscalMonthResponse

Sets Org's starting month/ fiscal month

GetOrgFiscalMonth GetOrgFiscalMonthRequest GetOrgFiscalMonthResponse

Get Org's starting month/ fiscal month

TransferOrganization TransferOrganizationRequest TransferOrganizationResponse

WORK-IN-PROGRESS: Transfer the account from the original organization to Alphaus payer account

Methods with HTTP bindings

Method Name Method Pattern Body
OnboardOrg POST /v1/members/onboard *
InviteMember POST /v1/members/invite *
ActivateUser POST /v1/members/activate *
CreateMember POST /v1/members *
GetMembers GET /v1/members
GetMemberDetails GET /v1/members/{userId}
GetMemberCostGroup GET /v1/members/{userId}/costgroup
UpdateMemberPermission PUT /v1/members/{userId}/isadmin *
GetUserDetails GET /v1/me
UpdateUserAvatar PUT /v1/me/avatar *
UpdateUserIcon PUT /v1/me/icon *
UpdateUserColorTheme PUT /v1/me/colortheme *
UpdateUserName PUT /v1/me/name *
UpdateUserEmail PUT /v1/me/email *
UpdateUserMainView PUT /v1/me/mainview *
ResetUserPassword POST /v1/me/password *
UpdateUserLocale PUT /v1/me/locale *
UpdateUserAppTheme PUT /v1/me/apptheme *
UpdateUserTimezone PUT /v1/me/timezone *
UpdateUserAttributes PUT /v1/me/attributes *
DeleteMember DELETE /v1/members/{userId}
ResetPassword POST /v1/members/resetpassword *
CreateView POST /v1/views *
GetViews GET /v1/views
GetCurrentView GET /v1/views/{viewId}
GetFavoriteViews GET /v1/views/favorites
PublishView POST /v1/views/publish *
AddFavorite PUT /v1/views/favorite/add *
RemoveFavorite PUT /v1/views/favorite/remove *
UpdateView PUT /v1/views/{viewId} *
UpdateViewLayout PUT /v1/views/layout/{viewId} *
UpdateViewWidget PUT /v1/views/layout/{viewId}/{widgetId} *
UpdateViewColorTheme PUT /v1/views/{viewId}/colortheme *
DeleteView DELETE /v1/views/{viewId}
UpdateSideMenuState PUT /v1/views/{viewId}/sidemenustate *
AddSideMenuFavorite POST /v1/views/{viewId}/sidemenufavorite *
RemoveSideMenuFavorite POST /v1/views/{viewId}/sidemenuunfavorite *
CreateCostGroup POST /v1/costgroups *
GetCostGroups GET /v1/costgroups
GetCategories GET /v1/categories
GetCostGroupDetails GET /v1/costgroups/{costGroupId}
UpdateCostGroupName PUT /v1/costgroups/{costGroupId}/name *
UpdateCostGroupDescription PUT /v1/costgroups/{costGroupId}/description *
UpdateCostGroupImage PUT /v1/costgroups/{costGroupId}/image *
UpdateCostGroupIcon PUT /v1/costgroups/{costGroupId}/icon *
UpdateCostGroupColorTheme PUT /v1/costgroups/{costGroupId}/colortheme *
UpdateCostGroupCombinations PUT /v1/costgroups/{costGroupId}/combinations *
ResolveCostGroupCombinations GET /v1/costgroups/resolve/{costGroupId}
AssignCostGroupMember POST /v1/costgroups/{costGroupId}/member/add *
RemoveCostGroupMember POST /v1/costgroups/{costGroupId}/member/remove *
DeleteCostGroup DELETE /v1/costgroups/{costGroupId}
GetAccountAccessTemplateUrl GET /v1/aws/acctaccess
ListAccountAccess POST /v1/aws/acctaccess/all:read *
GetAccountAccess GET /v1/aws/acctaccess/{target}
GetDataAccess GET /v1/account/{target}
DeleteDataAccess DELETE /v1/account/{target}
CreateAccountAccess POST /v1/aws/acctaccess *
CreateAccountAccessStackset POST /v1/aws/acctaccess/stackset *
CreateAccountAccessCur POST /v1/aws/acctaccess/cur *
UpdateAccountAccess PUT /v1/aws/acctaccess/{target}
DeleteAccountAccess DELETE /v1/acctaccess/{target}
RegisterAccount POST /v1/{vendor}/account *
RegisterDataAccess POST /v1/account *
AddBillingAccount POST /v1/billingacct *
ListDataAccess POST /v1/account/all:read
UpdateDataAccess PUT /v1/account/{target} *
ListAssets POST /v1/assets:read *
GetAssetsSummary GET /v1/assets/summary/{costGroupId}
GetCostUsage POST /v1/costusage:read *
GetRightSizingRecommendation GET /v1/rightsizingrecommendation/{costGroupId}
ModifyResourceType POST /v1/{vendor}/resource/modify *
TerminateResource POST /v1/{vendor}/resource/terminate *
UploadChargeCode POST /v1/chargecode/upload *
AssignPayer POST /v1/{vendor}/payers *
GetPayers GET /v1/{vendor}/payers
GetAccounts GET /v1/{vendor}/accounts/{costGroupId}
GetServices GET /v1/{vendor}/services/{costGroupId}
GetRegions GET /v1/{vendor}/regions/{costGroupId}
GetTags GET /v1/{vendor}/tags/{costGroupId}
ListFees POST /v1/allocations/fees/all:read *
RestoreFee POST /v1/allocations/fees/restore *
GetCostGroupFee POST /v1/allocations/fees:read *
ListAllocators GET /v1/allocators
CreateAllocator POST /v1/allocators *
UpdateAllocator PUT /v1/allocators/{id} *
DeleteAllocator DELETE /v1/allocators/{id}
ProxyCreateCompletion POST /v1/x/pcc *
SimulateFeeAllocator POST /v1/allocations/fees/simulate *
ListAccountUsage POST /v1/allocations/accountusage/all:read *
RestoreAccountUsage POST /v1/allocations/accountusage/restore *
SimulateAccountUsage POST /v1/allocations/accountusage/simulate *
ListSavings POST /v1/allocations/savings/all:read *
RestoreSavings POST /v1/allocations/savings/restore *
SimulateSavings POST /v1/allocations/savings/simulate *
GetCostGroupAllocation POST /v1/allocations:read *
ProcessAuth0User POST /v1/members/auth0 *
AddPartnerCenterCredentials POST /v1/azure/credentials/partnercenter *
AddMpnSetting POST /v1/azure/credentials/mpn *
GetCostGroupAttribute POST /v1/attributes *
GetAlerts GET /v1/alerts/cost
CreateAlert POST /v1/alerts/cost *
GetAlertDetails GET /v1/alerts/cost/{id}
DeleteAlert DELETE /v1/alerts/cost/{id}
UpdateAlertDetails PUT /v1/alerts/cost/{id} *
GetChannels POST /v1/channels:read *
CreateChannel POST /v1/channels *
GetChannelDetails GET /v1/channels/{id}
DeleteChannel DELETE /v1/channels/{id}
UpdateChannelDetails PUT /v1/channels/{id} *
GetDiscountRecommendations POST /v1/discount *
GetAnomalyinCostGroup POST /v1/anomaly *
CreateDiscountExpirationAlert POST /v1/alerts/expire/discount *
UpdateDiscountExpirationAlert PUT /v1/alerts/expire/discount/{id} *
GetDiscountExpirationAlert GET /v1/alerts/expire/discount/{id}
ListDiscountExpirationAlert POST /v1/alerts/expire/discount/all:read
DeleteDiscountExpirationAlert DELETE /v1/alerts/expire/discount/{id}
CreateAnomalyAlert POST /v1/alerts/anomaly *
DeleteAnomalyAlert DELETE /v1/alerts/anomaly/{id}
ListAnomalyAlert POST /v1/alerts/anomaly/all:read
GetAnomalyAlert GET /v1/alerts/anomaly/{id}
UpdateAnomalyAlert PUT /v1/alerts/anomaly/{id} *
RegisterNewUser POST /v1/members/register *
GetUserProfile GET /v1/members/profile/{email}
ListBudgets POST /v1/budget:read *
GetBudget GET /v1/budget/{id}
CreateBudget POST /v1/budget *
DeleteBudget DELETE /v1/budget/{id}
UpdateBudget PUT /v1/budget/{id} *
ResolveAWSMarketplaceTokenForOnboarding POST /v1/members/aws/subscription *
GetCustomerSubscriptionStatus GET /v1/billing/status
CreateProfiling POST /v1/members/profile *
AddInfotoMarketplace POST /v1/marketplace/info *
GetReportSummary GET /v1/reports/insight/summary/{costGroupId}
ListRecommendations GET /v1/recommendations/optimization
GetRecommendation GET /v1/recommendations/optimization/{id}
ExecuteOptimization POST /v1/recommendations/optimization/{recommendationId} *
MarkAsExecuted POST /v1/recommendations/optimization/executed *
UndoExecutedRecommendation POST /v1/recommendations/optimization/undo *
OptimizationHistory GET /v1/recommendations/optimization/history
SetCostGroupEventIndicator POST /v1/costgroups/{costGroupId}/eventIndicator *
SetCostGroupAnomalyOptions POST /v1/costgroups/{costGroupId}/anomaly *
SetOrgFiscalMonth POST /v1/reports/fiscalmonth *
GetOrgFiscalMonth GET /v1/reports/fiscalmonth
TransferOrganization GET /v1/organizations/transfer/{target}

preferences/v1/preferences.proto

Top

GetPreferencesRequest

Request message for the Preferences.GetPreferences rpc.

Preference

Preferences

Preferences service definition.

Method NameRequest TypeResponse TypeDescription
GetPreferences GetPreferencesRequest Preference

WORK-IN-PROGRESS: Gets current preferences.

Methods with HTTP bindings

Method Name Method Pattern Body
GetPreferences GET /prefs/v1

Scalar Value Types

.proto TypeNotesC++JavaPythonGoC#PHPRuby
double double double float float64 double float Float
float float float float float32 float float Float
int32 Uses variable-length encoding. Inefficient for encoding negative numbers – if your field is likely to have negative values, use sint32 instead. int32 int int int32 int integer Bignum or Fixnum (as required)
int64 Uses variable-length encoding. Inefficient for encoding negative numbers – if your field is likely to have negative values, use sint64 instead. int64 long int/long int64 long integer/string Bignum
uint32 Uses variable-length encoding. uint32 int int/long uint32 uint integer Bignum or Fixnum (as required)
uint64 Uses variable-length encoding. uint64 long int/long uint64 ulong integer/string Bignum or Fixnum (as required)
sint32 Uses variable-length encoding. Signed int value. These more efficiently encode negative numbers than regular int32s. int32 int int int32 int integer Bignum or Fixnum (as required)
sint64 Uses variable-length encoding. Signed int value. These more efficiently encode negative numbers than regular int64s. int64 long int/long int64 long integer/string Bignum
fixed32 Always four bytes. More efficient than uint32 if values are often greater than 2^28. uint32 int int uint32 uint integer Bignum or Fixnum (as required)
fixed64 Always eight bytes. More efficient than uint64 if values are often greater than 2^56. uint64 long int/long uint64 ulong integer/string Bignum
sfixed32 Always four bytes. int32 int int int32 int integer Bignum or Fixnum (as required)
sfixed64 Always eight bytes. int64 long int/long int64 long integer/string Bignum
bool bool boolean boolean bool bool boolean TrueClass/FalseClass
string A string must always contain UTF-8 encoded or 7-bit ASCII text. string String str/unicode string string string String (UTF-8)
bytes May contain any arbitrary sequence of bytes. string ByteString str []byte ByteString string String (ASCII-8BIT)