Skip to Content

Beta

Gestisci programmi beta privati e la loro lista di tester. Richiede che la funzionalità beta sia attiva per il progetto.

Programmi

GET/v1/beta/programs

ParameterTypeDescription
statusstringFiltra per stato: draft, active o closed.
limitintegerDimensione pagina. Predefinito 25.
offsetintegerNumero di elementi da saltare. Predefinito 0.

GET/v1/beta/programs/:id

POST/v1/beta/programs

ParameterTypeDescription
namerequiredstringNome del programma. Lo slug dell'URL ne deriva ed è reso univoco all'interno del progetto.
versionstringVersione semver in test (X.Y.Z).
summarystringBreve descrizione della beta.
access_urlstringDove i tester accedono alla build (es. un link TestFlight).
access_instructionsstringCome i tester iniziano.
statusstringdraft, active o closed. Predefinito draft.
allow_public_signupbooleanConsentire l'iscrizione pubblica tramite il link del portale. Predefinito false.
feedback_deadlinestringTimestamp ISO-8601 dopo il quale il feedback si chiude.

PATCH/v1/beta/programs/:id

ParameterTypeDescription
namestringNome del programma.
versionstringVersione semver in test (X.Y.Z).
summarystringBreve descrizione della beta.
access_urlstringDove i tester accedono alla build.
access_instructionsstringCome i tester iniziano.
statusstringdraft, active o closed.
allow_public_signupbooleanConsentire l'iscrizione pubblica tramite il link del portale.
feedback_deadlinestringTimestamp ISO-8601 dopo il quale il feedback si chiude.

DELETE/v1/beta/programs/:id

Tester

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

ParameterTypeDescription
statusstringFiltra per stato: invited, joined, declined o revoked.
limitintegerDimensione pagina. Predefinito 25.
offsetintegerNumero di elementi da saltare. Predefinito 0.

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

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

ParameterTypeDescription
emailrequiredstringEmail del tester da aggiungere.

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

Le scritture richiedono l’accesso all’API di un piano a pagamento Pro. Lo slug deriva dal name del programma ed è reso univoco all’interno del progetto. L’aggiunta di un tester è idempotente sull’email e restituisce il token di accettazione — l’API non invia email, quindi usalo per costruire il link di adesione del portale (/beta/join?token=...) e consegnalo tu stesso. DELETE restituisce 204; l’eliminazione di un programma elimina a cascata i suoi tester e il loro feedback, e l’eliminazione di un tester è permanente.

Elencare i programmi

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 } }

Creare un programma

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" } }

Aggiornare un programma

Vengono modificati solo i campi inviati; i campi omessi restano invariati.

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" } }

Eliminare un programma

curl -X DELETE https://api.supdesk.app/v1/beta/programs/bp_abc123 \ -H "Authorization: Bearer sd_live_..."

Restituisce 204 No Content. Elimina a cascata i tester del programma e il loro feedback.

Elencare i tester

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 } }

Aggiungere un tester

Idempotente sull’email: aggiungere un indirizzo già presente nel programma restituisce il suo record esistente con 200 invece di 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 } }

Usa il token restituito per costruire il link di adesione del portale (/beta/join?token=...) e inviarlo tu stesso.

Rimuovere un tester

curl -X DELETE https://api.supdesk.app/v1/beta/programs/bp_abc123/testers/bt_def456 \ -H "Authorization: Bearer sd_live_..."

Restituisce 204 No Content. La rimozione di un tester è permanente ed elimina il suo feedback beta.

Last updated on