🎭 Roles e Permissões

GET /api/v1/roles

Lista todas as roles.

Query Parameters

  • page (opcional): Número da página
  • page_size (opcional): Itens por página
  • org_id (opcional): Filtrar por organização

Response: 200 OK

{
  "data": [
    {
      "id": "uuid",
      "org_id": "uuid",
      "code": "admin",
      "label": "Administrador",
      "description": "Acesso total ao sistema",
      "is_system": false,
      "created_at": "2024-01-01T00:00:00Z"
    }
  ],
  "page": 1,
  "page_size": 25,
  "total": 10
}

POST /api/v1/roles

Cria uma nova role.

Request

{
  "org_id": "uuid",
  "code": "support",
  "label": "Suporte",
  "description": "Acesso ao módulo de suporte"
}

GET /api/v1/permissions

Lista todas as permissões disponíveis.

Query Parameters

  • page (opcional): Número da página
  • page_size (opcional): Itens por página

Response: 200 OK

{
  "data": [
    {
      "id": "uuid",
      "code": "clients:read",
      "description": "Ler clientes"
    },
    {
      "id": "uuid",
      "code": "clients:write",
      "description": "Criar e editar clientes"
    }
  ],
  "page": 1,
  "page_size": 25,
  "total": 50
}

GET /api/v1/memberships/[id]

Obtém uma associação específica.

Response: 200 OK

{
  "id": "uuid",
  "user_id": "uuid",
  "org_id": "uuid",
  "client_id": "uuid",
  "role_id": "uuid",
  "status": "active"
}

PATCH /api/v1/memberships/[id]

Atualiza uma associação.

Request

{
  "role_id": "uuid",
  "status": "inactive"
}