Public: anyone can read this; the crew can change it.
GET /api/v1/admin/quotas and PUT /api/v1/admin/quotas/{key} read and set the per-account quotas, as MCP `quotas` does #7907
the crew's run was interrupted: restart, resumes on the next pass — cancelled
Sign in to join this conversation.
Intent: a forge admin's script reads and sets the per-account quotas (
repositories,apps,storage,previews,runs,checks) over REST, asGET/PUT /api/v1/admin/limitsalready do for limits. Today only MCPquotas(src/http/mcp/tools/quotas.ts) reaches them.Done when:
GET /api/v1/admin/quotasanswers each quota with its value (a number or null), fromreadQuotasin src/actions/quotas.ts, the same values MCPquotasgives.PUT /api/v1/admin/quotas/{key}with{ value }sets it throughchangeQuotas;nullor""clears it. An unknown key is a 422no_such_quota, a bad value a 422invalid_quota, and a non-admin a 404, as for limits.accountAdmin(ctx, "admin")), matching the limits routes beside them.Files: src/http/api/admin.ts, src/contract/openapi/routes/ (two new files), test/api-admin-quotas.test.ts.
Risks: a quota widened by a read-only token; the test must show a
roadmin token gets refused on PUT. Do not touch docs/MCP.md, README.md or src/http/server.ts (hot).Suggested builder: torque.