Valistry

Google Vertex AI

One query over your billing export, filtered to Vertex AI: the day, the SKU, the project and the cost. Never a prompt, never a response, never another service's spend.

Access

Kind
A read-only key you paste
What to give
Read-only service account
Why that one
A service account with BigQuery Job User on the project and BigQuery Data Viewer on the billing dataset. Valistry runs one query over your billing export and nothing else. The key is tested, then stored encrypted; you see its last four characters.

What it attributes on its own

From the source
day · model · project · the SKU as Google billed it · what Google charged
Needs a rule or a trace
tokens — Vertex reports them through Cloud Monitoring, which this connector does not read yet · team, workflow and agent — unless your project labels carry them · outcome

The addresses it calls

  • https://oauth2.googleapis.com/token
  • https://bigquery.googleapis.com/bigquery/v2/projects/

Only these. A call anywhere else is refused before it leaves, and every call is logged.

Connecting it

  1. Check the billing export exists. Billing → Billing export → BigQuery export. If the daily cost detail export is off, switch it on; it backfills nothing, so the ledger starts from the day you enable it. Open ↗
  2. Create a service account. Then Keys → Add key → JSON. The file downloads once. Open ↗
  3. Give it two read roles. BigQuery Job User on the project that runs the query, and BigQuery Data Viewer on the billing dataset. Neither can write.
  4. Paste the email, the private key, the project and the table. The table is the one your export writes to; Valistry cannot discover it. One query runs against the last thirty days and the key is stored only if it succeeded.

Where your projects carry labels for team or service, they can be read into attribution later; the billing export carries them on every row.