Lista sections & spaces
GET/api/spaces
- Auth
- Public
- Qui peut l’appeler:
- owner
- admin
- moderator
- finance
- Clé d’API:
- community:read
- X-CommunityId
X-CommunityIdEnvoyez le X-CommunityId de la communauté où l’opération a lieu.
Autenticação opcional: o conteúdo retornado varia conforme o membro autenticado.
A lista é filtrada por quem pergunta. Um space que o leitor não abre **volta com `locked: true` e `lockReason`** ou **some** conforme a opção "Para quem não tem acesso" (`lockedDisplay` do space e da seção; padrão: aparece com cadeado). `lockReason`: `signIn` (é preciso entrar ou participar da comunidade), `plan`, `product`, `subscription` ou `group` (nunca o nome do grupo). O space com cadeado vem **só** com `id`, `title`, `slug`, `icon`, `description`, `module`, `sectionId`, `locked`, `lockReason` (e `sectionSlug` na lista plana): sem `moduleConfig`, sem `externalUrl` (o Link abre a oferta, nunca o link) e sem contagens. Área "só administração" (Privada sem ninguém em "Quem tem acesso") nunca vira cadeado. Owner, admin, moderator e finance recebem tudo.
A resposta traz, **para quem administra**, os campos opcionais novos `access` (o que o próprio space exige), `requiredBySection` (o que a seção exige — combina com **E**, não é mais item da mesma lista, e vem com `sectionId`, `sectionTitle` e `visibility`) e `accessFromProducts` (os produtos ligados pela tela de produtos, que a tela de space não edita; `access` e `requiredBySection` trazem também `badges`, `[{ id, name, imageUrl, visibility }]`; um badge **privado** só sai para owner e admin: moderador e financeiro recebem só os públicos e `hasHiddenBadge: true`; e `minLevel`, `{ id, level, name, minPoints, imageUrl }` ou `null`), e `adminOnly` (`true` quando só a equipe abre o space — Privada sem ninguém em "Quem tem acesso", nem por produto, ou dentro de uma seção assim).
Para todo leitor, `layout`: como o space lista os itens (`feed`, `cards`, `list`, `compact`, `grid`, `calendar`); `null` = o padrão do módulo (`layouts.default` em `GET /api/spaces/modules`).
Paramètres
| Nom | Emplacement | Type | Description |
|---|---|---|---|
sectionIdfacultatif | query | string (uuid) | Valid section ID is required |
modulefacultatif | query | string | Invalid module type |
visibilityfacultatif | query | public | members | plan | private | Invalid visibility value |
En-têtes
| Nom | Type | Description |
|---|---|---|
X-CommunityIdfacultatif | string (uuid) | ID da comunidade em que a operação acontece. Obrigatório na maioria dos endpoints com escopo de comunidade. |
Réponses
| Statut | Description |
|---|---|
200 | Operação realizada com sucesso. |
400 | Requisição inválida — falha de validação. |
500 | Erro interno do servidor. |
Exemple curl
curl -X GET "https://api.memberfy.net/api/spaces" \
-H "X-CommunityId: $COMMUNITY_ID"