Forms-API
Formulare erstellen, abrufen, aktualisieren, löschen, veröffentlichen und duplizieren.
Mit der Forms-API verwaltest du deine NueForm-Formulare programmatisch. Du kannst Formulare auflisten, erstellen, abrufen, aktualisieren, löschen, veröffentlichen, ihre Veröffentlichung aufheben und sie duplizieren.
Alle Request- und Antwort-Bodys verwenden Feldnamen in snake_case.
Formulare auflisten
/api/v1/formsGibt eine paginierte Liste der Formulare zurück, auf die der authentifizierte Nutzer Zugriff hat — inklusive persönlicher Formulare und Formulare aus Teams, denen der Nutzer angehört.
Query-Parameter
pageintegerSeitennummer (Standard: 1)
per_pageintegerErgebnisse pro Seite (Standard: 50)
searchstringFiltert Formulare nach Titel (Teiltreffer ohne Beachtung der Groß-/Kleinschreibung)
team_idstringGibt nur Formulare dieses Teams zurück
publishedbooleanFiltert nach Veröffentlichungsstatus (true oder false)
Antwort
{
"forms": [
{
"id": "665a1b2c3d4e5f6a7b8c9d0e",
"title": "Customer Feedback Survey",
"description": "Quarterly satisfaction survey for Q1 2026",
"slug": "a1b2c3d4e5f6",
"published": true,
"created_at": "2026-01-15T10:30:00.000Z",
"updated_at": "2026-02-20T14:22:00.000Z",
"theme_color": "#6366f1",
"background_color": "#0a0a0a",
"response_count": 142,
"team": {
"id": "665b2c3d4e5f6a7b8c9d0e1f",
"name": "Marketing"
}
}
],
"total": 24,
"page": 1,
"per_page": 50
}
Codebeispiele
curl -X GET "https://api.nueform.io/api/v1/forms?page=1&per_page=10&published=true" \
-H "Authorization: Bearer YOUR_API_KEY"
Formular erstellen
/api/v1/formsErstellt ein neues Formular. Optional kannst du ein Array von Fragen mitgeben, die zusammen mit dem Formular erstellt werden.
Request-Body
titlestringFormulartitel (darf nicht leer sein)
descriptionstringFormularbeschreibung
team_idstringWeist das Formular einem Team zu (erfordert die Berechtigung create_forms)
publishedbooleanOb das Formular veröffentlicht ist (Standard: false)
theme_colorstringPrimäre Theme-Farbe (Hex, Standard: #6366f1)
background_colorstringHintergrundfarbe (Hex, Standard: #0a0a0a)
text_colorstringTextfarbe der Fragen (Hex)
answer_text_colorstringTextfarbe der Antworteingaben (Hex)
placeholder_colorstringPlatzhalterfarbe der Eingabefelder (Hex)
button_colorstringHintergrundfarbe der Schaltflächen (Hex)
button_text_colorstringTextfarbe der Schaltflächen (Hex)
title_colorstringTextfarbe der Titel (Hex)
description_colorstringTextfarbe der Beschreibungen (Hex)
option_text_colorstringTextfarbe der Auswahloptionen (Hex)
indicator_bg_colorstringHintergrundfarbe des Schrittindikators (Hex)
indicator_text_colorstringTextfarbe des Schrittindikators (Hex)
font_familystringSchriftfamilie der Fragen
font_family_answerstringSchriftfamilie der Antworteingaben
font_family_buttonstringSchriftfamilie der Schaltflächen
font_family_descriptionstringSchriftfamilie der Beschreibungen
font_family_optionstringSchriftfamilie der Auswahloptionen
font_family_indicatorstringSchriftfamilie des Schrittindikators
question_font_sizestringSchriftgröße der Fragen (z. B. "24px")
custom_cssstringEigenes CSS, das in den Formular-Renderer injiziert wird
show_progress_barbooleanZeigt einen Fortschrittsbalken (Standard: true)
branding_logo_urlstringURL des Branding-Logos
branding_footer_textstringEigener Footer-Text
hide_brandingbooleanBlendet das NueForm-Branding aus (Standard: false)
top_logo_urlstringURL für ein Logo am oberen Rand des Formulars
top_logo_sizestringGröße des oberen Logos (z. B. "120px")
top_logo_alignmentstringAusrichtung des oberen Logos ("left", "center", "right")
top_logo_cssstringEigenes CSS für das obere Logo
watermark_cssstringEigenes CSS für das Wasserzeichen
welcome_titlestringTitel des Willkommensbildschirms
welcome_descriptionstringBeschreibung des Willkommensbildschirms
welcome_button_textstringSchaltflächentext des Willkommensbildschirms (Standard: "Start")
thank_you_titlestringTitel des Dankesbildschirms (Standard: "Thank you!")
thank_you_descriptionstringBeschreibung des Dankesbildschirms
modestringFormularmodus: "standard", "knowledge_quiz", "lead_qualification", "match_quiz" (Standard: "standard")
quiz_settingsobjectQuiz-Konfiguration (für Quiz-Modi)
variablesobjectVariablen auf Formularebene für die Logik
start_logic_jumpsarrayLogiksprung-Regeln, die beim Formularstart angewendet werden
webhook_urlstringURL, die bei Übermittlung einen POST erhält (Pro-Plan erforderlich)
limit_one_responsebooleanBegrenzt auf eine Antwort pro Besucher (Standard: false)
incremental_submissionbooleanSpeichert Antworten inkrementell, während der Teilnehmer voranschreitet (Standard: false)
questionsarrayArray der zu erstellenden Frageobjekte (siehe unten)
Request-Beispiel
{
"title": "Customer Feedback Survey",
"description": "Help us improve our product",
"theme_color": "#2563eb",
"background_color": "#ffffff",
"show_progress_bar": true,
"welcome_title": "We value your feedback",
"welcome_description": "This survey takes about 3 minutes.",
"welcome_button_text": "Let's go",
"thank_you_title": "Thank you!",
"thank_you_description": "Your feedback helps us build a better product.",
"questions": [
{
"type": "short_text",
"title": "What is your name?",
"required": true
},
{
"type": "multiple_choice",
"title": "How did you hear about us?",
"required": true,
"properties": {
"choices": [
{ "label": "Search engine" },
{ "label": "Social media" },
{ "label": "Friend or colleague" },
{ "label": "Other" }
],
"allow_multiple": false
}
},
{
"type": "rating",
"title": "How would you rate your overall experience?",
"required": true,
"properties": {
"steps": 5,
"shape": "star"
}
}
]
}
Antwort
Gibt das erstellte Formularobjekt mit allen Fragen zurück:
{
"id": "665a1b2c3d4e5f6a7b8c9d0e",
"title": "Customer Feedback Survey",
"description": "Help us improve our product",
"slug": "a1b2c3d4e5f6",
"published": false,
"created_at": "2026-02-28T12:00:00.000Z",
"updated_at": "2026-02-28T12:00:00.000Z",
"theme_color": "#2563eb",
"background_color": "#ffffff",
"show_progress_bar": true,
"welcome_title": "We value your feedback",
"welcome_description": "This survey takes about 3 minutes.",
"welcome_button_text": "Let's go",
"thank_you_title": "Thank you!",
"thank_you_description": "Your feedback helps us build a better product.",
"questions": [
{
"id": "66a1b2c3d4e5f6a7b8c9d001",
"type": "short_text",
"title": "What is your name?",
"description": null,
"required": true,
"order": 0,
"properties": {},
"logic_jumps": [],
"validations": {}
},
{
"id": "66a1b2c3d4e5f6a7b8c9d002",
"type": "multiple_choice",
"title": "How did you hear about us?",
"description": null,
"required": true,
"order": 1,
"properties": {
"choices": [
{ "label": "Search engine" },
{ "label": "Social media" },
{ "label": "Friend or colleague" },
{ "label": "Other" }
],
"allow_multiple": false
},
"logic_jumps": [],
"validations": {}
},
{
"id": "66a1b2c3d4e5f6a7b8c9d003",
"type": "rating",
"title": "How would you rate your overall experience?",
"description": null,
"required": true,
"order": 2,
"properties": {
"steps": 5,
"shape": "star"
},
"logic_jumps": [],
"validations": {}
}
]
}
Codebeispiele
curl -X POST "https://api.nueform.io/api/v1/forms" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"title": "Customer Feedback Survey",
"description": "Help us improve our product",
"questions": [
{
"type": "short_text",
"title": "What is your name?",
"required": true
}
]
}'
Formular abrufen
/api/v1/forms/:idRuft ein einzelnes Formular per ID ab, inklusive aller Fragen in ihrer Positionsreihenfolge.
Pfad-Parameter
idstringDie Formular-ID
Antwort
{
"id": "665a1b2c3d4e5f6a7b8c9d0e",
"title": "Customer Feedback Survey",
"description": "Help us improve our product",
"slug": "a1b2c3d4e5f6",
"published": true,
"created_at": "2026-01-15T10:30:00.000Z",
"updated_at": "2026-02-20T14:22:00.000Z",
"theme_color": "#2563eb",
"background_color": "#ffffff",
"text_color": null,
"answer_text_color": null,
"placeholder_color": null,
"button_color": null,
"button_text_color": null,
"font_family": null,
"question_font_size": null,
"custom_css": null,
"show_progress_bar": true,
"incremental_submission": false,
"limit_one_response": false,
"welcome_title": "We value your feedback",
"welcome_description": "This survey takes about 3 minutes.",
"welcome_button_text": "Let's go",
"thank_you_title": "Thank you!",
"thank_you_description": "Your feedback helps us build a better product.",
"branding_logo_url": null,
"branding_footer_text": null,
"hide_branding": false,
"mode": "standard",
"webhook_url": null,
"has_unpublished_changes": false,
"published_version_id": "66c3d4e5f6a7b8c9d0e1f2a3",
"response_count": 142,
"questions": [
{
"id": "66a1b2c3d4e5f6a7b8c9d001",
"type": "short_text",
"title": "What is your name?",
"description": null,
"required": true,
"order": 0,
"properties": {},
"logic_jumps": [],
"validations": {}
}
]
}
Codebeispiele
curl -X GET "https://api.nueform.io/api/v1/forms/665a1b2c3d4e5f6a7b8c9d0e" \
-H "Authorization: Bearer YOUR_API_KEY"
Formular aktualisieren
/api/v1/forms/:idAktualisiert die Felder eines Formulars und synchronisiert seine Fragen. Wenn du ein questions-Array mitschickst, wird NueForm:
- Bestehende Fragen aktualisieren (Zuordnung per
id) - Neue Fragen erstellen (keine
idoder unbekannteid) - Fragen löschen, die am Formular existieren, aber nicht im Array enthalten sind
Ist das Formular aktuell veröffentlicht, wird das Flag has_unpublished_changes automatisch auf true gesetzt.
Pfad-Parameter
idstringDie Formular-ID
Request-Body
Akzeptiert alle Felder aus Formular erstellen außer team_id. Gib nur die Felder an, die du ändern möchtest.
Request-Beispiel
{
"title": "Updated Survey Title",
"description": "Revised description for Q2",
"theme_color": "#10b981",
"questions": [
{
"id": "66a1b2c3d4e5f6a7b8c9d001",
"type": "short_text",
"title": "What is your full name?",
"required": true
},
{
"type": "long_text",
"title": "Any additional comments?",
"required": false
}
]
}
Antwort
Gibt das aktualisierte Formularobjekt mit allen Fragen zurück (gleiches Schema wie Formular abrufen).
Codebeispiele
curl -X PUT "https://api.nueform.io/api/v1/forms/665a1b2c3d4e5f6a7b8c9d0e" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"title": "Updated Survey Title",
"theme_color": "#10b981"
}'
Formular löschen
/api/v1/forms/:idLöscht ein Formular dauerhaft samt allen zugehörigen Daten, einschließlich Fragen, Antworten, Versionen und Changelog-Einträgen. Zugehörige Datei-Uploads werden asynchron bereinigt.
Diese Aktion ist unumkehrbar. Alle für dieses Formular erfassten Antworten werden dauerhaft gelöscht.
Pfad-Parameter
idstringDie Formular-ID
Antwort
{
"success": true
}
Codebeispiele
curl -X DELETE "https://api.nueform.io/api/v1/forms/665a1b2c3d4e5f6a7b8c9d0e" \
-H "Authorization: Bearer YOUR_API_KEY"
Formular veröffentlichen
/api/v1/forms/:id/publishVeröffentlicht ein Formular, indem ein versionierter Snapshot des aktuellen Formulars und seiner Fragen erstellt wird. Jede Veröffentlichung erhöht die Versionsnummer. Das Formular wird unter seiner teilbaren URL öffentlich zugänglich.
Pfad-Parameter
idstringDie Formular-ID
Antwort
Gibt das Formularobjekt mit einem Feld published_version zurück, das die neue Versionsnummer angibt:
{
"id": "665a1b2c3d4e5f6a7b8c9d0e",
"title": "Customer Feedback Survey",
"slug": "a1b2c3d4e5f6",
"published": true,
"has_unpublished_changes": false,
"published_version_id": "66c3d4e5f6a7b8c9d0e1f2a3",
"published_version": 3,
"questions": [ ... ]
}
Codebeispiele
curl -X POST "https://api.nueform.io/api/v1/forms/665a1b2c3d4e5f6a7b8c9d0e/publish" \
-H "Authorization: Bearer YOUR_API_KEY"
Veröffentlichung aufheben
/api/v1/forms/:id/publishHebt die Veröffentlichung eines Formulars auf, sodass es unter seiner öffentlichen URL nicht mehr erreichbar ist. Der veröffentlichte Versions-Snapshot bleibt erhalten, damit du später erneut veröffentlichen kannst.
Pfad-Parameter
idstringDie Formular-ID
Antwort
Gibt das aktualisierte Formularobjekt mit published auf false zurück.
{
"id": "665a1b2c3d4e5f6a7b8c9d0e",
"title": "Customer Feedback Survey",
"published": false,
"questions": [ ... ]
}
Codebeispiele
curl -X DELETE "https://api.nueform.io/api/v1/forms/665a1b2c3d4e5f6a7b8c9d0e/publish" \
-H "Authorization: Bearer YOUR_API_KEY"
Formular duplizieren
/api/v1/forms/:id/duplicateErstellt eine Kopie eines bestehenden Formulars, inklusive aller Fragen. Logiksprung-Referenzen werden automatisch auf die neuen Frage-IDs umgemappt. Das duplizierte Formular wird immer im unveröffentlichten Zustand erstellt.
Pfad-Parameter
idstringDie ID des zu duplizierenden Formulars
Request-Body
titlestringTitel für das neue Formular (Standard: "Original Title (Copy)")
team_idstringWeist das Duplikat einem anderen Team zu
Request-Beispiel
{
"title": "Customer Feedback Survey v2",
"team_id": "665b2c3d4e5f6a7b8c9d0e1f"
}
Antwort
Gibt das neu erstellte Formularobjekt zurück (gleiches Schema wie Formular abrufen) mit published auf false.
Codebeispiele
curl -X POST "https://api.nueform.io/api/v1/forms/665a1b2c3d4e5f6a7b8c9d0e/duplicate" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{ "title": "Customer Feedback Survey v2" }'
Fehlerantworten
Alle Endpunkte geben Standard-Fehlerantworten zurück.
Fehlercodes
400Bad RequestValidierungsfehler oder fehlendes Pflichtfeld
401UnauthorizedFehlender oder ungültiger API-Schlüssel
403ForbiddenUnzureichende Berechtigungen bei Team-Formularen
404Not FoundFormular nicht gefunden
500Server ErrorInterner Serverfehler
Fehlerbeispiel
{
"error": "Title is required"
}