{"openapi":"3.1.0","info":{"title":"Supabase Database Config (BYOK) API","version":"0.1.0","description":"Supabase Database Config (BYOK) lets an AI assistant read your own Supabase Database Config data through the Supabase Database Config API with a key you supply (personal access token). Read-only: 12 tools (get_pooler_config, get_pgbouncer_config, get_postgres_config, get_disk_config, get_disk_utilization, get_disk_autoscale_config, list_backups, get_backup_schedule, get_upgrade_eligibility,...\n\nEvery operation is read-only or compute-only. The same tools are available over MCP (streamable HTTP) at https://byok-supabase-database-config.connectorbay.com/mcp.","contact":{"name":"Unify Dynamics LLC","email":"agent@connectorbay.com","url":"https://connectorbay.com/byok-supabase-database-config/docs"},"termsOfService":"https://connectorbay.com/byok-supabase-database-config/terms"},"servers":[{"url":"https://byok-supabase-database-config.connectorbay.com"}],"externalDocs":{"url":"https://connectorbay.com/byok-supabase-database-config/docs"},"security":[{"upstreamKey":[]}],"components":{"securitySchemes":{"bearer":{"type":"http","scheme":"bearer","description":"Optional. A Pro API key raises rate limits; no credentials are required."},"upstreamKey":{"type":"apiKey","in":"header","name":"X-Upstream-Key","description":"Your own key for the service this connector wraps (bring your own key). Used for that one call only; never stored, logged or cached."}},"schemas":{"Error":{"type":"object","properties":{"ok":{"const":false},"error":{"type":"object"}}}}},"paths":{"/v1/tools/get_pooler_config":{"post":{"operationId":"get_pooler_config","summary":"List the connection pooler (Supavisor) entries of a project, one per primary or read replica, with pool mode, pool size ","description":"List the connection pooler (Supavisor) entries of a project, one per primary or read replica, with pool mode, pool size and client connection limit. Connection strings are not picked. Use for \"How is the connection pooler of my Supabase project configured\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"ref":{"description":"Supabase project reference: the 20-character id in the project URL (for example 'abcdefghijklmnopqrst'), as returned by the project list.","maxLength":40,"title":"Ref","type":"string"}},"required":["ref"],"title":"get_pooler_configArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/get_pgbouncer_config":{"post":{"operationId":"get_pgbouncer_config","summary":"Show the PgBouncer settings of a project: pool mode, default pool size, client connection limit and timeouts. Use for \"W","description":"Show the PgBouncer settings of a project: pool mode, default pool size, client connection limit and timeouts. Use for \"What are the PgBouncer pool settings of my Supabase project\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"ref":{"description":"Supabase project reference: the 20-character id in the project URL (for example 'abcdefghijklmnopqrst'), as returned by the project list.","maxLength":40,"title":"Ref","type":"string"}},"required":["ref"],"title":"get_pgbouncer_configArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/get_postgres_config":{"post":{"operationId":"get_postgres_config","summary":"Show tuned Postgres parameters of a project, such as max_connections, shared_buffers, work_mem, statement_timeout and WA","description":"Show tuned Postgres parameters of a project, such as max_connections, shared_buffers, work_mem, statement_timeout and WAL limits. Use for \"What are max_connections and statement_timeout on my Supabase database\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"ref":{"description":"Supabase project reference: the 20-character id in the project URL (for example 'abcdefghijklmnopqrst'), as returned by the project list.","maxLength":40,"title":"Ref","type":"string"}},"required":["ref"],"title":"get_postgres_configArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/get_disk_config":{"post":{"operationId":"get_disk_config","summary":"Show the database disk attributes of a project: volume type, size in GB, IOPS and throughput, and when it was last chang","description":"Show the database disk attributes of a project: volume type, size in GB, IOPS and throughput, and when it was last changed. Use for \"How big is the database disk of my Supabase project\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"ref":{"description":"Supabase project reference: the 20-character id in the project URL (for example 'abcdefghijklmnopqrst'), as returned by the project list.","maxLength":40,"title":"Ref","type":"string"}},"required":["ref"],"title":"get_disk_configArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/get_disk_utilization":{"post":{"operationId":"get_disk_utilization","summary":"Show how much of the database disk is used: total, used and available bytes with the measurement time. Use for \"How full","description":"Show how much of the database disk is used: total, used and available bytes with the measurement time. Use for \"How full is the disk of my Supabase database\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"ref":{"description":"Supabase project reference: the 20-character id in the project URL (for example 'abcdefghijklmnopqrst'), as returned by the project list.","maxLength":40,"title":"Ref","type":"string"}},"required":["ref"],"title":"get_disk_utilizationArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/get_disk_autoscale_config":{"post":{"operationId":"get_disk_autoscale_config","summary":"Show the disk autoscaling settings of a project: growth percent, minimum increment and maximum size. Use for \"Is disk au","description":"Show the disk autoscaling settings of a project: growth percent, minimum increment and maximum size. Use for \"Is disk autoscaling set up for my Supabase project and how far can it grow\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"ref":{"description":"Supabase project reference: the 20-character id in the project URL (for example 'abcdefghijklmnopqrst'), as returned by the project list.","maxLength":40,"title":"Ref","type":"string"}},"required":["ref"],"title":"get_disk_autoscale_configArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/list_backups":{"post":{"operationId":"list_backups","summary":"List the database backups of a project with status and creation time, and whether point-in-time recovery and WAL-G backu","description":"List the database backups of a project with status and creation time, and whether point-in-time recovery and WAL-G backups are on. Use for \"What backups does my Supabase project have and is PITR enabled\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"ref":{"description":"Supabase project reference: the 20-character id in the project URL (for example 'abcdefghijklmnopqrst'), as returned by the project list.","maxLength":40,"title":"Ref","type":"string"}},"required":["ref"],"title":"list_backupsArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/get_backup_schedule":{"post":{"operationId":"get_backup_schedule","summary":"Show the daily backup schedule of a project (the time of day backups run) and when it was last updated. Use for \"At what","description":"Show the daily backup schedule of a project (the time of day backups run) and when it was last updated. Use for \"At what time do my Supabase backups run\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"ref":{"description":"Supabase project reference: the 20-character id in the project URL (for example 'abcdefghijklmnopqrst'), as returned by the project list.","maxLength":40,"title":"Ref","type":"string"}},"required":["ref"],"title":"get_backup_scheduleArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/get_upgrade_eligibility":{"post":{"operationId":"get_upgrade_eligibility","summary":"Show whether a project can upgrade Postgres: current and latest version, target versions, estimated duration, warnings a","description":"Show whether a project can upgrade Postgres: current and latest version, target versions, estimated duration, warnings and validation errors. Use for \"Can my Supabase project upgrade to a newer Postgres version\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"ref":{"description":"Supabase project reference: the 20-character id in the project URL (for example 'abcdefghijklmnopqrst'), as returned by the project list.","maxLength":40,"title":"Ref","type":"string"}},"required":["ref"],"title":"get_upgrade_eligibilityArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/get_readonly_mode":{"post":{"operationId":"get_readonly_mode","summary":"Show whether a project database is in read-only mode, and any temporary override. Use for \"Is my Supabase database in re","description":"Show whether a project database is in read-only mode, and any temporary override. Use for \"Is my Supabase database in read-only mode\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"ref":{"description":"Supabase project reference: the 20-character id in the project URL (for example 'abcdefghijklmnopqrst'), as returned by the project list.","maxLength":40,"title":"Ref","type":"string"}},"required":["ref"],"title":"get_readonly_modeArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/get_ssl_enforcement":{"post":{"operationId":"get_ssl_enforcement","summary":"Show whether SSL is enforced on database connections for a project. Use for \"Does my Supabase database enforce SSL conne","description":"Show whether SSL is enforced on database connections for a project. Use for \"Does my Supabase database enforce SSL connections\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"ref":{"description":"Supabase project reference: the 20-character id in the project URL (for example 'abcdefghijklmnopqrst'), as returned by the project list.","maxLength":40,"title":"Ref","type":"string"}},"required":["ref"],"title":"get_ssl_enforcementArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/get_network_restrictions":{"post":{"operationId":"get_network_restrictions","summary":"Show the database network restrictions of a project: whether the plan allows them, the allowed IPv4 and IPv6 CIDR ranges","description":"Show the database network restrictions of a project: whether the plan allows them, the allowed IPv4 and IPv6 CIDR ranges and whether they are applied. Use for \"Which IP ranges may connect to my Supabase database\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"ref":{"description":"Supabase project reference: the 20-character id in the project URL (for example 'abcdefghijklmnopqrst'), as returned by the project list.","maxLength":40,"title":"Ref","type":"string"}},"required":["ref"],"title":"get_network_restrictionsArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}}}}