管理 API 参考

管理 API

以编程方式管理您的 Supabase 组织和项目。

认证#

所有 API 请求都需要在 Authorization 标头中包含访问令牌:Authorization Bearer <access_token>

有两种生成访问令牌的方法

  1. 个人访问令牌 (PAT):PAT 是长期有效的令牌,您手动生成它们以访问管理 API。它们对于自动化工作流或针对管理 API 进行开发非常有用。PAT 拥有与您的用户帐户相同的权限,因此请务必保密。

    要生成或管理您的个人访问令牌,请访问您的帐户页面。

  2. OAuth2:OAuth2 允许您的应用程序代表 Supabase 用户生成令牌,提供对其帐户的安全且有限的访问,而无需其凭据。如果您正在构建一个需要代表用户创建或管理 Supabase 项目的第三方应用程序,请使用此方法。通过 OAuth2 生成的令牌是短期有效的,并与特定范围绑定,以确保您的应用程序只能执行用户明确批准的操作。

    请参阅构建 Supabase 集成以设置您的应用程序的 OAuth2。

1
curl https://api.supabase.com/v1/projects \
2
-H "Authorization: Bearer sbp_bdd0••••••••••••••••••••••••••••••••4f23"

所有 API 请求都必须经过身份验证并通过 HTTPS 进行。

速率限制#

为了防止滥用并确保管理 API 的公平使用,将应用速率限制。速率限制基于每个用户、每个范围的模型,这意味着每个用户对其交互的每个项目和组织都拥有独立的速率限制。

标准速率限制#

限制持续时间范围
120 个请求1 分钟每个用户,每个项目/组织

当您超出此速率限制时,所有后续 API 调用将在该分钟的剩余时间内返回 429 Too Many Requests 响应。一旦时间窗口到期,您的请求配额将重置,您可以再次发出请求。

速率限制范围#

速率限制应用于每个用户 + 每个范围隔离

  • 项目范围:速率限制独立应用于每个项目。对一个项目的请求不计入另一个项目的限制。
  • 组织范围:速率限制独立应用于每个组织。对一个组织的请求不计入另一个组织的限制。

这意味着您可以在同一分钟内对项目 A 发出 120 个请求,对项目 B 发出 120 个请求,而不会达到速率限制,因为它们是单独跟踪的。

速率限制响应头#

每个 API 响应都在以下标头中包含速率限制信息

  • X-RateLimit-Limit - 当前时间窗口允许的最大请求数
  • X-RateLimit-Remaining - 在达到速率限制之前剩余的请求数
  • X-RateLimit-Reset - 速率限制重置之前剩余的毫秒数

您可以使用这些标头监控您的使用情况并在收到 429 响应之前实施主动速率限制处理。

如何跟踪速率限制#

您的请求按以下标识符(按优先级顺序)之一进行识别和跟踪

  1. OAuth 应用程序 ID - 如果您的请求通过 OAuth 应用程序进行身份验证
  2. 用户 ID - 如果您的请求使用个人访问令牌进行身份验证
  3. IP 地址 - 如果您的请求未经身份验证(从请求头中提取)

每个标识符都与范围(项目或组织)结合起来创建一个唯一的跟踪密钥。这确保了速率限制按用户和按范围隔离,防止一个项目或组织影响另一个。

端点例外#

某些端点的速率限制比标准的每分钟 120 个请求更严格,以防止滥用资源密集型操作

端点限制持续时间原因
GET /v1/projects/:ref/endpoints/logs.all30 个请求1 分钟分析日志查询计算成本高
GET /v1/projects/:ref/endpoints/usage.api-counts30 个请求1 分钟分析聚合计算成本高
GET /v1/projects/:ref/endpoints/usage.api-requests-count30 个请求1 分钟分析聚合计算成本高
GET /v1/projects/:ref/database/context10 个请求1 分钟数据库上下文操作资源密集
GET /v1/projects/:ref/database/context1 个请求1 秒突发限制以防止快速连续请求
POST /v1/projects/:ref/config/custom-hostname/initialize10 个请求1 分钟这些操作成本高昂
POST /v1/projects/:ref/config/custom-hostname/reverify10 个请求1 分钟这些操作成本高昂
DELETE /v1/projects/:ref/config/custom-hostname10 个请求1 分钟这些操作成本高昂
GET /v1/projects/:ref/config/vanity-subdomain10 个请求1 分钟这些操作成本高昂

注意:GET /v1/projects/:ref/database/context 端点具有双重速率限制。您每分钟最多可以发出 10 个请求,但每秒不能超过 1 个请求,以防止突发流量。

最佳实践#

  • 监控速率限制标头 - 检查 X-RateLimit-Remaining 标头以查看您还剩下多少请求。当它接近 0 时,请减慢您的请求以避免达到限制。
  • 实施指数退避 - 当您收到 429 响应时,请等待一段时间再重试。您可以使用 X-RateLimit-Reset 标头(毫秒)来确定确切的等待时间。
  • 批量操作 - 如果可能,将多个操作合并为更少的 API 调用以减少您的请求计数。
  • 注意昂贵的端点 - 分析、数据库上下文和域端点具有更严格的限制,因此请谨慎使用它们。

管理 API 受我们的公平使用政策约束。所有通过 API 创建的资源都受我们定价页面上详细的定价约束。


获取项目性能顾问。
已弃用

get/v1/projects/{ref}/advisors/performance

这是一个实验性端点。它可能在未来版本中更改或删除。请谨慎使用,因为它可能无法保持支持或稳定。

OAuth 范围

  • database:read

细粒度令牌必须包含以下权限才能访问此端点

  • advisors_read

路径参数

  • ref
    必需
    字符串

    项目参考

响应代码

  • 200
  • 401
  • 403
  • 429

响应 (200)

1
{
2
"lints": [
3
{
4
"name": "unindexed_foreign_keys",
5
"title": "lorem",
6
"level": "ERROR",
7
"facing": "EXTERNAL",
8
"categories": [
9
"PERFORMANCE"
10
],
11
"description": "lorem",
12
"detail": "lorem",
13
"remediation": "lorem",
14
"metadata": {
15
"schema": "lorem",
16
"name": "lorem",
17
"entity": "lorem",
18
"type": "table",
19
"fkey_name": "lorem",
20
"fkey_columns": [
21
42
22
]
23
},
24
"cache_key": "lorem"
25
}
26
]
27
}

获取项目安全顾问。
已弃用

get/v1/projects/{ref}/advisors/security

这是一个实验性端点。它可能在未来版本中更改或删除。请谨慎使用,因为它可能无法保持支持或稳定。

OAuth 范围

  • database:read

细粒度令牌必须包含以下权限才能访问此端点

  • advisors_read

路径参数

  • ref
    必需
    字符串

    项目参考

查询参数

  • lint_type
    可选
    枚举

响应代码

  • 200
  • 401
  • 403
  • 429

响应 (200)

1
{
2
"lints": [
3
{
4
"name": "unindexed_foreign_keys",
5
"title": "lorem",
6
"level": "ERROR",
7
"facing": "EXTERNAL",
8
"categories": [
9
"PERFORMANCE"
10
],
11
"description": "lorem",
12
"detail": "lorem",
13
"remediation": "lorem",
14
"metadata": {
15
"schema": "lorem",
16
"name": "lorem",
17
"entity": "lorem",
18
"type": "table",
19
"fkey_name": "lorem",
20
"fkey_columns": [
21
42
22
]
23
},
24
"cache_key": "lorem"
25
}
26
]
27
}

获取项目的函数综合统计数据

get/v1/projects/{ref}/analytics/endpoints/functions.combined-stats

细粒度令牌必须包含以下权限才能访问此端点

  • analytics_usage_read

路径参数

  • ref
    必需
    字符串

    项目参考

查询参数

  • interval
    必需
    枚举
  • function_id
    必需
    字符串

响应代码

  • 200
  • 401
  • 403
  • 429
  • 500

响应 (200)

1
{
2
"result": [
3
null
4
],
5
"error": "lorem"
6
}

获取项目日志

get/v1/projects/{ref}/analytics/endpoints/logs.all

在项目日志上执行 SQL 查询。

必须提供 iso_timestamp_startiso_timestamp_end 参数之一。如果两者均未提供,则仅查询最近 1 分钟的日志。时间戳范围不得超过 24 小时,并四舍五入到最近的分钟。如果范围超过 24 小时,则会抛出验证错误。

注意:除非提供 sql 参数,否则只查询 edge_logs。有关所有可用源,请参阅日志查询文档

OAuth 范围

  • analytics:read

细粒度令牌必须包含以下权限才能访问此端点

  • analytics_logs_read

路径参数

  • ref
    必需
    字符串

    项目参考

查询参数

  • sql
    可选
    字符串

    要对日志执行的自定义 SQL 查询。有关更多详细信息,请参阅查询日志

  • iso_timestamp_start
    可选
    字符串
  • iso_timestamp_end
    可选
    字符串

响应代码

  • 200
  • 401
  • 403
  • 429

响应 (200)

1
{
2
"result": [
3
null
4
],
5
"error": "lorem"
6
}

获取项目使用 API 计数

get/v1/projects/{ref}/analytics/endpoints/usage.api-counts

细粒度令牌必须包含以下权限才能访问此端点

  • analytics_usage_read

路径参数

  • ref
    必需
    字符串

    项目参考

查询参数

  • interval
    可选
    枚举

响应代码

  • 200
  • 401
  • 403
  • 429
  • 500

响应 (200)

1
{
2
"result": [
3
{
4
"timestamp": "2021-12-31T23:34:00Z",
5
"total_auth_requests": 42,
6
"total_realtime_requests": 42,
7
"total_rest_requests": 42,
8
"total_storage_requests": 42
9
}
10
],
11
"error": "lorem"
12
}

获取项目使用 API 请求计数

get/v1/projects/{ref}/analytics/endpoints/usage.api-requests-count

细粒度令牌必须包含以下权限才能访问此端点

  • analytics_usage_read

路径参数

  • ref
    必需
    字符串

    项目参考

响应代码

  • 200
  • 401
  • 403
  • 429
  • 500

响应 (200)

1
{
2
"result": [
3
{
4
"count": 42
5
}
6
],
7
"error": "lorem"
8
}

创建一个新的 SSO 提供商

post/v1/projects/{ref}/config/auth/sso/providers

OAuth 范围

  • auth:write

细粒度令牌必须包含以下权限才能访问此端点

  • auth_config_write

路径参数

  • ref
    必需
    字符串

    项目参考

正文

  • type
    必需
    枚举
  • metadata_xml
    可选
    字符串
  • metadata_url
    可选
    字符串
  • domains
    可选
    Array<string>
  • attribute_mapping
    可选
    object
  • name_id_format
    可选
    枚举

响应代码

  • 201
  • 401
  • 403
  • 404
  • 429

响应 (201)

1
{
2
"id": "lorem",
3
"saml": {
4
"id": "lorem",
5
"entity_id": "lorem",
6
"metadata_url": "lorem",
7
"metadata_xml": "lorem",
8
"attribute_mapping": {
9
"keys": {
10
"property1": {
11
"name": "lorem",
12
"names": [
13
"lorem"
14
],
15
"default": {},
16
"array": true
17
},
18
"property2": {
19
"name": "lorem",
20
"names": [
21
"lorem"
22
],
23
"default": {},
24
"array": true
25
}
26
}
27
},
28
"name_id_format": "urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified"
29
},
30
"domains": [
31
{
32
"id": "lorem",
33
"domain": "lorem",
34
"created_at": "lorem",
35
"updated_at": "lorem"
36
}
37
],
38
"created_at": "lorem",
39
"updated_at": "lorem"
40
}

将项目现有的 JWT 密钥设置为 in_use JWT 签名密钥。此端点将在未来删除,请始终检查 HTTP 404 Not Found。

post/v1/projects/{ref}/config/auth/signing-keys/legacy

OAuth 范围

  • secrets:write

细粒度令牌必须包含以下权限才能访问此端点

  • auth_signing_keys_write

路径参数

  • ref
    必需
    字符串

    项目参考

响应代码

  • 201
  • 401
  • 403
  • 429

响应 (201)

1
{
2
"id": "fbdf5a53-161e-4460-98ad-0e39408d8689",
3
"algorithm": "EdDSA",
4
"status": "in_use",
5
"public_jwk": null,
6
"created_at": "2021-12-31T23:34:00Z",
7
"updated_at": "2021-12-31T23:34:00Z"
8
}

为项目创建新的待机状态签名密钥

post/v1/projects/{ref}/config/auth/signing-keys

OAuth 范围

  • secrets:write

细粒度令牌必须包含以下权限才能访问此端点

  • auth_signing_keys_write

路径参数

  • ref
    必需
    字符串

    项目参考

正文

  • algorithm
    必需
    枚举
  • status
    可选
    枚举
  • private_jwk
    可选
    以下选项之一

响应代码

  • 201
  • 401
  • 403
  • 429

响应 (201)

1
{
2
"id": "fbdf5a53-161e-4460-98ad-0e39408d8689",
3
"algorithm": "EdDSA",
4
"status": "in_use",
5
"public_jwk": null,
6
"created_at": "2021-12-31T23:34:00Z",
7
"updated_at": "2021-12-31T23:34:00Z"
8
}

创建新的第三方身份验证集成

post/v1/projects/{ref}/config/auth/third-party-auth

OAuth 范围

  • auth:write

细粒度令牌必须包含以下权限才能访问此端点

  • auth_config_write

路径参数

  • ref
    必需
    字符串

    项目参考

正文

  • oidc_issuer_url
    可选
    字符串
  • jwks_url
    可选
    字符串
  • custom_jwks
    可选
    未知

响应代码

  • 201
  • 401
  • 403
  • 429

响应 (201)

1
{
2
"id": "fbdf5a53-161e-4460-98ad-0e39408d8689",
3
"type": "lorem",
4
"oidc_issuer_url": "lorem",
5
"jwks_url": "lorem",
6
"custom_jwks": null,
7
"resolved_jwks": null,
8
"inserted_at": "lorem",
9
"updated_at": "lorem",
10
"resolved_at": "lorem"
11
}

按 UUID 删除 SSO 提供商

delete/v1/projects/{ref}/config/auth/sso/providers/{provider_id}

OAuth 范围

  • auth:write

细粒度令牌必须包含以下权限才能访问此端点

  • auth_config_write

路径参数

  • ref
    必需
    字符串

    项目参考

  • provider_id
    必需
    字符串

响应代码

  • 200
  • 401
  • 403
  • 404
  • 429

响应 (200)

1
{
2
"id": "lorem",
3
"saml": {
4
"id": "lorem",
5
"entity_id": "lorem",
6
"metadata_url": "lorem",
7
"metadata_xml": "lorem",
8
"attribute_mapping": {
9
"keys": {
10
"property1": {
11
"name": "lorem",
12
"names": [
13
"lorem"
14
],
15
"default": {},
16
"array": true
17
},
18
"property2": {
19
"name": "lorem",
20
"names": [
21
"lorem"
22
],
23
"default": {},
24
"array": true
25
}
26
}
27
},
28
"name_id_format": "urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified"
29
},
30
"domains": [
31
{
32
"id": "lorem",
33
"domain": "lorem",
34
"created_at": "lorem",
35
"updated_at": "lorem"
36
}
37
],
38
"created_at": "lorem",
39
"updated_at": "lorem"
40
}

删除第三方身份验证集成

delete/v1/projects/{ref}/config/auth/third-party-auth/{tpa_id}

OAuth 范围

  • auth:write

细粒度令牌必须包含以下权限才能访问此端点

  • auth_config_write

路径参数

  • ref
    必需
    字符串

    项目参考

  • tpa_id
    必需
    字符串

响应代码

  • 200
  • 401
  • 403
  • 429

响应 (200)

1
{
2
"id": "fbdf5a53-161e-4460-98ad-0e39408d8689",
3
"type": "lorem",
4
"oidc_issuer_url": "lorem",
5
"jwks_url": "lorem",
6
"custom_jwks": null,
7
"resolved_jwks": null,
8
"inserted_at": "lorem",
9
"updated_at": "lorem",
10
"resolved_at": "lorem"
11
}

按 UUID 获取 SSO 提供商

get/v1/projects/{ref}/config/auth/sso/providers/{provider_id}

OAuth 范围

  • auth:read

细粒度令牌必须包含以下权限才能访问此端点

  • auth_config_read

路径参数

  • ref
    必需
    字符串

    项目参考

  • provider_id
    必需
    字符串

响应代码

  • 200
  • 401
  • 403
  • 404
  • 429

响应 (200)

1
{
2
"id": "lorem",
3
"saml": {
4
"id": "lorem",
5
"entity_id": "lorem",
6
"metadata_url": "lorem",
7
"metadata_xml": "lorem",
8
"attribute_mapping": {
9
"keys": {
10
"property1": {
11
"name": "lorem",
12
"names": [
13
"lorem"
14
],
15
"default": {},
16
"array": true
17
},
18
"property2": {
19
"name": "lorem",
20
"names": [
21
"lorem"
22
],
23
"default": {},
24
"array": true
25
}
26
}
27
},
28
"name_id_format": "urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified"
29
},
30
"domains": [
31
{
32
"id": "lorem",
33
"domain": "lorem",
34
"created_at": "lorem",
35
"updated_at": "lorem"
36
}
37
],
38
"created_at": "lorem",
39
"updated_at": "lorem"
40
}

获取项目的身份验证配置

get/v1/projects/{ref}/config/auth

OAuth 范围

  • auth:read

细粒度令牌必须包含以下权限才能访问此端点

  • auth_config_read

路径参数

  • ref
    必需
    字符串

    项目参考

响应代码

  • 200
  • 401
  • 403
  • 429
  • 500

响应 (200)

