Signing Sessions API
अनुबंध प्रश्नों के लिए इलेक्ट्रॉनिक signing sessions बनाएं, प्रबंधित करें और ट्रैक करें।
Signing Sessions API आपको अनुबंध प्रश्नों के लिए signing sessions प्रोग्रामेटिक रूप से बनाने और प्रबंधित करने की सुविधा देती है। आप sessions बना सकते हैं, signing प्रगति ट्रैक कर सकते हैं, requests दोबारा भेज सकते हैं, sessions void कर सकते हैं, और signed दस्तावेज़ डाउनलोड कर सकते हैं।
सभी request और response bodies snake_case फ़ील्ड नामों का उपयोग करते हैं।
/api/v1/forms/:id/signing-sessionsGET/api/v1/forms/:id/signing-sessionsGET/api/v1/signing-sessions/:sessionIdPOST/api/v1/signing-sessions/:sessionId/voidPOST/api/v1/signing-sessions/:sessionId/resend/:slotNumberGET/api/v1/signing-sessions/:sessionId/documentsGET/api/v1/signing-sessions/:sessionId/documents/:docIdGET/api/v1/signing-sessions/:sessionId/auditGET/api/v1/s/:shortCodePOST/api/v1/s/:shortCode/verify-passwordCreate Session
/api/v1/forms/:id/signing-sessionsएक या अधिक अनुबंध प्रश्नों वाले फॉर्म के लिए नया signing session बनाता है। प्रत्येक signer slot के लिए unique signing links के साथ session लौटाता है।
Path Parameters
idstringफॉर्म ID
Request Body
signersarraySigner 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_daysintegerSession expire होने से पहले दिनों की संख्या। डिफ़ॉल्ट: 30।
passwordstringSigning links को सुरक्षित करने के लिए पासवर्ड।
hide_other_signersbooleanअन्य signers द्वारा भरे गए फ़ील्ड छिपाएं। डिफ़ॉल्ट: false।
require_email_verificationbooleanSigning से पहले ईमेल verification आवश्यक करें। डिफ़ॉल्ट: false।
copy_modestring"ask", "always", या "disabled"। डिफ़ॉल्ट: "ask"।
notify_emailsarrayStatus notifications प्राप्त करने वाले ईमेल पतों का array।
notify_eventsarrayEvent 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
{
"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
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
/api/v1/forms/:id/signing-sessionsकिसी फॉर्म के सभी signing sessions लौटाता है।
Query Parameters
statusstringStatus के अनुसार फ़िल्टर करें: "active", "fully_signed", "declined", "voided", "expired"।
pageintegerपेज संख्या (डिफ़ॉल्ट: 1)
per_pageintegerप्रति पेज परिणाम (डिफ़ॉल्ट: 20)
Response
{
"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
curl -X GET "https://api.nueform.io/api/v1/forms/FORM_ID/signing-sessions?status=active" \
-H "Authorization: Bearer YOUR_API_KEY"
Get Session
/api/v1/signing-sessions/:sessionIdएक single signing session को पूरे विवरण के साथ लौटाता है, जिसमें signer links और उनकी statuses शामिल हैं।
Response
Create endpoint जैसा ही session object लौटाता है, जिसमें प्रत्येक signer link के लिए अपडेटेड statuses और timestamps होते हैं।
Code Examples
curl -X GET "https://api.nueform.io/api/v1/signing-sessions/ses_abc123def456" \
-H "Authorization: Bearer YOUR_API_KEY"
Void Session
/api/v1/signing-sessions/:sessionId/voidएक active signing session को void करता है। सभी pending signing links अमान्य हो जाते हैं। जिन पक्षों ने हस्ताक्षर कर दिए हैं उन्हें सूचित किया जाता है और PDFs पर "VOIDED" वॉटरमार्क लग जाता है।
Request Body
reasonstringSession void करने का कारण।
Response
{
"id": "ses_abc123def456",
"status": "voided",
"voided_at": "2026-03-27T15:30:00.000Z",
"void_reason": "Terms changed, new agreement required"
}
Code Examples
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
/api/v1/signing-sessions/:sessionId/resend/:slotNumberकिसी विशिष्ट signer को signing request ईमेल दोबारा भेजता है। Signer का ईमेल पता कॉन्फ़िगर होना आवश्यक है।
Response
{
"success": true,
"sent_to": "john@example.com",
"slot_number": 1
}
Code Examples
curl -X POST "https://api.nueform.io/api/v1/signing-sessions/ses_abc123def456/resend/1" \
-H "Authorization: Bearer YOUR_API_KEY"
List Signed Documents
/api/v1/signing-sessions/:sessionId/documentsपूर्ण हुए session के signed दस्तावेज़ों की सूची लौटाता है। प्रत्येक दस्तावेज़ फॉर्म के एक अनुबंध प्रश्न से संबंधित है।
Response
{
"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
curl -X GET "https://api.nueform.io/api/v1/signing-sessions/ses_abc123def456/documents" \
-H "Authorization: Bearer YOUR_API_KEY"
Get Signed Document
/api/v1/signing-sessions/:sessionId/documents/:docIdकिसी विशिष्ट signed दस्तावेज़ को PDF फ़ाइल के रूप में डाउनलोड करता है।
Response
Content-Type: application/pdf के साथ PDF फ़ाइल लौटाता है।
Code Examples
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
/api/v1/signing-sessions/:sessionId/auditSigning session का पूरा ऑडिट ट्रेल लौटाता है, जिसमें view events, signatures, declines और system events शामिल हैं।
Response
{
"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
curl -X GET "https://api.nueform.io/api/v1/signing-sessions/ses_abc123def456/audit" \
-H "Authorization: Bearer YOUR_API_KEY"
Resolve Short Code
/api/v1/s/:shortCodePublic endpoint (authentication आवश्यक नहीं)। Signing short code को उस फॉर्म और session context में resolve करता है जो signing अनुभव रेंडर करने के लिए आवश्यक है।
Response
{
"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
curl -X GET "https://api.nueform.io/api/v1/s/xK9f2"
Verify Password
/api/v1/s/:shortCode/verify-passwordPublic endpoint। पासवर्ड-सुरक्षित signing session के पासवर्ड की पुष्टि करता है। सफल होने पर एक अस्थायी access token लौटाता है।
Request Body
passwordstringSession का पासवर्ड।
Response
{
"success": true,
"access_token": "tmp_abc123..."
}
Error Response (401)
{
"error": "Invalid password"
}
Code Examples
curl -X POST "https://api.nueform.io/api/v1/s/xK9f2/verify-password" \
-H "Content-Type: application/json" \
-d '{"password": "mySecretPass123"}'