बीटा
निजी बीटा प्रोग्राम चलाएँ और उनकी परीक्षक सूची प्रबंधित करें। इसके लिए प्रोजेक्ट में बीटा सुविधा सक्षम होनी चाहिए।
प्रोग्राम
GET/v1/beta/programs
| Parameter | Type | Description |
|---|---|---|
status | string | स्थिति से फ़िल्टर करें: draft, active या closed। |
limit | integer | पृष्ठ का आकार। डिफ़ॉल्ट 25। |
offset | integer | छोड़ी जाने वाली वस्तुओं की संख्या। डिफ़ॉल्ट 0। |
GET/v1/beta/programs/:id
POST/v1/beta/programs
| Parameter | Type | Description |
|---|---|---|
namerequired | string | प्रोग्राम का नाम। URL slug इसी से बनता है और प्रोजेक्ट के भीतर अद्वितीय किया जाता है। |
version | string | परीक्षण के अधीन semver संस्करण (X.Y.Z)। |
summary | string | बीटा का संक्षिप्त विवरण। |
access_url | string | परीक्षक बिल्ड कहाँ से प्राप्त करें (जैसे TestFlight लिंक)। |
access_instructions | string | परीक्षक कैसे सेट अप करें। |
status | string | draft, active या closed। डिफ़ॉल्ट draft। |
allow_public_signup | boolean | पोर्टल लिंक से सार्वजनिक ऑप्ट-इन की अनुमति दें। डिफ़ॉल्ट false। |
feedback_deadline | string | ISO-8601 टाइमस्टैम्प जिसके बाद फ़ीडबैक बंद हो जाता है। |
PATCH/v1/beta/programs/:id
| Parameter | Type | Description |
|---|---|---|
name | string | प्रोग्राम का नाम। |
version | string | परीक्षण के अधीन semver संस्करण (X.Y.Z)। |
summary | string | बीटा का संक्षिप्त विवरण। |
access_url | string | परीक्षक बिल्ड कहाँ से प्राप्त करें। |
access_instructions | string | परीक्षक कैसे सेट अप करें। |
status | string | draft, active या closed। |
allow_public_signup | boolean | पोर्टल लिंक से सार्वजनिक ऑप्ट-इन की अनुमति दें। |
feedback_deadline | string | ISO-8601 टाइमस्टैम्प जिसके बाद फ़ीडबैक बंद हो जाता है। |
DELETE/v1/beta/programs/:id
परीक्षक
GET/v1/beta/programs/:programId/testers
| Parameter | Type | Description |
|---|---|---|
status | string | स्थिति से फ़िल्टर करें: invited, joined, declined या revoked। |
limit | integer | पृष्ठ का आकार। डिफ़ॉल्ट 25। |
offset | integer | छोड़ी जाने वाली वस्तुओं की संख्या। डिफ़ॉल्ट 0। |
GET/v1/beta/programs/:programId/testers/:id
POST/v1/beta/programs/:programId/testers
| Parameter | Type | Description |
|---|---|---|
emailrequired | string | नामांकित किए जाने वाले परीक्षक का ईमेल। |
DELETE/v1/beta/programs/:programId/testers/:id
लेखन के लिए सशुल्क-योजना API पहुँच आवश्यक है Pro। slug प्रोग्राम के
name से बनता है और प्रोजेक्ट के भीतर अद्वितीय किया जाता है। परीक्षक नामांकित करना ईमेल पर
idempotent है और स्वीकृति token लौटाता है — API कोई ईमेल नहीं भेजता, इसलिए उससे पोर्टल
जॉइन लिंक (/beta/join?token=...) बनाएँ और स्वयं पहुँचाएँ। DELETE 204 लौटाता है;
प्रोग्राम हटाने पर उसके परीक्षक और फ़ीडबैक भी हट जाते हैं, और परीक्षक हटाना स्थायी है।
प्रोग्राम सूचीबद्ध करना
curl "https://api.supdesk.app/v1/beta/programs?status=active&limit=10" \
-H "Authorization: Bearer sd_live_..."{
"data": [
{
"id": "bp_abc123",
"project_id": "prj_9f2a",
"name": "Mobile App v2",
"version": "2.0.0",
"slug": "mobile-app-v2",
"summary": "Early access to the new mobile experience.",
"access_url": "https://testflight.apple.com/join/abcd",
"access_instructions": "Install TestFlight, then open the invite link.",
"status": "active",
"allow_public_signup": true,
"feedback_deadline": "2026-08-01T00:00:00Z",
"created_at": "2026-07-01T09:12:00Z"
}
],
"pagination": { "limit": 25, "offset": 0, "has_more": false }
}एक प्रोग्राम बनाना
curl -X POST https://api.supdesk.app/v1/beta/programs \
-H "Authorization: Bearer sd_live_..." \
-H "Content-Type: application/json" \
-d '{
"name": "Mobile App v2",
"version": "2.0.0",
"summary": "Early access to the new mobile experience.",
"status": "active",
"allow_public_signup": true
}'{
"data": {
"id": "bp_abc123",
"project_id": "prj_9f2a",
"name": "Mobile App v2",
"version": "2.0.0",
"slug": "mobile-app-v2",
"summary": "Early access to the new mobile experience.",
"access_url": null,
"access_instructions": null,
"status": "active",
"allow_public_signup": true,
"feedback_deadline": null,
"created_at": "2026-07-01T09:12:00Z"
}
}एक प्रोग्राम अपडेट करना
केवल वे फ़ील्ड बदलते हैं जो आप भेजते हैं; छोड़े गए फ़ील्ड अछूते रहते हैं।
curl -X PATCH https://api.supdesk.app/v1/beta/programs/bp_abc123 \
-H "Authorization: Bearer sd_live_..." \
-H "Content-Type: application/json" \
-d '{ "status": "closed" }'{
"data": {
"id": "bp_abc123",
"project_id": "prj_9f2a",
"name": "Mobile App v2",
"version": "2.0.0",
"slug": "mobile-app-v2",
"summary": "Early access to the new mobile experience.",
"access_url": null,
"access_instructions": null,
"status": "closed",
"allow_public_signup": true,
"feedback_deadline": null,
"created_at": "2026-07-01T09:12:00Z"
}
}एक प्रोग्राम हटाना
curl -X DELETE https://api.supdesk.app/v1/beta/programs/bp_abc123 \
-H "Authorization: Bearer sd_live_..."204 No Content लौटाता है। प्रोग्राम के परीक्षक और उनका फ़ीडबैक भी हट जाते हैं।
परीक्षक सूचीबद्ध करना
curl "https://api.supdesk.app/v1/beta/programs/bp_abc123/testers?status=invited" \
-H "Authorization: Bearer sd_live_..."{
"data": [
{
"id": "bt_def456",
"beta_program_id": "bp_abc123",
"email": "jamie@example.com",
"token": "9d8c7b...",
"source": "invite",
"status": "invited",
"end_user_id": null,
"invited_at": "2026-07-02T10:00:00Z",
"joined_at": null
}
],
"pagination": { "limit": 25, "offset": 0, "has_more": false }
}एक परीक्षक नामांकित करना
ईमेल पर idempotent: प्रोग्राम में पहले से मौजूद पते को नामांकित करने पर 201 के बजाय
200 के साथ उसकी मौजूदा पंक्ति लौटती है।
curl -X POST https://api.supdesk.app/v1/beta/programs/bp_abc123/testers \
-H "Authorization: Bearer sd_live_..." \
-H "Content-Type: application/json" \
-d '{ "email": "jamie@example.com" }'{
"data": {
"id": "bt_def456",
"beta_program_id": "bp_abc123",
"email": "jamie@example.com",
"token": "9d8c7b...",
"source": "invite",
"status": "invited",
"end_user_id": null,
"invited_at": "2026-07-02T10:00:00Z",
"joined_at": null
}
}लौटाए गए token से पोर्टल जॉइन लिंक (/beta/join?token=...) बनाएँ और उसे स्वयं ईमेल
करें।
एक परीक्षक हटाना
curl -X DELETE https://api.supdesk.app/v1/beta/programs/bp_abc123/testers/bt_def456 \
-H "Authorization: Bearer sd_live_..."204 No Content लौटाता है। परीक्षक हटाना स्थायी है और उनका बीटा फ़ीडबैक भी हटा देता है।