Bêta
Gérez des programmes bêta privés et leur liste de testeurs. Nécessite que la fonctionnalité bêta soit activée pour le projet.
Programmes
GET/v1/beta/programs
| Parameter | Type | Description |
|---|---|---|
status | string | Filtrer par statut : draft, active ou closed. |
limit | integer | Taille de page. 25 par défaut. |
offset | integer | Nombre d'éléments à ignorer. 0 par défaut. |
GET/v1/beta/programs/:id
POST/v1/beta/programs
| Parameter | Type | Description |
|---|---|---|
namerequired | string | Nom du programme. Le slug de l'URL en est dérivé et rendu unique au sein du projet. |
version | string | Version semver testée (X.Y.Z). |
summary | string | Brève description de la bêta. |
access_url | string | Où les testeurs accèdent au build (par ex. un lien TestFlight). |
access_instructions | string | Comment les testeurs se configurent. |
status | string | draft, active ou closed. draft par défaut. |
allow_public_signup | boolean | Autoriser l'inscription publique via le lien du portail. false par défaut. |
feedback_deadline | string | Horodatage ISO-8601 après lequel le feedback est clôturé. |
PATCH/v1/beta/programs/:id
| Parameter | Type | Description |
|---|---|---|
name | string | Nom du programme. |
version | string | Version semver testée (X.Y.Z). |
summary | string | Brève description de la bêta. |
access_url | string | Où les testeurs accèdent au build. |
access_instructions | string | Comment les testeurs se configurent. |
status | string | draft, active ou closed. |
allow_public_signup | boolean | Autoriser l'inscription publique via le lien du portail. |
feedback_deadline | string | Horodatage ISO-8601 après lequel le feedback est clôturé. |
DELETE/v1/beta/programs/:id
Testeurs
GET/v1/beta/programs/:programId/testers
| Parameter | Type | Description |
|---|---|---|
status | string | Filtrer par statut : invited, joined, declined ou revoked. |
limit | integer | Taille de page. 25 par défaut. |
offset | integer | Nombre d'éléments à ignorer. 0 par défaut. |
GET/v1/beta/programs/:programId/testers/:id
POST/v1/beta/programs/:programId/testers
| Parameter | Type | Description |
|---|---|---|
emailrequired | string | E-mail du testeur à ajouter. |
DELETE/v1/beta/programs/:programId/testers/:id
Les écritures nécessitent un accès API d’un forfait payant Pro. Le slug est dérivé du name du programme et rendu unique au sein du projet. L’ajout d’un testeur est idempotent sur l’e-mail et renvoie le token d’acceptation — l’API n’envoie aucun e-mail, utilisez-le donc pour construire le lien d’adhésion du portail (/beta/join?token=...) et le livrer vous-même. DELETE renvoie 204 ; supprimer un programme supprime en cascade ses testeurs et leur feedback, et supprimer un testeur est définitif.
Lister les programmes
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 }
}Créer un programme
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"
}
}Mettre à jour un programme
Seuls les champs que vous envoyez sont modifiés ; les champs omis restent inchangés.
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"
}
}Supprimer un programme
curl -X DELETE https://api.supdesk.app/v1/beta/programs/bp_abc123 \
-H "Authorization: Bearer sd_live_..."Renvoie 204 No Content. Supprime en cascade les testeurs du programme et leur feedback.
Lister les testeurs
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 }
}Ajouter un testeur
Idempotent sur l’e-mail : ajouter une adresse déjà présente dans le programme renvoie son enregistrement existant avec 200 au lieu de 201.
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
}
}Utilisez le token renvoyé pour construire le lien d’adhésion du portail (/beta/join?token=...) et l’envoyer vous-même.
Retirer un testeur
curl -X DELETE https://api.supdesk.app/v1/beta/programs/bp_abc123/testers/bt_def456 \
-H "Authorization: Bearer sd_live_..."Renvoie 204 No Content. Retirer un testeur est définitif et supprime son feedback bêta.