Cloud Billing API

Allows developers to manage billing for their Google Cloud Platform projects programmatically.

Service: cloudbilling.googleapis.com

To call this service, we recommend that you use the Google-provided client libraries. If your application needs to use your own libraries to call this service, use the following information when you make the API requests.

Discovery document

A Discovery Document is a machine-readable specification for describing and consuming REST APIs. It is used to build client libraries, IDE plugins, and other tools that interact with Google APIs. One service may provide multiple discovery documents. This service provides the following discovery documents:

Service endpoint

A service endpoint is a base URL that specifies the network address of an API service. One service might have multiple service endpoints. This service has the following service endpoint and all URIs below are relative to this service endpoint:

  • https://cloudbilling.googleapis.com

REST Resource: v2beta.services

Methods
get GET /v2beta/{name=services/*}
Gets a publicly listed Google Cloud service.
list GET /v2beta/services
Lists all publicly listed Google Cloud services.

REST Resource: v2beta.skus

Methods
get GET /v2beta/{name=skus/*}
Gets a publicly listed SKU.
list GET /v2beta/skus
Lists all publicly listed SKUs.

REST Resource: v1beta

Methods
estimateCostScenario POST /v1beta:estimateCostScenario
Estimate list prices using a CostScenario without a defined billingAccount.

REST Resource: v1beta.billingAccounts

Methods
estimateCostScenario POST /v1beta/{billingAccount=billingAccounts/*}:estimateCostScenario
Use custom pricing in the estimate, using a CostScenario with a defined billingAccount.

REST Resource: v1beta.billingAccounts.services

Methods
get GET /v1beta/{name=billingAccounts/*/services/*}
Gets a Google Cloud service visible to a billing account.
list GET /v1beta/{parent=billingAccounts/*}/services
Lists services visible to a billing account.

REST Resource: v1beta.billingAccounts.skuGroups

Methods
get GET /v1beta/{name=billingAccounts/*/skuGroups/*}
Gets a SKU group visible to a billing account.
list GET /v1beta/{parent=billingAccounts/*}/skuGroups
Lists SKU groups visible to a billing account.

REST Resource: v1beta.billingAccounts.skuGroups.skus

Methods
get GET /v1beta/{name=billingAccounts/*/skuGroups/*/skus/*}
Gets a SKU that is part of a billing account SKU group.
list GET /v1beta/{parent=billingAccounts/*/skuGroups/*}/skus
Lists SKUs that is part of billing account SKU groups.

REST Resource: v1beta.billingAccounts.skus

Methods
get GET /v1beta/{name=billingAccounts/*/skus/*}
Gets a SKU visible to a billing account.
list GET /v1beta/{parent=billingAccounts/*}/skus
Lists SKUs visible to a billing account.

REST Resource: v1beta.billingAccounts.skus.price

Methods
get GET /v1beta/{name=billingAccounts/*/skus/*/price}
Gets the latest price for SKUs available to your Cloud Billing account.

REST Resource: v1beta.billingAccounts.skus.prices

Methods
list GET /v1beta/{parent=billingAccounts/*/skus/*}/prices
Lists the latest prices for SKUs available to your Cloud Billing account.

REST Resource: v1beta.skuGroups

Methods
get GET /v1beta/{name=skuGroups/*}
Gets a publicly listed SKU group.
list GET /v1beta/skuGroups
Lists all publicly listed SKU groups.

REST Resource: v1beta.skuGroups.skus

Methods
get GET /v1beta/{name=skuGroups/*/skus/*}
Gets a publicly listed SKU that is part of a publicly listed SKU group.
list GET /v1beta/{parent=skuGroups/*}/skus
Lists all publicly listed SKUs contained by a publicly listed SKU group.

REST Resource: v1beta.skus.price

Methods
get GET /v1beta/{name=skus/*/price}
Gets the latest price for the given SKU.

REST Resource: v1beta.skus.prices

Methods
list GET /v1beta/{parent=skus/*}/prices
Lists the latest prices for all SKUs.

REST Resource: v1.billingAccounts

Methods
create POST /v1/billingAccounts
This method creates billing subaccounts.
get GET /v1/{name=billingAccounts/*}
Gets information about a billing account.
getIamPolicy GET /v1/{resource=billingAccounts/*}:getIamPolicy
Gets the access control policy for a billing account.
list GET /v1/billingAccounts
Lists the billing accounts that the current authenticated user has permission to view.
move POST /v1/{name=billingAccounts/*}:move
Changes which parent organization a billing account belongs to.
patch PATCH /v1/{name=billingAccounts/*}
Updates a billing account's fields.
setIamPolicy POST /v1/{resource=billingAccounts/*}:setIamPolicy
Sets the access control policy for a billing account.
testIamPermissions POST /v1/{resource=billingAccounts/*}:testIamPermissions
Tests the access control policy for a billing account.

REST Resource: v1.billingAccounts.projects

Methods
list GET /v1/{name=billingAccounts/*}/projects
Lists the projects associated with a billing account.

REST Resource: v1.billingAccounts.subAccounts

Methods
create POST /v1/{parent=billingAccounts/*}/subAccounts
This method creates billing subaccounts.
list GET /v1/{parent=billingAccounts/*}/subAccounts
Lists the billing accounts that the current authenticated user has permission to view.

REST Resource: v1.organizations.billingAccounts

Methods
create POST /v1/{parent=organizations/*}/billingAccounts
This method creates billing subaccounts.
list GET /v1/{parent=organizations/*}/billingAccounts
Lists the billing accounts that the current authenticated user has permission to view.
move GET /v1/{destinationParent=organizations/*}/{name=billingAccounts/*}:move
Changes which parent organization a billing account belongs to.

REST Resource: v1.projects

Methods
getBillingInfo GET /v1/{name=projects/*}/billingInfo
Gets the billing information for a project.
updateBillingInfo PUT /v1/{name=projects/*}/billingInfo
Sets or updates the billing account associated with a project.

REST Resource: v1.services

Methods
list GET /v1/services
Lists all public cloud services.

REST Resource: v1.services.skus

Methods
list GET /v1/{parent=services/*}/skus
Lists all publicly available SKUs for a given cloud service.