Abre o ciclo e cria as atribuições
POST/api/performance-reviews/cycles/{cycleId}/open
- Auth
- Exige token
- Chave de API:
- Não aceita chave de API
- X-CommunityId
X-CommunityIdEnvie o X-CommunityId da comunidade em que a operação acontece.
Owner e admin; rascunho → aberto. As atribuições saem da hierarquia agora e **congelam**: autoavaliação de cada participante, uma do líder direto por liderado, pares (quem tem o mesmo líder, até `nomination.max` por pessoa, em rodízio) e liderado → líder, conforme as relações ligadas. Troca de líder depois não muda nada; quem sai da comunidade tem as atribuições canceladas; quem entra depois só entra pelo `POST .../assignments`. Recusado (409) sem participantes (`noParticipants`), sem perguntas (`noQuestions`) ou com alguém "sem gestor" (`withoutManager`, a lista em `data.withoutManager`). Líder direto sem acesso ao espaço conta como "sem gestor": 409 `managerWithoutAccess`, com a mensagem nomeando os gestores e as listas em `data.managersWithoutAccess` e `data.withoutManager`. Quem tem atribuição recebe, pela fila, o e-mail "ciclo aberto" (categoria `performanceReview`, sem nenhuma resposta).
Parâmetros
| Nome | Onde | Tipo | Descrição |
|---|---|---|---|
cycleIdobrigatório | path | string (uuid) |
Headers
| Nome | Tipo | Descrição |
|---|---|---|
X-CommunityIdopcional | string (uuid) | ID da comunidade em que a operação acontece. Obrigatório na maioria dos endpoints com escopo de comunidade. |
Corpo da requisição application/json
A especificação não declara os campos deste corpo (upload multipart, por exemplo). Consulte o guia do assunto.
Respostas
| Código | Descrição |
|---|---|
200 | O ciclo. |
401 | Token ausente, inválido ou expirado; token de outra comunidade (o `X-CommunityId` ou o `communityId` do corpo não é o do token); token antigo ou de uma sessão encerrada (troca de senha, convite aceito). Nesses casos a mensagem pede para entrar de novo (`auth.signInAgain`). |
403 | Sem permissão (`teamOnly`: só owner e admin; `progressDenied`/`resultsDenied`: quem não lidera ninguém; `supportSession`). |
404 | Recurso não encontrado. |
409 | `cycleNotDraft`, `noQuestions`, `noParticipants`, `managerWithoutAccess` ou `withoutManager`. |
500 | Erro interno do servidor. |
Exemplo com curl
curl -X POST "https://api.memberfy.net/api/performance-reviews/cycles/<cycleId>/open" \
-H "Authorization: Bearer $TOKEN" \
-H "X-CommunityId: $COMMUNITY_ID" \
-H "Content-Type: application/json" \
-d '{}'