1
{
2
"api_max_request_duration": 42,
3
"db_max_pool_size": 42,
4
"db_max_pool_size_unit": "connections",
5
"disable_signup": true,
6
"external_anonymous_users_enabled": true,
7
"external_apple_additional_client_ids": "lorem",
8
"external_apple_client_id": "lorem",
9
"external_apple_email_optional": true,
10
"external_apple_enabled": true,
11
"external_apple_secret": "lorem",
12
"external_azure_client_id": "lorem",
13
"external_azure_email_optional": true,
14
"external_azure_enabled": true,
15
"external_azure_secret": "lorem",
16
"external_azure_url": "lorem",
17
"external_bitbucket_client_id": "lorem",
18
"external_bitbucket_email_optional": true,
19
"external_bitbucket_enabled": true,
20
"external_bitbucket_secret": "lorem",
21
"external_discord_client_id": "lorem",
22
"external_discord_email_optional": true,
23
"external_discord_enabled": true,
24
"external_discord_secret": "lorem",
25
"external_email_enabled": true,
26
"external_facebook_client_id": "lorem",
27
"external_facebook_email_optional": true,
28
"external_facebook_enabled": true,
29
"external_facebook_secret": "lorem",
30
"external_figma_client_id": "lorem",
31
"external_figma_email_optional": true,
32
"external_figma_enabled": true,
33
"external_figma_secret": "lorem",
34
"external_github_client_id": "lorem",
35
"external_github_email_optional": true,
36
"external_github_enabled": true,
37
"external_github_secret": "lorem",
38
"external_gitlab_client_id": "lorem",
39
"external_gitlab_email_optional": true,
40
"external_gitlab_enabled": true,
41
"external_gitlab_secret": "lorem",
42
"external_gitlab_url": "lorem",
43
"external_google_additional_client_ids": "lorem",
44
"external_google_client_id": "lorem",
45
"external_google_email_optional": true,
46
"external_google_enabled": true,
47
"external_google_secret": "lorem",
48
"external_google_skip_nonce_check": true,
49
"external_kakao_client_id": "lorem",
50
"external_kakao_email_optional": true,
51
"external_kakao_enabled": true,
52
"external_kakao_secret": "lorem",
53
"external_keycloak_client_id": "lorem",
54
"external_keycloak_email_optional": true,
55
"external_keycloak_enabled": true,
56
"external_keycloak_secret": "lorem",
57
"external_keycloak_url": "lorem",
58
"external_linkedin_oidc_client_id": "lorem",
59
"external_linkedin_oidc_email_optional": true,
60
"external_linkedin_oidc_enabled": true,
61
"external_linkedin_oidc_secret": "lorem",
62
"external_slack_oidc_client_id": "lorem",
63
"external_slack_oidc_email_optional": true,
64
"external_slack_oidc_enabled": true,
65
"external_slack_oidc_secret": "lorem",
66
"external_notion_client_id": "lorem",
67
"external_notion_email_optional": true,
68
"external_notion_enabled": true,
69
"external_notion_secret": "lorem",
70
"external_phone_enabled": true,
71
"external_slack_client_id": "lorem",
72
"external_slack_email_optional": true,
73
"external_slack_enabled": true,
74
"external_slack_secret": "lorem",
75
"external_spotify_client_id": "lorem",
76
"external_spotify_email_optional": true,
77
"external_spotify_enabled": true,
78
"external_spotify_secret": "lorem",
79
"external_twitch_client_id": "lorem",
80
"external_twitch_email_optional": true,
81
"external_twitch_enabled": true,
82
"external_twitch_secret": "lorem",
83
"external_twitter_client_id": "lorem",
84
"external_twitter_email_optional": true,
85
"external_twitter_enabled": true,
86
"external_twitter_secret": "lorem",
87
"external_x_client_id": "lorem",
88
"external_x_email_optional": true,
89
"external_x_enabled": true,
90
"external_x_secret": "lorem",
91
"external_workos_client_id": "lorem",
92
"external_workos_enabled": true,
93
"external_workos_secret": "lorem",
94
"external_workos_url": "lorem",
95
"external_web3_solana_enabled": true,
96
"external_web3_ethereum_enabled": true,
97
"external_zoom_client_id": "lorem",
98
"external_zoom_email_optional": true,
99
"external_zoom_enabled": true,
100
"external_zoom_secret": "lorem",
101
"hook_custom_access_token_enabled": true,
102
"hook_custom_access_token_uri": "lorem",
103
"hook_custom_access_token_secrets": "lorem",
104
"hook_mfa_verification_attempt_enabled": true,
105
"hook_mfa_verification_attempt_uri": "lorem",
106
"hook_mfa_verification_attempt_secrets": "lorem",
107
"hook_password_verification_attempt_enabled": true,
108
"hook_password_verification_attempt_uri": "lorem",
109
"hook_password_verification_attempt_secrets": "lorem",
110
"hook_send_sms_enabled": true,
111
"hook_send_sms_uri": "lorem",
112
"hook_send_sms_secrets": "lorem",
113
"hook_send_email_enabled": true,
114
"hook_send_email_uri": "lorem",
115
"hook_send_email_secrets": "lorem",
116
"hook_before_user_created_enabled": true,
117
"hook_before_user_created_uri": "lorem",
118
"hook_before_user_created_secrets": "lorem",
119
"hook_after_user_created_enabled": true,
120
"hook_after_user_created_uri": "lorem",
121
"hook_after_user_created_secrets": "lorem",
122
"jwt_exp": 42,
123
"mailer_allow_unverified_email_sign_ins": true,
124
"mailer_autoconfirm": true,
125
"mailer_otp_exp": 42,
126
"mailer_otp_length": 42,
127
"mailer_secure_email_change_enabled": true,
128
"mailer_subjects_confirmation": "lorem",
129
"mailer_subjects_email_change": "lorem",
130
"mailer_subjects_invite": "lorem",
131
"mailer_subjects_magic_link": "lorem",
132
"mailer_subjects_reauthentication": "lorem",
133
"mailer_subjects_recovery": "lorem",
134
"mailer_subjects_password_changed_notification": "lorem",
135
"mailer_subjects_email_changed_notification": "lorem",
136
"mailer_subjects_phone_changed_notification": "lorem",
137
"mailer_subjects_mfa_factor_enrolled_notification": "lorem",
138
"mailer_subjects_mfa_factor_unenrolled_notification": "lorem",
139
"mailer_subjects_identity_linked_notification": "lorem",
140
"mailer_subjects_identity_unlinked_notification": "lorem",
141
"mailer_templates_confirmation_content": "lorem",
142
"mailer_templates_email_change_content": "lorem",
143
"mailer_templates_invite_content": "lorem",
144
"mailer_templates_magic_link_content": "lorem",
145
"mailer_templates_reauthentication_content": "lorem",
146
"mailer_templates_recovery_content": "lorem",
147
"mailer_templates_password_changed_notification_content": "lorem",
148
"mailer_templates_email_changed_notification_content": "lorem",
149
"mailer_templates_phone_changed_notification_content": "lorem",
150
"mailer_templates_mfa_factor_enrolled_notification_content": "lorem",
151
"mailer_templates_mfa_factor_unenrolled_notification_content": "lorem",
152
"mailer_templates_identity_linked_notification_content": "lorem",
153
"mailer_templates_identity_unlinked_notification_content": "lorem",
154
"mailer_notifications_password_changed_enabled": true,
155
"mailer_notifications_email_changed_enabled": true,
156
"mailer_notifications_phone_changed_enabled": true,
157
"mailer_notifications_mfa_factor_enrolled_enabled": true,
158
"mailer_notifications_mfa_factor_unenrolled_enabled": true,
159
"mailer_notifications_identity_linked_enabled": true,
160
"mailer_notifications_identity_unlinked_enabled": true,
161
"mfa_max_enrolled_factors": 42,
162
"mfa_totp_enroll_enabled": true,
163
"mfa_totp_verify_enabled": true,
164
"mfa_phone_enroll_enabled": true,
165
"mfa_phone_verify_enabled": true,
166
"mfa_web_authn_enroll_enabled": true,
167
"mfa_web_authn_verify_enabled": true,
168
"mfa_phone_otp_length": 42,
169
"mfa_phone_template": "lorem",
170
"mfa_phone_max_frequency": 42,
171
"nimbus_oauth_client_id": "lorem",
172
"nimbus_oauth_email_optional": true,
173
"nimbus_oauth_client_secret": "lorem",
174
"password_hibp_enabled": true,
175
"password_min_length": 42,
176
"password_required_characters": "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ:0123456789",
177
"rate_limit_anonymous_users": 42,
178
"rate_limit_email_sent": 42,
179
"rate_limit_sms_sent": 42,
180
"rate_limit_token_refresh": 42,
181
"rate_limit_verify": 42,
182
"rate_limit_otp": 42,
183
"rate_limit_web3": 42,
184
"refresh_token_rotation_enabled": true,
185
"saml_enabled": true,
186
"saml_external_url": "lorem",
187
"saml_allow_encrypted_assertions": true,
188
"security_sb_forwarded_for_enabled": true,
189
"security_captcha_enabled": true,
190
"security_captcha_provider": "turnstile",
191
"security_captcha_secret": "lorem",
192
"security_manual_linking_enabled": true,
193
"security_refresh_token_reuse_interval": 42,
194
"security_update_password_require_reauthentication": true,
195
"sessions_inactivity_timeout": 42,
196
"sessions_single_per_user": true,
197
"sessions_tags": "lorem",
198
"sessions_timebox": 42,
199
"site_url": "lorem",
200
"sms_autoconfirm": true,
201
"sms_max_frequency": 42,
202
"sms_messagebird_access_key": "lorem",
203
"sms_messagebird_originator": "lorem",
204
"sms_otp_exp": 42,
205
"sms_otp_length": 42,
206
"sms_provider": "messagebird",
207
"sms_template": "lorem",
208
"sms_test_otp": "lorem",
209
"sms_test_otp_valid_until": "2021-12-31T23:34:00Z",
210
"sms_textlocal_api_key": "lorem",
211
"sms_textlocal_sender": "lorem",
212
"sms_twilio_account_sid": "lorem",
213
"sms_twilio_auth_token": "lorem",
214
"sms_twilio_content_sid": "lorem",
215
"sms_twilio_message_service_sid": "lorem",
216
"sms_twilio_verify_account_sid": "lorem",
217
"sms_twilio_verify_auth_token": "lorem",
218
"sms_twilio_verify_message_service_sid": "lorem",
219
"sms_vonage_api_key": "lorem",
220
"sms_vonage_api_secret": "lorem",
221
"sms_vonage_from": "lorem",
222
"smtp_admin_email": "jon.snow@targaryen.com",
223
"smtp_host": "lorem",
224
"smtp_max_frequency": 42,
225
"smtp_pass": "lorem",
226
"smtp_port": "lorem",
227
"smtp_sender_name": "lorem",
228
"smtp_user": "lorem",
229
"uri_allow_list": "lorem",
230
"oauth_server_enabled": true,
231
"oauth_server_allow_dynamic_registration": true,
232
"oauth_server_authorization_path": "lorem"
233
}

获取为此项目导入为签名密钥的 JWT 密钥的签名密钥信息。此端点将在未来删除,请检查 HTTP 404 Not Found。

get/v1/projects/{ref}/config/auth/signing-keys/legacy

OAuth 范围

  • secrets:read

细粒度令牌必须包含以下权限才能访问此端点

  • auth_signing_keys_read

路径参数

  • ref
    必需
    字符串

    项目参考

响应代码

  • 200
  • 401
  • 403
  • 429

响应 (200)

1
{
2
"id": "fbdf5a53-161e-4460-98ad-0e39408d8689",
3
"algorithm": "EdDSA",
4
"status": "in_use",
5
"public_jwk": null,
6
"created_at": "2021-12-31T23:34:00Z",
7
"updated_at": "2021-12-31T23:34:00Z"
8
}

获取签名密钥信息

get/v1/projects/{ref}/config/auth/signing-keys/{id}

细粒度令牌必须包含以下权限才能访问此端点

  • auth_signing_keys_read

路径参数

  • id
    必需
    字符串
  • ref
    必需
    字符串

    项目参考

响应代码

  • 200
  • 401
  • 403
  • 429

响应 (200)

1
{
2
"id": "fbdf5a53-161e-4460-98ad-0e39408d8689",
3
"algorithm": "EdDSA",
4
"status": "in_use",
5
"public_jwk": null,
6
"created_at": "2021-12-31T23:34:00Z",
7
"updated_at": "2021-12-31T23:34:00Z"
8
}

列出项目的所有签名密钥

get/v1/projects/{ref}/config/auth/signing-keys

OAuth 范围

  • secrets:read

细粒度令牌必须包含以下权限才能访问此端点

  • auth_signing_keys_read

路径参数

  • ref
    必需
    字符串

    项目参考

响应代码

  • 200
  • 401
  • 403
  • 429

响应 (200)

1
{
2
"keys": [
3
{
4
"id": "fbdf5a53-161e-4460-98ad-0e39408d8689",
5
"algorithm": "EdDSA",
6
"status": "in_use",
7
"public_jwk": null,
8
"created_at": "2021-12-31T23:34:00Z",
9
"updated_at": "2021-12-31T23:34:00Z"
10
}
11
]
12
}

获取第三方集成

get/v1/projects/{ref}/config/auth/third-party-auth/{tpa_id}

OAuth 范围

  • auth:read

细粒度令牌必须包含以下权限才能访问此端点

  • auth_config_read

路径参数

  • ref
    必需
    字符串

    项目参考

  • tpa_id
    必需
    字符串

响应代码

  • 200
  • 401
  • 403
  • 429

响应 (200)

1
{
2
"id": "fbdf5a53-161e-4460-98ad-0e39408d8689",
3
"type": "lorem",
4
"oidc_issuer_url": "lorem",
5
"jwks_url": "lorem",
6
"custom_jwks": null,
7
"resolved_jwks": null,
8
"inserted_at": "lorem",
9
"updated_at": "lorem",
10
"resolved_at": "lorem"
11
}

列出所有 SSO 提供商

get/v1/projects/{ref}/config/auth/sso/providers

OAuth 范围

  • auth:read

细粒度令牌必须包含以下权限才能访问此端点

  • auth_config_read

路径参数

  • ref
    必需
    字符串

    项目参考

响应代码

  • 200
  • 401
  • 403
  • 404
  • 429

响应 (200)

1
{
2
"items": [
3
{
4
"id": "lorem",
5
"saml": {
6
"id": "lorem",
7
"entity_id": "lorem",
8
"metadata_url": "lorem",
9
"metadata_xml": "lorem",
10
"attribute_mapping": {
11
"keys": {
12
"property1": {
13
"name": "lorem",
14
"names": [
15
"lorem"
16
],
17
"default": {},
18
"array": true
19
},
20
"property2": {
21
"name": "lorem",
22
"names": [
23
"lorem"
24
],
25
"default": {},
26
"array": true
27
}
28
}
29
},
30
"name_id_format": "urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified"
31
},
32
"domains": [
33
{
34
"id": "lorem",
35
"domain": "lorem",
36
"created_at": "lorem",
37
"updated_at": "lorem"
38
}
39
],
40
"created_at": "lorem",
41
"updated_at": "lorem"
42
}
43
]
44
}

列出所有第三方身份验证集成

get/v1/projects/{ref}/config/auth/third-party-auth

OAuth 范围

  • auth:read

细粒度令牌必须包含以下权限才能访问此端点

  • auth_config_read

路径参数

  • ref
    必需
    字符串

    项目参考

响应代码

  • 200
  • 401
  • 403
  • 429

响应 (200)

1
[
2
{
3
"id": "fbdf5a53-161e-4460-98ad-0e39408d8689",
4
"type": "lorem",
5
"oidc_issuer_url": "lorem",
6
"jwks_url": "lorem",
7
"custom_jwks": null,
8
"resolved_jwks": null,
9
"inserted_at": "lorem",
10
"updated_at": "lorem",
11
"resolved_at": "lorem"
12
}
13
]

从项目中删除签名密钥。仅当密钥已撤销一段时间后才可能。

delete/v1/projects/{ref}/config/auth/signing-keys/{id}

OAuth 范围

  • secrets:write

细粒度令牌必须包含以下权限才能访问此端点

  • auth_signing_keys_write

路径参数

  • id
    必需
    字符串
  • ref
    必需
    字符串

    项目参考

响应代码

  • 200
  • 401
  • 403
  • 429

响应 (200)

1
{
2
"id": "fbdf5a53-161e-4460-98ad-0e39408d8689",
3
"algorithm": "EdDSA",
4
"status": "in_use",
5
"public_jwk": null,
6
"created_at": "2021-12-31T23:34:00Z",
7
"updated_at": "2021-12-31T23:34:00Z"
8
}

按 UUID 更新 SSO 提供商

put/v1/projects/{ref}/config/auth/sso/providers/{provider_id}

OAuth 范围

  • auth:write

细粒度令牌必须包含以下权限才能访问此端点

  • auth_config_write

路径参数

  • ref
    必需
    字符串

    项目参考

  • provider_id
    必需
    字符串

正文

  • metadata_xml
    可选
    字符串
  • metadata_url
    可选
    字符串
  • domains
    可选
    Array<string>
  • attribute_mapping
    可选
    object
  • name_id_format
    可选
    枚举

响应代码

  • 200
  • 401
  • 403
  • 404
  • 429

响应 (200)

1
{
2
"id": "lorem",
3
"saml": {
4
"id": "lorem",
5
"entity_id": "lorem",
6
"metadata_url": "lorem",
7
"metadata_xml": "lorem",
8
"attribute_mapping": {
9
"keys": {
10
"property1": {
11
"name": "lorem",
12
"names": [
13
"lorem"
14
],
15
"default": {},
16
"array": true
17
},
18
"property2": {
19
"name": "lorem",
20
"names": [
21
"lorem"
22
],
23
"default": {},
24
"array": true
25
}
26
}
27
},
28
"name_id_format": "urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified"
29
},
30
"domains": [
31
{
32
"id": "lorem",
33
"domain": "lorem",
34
"created_at": "lorem",
35
"updated_at": "lorem"
36
}
37
],
38
"created_at": "lorem",
39
"updated_at": "lorem"
40
}

更新项目的身份验证配置

patch/v1/projects/{ref}/config/auth

OAuth 范围

  • auth:write

细粒度令牌必须包含以下权限才能访问此端点

  • auth_config_write
  • project_admin_write

路径参数

  • ref
    必需
    字符串

    项目参考

