This topic shows how to send a few simple requests to the Cloud Billing API.
For a full list of methods, see the REST or RPC reference documentation.
Before you begin
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
-  In the Google Cloud console, on the project selector page, select or create a Google Cloud project. Roles required to select or create a project - Select a project : Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-  Create a project 
: To create a project, you need the Project Creator
      ( roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles .
 
-  Verify that billing is enabled for your Google Cloud project . 
-  Enable the Cloud Billing API. Roles required to enable APIs To enable APIs, you need the Service Usage Admin IAM role ( roles/serviceusage.serviceUsageAdmin), which contains theserviceusage.services.enablepermission. Learn how to grant roles .
-  Create a service account: - Ensure that you have the Create Service Accounts IAM role
      ( roles/iam.serviceAccountCreator). Learn how to grant roles .
-  In the Google Cloud console, go to the Create service account page. Go to Create service account
- Select your project.
-  In the Service account name field, enter a name. The Google Cloud console fills in the Service account ID field based on this name. In the Service account description field, enter a description. For example, Service account for quickstart.
- Click Create and continue .
-  Grant the Project > Owner role to the service account. To grant the role, find the Select a role list, then select Project > Owner . 
- Click Continue .
-  Click Done to finish creating the service account. Do not close your browser window. You will use it in the next step. 
 
- Ensure that you have the Create Service Accounts IAM role
      ( 
-  Create a service account key: - In the Google Cloud console, click the email address for the service account that you created.
- Click Keys .
- Click Add key , and then click Create new key .
- Click Create . A JSON key file is downloaded to your computer.
- Click Close .
 
-  Set the environment variable GOOGLE_APPLICATION_CREDENTIALSto the path of the JSON file that contains your credentials. This variable applies only to your current shell session, so if you open a new session, set the variable again.
-  In the Google Cloud console, on the project selector page, select or create a Google Cloud project. Roles required to select or create a project - Select a project : Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-  Create a project 
: To create a project, you need the Project Creator
      ( roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles .
 
-  Verify that billing is enabled for your Google Cloud project . 
-  Enable the Cloud Billing API. Roles required to enable APIs To enable APIs, you need the Service Usage Admin IAM role ( roles/serviceusage.serviceUsageAdmin), which contains theserviceusage.services.enablepermission. Learn how to grant roles .
-  Create a service account: - Ensure that you have the Create Service Accounts IAM role
      ( roles/iam.serviceAccountCreator). Learn how to grant roles .
-  In the Google Cloud console, go to the Create service account page. Go to Create service account
- Select your project.
-  In the Service account name field, enter a name. The Google Cloud console fills in the Service account ID field based on this name. In the Service account description field, enter a description. For example, Service account for quickstart.
- Click Create and continue .
-  Grant the Project > Owner role to the service account. To grant the role, find the Select a role list, then select Project > Owner . 
- Click Continue .
-  Click Done to finish creating the service account. Do not close your browser window. You will use it in the next step. 
 
- Ensure that you have the Create Service Accounts IAM role
      ( 
-  Create a service account key: - In the Google Cloud console, click the email address for the service account that you created.
- Click Keys .
- Click Add key , and then click Create new key .
- Click Create . A JSON key file is downloaded to your computer.
- Click Close .
 
-  Set the environment variable GOOGLE_APPLICATION_CREDENTIALSto the path of the JSON file that contains your credentials. This variable applies only to your current shell session, so if you open a new session, set the variable again.
Get a list of Cloud Billing Accounts
The API method to list all Cloud Billing Accounts ( REST , RPC ) is the simpest method in the API, as it has no required parameters, so it's a good place to start. The method simply returns all billing accounts that you have permission to view.
Protocol
GET https://cloudbilling.googleapis.com/v1/billingAccounts
Java
ListBillingAccountsResponse result = service . billingAccounts (). list (). execute ();
Retrieve a particular Cloud Billing Account
To retrieve a particular billing account ( REST 
, RPC 
), you'll need to know the billing account ID. This example uses the sample ID 012345-567890-ABCDEF 
.
Protocol
GET https://cloudbilling.googleapis.com/v1/billingAccounts/012345-567890-ABCDEF
Java
BillingAccount result = service . billingAccounts () . get ( "billingAccounts/00C5EA-61187E-D842F2" ). execute ();
Enable Cloud Billing on a Google Cloud project
To enable Cloud Billing on a Google Cloud project, you need to call the Cloud Billing API to
  associate the Google Cloud project with an existing Cloud Billing Account
  ( REST 
, RPC 
).
  The following sample code associates Google Cloud project tokyo-rain-123 
with
  Cloud Billing Account 012345-567890-ABCDEF 
. Incidentally, the same API
  method can be used to disable Cloud Billing on a Google Cloud project, by setting billingAccountName 
to empty.
Protocol
PUT https://cloudbilling.googleapis.com/v1/projects/tokyo-rain-123/billingInfo
{
  "billingAccountName": "billingAccounts/012345-567890-ABCDEF"
} 
Java
service . projects (). updateBillingInfo ( "projects/tokyo-rain-123" , new ProjectBillingInfo (). setBillingAccountName ( "billingAccounts/012345-567890-ABCDEF" )) . execute ();
Clean up
- In the Google Cloud console, go to the Manage resources page.
- In the project list, select the project that you want to delete, and then click Delete .
- In the dialog, type the project ID, and then click Shut down to delete the project.

