Workspaces
Every operation in this group: what it accepts, what it returns and the errors it can answer with.
Operations
The workspaces the person behind the key or the app can open: the ones they own and the ones they joined, and which one the app opens for them. These calls act on a person, never on a workspace: an API key acts for the workspace owner, and an app for the person who connected it. Reading needs account:read and every change needs account:write. The key or the app itself still acts for exactly one workspace in every other call.
GET/workspaces
List your workspaces
Every workspace the person can open, the ones they own first, as the workspace switcher of the app lists them. activeWorkspaceId is the one the app opens for them, primaryWorkspaceId the first one they made, which cannot be deleted, and personalWorkspaceId their personal space, which holds their free address and is not listed.
Requires the account:read scope.
Returns
The workspaces.
Errors
The errors every operation can return400401403404422500Error catalog
Also available in
POST/workspaces
Create a workspace
Makes a new workspace owned by the person, on the Free plan, and makes it the one the app opens for them, as creating one in the app does. An account can own one Free workspace, so while it owns one the call is a 403 workspace_allowance_reached that names it: upgrade that workspace first. Sending the same name twice within ten seconds returns the workspace the first call made.
Requires the account:write scope.
Request body
namestringRequiredUp to 64 characters. Leading and trailing spaces are trimmed.
1 to 64 characters
Returns
The new workspace.
Errors
- 403
workspace_allowance_reached: the account already owns a workspace on the Free plan. Upgrade it before creating another.insufficient_scopewhen the key or the app lacksaccount:write.
The errors every operation can return400401404422500Error catalog
Also available in
GET/workspaces/active
Read the workspace the app opens
The workspace the app opens for the person when they sign in, or the one it falls back to when they never chose one. It is not the workspace the key or the app acts on, which never changes.
Requires the account:read scope.
Returns
The workspace the app opens.
Errors
The errors every operation can return400401403404422500Error catalog
Also available in
PUT/workspaces/active
Choose the workspace the app opens
Switches the workspace the app opens for the person, as the workspace switcher does, to any workspace they can open. A workspace they cannot open is a 404. It changes nothing for the key or the app making the call.
Requires the account:write scope.
Request body
workspaceIdstringRequired- 1 to 128 characters
Returns
The workspace the app opens now.
Errors
The errors every operation can return400401403404422500Error catalog
Also available in
DELETE/workspaces/{id}
Delete the workspace
Deletes the workspace the key or the app belongs to, with its domains, addresses, mail and members, and cancels its plan. It is for good. confirm has to be the name of the workspace, as the app asks the person to type it. Only the owner may do it: a member's access token is refused with 403 owner_only, and a key or an app limited to particular addresses or domains with 422 capability_unsupported. The first workspace an account made cannot be deleted (409 first_workspace), and neither can one with a domain being moved in or out (409 domain_moving). The key that deleted its own workspace stops working with it.
Requires the account:write scope.
Path parameters
idstringRequiredThe id of the workspace the key or the app belongs to. Any other id is a 404.
Query parameters
confirmstringRequiredThe name of the workspace, as
GET /workspaceslists it. Letter case and the spaces around it do not matter.Up to 256 characters
Returns
Deleted.
Errors
- 403
The key lacks the scope, or may not send as that address.
step_up_required: the call was made with an OAuth access token that has not been verified in the last 60 minutes. Ask for a code withPOST /security/step-up, send it toPOST /security/step-up/verify, then repeat the call. The person can also choose Allow changes for 60 minutes on the app in Account settings, Connected apps, on the OpenEmail website. An API key is never asked for a code.- 409
first_workspace: the first workspace an account made cannot be deleted.domain_moving: a domain is being moved into or out of it, so try again when the move has finished.- 502
plan_not_cancelled: the plan on the workspace could not be cancelled, so the workspace was kept. Try again in a moment.
The errors every operation can return400401404422500Error catalog
Also available in
Objects
ActiveWorkspaceobject
objectstringRequired- One of
"workspace" idstringRequirednamestringRequired- Can be null
slugstringRequired- Can be null
emailstringRequired- Can be null
kindstringRequiredpersonalfor the personal space,businessfor every other workspace.One of"business""personal"isOwnerbooleanRequiredcreatedAtstringRequired- Format
date-time
CreatedWorkspaceobject
objectstringRequired- One of
"workspace" idstringRequirednamestringRequiredslugstringRequiredactivebooleanRequiredThe app opens the new workspace for the person from now on.
One oftrue
DeletedWorkspaceobject
objectstringRequired- One of
"workspace" idstringRequireddeletedbooleanRequired- One of
true activeWorkspaceIdstringRequiredThe first workspace of the account, which the app opens when the deleted one was open.
Can be null
Workspaceobject
objectstringRequired- One of
"workspace" idstringRequirednamestringRequiredThe name the app shows for it.
slugstringRequired- Can be null
emailstringRequiredThe address the workspace was made for, or null while it has none.
Can be nullisOwnerbooleanRequiredWhether the person owns it rather than joined it.
ownerIdstringRequiredThe account id of its owner.
planstringRequired- One of
"free""starter""business""enterprise" markUrlstringIts square logo, when it has one.
Can be nullwordmarkUrlstringIts wide logo, when it has one.
Can be nullcreatedAtstringRequired- Format
date-time
WorkspaceListobject
objectstringRequired- One of
"list" dataWorkspace[]RequiredactiveWorkspaceIdstringRequiredThe workspace the app opens for the person.
Can be nullprimaryWorkspaceIdstringRequiredThe first workspace they made, which cannot be deleted.
Can be nullpersonalWorkspaceIdstringRequiredTheir personal space, which is not in
data.Can be null