正文

  • site_url
    可选
    字符串
  • disable_signup
    可选
    boolean
  • jwt_exp
    可选
    integer
  • smtp_admin_email
    可选
    字符串
  • smtp_host
    可选
    字符串
  • smtp_port
    可选
    字符串
  • smtp_user
    可选
    字符串
  • smtp_pass
    可选
    字符串
  • smtp_max_frequency
    可选
    integer
  • smtp_sender_name
    可选
    字符串
  • mailer_allow_unverified_email_sign_ins
    可选
    boolean
  • mailer_autoconfirm
    可选
    boolean
  • mailer_subjects_invite
    可选
    字符串
  • mailer_subjects_confirmation
    可选
    字符串
  • mailer_subjects_recovery
    可选
    字符串
  • mailer_subjects_email_change
    可选
    字符串
  • mailer_subjects_magic_link
    可选
    字符串
  • mailer_subjects_reauthentication
    可选
    字符串
  • mailer_subjects_password_changed_notification
    可选
    字符串
  • mailer_subjects_email_changed_notification
    可选
    字符串
  • mailer_subjects_phone_changed_notification
    可选
    字符串
  • mailer_subjects_mfa_factor_enrolled_notification
    可选
    字符串
  • mailer_subjects_mfa_factor_unenrolled_notification
    可选
    字符串
  • mailer_subjects_identity_linked_notification
    可选
    字符串
  • mailer_subjects_identity_unlinked_notification
    可选
    字符串
  • mailer_templates_invite_content
    可选
    字符串
  • mailer_templates_confirmation_content
    可选
    字符串
  • mailer_templates_recovery_content
    可选
    字符串
  • mailer_templates_email_change_content
    可选
    字符串
  • mailer_templates_magic_link_content
    可选
    字符串
  • mailer_templates_reauthentication_content
    可选
    字符串
  • mailer_templates_password_changed_notification_content
    可选
    字符串
  • mailer_templates_email_changed_notification_content
    可选
    字符串
  • mailer_templates_phone_changed_notification_content
    可选
    字符串
  • mailer_templates_mfa_factor_enrolled_notification_content
    可选
    字符串
  • mailer_templates_mfa_factor_unenrolled_notification_content
    可选
    字符串
  • mailer_templates_identity_linked_notification_content
    可选
    字符串
  • mailer_templates_identity_unlinked_notification_content
    可选
    字符串
  • mailer_notifications_password_changed_enabled
    可选
    boolean
  • mailer_notifications_email_changed_enabled
    可选
    boolean
  • mailer_notifications_phone_changed_enabled
    可选
    boolean
  • mailer_notifications_mfa_factor_enrolled_enabled
    可选
    boolean
  • mailer_notifications_mfa_factor_unenrolled_enabled
    可选
    boolean
  • mailer_notifications_identity_linked_enabled
    可选
    boolean
  • mailer_notifications_identity_unlinked_enabled
    可选
    boolean
  • mfa_max_enrolled_factors
    可选
    integer
  • uri_allow_list
    可选
    字符串
  • external_anonymous_users_enabled
    可选
    boolean
  • external_email_enabled
    可选
    boolean
  • external_phone_enabled
    可选
    boolean
  • saml_enabled
    可选
    boolean
  • saml_external_url
    可选
    字符串
  • security_sb_forwarded_for_enabled
    可选
    boolean
  • security_captcha_enabled
    可选
    boolean
  • security_captcha_provider
    可选
    枚举
  • security_captcha_secret
    可选
    字符串
  • sessions_timebox
    可选
    integer
  • sessions_inactivity_timeout
    可选
    integer
  • sessions_single_per_user
    可选
    boolean
  • sessions_tags
    可选
    字符串
  • rate_limit_anonymous_users
    可选
    integer
  • rate_limit_email_sent
    可选
    integer
  • rate_limit_sms_sent
    可选
    integer
  • rate_limit_verify
    可选
    integer
  • rate_limit_token_refresh
    可选
    integer
  • rate_limit_otp
    可选
    integer
  • rate_limit_web3
    可选
    integer
  • mailer_secure_email_change_enabled
    可选
    boolean
  • refresh_token_rotation_enabled
    可选
    boolean
  • password_hibp_enabled
    可选
    boolean
  • password_min_length
    可选
    integer
  • password_required_characters
    可选
    枚举
  • security_manual_linking_enabled
    可选
    boolean
  • security_update_password_require_reauthentication
    可选
    boolean
  • security_refresh_token_reuse_interval
    可选
    integer
  • mailer_otp_exp
    可选
    integer
  • mailer_otp_length
    可选
    integer
  • sms_autoconfirm
    可选
    boolean
  • sms_max_frequency
    可选
    integer
  • sms_otp_exp
    可选
    integer
  • sms_otp_length
    可选
    integer
  • sms_provider
    可选
    枚举
  • sms_messagebird_access_key
    可选
    字符串
  • sms_messagebird_originator
    可选
    字符串
  • sms_test_otp
    可选
    字符串
  • sms_test_otp_valid_until
    可选
    字符串
  • sms_textlocal_api_key
    可选
    字符串
  • sms_textlocal_sender
    可选
    字符串
  • sms_twilio_account_sid
    可选
    字符串
  • sms_twilio_auth_token
    可选
    字符串
  • sms_twilio_content_sid
    可选
    字符串
  • sms_twilio_message_service_sid
    可选
    字符串
  • sms_twilio_verify_account_sid
    可选
    字符串
  • sms_twilio_verify_auth_token
    可选
    字符串
  • sms_twilio_verify_message_service_sid
    可选
    字符串
  • sms_vonage_api_key
    可选
    字符串
  • sms_vonage_api_secret
    可选
    字符串
  • sms_vonage_from
    可选
    字符串
  • sms_template
    可选
    字符串
  • hook_mfa_verification_attempt_enabled
    可选
    boolean
  • hook_mfa_verification_attempt_uri
    可选
    字符串
  • hook_mfa_verification_attempt_secrets
    可选
    字符串
  • hook_password_verification_attempt_enabled
    可选
    boolean
  • hook_password_verification_attempt_uri
    可选
    字符串
  • hook_password_verification_attempt_secrets
    可选
    字符串
  • hook_custom_access_token_enabled
    可选
    boolean
  • hook_custom_access_token_uri
    可选
    字符串
  • hook_custom_access_token_secrets
    可选
    字符串
  • hook_send_sms_enabled
    可选
    boolean
  • hook_send_sms_uri
    可选
    字符串
  • hook_send_sms_secrets
    可选
    字符串
  • hook_send_email_enabled
    可选
    boolean
  • hook_send_email_uri
    可选
    字符串
  • hook_send_email_secrets
    可选
    字符串
  • hook_before_user_created_enabled
    可选
    boolean
  • hook_before_user_created_uri
    可选
    字符串
  • hook_before_user_created_secrets
    可选
    字符串
  • hook_after_user_created_enabled
    可选
    boolean
  • hook_after_user_created_uri
    可选
    字符串
  • hook_after_user_created_secrets
    可选
    字符串
  • external_apple_enabled
    可选
    boolean
  • external_apple_client_id
    可选
    字符串
  • external_apple_email_optional
    可选
    boolean
  • external_apple_secret
    可选
    字符串
  • external_apple_additional_client_ids
    可选
    字符串
  • external_azure_enabled
    可选
    boolean
  • external_azure_client_id
    可选
    字符串
  • external_azure_email_optional
    可选
    boolean
  • external_azure_secret
    可选
    字符串
  • external_azure_url
    可选
    字符串
  • external_bitbucket_enabled
    可选
    boolean
  • external_bitbucket_client_id
    可选
    字符串
  • external_bitbucket_email_optional
    可选
    boolean
  • external_bitbucket_secret
    可选
    字符串
  • external_discord_enabled
    可选
    boolean
  • external_discord_client_id
    可选
    字符串
  • external_discord_email_optional
    可选
    boolean
  • external_discord_secret
    可选
    字符串
  • external_facebook_enabled
    可选
    boolean
  • external_facebook_client_id
    可选
    字符串
  • external_facebook_email_optional
    可选
    boolean
  • external_facebook_secret
    可选
    字符串
  • external_figma_enabled
    可选
    boolean
  • external_figma_client_id
    可选
    字符串
  • external_figma_email_optional
    可选
    boolean
  • external_figma_secret
    可选
    字符串
  • external_github_enabled
    可选
    boolean
  • external_github_client_id
    可选
    字符串
  • external_github_email_optional
    可选
    boolean
  • external_github_secret
    可选
    字符串
  • external_gitlab_enabled
    可选
    boolean
  • external_gitlab_client_id
    可选
    字符串
  • external_gitlab_email_optional
    可选
    boolean
  • external_gitlab_secret
    可选
    字符串
  • external_gitlab_url
    可选
    字符串
  • external_google_enabled
    可选
    boolean
  • external_google_client_id
    可选
    字符串
  • external_google_email_optional
    可选
    boolean
  • external_google_secret
    可选
    字符串
  • external_google_additional_client_ids
    可选
    字符串
  • external_google_skip_nonce_check
    可选
    boolean
  • external_kakao_enabled
    可选
    boolean
  • external_kakao_client_id
    可选
    字符串
  • external_kakao_email_optional
    可选
    boolean
  • external_kakao_secret
    可选
    字符串
  • external_keycloak_enabled
    可选
    boolean
  • external_keycloak_client_id
    可选
    字符串
  • external_keycloak_email_optional
    可选
    boolean
  • external_keycloak_secret
    可选
    字符串
  • external_keycloak_url
    可选
    字符串
  • external_linkedin_oidc_enabled
    可选
    boolean
  • external_linkedin_oidc_client_id
    可选
    字符串
  • external_linkedin_oidc_email_optional
    可选
    boolean
  • external_linkedin_oidc_secret
    可选
    字符串
  • external_slack_oidc_enabled
    可选
    boolean
  • external_slack_oidc_client_id
    可选
    字符串
  • external_slack_oidc_email_optional
    可选
    boolean
  • external_slack_oidc_secret
    可选
    字符串
  • external_notion_enabled
    可选
    boolean
  • external_notion_client_id
    可选
    字符串
  • external_notion_email_optional
    可选
    boolean
  • external_notion_secret
    可选
    字符串
  • external_slack_enabled
    可选
    boolean
  • external_slack_client_id
    可选
    字符串
  • external_slack_email_optional
    可选
    boolean
  • external_slack_secret
    可选
    字符串
  • external_spotify_enabled
    可选
    boolean
  • external_spotify_client_id
    可选
    字符串
  • external_spotify_email_optional
    可选
    boolean
  • external_spotify_secret
    可选
    字符串
  • external_twitch_enabled
    可选
    boolean
  • external_twitch_client_id
    可选
    字符串
  • external_twitch_email_optional
    可选
    boolean
  • external_twitch_secret
    可选
    字符串
  • external_twitter_enabled
    可选
    boolean
  • external_twitter_client_id
    可选
    字符串
  • external_twitter_email_optional
    可选
    boolean
  • external_twitter_secret
    可选
    字符串
  • external_x_enabled
    可选
    boolean
  • external_x_client_id
    可选
    字符串
  • external_x_email_optional
    可选
    boolean
  • external_x_secret
    可选
    字符串
  • external_workos_enabled
    可选
    boolean
  • external_workos_client_id
    可选
    字符串
  • external_workos_secret
    可选
    字符串
  • external_workos_url
    可选
    字符串
  • external_web3_solana_enabled
    可选
    boolean
  • external_web3_ethereum_enabled
    可选
    boolean
  • external_zoom_enabled
    可选
    boolean
  • external_zoom_client_id
    可选
    字符串
  • external_zoom_email_optional
    可选
    boolean
  • external_zoom_secret
    可选
    字符串
  • db_max_pool_size
    可选
    integer
  • db_max_pool_size_unit
    可选
    枚举
  • api_max_request_duration
    可选
    integer
  • mfa_totp_enroll_enabled
    可选
    boolean
  • mfa_totp_verify_enabled
    可选
    boolean
  • mfa_web_authn_enroll_enabled
    可选
    boolean
  • mfa_web_authn_verify_enabled
    可选
    boolean
  • mfa_phone_enroll_enabled
    可选
    boolean
  • mfa_phone_verify_enabled
    可选
    boolean
  • mfa_phone_max_frequency
    可选
    integer
  • mfa_phone_otp_length
    可选
    integer
  • mfa_phone_template
    可选
    字符串
  • nimbus_oauth_client_id
    可选
    字符串
  • nimbus_oauth_client_secret
    可选
    字符串
  • oauth_server_enabled
    可选
    boolean
  • oauth_server_allow_dynamic_registration
    可选
    boolean
  • oauth_server_authorization_path
    可选
    字符串

响应代码

  • 200
  • 401
  • 403
  • 429
  • 500

响应 (200)

1
{
2
"api_max_request_duration": 42,
3
"db_max_pool_size": 42,
4
"db_max_pool_size_unit": "connections",
5
"disable_signup": true,
6
"external_anonymous_users_enabled": true,
7
"external_apple_additional_client_ids": "lorem",
8
"external_apple_client_id": "lorem",
9
"external_apple_email_optional": true,
10
"external_apple_enabled": true,
11
"external_apple_secret": "lorem",
12
"external_azure_client_id": "lorem",
13
"external_azure_email_optional": true,
14
"external_azure_enabled": true,
15
"external_azure_secret": "lorem",
16
"external_azure_url": "lorem",
17
"external_bitbucket_client_id": "lorem",
18
"external_bitbucket_email_optional": true,
19
"external_bitbucket_enabled": true,
20
"external_bitbucket_secret": "lorem",
21
"external_discord_client_id": "lorem",
22
"external_discord_email_optional": true,
23
"external_discord_enabled": true,
24
"external_discord_secret": "lorem",
25
"external_email_enabled": true,
26
"external_facebook_client_id": "lorem",
27
"external_facebook_email_optional": true,
28
"external_facebook_enabled": true,
29
"external_facebook_secret": "lorem",
30
"external_figma_client_id": "lorem",
31
"external_figma_email_optional": true,
32
"external_figma_enabled": true,
33
"external_figma_secret": "lorem",
34
"external_github_client_id": "lorem",
35
"external_github_email_optional": true,
36
"external_github_enabled": true,
37
"external_github_secret": "lorem",
38
"external_gitlab_client_id": "lorem",
39
"external_gitlab_email_optional": true,
40
"external_gitlab_enabled": true,
41
"external_gitlab_secret": "lorem",
42
"external_gitlab_url": "lorem",
43
"external_google_additional_client_ids": "lorem",
44
"external_google_client_id": "lorem",
45
"external_google_email_optional": true,
46
"external_google_enabled": true,
47
"external_google_secret": "lorem",
48
"external_google_skip_nonce_check": true,
49
"external_kakao_client_id": "lorem",
50
"external_kakao_email_optional": true,
51
"external_kakao_enabled": true,
52
"external_kakao_secret": "lorem",
53
"external_keycloak_client_id": "lorem",
54
"external_keycloak_email_optional": true,
55
"external_keycloak_enabled": true,
56
"external_keycloak_secret": "lorem",
57
"external_keycloak_url": "lorem",
58
"external_linkedin_oidc_client_id": "lorem",
59
"external_linkedin_oidc_email_optional": true,
60
"external_linkedin_oidc_enabled": true,
61
"external_linkedin_oidc_secret": "lorem",
62
"external_slack_oidc_client_id": "lorem",
63
"external_slack_oidc_email_optional": true,
64
"external_slack_oidc_enabled": true,
65
"external_slack_oidc_secret": "lorem",
66
"external_notion_client_id": "lorem",
67
"external_notion_email_optional": true,
68
"external_notion_enabled": true,
69
"external_notion_secret": "lorem",
70
"external_phone_enabled": true,
71
"external_slack_client_id": "lorem",
72
"external_slack_email_optional": true,
73
"external_slack_enabled": true,
74
"external_slack_secret": "lorem",
75
"external_spotify_client_id": "lorem",
76
"external_spotify_email_optional": true,
77
"external_spotify_enabled": true,
78
"external_spotify_secret": "lorem",
79
"external_twitch_client_id": "lorem",
80
"external_twitch_email_optional": true,
81
"external_twitch_enabled": true,
82
"external_twitch_secret": "lorem",
83
"external_twitter_client_id": "lorem",
84
"external_twitter_email_optional": true,
85
"external_twitter_enabled": true,
86
"external_twitter_secret": "lorem",
87
"external_x_client_id": "lorem",
88
"external_x_email_optional": true,
89
"external_x_enabled": true,
90
"external_x_secret": "lorem",
91
"external_workos_client_id": "lorem",
92
"external_workos_enabled": true,
93
"external_workos_secret": "lorem",
94
"external_workos_url": "lorem",
95
"external_web3_solana_enabled": true,
96
"external_web3_ethereum_enabled": true,
97
"external_zoom_client_id": "lorem",
98
"external_zoom_email_optional": true,
99
"external_zoom_enabled": true,
100
"external_zoom_secret": "lorem",
101
"hook_custom_access_token_enabled": true,
102
"hook_custom_access_token_uri": "lorem",
103
"hook_custom_access_token_secrets": "lorem",
104
"hook_mfa_verification_attempt_enabled": true,
105
"hook_mfa_verification_attempt_uri": "lorem",
106
"hook_mfa_verification_attempt_secrets": "lorem",
107
"hook_password_verification_attempt_enabled": true,
108
"hook_password_verification_attempt_uri": "lorem",
109
"hook_password_verification_attempt_secrets": "lorem",
110
"hook_send_sms_enabled": true,
111
"hook_send_sms_uri": "lorem",
112
"hook_send_sms_secrets": "lorem",
113
"hook_send_email_enabled": true,
114
"hook_send_email_uri": "lorem",
115
"hook_send_email_secrets": "lorem",
116
"hook_before_user_created_enabled": true,
117
"hook_before_user_created_uri": "lorem",
118
"hook_before_user_created_secrets": "lorem",
119
"hook_after_user_created_enabled": true,
120
"hook_after_user_created_uri": "lorem",
121
"hook_after_user_created_secrets": "lorem",
122
"jwt_exp": 42,
123
"mailer_allow_unverified_email_sign_ins": true,
124
"mailer_autoconfirm": true,
125
"mailer_otp_exp": 42,
126
"mailer_otp_length": 42,
127
"mailer_secure_email_change_enabled": true,
128
"mailer_subjects_confirmation": "lorem",
129
"mailer_subjects_email_change": "lorem",
130
"mailer_subjects_invite": "lorem",
131
"mailer_subjects_magic_link": "lorem",
132
"mailer_subjects_reauthentication": "lorem",
133
"mailer_subjects_recovery": "lorem",
134
"mailer_subjects_password_changed_notification": "lorem",
135
"mailer_subjects_email_changed_notification": "lorem",
136
"mailer_subjects_phone_changed_notification": "lorem",
137
"mailer_subjects_mfa_factor_enrolled_notification": "lorem",
138
"mailer_subjects_mfa_factor_unenrolled_notification": "lorem",
139
"mailer_subjects_identity_linked_notification": "lorem",
140
"mailer_subjects_identity_unlinked_notification": "lorem",
141
"mailer_templates_confirmation_content": "lorem",
142
"mailer_templates_email_change_content": "lorem",
143
"mailer_templates_invite_content": "lorem",
144
"mailer_templates_magic_link_content": "lorem",
145
"mailer_templates_reauthentication_content": "lorem",
146
"mailer_templates_recovery_content": "lorem",
147
"mailer_templates_password_changed_notification_content": "lorem",
148
"mailer_templates_email_changed_notification_content": "lorem",
149
"mailer_templates_phone_changed_notification_content": "lorem",
150
"mailer_templates_mfa_factor_enrolled_notification_content": "lorem",
151
"mailer_templates_mfa_factor_unenrolled_notification_content": "lorem",
152
"mailer_templates_identity_linked_notification_content": "lorem",
153
"mailer_templates_identity_unlinked_notification_content": "lorem",
154
"mailer_notifications_password_changed_enabled": true,
155
"mailer_notifications_email_changed_enabled": true,
156
"mailer_notifications_phone_changed_enabled": true,
157
"mailer_notifications_mfa_factor_enrolled_enabled": true,
158
"mailer_notifications_mfa_factor_unenrolled_enabled": true,
159
"mailer_notifications_identity_linked_enabled": true,
160
"mailer_notifications_identity_unlinked_enabled": true,
161
"mfa_max_enrolled_factors": 42,
162
"mfa_totp_enroll_enabled": true,
163
"mfa_totp_verify_enabled": true,
164
"mfa_phone_enroll_enabled": true,
165
"mfa_phone_verify_enabled": true,
166
"mfa_web_authn_enroll_enabled": true,
167
"mfa_web_authn_verify_enabled": true,
168
"mfa_phone_otp_length": 42,
169
"mfa_phone_template": "lorem",
170
"mfa_phone_max_frequency": 42,
171
"nimbus_oauth_client_id": "lorem",
172
"nimbus_oauth_email_optional": true,
173
"nimbus_oauth_client_secret": "lorem",
174
"password_hibp_enabled": true,
175
"password_min_length": 42,
176
"password_required_characters": "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ:0123456789",
177
"rate_limit_anonymous_users": 42,
178
"rate_limit_email_sent": 42,
179
"rate_limit_sms_sent": 42,
180
"rate_limit_token_refresh": 42,
181
"rate_limit_verify": 42,
182
"rate_limit_otp": 42,
183
"rate_limit_web3": 42,
184
"refresh_token_rotation_enabled": true,
185
"saml_enabled": true,
186
"saml_external_url": "lorem",
187
"saml_allow_encrypted_assertions": true,
188
"security_sb_forwarded_for_enabled": true,
189
"security_captcha_enabled": true,
190
"security_captcha_provider": "turnstile",
191
"security_captcha_secret": "lorem",
192
"security_manual_linking_enabled": true,
193
"security_refresh_token_reuse_interval": 42,
194
"security_update_password_require_reauthentication": true,
195
"sessions_inactivity_timeout": 42,
196
"sessions_single_per_user": true,
197
"sessions_tags": "lorem",
198
"sessions_timebox": 42,
199
"site_url": "lorem",
200
"sms_autoconfirm": true,
201
"sms_max_frequency": 42,
202
"sms_messagebird_access_key": "lorem",
203
"sms_messagebird_originator": "lorem",
204
"sms_otp_exp": 42,
205
"sms_otp_length": 42,
206
"sms_provider": "messagebird",
207
"sms_template": "lorem",
208
"sms_test_otp": "lorem",
209
"sms_test_otp_valid_until": "2021-12-31T23:34:00Z",
210
"sms_textlocal_api_key": "lorem",
211
"sms_textlocal_sender": "lorem",
212
"sms_twilio_account_sid": "lorem",
213
"sms_twilio_auth_token": "lorem",
214
"sms_twilio_content_sid": "lorem",
215
"sms_twilio_message_service_sid": "lorem",
216
"sms_twilio_verify_account_sid": "lorem",
217
"sms_twilio_verify_auth_token": "lorem",
218
"sms_twilio_verify_message_service_sid": "lorem",
219
"sms_vonage_api_key": "lorem",
220
"sms_vonage_api_secret": "lorem",
221
"sms_vonage_from": "lorem",
222
"smtp_admin_email": "jon.snow@targaryen.com",
223
"smtp_host": "lorem",
224
"smtp_max_frequency": 42,
225
"smtp_pass": "lorem",
226
"smtp_port": "lorem",
227
"smtp_sender_name": "lorem",
228
"smtp_user": "lorem",
229
"uri_allow_list": "lorem",
230
"oauth_server_enabled": true,
231
"oauth_server_allow_dynamic_registration": true,
232
"oauth_server_authorization_path": "lorem"
233
}

