Switch the workspace storage tier
Storage tiers are billed monthly from the wallet on the 1st.
- Upgrade: applies immediately. The wallet is charged the new
tier's price for the rest of the current month, less the unused
rest of the current tier if this month is already paid. Emits
storage.tier_changed. - Downgrade: if this month is paid, it is scheduled for the 1st
(
next_tier_mb) and you keep the larger size until then. Not refunded. When it applies, recordings over the new size are deleted, oldest first. - Same tier: cancels a scheduled downgrade; otherwise a no-op.
Idempotency-Key dedupes the wallet debit on retries.
The 200 body also carries charge (net_minor, vat_minor,
gross_minor, vat_applied, vat_rate_bps, currency; null when
nothing was debited) and wallet_balance_after_minor.
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
Header Parameters
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/json
application/json
application/json
curl -X PUT "https://example.com/v1/storage/tier" \ -H "Content-Type: application/json" \ -d '{ "tier_mb": 100 }'{ "tier_mb": 100, "size_mb": 0, "log_retention": "3d", "retention_hours": 72, "paid_through": "2019-08-24T14:15:22Z", "next_tier_mb": 100, "past_due_since": "2019-08-24T14:15:22Z", "used_bytes": 0, "breakdown": { "recordings_bytes": 0, "logs_bytes": 0, "other_bytes": 0, "desk_mail_bytes": 0 }, "price_minor": 0, "currency": "string", "updated_at": "2019-08-24T14:15:22Z"}{ "error": { "code": "validation.bad_request", "message": "string", "request_id": "string", "details": [ "string" ], "resolution": "string", "reason": "invalid_characters", "suggested_e164": "+254727524723" }}{ "error": { "code": "validation.bad_request", "message": "string", "request_id": "string", "details": [ "string" ], "resolution": "string", "reason": "invalid_characters", "suggested_e164": "+254727524723" }}{ "error": { "code": "validation.bad_request", "message": "string", "request_id": "string", "details": [ "string" ], "resolution": "string", "reason": "invalid_characters", "suggested_e164": "+254727524723" }}