Skip to Content
API संदर्भहेल्प सेंटर

हेल्प सेंटर

प्रोजेक्ट के हेल्प-सेंटर लेख और उनकी श्रेणियाँ प्रबंधित करें। इसके लिए प्रोजेक्ट में हेल्प सेंटर सक्षम होना चाहिए — जब यह बंद हो, तो नीचे दिया हर एंडपॉइंट 404 लौटाता है।

लेख का मुख्य पाठ Markdown है, HTML नहीं। पोर्टल उन्हें ऐसे व्यूअर से रेंडर करता है जो कच्चे HTML का मूल्यांकन कभी नहीं करता, इसलिए आप जो भी HTML पोस्ट करेंगे वह पाठकों को अक्षरशः पाठ के रूप में दिखेगा।

GET/v1/articles

ParameterTypeDescription
statusstringस्थिति से फ़िल्टर करें: draft, published या archived।
category_idstringकेवल इस श्रेणी के लेख।
limitintegerपृष्ठ का आकार। डिफ़ॉल्ट 25, अधिकतम 100।
offsetintegerछोड़ी जाने वाली वस्तुओं की संख्या। डिफ़ॉल्ट 0।

GET/v1/articles/search

ParameterTypeDescription
qrequiredstringखोज क्वेरी। उद्धृत वाक्यांश, OR और -निषेध का समर्थन करती है।
limitintegerपरिणामों की संख्या। डिफ़ॉल्ट 25, अधिकतम 100।

GET/v1/articles/:id

POST/v1/articles

ParameterTypeDescription
titlerequiredstring200 वर्णों तक।
bodystringMarkdown। 50,000 वर्णों तक।
excerptstringएक-पंक्ति सारांश, 300 वर्णों तक। न देने पर मुख्य पाठ से बनाया जाता है।
slugstringURL खंड, 80 वर्णों तक। न देने पर शीर्षक से बनाया जाता है।
category_idstringवह श्रेणी जिसके अंतर्गत लेख रखा जाए।

PATCH/v1/articles/:id

ParameterTypeDescription
titlestringनया शीर्षक।
bodystringनया Markdown मुख्य पाठ।
excerptstringनया सारांश; null इसे साफ़ कर देता है।
slugstringनया URL खंड।
category_idstringनई श्रेणी; null लेख को अवर्गीकृत कर देता है।
statusstringdraft, published या archived।

DELETE/v1/articles/:id

लेख हमेशा ड्राफ़्ट के रूप में बनते हैं — प्रकाशन एक अलग PATCH है, इसलिए कुछ भी गलती से आपके पोर्टल तक नहीं पहुँचता। लेख बनाने के लिए सशुल्क-योजना लेखन पहुँच आवश्यक है, और यहाँ की हर अन्य परिवर्तनकारी विधि के लिए भी।

लेख सूचीबद्ध करना

curl "https://api.supdesk.app/v1/articles?status=published&limit=10" \ -H "Authorization: Bearer sd_live_..."
{ "data": [ { "id": "8f7a...", "title": "How do I reset my password?", "slug": "how-do-i-reset-my-password", "body": "Open **Settings**, then choose *Reset password*.", "excerpt": "Open Settings, then choose Reset password.", "status": "published", "category_id": "3c2b...", "published_at": "2026-07-01T09:12:00Z", "helpful_count": 12, "not_helpful_count": 1, "created_at": "2026-06-28T14:03:00Z", "updated_at": "2026-07-01T09:12:00Z" } ], "pagination": { "limit": 10, "offset": 0, "has_more": false } }

बिना फ़िल्टर के, यह ड्राफ़्ट और संग्रहीत लेख भी लौटाता है, नवीनतम संपादन पहले। ग्राहक वास्तव में जो देख सकते हैं उसके लिए status=published पास करें।

लेख खोजना

curl "https://api.supdesk.app/v1/articles/search?q=reset+password&limit=5" \ -H "Authorization: Bearer sd_live_..."
{ "data": [ { "id": "8f7a...", "title": "How do I reset my password?", "slug": "how-do-i-reset-my-password", "category_slug": "getting-started", "category_name": "Getting started", "snippet": "Open Settings, then choose Reset password.", "rank": 0.6079 } ] }

केवल प्रकाशित लेखों पर पूर्ण-पाठ खोज, क्रमबद्ध, मिलान के आसपास सादे-पाठ स्निपेट के साथ। शीर्षक सारांशों से ऊपर और सारांश मुख्य पाठ से ऊपर भारित होते हैं। खाली या अपठनीय क्वेरी त्रुटि के बजाय खाली सूची लौटाती है।

एक लेख प्राप्त करना

curl "https://api.supdesk.app/v1/articles/8f7a..." \ -H "Authorization: Bearer sd_live_..."

सूची जैसे ही स्वरूप में एक लेख लौटाता है, या आपके प्रोजेक्ट में id अज्ञात होने पर 404

