Back to settings

API Reference

Studio

The PreFlight REST API lets you read your subscriber data programmatically. API access is available on the Studio plan.

Authentication

All API requests are authenticated using your API key, passed in the X-API-Key header. Generate your key from Settings.

curl https://api.trypreflight.io/api/v1/subscribers \
  -H "X-API-Key: YOUR_API_KEY"

Keep your key secret. Treat it like a password — never expose it in client-side code, public repositories, or browser requests. If compromised, revoke it immediately from Settings and generate a new one.

Base URL

https://api.trypreflight.io/api/v1

Endpoints

GET/api/v1/waitlists

Returns all waitlists belonging to the authenticated builder, with their subscriber counts.

Request

curl https://api.trypreflight.io/api/v1/waitlists \
  -H "X-API-Key: YOUR_API_KEY"

Response

{
  "waitlists": [
    {
      "id": "wl_abc123",
      "appName": "My App",
      "slug": "my-app",
      "status": "in_development",
      "subscriberCount": 142,
      "createdAt": "2026-01-15T10:00:00.000Z"
    }
  ]
}
GET/api/v1/waitlists/:id/subscribers

Returns all confirmed subscribers for a specific waitlist, ordered by most recent first.

Request

curl https://api.trypreflight.io/api/v1/waitlists/WAITLIST_ID/subscribers \
  -H "X-API-Key: YOUR_API_KEY"

Response

{
  "waitlistId": "wl_abc123",
  "total": 142,
  "subscribers": [
    {
      "id": "sub_xyz789",
      "email": "user@example.com",
      "confirmedAt": "2026-03-01T09:15:00.000Z",
      "betaInvited": false,
      "launchEmailSent": false
    }
  ]
}
GET/api/v1/subscribers

Returns all confirmed subscribers across all of your waitlists, ordered by most recent first. Each subscriber includes a nested waitlist object so you can tell which waitlist they belong to.

Request

curl https://api.trypreflight.io/api/v1/subscribers \
  -H "X-API-Key: YOUR_API_KEY"

Response

{
  "total": 284,
  "subscribers": [
    {
      "id": "sub_xyz789",
      "email": "user@example.com",
      "confirmedAt": "2026-03-01T09:15:00.000Z",
      "betaInvited": false,
      "launchEmailSent": false,
      "waitlist": {
        "id": "wl_abc123",
        "appName": "My App",
        "slug": "my-app"
      }
    }
  ]
}

Error codes

StatusMeaning
401Missing or invalid API key.
403Your plan doesn't include API access, or you don't own the requested resource.
404The requested waitlist was not found.
500Something went wrong on our end. Try again or contact support.

Rate limits

There are currently no hard rate limits on the API. Fair use applies — the API is intended for reading subscriber data into your own tools and automations, not for high-frequency polling. We reserve the right to introduce limits in future and will give advance notice before doing so.

Support

If you run into any issues or have a use case that isn't covered by the current API, get in touch at support@trypreflight.io.