更新签名密钥,主要是其状态

patch/v1/projects/{ref}/config/auth/signing-keys/{id}

OAuth 范围

  • secrets:write

细粒度令牌必须包含以下权限才能访问此端点

  • auth_signing_keys_write

路径参数

  • id
    必需
    字符串
  • ref
    必需
    字符串

    项目参考

正文

  • status
    必需
    枚举

响应代码

  • 200
  • 401
  • 403
  • 429

响应 (200)

1
{
2
"id": "fbdf5a53-161e-4460-98ad-0e39408d8689",
3
"algorithm": "EdDSA",
4
"status": "in_use",
5
"public_jwk": null,
6
"created_at": "2021-12-31T23:34:00Z",
7
"updated_at": "2021-12-31T23:34:00Z"
8
}

应用或更新账单插件,包括计算实例大小

patch/v1/projects/{ref}/billing/addons

选择一个插件变体,例如向上或向下扩展项目的计算实例,并将其应用于项目。

细粒度令牌必须包含以下权限才能访问此端点

  • infra_add_ons_write

路径参数

  • ref
    必需
    字符串

    项目参考

正文

  • addon_variant
    必需
    以下选项之一
  • addon_type
    必需
    枚举

响应代码

  • 200
  • 401
  • 403
  • 429
  • 500

响应 (200)

1
{}

列出账单插件和计算实例选择

get/v1/projects/{ref}/billing/addons

返回当前应用的账单插件,包括活动计算实例大小,并列出所有可以预配的插件选项以及定价元数据。

细粒度令牌必须包含以下权限才能访问此端点

  • infra_add_ons_read

路径参数

  • ref
    必需
    字符串

    项目参考

响应代码

  • 200
  • 401
  • 403
  • 429
  • 500

响应 (200)

1
{
2
"selected_addons": [
3
{
4
"type": "custom_domain",
5
"variant": {
6
"id": "ci_micro",
7
"name": "lorem",
8
"price": {
9
"description": "lorem",
10
"type": "fixed",
11
"interval": "monthly",
12
"amount": 42
13
},
14
"meta": null
15
}
16
}
17
],
18
"available_addons": [
19
{
20
"type": "custom_domain",
21
"name": "lorem",
22
"variants": [
23
{
24
"id": "ci_micro",
25
"name": "lorem",
26
"price": {
27
"description": "lorem",
28
"type": "fixed",
29
"interval": "monthly",
30
"amount": 42
31
},
32
"meta": null
33
}
34
]
35
}
36
]
37
}

删除账单插件或恢复计算实例大小

delete/v1/projects/{ref}/billing/addons/{addon_variant}

禁用所选插件变体,包括将计算实例回滚到其先前大小。

细粒度令牌必须包含以下权限才能访问此端点

  • infra_add_ons_write

路径参数

  • ref
    必需
    字符串

    项目参考

  • addon_variant
    必需
    以下选项之一

响应代码

  • 200
  • 401
  • 403
  • 429
  • 500

响应 (200)

1
{}

[Beta] 应用数据库迁移

post/v1/projects/{ref}/database/migrations

仅适用于选定的合作伙伴 OAuth 应用程序

OAuth 范围

  • database:write

细粒度令牌必须包含以下权限才能访问此端点

  • database_migrations_write

路径参数

  • ref
    必需
    字符串

    项目参考

正文

  • query
    必需
    字符串
  • name
    可选
    字符串
  • rollback
    可选
    字符串

响应代码

  • 200
  • 401
  • 403
  • 429
  • 500

响应 (200)

1
{}

授权用户 ID 到角色映射以进行即时访问

post/v1/projects/{ref}/database/jit

授权请求在项目数据库中承担角色

OAuth 范围

  • database:read

细粒度令牌必须包含以下权限才能访问此端点

  • database_jit_read

路径参数

  • ref
    必需
    字符串

    项目参考

正文

  • role
    必需
    字符串
  • rhost
    必需
    字符串

响应代码

  • 200
  • 401
  • 403
  • 429
  • 500

响应 (200)

1
{
2
"user_id": "fbdf5a53-161e-4460-98ad-0e39408d8689",
3
"user_role": {
4
"role": "lorem",
5
"expires_at": 42,
6
"allowed_networks": {
7
"allowed_cidrs": [
8
{
9
"cidr": "lorem"
10
}
11
],
12
"allowed_cidrs_v6": [
13
{
14
"cidr": "lorem"
15
}
16
]
17
}
18
}
19
}

[Beta] 使用临时密码为 CLI 创建登录角色

post/v1/projects/{ref}/cli/login-role

OAuth 范围

  • database:write

细粒度令牌必须包含以下权限才能访问此端点

  • database_write

路径参数

  • ref
    必需
    字符串

    项目参考

正文

  • read_only
    必需
    boolean

响应代码

  • 201
  • 401
  • 403
  • 429
  • 500

响应 (201)

1
{
2
"role": "lorem",
3
"password": "lorem",
4
"ttl_seconds": 1
5
}

按用户 ID 删除即时访问

delete/v1/projects/{ref}/database/jit/{user_id}

删除用户的 JIT 映射,撤销所有 JIT 数据库访问

细粒度令牌必须包含以下权限才能访问此端点

  • database_jit_write

路径参数

  • ref
    必需
    字符串

    项目参考

  • user_id
    必需
    字符串

响应代码

  • 200
  • 401
  • 403
  • 429
  • 500

响应 (200)

1
{}

[Beta] 删除 CLI 使用的现有登录角色

delete/v1/projects/{ref}/cli/login-role

OAuth 范围

  • database:write

细粒度令牌必须包含以下权限才能访问此端点

  • database_write

路径参数

  • ref
    必需
    字符串

    项目参考

响应代码

  • 200
  • 401
  • 403
  • 429
  • 500

响应 (200)

1
{
2
"message": "ok"
3
}

在接下来的 15 分钟内禁用项目的只读模式

post/v1/projects/{ref}/readonly/temporary-disable

OAuth 范围

  • database:write

细粒度令牌必须包含以下权限才能访问此端点

  • database_readonly_config_write

路径参数

  • ref
    必需
    字符串

    项目参考

响应代码

  • 201
  • 401
  • 403
  • 429
  • 500

响应 (201)

1
{}

[Beta] 在项目上启用数据库 Webhook

post/v1/projects/{ref}/database/webhooks/enable

OAuth 范围

  • database:write

细粒度令牌必须包含以下权限才能访问此端点

  • database_webhooks_config_write

路径参数

  • ref
    必需
    字符串

    项目参考

响应代码

  • 201
  • 401
  • 403
  • 429
  • 500

响应 (201)

1
{}

生成 TypeScript 类型

get/v1/projects/{ref}/types/typescript

返回您的模式的 TypeScript 类型,以供 supabase-js 使用。

OAuth 范围

  • database:read

细粒度令牌必须包含以下权限才能访问此端点

  • database_read

路径参数

  • ref
    必需
    字符串

    项目参考

查询参数

  • included_schemas
    可选
    字符串

响应代码

  • 200
  • 401
  • 403
  • 429
  • 500

响应 (200)

1
{
2
"types": "lorem"
3
}

[Beta] 从迁移历史中获取现有条目

get/v1/projects/{ref}/database/migrations/{version}

仅适用于选定的合作伙伴 OAuth 应用程序

OAuth 范围

  • database:read

细粒度令牌必须包含以下权限才能访问此端点

  • database_migrations_read

路径参数

  • ref
    必需
    字符串

    项目参考

  • version
    必需
    字符串

响应代码

  • 200
  • 401
  • 403
  • 429
  • 500

响应 (200)

1
{
2
"version": "lorem",
3
"name": "lorem",
4
"statements": [
5
"lorem"
6
],
7
"rollback": [
8
"lorem"
9
],
10
"created_by": "lorem",
11
"idempotency_key": "lorem"
12
}

获取特定的 SQL 片段

get/v1/snippets/{id}

OAuth 范围

  • database:read

细粒度令牌必须包含以下权限才能访问此端点

  • snippets_read

路径参数

  • id
    必需
    字符串

响应代码

  • 200
  • 500

响应 (200)

1
{
2
"id": "lorem",
3
"inserted_at": "lorem",
4
"updated_at": "lorem",
5
"type": "sql",
6
"visibility": "user",
7
"name": "lorem",
8
"description": "lorem",
9
"project": {
10
"id": 42,
11
"name": "lorem"
12
},
13
"owner": {
14
"id": 42,
15
"username": "lorem"
16
},
17
"updated_by": {
18
"id": 42,
19
"username": "lorem"
20
},
21
"favorite": true,
22
"content": {
23
"favorite": true,
24
"schema_version": "lorem",
25
"sql": "lorem"
26
}
27
}

获取给定项目的数据库元数据。
已弃用

get/v1/projects/{ref}/database/context

这是一个实验性端点。它可能在未来版本中更改或删除。请谨慎使用,因为它可能无法保持支持或稳定。

OAuth 范围

  • projects:read

细粒度令牌必须包含以下权限才能访问此端点

  • database_read

路径参数

  • ref
    必需
    字符串

    项目参考

响应代码

  • 200
  • 401
  • 403
  • 429

响应 (200)

1
{
2
"databases": [
3
{
4
"name": "lorem",
5
"schemas": [
6
{
7
"name": "lorem"
8
}
9
]
10
}
11
]
12
}

获取用户 ID 到角色映射以进行即时访问

get/v1/projects/{ref}/database/jit

用户可以在项目数据库中承担的角色映射

OAuth 范围

  • database:read

细粒度令牌必须包含以下权限才能访问此端点

  • database_jit_read

路径参数

  • ref
    必需
    字符串

    项目参考

响应代码

  • 200
  • 401
  • 403
  • 429
  • 500

响应 (200)

1
{
2
"user_id": "fbdf5a53-161e-4460-98ad-0e39408d8689",
3
"user_roles": [
4
{
5
"role": "lorem",
6
"expires_at": 42,
7
"allowed_networks": {
8
"allowed_cidrs": [
9
{
10
"cidr": "lorem"
11
}
12
],
13
"allowed_cidrs_v6": [
14
{
15
"cidr": "lorem"
16
}
17
]
18
}
19
}
20
]
21
}

[Beta] 获取项目的即时访问配置。

get/v1/projects/{ref}/jit-access

OAuth 范围

  • database:read

细粒度令牌必须包含以下权限才能访问此端点

  • project_admin_read

路径参数

  • ref
    必需
    字符串

    项目参考

响应代码

  • 200
  • 401
  • 403
  • 429
  • 500

响应 (200)

1
{
2
"user_id": "fbdf5a53-161e-4460-98ad-0e39408d8689",
3
"user_roles": [
4
{
5
"role": "lorem",
6
"expires_at": 42,
7
"allowed_networks": {
8
"allowed_cidrs": [
9
{
10
"cidr": "lorem"
11
}
12
],
13
"allowed_cidrs_v6": [
14
{
15
"cidr": "lorem"
16
}
17
]
18
}
19
}
20
]
21
}

获取项目的 Supavisor 配置

get/v1/projects/{ref}/config/database/pooler

OAuth 范围

  • database:read

细粒度令牌必须包含以下权限才能访问此端点

  • database_pooling_config_read

路径参数

  • ref
    必需
    字符串

    项目参考

响应代码

  • 200
  • 401
  • 403
  • 429
  • 500

响应 (200)

1
[
2
{
3
"identifier": "lorem",
4
"database_type": "PRIMARY",
5
"is_using_scram_auth": true,
6
"db_user": "lorem",
7
"db_host": "lorem",
8
"db_port": 42,
9
"db_name": "lorem",
10
"connection_string": "lorem",
11
"connectionString": "lorem",
12
"default_pool_size": 42,
13
"max_client_conn": 42,
14
"pool_mode": "transaction"
15
}
16
]

获取项目的 Postgres 配置

get/v1/projects/{ref}/config/database/postgres

OAuth 范围

  • database:read

细粒度令牌必须包含以下权限才能访问此端点

  • database_config_read

路径参数

  • ref
    必需
    字符串

    项目参考

响应代码

  • 200
  • 401
  • 403
  • 429
  • 500

响应 (200)

1
{
2
"effective_cache_size": "lorem",
3
"logical_decoding_work_mem": "lorem",
4
"maintenance_work_mem": "lorem",
5
"track_activity_query_size": "lorem",
6
"max_connections": 1,
7
"max_locks_per_transaction": 10,
8
"max_parallel_maintenance_workers": 0,
9
"max_parallel_workers": 0,
10
"max_parallel_workers_per_gather": 0,
11
"max_replication_slots": 42,
12
"max_slot_wal_keep_size": "lorem",
13
"max_standby_archive_delay": "lorem",
14
"max_standby_streaming_delay": "lorem",
15
"max_wal_size": "lorem",
16
"max_wal_senders": 42,
17
"max_worker_processes": 0,
18
"session_replication_role": "origin",
19
"shared_buffers": "lorem",
20
"statement_timeout": "444444444444444444444444444444444444444444444444444",
21
"track_commit_timestamp": true,
22
"wal_keep_size": "lorem",
23
"wal_sender_timeout": "444444444444444444444444444444444444444444444444444",
24
"work_mem": "lorem",
25
"checkpoint_timeout": "444444444444444444444444444444444444444444444444444",
26
"hot_standby_feedback": true
27
}

获取项目的 pgbouncer 配置

get/v1/projects/{ref}/config/database/pgbouncer

OAuth 范围

  • database:read

细粒度令牌必须包含以下权限才能访问此端点

  • database_read

路径参数

  • ref
    必需
    字符串

    项目参考

响应代码

  • 200
  • 401
  • 403
  • 429
  • 500

响应 (200)

1
{
2
"default_pool_size": 42,
3
"ignore_startup_parameters": "lorem",
4
"max_client_conn": 42,
5
"pool_mode": "transaction",
6
"connection_string": "lorem",
7
"server_idle_timeout": 42,
8
"server_lifetime": 42,
9
"query_wait_timeout": 42,
10
"reserve_pool_size": 42
11
}

返回项目的只读模式状态

get/v1/projects/{ref}/readonly

OAuth 范围

  • database:read

细粒度令牌必须包含以下权限才能访问此端点

  • database_readonly_config_read

