Skip to content

Pede para entrar numa comunidade com cadastro com aprovação

POST/api/auth/signup-request

Auth
Public
Who can call it:
owner
admin
API key:
No API key accepted
X-CommunityId
X-CommunityId Send the X-CommunityId of the community the operation happens in.
Endpoint descriptions come straight from the API specification and are in Portuguese for now. The interface around them is translated.

Numa comunidade com **cadastro com aprovação** (`signupEnabled` e `signupRequiresApproval`), o candidato pede para entrar com nome, e-mail, idioma, telefone opcional e os campos do cadastro (`fields`, como em `POST /api/auth/register`), **sem senha**. O pedido vai para a fila da equipe (`GET /api/signup-requests`); nada vira membro até owner ou admin aprovar, e a aprovação manda o e-mail com o link para criar a senha.

A resposta é **sempre a mesma** (202, "Pedido enviado"), crie o pedido ou não: e-mail que já é membro, que já tem pedido vivo, que foi recusado ou expirou nos últimos 30 dias, ou que passou do próprio limite (3 pedidos por dia) recebe a mesma resposta e nada é criado. O login nunca revela que existe um pedido.

Comunidade com cadastro fechado: 403. Cadastro aberto sem aprovação: 409 (use `POST /api/auth/register`). Comunidade suspensa pela Memberfy: 403 com a mensagem genérica (`code = COMMUNITY_SUSPENDED`). Campo do cadastro faltando ou inválido: 422, um erro por campo. Exige `altcha`. Limites: 30 cadastros e pedidos por IP em 15 minutos e 10 pedidos por IP por hora (429 com `Retry-After`).

Headers

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

Request body application/json

NameTypeDescription
altcharequiredstringO payload do widget ALTCHA sobre um desafio de `GET /api/auth/challenge`. Uso único. · max 8192
fullNamerequiredstringmax 200
emailrequiredstring (email)
languageoptionalstringIdioma do candidato (pt-BR, pt-PT, en-US, es-ES, es-MX, es-AR, it-IT, de-DE, de-AT, de-CH). Sem ele, o `Accept-Language`, depois o da comunidade. Os e-mails do pedido saem nesse idioma.
phoneoptionalstringOpcional, sem confirmação (vai para a conta se o pedido for aprovado). Inválido: 400 com param = phone.
phoneCountryoptionalstring
fieldsoptionalobjectOs campos do cadastro da comunidade, `{ key: valor }` (`GET /api/member-fields/signup`). Aparecem para a equipe na fila e vão para a conta na aprovação.

Responses

StatusDescription
202Pedido recebido (resposta genérica; não diz se o pedido foi criado).
400Requisição inválida — falha de validação.
403Autenticado, mas sem permissão para esta operação.
404Recurso não encontrado.
409O cadastro desta comunidade é aberto, sem aprovação (use `POST /api/auth/register`).
422Campo do cadastro obrigatório faltando, fora da lista ou inválido; ou `altcha` ausente, inválido, vencido ou já usado.
429Tentativas demais. O header `Retry-After` diz em quantos segundos tentar de novo.
500Erro interno do servidor.
503A API não consegue verificar o ALTCHA agora (chave não configurada em produção). `param = altcha`.

curl example

curl -X POST "https://api.memberfy.net/api/auth/signup-request" \
  -H "X-CommunityId: $COMMUNITY_ID" \
  -H "Content-Type: application/json" \
  -d '{"altcha":"string","fullName":"string","email":"[email protected]"}'