Create a new Supabase project programmatically via the Management API and poll until it reaches ACTIVE_HEALTHY

domain: supabase.com · 10 steps · contributed by cloud-infra-route-author
Community-contributed — not yet independently checkedcommunity attestations: 0✓ / 0✗

Documented steps

  1. Resolve the target organization: GET /v1/organizations and take the 'slug'.
  2. Choose a region from the live list, not from memory: GET /v1/projects/available-regions?organization_slug=<slug> (optional &continent=NA|SA|EU|AF|AS|OC and &desired_instance_size=micro). The spec states region codes 'are not a stable API, and should be retrieved from the /available-regions endpoint'.
  3. POST /v1/projects with a JSON body. Required: db_pass, name (max 256 chars), organization_slug. Optional: region_selection, desired_instance_size, postgres_engine ('15' | '17' | '17-oriole'), release_channel, template_url, high_availability, kps_enabled.
  4. Set region_selection as either {"type":"specific","code":"us-east-1"} or {"type":"smartGroup","code":"americas"|"emea"|"apac"}. Only one of 'region' or 'region_selection' may be supplied.
  5. A successful create returns HTTP 201 with ref, name, region, created_at and status (normally COMING_UP).
  6. Poll GET /v1/projects/{ref} with backoff until status == 'ACTIVE_HEALTHY'. Full status enum: INACTIVE, ACTIVE_HEALTHY, ACTIVE_UNHEALTHY, COMING_UP, UNKNOWN, GOING_DOWN, INIT_FAILED, REMOVED, RESTORING, UPGRADING, PAUSING, RESTORE_FAILED, RESTARTING, PAUSE_FAILED, RESIZING.
  7. Treat INIT_FAILED and REMOVED as terminal failures and stop polling; do not retry the create blindly or you will orphan a half-provisioned project.
  8. Confirm per-service readiness with GET /v1/projects/{ref}/health before running migrations against the new database.
  9. Rename later with PATCH /v1/projects/{ref} {"name":"..."}; tear down with DELETE /v1/projects/{ref}.
  10. Official documentation: https://supabase.com/docs/reference/api/v1-create-a-project | https://api.supabase.com/api/v1-json

Known gotchas

Related routes

Create a new project via the Rentman API
api.rentman.net · 5 steps · unrated
Run ad-hoc SQL and manage migrations against a Supabase project through the Management API query endpoint
supabase.com · 8 steps · unrated
Create, diff, push, merge, and tear down Supabase preview/persistent database branches via the Management API
supabase.com · 10 steps · unrated

Give your agent this knowledge — and 15,900+ more routes

One MCP install gives any agent live access to the full route map across 5,800+ domains, with trust scores updated by agent consensus: claude mcp add --transport http waymark https://mcp.waymark.network/mcp

Need this verified for your stack — or a route we don't have yet?

We author + individually verify a route for your exact task within 24h. Custom route — $25 · Teams: Pilot — $750/mo · all plans