API Réponses
Récupérer, filtrer, supprimer et exporter les réponses de formulaires.
L'API Réponses vous permet de récupérer, filtrer, supprimer et exporter les soumissions collectées par vos formulaires. Toutes les réponses sont liées à un formulaire spécifique.
Tous les corps de requête et de réponse utilisent des noms de champs en snake_case.
Lister les réponses
/api/v1/forms/:id/responsesRenvoie une liste paginée des réponses d'un formulaire, triées par date de soumission (les plus récentes en premier).
Paramètres de chemin
idstringrequisL'identifiant du formulaire
Paramètres de requête
pageintegerNuméro de page (par défaut : 1)
per_pageintegerRésultats par page (par défaut : 50)
sincestringDate ISO 8601. Renvoyer uniquement les réponses soumises à partir de cette date.
untilstringDate ISO 8601. Renvoyer uniquement les réponses soumises jusqu'à cette date.
completedbooleanFiltrer par statut de complétion. true renvoie uniquement les réponses complétées, false renvoie uniquement les réponses partielles.
Types de valeurs de réponse
short_textstringExemple : "Jane Smith"
long_textstringExemple : "I really enjoyed the product..."
multiple_choicestringExemple : "Option A"
multiple_choice (multi)array of stringsExemple : ["Option A", "Option C"]
ratingnumberExemple : 4
opinion_scalenumberExemple : 8
numbernumberExemple : 42
emailstringExemple : "jane@example.com"
datestring (ISO 8601)Exemple : "2026-03-15"
yes_nobooleanExemple : true
file_uploadobjectExemple : { "url": "...", "name": "doc.pdf" }
dropdownstringExemple : "United States"
Réponse
{
"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
}
Exemples de code
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"
Obtenir une réponse
/api/v1/forms/:id/responses/:responseIdRécupère une réponse unique par son identifiant.
Paramètres de chemin
idstringrequisL'identifiant du formulaire
responseIdstringrequisL'identifiant de la réponse
Résultats de quiz
Pour les formulaires utilisant les modes quiz (knowledge_quiz, lead_qualification, match_quiz), le champ quiz_results contient les données de notation.
Réponse
{
"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
}
Exemple de résultats de quiz
{
"quiz_results": {
"score": 8,
"correct_answers": 4,
"total_scorable_questions": 5,
"max_score": 10,
"matched_ending_id": null,
"form_mode": "knowledge_quiz"
}
}
Exemples de code
curl -X GET "https://api.nueform.io/api/v1/forms/665a1b2c3d4e5f6a7b8c9d0e/responses/667a1b2c3d4e5f6a7b8c9d01" \
-H "Authorization: Bearer YOUR_API_KEY"
Supprimer une réponse
/api/v1/forms/:id/responses/:responseIdSupprime définitivement une réponse unique.
Cette action est irréversible. Les données de la réponse ne peuvent pas être récupérées après suppression.
Paramètres de chemin
idstringrequisL'identifiant du formulaire
responseIdstringrequisL'identifiant de la réponse
Réponse
{
"success": true
}
Exemples de code
curl -X DELETE "https://api.nueform.io/api/v1/forms/665a1b2c3d4e5f6a7b8c9d0e/responses/667a1b2c3d4e5f6a7b8c9d01" \
-H "Authorization: Bearer YOUR_API_KEY"
Suppression groupée de réponses
/api/v1/forms/:id/responses/bulk-deleteSupprime plusieurs réponses en une seule requête. Maximum de 100 réponses par requête. Tous les identifiants de réponse spécifiés doivent appartenir au formulaire donné.
Paramètres de chemin
idstringrequisL'identifiant du formulaire
Corps de la requête
response_idsarray of stringsrequisIdentifiants des réponses à supprimer (max 100)
Exemple de requête
{
"response_ids": [
"667a1b2c3d4e5f6a7b8c9d01",
"667a1b2c3d4e5f6a7b8c9d02",
"667a1b2c3d4e5f6a7b8c9d03"
]
}
Réponse
{
"deleted": 3
}
Exemples de code
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"
]
}'
Exporter les réponses (CSV)
/api/v1/forms/:id/responses/exportExporte toutes les réponses d'un formulaire sous forme de fichier CSV. Le CSV inclut des colonnes pour responseId, submittedAt, completedAt, et une colonne par question (utilisant le titre de la question comme en-tête de colonne).
Pour les questions groupées (question_group, multi_question_page, contact_info, address), chaque sous-champ obtient sa propre colonne.
Paramètres de chemin
idstringrequisL'identifiant du formulaire
Réponse
Renvoie un fichier CSV avec 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,
Exemples de code
curl -X GET "https://api.nueform.io/api/v1/forms/665a1b2c3d4e5f6a7b8c9d0e/responses/export" \
-H "Authorization: Bearer YOUR_API_KEY" \
-o responses.csv
Réponses d'erreur
Tous les points d'accès renvoient des réponses d'erreur standard :
Codes de statut
400Bad RequestParamètres invalides, suppression groupée dépassant 100 éléments
401UnauthorizedClé API manquante ou invalide
403ForbiddenPermissions d'équipe insuffisantes
404Not FoundFormulaire ou réponse introuvable
500Internal Server ErrorErreur interne du serveur
Exemple d'erreur
{
"error": "Response not found"
}