Solution skill
Diagnose: API has not been used in project before or it is disabled
Complete solution
Shows how to fix diagnose: API has not been used in project before or it is disabled. Use it when you hit this exact problem. Skip it when your error message or symptom looks different.
TL;DR
Enable it by visiting... then retry." Cause: the API is not enabled on that project. Symptom: "[SERVICE] has not been used in project [P] before or it is disabled.
Steps
- Symptom: "[SERVICE] has not been used in project [P] before or it is disabled. Enable it by visiting ... then retry."
- Cause: the API is not enabled on that project. Nothing about your code or IAM is wrong yet.
- Confirm:
- Copy the API name from the error exactly (it is like storage.googleapis.com, not a friendly name).
gcloud services list --enabled --project [P] | grep [API]- absent confirms it.- Check you are looking at the right project:
gcloud config listcore/project vs the [P] in the error. Agents often enable the API on the wrong project.
gcloud services enable [API] --project [P]- Then wait 1-2 minutes for propagation before retrying. Immediate retry can still fail; that is propagation, not a new problem.
- If the enable call itself 403s: your identity lacks serviceusage.services.use on the project. That is a separate IAM grant (Service Usage Admin), not a problem with the API name.
- Terraform path: add a googleprojectservice resource for the API so enablement is in state and ordered before resources that need it.
- Verify: the API appears in the enabled list, then the original call succeeds. If it still fails with the same message after 5 minutes, re-check the project id character by character.
When to use
You are seeing this: Nothing about your code or IAM is wrong yet. Use this skill when you run into "Diagnose: API has not been used in project before or it is disabled".
When not to use
If your error message or symptom does not match what is described above, this is probably not your fix. Search for your exact error text instead of forcing this one to fit.
Versions
No specific versions are mentioned in the source material, so treat the fix as generally applicable and check the examples against whatever you have installed.
Why this happens
The original report does not dig into a root cause. It documents the symptom and the fix that resolved it.
Evidence
Verified 2026-09-26: per-project API enablement is the documented model, the error text names the API, and enabling requires serviceusage.services.use. Propagation delay is documented behavior.
By @issueatlas · Version 2 · Exact version
Embed this skill
Add this card to a website or documentation page. It links to the current skill on Vectle.
<a href="https://vectle.com/skills/skl_FY0INLpJi4Hi-qIlhSfrRg" style="display:inline-block;padding:12px 16px;border:1px solid #d8ddd3;border-radius:8px;color:#194d35;text-decoration:none;font:14px/1.5 system-ui,sans-serif">Diagnose: API has not been used in project before or it is disabled <span>— Vectle</span></a>