路径参数

  • ref
    必需
    字符串

    项目参考

响应代码

  • 200
  • 401
  • 403
  • 429
  • 500

响应 (200)

1
{
2
"enabled": true,
3
"override_enabled": true,
4
"override_active_until": "lorem"
5
}

[Beta] 获取项目的 SSL 强制配置。

get/v1/projects/{ref}/ssl-enforcement

OAuth 范围

  • database:read

细粒度令牌必须包含以下权限才能访问此端点

  • database_ssl_config_read

路径参数

  • ref
    必需
    字符串

    项目参考

响应代码

  • 200
  • 401
  • 403
  • 429
  • 500

响应 (200)

1
{
2
"currentConfig": {
3
"database": true
4
},
5
"appliedSuccessfully": true
6
}

列出所有备份

get/v1/projects/{ref}/database/backups

OAuth 范围

  • database:read

细粒度令牌必须包含以下权限才能访问此端点

  • backups_read

路径参数

  • ref
    必需
    字符串

    项目参考

响应代码

  • 200
  • 401
  • 403
  • 429
  • 500

响应 (200)

1
{
2
"region": "lorem",
3
"walg_enabled": true,
4
"pitr_enabled": true,
5
"backups": [
6
{
7
"is_physical_backup": true,
8
"status": "COMPLETED",
9
"inserted_at": "lorem"
10
}
11
],
12
"physical_backup_data": {
13
"earliest_physical_backup_date_unix": 42,
14
"latest_physical_backup_date_unix": 42
15
}
16
}

列出登录用户的 SQL 片段

get/v1/snippets

OAuth 范围

  • database:read

细粒度令牌必须包含以下权限才能访问此端点

  • snippets_read

查询参数

  • project_ref
    可选
    字符串

    项目参考

  • cursor
    可选
    字符串
  • limit
    可选
    字符串
  • sort_by
    可选
    枚举
  • sort_order
    可选
    枚举

响应代码

  • 200
  • 500

响应 (200)

1
{
2
"data": [
3
{
4
"id": "lorem",
5
"inserted_at": "lorem",
6
"updated_at": "lorem",
7
"type": "sql",
8
"visibility": "user",
9
"name": "lorem",
10
"description": "lorem",
11
"project": {
12
"id": 42,
13
"name": "lorem"
14
},
15
"owner": {
16
"id": 42,
17
"username": "lorem"
18
},
19
"updated_by": {
20
"id": 42,
21
"username": "lorem"
22
},
23
"favorite": true
24
}
25
],
26
"cursor": "lorem"
27
}

列出所有用户 ID 到角色映射以进行即时访问

get/v1/projects/{ref}/database/jit/list

用户可以在项目数据库中承担的角色映射

细粒度令牌必须包含以下权限才能访问此端点

  • database_jit_read

路径参数

  • ref
    必需
    字符串

    项目参考

响应代码

  • 200
  • 401
  • 403
  • 429
  • 500

响应 (200)

1
{
2
"items": [
3
{
4
"user_id": "fbdf5a53-161e-4460-98ad-0e39408d8689",
5
"user_roles": [
6
{
7
"role": "lorem",
8
"expires_at": 42,
9
"allowed_networks": {
10
"allowed_cidrs": [
11
{
12
"cidr": "lorem"
13
}
14
],
15
"allowed_cidrs_v6": [
16
{
17
"cidr": "lorem"
18
}
19
]
20
}
21
}
22
]
23
}
24
]
25
}

[Beta] 列出已应用的迁移版本

get/v1/projects/{ref}/database/migrations

仅适用于选定的合作伙伴 OAuth 应用程序

OAuth 范围

  • database:read

细粒度令牌必须包含以下权限才能访问此端点

  • database_migrations_read

路径参数

  • ref
    必需
    字符串

    项目参考

响应代码

  • 200
  • 401
  • 403
  • 429
  • 500

响应 (200)

1
[
2
{
3
"version": "lorem",
4
"name": "lorem"
5
}
6
]

[Beta] 修补迁移历史中的现有条目

patch/v1/projects/{ref}/database/migrations/{version}

仅适用于选定的合作伙伴 OAuth 应用程序

OAuth 范围

  • database:write

细粒度令牌必须包含以下权限才能访问此端点

  • database_migrations_write

路径参数

  • ref
    必需
    字符串

    项目参考

  • version
    必需
    字符串

正文

  • name
    可选
    字符串
  • rollback
    可选
    字符串

响应代码

  • 200
  • 401
  • 403
  • 429
  • 500

响应 (200)

1
{}

[Beta] 以 supabase_read_only_user 身份运行 SQL 查询

post/v1/projects/{ref}/database/query/read-only

所有实体引用必须是模式限定的。

OAuth 范围

  • database:read

细粒度令牌必须包含以下权限才能访问此端点

  • database_read

路径参数

  • ref
    必需
    字符串

    项目参考

正文

  • query
    必需
    字符串
  • parameters
    可选
    Array<unknown>

响应代码

  • 201
  • 401
  • 403
  • 429
  • 500

响应 (201)

1
{}

[Beta] 删除只读副本

post/v1/projects/{ref}/read-replicas/remove

细粒度令牌必须包含以下权限才能访问此端点

  • infra_read_replicas_write

路径参数

  • ref
    必需
    字符串

    项目参考

正文

  • database_identifier
    必需
    字符串

响应代码

  • 201
  • 401
  • 403
  • 429
  • 500

响应 (201)

1
{}

恢复数据库的 PITR 备份

post/v1/projects/{ref}/database/backups/restore-pitr

OAuth 范围

  • database:write

细粒度令牌必须包含以下权限才能访问此端点

  • backups_write

路径参数

  • ref
    必需
    字符串

    项目参考

正文

  • recovery_time_target_unix
    必需
    integer

响应代码

  • 201
  • 401
  • 403
  • 429

响应 (201)

1
{}

[Beta] 回滚数据库迁移并将其从历史表中删除

delete/v1/projects/{ref}/database/migrations

仅适用于选定的合作伙伴 OAuth 应用程序

OAuth 范围

  • database:write

细粒度令牌必须包含以下权限才能访问此端点

  • database_migrations_write

路径参数

  • ref
    必需
    字符串

    项目参考

查询参数

  • gte
    必需
    字符串

    回滚大于或等于此版本的所有迁移

响应代码

  • 200
  • 401
  • 403
  • 429
  • 500

响应 (200)

1
{}

[Beta] 运行 SQL 查询

post/v1/projects/{ref}/database/query

OAuth 范围

  • database:write

细粒度令牌必须包含以下权限才能访问此端点

  • database_write
  • database_read

路径参数

  • ref
    必需
    字符串

    项目参考

正文

  • query
    必需
    字符串
  • parameters
    可选
    Array<unknown>
  • read_only
    可选
    boolean

响应代码

  • 201
  • 401
  • 403
  • 429
  • 500

响应 (201)

1
{}

[Beta] 设置只读副本

post/v1/projects/{ref}/read-replicas/setup

细粒度令牌必须包含以下权限才能访问此端点

  • infra_read_replicas_write

路径参数

  • ref
    必需
    字符串

    项目参考

正文

  • read_replica_region
    必需
    枚举

响应代码

  • 201
  • 401
  • 403
  • 429
  • 500

响应 (201)

1
{}

更新数据库密码

patch/v1/projects/{ref}/database/password

OAuth 范围

  • database:write

细粒度令牌必须包含以下权限才能访问此端点

  • database_write

路径参数

  • ref
    必需
    字符串

    项目参考

正文

  • password
    必需
    字符串

响应代码

  • 200
  • 401
  • 403
  • 429
  • 500

响应 (200)

1
{
2
"message": "lorem"
3
}

更新用户的 JIT 访问映射

put/v1/projects/{ref}/database/jit

修改可以担任的角色及其持续时间

细粒度令牌必须包含以下权限才能访问此端点

  • database_jit_write

路径参数

  • ref
    必需
    字符串

    项目参考

正文

  • user_id
    必需
    字符串
  • roles
    必需
    Array<object>

响应代码

  • 200
  • 401
  • 403
  • 429
  • 500

响应 (200)

1
{
2
"user_id": "fbdf5a53-161e-4460-98ad-0e39408d8689",
3
"user_roles": [
4
{
5
"role": "lorem",
6
"expires_at": 42,
7
"allowed_networks": {
8
"allowed_cidrs": [
9
{
10
"cidr": "lorem"
11
}
12
],
13
"allowed_cidrs_v6": [
14
{
15
"cidr": "lorem"
16
}
17
]
18
}
19
}
20
]
21
}

[Beta] 更新项目的即时访问配置。

put/v1/projects/{ref}/jit-access

OAuth 范围

  • database:write

细粒度令牌必须包含以下权限才能访问此端点

  • project_admin_write

路径参数

  • ref
    必需
    字符串

    项目参考

正文

  • state
    必需
    枚举

响应代码

  • 200
  • 401
  • 403
  • 429
  • 500

响应 (200)

1
{
2
"user_id": "fbdf5a53-161e-4460-98ad-0e39408d8689",
3
"user_roles": [
4
{
5
"role": "lorem",
6
"expires_at": 42,
7
"allowed_networks": {
8
"allowed_cidrs": [
9
{
10
"cidr": "lorem"
11
}
12
],
13
"allowed_cidrs_v6": [
14
{
15
"cidr": "lorem"
16
}
17
]
18
}
19
}
20
]
21
}

更新项目的 Supavisor 配置

patch/v1/projects/{ref}/config/database/pooler

OAuth 范围

  • database:write

细粒度令牌必须包含以下权限才能访问此端点

  • database_pooling_config_write

路径参数

  • ref
    必需
    字符串

    项目参考

正文

  • default_pool_size
    可选
    integer
  • pool_mode
    可选
    枚举

响应代码

  • 200
  • 401
  • 403
  • 429
  • 500

响应 (200)

1
{
2
"default_pool_size": 42,
3
"pool_mode": "lorem"
4
}

更新项目的 Postgres 配置

put/v1/projects/{ref}/config/database/postgres

OAuth 范围

  • database:write

细粒度令牌必须包含以下权限才能访问此端点

  • database_config_write

路径参数

  • ref
    必需
    字符串

    项目参考

正文

  • effective_cache_size
    可选
    字符串
  • logical_decoding_work_mem
    可选
    字符串
  • maintenance_work_mem
    可选
    字符串
  • track_activity_query_size
    可选
    字符串
  • max_connections
    可选
    integer
  • max_locks_per_transaction
    可选
    integer
  • max_parallel_maintenance_workers
    可选
    integer
  • max_parallel_workers
    可选
    integer
  • max_parallel_workers_per_gather
    可选
    integer
  • max_replication_slots
    可选
    integer
  • max_slot_wal_keep_size
    可选
    字符串
  • max_standby_archive_delay
    可选
    字符串
  • max_standby_streaming_delay
    可选
    字符串
  • max_wal_size
    可选
    字符串
  • max_wal_senders
    可选
    integer
  • max_worker_processes
    可选
    integer
  • session_replication_role
    可选
    枚举
  • shared_buffers
    可选
    字符串
  • statement_timeout
    可选
    字符串
  • track_commit_timestamp
    可选
    boolean
  • wal_keep_size
    可选
    字符串
  • wal_sender_timeout
    可选
    字符串
  • work_mem
    可选
    字符串
  • checkpoint_timeout
    可选
    字符串
  • hot_standby_feedback
    可选
    boolean
  • restart_database
    可选
    boolean

响应代码

  • 200
  • 401
  • 403
  • 429
  • 500

响应 (200)

1
{
2
"effective_cache_size": "lorem",
3
"logical_decoding_work_mem": "lorem",
4
"maintenance_work_mem": "lorem",
5
"track_activity_query_size": "lorem",
6
"max_connections": 1,
7
"max_locks_per_transaction": 10,
8
"max_parallel_maintenance_workers": 0,
9
"max_parallel_workers": 0,
10
"max_parallel_workers_per_gather": 0,
11
"max_replication_slots": 42,
12
"max_slot_wal_keep_size": "lorem",
13
"max_standby_archive_delay": "lorem",
14
"max_standby_streaming_delay": "lorem",
15
"max_wal_size": "lorem",
16
"max_wal_senders": 42,
17
"max_worker_processes": 0,
18
"session_replication_role": "origin",
19
"shared_buffers": "lorem",
20
"statement_timeout": "444444444444444444444444444444444444444444444444444",
21
"track_commit_timestamp": true,
22
"wal_keep_size": "lorem",
23
"wal_sender_timeout": "444444444444444444444444444444444444444444444444444",
24
"work_mem": "lorem",
25
"checkpoint_timeout": "444444444444444444444444444444444444444444444444444",
26
"hot_standby_feedback": true
27
}

[Beta] 更新项目的 SSL 强制配置。

put/v1/projects/{ref}/ssl-enforcement

OAuth 范围

  • database:write

细粒度令牌必须包含以下权限才能访问此端点

  • database_ssl_config_write

路径参数

  • ref
    必需
    字符串

    项目参考

正文

  • requestedConfig
    必需
    object

响应代码

  • 200
  • 401
  • 403
  • 429
  • 500

响应 (200)

1
{
2
"currentConfig": {
3
"database": true
4
},
5
"appliedSuccessfully": true
6
}

[Beta] 插入或更新数据库迁移而不应用

put/v1/projects/{ref}/database/migrations

仅适用于选定的合作伙伴 OAuth 应用程序

OAuth 范围

  • database:write

细粒度令牌必须包含以下权限才能访问此端点

  • database_migrations_write

路径参数

  • ref
    必需
    字符串

    项目参考

正文

  • query
    必需
    字符串
  • name
    可选
    字符串
  • rollback
    可选
    字符串

响应代码

  • 200
  • 401
  • 403
  • 429
  • 500

响应 (200)

1
{}

[Beta] 激活项目的自定义主机名。

post/v1/projects/{ref}/custom-hostname/activate

OAuth 范围

  • domains:write

细粒度令牌必须包含以下权限才能访问此端点

  • custom_domain_write

路径参数

  • ref
    必需
    字符串

    项目参考

响应代码

  • 201
  • 401
  • 403
  • 429
  • 500

响应 (201)

1
{
2
"status": "1_not_started",
3
"custom_hostname": "lorem",
4
"data": {
5
"success": true,
6
"errors": [
7
null
8
],
9
"messages": [
10
null
11
],
12
"result": {
13
"id": "lorem",
14
"hostname": "lorem",
15
"ssl": {
16
"status": "lorem",
17
"validation_records": [
18
{
19
"txt_name": "lorem",
20
"txt_value": "lorem"
21
}
22
],
23
"validation_errors": [
24
{
25
"message": "lorem"
26
}
27
]
28
},
29
"ownership_verification": {
30
"type": "lorem",
31
"name": "lorem",
32
"value": "lorem"
33
},
34
"custom_origin_server": "lorem",
35
"verification_errors": [
36
"lorem"
37
],
38
"status": "lorem"
39
}
40
}
41
}

[Beta] 激活项目的自定义子域。

post/v1/projects/{ref}/vanity-subdomain/activate

OAuth 范围

  • domains:write

细粒度令牌必须包含以下权限才能访问此端点

  • vanity_subdomain_write

路径参数

  • ref
    必需
    字符串

    项目参考

正文

  • vanity_subdomain
    必需
    字符串

响应代码

  • 201
  • 401
  • 403
  • 429
  • 500

响应 (201)

1
{
2
"custom_domain": "lorem"
3
}

[Beta] 检查自定义子域可用性

post/v1/projects/{ref}/vanity-subdomain/check-availability

OAuth 范围

  • domains:write

细粒度令牌必须包含以下权限才能访问此端点

  • vanity_subdomain_write

路径参数

  • ref
    必需
    字符串

    项目参考

正文

  • vanity_subdomain
    必需
    字符串

响应代码

  • 201
  • 401
  • 403
  • 429
  • 500

响应 (201)

1
{
2
"available": true
3
}

[Beta] 删除项目的自定义子域配置

delete/v1/projects/{ref}/vanity-subdomain

OAuth 范围

  • domains:write

细粒度令牌必须包含以下权限才能访问此端点

  • vanity_subdomain_write

路径参数

  • ref
    必需
    字符串

    项目参考

响应代码

  • 200
  • 401
  • 403
  • 429
  • 500

响应 (200)

1
{}

[Beta] 获取项目的自定义主机名配置

get/v1/projects/{ref}/custom-hostname

OAuth 范围

  • domains:read

细粒度令牌必须包含以下权限才能访问此端点

  • custom_domain_read

路径参数

  • ref
    必需
    字符串

    项目参考

响应代码

  • 200
  • 401
  • 403
  • 429
  • 500

响应 (200)

1
{
2
"status": "1_not_started",
3
"custom_hostname": "lorem",
4
"data": {
5
"success": true,
6
"errors": [
7
null
8
],
9
"messages": [
10
null
11
],
12
"result": {
13
"id": "lorem",
14
"hostname": "lorem",
15
"ssl": {
16
"status": "lorem",
17
"validation_records": [
18
{
19
"txt_name": "lorem",
20
"txt_value": "lorem"
21
}
22
],
23
"validation_errors": [
24
{
25
"message": "lorem"
26
}
27
]
28
},
29
"ownership_verification": {
30
"type": "lorem",
31
"name": "lorem",
32
"value": "lorem"
33
},
34
"custom_origin_server": "lorem",
35
"verification_errors": [
36
"lorem"
37
],
38
"status": "lorem"
39
}
40
}
41
}

[Beta] 获取当前自定义子域配置

get/v1/projects/{ref}/vanity-subdomain

OAuth 范围

  • domains:read

细粒度令牌必须包含以下权限才能访问此端点

  • vanity_subdomain_read

路径参数

  • ref
    必需
    字符串

    项目参考

响应代码

  • 200
  • 401
  • 403
  • 429
  • 500

响应 (200)

1
{
2
"status": "not-used",
3
"custom_domain": "lorem"
4
}

[Beta] 更新项目的自定义主机名配置

post/v1/projects/{ref}/custom-hostname/initialize

OAuth 范围

  • domains:write

细粒度令牌必须包含以下权限才能访问此端点

  • custom_domain_write

路径参数

  • ref
    必需
    字符串

    项目参考

正文

  • custom_hostname
    必需
    字符串

响应代码

  • 201
  • 401
  • 403
  • 429
  • 500

响应 (201)

