跳转到内容

套餐读面:生效档 plan(bundle plan 键同形;无套餐行 null)+ scheduled 预约降档行(无则 null)+ usage 水位(concurrency current = 5 分钟窗清窗后并发 / cap / hardCap = floor(cap×1.1);apps used = active 非装置绑定 app 键 / cap;orgMembers 仅 org 语境(无套餐 org 按 test 档 3);monthlyEndUsers 仅 test 档)+ pricing(协议价,牌价客户 null)+ catalog 四档展示字段;带 x-tansr-org 头 = org 语境(全员可读,非成员 404)

GET
/v1/plan
curl --request GET \
--url https://api.tansr.com/v1/plan \
--header 'Authorization: Bearer <token>'
x-tansr-org
string

Org 作用域声明(org 公开 id);服务端校验成员资格与角色,非成员恒 404、角色不够 403

套餐 + 水位 + 目录

Media typeapplication/json
object
plan
required
Any of:
object
tier
required
Any of:
string
Allowed value: test
caps
required
object
concurrency
required

并发会话上限(软帽;硬帽 = floor(×1.1))

integer
apps
required

应用数上限(active app-scope 键)

integer
orgMembers
required

组织成员上限(仅 org owner 生效)

integer
monthlyEndUsers
required
Any of:
integer
gatewayLane
required

可登记出口 IP 进网关档(SC-34)

boolean
status
required
Any of:
string
Allowed value: active
expiresAt
required
string
>= 1 characters
lapsedFrom
Any of:
string
Allowed value: test
scheduled
required
Any of:
object
id
required

套餐行公开 id

string
tier
required
Any of:
string
Allowed value: test
caps
required
object
concurrency
required

并发会话上限(软帽;硬帽 = floor(×1.1))

integer
apps
required

应用数上限(active app-scope 键)

integer
orgMembers
required

组织成员上限(仅 org owner 生效)

integer
monthlyEndUsers
required
Any of:
integer
gatewayLane
required

可登记出口 IP 进网关档(SC-34)

boolean
startsAt
required

ISO;= 当前行 expires_at,到点由 plan-lifecycle.daily 切换

string
expiresAt
required
string
usage
required
object
concurrency
required
object
current
required
integer
cap
required
Any of:
integer
hardCap
required
Any of:
integer
apps
required
object
used
required
integer
cap
required
Any of:
integer
orgMembers
required
Any of:
object
used
required
integer
cap
required
Any of:
integer
monthlyEndUsers
required
Any of:
object
used
required
integer
cap
required
Any of:
integer
pricing
required
Any of:
object
listMultiplier
required
string
contractRef
required
string
effectiveTo
required
Any of:
string
catalog
required

平台当前可购目录;已购 caps 仍读套餐快照

Array<object>
object
pricing
object
originalPriceYear
required
string
originalPriceMonth
required
Any of:
string
discountBps
required
integer
>= 1 <= 10000
monthlyEnabled
required
boolean
tier
required
Any of:
string
Allowed value: test
caps
required
object
concurrency
required

并发会话上限(软帽;硬帽 = floor(×1.1))

integer
apps
required

应用数上限(active app-scope 键)

integer
orgMembers
required

组织成员上限(仅 org owner 生效)

integer
monthlyEndUsers
required
Any of:
integer
gatewayLane
required

可登记出口 IP 进网关档(SC-34)

boolean
priceYear
required
string
priceMonth
required
Any of:
string
walletCredit
required
Any of:
string
displayName
required
string
>= 1 characters <= 60 characters
description
required
string
<= 300 characters
highlights
required
Array<string>
<= 12 items
benefits
required
object
giftTokens
required
object
enabled
required
boolean
amount
required
integer
<= 1000000000000
grantOn
required
string
Allowed value: purchase
expiresAfterDays
required
Any of:
integer
>= 1 <= 3660
catalogRevision
integer
appCreatePolicy
object
freeApps
required
integer
<= 5
developerRequiredAbove
required
number
Allowed value: 5
minimumTier
required
string
Allowed value: small
freeCaps
required
object
concurrency
required

并发会话上限(软帽;硬帽 = floor(×1.1))

integer
apps
required

应用数上限(active app-scope 键)

integer
orgMembers
required

组织成员上限(仅 org owner 生效)

integer
monthlyEndUsers
required
Any of:
integer
gatewayLane
required

可登记出口 IP 进网关档(SC-34)

boolean
tokenAllowance
object
available
required

当前有效赠额减在途持有,Token 整数字符串

string
/^[0-9]+$/
reserved
required

当前有效赠额的在途持有 Token

string
/^[0-9]+$/
consumed
required

此 owner 全部历史赠额累计已核销 Token

string
/^[0-9]+$/
nextExpiry
required
Any of:
string
Example
{
"plan": {
"tier": "test",
"status": "active",
"lapsedFrom": "test"
},
"scheduled": {
"tier": "test"
},
"catalog": [
{
"tier": "test",
"benefits": {
"giftTokens": {
"grantOn": "purchase"
}
}
}
],
"appCreatePolicy": {
"developerRequiredAbove": 5,
"minimumTier": "small"
}
}

Not_found(org 非成员)

Media typeapplication/json
object
error
required
object
code
required

错误码注册表单源派生(src/http/errors.ts ERROR_CODES;码稳定,消费方按码翻译)

string
Allowed values: adjudicator_not_authorized admin_forbidden admin_key_invalid app_disabled app_ip_denied app_key_invalid approval_self_forbidden asr_not_configured asr_quota_exceeded auth_channel_undelivered bad_request conflict content_blocked context_window_exceeded currency_not_supported device_code_denied device_code_expired device_code_pending device_code_slow_down egress_blocked endpoint_disabled envelope_key_undelivered fence_denied forbidden idempotency_conflict idp_untrusted image_not_supported imagegen_not_configured imagegen_quota_exceeded insufficient_balance internal_error invalid_api_key license_required limit_exceeded liquidation_not_enabled model_not_authorized model_not_found nonce_replayed not_found order_state_invalid org_byok_not_available org_ceiling_exceeded otp_invalid otp_rate_limited pay_amount_mismatch pay_channel_undelivered pay_signature_invalid payload_too_large payment_required plan_apps_exceeded plan_concurrency_exceeded plan_end_users_exceeded plan_gate_unavailable plan_members_exceeded plan_required plan_tier_insufficient policy_locked pool_signing_undelivered preflight_required pricing_guard_tripped principal_required protocol_unsupported quota_exceeded rate_limited refund_not_eligible section_not_deliverable session_archived signature_invalid stream_backpressure token_expired tts_not_configured tts_quota_exceeded unauthorized upstream_connect_timeout upstream_disconnected upstream_error upstream_idle_timeout upstream_timeout upstream_total_timeout upstream_ttfb_timeout validation_failed videogen_not_configured videogen_quota_exceeded websearch_not_configured websearch_quota_exceeded
message
required
string
requestId
required
string
detail
object
Example
{
"error": {
"code": "adjudicator_not_authorized"
}
}