Docs

Public API docs for humans and agents.

The OpenAPI document is the contract, Scalar is the interactive reference, and these pages explain how to use the Austin-first API without guessing.

Subscribers

Send the full city and interest state on every autosave.

Write route

POST /api/v1/subscribers

{
  "email": "andrew@example.com",
  "citySlugs": ["austin"],
  "interestSlugs": ["run-clubs", "music"],
  "source": "api"
}

Semantics

  • The route is idempotent for a given email and current preference state.
  • Send all current `citySlugs` and `interestSlugs` with each update.
  • `contactSyncStatus` tells you whether Resend mirror sync was `synced`, `degraded`, or `skipped`.
  • Supabase remains the source of truth for preferences.

Recommended product flow

  • Capture email plus city and optional interests in one request.
  • Send a confirmation email with a signed, single-use manage-preferences URL.
  • Land the user on a page where they can confirm and edit preferences without creating a password.
  • Reuse later signed links for preference changes, unsubscribe, and resubscribe.