Skip to content

Criar formulário

POST/api/forms

Auth
Requires a token
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.

Quem o "Quem pode postar" (`canCreate`) do espaço permite; owner e admin sempre. Os demais, 403. Nasce em rascunho, com uma seção vazia se `sections` não vier, e com quem criou como responsável. Num espaço "Um formulário" que já tem um, 409. `acceptVisitors` e `saveAsMember` só a equipe liga (membro: 403).

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
spaceIdoptionalstring (uuid)**Obrigatório na criação.** Um espaço `forms` da comunidade do header. Num espaço "Um formulário" que já tem um, 409.
titleoptionalstringmax 200
descriptionoptionalstringmax 5000
acceptMembersoptionalboolean
acceptVisitorsoptionalboolean
saveAsMemberoptionalboolean
sendConfirmationoptionalboolean
thankYouMessageoptionalstringmax 2000
redirectUrloptionalstringSó `https`.
privacyPolicyUrloptionalstringSó `https`.
accessPasswordoptionalstringDefine a senha de acesso; `null` remove. Guardada com hash. · min 6, max 100
closesAtoptionalstring (date-time)
maxSubmissionsoptionalinteger≥ 1
responderIdsoptionalstring (uuid)[]Membros da comunidade. Na criação, sem a lista, quem criou.
sectionsoptionalobject[]
sections[].idoptionalstring (uuid)
sections[].positionoptionalinteger
sections[].titlerequiredstringmax 200
sections[].descriptionoptionalstringmax 2000
sections[].fieldsoptionalobject[]
sections[].fields[].idoptionalstring (uuid)
sections[].fields[].sectionIdoptionalstring (uuid)
sections[].fields[].positionoptionalinteger
sections[].fields[].typerequiredNAME | EMAIL | PHONE | COMPANY | JOB_TITLE | SHORT_TEXT | LONG_TEXT | SINGLE_CHOICE | MULTIPLE_CHOICE | NUMBER | DATE | URL | CONSENT
sections[].fields[].labelrequiredstringmax 1000
sections[].fields[].helpoptionalstringmax 1000
sections[].fields[].placeholderoptionalstringmax 200
sections[].fields[].requiredoptionalboolean
sections[].fields[].optionsoptionalobject[]
sections[].fields[].minoptionalnumber
sections[].fields[].maxoptionalnumber
sections[].fields[].lockToProfileoptionalboolean

Responses

StatusDescription
201Criado.
401Token ausente, inválido ou expirado; token de outra comunidade (o `X-CommunityId` ou o `communityId` do corpo não é o do token); token antigo ou de uma sessão encerrada (troca de senha, convite aceito). Nesses casos a mensagem pede para entrar de novo (`auth.signInAgain`).
403O espaço não deixa esta pessoa criar, ou membro tentou ligar uma opção da equipe.
409Espaço "Um formulário" que já tem um.
422Árvore, título, URL, senha ou responsáveis inválidos (com cada caminho em `errors`).

curl example

curl -X POST "https://api.memberfy.net/api/forms" \
  -H "Authorization: Bearer $TOKEN" \
  -H "X-CommunityId: $COMMUNITY_ID" \
  -H "Content-Type: application/json" \
  -d '{}'