Cria ou executa courses
POST/api/courses
- Auth
- Richiede un token
- X-CommunityId
X-CommunityIdInvia l’X-CommunityId della community in cui avviene l’operazione.
Le descrizioni degli endpoint provengono dalla specifica dell’API e per ora sono in portoghese. L’interfaccia intorno è tradotta.
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`.
Header
| Nome | Tipo | Descrizione |
|---|---|---|
X-CommunityIdfacoltativo | string (uuid) | ID da comunidade em que a operação acontece. Obrigatório na maioria dos endpoints com escopo de comunidade. |
Corpo della richiesta application/json
| Nome | Tipo | Descrizione |
|---|---|---|
communityIdfacoltativo | string (uuid) | Valid community ID is required |
spaceIdfacoltativo | string (uuid) | Valid space ID required if provided |
slugobbligatorio | string | Slug is required |
titleobbligatorio | string | Title is required |
levelobbligatorio | beginner | intermediate | advanced | Valid course level is required |
Risposte
| Codice | Descrizione |
|---|---|
201 | Operação realizada com sucesso. |
400 | Requisição inválida — falha de validação. |
401 | Token ausente, inválido ou expirado. |
403 | Autenticado, mas sem permissão para esta operação. |
500 | Erro interno do servidor. |
Esempio con 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"}'