Skip to content

Request a limit increase

POST
/v1/me/limit-requests
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.

Media typeapplication/json
object
kind
required
string
Allowed values: user_orgs
requestedLimit
required

The new limit being asked for; must exceed the current limit.

integer
>= 1
reason
required

A justification for the operator reviewing the request.

string
Example
{
"kind": "user_orgs",
"requestedLimit": 5,
"reason": "Managing separate organizations per client brand."
}

The request was submitted for review.

Media typeapplication/json
object
request
required
object
id
required
string format: uuid
kind
required
string
Allowed values: user_orgs
requestedLimit
required
integer
status
required
string
Allowed value: pending
createdAt
required

Epoch ms.

integer
Example
{
"request": {
"kind": "user_orgs",
"status": "pending"
}
}

Invalid kind, requestedLimit not above the current limit, or missing reason.

Media typeapplication/json
object
error
required

A human-readable error message.

string
Examplegenerated
{
"error": "example"
}

Missing or invalid credentials.

Media typeapplication/json
object
error
required

A human-readable error message.

string
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.

Media typeapplication/json
object
error
required

A human-readable error message.

string
Example
{
"error": "a dashboard session is required"
}

A request for this limit is already pending review.

Media typeapplication/json
object
error
required

A human-readable error message.

string
Example
{
"error": "a request for this limit is already pending review"
}