API de Respostas
Recupere, filtre, exclua e exporte respostas de formulários.
A API de Respostas permite recuperar, filtrar, excluir e exportar os envios coletados pelos seus formulários. Todas as respostas são vinculadas a um formulário específico.
Todos os corpos de requisição e resposta usam nomes de campos em snake_case.
Listar respostas
/api/v1/forms/:id/responsesRetorna uma lista paginada de respostas de um formulário, ordenada pela data de envio (mais recentes primeiro).
Parâmetros de caminho
idstringobrigatórioO ID do formulário
Parâmetros de consulta
pageintegerNúmero da página (padrão: 1)
per_pageintegerResultados por página (padrão: 50)
sincestringData em formato ISO 8601. Retorna apenas respostas enviadas nessa data ou depois dela.
untilstringData em formato ISO 8601. Retorna apenas respostas enviadas nessa data ou antes dela.
completedbooleanFiltra pelo status de conclusão. true retorna apenas respostas concluídas, false retorna apenas respostas parciais.
Tipos de valor de resposta
short_textstringExemplo: "Jane Smith"
long_textstringExemplo: "I really enjoyed the product..."
multiple_choicestringExemplo: "Option A"
multiple_choice (multi)array of stringsExemplo: ["Option A", "Option C"]
ratingnumberExemplo: 4
opinion_scalenumberExemplo: 8
numbernumberExemplo: 42
emailstringExemplo: "jane@example.com"
datestring (ISO 8601)Exemplo: "2026-03-15"
yes_nobooleanExemplo: true
file_uploadobjectExemplo: { "url": "...", "name": "doc.pdf" }
dropdownstringExemplo: "United States"
Resposta
{
"responses": [
{
"id": "667a1b2c3d4e5f6a7b8c9d01",
"form_id": "665a1b2c3d4e5f6a7b8c9d0e",
"visitor_id": "v_8f2k3j4l5m6n",
"submitted_at": "2026-02-27T15:42:00.000Z",
"completed_at": "2026-02-27T15:45:30.000Z",
"metadata": {
"user_agent": "Mozilla/5.0",
"referrer": "https://example.com"
},
"answers": [
{
"question_id": "66a1b2c3d4e5f6a7b8c9d001",
"value": "Jane Smith"
},
{
"question_id": "66a1b2c3d4e5f6a7b8c9d002",
"value": "Social media"
},
{
"question_id": "66a1b2c3d4e5f6a7b8c9d003",
"value": 5
}
],
"quiz_results": null
}
],
"total": 142,
"page": 1,
"per_page": 50
}
Exemplos de código
curl -X GET "https://api.nueform.io/api/v1/forms/665a1b2c3d4e5f6a7b8c9d0e/responses?page=1&per_page=25&completed=true" \
-H "Authorization: Bearer YOUR_API_KEY"
Obter resposta
/api/v1/forms/:id/responses/:responseIdRecupera uma única resposta pelo ID.
Parâmetros de caminho
idstringobrigatórioO ID do formulário
responseIdstringobrigatórioO ID da resposta
Resultados do questionário
Para formulários que usam modos de questionário (knowledge_quiz, lead_qualification, match_quiz), o campo quiz_results contém os dados de pontuação.
Resposta
{
"id": "667a1b2c3d4e5f6a7b8c9d01",
"form_id": "665a1b2c3d4e5f6a7b8c9d0e",
"visitor_id": "v_8f2k3j4l5m6n",
"submitted_at": "2026-02-27T15:42:00.000Z",
"completed_at": "2026-02-27T15:45:30.000Z",
"metadata": {
"user_agent": "Mozilla/5.0",
"referrer": "https://example.com"
},
"answers": [
{
"question_id": "66a1b2c3d4e5f6a7b8c9d001",
"value": "Jane Smith"
},
{
"question_id": "66a1b2c3d4e5f6a7b8c9d002",
"value": "Social media"
},
{
"question_id": "66a1b2c3d4e5f6a7b8c9d003",
"value": 5
}
],
"quiz_results": null
}
Exemplo de resultados do questionário
{
"quiz_results": {
"score": 8,
"correct_answers": 4,
"total_scorable_questions": 5,
"max_score": 10,
"matched_ending_id": null,
"form_mode": "knowledge_quiz"
}
}
Exemplos de código
curl -X GET "https://api.nueform.io/api/v1/forms/665a1b2c3d4e5f6a7b8c9d0e/responses/667a1b2c3d4e5f6a7b8c9d01" \
-H "Authorization: Bearer YOUR_API_KEY"
Excluir resposta
/api/v1/forms/:id/responses/:responseIdExclui permanentemente uma única resposta.
Esta ação é irreversível. Os dados da resposta não podem ser recuperados após a exclusão.
Parâmetros de caminho
idstringobrigatórioO ID do formulário
responseIdstringobrigatórioO ID da resposta
Resposta
{
"success": true
}
Exemplos de código
curl -X DELETE "https://api.nueform.io/api/v1/forms/665a1b2c3d4e5f6a7b8c9d0e/responses/667a1b2c3d4e5f6a7b8c9d01" \
-H "Authorization: Bearer YOUR_API_KEY"
Excluir respostas em massa
/api/v1/forms/:id/responses/bulk-deleteExclui várias respostas em uma única requisição. Máximo de 100 respostas por requisição. Todos os IDs de resposta especificados devem pertencer ao formulário indicado.
Parâmetros de caminho
idstringobrigatórioO ID do formulário
Corpo da requisição
response_idsarray of stringsobrigatórioIDs das respostas a excluir (máx. 100)
Exemplo de requisição
{
"response_ids": [
"667a1b2c3d4e5f6a7b8c9d01",
"667a1b2c3d4e5f6a7b8c9d02",
"667a1b2c3d4e5f6a7b8c9d03"
]
}
Resposta
{
"deleted": 3
}
Exemplos de código
curl -X POST "https://api.nueform.io/api/v1/forms/665a1b2c3d4e5f6a7b8c9d0e/responses/bulk-delete" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"response_ids": [
"667a1b2c3d4e5f6a7b8c9d01",
"667a1b2c3d4e5f6a7b8c9d02"
]
}'
Exportar respostas (CSV)
/api/v1/forms/:id/responses/exportExporta todas as respostas de um formulário como arquivo CSV. O CSV inclui colunas para responseId, submittedAt, completedAt e uma coluna por pergunta (usando o título da pergunta como cabeçalho da coluna).
Para perguntas de grupo (question_group, multi_question_page, contact_info, address), cada subcampo recebe sua própria coluna.
Parâmetros de caminho
idstringobrigatórioO ID do formulário
Resposta
Retorna um arquivo CSV com Content-Type: text/csv.
responseId,submittedAt,completedAt,What is your name?,How did you hear about us?,How would you rate your overall experience?
667a1b2c3d4e5f6a7b8c9d01,2026-02-27T15:42:00.000Z,2026-02-27T15:45:30.000Z,Jane Smith,Social media,5
667a1b2c3d4e5f6a7b8c9d02,2026-02-26T10:15:00.000Z,2026-02-26T10:18:22.000Z,Bob Johnson,Search engine,4
667a1b2c3d4e5f6a7b8c9d03,2026-02-25T08:30:00.000Z,,Alex Chen,Friend or colleague,
Exemplos de código
curl -X GET "https://api.nueform.io/api/v1/forms/665a1b2c3d4e5f6a7b8c9d0e/responses/export" \
-H "Authorization: Bearer YOUR_API_KEY" \
-o responses.csv
Respostas de erro
Todos os endpoints retornam respostas de erro padrão:
Códigos de status
400Bad RequestParâmetros inválidos, exclusão em massa excede 100 itens
401UnauthorizedChave de API ausente ou inválida
403ForbiddenPermissões de equipe insuficientes
404Not FoundFormulário ou resposta não encontrado
500Internal Server ErrorErro interno do servidor
Exemplo de erro
{
"error": "Response not found"
}