1
{
2
"status": "1_not_started",
3
"custom_hostname": "lorem",
4
"data": {
5
"success": true,
6
"errors": [
7
null
8
],
9
"messages": [
10
null
11
],
12
"result": {
13
"id": "lorem",
14
"hostname": "lorem",
15
"ssl": {
16
"status": "lorem",
17
"validation_records": [
18
{
19
"txt_name": "lorem",
20
"txt_value": "lorem"
21
}
22
],
23
"validation_errors": [
24
{
25
"message": "lorem"
26
}
27
]
28
},
29
"ownership_verification": {
30
"type": "lorem",
31
"name": "lorem",
32
"value": "lorem"
33
},
34
"custom_origin_server": "lorem",
35
"verification_errors": [
36
"lorem"
37
],
38
"status": "lorem"
39
}
40
}
41
}

[Beta] 尝试验证项目的自定义主机名配置的 DNS 配置

post/v1/projects/{ref}/custom-hostname/reverify

OAuth 范围

  • domains:write

细粒度令牌必须包含以下权限才能访问此端点

  • custom_domain_write

路径参数

  • ref
    必需
    字符串

    项目参考

响应代码

  • 201
  • 401
  • 403
  • 429
  • 500

响应 (201)

1
{
2
"status": "1_not_started",
3
"custom_hostname": "lorem",
4
"data": {
5
"success": true,
6
"errors": [
7
null
8
],
9
"messages": [
10
null
11
],
12
"result": {
13
"id": "lorem",
14
"hostname": "lorem",
15
"ssl": {
16
"status": "lorem",
17
"validation_records": [
18
{
19
"txt_name": "lorem",
20
"txt_value": "lorem"
21
}
22
],
23
"validation_errors": [
24
{
25
"message": "lorem"
26
}
27
]
28
},
29
"ownership_verification": {
30
"type": "lorem",
31
"name": "lorem",
32
"value": "lorem"
33
},
34
"custom_origin_server": "lorem",
35
"verification_errors": [
36
"lorem"
37
],
38
"status": "lorem"
39
}
40
}
41
}

批量更新函数

put/v1/projects/{ref}/functions

批量更新函数。它将创建新函数或替换现有函数。操作是幂等的。注意:您需要手动提高版本。

OAuth 范围

  • edge_functions:write

细粒度令牌必须包含以下权限才能访问此端点

  • edge_functions_write

路径参数

  • ref
    必需
    字符串

    项目参考

正文

对象数组

响应代码

  • 200
  • 401
  • 402
  • 403
  • 429
  • 500

响应 (200)

1
{
2
"functions": [
3
{
4
"id": "lorem",
5
"slug": "lorem",
6
"name": "lorem",
7
"status": "ACTIVE",
8
"version": 42,
9
"created_at": 42,
10
"updated_at": 42,
11
"verify_jwt": true,
12
"import_map": true,
13
"entrypoint_path": "lorem",
14
"import_map_path": "lorem",
15
"ezbr_sha256": "lorem"
16
}
17
]
18
}

创建函数
已弃用

post/v1/projects/{ref}/functions

此端点已弃用 - 请使用部署端点。创建函数并将其添加到指定项目。

OAuth 范围

  • edge_functions:write

细粒度令牌必须包含以下权限才能访问此端点

  • edge_functions_write

路径参数

  • ref
    必需
    字符串

    项目参考

查询参数

  • slug
    可选
    字符串
  • name
    可选
    字符串
  • verify_jwt
    可选
    boolean

    布尔字符串,true 或 false

  • import_map
    可选
    boolean

    布尔字符串,true 或 false

  • entrypoint_path
    可选
    字符串
  • import_map_path
    可选
    字符串
  • ezbr_sha256
    可选
    字符串

正文

字符串

响应代码

  • 201
  • 401
  • 402
  • 403
  • 429
  • 500

响应 (201)

1
{
2
"id": "lorem",
3
"slug": "lorem",
4
"name": "lorem",
5
"status": "ACTIVE",
6
"version": 42,
7
"created_at": 42,
8
"updated_at": 42,
9
"verify_jwt": true,
10
"import_map": true,
11
"entrypoint_path": "lorem",
12
"import_map_path": "lorem",
13
"ezbr_sha256": "lorem"
14
}

删除函数

delete/v1/projects/{ref}/functions/{function_slug}

从指定项目中删除具有指定 slug 的函数。

OAuth 范围

  • edge_functions:write

细粒度令牌必须包含以下权限才能访问此端点

  • edge_functions_write

路径参数

  • ref
    必需
    字符串

    项目参考

  • function_slug
    必需
    字符串

    函数 slug

响应代码

  • 200
  • 401
  • 403
  • 429
  • 500

响应 (200)

1
{}

部署函数

post/v1/projects/{ref}/functions/deploy

部署函数的新端点。如果函数不存在,它将创建函数。

OAuth 范围

  • edge_functions:write

细粒度令牌必须包含以下权限才能访问此端点

  • edge_functions_write

路径参数

  • ref
    必需
    字符串

    项目参考

查询参数

  • slug
    可选
    字符串
  • bundleOnly
    可选
    boolean

    布尔字符串,true 或 false

正文

  • file
    可选
    Array<string>
  • metadata
    必需
    object

响应代码

  • 201
  • 401
  • 402
  • 403
  • 429
  • 500

响应 (201)

1
{
2
"id": "lorem",
3
"slug": "lorem",
4
"name": "lorem",
5
"status": "ACTIVE",
6
"version": 42,
7
"created_at": 42,
8
"updated_at": 42,
9
"verify_jwt": true,
10
"import_map": true,
11
"entrypoint_path": "lorem",
12
"import_map_path": "lorem",
13
"ezbr_sha256": "lorem"
14
}

检索函数

get/v1/projects/{ref}/functions/{function_slug}

检索具有指定 slug 和项目的函数。

OAuth 范围

  • edge_functions:read

细粒度令牌必须包含以下权限才能访问此端点

  • edge_functions_read

路径参数

  • ref
    必需
    字符串

    项目参考

  • function_slug
    必需
    字符串

    函数 slug

响应代码

  • 200
  • 401
  • 403
  • 429
  • 500

响应 (200)

1
{
2
"id": "lorem",
3
"slug": "lorem",
4
"name": "lorem",
5
"status": "ACTIVE",
6
"version": 42,
7
"created_at": 42,
8
"updated_at": 42,
9
"verify_jwt": true,
10
"import_map": true,
11
"entrypoint_path": "lorem",
12
"import_map_path": "lorem",
13
"ezbr_sha256": "lorem"
14
}

检索函数体

get/v1/projects/{ref}/functions/{function_slug}/body

检索指定 slug 和项目的函数体。

OAuth 范围

  • edge_functions:read

细粒度令牌必须包含以下权限才能访问此端点

  • edge_functions_read

路径参数

  • ref
    必需
    字符串

    项目参考

  • function_slug
    必需
    字符串

    函数 slug

响应代码

  • 200
  • 401
  • 403
  • 429
  • 500

响应 (200)

1
{}

列出所有函数

get/v1/projects/{ref}/functions

返回您之前添加到指定项目的所有函数。

OAuth 范围

  • edge_functions:read

细粒度令牌必须包含以下权限才能访问此端点

  • edge_functions_read

路径参数

  • ref
    必需
    字符串

    项目参考

响应代码

  • 200
  • 401
  • 403
  • 429
  • 500

响应 (200)

1
[
2
{
3
"id": "lorem",
4
"slug": "lorem",
5
"name": "lorem",
6
"status": "ACTIVE",
7
"version": 42,
8
"created_at": 42,
9
"updated_at": 42,
10
"verify_jwt": true,
11
"import_map": true,
12
"entrypoint_path": "lorem",
13
"import_map_path": "lorem",
14
"ezbr_sha256": "lorem"
15
}
16
]

更新函数

patch/v1/projects/{ref}/functions/{function_slug}

更新具有指定 slug 和项目的函数。

OAuth 范围

  • edge_functions:write

细粒度令牌必须包含以下权限才能访问此端点

  • edge_functions_write

路径参数

  • ref
    必需
    字符串

    项目参考

  • function_slug
    必需
    字符串

    函数 slug

查询参数

  • slug
    可选
    字符串
  • name
    可选
    字符串
  • verify_jwt
    可选
    boolean

    布尔字符串,true 或 false

  • import_map
    可选
    boolean

    布尔字符串,true 或 false

  • entrypoint_path
    可选
    字符串
  • import_map_path
    可选
    字符串
  • ezbr_sha256
    可选
    字符串

正文

字符串

响应代码

  • 200
  • 401
  • 403
  • 429
  • 500

响应 (200)

1
{
2
"id": "lorem",
3
"slug": "lorem",
4
"name": "lorem",
5
"status": "ACTIVE",
6
"version": 42,
7
"created_at": 42,
8
"updated_at": 42,
9
"verify_jwt": true,
10
"import_map": true,
11
"entrypoint_path": "lorem",
12
"import_map_path": "lorem",
13
"ezbr_sha256": "lorem"
14
}

计算操作运行次数

head/v1/projects/{ref}/actions

返回指定项目的操作运行总数。

OAuth 范围

  • environment:read

细粒度令牌必须包含以下权限才能访问此端点

  • action_runs_read

路径参数

  • ref
    必需
    字符串

    项目参考

响应代码

  • 200
  • 401
  • 403
  • 429
  • 500

响应 (200)

1
{}

创建数据库分支

post/v1/projects/{ref}/branches

从指定项目创建数据库分支。

OAuth 范围

  • environment:write

细粒度令牌必须包含以下权限才能访问此端点

  • branching_production_create
  • branching_development_create

路径参数

  • ref
    必需
    字符串

    项目参考

正文

  • branch_name
    必需
    字符串
  • git_branch
    可选
    字符串
  • is_default
    可选
    boolean
  • persistent
    可选
    boolean
  • region
    可选
    字符串
  • desired_instance_size
    可选
    枚举
  • release_channel
    可选
    枚举
  • postgres_engine
    可选
    枚举
  • secrets
    可选
    object
  • with_data
    可选
    boolean
  • notify_url
    可选
    字符串

响应代码

  • 201
  • 401
  • 403
  • 429
  • 500

响应 (201)

1
{
2
"id": "fbdf5a53-161e-4460-98ad-0e39408d8689",
3
"name": "lorem",
4
"project_ref": "lorem",
5
"parent_project_ref": "lorem",
6
"is_default": true,
7
"git_branch": "lorem",
8
"pr_number": 42,
9
"latest_check_run_id": 42,
10
"persistent": true,
11
"status": "CREATING_PROJECT",
12
"created_at": "2021-12-31T23:34:00Z",
13
"updated_at": "2021-12-31T23:34:00Z",
14
"review_requested_at": "2021-12-31T23:34:00Z",
15
"with_data": true,
16
"notify_url": "https://github.com/NeuraLegion/brokencrystals",
17
"deletion_scheduled_at": "2021-12-31T23:34:00Z",
18
"preview_project_status": "INACTIVE"
19
}

删除数据库分支

delete/v1/branches/{branch_id_or_ref}

删除指定的数据库分支。默认情况下,立即删除。使用 force=false 以 1 小时宽限期安排删除(仅当启用软删除时)。

OAuth 范围

  • environment:write

细粒度令牌必须包含以下权限才能访问此端点

  • branching_production_delete
  • branching_development_delete

路径参数

  • branch_id_or_ref
    必需
    以下选项之一

    分支 ID

查询参数

  • force
    可选
    boolean

    如果设置为 false,则以 1 小时宽限期安排删除(仅当启用软删除时)。

响应代码

  • 200
  • 500

响应 (200)

1
{
2
"message": "ok"
3
}

[Beta] 比较数据库分支

get/v1/branches/{branch_id_or_ref}/diff

比较指定的数据库分支

OAuth 范围

  • environment:write

细粒度令牌必须包含以下权限才能访问此端点

  • branching_production_write
  • branching_development_write

路径参数

  • branch_id_or_ref
    必需
    以下选项之一

    分支 ID

查询参数

  • included_schemas
    可选
    字符串

响应代码

  • 200
  • 500

响应 (200)

1
{}

禁用预览分支

delete/v1/projects/{ref}/branches

为指定项目禁用预览分支

OAuth 范围

  • environment:write

细粒度令牌必须包含以下权限才能访问此端点

  • branching_production_delete

路径参数

  • ref
    必需
    字符串

    项目参考

响应代码

  • 200
  • 401
  • 403
  • 429
  • 500

响应 (200)

1
{}

获取数据库分支

get/v1/projects/{ref}/branches/{name}

按名称获取指定的数据库分支。

OAuth 范围

  • environment:read

细粒度令牌必须包含以下权限才能访问此端点

  • branching_production_read
  • branching_development_read

路径参数

  • ref
    必需
    字符串

    项目参考

  • name
    必需
    字符串

响应代码

  • 200
  • 401
  • 403
  • 429
  • 500

响应 (200)

1
{
2
"id": "fbdf5a53-161e-4460-98ad-0e39408d8689",
3
"name": "lorem",
4
"project_ref": "lorem",
5
"parent_project_ref": "lorem",
6
"is_default": true,
7
"git_branch": "lorem",
8
"pr_number": 42,
9
"latest_check_run_id": 42,
10
"persistent": true,
11
"status": "CREATING_PROJECT",
12
"created_at": "2021-12-31T23:34:00Z",
13
"updated_at": "2021-12-31T23:34:00Z",
14
"review_requested_at": "2021-12-31T23:34:00Z",
15
"with_data": true,
16
"notify_url": "https://github.com/NeuraLegion/brokencrystals",
17
"deletion_scheduled_at": "2021-12-31T23:34:00Z",
18
"preview_project_status": "INACTIVE"
19
}

获取数据库分支配置

get/v1/branches/{branch_id_or_ref}

获取指定数据库分支的配置

OAuth 范围

  • environment:read

细粒度令牌必须包含以下权限才能访问此端点

  • branching_production_read
  • branching_development_read

路径参数

  • branch_id_or_ref
    必需
    以下选项之一

    分支 ID

响应代码

  • 200
  • 500

响应 (200)

1
{
2
"ref": "lorem",
3
"postgres_version": "lorem",
4
"postgres_engine": "lorem",
5
"release_channel": "lorem",
6
"status": "INACTIVE",
7
"db_host": "lorem",
8
"db_port": 1,
9
"db_user": "lorem",
10
"db_pass": "lorem",
11
"jwt_secret": "lorem"
12
}

获取操作运行的状态

get/v1/projects/{ref}/actions/{run_id}

返回指定操作运行的当前状态。

OAuth 范围

  • environment:read

细粒度令牌必须包含以下权限才能访问此端点

  • action_runs_read

路径参数

  • ref
    必需
    字符串

    项目参考

  • run_id
    必需
    字符串

    操作运行 ID

响应代码

  • 200
  • 401
  • 403
  • 429
  • 500

响应 (200)

1
{
2
"id": "lorem",
3
"branch_id": "lorem",
4
"run_steps": [
5
{
6
"name": "clone",
7
"status": "CREATED",
8
"created_at": "lorem",
9
"updated_at": "lorem"
10
}
11
],
12
"git_config": null,
13
"workdir": "lorem",
14
"check_run_id": 42,
15
"created_at": "lorem",
16
"updated_at": "lorem"
17
}

获取操作运行的日志

get/v1/projects/{ref}/actions/{run_id}/logs

返回指定操作运行的日志。

OAuth 范围

  • environment:read

细粒度令牌必须包含以下权限才能访问此端点

  • action_runs_read

路径参数

  • ref
    必需
    字符串

    项目参考

  • run_id
    必需
    字符串

    操作运行 ID

响应代码

  • 200
  • 401
  • 403
  • 429
  • 500

响应 (200)

1
{}

列出所有操作运行

get/v1/projects/{ref}/actions

返回指定项目的操作运行的分页列表。

OAuth 范围

  • environment:read

细粒度令牌必须包含以下权限才能访问此端点

  • action_runs_read

路径参数

  • ref
    必需
    字符串

    项目参考

查询参数

  • offset
    可选
    number
  • limit
    可选
    number

响应代码

  • 200
  • 401
  • 403
  • 429
  • 500

响应 (200)

1
[
2
{
3
"id": "lorem",
4
"branch_id": "lorem",
5
"run_steps": [
6
{
7
"name": "clone",
8
"status": "CREATED",
9
"created_at": "lorem",
10
"updated_at": "lorem"
11
}
12
],
13
"git_config": null,
14
"workdir": "lorem",
15
"check_run_id": 42,
16
"created_at": "lorem",
17
"updated_at": "lorem"
18
}
19
]

列出所有数据库分支

get/v1/projects/{ref}/branches

返回指定项目的所有数据库分支。

OAuth 范围

  • environment:read

细粒度令牌必须包含以下权限才能访问此端点

  • branching_production_read
  • branching_development_read

路径参数

  • ref
    必需
    字符串

    项目参考

响应代码

  • 200
  • 401
  • 403
  • 429
  • 500

响应 (200)

1
[
2
{
3
"id": "fbdf5a53-161e-4460-98ad-0e39408d8689",
4
"name": "lorem",
5
"project_ref": "lorem",
6
"parent_project_ref": "lorem",
7
"is_default": true,
8
"git_branch": "lorem",
9
"pr_number": 42,
10
"latest_check_run_id": 42,
11
"persistent": true,
12
"status": "CREATING_PROJECT",
13
"created_at": "2021-12-31T23:34:00Z",
14
"updated_at": "2021-12-31T23:34:00Z",
15
"review_requested_at": "2021-12-31T23:34:00Z",
16
"with_data": true,
17
"notify_url": "https://github.com/NeuraLegion/brokencrystals",
18
"deletion_scheduled_at": "2021-12-31T23:34:00Z",
19
"preview_project_status": "INACTIVE"
20
}
21
]

合并数据库分支

post/v1/branches/{branch_id_or_ref}/merge

合并指定的数据库分支

OAuth 范围

  • environment:write

细粒度令牌必须包含以下权限才能访问此端点

  • branching_production_write
  • branching_development_write

路径参数

  • branch_id_or_ref
    必需
    以下选项之一

    分支 ID

正文

  • migration_version
    可选
    字符串

响应代码

  • 201
  • 500

响应 (201)

1
{
2
"workflow_run_id": "lorem",
3
"message": "ok"
4
}

推送数据库分支

post/v1/branches/{branch_id_or_ref}/push

推送指定的数据库分支

OAuth 范围

  • environment:write

细粒度令牌必须包含以下权限才能访问此端点

  • branching_production_write
  • branching_development_write

路径参数

  • branch_id_or_ref
    必需
    以下选项之一

    分支 ID

正文

  • migration_version
    可选
    字符串

响应代码

  • 201
  • 500

响应 (201)

