Groundfloor Docs

Quotas API

Read an organization's plan tier and usage against its limits.

GET /v1/organizations/{organization_id}/quota
GET /v1/accounts/{account_id}/quota

Both paths return the same data for the same ID. The /v1/accounts/... path is the older name for the same route.

Returns the organization's plan tier and current usage against each limit.

Permission: read on the organization

See also: Quotas

curl -s -H "Authorization: Bearer $TOKEN" \
  "https://platform.groundfloor.cloud/v1/organizations/$ORGANIZATION_ID/quota" | jq .

Response

{
  "account_id": "…",
  "organization_id": "…",
  "plan_tier": "free",
  "limits": [
    { "key": "workspaces", "label": "Workspaces", "unit": "count", "current": 1, "limit": 3, "description": "…" },
    { "key": "files.bytes", "label": "File storage", "unit": "bytes", "current": 0, "limit": 1073741824, "description": "…" }
  ],
  "note": "…"
}
  • account_id and organization_id are the same ID.
  • plan_tier is free, pro, or enterprise.
  • Each entry in limits has a key, a label, a unit (count, bytes, cu, or currency), the current usage, and the tier's limit. A limit of null means no ceiling applies.
  • note is a free-text caveat. At present it says the tier ceilings are placeholders until pricing is final, so don't hard-code the numbers.

Limit keys

KeyUnitWhat current counts
workspacescountWorkspaces in the organization
files.bytesbytesTotal size of active files across all its workspaces
audit.eventscountAudit events recorded for the organization and its workspaces
llm.cucuAlways 0 for now: the LLM Gateway is coming soon and not available yet

Two limits are enforced elsewhere: creating a workspace past the workspaces limit returns 409 (create workspace), and an upload that would pass the files.bytes limit returns 507. The audit.events and llm.cu limits are reported but not enforced by the API.