Skip to Content

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

ParameterTypeDescription
statusstringFiltrer par statut : draft, active ou closed.
limitintegerTaille de page. 25 par défaut.
offsetintegerNombre d'éléments à ignorer. 0 par défaut.

GET/v1/beta/programs/:id

POST/v1/beta/programs

ParameterTypeDescription
namerequiredstringNom du programme. Le slug de l'URL en est dérivé et rendu unique au sein du projet.
versionstringVersion semver testée (X.Y.Z).
summarystringBrève description de la bêta.
access_urlstringOù les testeurs accèdent au build (par ex. un lien TestFlight).
access_instructionsstringComment les testeurs se configurent.
statusstringdraft, active ou closed. draft par défaut.
allow_public_signupbooleanAutoriser l'inscription publique via le lien du portail. false par défaut.
feedback_deadlinestringHorodatage ISO-8601 après lequel le feedback est clôturé.

PATCH/v1/beta/programs/:id

ParameterTypeDescription
namestringNom du programme.
versionstringVersion semver testée (X.Y.Z).
summarystringBrève description de la bêta.
access_urlstringOù les testeurs accèdent au build.
access_instructionsstringComment les testeurs se configurent.
statusstringdraft, active ou closed.
allow_public_signupbooleanAutoriser l'inscription publique via le lien du portail.
feedback_deadlinestringHorodatage ISO-8601 après lequel le feedback est clôturé.

DELETE/v1/beta/programs/:id

Testeurs

GET/v1/beta/programs/:programId/testers

ParameterTypeDescription
statusstringFiltrer par statut : invited, joined, declined ou revoked.
limitintegerTaille de page. 25 par défaut.
offsetintegerNombre d'éléments à ignorer. 0 par défaut.

GET/v1/beta/programs/:programId/testers/:id

POST/v1/beta/programs/:programId/testers

ParameterTypeDescription
emailrequiredstringE-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.

Last updated on