Versions API
अपने फॉर्म्स का publish इतिहास और version snapshots देखें।
Versions API आपको किसी फॉर्म का publish इतिहास देखने देता है। हर बार जब आप एक फॉर्म प्रकाशित करते हैं, NueForm उस समय की पूर्ण फॉर्म configuration और सभी प्रश्नों वाला एक versioned snapshot बनाता है। Versions में पिछले publish के बाद से क्या बदला है इसका सारांश देने वाला changelog भी शामिल होता है।
सभी response bodies snake_case फ़ील्ड नामों का उपयोग करते हैं।
फॉर्म Versions की सूची
/api/v1/forms/:id/versionsकिसी फॉर्म के सभी प्रकाशित versions लौटाता है, version नंबर के अनुसार क्रमबद्ध (सबसे हालिया पहले)। प्रत्येक version में पूर्ण फॉर्म snapshot और क्या संशोधित किया गया था इसका changelog शामिल है।
Path Parameters
idstringआवश्यकफॉर्म ID
Response Fields
idstringयूनिक version ID
form_idstringवह फॉर्म जिससे यह version संबंधित है
versionintegerक्रमिक version नंबर (1, 2, 3, ...)
published_bystringइस version को प्रकाशित करने वाले व्यक्ति की User ID
published_by_namestringप्रकाशित करने वाले व्यक्ति का display name
created_atstringयह version कब प्रकाशित हुआ इसका ISO 8601 टाइमस्टैम्प
changelogarrayपिछले version के बाद से परिवर्तनों की सूची
changelog[].typestringपरिवर्तन प्रकार (नीचे Changelog Entry Types देखें)
changelog[].descriptionstringपरिवर्तन का मानव-पठनीय विवरण
snapshotobjectpublish समय पर पूर्ण फॉर्म स्थिति (सभी फॉर्म फ़ील्ड और प्रश्न शामिल)
Changelog Entry Types
form_createdstringफॉर्म प्रारंभ में बनाया गया
publishedstringएक publish event (version नंबर शामिल)
question_addedstringएक नया प्रश्न जोड़ा गया
question_updatedstringएक मौजूदा प्रश्न संशोधित किया गया
question_deletedstringएक प्रश्न हटाया गया
question_reorderedstringप्रश्नों का क्रम बदला गया
theme_changedstringएक थीम property संशोधित की गई
settings_changedstringएक फॉर्म setting संशोधित की गई
title_changedstringफॉर्म शीर्षक बदला गया
description_changedstringफॉर्म विवरण बदला गया
Response
{
"versions": [
{
"id": "66c3d4e5f6a7b8c9d0e1f2a3",
"form_id": "665a1b2c3d4e5f6a7b8c9d0e",
"version": 3,
"published_by": "665a0a1b2c3d4e5f6a7b8c9d",
"published_by_name": "Alice Johnson",
"created_at": "2026-02-28T14:00:00.000Z",
"changelog": [
{
"type": "question_updated",
"description": "Updated question: \"How did you hear about us?\""
},
{
"type": "question_added",
"description": "Added question: \"Would you recommend us to a friend?\""
},
{
"type": "theme_changed",
"description": "Changed theme color from #6366f1 to #2563eb"
}
],
"snapshot": {
"title": "Customer Feedback Survey",
"description": "Help us improve our product",
"theme_color": "#2563eb",
"background_color": "#ffffff",
"show_progress_bar": true,
"questions": [
{
"id": "66a1b2c3d4e5f6a7b8c9d001",
"type": "short_text",
"title": "What is your name?",
"required": true,
"order": 0,
"properties": {}
},
{
"id": "66a1b2c3d4e5f6a7b8c9d002",
"type": "multiple_choice",
"title": "How did you hear about us?",
"required": true,
"order": 1,
"properties": {
"choices": [
{ "label": "Search engine" },
{ "label": "Social media" },
{ "label": "Friend or colleague" },
{ "label": "Other" }
]
}
},
{
"id": "66a1b2c3d4e5f6a7b8c9d004",
"type": "yes_no",
"title": "Would you recommend us to a friend?",
"required": false,
"order": 2,
"properties": {}
}
]
}
},
{
"id": "66c2d3e4f5a6b7c8d9e0f1a2",
"form_id": "665a1b2c3d4e5f6a7b8c9d0e",
"version": 2,
"published_by": "665a0a1b2c3d4e5f6a7b8c9d",
"published_by_name": "Alice Johnson",
"created_at": "2026-02-15T10:30:00.000Z",
"changelog": [
{
"type": "question_added",
"description": "Added question: \"How did you hear about us?\""
}
],
"snapshot": { ... }
},
{
"id": "66c1d2e3f4a5b6c7d8e9f0a1",
"form_id": "665a1b2c3d4e5f6a7b8c9d0e",
"version": 1,
"published_by": "665a0a1b2c3d4e5f6a7b8c9d",
"published_by_name": "Alice Johnson",
"created_at": "2026-01-15T10:30:00.000Z",
"changelog": [
{
"type": "form_created",
"description": "Created form"
}
],
"snapshot": { ... }
}
]
}
कोड उदाहरण
curl -X GET "https://api.nueform.io/api/v1/forms/665a1b2c3d4e5f6a7b8c9d0e/versions" \
-H "Authorization: Bearer YOUR_API_KEY"
Versioning कैसे काम करता है
- संपादित करें -- अपने फॉर्म में बदलाव करें (प्रश्न जोड़ें, थीम अपडेट करें, settings संशोधित करें)। फॉर्म का
has_unpublished_changesflagtrueपर सेट हो जाता है। - प्रकाशित करें -- नया version बनाने के लिए
POST /api/v1/forms/:id/publishकॉल करें। NueForm वर्तमान फॉर्म स्थिति का snapshot लेता है, changelog रिकॉर्ड करता है, और version नंबर बढ़ाता है। - लाइव फॉर्म -- उत्तरदाता हमेशा नवीनतम प्रकाशित version देखते हैं। फॉर्म पर
published_version_idसक्रिय version की ओर इंगित करता है। - अप्रकाशित करें -- फॉर्म को ऑफ़लाइन करने के लिए
DELETE /api/v1/forms/:id/publishकॉल करें। Version इतिहास संरक्षित रहता है।
वर्तमान फॉर्म स्थिति (Forms API के माध्यम से संपादन योग्य) नवीनतम प्रकाशित version से भिन्न हो सकती है यदि अंतिम publish के बाद संपादन किए गए हैं।
Error Responses
इस endpoint द्वारा लौटाए गए मानक error responses।
Error Codes
401UnauthorizedAPI key गायब या अमान्य है
403Forbiddenटीम फॉर्म्स के लिए अपर्याप्त अनुमतियां
404Not Foundफॉर्म नहीं मिला
500Server ErrorInternal server error
Error उदाहरण
{
"error": "Form not found"
}