Saltar al contenido

Cria um ciclo de avaliação (rascunho)

POST/api/performance-reviews/cycles

Auth
Requiere token
Clave de API:
No acepta clave de API
X-CommunityId
X-CommunityId Envía el X-CommunityId de la comunidad en la que ocurre la operación.
Las descripciones de los endpoints vienen de la especificación de la API y, por ahora, están en portugués. La interfaz alrededor está traducida.

Owner e admin (os outros: 403 `teamOnly`). Nasce em `DRAFT`, no modelo 180° (autoavaliação + gestor), com a escala de 5 e as quatro perguntas padrão no idioma da comunidade (ou as `questions` enviadas). Período avaliado (`periodStartsOn`–`periodEndsOn`) separado da janela de respostas (`opensOn`–`closesOn`); invertidos: 422 `periodInvalid` / `windowInvalid`. Num espaço "um ciclo" (`moduleConfig.mode = single`) que já tem um: 409 `singleModeHasCycle`. Mexer no rascunho não envia e-mail.

Headers

NombreTipoDescripción
X-CommunityIdopcionalstring (uuid)ID da comunidade em que a operação acontece. Obrigatório na maioria dos endpoints com escopo de comunidade.

Cuerpo de la solicitud application/json

NombreTipoDescripción
spaceIdopcionalstring (uuid)
titleobligatoriostringmax 120
instructionsopcionalstring
periodStartsOnobligatoriostring (date)
periodEndsOnobligatoriostring (date)
opensOnobligatoriostring (date)
closesOnobligatoriostring (date)
modelopcionalDEGREES_90 | DEGREES_180 | DEGREES_360
relationshipsopcionalSELF | MANAGER | PEER | REPORT[]Padrão: todas as do modelo; enviar só as que ficam ligadas.
finalRatingRuleopcionalMANAGER | AVERAGE_WITHOUT_SELF
weightsopcionalobjectDe 0 a 10.
weights.MANAGERopcionalnumber
weights.PEERopcionalnumber
weights.REPORTopcionalnumber
scaleLabelsopcionalstring[]Os rótulos da escala, do pior ao melhor: de 2 a 10, preenchidos e sem repetir (422 `scaleInvalid` / `scaleDuplicate`); o valor de cada nível é a posição (1 a N). Vazio ou null = os 5 padrão.
audienceopcionalALL | GROUP | TAG
groupIdopcionalstring (uuid)
tagopcionalstringmax 80
reminderDaysopcionalinteger[]
nominationEnabledopcionalbooleanFase 1b: com PEER ligado, cada participante indica os pares e o líder direto valida (só em rascunho).
nineBoxEnabledopcionalbooleanFase 2: a avaliação do gestor pergunta o potencial (Baixo, Médio, Alto) e o ciclo fechado tem a 9-box (só em rascunho).
nominationMinopcionalinteger≥ 1, ≤ 10
nominationMaxopcionalinteger≥ 1, ≤ 10
nominationEndsOnopcionalstring (date)Último dia para indicar.
validationEndsOnopcionalstring (date)Último dia para o líder validar (entre `nominationEndsOn` e `closesOn`; sem as duas datas, abrir dá 409 `nominationDatesRequired`).
questionsopcionalobject[]
questions[].idopcionalstring (uuid)
questions[].topicopcionalstringAgrupa as perguntas nos passos do formulário. · max 80
questions[].textopcionalstringmax 500
questions[].kindopcionalRATING | TEXTRATING usa a escala de 5 do ciclo; TEXT nunca entra na média.
questions[].appliesToopcionalSELF | MANAGER | PEER | REPORT[]As relações que respondem; vazio = todas.
questions[].requiredopcionalboolean
questions[].orderopcionalinteger

Respuestas

CódigoDescripción
201O ciclo.
400Requisição inválida — falha de validação.
401Token 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`).
403Sem permissão (`teamOnly`: só owner e admin; `progressDenied`/`resultsDenied`: quem não lidera ninguém; `supportSession`).
404Recurso não encontrado.
409Conflito com o estado atual do recurso.
422Dia inválido, período ou janela invertidos, modelo, relações, escala, pesos, grupo ou tag inválidos.
500Erro interno do servidor.

Ejemplo con curl

curl -X POST "https://api.memberfy.net/api/performance-reviews/cycles" \
  -H "Authorization: Bearer $TOKEN" \
  -H "X-CommunityId: $COMMUNITY_ID" \
  -H "Content-Type: application/json" \
  -d '{"title":"string","periodStartsOn":"string","periodEndsOn":"string","opensOn":"string","closesOn":"string"}'