Skip to main content
Manage the full TestFlight lifecycle: create beta groups, invite testers, set per-build “What to Test” notes, and submit builds for external beta review.
All endpoints require App Store Connect authentication. Destructive operations require "confirm": true in the request body.

Beta Groups

List / Create / Delete

Create Body

Only name is required. Enabling the public link returns a shareable TestFlight invite URL.

Manage Group Membership

Add or remove builds or testers in a group:
operation is add or remove.

Beta Testers

List Testers

Create Tester

email and at least one betaGroupIds entry are required — Apple only accepts testers created directly into a group.

Delete Tester

Removes the tester from all your apps.

Resend Invitation


TestFlight Metadata

App-level (Test Information tab)

Beta description, feedback email, marketing and privacy URLs — per locale:
Create body: { "locale": "en-US", "description": "...", "feedbackEmail": "...", "marketingUrl": "...", "privacyPolicyUrl": "..." }

Build-level (“What to Test”)

Beta App Review Details

Contact and demo account shown to Apple’s beta review team:
Attributes match App Review Details (contact fields, demo account, notes).

Build Beta Detail (notifications)


External Beta Review

Builds must pass Apple’s beta review before external testers can install them.

Get / Submit

The submit endpoint verifies the build is valid and not expired before submitting.

Withdraw from Review

Apple’s API has no “cancel beta review” call — the only supported withdrawal is expiring the build, which is what this endpoint does. The build can no longer be tested afterwards, so use it deliberately.

Typical Beta Workflow

Role Requirements