NueForm

Versions API

अपने फॉर्म्स का publish इतिहास और version snapshots देखें।

Versions API आपको किसी फॉर्म का publish इतिहास देखने देता है। हर बार जब आप एक फॉर्म प्रकाशित करते हैं, NueForm उस समय की पूर्ण फॉर्म configuration और सभी प्रश्नों वाला एक versioned snapshot बनाता है। Versions में पिछले publish के बाद से क्या बदला है इसका सारांश देने वाला changelog भी शामिल होता है।

सभी response bodies snake_case फ़ील्ड नामों का उपयोग करते हैं।

फॉर्म Versions की सूची

GET/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

परिवर्तन का मानव-पठनीय विवरण

snapshotobject

publish समय पर पूर्ण फॉर्म स्थिति (सभी फॉर्म फ़ील्ड और प्रश्न शामिल)

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

json
{
  "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": { ... }
    }
  ]
}

कोड उदाहरण

bash
curl -X GET "https://api.nueform.io/api/v1/forms/665a1b2c3d4e5f6a7b8c9d0e/versions" \
  -H "Authorization: Bearer YOUR_API_KEY"

Versioning कैसे काम करता है

  1. संपादित करें -- अपने फॉर्म में बदलाव करें (प्रश्न जोड़ें, थीम अपडेट करें, settings संशोधित करें)। फॉर्म का has_unpublished_changes flag true पर सेट हो जाता है।
  2. प्रकाशित करें -- नया version बनाने के लिए POST /api/v1/forms/:id/publish कॉल करें। NueForm वर्तमान फॉर्म स्थिति का snapshot लेता है, changelog रिकॉर्ड करता है, और version नंबर बढ़ाता है।
  3. लाइव फॉर्म -- उत्तरदाता हमेशा नवीनतम प्रकाशित version देखते हैं। फॉर्म पर published_version_id सक्रिय version की ओर इंगित करता है।
  4. अप्रकाशित करें -- फॉर्म को ऑफ़लाइन करने के लिए DELETE /api/v1/forms/:id/publish कॉल करें। Version इतिहास संरक्षित रहता है।

वर्तमान फॉर्म स्थिति (Forms API के माध्यम से संपादन योग्य) नवीनतम प्रकाशित version से भिन्न हो सकती है यदि अंतिम publish के बाद संपादन किए गए हैं।


Error Responses

इस endpoint द्वारा लौटाए गए मानक error responses।

Error Codes

401Unauthorized

API key गायब या अमान्य है

403Forbidden

टीम फॉर्म्स के लिए अपर्याप्त अनुमतियां

404Not Found

फॉर्म नहीं मिला

500Server Error

Internal server error

Error उदाहरण

json
{
  "error": "Form not found"
}
अंतिम अपडेट: 6 अप्रैल 2026