Get workspace usage

Read a workspace's usage with an organisation key — the same numbers it sees from GET /v3/usage: monthly allowance and use, daily throttle, verification credits and rate limit.

Exactly what GET /v3/usage returns to the workspace itself — the numbers the platform enforces, so you can check a customer's headroom before they hit a 429. See Usage & quota for the field reference.

GET /v3/organisation/workspaces/{id}/usage

Response (200)

json
{
  "plan": "professional",
  "quota_source": "shared_pool",
  "consumption": null,
  "period": {
    "start": "2026-10-01T00:00:00.000Z",
    "end": "2026-11-01T00:00:00.000Z"
  },
  "emails": {
    "limit": 50000,
    "used": 31204,
    "remaining": 18796,
    "ceiling": 50000,
    "overage_enabled": false
  },
  "daily": null,
  "verify_credits": {
    "balance": 0
  },
  "rate_limit_per_minute": 6000
}

Responses

StatusDescription
200OK.
401Missing or invalid organisation key — workspace keys (afn_live_ / afn_test_) are refused here by design.
403insufficient_scope — the key lacks usage:read — or ip_not_allowed.
404No 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/usage \
  -H "Authorization: Bearer afn_org_…"
Node.js
const res = await fetch("https://api.wemail.io/v3/organisation/workspaces/9d2f6c1e-4b3a-4e7d-8a1f-0c5b7e9d2a64/usage", {
  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/usage",
    headers={"Authorization": "Bearer " + os.environ["WEMAIL_ORG_KEY"]},
)
print(res.json())
ResponseExample response
{
  "plan": "professional",
  "quota_source": "shared_pool",
  "consumption": null,
  "period": {
    "start": "2026-10-01T00:00:00.000Z",
    "end": "2026-11-01T00:00:00.000Z"
  },
  "emails": {
    "limit": 50000,
    "used": 31204,
    "remaining": 18796,
    "ceiling": 50000,
    "overage_enabled": false
  },
  "daily": null,
  "verify_credits": {
    "balance": 0
  },
  "rate_limit_per_minute": 6000
}