NueForm

Signing Sessions API

अनुबंध प्रश्नों के लिए इलेक्ट्रॉनिक signing sessions बनाएं, प्रबंधित करें और ट्रैक करें।

Signing Sessions API आपको अनुबंध प्रश्नों के लिए signing sessions प्रोग्रामेटिक रूप से बनाने और प्रबंधित करने की सुविधा देती है। आप sessions बना सकते हैं, signing प्रगति ट्रैक कर सकते हैं, requests दोबारा भेज सकते हैं, sessions void कर सकते हैं, और signed दस्तावेज़ डाउनलोड कर सकते हैं।

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

Create Session

POST/api/v1/forms/:id/signing-sessions

एक या अधिक अनुबंध प्रश्नों वाले फॉर्म के लिए नया signing session बनाता है। प्रत्येक signer slot के लिए unique signing links के साथ session लौटाता है।

Path Parameters

idstring

फॉर्म ID

Request Body

signersarray

Signer configurations का array, प्रति slot एक। प्रत्येक object में slot_number (integer), first_name (string), last_name (string) और email (string) शामिल हो सकते हैं। slot_number को छोड़कर सभी फ़ील्ड वैकल्पिक हैं।

signing_orderstring

"sequential" या "any"। डिफ़ॉल्ट रूप से प्रश्न का default signing order उपयोग होता है।

expiry_daysinteger

Session expire होने से पहले दिनों की संख्या। डिफ़ॉल्ट: 30

passwordstring

Signing links को सुरक्षित करने के लिए पासवर्ड।

hide_other_signersboolean

अन्य signers द्वारा भरे गए फ़ील्ड छिपाएं। डिफ़ॉल्ट: false

require_email_verificationboolean

Signing से पहले ईमेल verification आवश्यक करें। डिफ़ॉल्ट: false

copy_modestring

"ask", "always", या "disabled"। डिफ़ॉल्ट: "ask"

notify_emailsarray

Status notifications प्राप्त करने वाले ईमेल पतों का array।

notify_eventsarray

Event types का array: "each_signature", "all_complete", "decline", "expiry"

send_signing_emailsboolean

जिन signers के ईमेल पते हैं, उन्हें signing request ईमेल भेजें। डिफ़ॉल्ट: false

custom_email_bodystring

कस्टम ईमेल टेम्पलेट। इन variables को सपोर्ट करता है: {slot_firstName}, {slot_lastName}, {slot_link}, {expiryDate}

Response

json
{
  "id": "ses_abc123def456",
  "form_id": "665a1b2c3d4e5f6a7b8c9d0e",
  "status": "active",
  "signing_order": "sequential",
  "total_slots": 2,
  "total_signed": 0,
  "expires_at": "2026-04-25T00:00:00.000Z",
  "hide_other_signers": false,
  "copy_mode": "ask",
  "signer_links": [
    {
      "slot_number": 1,
      "slot_label": "Buyer",
      "short_code": "xK9f2",
      "signing_url": "https://nue.fm/s/xK9f2",
      "first_name": "John",
      "last_name": "Smith",
      "email": "john@example.com",
      "status": "pending"
    },
    {
      "slot_number": 2,
      "slot_label": "Seller",
      "short_code": "mP3a7",
      "signing_url": "https://nue.fm/s/mP3a7",
      "first_name": null,
      "last_name": null,
      "email": null,
      "status": "pending"
    }
  ],
  "created_at": "2026-03-26T10:00:00.000Z"
}

Code Examples

bash
curl -X POST "https://api.nueform.io/api/v1/forms/FORM_ID/signing-sessions" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "signers": [
      {"slot_number": 1, "first_name": "John", "last_name": "Smith", "email": "john@example.com"},
      {"slot_number": 2, "first_name": "Jane", "last_name": "Doe"}
    ],
    "signing_order": "sequential",
    "expiry_days": 30,
    "send_signing_emails": true
  }'

List Sessions

GET/api/v1/forms/:id/signing-sessions

किसी फॉर्म के सभी signing sessions लौटाता है।

Query Parameters

statusstring

Status के अनुसार फ़िल्टर करें: "active", "fully_signed", "declined", "voided", "expired"

pageinteger

पेज संख्या (डिफ़ॉल्ट: 1)

per_pageinteger

प्रति पेज परिणाम (डिफ़ॉल्ट: 20)

Response

json
{
  "sessions": [
    {
      "id": "ses_abc123def456",
      "status": "active",
      "total_slots": 2,
      "total_signed": 1,
      "signing_order": "sequential",
      "expires_at": "2026-04-25T00:00:00.000Z",
      "created_at": "2026-03-26T10:00:00.000Z"
    }
  ],
  "total": 5,
  "page": 1,
  "per_page": 20
}

Code Examples

bash
curl -X GET "https://api.nueform.io/api/v1/forms/FORM_ID/signing-sessions?status=active" \
  -H "Authorization: Bearer YOUR_API_KEY"

Get Session

GET/api/v1/signing-sessions/:sessionId

एक single signing session को पूरे विवरण के साथ लौटाता है, जिसमें signer links और उनकी statuses शामिल हैं।

Response

Create endpoint जैसा ही session object लौटाता है, जिसमें प्रत्येक signer link के लिए अपडेटेड statuses और timestamps होते हैं।

Code Examples

bash
curl -X GET "https://api.nueform.io/api/v1/signing-sessions/ses_abc123def456" \
  -H "Authorization: Bearer YOUR_API_KEY"

