Skip to main content

Authentication

Authentication depends on route and method:
  • Public read endpoints (GET /v1/ads/*) require API key or authenticated session.
  • Session-protected account endpoints (/v1/ads/me/*) require Better Auth session.
  • Admin endpoints (/internal/*) require Authorization: Bearer <ADMIN_API_KEY>.

Response Envelope

Successful responses use:
  • data (required)
  • meta (optional, for list endpoints)
Errors use:
  • error.code
  • error.message

Field Naming (v1)

  • Response payload fields are camelCase.
  • Query parameter names follow per-route definitions (existing snake_case filters such as is_active, media_type, ad_archive_id are preserved).