List workspaces
List the workspaces of your organisation with an organisation key: every customer or team as a fully isolated workspace, active by default or archived on request.
A workspace is a full account under your organisation: its own domains, keys, suppressions, webhooks, templates, members and limits. This page lists them; the pages that follow create, read, rename, archive and restore them. A workspace's contents are reached with the workspace's own key (see Create a workspace API key).
GET /v3/organisation/workspaces
Query parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
status | string | Optional | active (default), archived or all. |
page | integer | Optional | Page number, starting at 1. Default 1. |
per_page | integer | Optional | Workspaces per page, 1–100. Default 25. |
Response (200)
json
{
"items": [
{
"id": "9d2f6c1e-4b3a-4e7d-8a1f-0c5b7e9d2a64",
"name": "Acme EU",
"slug": "acme-eu",
"status": "active",
"home": false,
"plan": "professional",
"timezone": "Europe/Athens",
"default_language": "en",
"created_at": "2026-10-29T10:00:00Z"
}
],
"pagination": {
"page": 1,
"per_page": 25,
"total_count": 1,
"total_pages": 1
}
}home is true for the organisation's first workspace, which cannot be archived. status is active, suspended (sending stopped by wemail) or archived.
Responses
| Status | Description |
|---|---|
200 | OK. A page of workspaces. |
401 | Missing or invalid organisation key — workspace keys (afn_live_ / afn_test_) are refused here by design. |
403 | insufficient_scope — the key lacks workspaces:read — or ip_not_allowed. |
Code examples
cURL
curl https://api.wemail.io/v3/organisation/workspaces \
-H "Authorization: Bearer afn_org_…"Node.js
const res = await fetch("https://api.wemail.io/v3/organisation/workspaces", {
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",
headers={"Authorization": "Bearer " + os.environ["WEMAIL_ORG_KEY"]},
)
print(res.json())ResponseExample response
{
"items": [
{
"id": "9d2f6c1e-4b3a-4e7d-8a1f-0c5b7e9d2a64",
"name": "Acme EU",
"slug": "acme-eu",
"status": "active",
"home": false,
"plan": "professional",
"timezone": "Europe/Athens",
"default_language": "en",
"created_at": "2026-10-29T10:00:00Z"
}
],
"pagination": {
"page": 1,
"per_page": 25,
"total_count": 1,
"total_pages": 1
}
}