1
{
2
"workflow_run_id": "lorem",
3
"message": "ok"
4
}

重置数据库分支

post/v1/branches/{branch_id_or_ref}/reset

重置指定的数据库分支

OAuth 范围

  • environment:write

细粒度令牌必须包含以下权限才能访问此端点

  • branching_production_write
  • branching_development_write

路径参数

  • branch_id_or_ref
    必需
    以下选项之一

    分支 ID

正文

  • migration_version
    可选
    字符串

响应代码

  • 201
  • 500

响应 (201)

1
{
2
"workflow_run_id": "lorem",
3
"message": "ok"
4
}

恢复已计划的分支删除

post/v1/branches/{branch_id_or_ref}/restore

取消计划的删除并恢复分支到活动状态

OAuth 范围

  • environment:write

细粒度令牌必须包含以下权限才能访问此端点

  • branching_production_write
  • branching_development_write

路径参数

  • branch_id_or_ref
    必需
    以下选项之一

    分支 ID

响应代码

  • 200
  • 500

响应 (200)

1
{
2
"message": "Branch restoration initiated"
3
}

更新数据库分支配置

patch/v1/branches/{branch_id_or_ref}

更新指定数据库分支的配置

OAuth 范围

  • environment:write

细粒度令牌必须包含以下权限才能访问此端点

  • branching_production_write
  • branching_development_write

路径参数

  • branch_id_or_ref
    必需
    以下选项之一

    分支 ID

正文

  • branch_name
    可选
    字符串
  • git_branch
    可选
    字符串
  • reset_on_push
    可选
    已弃用布尔值
  • persistent
    可选
    boolean
  • status
    可选
    枚举
  • request_review
    可选
    boolean
  • notify_url
    可选
    字符串

响应代码

  • 200
  • 500

响应 (200)

1
{
2
"id": "fbdf5a53-161e-4460-98ad-0e39408d8689",
3
"name": "lorem",
4
"project_ref": "lorem",
5
"parent_project_ref": "lorem",
6
"is_default": true,
7
"git_branch": "lorem",
8
"pr_number": 42,
9
"latest_check_run_id": 42,
10
"persistent": true,
11
"status": "CREATING_PROJECT",
12
"created_at": "2021-12-31T23:34:00Z",
13
"updated_at": "2021-12-31T23:34:00Z",
14
"review_requested_at": "2021-12-31T23:34:00Z",
15
"with_data": true,
16
"notify_url": "https://github.com/NeuraLegion/brokencrystals",
17
"deletion_scheduled_at": "2021-12-31T23:34:00Z",
18
"preview_project_status": "INACTIVE"
19
}

更新操作运行的状态

patch/v1/projects/{ref}/actions/{run_id}/status

更新正在进行的操作运行的状态。

OAuth 范围

  • environment:write

细粒度令牌必须包含以下权限才能访问此端点

  • action_runs_write

路径参数

  • ref
    必需
    字符串

    项目参考

  • run_id
    必需
    字符串

    操作运行 ID

正文

  • clone
    可选
    枚举
  • pull
    可选
    枚举
  • health
    可选
    枚举
  • configure
    可选
    枚举
  • migrate
    可选
    枚举
  • seed
    可选
    枚举
  • deploy
    可选
    枚举

响应代码

  • 200
  • 401
  • 403
  • 429
  • 500

响应 (200)

1
{
2
"message": "ok"
3
}

[Beta] 通过 OAuth 授权用户

get/v1/oauth/authorize

查询参数

  • client_id
    必需
    字符串
  • response_type
    必需
    枚举
  • redirect_uri
    必需
    字符串
  • scope
    可选
    字符串
  • state
    可选
    字符串
  • response_mode
    可选
    字符串
  • code_challenge
    可选
    字符串
  • code_challenge_method
    可选
    枚举
  • organization_slug
    可选
    字符串

    组织 slug

  • resource
    可选
    字符串

    MCP(模型上下文协议)客户端的资源指示符

响应代码

  • 204

响应 (204)

1
{}

[Beta] 交换授权码以获取用户的访问令牌和刷新令牌

post/v1/oauth/token

正文

  • grant_type
    可选
    枚举
  • client_id
    可选
    字符串
  • client_secret
    可选
    字符串
  • code
    可选
    字符串
  • code_verifier
    可选
    字符串
  • redirect_uri
    可选
    字符串
  • refresh_token
    可选
    字符串
  • resource
    可选
    字符串
  • scope
    可选
    字符串

响应代码

  • 201

响应 (201)

1
{
2
"access_token": "lorem",
3
"refresh_token": "lorem",
4
"expires_in": 42,
5
"token_type": "Bearer"
6
}

通过 OAuth 授权用户并声明项目

get/v1/oauth/authorize/project-claim

为指定提供商启动 OAuth 授权流程。成功认证后,用户可以声明指定项目的所有权。

细粒度令牌必须包含以下权限才能访问此端点

  • organization_admin_write
  • project_admin_write

查询参数

  • project_ref
    必需
    字符串

    项目参考

  • client_id
    必需
    字符串
  • response_type
    必需
    枚举
  • redirect_uri
    必需
    字符串
  • state
    可选
    字符串
  • response_mode
    可选
    字符串
  • code_challenge
    可选
    字符串
  • code_challenge_method
    可选
    枚举

响应代码

  • 204

响应 (204)

1
{}

[Beta] 撤销 OAuth 应用程序授权及其对应的令牌

post/v1/oauth/revoke

正文

  • client_id
    必需
    字符串
  • client_secret
    必需
    字符串
  • refresh_token
    必需
    字符串

响应代码

  • 204

响应 (204)

1
{}

创建组织

post/v1/organizations

细粒度令牌必须包含以下权限才能访问此端点

  • organizations_create

正文

  • name
    必需
    字符串

响应代码

  • 201
  • 500

响应 (201)

1
{
2
"id": "lorem",
3
"slug": "EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE",
4
"name": "lorem"
5
}

获取组织信息

get/v1/organizations/{slug}

OAuth 范围

  • organizations:read

细粒度令牌必须包含以下权限才能访问此端点

  • organization_admin_read

路径参数

  • slug
    必需
    字符串

    组织 slug

响应代码

  • 200
  • 401
  • 403
  • 429

响应 (200)

1
{
2
"id": "lorem",
3
"name": "lorem",
4
"plan": "free",
5
"opt_in_tags": [
6
"AI_SQL_GENERATOR_OPT_IN"
7
],
8
"allowed_release_channels": [
9
"internal"
10
]
11
}

列出所有组织

get/v1/organizations

返回您当前所属的组织列表。

OAuth 范围

  • organizations:read

细粒度令牌必须包含以下权限才能访问此端点

  • organizations_read

响应代码

  • 200
  • 500

响应 (200)

1
[
2
{
3
"id": "lorem",
4
"slug": "EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE",
5
"name": "lorem"
6
}
7
]

列出组织成员

get/v1/organizations/{slug}/members

OAuth 范围

  • organizations:read

细粒度令牌必须包含以下权限才能访问此端点

  • members_read

路径参数

  • slug
    必需
    字符串

    组织 slug

响应代码

  • 200

响应 (200)

1
[
2
{
3
"user_id": "lorem",
4
"user_name": "lorem",
5
"email": "lorem",
6
"role_name": "lorem",
7
"mfa_enabled": true
8
}
9
]

取消给定项目恢复

post/v1/projects/{ref}/restore/cancel

OAuth 范围

  • projects:write

细粒度令牌必须包含以下权限才能访问此端点

  • project_admin_write

路径参数

  • ref
    必需
    字符串

    项目参考

响应代码

  • 200
  • 401
  • 403
  • 429

响应 (200)

1
{}

创建项目

post/v1/projects

OAuth 范围

  • projects:write

细粒度令牌必须包含以下权限才能访问此端点

  • organization_projects_create

正文

  • db_pass
    必需
    字符串
  • name
    必需
    字符串
  • organization_id
    可选
    已弃用字符串
  • organization_slug
    必需
    字符串
  • plan
    可选
    已弃用枚举
  • region
    可选
    已弃用枚举
  • region_selection
    可选
    以下选项之一
  • kps_enabled
    可选
    已弃用布尔值
  • desired_instance_size
    可选
    枚举
  • template_url
    可选
    字符串
  • release_channel
    可选
    已弃用枚举
  • postgres_engine
    可选
    已弃用枚举

响应代码

  • 201

响应 (201)

1
{
2
"id": "lorem",
3
"ref": "mmmmmmmmmmmmmmmmmmmm",
4
"organization_id": "lorem",
5
"organization_slug": "EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE",
6
"name": "lorem",
7
"region": "us-east-1",
8
"created_at": "2023-03-29T16:32:59Z",
9
"status": "INACTIVE"
10
}

删除给定项目

delete/v1/projects/{ref}

OAuth 范围

  • projects:write

细粒度令牌必须包含以下权限才能访问此端点

  • project_admin_write

路径参数

  • ref
    必需
    字符串

    项目参考

响应代码

  • 200
  • 401
  • 403
  • 429

响应 (200)

1
{
2
"id": 42,
3
"ref": "lorem",
4
"name": "lorem"
5
}

[Beta] 删除网络禁令。

delete/v1/projects/{ref}/network-bans

OAuth 范围

  • projects:write

细粒度令牌必须包含以下权限才能访问此端点

  • database_network_bans_write

路径参数

  • ref
    必需
    字符串

    项目参考

正文

  • ipv4_addresses
    必需
    Array<string>
  • requester_ip
    可选
    boolean
  • identifier
    可选
    字符串

响应代码

  • 200
  • 401
  • 403
  • 429
  • 500

响应 (200)

1
{}

获取给定组织的所有项目

get/v1/organizations/{slug}/projects

返回指定组织的项目分页列表。

此端点使用基于偏移量的分页。使用 offset 参数跳过一定数量的项目,使用 limit 参数控制每页返回的项目数量。

细粒度令牌必须包含以下权限才能访问此端点

  • organization_projects_read

路径参数

  • slug
    必需
    字符串

    组织 slug

查询参数

  • offset
    可选
    integer

    要跳过的项目数

  • limit
    可选
    integer

    每页返回的项目数

  • search
    可选
    字符串

    按名称搜索项目

  • sort
    可选
    枚举

    项目排序顺序

  • statuses
    可选
    字符串

    要按其筛选的项目状态的逗号分隔列表。

    支持以下值:ACTIVE_HEALTHYINACTIVE

响应代码

  • 200
  • 500

响应 (200)

1
{
2
"projects": [
3
{
4
"ref": "lorem",
5
"name": "lorem",
6
"cloud_provider": "lorem",
7
"region": "lorem",
8
"is_branch": true,
9
"status": "INACTIVE",
10
"inserted_at": "lorem",
11
"databases": [
12
{
13
"infra_compute_size": "pico",
14
"region": "lorem",
15
"status": "ACTIVE_HEALTHY",
16
"cloud_provider": "lorem",
17
"identifier": "lorem",
18
"type": "PRIMARY",
19
"disk_volume_size_gb": 42,
20
"disk_type": "gp3",
21
"disk_throughput_mbps": 42,
22
"disk_last_modified_at": "lorem"
23
}
24
]
25
}
26
],
27
"pagination": {
28
"count": 42,
29
"limit": 42,
30
"offset": 42
31
}
32
}

[Beta] 获取可用于新项目的可用区域列表

get/v1/projects/available-regions

OAuth 范围

  • organizations:read

查询参数

  • organization_slug
    必需
    字符串

    您的组织 slug

  • continent
    可选
    枚举

    用于确定区域建议的洲代码:NA(北美)、SA(南美)、EU(欧洲)、AF(非洲)、AS(亚洲)、OC(大洋洲)、AN(南极洲)

  • desired_instance_size
    可选
    枚举

    所需实例大小

响应代码

  • 200

响应 (200)

1
{
2
"recommendations": {
3
"smartGroup": {
4
"name": "lorem",
5
"code": "americas",
6
"type": "smartGroup"
7
},
8
"specific": [
9
{
10
"name": "lorem",
11
"code": "us-east-1",
12
"type": "specific",
13
"provider": "AWS",
14
"status": "capacity"
15
}
16
]
17
},
18
"all": {
19
"smartGroup": [
20
{
21
"name": "lorem",
22
"code": "americas",
23
"type": "smartGroup"
24
}
25
],
26
"specific": [
27
{
28
"name": "lorem",
29
"code": "us-east-1",
30
"type": "specific",
31
"provider": "AWS",
32
"status": "capacity"
33
}
34
]
35
}
36
}

获取磁盘利用率

get/v1/projects/{ref}/config/disk/util

细粒度令牌必须包含以下权限才能访问此端点

  • infra_disk_config_read

路径参数

  • ref
    必需
    字符串

    项目参考

响应代码

  • 200
  • 401
  • 403
  • 429
  • 500

响应 (200)

1
{
2
"timestamp": "lorem",
3
"metrics": {
4
"fs_size_bytes": 42,
5
"fs_avail_bytes": 42,
6
"fs_used_bytes": 42
7
}
8
}

[Beta] 获取项目的网络限制

get/v1/projects/{ref}/network-restrictions

OAuth 范围

  • projects:read

细粒度令牌必须包含以下权限才能访问此端点

  • database_network_restrictions_read

路径参数

  • ref
    必需
    字符串

    项目参考

响应代码

  • 200
  • 401
  • 403
  • 429
  • 500

响应 (200)

1
{
2
"entitlement": "disallowed",
3
"config": {
4
"dbAllowedCidrs": [
5
"lorem"
6
],
7
"dbAllowedCidrsV6": [
8
"lorem"
9
]
10
},
11
"old_config": {
12
"dbAllowedCidrs": [
13
"lorem"
14
],
15
"dbAllowedCidrsV6": [
16
"lorem"
17
]
18
},
19
"status": "stored",
20
"updated_at": "2021-12-31T23:34:00Z",
21
"applied_at": "2021-12-31T23:34:00Z"
22
}

[Beta] 返回项目升级资格

get/v1/projects/{ref}/upgrade/eligibility

OAuth 范围

  • projects:read

细粒度令牌必须包含以下权限才能访问此端点

  • project_admin_read
  • database_read

路径参数

  • ref
    必需
    字符串

    项目参考

响应代码

  • 200
  • 401
  • 403
  • 429
  • 500

响应 (200)

1
{
2
"eligible": true,
3
"current_app_version": "lorem",
4
"current_app_version_release_channel": "internal",
5
"latest_app_version": "lorem",
6
"target_upgrade_versions": [
7
{
8
"postgres_version": "13",
9
"release_channel": "internal",
10
"app_version": "lorem"
11
}
12
],
13
"duration_estimate_hours": 42,
14
"legacy_auth_custom_roles": [
15
"lorem"
16
],
17
"objects_to_be_dropped": [
18
"lorem"
19
],
20
"unsupported_extensions": [
21
"lorem"
22
],
23
"user_defined_objects_in_internal_schemas": [
24
"lorem"
25
],
26
"validation_errors": [
27
{
28
"type": "objects_depending_on_pg_cron",
29
"dependents": [
30
"lorem"
31
]
32
}
33
]
34
}

[Beta] 获取项目升级的最新状态

get/v1/projects/{ref}/upgrade/status

OAuth 范围

  • projects:read

细粒度令牌必须包含以下权限才能访问此端点

  • project_admin_read
  • database_read

路径参数

  • ref
    必需
    字符串

    项目参考

查询参数

  • tracking_id
    可选
    字符串

响应代码

  • 200
  • 401
  • 403
  • 429
  • 500

响应 (200)

1
{
2
"databaseUpgradeStatus": {
3
"initiated_at": "lorem",
4
"latest_status_at": "lorem",
5
"target_version": 42,
6
"error": "1_upgraded_instance_launch_failed",
7
"progress": "0_requested",
8
"status": 42
9
}
10
}

获取属于已认证用户的特定项目

get/v1/projects/{ref}

OAuth 范围

  • projects:read

细粒度令牌必须包含以下权限才能访问此端点

  • project_admin_read

路径参数

  • ref
    必需
    字符串

    项目参考

响应代码

  • 200
  • 401
  • 403
  • 429
  • 500

响应 (200)

1
{
2
"id": "lorem",
3
"ref": "mmmmmmmmmmmmmmmmmmmm",
4
"organization_id": "lorem",
5
"organization_slug": "EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE",
6
"name": "lorem",
7
"region": "us-east-1",
8
"created_at": "2023-03-29T16:32:59Z",
9
"status": "INACTIVE",
10
"database": {
11
"host": "lorem",
12
"version": "lorem",
13
"postgres_engine": "lorem",
14
"release_channel": "lorem"
15
}
16
}

获取项目磁盘自动扩展配置

get/v1/projects/{ref}/config/disk/autoscale

细粒度令牌必须包含以下权限才能访问此端点

  • infra_disk_config_read

路径参数

  • ref
    必需
    字符串

    项目参考

响应代码

  • 200
  • 401
  • 403
  • 429
  • 500

响应 (200)

1
{
2
"growth_percent": 1,
3
"min_increment_gb": 1,
4
"max_size_gb": 1
5
}

获取项目的服务健康状态

get/v1/projects/{ref}/health

OAuth 范围

  • projects:read

细粒度令牌必须包含以下权限才能访问此端点

  • project_admin_read

路径参数

  • ref
    必需
    字符串

    项目参考

查询参数

  • services
    必需
    Array<enum>
  • timeout_ms
    可选
    integer

响应代码

  • 200
  • 401
  • 403
  • 429
  • 500

响应 (200)

1
[
2
{
3
"name": "auth",
4
"healthy": true,
5
"status": "COMING_UP",
6
"info": {
7
"name": "GoTrue",
8
"version": "lorem",
9
"description": "lorem"
10
},
11
"error": "lorem"
12
}
13
]

[Beta] 获取项目的网络禁令

post/v1/projects/{ref}/network-bans/retrieve

OAuth 范围

  • projects:read

细粒度令牌必须包含以下权限才能访问此端点

  • database_network_bans_read

路径参数

  • ref
    必需
    字符串

    项目参考

响应代码

  • 201
  • 401
  • 403
  • 429
  • 500

响应 (201)

1
{
2
"banned_ipv4_addresses": [
3
"lorem"
4
]
5
}

[Beta] 获取项目的网络禁令以及它们影响哪些数据库的附加信息

post/v1/projects/{ref}/network-bans/retrieve/enriched

OAuth 范围

  • projects:read

细粒度令牌必须包含以下权限才能访问此端点

  • database_network_bans_read

路径参数

  • ref
    必需
    字符串

    项目参考

