设置账户的支出上限或套餐
spend_limit_usd。从现在起每个自然月,控制平面自行从账户的银行卡扣款的上限(自动充值,以及账单日扣收的欠款);null 表示取消上限。如果某次充值会让当月自行扣款的总额(不含失败的和已退回的)超过上限,自动充值就不会进行:上限为 $45、每次充值 $20 时,一个月内充值两次。账单日扣收欠费账户的欠款时,不超过上限剩余的额度,自动充值也会把它计算在内。账户自己发起的充值不计入,也不会被拦下。上限本身不会停止任何东西。提高或取消上限后,自动充值可以借本次调用进行充值。从未充值过的账户没有自动充值,上限也不起作用。从未设置过上限的账户使用其套餐的上限(GET /internal/control 的 plans 中的 spend_limit_usd:按控制平面的默认启动设置,付费版为 $50,免费版没有)。
plan。paid:账户订阅付费版。会扣收付费版的月费 $5(GET /v1/billing/charges,kind:subscription),扣款成功那一刻起账户就在付费版上,进入一个包含付费版全部额度的周期;再次发起同一调用不会重复扣款。free 在已付费周期结束时终止订阅;在那之前再请求 paid 可以撤回终止。在只面向企业销售的地方,不是企业的账户不能请求付费版:返回 403 tax_region_business_only,在执行调用的任何部分之前返回(control/README.md,税)。409 subscription_charge_pending:订阅的一笔扣款(首个周期的或下一个周期的)正在收取时请求 free,这笔扣款无法撤回,扣款成功后会开始一个账户表示不想要的周期。
所需权限范围:admin。
https://api.glac.ai/v1/billing授权
请求体JSON必填
- start_nowoptionalboolean
对于现在购买的
plan(账户没有持续的订阅,或者在升级):true:账户要求在 14 天内立即提供所购服务(欧洲经济区或英国的消费者在这 14 天内可以撤回购买),并确认如果撤回,需要为已提供的部分付费,以及点数已全部用完的充值视为已全部提供、不能再撤回(具体措辞见GET /v1/billing/withdrawals的right.start_now)。作为当地消费者购买的账户(没有已核验或正在核验的税号,且账单地址在当地;没有账单地址时,按调用的来源地址判断)必须给出:不给出时返回 400start_now_required。无论在哪里给出,都会与购买记录一起保存:不给出时,撤回会退还全部已付金额(control/README.md,撤回)。
Returns
200
账户当前的计费信息。
- metersobjectrequired
- cpuobjectrequired
账户所在时段(
included_from到included_to)的一个计量项:在付费版上为订阅的一个周期,在免费版上为当天 (UTC)。- unitcpu_ms或memory_gib_seconds或requests或volume_data_gb_hours或egress_bytes或volume_cache_gb_hours另有 4 个required
数量的单位。付费版周期:CPU 毫秒(繁忙 vCPU 的毫秒数)、内存的 GiB·秒、请求数、存储卷数据和 NVMe 缓存的 GB·小时、发送的字节数、保留日志的 GB·小时。免费版的一天,则是其配额的计量单位:CPU、内存、请求和流量相同;存储卷数据和缓存为同时保存的字节数(
volume_data_bytes、volume_cache_bytes:存量,以最近一个完整小时的账目为准);日志为当天打印的字节数 (log_bytes)。 - stoppedbooleanrequired
该计量项对应的服务已停止。在付费版上:周期包含的额度已用完,且账户没有余额支付更多。在免费版上:当天的配额已用完,无论账户有多少余额,直到 UTC 00:00 (
included_to)。cpu、memory:账户的沙箱被冻结,不能创建任何新东西 (frozen)。requests:发往其沙箱和应用的请求在边缘节点被拒绝。egress:其沙箱发往互联网的流量被停止。logs:其应用打印的内容不再保留。volume_data、volume_cache:从不停止:在付费版上,存储卷超出周期包含额度保存的数据会成为欠款;在免费版上,超出存量上限时新建存储卷或快照会被拒绝 (403storage_quota_reached)。
- memoryobjectrequired
账户所在时段(
included_from到included_to)的一个计量项:在付费版上为订阅的一个周期,在免费版上为当天 (UTC)。- unitcpu_ms或memory_gib_seconds或requests或volume_data_gb_hours或egress_bytes或volume_cache_gb_hours另有 4 个required
数量的单位。付费版周期:CPU 毫秒(繁忙 vCPU 的毫秒数)、内存的 GiB·秒、请求数、存储卷数据和 NVMe 缓存的 GB·小时、发送的字节数、保留日志的 GB·小时。免费版的一天,则是其配额的计量单位:CPU、内存、请求和流量相同;存储卷数据和缓存为同时保存的字节数(
volume_data_bytes、volume_cache_bytes:存量,以最近一个完整小时的账目为准);日志为当天打印的字节数 (log_bytes)。 - stoppedbooleanrequired
该计量项对应的服务已停止。在付费版上:周期包含的额度已用完,且账户没有余额支付更多。在免费版上:当天的配额已用完,无论账户有多少余额,直到 UTC 00:00 (
included_to)。cpu、memory:账户的沙箱被冻结,不能创建任何新东西 (frozen)。requests:发往其沙箱和应用的请求在边缘节点被拒绝。egress:其沙箱发往互联网的流量被停止。logs:其应用打印的内容不再保留。volume_data、volume_cache:从不停止:在付费版上,存储卷超出周期包含额度保存的数据会成为欠款;在免费版上,超出存量上限时新建存储卷或快照会被拒绝 (403storage_quota_reached)。
- requestsobjectrequired
账户所在时段(
included_from到included_to)的一个计量项:在付费版上为订阅的一个周期,在免费版上为当天 (UTC)。- unitcpu_ms或memory_gib_seconds或requests或volume_data_gb_hours或egress_bytes或volume_cache_gb_hours另有 4 个required
数量的单位。付费版周期:CPU 毫秒(繁忙 vCPU 的毫秒数)、内存的 GiB·秒、请求数、存储卷数据和 NVMe 缓存的 GB·小时、发送的字节数、保留日志的 GB·小时。免费版的一天,则是其配额的计量单位:CPU、内存、请求和流量相同;存储卷数据和缓存为同时保存的字节数(
volume_data_bytes、volume_cache_bytes:存量,以最近一个完整小时的账目为准);日志为当天打印的字节数 (log_bytes)。 - stoppedbooleanrequired
该计量项对应的服务已停止。在付费版上:周期包含的额度已用完,且账户没有余额支付更多。在免费版上:当天的配额已用完,无论账户有多少余额,直到 UTC 00:00 (
included_to)。cpu、memory:账户的沙箱被冻结,不能创建任何新东西 (frozen)。requests:发往其沙箱和应用的请求在边缘节点被拒绝。egress:其沙箱发往互联网的流量被停止。logs:其应用打印的内容不再保留。volume_data、volume_cache:从不停止:在付费版上,存储卷超出周期包含额度保存的数据会成为欠款;在免费版上,超出存量上限时新建存储卷或快照会被拒绝 (403storage_quota_reached)。
- volume_dataobjectrequired
账户的存储卷中的数据、快照保存的数据、休眠沙箱保存的自身内存和磁盘,以及存储卷备份保存的数据:在付费版上以 GB·小时计,在免费版上以同时保存的字节数计(是存量上限,不是每日配额)。
- unitcpu_ms或memory_gib_seconds或requests或volume_data_gb_hours或egress_bytes或volume_cache_gb_hours另有 4 个required
数量的单位。付费版周期:CPU 毫秒(繁忙 vCPU 的毫秒数)、内存的 GiB·秒、请求数、存储卷数据和 NVMe 缓存的 GB·小时、发送的字节数、保留日志的 GB·小时。免费版的一天,则是其配额的计量单位:CPU、内存、请求和流量相同;存储卷数据和缓存为同时保存的字节数(
volume_data_bytes、volume_cache_bytes:存量,以最近一个完整小时的账目为准);日志为当天打印的字节数 (log_bytes)。 - stoppedbooleanrequired
该计量项对应的服务已停止。在付费版上:周期包含的额度已用完,且账户没有余额支付更多。在免费版上:当天的配额已用完,无论账户有多少余额,直到 UTC 00:00 (
included_to)。cpu、memory:账户的沙箱被冻结,不能创建任何新东西 (frozen)。requests:发往其沙箱和应用的请求在边缘节点被拒绝。egress:其沙箱发往互联网的流量被停止。logs:其应用打印的内容不再保留。volume_data、volume_cache:从不停止:在付费版上,存储卷超出周期包含额度保存的数据会成为欠款;在免费版上,超出存量上限时新建存储卷或快照会被拒绝 (403storage_quota_reached)。
- egressobjectrequired
账户所在时段(
included_from到included_to)的一个计量项:在付费版上为订阅的一个周期,在免费版上为当天 (UTC)。- unitcpu_ms或memory_gib_seconds或requests或volume_data_gb_hours或egress_bytes或volume_cache_gb_hours另有 4 个required
数量的单位。付费版周期:CPU 毫秒(繁忙 vCPU 的毫秒数)、内存的 GiB·秒、请求数、存储卷数据和 NVMe 缓存的 GB·小时、发送的字节数、保留日志的 GB·小时。免费版的一天,则是其配额的计量单位:CPU、内存、请求和流量相同;存储卷数据和缓存为同时保存的字节数(
volume_data_bytes、volume_cache_bytes:存量,以最近一个完整小时的账目为准);日志为当天打印的字节数 (log_bytes)。 - stoppedbooleanrequired
该计量项对应的服务已停止。在付费版上:周期包含的额度已用完,且账户没有余额支付更多。在免费版上:当天的配额已用完,无论账户有多少余额,直到 UTC 00:00 (
included_to)。cpu、memory:账户的沙箱被冻结,不能创建任何新东西 (frozen)。requests:发往其沙箱和应用的请求在边缘节点被拒绝。egress:其沙箱发往互联网的流量被停止。logs:其应用打印的内容不再保留。volume_data、volume_cache:从不停止:在付费版上,存储卷超出周期包含额度保存的数据会成为欠款;在免费版上,超出存量上限时新建存储卷或快照会被拒绝 (403storage_quota_reached)。
- volume_cacheobjectrequired
账户的存储卷在其节点自有 NVMe 上保存的数据,取各存储卷所设缓存大小与其数据量中较小的那个:在付费版上以 GB·小时计,在免费版上以同时保存的字节数计(存量上限)。
- unitcpu_ms或memory_gib_seconds或requests或volume_data_gb_hours或egress_bytes或volume_cache_gb_hours另有 4 个required
数量的单位。付费版周期:CPU 毫秒(繁忙 vCPU 的毫秒数)、内存的 GiB·秒、请求数、存储卷数据和 NVMe 缓存的 GB·小时、发送的字节数、保留日志的 GB·小时。免费版的一天,则是其配额的计量单位:CPU、内存、请求和流量相同;存储卷数据和缓存为同时保存的字节数(
volume_data_bytes、volume_cache_bytes:存量,以最近一个完整小时的账目为准);日志为当天打印的字节数 (log_bytes)。 - stoppedbooleanrequired
该计量项对应的服务已停止。在付费版上:周期包含的额度已用完,且账户没有余额支付更多。在免费版上:当天的配额已用完,无论账户有多少余额,直到 UTC 00:00 (
included_to)。cpu、memory:账户的沙箱被冻结,不能创建任何新东西 (frozen)。requests:发往其沙箱和应用的请求在边缘节点被拒绝。egress:其沙箱发往互联网的流量被停止。logs:其应用打印的内容不再保留。volume_data、volume_cache:从不停止:在付费版上,存储卷超出周期包含额度保存的数据会成为欠款;在免费版上,超出存量上限时新建存储卷或快照会被拒绝 (403storage_quota_reached)。
- logsobjectrequired
账户的应用打印且被节点保留的内容:在付费版上按保留时长计,单位为 GB·小时(每行的
text,按打印时计,乘以其保留的小时数);在免费版上为当天打印的字节数。- unitcpu_ms或memory_gib_seconds或requests或volume_data_gb_hours或egress_bytes或volume_cache_gb_hours另有 4 个required
数量的单位。付费版周期:CPU 毫秒(繁忙 vCPU 的毫秒数)、内存的 GiB·秒、请求数、存储卷数据和 NVMe 缓存的 GB·小时、发送的字节数、保留日志的 GB·小时。免费版的一天,则是其配额的计量单位:CPU、内存、请求和流量相同;存储卷数据和缓存为同时保存的字节数(
volume_data_bytes、volume_cache_bytes:存量,以最近一个完整小时的账目为准);日志为当天打印的字节数 (log_bytes)。 - stoppedbooleanrequired
该计量项对应的服务已停止。在付费版上:周期包含的额度已用完,且账户没有余额支付更多。在免费版上:当天的配额已用完,无论账户有多少余额,直到 UTC 00:00 (
included_to)。cpu、memory:账户的沙箱被冻结,不能创建任何新东西 (frozen)。requests:发往其沙箱和应用的请求在边缘节点被拒绝。egress:其沙箱发往互联网的流量被停止。logs:其应用打印的内容不再保留。volume_data、volume_cache:从不停止:在付费版上,存储卷超出周期包含额度保存的数据会成为欠款;在免费版上,超出存量上限时新建存储卷或快照会被拒绝 (403storage_quota_reached)。
- capsobjectrequired
账户同时可拥有的数量,各项上限的数值及其来源。
GET /v1/account给出相同的内容,并附带账户当前各项的量 (used),它随沙箱的唤醒、休眠和创建而变化,不出现在账单中 (control/README.md)。套餐的数值(运行中、其 vCPU、其内存、休眠中、单个应用的实例数上限及未指定时的数量、一分钟内创建、单个项目一小时内创建、一小时内创建的应用和版本:免费版为 5、10、10 GiB、20、5 和 2、10、200、10;付费版为 500、500、1,000 GiB、10,000、500 和 50、600、10,000、500),或运营方为该账户设定的数值。上限是配额,不是预留:在上限之内,已满的节点照样会拒绝 (503no_capacity)。它只阻止新的东西:达到上限时,或账户改用上限更小的套餐时,已在运行的照常运行。统计的是各节点每隔几秒 (--usage-seconds) 报告的账户所有项目中的沙箱,以及此后各调用带来的变化:节点因请求其端口而自行唤醒的沙箱,以及节点为请求创建或唤醒的应用实例,从其节点的下一次检查起计入。一分钟或一小时内创建的数量,由控制平面从启动起在内存中统计。超出上限时,账户会收到 403plan_cap_reached,其param为该上限的名称。 - subscriptionrequired
账户的订阅;没有订阅也没有申请订阅的账户为 null。
}以下之一:
- Subscription
- statepending或active或ending或due或unpaidrequired
pending:账户已申请订阅,正在收取第一个周期的扣款;在此之前账户使用免费版。active:处于已付费的周期中,周期结束时扣收下一个周期的费用。ending:处于已付费的周期中,该周期结束时订阅终止 (ends_at)。due:已付费的周期已结束,正在收取下一个周期的扣款。unpaid:那笔扣款失败了,会再次扣款 (charge.retry_at)。处于due或unpaid期间,账户仍在其套餐上,按其上一个周期的情况限制;这期间的用量不属于任何周期,按到期周期的包含额度对照,该周期付款后即归入该周期;到ends_at时订阅终止。 - planpaid或nullrequired
订阅所采用的套餐:
paid。处于pending时:所申请的套餐。 - sincestring | nullrequired
开始时间:即其第一个周期的开始。处于
pending时为 null。format: date-time - dayinteger | nullrequired
其周期在每月的哪一天开始(在有这一天的月份中);处于
pending时为 null。 - chargedbooleanrequired
其周期是否从账户的银行卡扣费。false:由运营方赠送,周期结束时不扣任何费用。
- fee_usdnumberrequired
每个周期的扣费金额:
plan的月费;赠送的订阅为 0。 - periodobject | nullrequired
账户所在的周期;处于
pending时为 null。处于due或unpaid时:尚未付费的那个周期。- fromstringrequiredformat: date-time
- tostringrequiredformat: date-time
- paidbooleanrequired
已付费,或为赠送。
- charge_idstring | nullrequired
为它付费的扣款,或正在为它收取的扣款;赠送的周期,以及收款方手上还没有它的扣款时,为 null。
- next_charge_atstring | nullrequired
下一个周期的扣款时间:即最后一个已付费周期的结束时间。届时不扣费时为 null:订阅即将终止,或为赠送;处于
pending、due或unpaid时也为 null,此时起作用的扣款是charge中的那一笔。format: date-time - ends_atstring | nullrequired
ending:订阅终止的时间,即已付费周期的结束时间。due、unpaid:如果在此之前扣款仍未收取,订阅就在此时终止:即宽限期结束的时间,为已付费周期结束后七天(按控制平面的默认启动设置);此后账户改用免费版。其他情况为 null。format: date-time - chargeobject | nullrequired
处于
pending、due或unpaid时:为订阅发起的最后一笔扣款,即正在收取的或已失败的那一笔。其他情况为 null。- idstringrequired
- planpaid或nullrequired
这笔扣款所支付周期的套餐。
- stateto_collect或collected或failedrequired
- failureobject | nullrequired
失败的情况,与扣款的
failure对账户的说法一致:card_declined或payment_failed,从不说明原因;不是failed时为 null。- codestringrequired
- messagestringrequired
- retry_atstring | nullrequired
对失败的扣款:何时再次扣款;不再扣款时为 null。
format: date-time
- null
- debtrequired
账户的欠款、起始时间,以及其存储内容将被删除的时间;没有欠款的账户为 null。
GET /v1/account中有相同的信息,以及账户的email。}以下之一:
- Debt
- objectstringrequired
- idstringrequired
- stateowing或deleting或paid或deletedrequired
owing:账户欠费,其中任何部分都不能使用。deleting:期限已过,账户存储的内容正在删除。账户只会看到这两种状态的欠款。paid:已付清,或欠款低于欠费的起点。deleted:账户存储的内容已被删除,其欠款已核销。 - in_debt_sincestringrequired
发现账户欠款达到欠费起点的时间。
format: date-time - owed_usdnumberrequired
当前欠款:余额低于零的金额。已结束的欠款为 0。
- data_deleted_atstring | nullrequired
如果账户仍欠费,其存储内容的删除时间:发件方已接收的通知中所写的最晚日期。在欠款的通知尚未被接收时(此时不会删除任何东西),以及运营方冻结账户期间,为 null。以删除告终的欠款,为删除的时间。
format: date-time - notice_daysintegerrequired
欠费账户从第一条通知起有多少天的期限 (
--debt-days)。 - on_holdbooleanrequired
运营方冻结了该账户:账户的任何东西都不会被删除,其天数也停止计算。
- charge_atstring | nullrequired
下次从账户银行卡扣收欠款的时间:欠款开始后或上次扣款后的第一个账单日的 UTC 00:00(账单日是账户订阅开始那天在每月中的日期;没有订阅时为第一次充值收款的那天;当月没有这一天时取当月最后一天)。已到的时间会在下一次检查时扣款。null:不会扣款,因为账户没有登记银行卡 (
Balance.card) 或没有账单日、运营方冻结了账户、删除已经开始,或者欠款低于欠费的起点。扣收的是当时的欠款,向上取整到分,且不超过账户支出上限在本自然月剩余的额度 (Balance.reload_left_usd):因此剩下的欠款在下一个账单日扣收;如果上限剩余的额度低于欠费的起点,当月不扣款,下个月的第一次检查时扣收(在此之前这个时间保持为已到的时间)。format: date-time - last_chargerequired
最近一次从账户银行卡扣收欠款的记录及其结果;第一次扣款之前为 null。
}以下之一:
- DebtCharge
- null
- notices数组,元素为objectrequired
这笔欠款的通知,最早的在前:第一条通知,以及在它被接收后将要发出的提醒;以及每次扣款失败的通知 (
charge_failed)。- idstringrequired
- objectstringrequired
- kindin_debt或reminder_7或reminder_14或reminder_21或reminder_27或reminder_29另有 8 个required
in_debt:欠款的第一条通知。reminder_<day>:在其后的第几天发送(天数由控制平面决定,--debt-reminder-days)。charge_failed:在账单日从账户银行卡扣收欠款失败;每次这样的扣款各一条。data_deleted:账户存储的内容已被删除,欠款已核销。storage_80、storage_100:在产生任何欠款之前,账户套餐包含的存储已用掉五分之四或已用完,且账户没有余额。subscription_charge_failed:到期的订阅周期月费无法扣收;每次这样的扣款各一条,包括第一次以及宽限期内的每次重试。reload_failed:一次自动充值无法扣款;每次各一条。reload_no_card:自动充值已开启且余额低于设定值,但账户没有登记可扣款的银行卡;这种情况持续期间每个自然月一条。included_80、included_100:套餐包含的 CPU 时间、内存、请求或流量已用掉五分之四或已全部用完,且账户没有余额,自动充值也不会充值;每个计量项、每个阈值、每个时段各一条。 - stateto_send或accepted或failed或cancelledrequired
to_send:尚未交给发件方,或已交出但尚无回复。accepted:发件方已接收并负责投递。failed:发件方表示无法投递;如果是欠款通知,过一段时间会重新生成一条。cancelled:不再发送(欠款已付清;或者后来的提醒已经说明了它要说的内容)。账户看不到已取消的通知。 - due_atstringrequired
从何时起交给发件方。
format: date-time - sent_atstring | nullrequired
交给发件方的时间(针对发件方已接收的通知);其他情况为 null。对欠款的第一条通知而言:即欠款天数的起算时刻。
format: date-time - subjectstring | nullrequired
邮件主题(交出之后才有)。
- null
400
invalid_json、unknown_field、unknown_parameter;invalid_field:spend_limit_usd 不是大于等于零的美元数,也不是 null;plan 不是两种套餐之一(free、paid);start_now_required:账户作为欧洲经济区或英国的消费者购买,却没有要求立即提供所购服务 (start_now),因此没有创建任何东西。
- reportoptionalobject
随
compose_refused返回:导入的报告,说明拒绝了什么、为什么以及要改什么。- services数组,元素为objectrequired
导入所采纳的服务,按模型中的顺序。
- appobjectrequired
导入写入的服务应用字段:其版本的构成,以及立即生效的设置。
- scaleobjectrequired
- min_instancesintegerrequired
无论有没有请求,应用在一个区域内保持运行的实例数:即下限。该区域服务该应用的节点按分摊
max_instances的方式分摊它(两个节点、下限为 2:各一个;下限为 1:一个,在最先尝试的节点上;下限为 5:三个和两个),不在线的节点由其他节点补足。节点在收到通知时就创建自己那部分,而不是等到第一个请求,也不会因为空闲而停止或删除这些实例;它们按运行中的实例计量。0(未设置时的值):没有下限。调低后,超出部分的实例从那一刻起视为空闲,并像空闲实例一样被停止和删除。最多为max_instances(如果给出),且不超过账户套餐允许应用在一个区域请求的数量(caps.app_instances.limit:5、50 和 500):超出会被拒绝,返回 403plan_cap_reached。minimum: 0 - max_instancesinteger | nullrequired
应用在一个区域内最多有多少个实例:由该区域服务该应用的节点分摊。最多为账户套餐允许应用请求的数量(
caps.app_instances.limit:免费版 5,付费版 500):超出会被拒绝,返回 403plan_cap_reached;在允许的套餐上请求的数值会保留,但受当前套餐数值的限制。null:未指定数量的应用使用套餐的数值(caps.app_instances.default:免费版 2,付费版 50),如果min_instances更大则用它。告诉节点的数值,不超过账户除其他运行中资源外还能容纳的运行量,也不少于应用当前运行的实例数。minimum: 1 - sleep_after_msinteger | nullrequired
实例在没有请求时最多等待多久就停止,单位为毫秒。在这个上限以内,节点根据应用自己的流量选择等待时间:在应用最近一段时间里两次请求之间的间隔上,比较多运行一秒空闲与停止再恢复所花的 CPU 时间,选出成本最低的等待时间;这样,请求间隔比停止成本还短的应用会一直运行,请求间隔很长的应用则在最后一个响应结束后立即停止(
0:总是立即停止)。null(未设置时的值):平台的上限,三秒。设置过 100(2026年10月28日之前的默认值)的应用,从那天起视为 null。持续停止的实例会在delete_after_ms后被其节点删除,下一个需要实例的请求会得到一个新实例;min_instances保持运行的实例既不会停止也不会删除。maximum: 600000 · minimum: 0 - sleep_hold_max_msintegerrequired
实例中的程序发起的保持,在空闲时间到期后最多还能让实例运行多久,单位为毫秒:程序连接
/run/sbx/awake,如果某个请求在响应之后还有后续工作,就在响应它之前发送+,工作完成后发送-(或关闭连接,或退出);最后一个保持解除sleep_after_ms之后,实例停止。超过这个时间,无论有什么保持,实例都会停止;如果sleep_notice_ms要求通知,会先向已连接的程序发送sleep N cap。保持期间实例在运行,并按运行计量。0:不理会保持。null:30000(默认)。maximum: 900000 · minimum: 0 - delete_after_msinteger | nullrequired
实例空闲多久后被删除,与停止使用同一个起算点:下一个需要实例的请求会得到一个新实例,即版本模板的克隆,不含被删除的实例在内存和磁盘中积累的东西(需要长久保存的数据请放在存储卷或数据库中)。一秒到一小时,一小时是平台的时间,也是上限:超出会被拒绝 (400
invalid_field),需要保持预热的实例应计入min_instances。null(未设置时的值):节点的一小时 (--app-delete-after-seconds)。修改对应用现有的实例和之后创建的实例同样有效:每个节点至少每秒按应用当前的时间检查一次每个实例。不适用于应用的键控实例,键控实例用keys.delete_after_idle_ms。maximum: 3600000 · minimum: 1000 - wake_daily_atoptionalstring | null
每天的某个 UTC 时刻 (
HH:MM),在此时唤醒应用中处于休眠状态的键控实例和有状态服务的实例,让它们完成等待唤醒才能做的工作(比如数据库维护);节点根据应用请求创建和删除的实例只会被请求唤醒。唤醒本身不算活动:唤醒后运行的东西才算,运行完毕后实例会再次休眠。此外,无论这里怎么设置,有状态服务的实例都会为其 PostgreSQL 服务器pg_cron任务的下一次运行而被唤醒。null(默认):不唤醒。数据库的wake_daily_at就是其应用的这一设置。pattern: ^([01][0-9]|2[0-3]):[0-5][0-9]$
- runtimeoptional
运行时设置 (
AppCreate.runtime)。null:没有。}以下之一:
- Runtime
- ulimits映射,值为RuntimeLimitGivenrequired
- sysctls映射,值为stringrequired
- tmpfs数组,元素为objectrequired
- pathstringrequired
- size_bytesinteger | nullrequired
- modeintegerrequired
- dnsobjectrequired
- servers数组,元素为stringrequired
- search数组,元素为stringrequired
- options数组,元素为stringrequired
- shm_size_bytesinteger | nullrequired
- null
401
missing_api_key, invalid_api_key, expired_api_key, invalid_token.
- reportoptionalobject
随
compose_refused返回:导入的报告,说明拒绝了什么、为什么以及要改什么。- services数组,元素为objectrequired
导入所采纳的服务,按模型中的顺序。
- appobjectrequired
导入写入的服务应用字段:其版本的构成,以及立即生效的设置。
- scaleobjectrequired
- min_instancesintegerrequired
无论有没有请求,应用在一个区域内保持运行的实例数:即下限。该区域服务该应用的节点按分摊
max_instances的方式分摊它(两个节点、下限为 2:各一个;下限为 1:一个,在最先尝试的节点上;下限为 5:三个和两个),不在线的节点由其他节点补足。节点在收到通知时就创建自己那部分,而不是等到第一个请求,也不会因为空闲而停止或删除这些实例;它们按运行中的实例计量。0(未设置时的值):没有下限。调低后,超出部分的实例从那一刻起视为空闲,并像空闲实例一样被停止和删除。最多为max_instances(如果给出),且不超过账户套餐允许应用在一个区域请求的数量(caps.app_instances.limit:5、50 和 500):超出会被拒绝,返回 403plan_cap_reached。minimum: 0 - max_instancesinteger | nullrequired
应用在一个区域内最多有多少个实例:由该区域服务该应用的节点分摊。最多为账户套餐允许应用请求的数量(
caps.app_instances.limit:免费版 5,付费版 500):超出会被拒绝,返回 403plan_cap_reached;在允许的套餐上请求的数值会保留,但受当前套餐数值的限制。null:未指定数量的应用使用套餐的数值(caps.app_instances.default:免费版 2,付费版 50),如果min_instances更大则用它。告诉节点的数值,不超过账户除其他运行中资源外还能容纳的运行量,也不少于应用当前运行的实例数。minimum: 1 - sleep_after_msinteger | nullrequired
实例在没有请求时最多等待多久就停止,单位为毫秒。在这个上限以内,节点根据应用自己的流量选择等待时间:在应用最近一段时间里两次请求之间的间隔上,比较多运行一秒空闲与停止再恢复所花的 CPU 时间,选出成本最低的等待时间;这样,请求间隔比停止成本还短的应用会一直运行,请求间隔很长的应用则在最后一个响应结束后立即停止(
0:总是立即停止)。null(未设置时的值):平台的上限,三秒。设置过 100(2026年10月28日之前的默认值)的应用,从那天起视为 null。持续停止的实例会在delete_after_ms后被其节点删除,下一个需要实例的请求会得到一个新实例;min_instances保持运行的实例既不会停止也不会删除。maximum: 600000 · minimum: 0 - sleep_hold_max_msintegerrequired
实例中的程序发起的保持,在空闲时间到期后最多还能让实例运行多久,单位为毫秒:程序连接
/run/sbx/awake,如果某个请求在响应之后还有后续工作,就在响应它之前发送+,工作完成后发送-(或关闭连接,或退出);最后一个保持解除sleep_after_ms之后,实例停止。超过这个时间,无论有什么保持,实例都会停止;如果sleep_notice_ms要求通知,会先向已连接的程序发送sleep N cap。保持期间实例在运行,并按运行计量。0:不理会保持。null:30000(默认)。maximum: 900000 · minimum: 0 - delete_after_msinteger | nullrequired
实例空闲多久后被删除,与停止使用同一个起算点:下一个需要实例的请求会得到一个新实例,即版本模板的克隆,不含被删除的实例在内存和磁盘中积累的东西(需要长久保存的数据请放在存储卷或数据库中)。一秒到一小时,一小时是平台的时间,也是上限:超出会被拒绝 (400
invalid_field),需要保持预热的实例应计入min_instances。null(未设置时的值):节点的一小时 (--app-delete-after-seconds)。修改对应用现有的实例和之后创建的实例同样有效:每个节点至少每秒按应用当前的时间检查一次每个实例。不适用于应用的键控实例,键控实例用keys.delete_after_idle_ms。maximum: 3600000 · minimum: 1000 - wake_daily_atoptionalstring | null
每天的某个 UTC 时刻 (
HH:MM),在此时唤醒应用中处于休眠状态的键控实例和有状态服务的实例,让它们完成等待唤醒才能做的工作(比如数据库维护);节点根据应用请求创建和删除的实例只会被请求唤醒。唤醒本身不算活动:唤醒后运行的东西才算,运行完毕后实例会再次休眠。此外,无论这里怎么设置,有状态服务的实例都会为其 PostgreSQL 服务器pg_cron任务的下一次运行而被唤醒。null(默认):不唤醒。数据库的wake_daily_at就是其应用的这一设置。pattern: ^([01][0-9]|2[0-3]):[0-5][0-9]$
- runtimeoptional
运行时设置 (
AppCreate.runtime)。null:没有。}以下之一:
- Runtime
- ulimits映射,值为RuntimeLimitGivenrequired
- sysctls映射,值为stringrequired
- tmpfs数组,元素为objectrequired
- pathstringrequired
- size_bytesinteger | nullrequired
- modeintegerrequired
- dnsobjectrequired
- servers数组,元素为stringrequired
- search数组,元素为stringrequired
- options数组,元素为stringrequired
- shm_size_bytesinteger | nullrequired
- null
403
key_scope:密钥没有调用所需的权限范围(错误信息会指明是哪一个);needs_api_key:使用的是运营方的密钥或 SSH 网关的密钥;account_held:账户因付款问题被冻结,除 GET /v1/account 外,用它的密钥发起的所有调用都会这样被拒绝,而且在检查权限范围之前就拒绝;trust_limit_exceeded:超出了账户信任等级允许的范围(见 GET /v1/billing 的 trust):支出上限(或不设上限)高于该等级下自动充值每月可扣收的金额(param 为 spend_limit_usd),自动充值金额高于该金额 (reload_amount_usd),或者充值后会让本自然月的充值和自动充值合计超过该等级允许的金额 (amount_usd)。错误信息会说明等级、它的两个金额、本月已用的部分,以及如何提高等级;tax_region_business_only:账户不是企业(没有已核验或正在核验的税号),且位于平台只面向企业销售的地方(按其账单地址确定,没有账单地址时,按调用来源地址所在的国家确定:见 GET /v1/account 的 tax);错误信息会指明该地方,并说明企业如何设置税号,设置后即可立即付款 (x-error-codes)。
- reportoptionalobject
随
compose_refused返回:导入的报告,说明拒绝了什么、为什么以及要改什么。- services数组,元素为objectrequired
导入所采纳的服务,按模型中的顺序。
- appobjectrequired
导入写入的服务应用字段:其版本的构成,以及立即生效的设置。
- scaleobjectrequired
- min_instancesintegerrequired
无论有没有请求,应用在一个区域内保持运行的实例数:即下限。该区域服务该应用的节点按分摊
max_instances的方式分摊它(两个节点、下限为 2:各一个;下限为 1:一个,在最先尝试的节点上;下限为 5:三个和两个),不在线的节点由其他节点补足。节点在收到通知时就创建自己那部分,而不是等到第一个请求,也不会因为空闲而停止或删除这些实例;它们按运行中的实例计量。0(未设置时的值):没有下限。调低后,超出部分的实例从那一刻起视为空闲,并像空闲实例一样被停止和删除。最多为max_instances(如果给出),且不超过账户套餐允许应用在一个区域请求的数量(caps.app_instances.limit:5、50 和 500):超出会被拒绝,返回 403plan_cap_reached。minimum: 0 - max_instancesinteger | nullrequired
应用在一个区域内最多有多少个实例:由该区域服务该应用的节点分摊。最多为账户套餐允许应用请求的数量(
caps.app_instances.limit:免费版 5,付费版 500):超出会被拒绝,返回 403plan_cap_reached;在允许的套餐上请求的数值会保留,但受当前套餐数值的限制。null:未指定数量的应用使用套餐的数值(caps.app_instances.default:免费版 2,付费版 50),如果min_instances更大则用它。告诉节点的数值,不超过账户除其他运行中资源外还能容纳的运行量,也不少于应用当前运行的实例数。minimum: 1 - sleep_after_msinteger | nullrequired
实例在没有请求时最多等待多久就停止,单位为毫秒。在这个上限以内,节点根据应用自己的流量选择等待时间:在应用最近一段时间里两次请求之间的间隔上,比较多运行一秒空闲与停止再恢复所花的 CPU 时间,选出成本最低的等待时间;这样,请求间隔比停止成本还短的应用会一直运行,请求间隔很长的应用则在最后一个响应结束后立即停止(
0:总是立即停止)。null(未设置时的值):平台的上限,三秒。设置过 100(2026年10月28日之前的默认值)的应用,从那天起视为 null。持续停止的实例会在delete_after_ms后被其节点删除,下一个需要实例的请求会得到一个新实例;min_instances保持运行的实例既不会停止也不会删除。maximum: 600000 · minimum: 0 - sleep_hold_max_msintegerrequired
实例中的程序发起的保持,在空闲时间到期后最多还能让实例运行多久,单位为毫秒:程序连接
/run/sbx/awake,如果某个请求在响应之后还有后续工作,就在响应它之前发送+,工作完成后发送-(或关闭连接,或退出);最后一个保持解除sleep_after_ms之后,实例停止。超过这个时间,无论有什么保持,实例都会停止;如果sleep_notice_ms要求通知,会先向已连接的程序发送sleep N cap。保持期间实例在运行,并按运行计量。0:不理会保持。null:30000(默认)。maximum: 900000 · minimum: 0 - delete_after_msinteger | nullrequired
实例空闲多久后被删除,与停止使用同一个起算点:下一个需要实例的请求会得到一个新实例,即版本模板的克隆,不含被删除的实例在内存和磁盘中积累的东西(需要长久保存的数据请放在存储卷或数据库中)。一秒到一小时,一小时是平台的时间,也是上限:超出会被拒绝 (400
invalid_field),需要保持预热的实例应计入min_instances。null(未设置时的值):节点的一小时 (--app-delete-after-seconds)。修改对应用现有的实例和之后创建的实例同样有效:每个节点至少每秒按应用当前的时间检查一次每个实例。不适用于应用的键控实例,键控实例用keys.delete_after_idle_ms。maximum: 3600000 · minimum: 1000 - wake_daily_atoptionalstring | null
每天的某个 UTC 时刻 (
HH:MM),在此时唤醒应用中处于休眠状态的键控实例和有状态服务的实例,让它们完成等待唤醒才能做的工作(比如数据库维护);节点根据应用请求创建和删除的实例只会被请求唤醒。唤醒本身不算活动:唤醒后运行的东西才算,运行完毕后实例会再次休眠。此外,无论这里怎么设置,有状态服务的实例都会为其 PostgreSQL 服务器pg_cron任务的下一次运行而被唤醒。null(默认):不唤醒。数据库的wake_daily_at就是其应用的这一设置。pattern: ^([01][0-9]|2[0-3]):[0-5][0-9]$
- runtimeoptional
运行时设置 (
AppCreate.runtime)。null:没有。}以下之一:
- Runtime
- ulimits映射,值为RuntimeLimitGivenrequired
- sysctls映射,值为stringrequired
- tmpfs数组,元素为objectrequired
- pathstringrequired
- size_bytesinteger | nullrequired
- modeintegerrequired
- dnsobjectrequired
- servers数组,元素为stringrequired
- search数组,元素为stringrequired
- options数组,元素为stringrequired
- shm_size_bytesinteger | nullrequired
- null
409
subscription_charge_pending:账户订阅的一笔扣款正在收取,在有结果之前,不能修改它所支付的内容,也不能终止订阅。可重试 (retryable)。对于付费版,billing_address_required(param 为 billing_address):平台用 Stripe Tax 计算税款并由 Stripe 收款,而 Stripe Tax 无法确定账户所在地:账户没有账单地址,登记的银行卡所属国家也未知(用 PATCH /v1/account 设置地址,或在付款页面付款 (POST /v1/billing/checkout),页面会要求填写地址)。没有创建任何东西。
- reportoptionalobject
随
compose_refused返回:导入的报告,说明拒绝了什么、为什么以及要改什么。- services数组,元素为objectrequired
导入所采纳的服务,按模型中的顺序。
- appobjectrequired
导入写入的服务应用字段:其版本的构成,以及立即生效的设置。
- scaleobjectrequired
- min_instancesintegerrequired
无论有没有请求,应用在一个区域内保持运行的实例数:即下限。该区域服务该应用的节点按分摊
max_instances的方式分摊它(两个节点、下限为 2:各一个;下限为 1:一个,在最先尝试的节点上;下限为 5:三个和两个),不在线的节点由其他节点补足。节点在收到通知时就创建自己那部分,而不是等到第一个请求,也不会因为空闲而停止或删除这些实例;它们按运行中的实例计量。0(未设置时的值):没有下限。调低后,超出部分的实例从那一刻起视为空闲,并像空闲实例一样被停止和删除。最多为max_instances(如果给出),且不超过账户套餐允许应用在一个区域请求的数量(caps.app_instances.limit:5、50 和 500):超出会被拒绝,返回 403plan_cap_reached。minimum: 0 - max_instancesinteger | nullrequired
应用在一个区域内最多有多少个实例:由该区域服务该应用的节点分摊。最多为账户套餐允许应用请求的数量(
caps.app_instances.limit:免费版 5,付费版 500):超出会被拒绝,返回 403plan_cap_reached;在允许的套餐上请求的数值会保留,但受当前套餐数值的限制。null:未指定数量的应用使用套餐的数值(caps.app_instances.default:免费版 2,付费版 50),如果min_instances更大则用它。告诉节点的数值,不超过账户除其他运行中资源外还能容纳的运行量,也不少于应用当前运行的实例数。minimum: 1 - sleep_after_msinteger | nullrequired
实例在没有请求时最多等待多久就停止,单位为毫秒。在这个上限以内,节点根据应用自己的流量选择等待时间:在应用最近一段时间里两次请求之间的间隔上,比较多运行一秒空闲与停止再恢复所花的 CPU 时间,选出成本最低的等待时间;这样,请求间隔比停止成本还短的应用会一直运行,请求间隔很长的应用则在最后一个响应结束后立即停止(
0:总是立即停止)。null(未设置时的值):平台的上限,三秒。设置过 100(2026年10月28日之前的默认值)的应用,从那天起视为 null。持续停止的实例会在delete_after_ms后被其节点删除,下一个需要实例的请求会得到一个新实例;min_instances保持运行的实例既不会停止也不会删除。maximum: 600000 · minimum: 0 - sleep_hold_max_msintegerrequired
实例中的程序发起的保持,在空闲时间到期后最多还能让实例运行多久,单位为毫秒:程序连接
/run/sbx/awake,如果某个请求在响应之后还有后续工作,就在响应它之前发送+,工作完成后发送-(或关闭连接,或退出);最后一个保持解除sleep_after_ms之后,实例停止。超过这个时间,无论有什么保持,实例都会停止;如果sleep_notice_ms要求通知,会先向已连接的程序发送sleep N cap。保持期间实例在运行,并按运行计量。0:不理会保持。null:30000(默认)。maximum: 900000 · minimum: 0 - delete_after_msinteger | nullrequired
实例空闲多久后被删除,与停止使用同一个起算点:下一个需要实例的请求会得到一个新实例,即版本模板的克隆,不含被删除的实例在内存和磁盘中积累的东西(需要长久保存的数据请放在存储卷或数据库中)。一秒到一小时,一小时是平台的时间,也是上限:超出会被拒绝 (400
invalid_field),需要保持预热的实例应计入min_instances。null(未设置时的值):节点的一小时 (--app-delete-after-seconds)。修改对应用现有的实例和之后创建的实例同样有效:每个节点至少每秒按应用当前的时间检查一次每个实例。不适用于应用的键控实例,键控实例用keys.delete_after_idle_ms。maximum: 3600000 · minimum: 1000 - wake_daily_atoptionalstring | null
每天的某个 UTC 时刻 (
HH:MM),在此时唤醒应用中处于休眠状态的键控实例和有状态服务的实例,让它们完成等待唤醒才能做的工作(比如数据库维护);节点根据应用请求创建和删除的实例只会被请求唤醒。唤醒本身不算活动:唤醒后运行的东西才算,运行完毕后实例会再次休眠。此外,无论这里怎么设置,有状态服务的实例都会为其 PostgreSQL 服务器pg_cron任务的下一次运行而被唤醒。null(默认):不唤醒。数据库的wake_daily_at就是其应用的这一设置。pattern: ^([01][0-9]|2[0-3]):[0-5][0-9]$
- runtimeoptional
运行时设置 (
AppCreate.runtime)。null:没有。}以下之一:
- Runtime
- ulimits映射,值为RuntimeLimitGivenrequired
- sysctls映射,值为stringrequired
- tmpfs数组,元素为objectrequired
- pathstringrequired
- size_bytesinteger | nullrequired
- modeintegerrequired
- dnsobjectrequired
- servers数组,元素为stringrequired
- search数组,元素为stringrequired
- options数组,元素为stringrequired
- shm_size_bytesinteger | nullrequired
- null