Connector docs — Snowflake
Exactly what CostMon asks for to read Snowflake
CostMon runs a read-only SQL statement against Snowflake's own organization usage view, via the SQL API, using a role scoped to metering data only.
What CostMon calls
The literal API surface, nothing more
- POST /api/v2/statements
- SELECT against SNOWFLAKE.ORGANIZATION_USAGE.USAGE_IN_CURRENCY_DAILY, grouped by usage date, service type, usage type, account, and region.
What you supply
Credential and config fields
tokenProgrammatic access token (PAT)secretrequired
accountAccount URL / hostrequired
warehouseWarehouserequired
roleRole (recommend ORGANIZATION_USAGE_VIEWER)required
Minimum permission
Copy this, not a broader role
Scope of access
What Snowflake access can't reach
- Data in any database, schema, or table outside SNOWFLAKE.ORGANIZATION_USAGE
- Query results or content run by your own users
Worth knowing
- ORGANIZATION_USAGE views lag roughly 72 hours. Set days_back to 35 so the wider trailing sync window corrects late adjustments in place instead of missing them.
Troubleshooting
Setup errors and what they mean
- account, warehouse, and role are all required
- One of the three config fields is missing. All three are required together.
FAQ
Common questions about the Snowflake connector
Can CostMon query my own tables through this connection?
No. The connector only ever runs the one statement against SNOWFLAKE.ORGANIZATION_USAGE.USAGE_IN_CURRENCY_DAILY. Scoping the role to ORGANIZATION_USAGE_VIEWER keeps it that way even if the credential is misused.
Why does cost data sometimes change after it's already synced?
Snowflake's ORGANIZATION_USAGE views lag by about 72 hours and backfill. A 35-day trailing sync window catches and corrects those late adjustments in place.
A rate you looked up will change again.
Provider pricing pages change without notice. CostMon tracks the bill that pays for it.