Pular para o conteúdo

Cria ou executa sections & spaces

POST/api/spaces

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).

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
sectionIdobrigatóriostring (uuid)Valid section ID is required
titleobrigatóriostringTitle is required · max 255
descriptionopcionalstringDescription must be a string
slugopcionalstringLetras minúsculas, números e hífen. Não pode começar com _ (rotas internas do app ficam em /_/): 400 com param = slug. Gerado do título quando ausente, nunca com _. · max 255
iconopcionalstringIcon must be 100 characters or less · max 100
orderopcionalintegerOrder must be a non-negative integer
moduleobrigatóriostringInvalid module type
externalUrlopcionalstring (uri)Invalid URL format
visibilityopcionalpublic | members | plan | privateNunca mais aberta que a da seção que contém o space, na ordem `public` < `members` < `plan` < `private`. Mais aberta devolve 400.
accessopcionalobjectQuem entra quando `visibility` é `private`. Opcional e **aditivo**: ausente não mexe em nada; presente **substitui** o conjunto inteiro, porque o modal sempre manda tudo. As três listas são **união** — satisfazer qualquer uma basta. Um id de outra comunidade devolve 400 com `errors`.
access.groupIdsopcionalstring (uuid)[]
access.productIdsopcionalstring (uuid)[]
access.subscriptionGroupIdsopcionalstring (uuid)[]
moduleConfigopcionalobjectConfiguração específica do módulo, preenchida no wizard. A forma depende do módulo — `call4papers` guarda o modo do space e a primeira chamada. Enviar `null` limpa.
canCreateopcionalanyone | staff | adminsQuem cria conteúdo no space (post, status, evento, curso, imagem de galeria). `anyone`: quem a rota já aceita; `staff`: owner, admin e moderator; `admins`: owner e admin. Opcional: na criação o padrão é `anyone`; na edição, ausente não mexe. Comentar e reagir não dependem disso.

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/spaces" \
  -H "Authorization: Bearer $TOKEN" \
  -H "X-CommunityId: $COMMUNITY_ID" \
  -H "Content-Type: application/json" \
  -d '{"sectionId":"00000000-0000-0000-0000-000000000000","title":"string","module":"string"}'