Skip to content

API — Workspaces

Endpoints para gerenciar workspaces dentro de uma organização.

Base path: /api/v1/organizations/:org_slug

Todos os endpoints requerem Authorization: Bearer {token} e associação à organização.


POST /organizations/:org_slug/workspaces

Cria um workspace na organização. Requer admin ou owner na organização.

Body

json
{
  "name": "Produto",
  "slug": "produto"
}

Response 201

json
{
  "id": "01J8X...",
  "name": "Produto",
  "slug": "produto",
  "organization_id": "01J8X...",
  "created_at": "2026-04-18T12:00:00Z"
}

Exemplo

bash
curl -X POST https://tasks.cloudface.tech/api/v1/organizations/acme-corp/workspaces \
  -H "Authorization: Bearer {token}" \
  -H "Content-Type: application/json" \
  -d '{"name": "Produto", "slug": "produto"}'

GET /organizations/:org_slug/workspaces

Lista workspaces da organização aos quais o usuário tem acesso.

Response 200

json
{
  "workspaces": [
    {
      "id": "01J8X...",
      "name": "Produto",
      "slug": "produto",
      "role": "admin",
      "member_count": 12,
      "project_count": 4
    }
  ]
}

GET /workspaces/:slug

Retorna os detalhes de um workspace. O usuário deve ser membro.

Response 200

json
{
  "id": "01J8X...",
  "name": "Produto",
  "slug": "produto",
  "organization": {
    "id": "01J8X...",
    "name": "Acme Corp",
    "slug": "acme-corp"
  },
  "member_count": 12,
  "project_count": 4,
  "created_at": "2026-01-01T00:00:00Z"
}

PATCH /workspaces/:slug

Atualiza configurações do workspace. Requer admin ou owner no workspace.

Body

json
{
  "name": "Produto & Design"
}

Response 200 — workspace atualizado


DELETE /workspaces/:slug

Deleta o workspace e todos os seus projetos e issues. Requer owner no workspace.

Response 204 — sem body


GET /workspaces/:slug/members

Lista membros do workspace.

Response 200

json
{
  "members": [
    {
      "user_id": "01J8X...",
      "name": "Gabriel Mowses",
      "email": "gabriel@exemplo.com",
      "role": "owner",
      "joined_at": "2026-01-01T00:00:00Z"
    }
  ],
  "total": 12
}

POST /workspaces/:slug/members

Adiciona um membro da organização ao workspace. Requer admin ou owner no workspace.

Body

json
{
  "user_id": "01J8X...",
  "role": "member"
}

Papéis válidos: owner, admin, member, viewer

Response 201 — membro adicionado


PATCH /workspaces/:slug/members/:user_id

Altera o papel de um membro no workspace. Requer admin ou owner.

Body

json
{
  "role": "admin"
}

Response 200 — membro atualizado


DELETE /workspaces/:slug/members/:user_id

Remove um membro do workspace. Requer admin ou owner.

Response 204 — sem body

Feito por CloudFace