响应代码

  • 201
  • 401
  • 403
  • 429
  • 500

响应 (201)

1
{
2
"banned_ipv4_addresses": [
3
{
4
"banned_address": "lorem",
5
"identifier": "lorem",
6
"type": "lorem"
7
}
8
]
9
}

列出所有项目

get/v1/projects

返回您之前创建的所有项目列表。

如果可能,请使用 /v1/organizations/{slug}/projects 来获取更精确的结果和分页支持。

OAuth 范围

  • projects:read

细粒度令牌必须包含以下权限才能访问此端点

  • projects_read

响应代码

  • 200

响应 (200)

1
[
2
{
3
"id": "lorem",
4
"ref": "mmmmmmmmmmmmmmmmmmmm",
5
"organization_id": "lorem",
6
"organization_slug": "EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE",
7
"name": "lorem",
8
"region": "us-east-1",
9
"created_at": "2023-03-29T16:32:59Z",
10
"status": "INACTIVE",
11
"database": {
12
"host": "lorem",
13
"version": "lorem",
14
"postgres_engine": "lorem",
15
"release_channel": "lorem"
16
}
17
}
18
]

列出给定项目的可用恢复版本

get/v1/projects/{ref}/restore

OAuth 范围

  • projects:read

细粒度令牌必须包含以下权限才能访问此端点

  • project_admin_read

路径参数

  • ref
    必需
    字符串

    项目参考

响应代码

  • 200
  • 401
  • 403
  • 429

响应 (200)

1
{
2
"available_versions": [
3
{
4
"version": "lorem",
5
"release_channel": "internal",
6
"postgres_engine": "13"
7
}
8
]
9
}

修改数据库磁盘

post/v1/projects/{ref}/config/disk

细粒度令牌必须包含以下权限才能访问此端点

  • infra_disk_config_write

路径参数

  • ref
    必需
    字符串

    项目参考

正文

  • attributes
    必需
    以下选项之一

响应代码

  • 201
  • 401
  • 403
  • 429
  • 500

响应 (201)

1
{}

[Alpha] 通过添加或删除 CIDR 更新项目的网络限制

patch/v1/projects/{ref}/network-restrictions

OAuth 范围

  • projects:write

细粒度令牌必须包含以下权限才能访问此端点

  • database_network_restrictions_write

路径参数

  • ref
    必需
    字符串

    项目参考

正文

  • add
    可选
    object
  • remove
    可选
    object

响应代码

  • 200
  • 401
  • 403
  • 429
  • 500

响应 (200)

1
{
2
"entitlement": "disallowed",
3
"config": {
4
"dbAllowedCidrs": [
5
{
6
"address": "lorem",
7
"type": "v4"
8
}
9
]
10
},
11
"old_config": {
12
"dbAllowedCidrs": [
13
{
14
"address": "lorem",
15
"type": "v4"
16
}
17
]
18
},
19
"updated_at": "2021-12-31T23:34:00Z",
20
"applied_at": "2021-12-31T23:34:00Z",
21
"status": "stored"
22
}

暂停给定项目

post/v1/projects/{ref}/pause

OAuth 范围

  • projects:write

细粒度令牌必须包含以下权限才能访问此端点

  • project_admin_write

路径参数

  • ref
    必需
    字符串

    项目参考

响应代码

  • 200
  • 401
  • 403
  • 429

响应 (200)

1
{}

恢复给定项目

post/v1/projects/{ref}/restore

OAuth 范围

  • projects:write

细粒度令牌必须包含以下权限才能访问此端点

  • project_admin_write

路径参数

  • ref
    必需
    字符串

    项目参考

响应代码

  • 200
  • 401
  • 403
  • 429

响应 (200)

1
{}

更新给定项目

patch/v1/projects/{ref}

OAuth 范围

  • projects:write

细粒度令牌必须包含以下权限才能访问此端点

  • project_admin_write

路径参数

  • ref
    必需
    字符串

    项目参考

正文

  • name
    必需
    字符串

响应代码

  • 200
  • 401
  • 403
  • 429
  • 500

响应 (200)

1
{
2
"id": 42,
3
"ref": "lorem",
4
"name": "lorem"
5
}

[Beta] 更新项目的网络限制

post/v1/projects/{ref}/network-restrictions/apply

OAuth 范围

  • projects:write

细粒度令牌必须包含以下权限才能访问此端点

  • database_network_restrictions_write

路径参数

  • ref
    必需
    字符串

    项目参考

正文

  • dbAllowedCidrs
    可选
    Array<string>
  • dbAllowedCidrsV6
    可选
    Array<string>

响应代码

  • 201
  • 401
  • 403
  • 429
  • 500

响应 (201)

1
{
2
"entitlement": "disallowed",
3
"config": {
4
"dbAllowedCidrs": [
5
"lorem"
6
],
7
"dbAllowedCidrsV6": [
8
"lorem"
9
]
10
},
11
"old_config": {
12
"dbAllowedCidrs": [
13
"lorem"
14
],
15
"dbAllowedCidrsV6": [
16
"lorem"
17
]
18
},
19
"status": "stored",
20
"updated_at": "2021-12-31T23:34:00Z",
21
"applied_at": "2021-12-31T23:34:00Z"
22
}

[Beta] 升级项目的 Postgres 版本

post/v1/projects/{ref}/upgrade

OAuth 范围

  • projects:write

细粒度令牌必须包含以下权限才能访问此端点

  • project_admin_write
  • database_write

路径参数

  • ref
    必需
    字符串

    项目参考

正文

  • target_version
    必需
    字符串
  • release_channel
    可选
    枚举

响应代码

  • 201
  • 401
  • 403
  • 429
  • 500

响应 (201)

1
{
2
"tracking_id": "lorem"
3
}

获取实时配置

get/v1/projects/{ref}/config/realtime

路径参数

  • ref
    必需
    字符串

    项目参考

响应代码

  • 200
  • 401
  • 403
  • 429

响应 (200)

1
{
2
"private_only": true,
3
"connection_pool": 1,
4
"max_concurrent_users": 1,
5
"max_events_per_second": 1,
6
"max_bytes_per_second": 1,
7
"max_channels_per_client": 1,
8
"max_joins_per_second": 1,
9
"max_presence_events_per_second": 1,
10
"max_payload_size_in_kb": 1,
11
"suspend": true
12
}

关闭项目的实时连接

post/v1/projects/{ref}/config/realtime/shutdown

路径参数

  • ref
    必需
    字符串

    项目参考

响应代码

  • 204
  • 401
  • 403
  • 404
  • 429

响应 (204)

1
{}

更新实时配置

patch/v1/projects/{ref}/config/realtime

路径参数

  • ref
    必需
    字符串

    项目参考

正文

  • private_only
    可选
    boolean
  • connection_pool
    可选
    integer
  • max_concurrent_users
    可选
    integer
  • max_events_per_second
    可选
    integer
  • max_bytes_per_second
    可选
    integer
  • max_channels_per_client
    可选
    integer
  • max_joins_per_second
    可选
    integer
  • max_presence_events_per_second
    可选
    integer
  • max_payload_size_in_kb
    可选
    integer
  • suspend
    可选
    boolean

响应代码

  • 204
  • 401
  • 403
  • 429

响应 (204)

1
{}

获取项目的 postgrest 配置

get/v1/projects/{ref}/postgrest

OAuth 范围

  • rest:read

细粒度令牌必须包含以下权限才能访问此端点

  • data_api_config_read

路径参数

  • ref
    必需
    字符串

    项目参考

响应代码

  • 200
  • 401
  • 403
  • 429
  • 500

响应 (200)

1
{
2
"db_schema": "lorem",
3
"max_rows": 42,
4
"db_extra_search_path": "lorem",
5
"db_pool": 42,
6
"jwt_secret": "lorem"
7
}

更新项目的 postgrest 配置

patch/v1/projects/{ref}/postgrest

OAuth 范围

  • rest:write

细粒度令牌必须包含以下权限才能访问此端点

  • data_api_config_write

路径参数

  • ref
    必需
    字符串

    项目参考

正文

  • db_extra_search_path
    可选
    字符串
  • db_schema
    可选
    字符串
  • max_rows
    可选
    integer
  • db_pool
    可选
    integer

响应代码

  • 200
  • 401
  • 403
  • 429
  • 500

响应 (200)

1
{
2
"db_schema": "lorem",
3
"max_rows": 42,
4
"db_extra_search_path": "lorem",
5
"db_pool": 42
6
}

批量创建密钥

post/v1/projects/{ref}/secrets

创建多个密钥并将其添加到指定项目。

OAuth 范围

  • secrets:write

细粒度令牌必须包含以下权限才能访问此端点

  • edge_functions_secrets_write

路径参数

  • ref
    必需
    字符串

    项目参考

正文

对象数组

响应代码

  • 201
  • 401
  • 403
  • 429
  • 500

响应 (201)

1
{}

批量删除密钥

delete/v1/projects/{ref}/secrets

从指定项目中删除具有给定名称的所有密钥

OAuth 范围

  • secrets:write

细粒度令牌必须包含以下权限才能访问此端点

  • edge_functions_secrets_write

路径参数

  • ref
    必需
    字符串

    项目参考

正文

字符串数组

响应代码

  • 200
  • 401
  • 403
  • 429
  • 500

响应 (200)

1
{}

为项目创建新的 API 密钥

post/v1/projects/{ref}/api-keys

OAuth 范围

  • secrets:write

细粒度令牌必须包含以下权限才能访问此端点

  • api_gateway_keys_write

路径参数

  • ref
    必需
    字符串

    项目参考

查询参数

  • reveal
    可选
    boolean

    布尔字符串,true 或 false

正文

  • type
    必需
    枚举
  • name
    必需
    字符串
  • description
    可选
    字符串
  • secret_jwt_template
    可选
    object

响应代码

  • 201
  • 401
  • 403
  • 429

响应 (201)

1
{
2
"api_key": "lorem",
3
"id": "lorem",
4
"type": "legacy",
5
"prefix": "lorem",
6
"name": "lorem",
7
"description": "lorem",
8
"hash": "lorem",
9
"secret_jwt_template": {
10
"property1": null,
11
"property2": null
12
},
13
"inserted_at": "2021-12-31T23:34:00Z",
14
"updated_at": "2021-12-31T23:34:00Z"
15
}

删除项目的 API 密钥

delete/v1/projects/{ref}/api-keys/{id}

OAuth 范围

  • secrets:write

细粒度令牌必须包含以下权限才能访问此端点

  • api_gateway_keys_write

路径参数

  • ref
    必需
    字符串

    项目参考

  • id
    必需
    字符串

查询参数

  • reveal
    可选
    boolean

    布尔字符串,true 或 false

  • was_compromised
    可选
    boolean

    布尔字符串,true 或 false

  • reason
    可选
    字符串

响应代码

  • 200
  • 401
  • 403
  • 429

响应 (200)

1
{
2
"api_key": "lorem",
3
"id": "lorem",
4
"type": "legacy",
5
"prefix": "lorem",
6
"name": "lorem",
7
"description": "lorem",
8
"hash": "lorem",
9
"secret_jwt_template": {
10
"property1": null,
11
"property2": null
12
},
13
"inserted_at": "2021-12-31T23:34:00Z",
14
"updated_at": "2021-12-31T23:34:00Z"
15
}

[Beta] 获取项目的 pgsodium 配置

get/v1/projects/{ref}/pgsodium

OAuth 范围

  • secrets:read

细粒度令牌必须包含以下权限才能访问此端点

  • project_admin_write

路径参数

  • ref
    必需
    字符串

    项目参考

响应代码

  • 200
  • 401
  • 403
  • 429
  • 500

响应 (200)

1
{
2
"root_key": "lorem"
3
}

获取 API 密钥

get/v1/projects/{ref}/api-keys/{id}

OAuth 范围

  • secrets:read

细粒度令牌必须包含以下权限才能访问此端点

  • api_gateway_keys_read

路径参数

  • ref
    必需
    字符串

    项目参考

  • id
    必需
    字符串

查询参数

  • reveal
    可选
    boolean

    布尔字符串,true 或 false

响应代码

  • 200
  • 401
  • 403
  • 429

响应 (200)

1
{
2
"api_key": "lorem",
3
"id": "lorem",
4
"type": "legacy",
5
"prefix": "lorem",
6
"name": "lorem",
7
"description": "lorem",
8
"hash": "lorem",
9
"secret_jwt_template": {
10
"property1": null,
11
"property2": null
12
},
13
"inserted_at": "2021-12-31T23:34:00Z",
14
"updated_at": "2021-12-31T23:34:00Z"
15
}

获取项目 API 密钥

get/v1/projects/{ref}/api-keys

OAuth 范围

  • secrets:read

细粒度令牌必须包含以下权限才能访问此端点

  • api_gateway_keys_read

路径参数

  • ref
    必需
    字符串

    项目参考

查询参数

  • reveal
    可选
    boolean

    布尔字符串,true 或 false

响应代码

  • 200
  • 401
  • 403
  • 429

响应 (200)

1
[
2
{
3
"api_key": "lorem",
4
"id": "lorem",
5
"type": "legacy",
6
"prefix": "lorem",
7
"name": "lorem",
8
"description": "lorem",
9
"hash": "lorem",
10
"secret_jwt_template": {
11
"property1": null,
12
"property2": null
13
},
14
"inserted_at": "2021-12-31T23:34:00Z",
15
"updated_at": "2021-12-31T23:34:00Z"
16
}
17
]

检查是否启用了基于 JWT 的旧版(匿名、服务角色)API 密钥。此 API 端点将在未来删除,请检查 HTTP 404 Not Found。

get/v1/projects/{ref}/api-keys/legacy

OAuth 范围

  • secrets:read

细粒度令牌必须包含以下权限才能访问此端点

  • api_gateway_keys_read

路径参数

  • ref
    必需
    字符串

    项目参考

响应代码

  • 200
  • 401
  • 403
  • 429

响应 (200)

1
{
2
"enabled": true
3
}

列出所有密钥

get/v1/projects/{ref}/secrets

返回您之前添加到指定项目的所有密钥。

OAuth 范围

  • secrets:read

细粒度令牌必须包含以下权限才能访问此端点

  • edge_functions_secrets_read

路径参数

  • ref
    必需
    字符串

    项目参考

响应代码

  • 200
  • 401
  • 403
  • 429
  • 500

响应 (200)

1
[
2
{
3
"name": "lorem",
4
"value": "lorem",
5
"updated_at": "lorem"
6
}
7
]

[Beta] 更新项目的 pgsodium 配置。更新 root_key 可能会导致所有使用旧密钥加密的数据无法访问。

put/v1/projects/{ref}/pgsodium

OAuth 范围

  • secrets:write

细粒度令牌必须包含以下权限才能访问此端点

  • project_admin_write

路径参数

  • ref
    必需
    字符串

    项目参考

正文

  • root_key
    必需
    字符串

响应代码

  • 200
  • 401
  • 403
  • 429
  • 500

响应 (200)

1
{
2
"root_key": "lorem"
3
}

更新项目的 API 密钥

patch/v1/projects/{ref}/api-keys/{id}

OAuth 范围

  • secrets:write

细粒度令牌必须包含以下权限才能访问此端点

  • api_gateway_keys_write

路径参数

  • ref
    必需
    字符串

    项目参考

  • id
    必需
    字符串

查询参数

  • reveal
    可选
    boolean

    布尔字符串,true 或 false

正文

  • name
    可选
    字符串
  • description
    可选
    字符串
  • secret_jwt_template
    可选
    object

响应代码

  • 200
  • 401
  • 403
  • 429

响应 (200)

1
{
2
"api_key": "lorem",
3
"id": "lorem",
4
"type": "legacy",
5
"prefix": "lorem",
6
"name": "lorem",
7
"description": "lorem",
8
"hash": "lorem",
9
"secret_jwt_template": {
10
"property1": null,
11
"property2": null
12
},
13
"inserted_at": "2021-12-31T23:34:00Z",
14
"updated_at": "2021-12-31T23:34:00Z"
15
}

禁用或重新启用基于 JWT 的旧版(匿名、服务角色)API 密钥。此 API 端点将在未来删除,请检查 HTTP 404 Not Found。

put/v1/projects/{ref}/api-keys/legacy

OAuth 范围

  • secrets:write

细粒度令牌必须包含以下权限才能访问此端点

  • api_gateway_keys_write

路径参数

  • ref
    必需
    字符串

    项目参考

查询参数

  • enabled
    必需
    boolean

    布尔字符串,true 或 false

响应代码

  • 200
  • 401
  • 403
  • 429

响应 (200)

1
{
2
"enabled": true
3
}

获取项目的存储配置

get/v1/projects/{ref}/config/storage

细粒度令牌必须包含以下权限才能访问此端点

  • storage_config_read

路径参数

  • ref
    必需
    字符串

    项目参考

响应代码

  • 200
  • 401
  • 403
  • 429
  • 500

响应 (200)

1
{
2
"fileSizeLimit": 42,
3
"features": {
4
"imageTransformation": {
5
"enabled": true
6
},
7
"s3Protocol": {
8
"enabled": true
9
},
10
"icebergCatalog": {
11
"enabled": true,
12
"maxNamespaces": 0,
13
"maxTables": 0,
14
"maxCatalogs": 0
15
},
16
"vectorBuckets": {
17
"enabled": true,
18
"maxBuckets": 0,
19
"maxIndexes": 0
20
}
21
},
22
"capabilities": {
23
"list_v2": true,
24
"iceberg_catalog": true
25
},
26
"external": {
27
"upstreamTarget": "main"
28
},
29
"migrationVersion": "lorem",
30
"databasePoolMode": "lorem"
31
}

列出所有存储桶

get/v1/projects/{ref}/storage/buckets

OAuth 范围

  • storage:read

细粒度令牌必须包含以下权限才能访问此端点

  • storage_read

路径参数

  • ref
    必需
    字符串

    项目参考

响应代码

  • 200
  • 401
  • 403
  • 429
  • 500

响应 (200)

1
[
2
{
3
"id": "lorem",
4
"name": "lorem",
5
"owner": "lorem",
6
"created_at": "lorem",
7
"updated_at": "lorem",
8
"public": true
9
}
10
]

更新项目的存储配置

patch/v1/projects/{ref}/config/storage

细粒度令牌必须包含以下权限才能访问此端点

  • storage_config_write

路径参数

  • ref
    必需
    字符串

    项目参考

正文

  • fileSizeLimit
    可选
    integer
  • features
    可选
    object
  • external
    可选
    object

响应代码

  • 200
  • 401
  • 403
  • 429
  • 500

响应 (200)

1
{}