एक लेख बनाना

curl -X POST https://api.supdesk.app/v1/articles \ -H "Authorization: Bearer sd_live_..." \ -H "Content-Type: application/json" \ -d '{ "title": "How do I reset my password?", "body": "Open **Settings**, then choose *Reset password*.", "category_id": "3c2b..." }'
{ "data": { "id": "8f7a...", "title": "How do I reset my password?", "slug": "how-do-i-reset-my-password", "body": "Open **Settings**, then choose *Reset password*.", "excerpt": "Open Settings, then choose Reset password.", "status": "draft", "category_id": "3c2b...", "published_at": null, "helpful_count": 0, "not_helpful_count": 0, "created_at": "2026-07-01T09:12:00Z", "updated_at": "2026-07-01T09:12:00Z" } }

201 लौटाता है। slug न देने पर वह शीर्षक से बनता है, और यदि वह पता लिया जा चुका हो तो -2, -3… प्रत्यय के साथ। excerpt न देने पर वह मुख्य पाठ से बनता है।

आपकी योजना तय करती है कि कोई प्रोजेक्ट कितने लेख रख सकता है — Free 5, Pro 50, Team असीमित। सीमा के बाद यह limit_reached (429) लौटाता है। संग्रहीत लेख नहीं गिने जाते, इसलिए एक को संग्रहीत करने से एक जगह खाली हो जाती है।

एक लेख अपडेट करना

curl -X PATCH https://api.supdesk.app/v1/articles/8f7a... \ -H "Authorization: Bearer sd_live_..." \ -H "Content-Type: application/json" \ -d '{ "status": "published" }'

केवल वही फ़ील्ड लिखे जाते हैं जो आप भेजते हैं, इसलिए PATCH कभी उस चीज़ को खाली नहीं करता जिसे आपने छोड़ दिया। status को published करने पर पहली बार published_at अंकित होता है और बाद में वही बना रहता है — वर्तनी सुधारने से कोई पुराना लेख नया नहीं लगने लगता। इसे archived करने पर लेख हटाए बिना सेवा से बाहर हो जाता है।

किसी लेख को संग्रह से बाहर निकालने पर योजना की सीमा फिर जाँची जाती है, और limit_reached लौट सकता है।

एक लेख हटाना

curl -X DELETE https://api.supdesk.app/v1/articles/8f7a... \ -H "Authorization: Bearer sd_live_..."

लेख और उसका पाठक फ़ीडबैक स्थायी रूप से हटाता है, और 204 लौटाता है। किसी लेख को रखते हुए सेवा से बाहर करने के लिए, उसकी स्थिति archived पर सेट करें।

श्रेणियाँ

GET/v1/article-categories

ParameterTypeDescription
limitintegerपृष्ठ का आकार। डिफ़ॉल्ट 25, अधिकतम 100।
offsetintegerछोड़ी जाने वाली वस्तुओं की संख्या। डिफ़ॉल्ट 0।

GET/v1/article-categories/:id

POST/v1/article-categories

ParameterTypeDescription
namerequiredstring80 वर्णों तक।
descriptionstringपोर्टल पर दिखता है, 300 वर्णों तक।
sort_orderintegerप्रदर्शन स्थिति। डिफ़ॉल्ट 0।

PATCH/v1/article-categories/:id

ParameterTypeDescription
namestringनया नाम।
descriptionstringनया विवरण; null इसे साफ़ कर देता है।
sort_orderintegerनई प्रदर्शन स्थिति।

DELETE/v1/article-categories/:id

curl -X POST https://api.supdesk.app/v1/article-categories \ -H "Authorization: Bearer sd_live_..." \ -H "Content-Type: application/json" \ -d '{ "name": "Getting started", "sort_order": 1 }'
{ "data": { "id": "3c2b...", "name": "Getting started", "slug": "getting-started", "description": null, "sort_order": 1, "created_at": "2026-07-01T09:12:00Z" } }

श्रेणियाँ sort_order से, फिर नाम से सूचीबद्ध होती हैं। Slug नाम से उसी तरह बनते हैं जैसे लेख के slug शीर्षक से बनते हैं।

किसी श्रेणी को हटाने पर 204 लौटता है और उसके लेख नहीं हटते — वे अवर्गीकृत हो जाते हैं और खोज से तथा हेल्प सेंटर के पहले पृष्ठ से पहुँच योग्य बने रहते हैं।

त्रुटियाँ

मानक कोड के साथ-साथ:

कोडस्थितिकब
not_found404अज्ञात id — या इस प्रोजेक्ट के लिए हेल्प सेंटर बंद है।
forbidden403ऐसी योजना पर लेखन जिसमें API लेखन पहुँच नहीं है।
limit_reached429योजना का लेख भत्ता समाप्त हो गया।
Last updated on