Get workspace limits
Read a workspace's monthly allocation, the effective monthly and daily limits the send gate enforces, and whether its sending is paused — with an organisation key.
Limits are enforced by the send gate, not just reported: a workspace that reaches its monthly limit gets 429 on send until the period resets, and a paused workspace gets 403 sending_paused at once.
GET /v3/organisation/workspaces/{id}/limits
Response (200)
json
{
"quota_model": "shared_pool",
"plan": "professional",
"monthly_allocation": 50000,
"monthly_limit": 50000,
"daily_limit": null,
"sending_paused": false,
"sending_paused_by": null
}| Parameter | Type | Required | Description |
|---|---|---|---|
quota_model | string | Required | shared_pool: one organisation pool allocated per workspace. separate_workspace: every workspace has its own plan and monthly_allocation is null. |
monthly_limit | integer or null | Required | The effective monthly email limit the send gate enforces; null = unlimited. |
daily_limit | integer or null | Required | Effective daily ceiling; null when the plan has none. |
sending_paused_by | string or null | Required | organisation (this API), account_owner (the workspace itself) or staff (wemail — cannot be lifted here). |
Responses
| Status | Description |
|---|---|
200 | OK. The workspace's limits. |
401 | Missing or invalid organisation key — workspace keys (afn_live_ / afn_test_) are refused here by design. |
403 | insufficient_scope — the key lacks limits:read — or ip_not_allowed. |
404 | No workspace with this id in your organisation (ids of other organisations are never revealed). |
Code examples
cURL
curl https://api.wemail.io/v3/organisation/workspaces/9d2f6c1e-4b3a-4e7d-8a1f-0c5b7e9d2a64/limits \
-H "Authorization: Bearer afn_org_…"Node.js
const res = await fetch("https://api.wemail.io/v3/organisation/workspaces/9d2f6c1e-4b3a-4e7d-8a1f-0c5b7e9d2a64/limits", {
headers: { Authorization: "Bearer " + process.env.WEMAIL_ORG_KEY },
});
console.log(await res.json());Python
import os, requests
res = requests.get(
"https://api.wemail.io/v3/organisation/workspaces/9d2f6c1e-4b3a-4e7d-8a1f-0c5b7e9d2a64/limits",
headers={"Authorization": "Bearer " + os.environ["WEMAIL_ORG_KEY"]},
)
print(res.json())ResponseExample response
{
"quota_model": "shared_pool",
"plan": "professional",
"monthly_allocation": 50000,
"monthly_limit": 50000,
"daily_limit": null,
"sending_paused": false,
"sending_paused_by": null
}