跳转到内容

生效预览:computeSettings 全链服务端合成(bundle settings 段同内核),响应携逐键 origins 来源层、locks + lockOrigins 锁源层归因、shadow 灰度态;settings 恒在(全空链 = 空形,不做段缺席语义)。?as= 视角:缺省 = 本人(无 org 语境 = platform+user;携 x-tansr-org 头(成员即可)= platform+org+本人 team+user,与 org app 键 member 径同链;org PAT 主体 = org 视角);as=org / as=team:{teamId} / as=member:{userId} = 下级视角预览,恒 owner/admin(成员带 as 恒 403 fail-closed);目标须属本 org(未知/越 org/停用 team 恒同形 404)

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

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

as
string
/^(org|team:[A-Za-z0-9_-]+|member:[A-Za-z0-9_-]+)$/

视角(缺省本人):org / team:{teamId} / member:{userId};显式视角恒 owner/admin

合成产物 + 视角回显

Media typeapplication/json
object
settings
required
object
values
required

四级(platform→org→team→user)深合并合成产物(对象逐键、数组/标量整体覆盖;X2-2 §1.2)

object
locks
required

Enforce 态锁定键路径集(键级锁,上限 64/层;端側对这些 keyPath 拒下层覆盖 + 一次性示警)

Array<string>
origins
required

逐 keyPath 生效层归因(doctor dump 归因数据源;keyPath 字典序)

object
shadow
required

Shadow 灰度键路径集(下发但端側只示警不生效;enforce 后移出本集)。子树闭包语义(CW5-7 端云对齐):被 shadow 胜出键等值/祖先命中的胜出键全数在集——端側按等值或祖先命中扣住即与本集恒同判

Array<string>
lockOrigins

逐锁定键的锁源层归因(keyPath → 声明该锁的层;同键多层锁定取治理序最高层;keyPath 字典序)

object
view
required
object
as
required
Any of:
string
Allowed value: self
scopes
required

参与合成的层链(低→高,去重保序)

Array
org
required
Any of:
string
team
required
Any of:
string
member
required
Any of:
string
ignoredByClient
required

十王修案 FX-A-23(W2-03②):合成产物中端侧(CLI)不会消费的键路径(字典序)——落在不可下发段(permissions / hooks / mcpServers / policy / workspaceTrust / memory,vendored cli-settings-paths.json excludedSections)或不在端侧 schema 叶路径白名单(deliverable ∪ site.* ∪ mode.localProviders)内的存量越界键。写面对两因皆 400 section_not_deliverable(排除段 reason excluded_section;白名单外未知叶 reason unknown_leaf,W5 收紧),新行不再进入;本列表只剩门前存量,供 DELETE 清理。

Array<string>
Example
{
"view": {
"as": "self",
"scopes": [
"platform"
]
}
}

Bad_request(as 坏形 / 缺 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"
}
}

Forbidden(成员带 as 越权 / PAT 缺 control scope / 非 user 主体且无 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"
}
}

Not_found(org/team/member 不存在或越界,不泄露存在性)

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"
}
}