Request a limit increase
const url = 'https://api.overwatch.weareheavy.dev/v1/me/limit-requests';const options = { method: 'POST', headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'}, body: '{"kind":"user_orgs","requestedLimit":5,"reason":"Managing separate organizations per client brand."}'};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request POST \ --url https://api.overwatch.weareheavy.dev/v1/me/limit-requests \ --header 'Authorization: Bearer <token>' \ --header 'Content-Type: application/json' \ --data '{ "kind": "user_orgs", "requestedLimit": 5, "reason": "Managing separate organizations per client brand." }'Submit a limit-increase request for an operator to review. Only
user_orgs remains — raising the caller’s own organization cap (an
anti-abuse limit). The old org_sites kind is retired: sites
beyond the included count are self-serve via overage billing (see
PATCH /v1/billing), and requesting it returns 400.
requestedLimit must exceed the current limit, and a justification is
required. One request may be pending per subject and kind — a duplicate
gets 409. Decisions arrive by email; the latest request’s status also
appears on GET /v1/me/org-quota. Session-only.
Authorizations
Section titled “ Authorizations ”Request Bodyrequired
Section titled “ Request Bodyrequired ”object
The new limit being asked for; must exceed the current limit.
A justification for the operator reviewing the request.
Example
{ "kind": "user_orgs", "requestedLimit": 5, "reason": "Managing separate organizations per client brand."}Responses
Section titled “ Responses ”The request was submitted for review.
object
object
Epoch ms.
Example
{ "request": { "kind": "user_orgs", "status": "pending" }}Invalid kind, requestedLimit not above the current limit, or missing reason.
object
A human-readable error message.
Examplegenerated
{ "error": "example"}Missing or invalid credentials.
object
A human-readable error message.
Example
{ "error": "invalid api key"}A dashboard session is required (API-key callers are rejected), or the session’s role does not allow this action.
object
A human-readable error message.
Example
{ "error": "a dashboard session is required"}A request for this limit is already pending review.
object
A human-readable error message.
Example
{ "error": "a request for this limit is already pending review"}