Skip to content

Desafio ALTCHA para entrar com um e-mail

POST/api/auth/challenge

Auth
Public
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.

Sem login. Igual a `GET /api/auth/challenge`, mas com o trabalho que o login deste e-mail exige agora nesta comunidade (`X-CommunityId`). Use antes de cada `POST /api/auth/login`. Até 5 tentativas que falharam em 15 minutos, o trabalho é o normal (cerca de 1 s num celular médio); a partir daí, cada falha multiplica o trabalho (2, 4, 6, 8 e no máximo 10 vezes, cerca de 10 s), e `parameters.data.level` traz o multiplicador. A conta **nunca é bloqueada** por tentativas erradas: a senha certa entra, com o desafio do nível atual, e zera a contagem. O e-mail vai no corpo para ficar fora de URLs e logs; e-mail sem conta sobe do mesmo jeito. Cadastro e recuperação de senha seguem com `GET`. Mesmo limite de 300 desafios por IP em 15 minutos (429).

Headers

NameTypeDescription
X-CommunityIdrequiredstring (uuid)A comunidade do login (a mesma que vai no `POST /api/auth/login`).

Request body application/json

NameTypeDescription
emailrequiredstring (email)max 320

Responses

StatusDescription
200O desafio, no formato que o widget `altcha` aceita (`parameters` e `signature`).
400E-mail ausente ou longo demais.
429Tentativas demais. O header `Retry-After` diz em quantos segundos tentar de novo.
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/challenge" \
  -H "X-CommunityId: $COMMUNITY_ID" \
  -H "Content-Type: application/json" \
  -d '{"email":"[email protected]"}'