Skip to content

Enabling APIs SOP

Fresh -- Updated March 2026 from official Google Cloud documentation.

Purpose

Enable, disable, list, and batch-manage Google Cloud APIs for a project.

Prerequisites

  • A Google Cloud project
  • gcloud CLI installed and initialized
  • serviceusage.services.enable IAM permission (usually via roles/serviceusage.serviceUsageAdmin or roles/owner)

Procedure

Step 1: List Available APIs

View all APIs you can enable:

bash
gcloud services list --available

Filter by name:

bash
gcloud services list --available --filter="name:compute"

Step 2: Enable a Single API

bash
gcloud services enable compute.googleapis.com

Common API service names:

ServiceService Name
Cloud Storagestorage.googleapis.com
BigQuerybigquery.googleapis.com
Pub/Subpubsub.googleapis.com
Cloud Runrun.googleapis.com
Cloud Functionscloudfunctions.googleapis.com
Vertex AIaiplatform.googleapis.com
Cloud SQLsqladmin.googleapis.com
Cloud Logginglogging.googleapis.com
Cloud Monitoringmonitoring.googleapis.com
IAMiam.googleapis.com
Cloud KMScloudkms.googleapis.com
Kubernetes Enginecontainer.googleapis.com

Step 3: Batch Enable Multiple APIs

bash
gcloud services enable \
  storage.googleapis.com \
  pubsub.googleapis.com \
  bigquery.googleapis.com \
  logging.googleapis.com \
  monitoring.googleapis.com

Step 4: List Enabled APIs

bash
gcloud services list --enabled

Format as a table:

bash
gcloud services list --enabled --format="table(name, title)"

Step 5: Check if a Specific API is Enabled

bash
gcloud services list --enabled --filter="name:storage.googleapis.com"

Returns output if enabled, empty if not.

Step 6: Disable an API

bash
gcloud services disable translate.googleapis.com

WARNING

Disabling an API may break applications that depend on it. Use --force only if you are certain no active workloads use it.

Force disable (skip dependency check):

bash
gcloud services disable translate.googleapis.com --force

Step 7: Enable APIs via REST

bash
curl -X POST \
  "https://serviceusage.googleapis.com/v1/projects/PROJECT_NUMBER/services/storage.googleapis.com:enable" \
  -H "Authorization: Bearer $(gcloud auth print-access-token)" \
  -H "Content-Type: application/json"

Step 8: Enable APIs via Terraform

hcl
resource "google_project_service" "storage" {
  project = "my-project"
  service = "storage.googleapis.com"

  disable_dependent_services = false
  disable_on_destroy         = false
}

API Enablement Flow

Verification Checklist

  • [ ] gcloud services list --enabled shows the target API
  • [ ] A test API call to the enabled service returns 200 (not 403 "API not enabled")
  • [ ] Billing is linked if the API requires it
  • [ ] IAM roles are configured for the calling identity

See Also