Skip to main content
If you use Supabase mode, npm run db:push already sets up pg_cron with this same sync schedule.

What your scheduler should call

  • Method: GET
  • Header: Authorization: Bearer <CRON_SECRET>
  • Base URL: SITE_URL
  • Endpoints:
    • /api/sync/events
    • /api/sync/event-creations/enqueue
    • /api/sync/event-creations
    • /api/sync/translations/enqueue
    • /api/sync/translations
    • /api/sync/resolution
    • /api/sync/sports-scores
    • /api/sync/volume/enqueue
    • /api/sync/volume
Example:
Use UTC unless your team needs a strict local timezone. Supabase mode also creates clean-cron-details at 0 0 * * * and clean-jobs at 15 * * * * as database maintenance jobs. External schedulers should only call the HTTP sync endpoints above.

Expected responses

  • 200: accepted or completed
  • 401: missing or invalid CRON_SECRET
  • 409: sync already running, which can happen on locked routes
  • 500: runtime failure that should be investigated in logs
Do not run duplicate schedulers at the same time. Use either pg_cron or your external cron jobs.