Update a workspace
Rename a workspace or change its timezone and default language with an organisation key. Omitted fields keep their value.
PATCH /v3/organisation/workspaces/{id}
Body parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
name | string | Optional | New name, 1–80 characters. |
timezone | string or null | Optional | IANA timezone; null clears it. |
default_language | string or null | Optional | Default content language; null clears it. |
Response (200)
json
{
"id": "9d2f6c1e-4b3a-4e7d-8a1f-0c5b7e9d2a64",
"name": "Acme EU (renamed)",
"slug": "acme-eu",
"status": "active",
"home": false,
"plan": "professional",
"timezone": "Europe/Athens",
"default_language": "en",
"created_at": "2026-10-29T10:00:00Z"
}Responses
| Status | Description |
|---|---|
200 | OK. The workspace after the change. |
400 | Validation error. |
401 | Missing or invalid organisation key — workspace keys (afn_live_ / afn_test_) are refused here by design. |
403 | insufficient_scope — the key lacks workspaces:write — or ip_not_allowed. |
404 | No workspace with this id in your organisation (ids of other organisations are never revealed). |
Code examples
cURL
curl -X PATCH https://api.wemail.io/v3/organisation/workspaces/9d2f6c1e-4b3a-4e7d-8a1f-0c5b7e9d2a64 \
-H "Authorization: Bearer afn_org_…" \
-H "Content-Type: application/json" \
-d '{
"name": "Acme EU (renamed)",
"timezone": "Europe/Athens"
}'Node.js
const res = await fetch("https://api.wemail.io/v3/organisation/workspaces/9d2f6c1e-4b3a-4e7d-8a1f-0c5b7e9d2a64", {
method: "PATCH",
headers: { Authorization: "Bearer " + process.env.WEMAIL_ORG_KEY, "Content-Type": "application/json" },
body: JSON.stringify({"name": "Acme EU (renamed)", "timezone": "Europe/Athens"}),
});
console.log(await res.json());Python
import os, requests
res = requests.patch(
"https://api.wemail.io/v3/organisation/workspaces/9d2f6c1e-4b3a-4e7d-8a1f-0c5b7e9d2a64",
headers={"Authorization": "Bearer " + os.environ["WEMAIL_ORG_KEY"]},
json={"name": "Acme EU (renamed)", "timezone": "Europe/Athens"},
)
print(res.json())ResponseExample response
{
"id": "9d2f6c1e-4b3a-4e7d-8a1f-0c5b7e9d2a64",
"name": "Acme EU (renamed)",
"slug": "acme-eu",
"status": "active",
"home": false,
"plan": "professional",
"timezone": "Europe/Athens",
"default_language": "en",
"created_at": "2026-10-29T10:00:00Z"
}