ベータ
プライベートなベータプログラムを運用し、テスターの名簿を管理します。プロジェクトでベータ機能が有効になっている必要があります。
プログラム
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 スラッグはこれから生成され、プロジェクト内で一意になります。 |
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。スラッグはプログラムの name から生成され、プロジェクト内で一意になります。テスターの追加はメールに対して冪等で、受諾用の 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 }
}テスターの追加
メールに対して冪等です。プログラムにすでに存在するアドレスを追加すると、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 を返します。テスターの削除は取り消せず、そのベータフィードバックも削除されます。