Read current storage tier + usage breakdown
Authorization
bearerAuth Long-lived ES256 JWT minted from the dashboard (https://app.sautikit.com/developers/api-keys). Signed by the
platform keyring. Carries workspace_id and scopes claims;
revoked via the platform deny-list.
In: header
Response Body
application/json
application/json
curl -X GET "https://example.com/v1/storage/tier"{ "tier_gb": 1, "log_retention": "string", "used_bytes": 0, "breakdown": { "recordings_bytes": 0, "logs_bytes": 0, "other_bytes": 0 }, "price_minor": 0, "currency": "string", "updated_at": "2019-08-24T14:15:22Z"}{ "error": { "code": "validation.bad_request", "message": "string", "request_id": "string" }}Live storage-tier pricing matrix GET
Returns the currently effective storage pricing matrix — one row per `(tier_gb, currency)`. Prices are read live, so the values here always match what a workspace is actually billed rather than a hard-coded fallback. `egress_gb` is reserved (0 today; metered egress is not surfaced yet).
Switch the workspace storage tier PUT
Upgrades debit the price delta from the wallet at flip time and emit a `storage.tier_changed` event. Downgrades flip immediately and are NOT refunded. Same-tier PUTs are a no-op. `Idempotency-Key` header dedupes the wallet debit on retries.