Pular para o conteúdo

Cria ou executa courses

POST/api/courses

Auth
Exige token
X-CommunityId
X-CommunityId Envie o X-CommunityId da comunidade em que a operação acontece.

Sujeito a verificação de papel (RBAC). Além disso, respeita o `canCreate` do space: `staff` aceita owner, admin e moderator; `admins` aceita owner e admin; `anyone` não restringe. Fora da regra, 403 com `errors[0].param = "spaceId"`. SuperAdmin sempre passa. O curso nasce na comunidade do `X-CommunityId`; `communityId` no corpo é opcional e, se vier diferente do header, 403 com `param = communityId`.

Headers

NomeTipoDescrição
X-CommunityIdopcionalstring (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

NomeTipoDescrição
communityIdopcionalstring (uuid)Valid community ID is required
spaceIdopcionalstring (uuid)Valid space ID required if provided
slugobrigatóriostringSlug is required
titleobrigatóriostringTitle is required
levelobrigatóriobeginner | intermediate | advancedValid course level is required

Respostas

CódigoDescrição
201Operação realizada com sucesso.
400Requisição inválida — falha de validação.
401Token ausente, inválido ou expirado.
403Autenticado, mas sem permissão para esta operação.
500Erro interno do servidor.

Exemplo com curl

curl -X POST "https://api.memberfy.net/api/courses" \
  -H "Authorization: Bearer $TOKEN" \
  -H "X-CommunityId: $COMMUNITY_ID" \
  -H "Content-Type: application/json" \
  -d '{"slug":"string","title":"string","level":"beginner"}'