Create a teamspace
Create a teamspace in the workspace.
Only workspace Owners and Admins can create a teamspace. The caller becomes a member of the new teamspace. If lead is another user, that user becomes a member too.
The serializer also accepts created_by and updated_by. Leave them out. The server records the caller.
Path Parameters
workspace_slug:requiredstringThe workspace_slug represents the unique workspace identifier for a workspace in Plane. It can be found in the URL. For example, in the URL https://app.plane.so/my-team/projects/, the workspace slug is my-team.
Body Parameters
name:requiredstringName of the teamspace.
description_html:optionalstringHTML description of the teamspace.
description_json:optionalobjectJSON description of the teamspace. Send an object, not a string.
description_stripped:optionalstringPlain-text version of the description.
logo_props:optionalobjectLogo of the teamspace. Send an object with in_use set to emoji or icon, plus a matching emoji or icon object.
lead:optionalstringID of the user who leads the teamspace.
Scopes
write or teamspaces:write
curl -X POST \
"https://api.plane.so/api/v1/workspaces/my-workspace/teamspaces/" \
-H "X-API-Key: $PLANE_API_KEY" \
# Or use -H "Authorization: Bearer $PLANE_OAUTH_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"name": "Engineering Team",
"description_html": "<p>Engineering team workspace</p>",
"logo_props": {
"in_use": "emoji",
"emoji": {
"value": "1f680"
}
},
"lead": "16c61a3a-512a-48ac-b0be-b6b46fe6f430"
}'import requests
response = requests.post(
"https://api.plane.so/api/v1/workspaces/my-workspace/teamspaces/",
headers={"X-API-Key": "your-api-key"},
json={
"name": "Engineering Team",
"description_html": "<p>Engineering team workspace</p>",
"logo_props": {
"in_use": "emoji",
"emoji": {
"value": "1f680"
}
},
"lead": "16c61a3a-512a-48ac-b0be-b6b46fe6f430"
}
)
print(response.json())const response = await fetch("https://api.plane.so/api/v1/workspaces/my-workspace/teamspaces/", {
method: "POST",
headers: {
"X-API-Key": "your-api-key",
"Content-Type": "application/json",
},
body: JSON.stringify({
name: "Engineering Team",
description_html: "<p>Engineering team workspace</p>",
logo_props: {
in_use: "emoji",
emoji: {
value: "1f680",
},
},
lead: "16c61a3a-512a-48ac-b0be-b6b46fe6f430",
}),
});
const data = await response.json();{
"id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"created_at": "2023-11-19T11:56:55.176802Z",
"updated_at": "2023-11-19T11:56:55.176809Z",
"deleted_at": null,
"name": "Engineering Team",
"description_json": {},
"description_html": "<p>Engineering team workspace</p>",
"description_stripped": null,
"description_binary": null,
"logo_props": {
"in_use": "emoji",
"emoji": {
"value": "1f680"
}
},
"created_by": "16c61a3a-512a-48ac-b0be-b6b46fe6f430",
"updated_by": null,
"workspace": "cd4ab5a2-1a5f-4516-a6c6-8da1a9fa5be4",
"lead": "16c61a3a-512a-48ac-b0be-b6b46fe6f430"
}