Void Session

POST/api/v1/signing-sessions/:sessionId/void

एक active signing session को void करता है। सभी pending signing links अमान्य हो जाते हैं। जिन पक्षों ने हस्ताक्षर कर दिए हैं उन्हें सूचित किया जाता है और PDFs पर "VOIDED" वॉटरमार्क लग जाता है।

Request Body

reasonstring

Session void करने का कारण।

Response

json
{
  "id": "ses_abc123def456",
  "status": "voided",
  "voided_at": "2026-03-27T15:30:00.000Z",
  "void_reason": "Terms changed, new agreement required"
}

Code Examples

bash
curl -X POST "https://api.nueform.io/api/v1/signing-sessions/ses_abc123def456/void" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"reason": "Terms changed, new agreement required"}'

Resend Signing Request

POST/api/v1/signing-sessions/:sessionId/resend/:slotNumber

किसी विशिष्ट signer को signing request ईमेल दोबारा भेजता है। Signer का ईमेल पता कॉन्फ़िगर होना आवश्यक है।

Response

json
{
  "success": true,
  "sent_to": "john@example.com",
  "slot_number": 1
}

Code Examples

bash
curl -X POST "https://api.nueform.io/api/v1/signing-sessions/ses_abc123def456/resend/1" \
  -H "Authorization: Bearer YOUR_API_KEY"

List Signed Documents

GET/api/v1/signing-sessions/:sessionId/documents

पूर्ण हुए session के signed दस्तावेज़ों की सूची लौटाता है। प्रत्येक दस्तावेज़ फॉर्म के एक अनुबंध प्रश्न से संबंधित है।

Response

json
{
  "documents": [
    {
      "id": "doc_xyz789",
      "question_id": "q_abc123",
      "question_title": "Service Agreement",
      "document_url": "https://storage.nueform.io/signed/doc_xyz789.pdf",
      "document_hash": "sha256:a1b2c3d4e5f6...",
      "generated_at": "2026-03-28T12:00:00.000Z"
    }
  ]
}

Code Examples

bash
curl -X GET "https://api.nueform.io/api/v1/signing-sessions/ses_abc123def456/documents" \
  -H "Authorization: Bearer YOUR_API_KEY"

Get Signed Document

GET/api/v1/signing-sessions/:sessionId/documents/:docId

किसी विशिष्ट signed दस्तावेज़ को PDF फ़ाइल के रूप में डाउनलोड करता है।

Response

Content-Type: application/pdf के साथ PDF फ़ाइल लौटाता है।

Code Examples

bash
curl -X GET "https://api.nueform.io/api/v1/signing-sessions/ses_abc123/documents/doc_xyz789" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -o signed-document.pdf

Get Audit Trail

GET/api/v1/signing-sessions/:sessionId/audit

Signing session का पूरा ऑडिट ट्रेल लौटाता है, जिसमें view events, signatures, declines और system events शामिल हैं।

Response

json
{
  "entries": [
    {
      "id": "aud_001",
      "action": "session_created",
      "timestamp": "2026-03-26T10:00:00.000Z",
      "actor_email": "owner@company.com",
      "ip_address": "192.168.1.1",
      "user_agent": "Chrome 120 / macOS"
    },
    {
      "id": "aud_002",
      "action": "document_viewed",
      "slot_number": 1,
      "actor_email": "john@example.com",
      "timestamp": "2026-03-26T15:44:00.000Z",
      "ip_address": "10.0.0.1",
      "user_agent": "Chrome 120 / macOS"
    },
    {
      "id": "aud_003",
      "action": "signed",
      "slot_number": 1,
      "actor_name": "John Smith",
      "actor_email": "john@example.com",
      "timestamp": "2026-03-26T15:45:00.000Z",
      "ip_address": "10.0.0.1",
      "user_agent": "Chrome 120 / macOS"
    }
  ]
}

Code Examples

bash
curl -X GET "https://api.nueform.io/api/v1/signing-sessions/ses_abc123def456/audit" \
  -H "Authorization: Bearer YOUR_API_KEY"

Resolve Short Code

GET/api/v1/s/:shortCode

Public endpoint (authentication आवश्यक नहीं)। Signing short code को उस फॉर्म और session context में resolve करता है जो signing अनुभव रेंडर करने के लिए आवश्यक है।

Response

json
{
  "form_id": "665a1b2c3d4e5f6a7b8c9d0e",
  "session_id": "ses_abc123def456",
  "slot_number": 1,
  "slot_label": "Buyer",
  "status": "pending",
  "requires_password": true,
  "requires_email_verification": false,
  "signing_order": "sequential",
  "is_turn": true
}

Code Examples

bash
curl -X GET "https://api.nueform.io/api/v1/s/xK9f2"

Verify Password

POST/api/v1/s/:shortCode/verify-password

Public endpoint। पासवर्ड-सुरक्षित signing session के पासवर्ड की पुष्टि करता है। सफल होने पर एक अस्थायी access token लौटाता है।

Request Body

passwordstring

Session का पासवर्ड।

Response

json
{
  "success": true,
  "access_token": "tmp_abc123..."
}

Error Response (401)

json
{
  "error": "Invalid password"
}

Code Examples

bash
curl -X POST "https://api.nueform.io/api/v1/s/xK9f2/verify-password" \
  -H "Content-Type: application/json" \
  -d '{"password": "mySecretPass123"}'
अंतिम अपडेट: 24 अगस्त 2026