SetCrowdyStudioAgentAppPolicyInput
Patch an app's Agentic Studio policy. Requires manage_compute. Omitted fields stay unchanged; all supplied authority and limits are clamped to platform policy.
input SetCrowdyStudioAgentAppPolicyInput {
enabled: Boolean
killSwitch: Boolean
allowedModelIds: [String!]
allowedToolNames: [String!]
allowedModes: [CrowdyStudioAgentMode!]
allowedRiskClasses: [CrowdyStudioAgentRiskClass!]
turnLimits: CrowdyStudioAgentTurnLimitsInput
sessionLimits: CrowdyStudioAgentSessionLimitsInput
playerDayLimits: CrowdyStudioAgentPlayerDayLimitsInput
retention: CrowdyStudioAgentRetentionPolicyInput
privacy: CrowdyStudioAgentPrivacyPolicyInput
appId: BigInt!
expectedRevision: BigInt
idempotencyKey: String!
}
Fields
SetCrowdyStudioAgentAppPolicyInput.enabled ● Boolean scalar
Enable or disable this policy layer.
SetCrowdyStudioAgentAppPolicyInput.killSwitch ● Boolean scalar
Set or clear this layer kill switch. Kill always wins over enablement.
SetCrowdyStudioAgentAppPolicyInput.allowedModelIds ● [String!] list scalar
Replacement exact model allowlist (max 64). On an APP patch every id must already be in the platform allowlist or the whole write is refused with AGENT_POLICY_INVALID naming that list; values are never silently dropped. On the PLATFORM patch this list IS the ceiling. Empty denies all models at either layer.
SetCrowdyStudioAgentAppPolicyInput.allowedToolNames ● [String!] list scalar
Replacement exact logical tool-name allowlist (max 256). On an APP patch every name must already be in the platform allowlist or the whole write is refused with AGENT_POLICY_INVALID naming that list, and what you do send is stored exactly as sent; OMIT the field to express no narrowing, which inherits the platform list live on every read. Sending an empty array on an APP patch clears a narrowing and is therefore also "no narrowing", not "deny all". On the PLATFORM patch this list is the ceiling and empty denies every tool.
SetCrowdyStudioAgentAppPolicyInput.allowedModes ● [CrowdyStudioAgentMode!] list enum
Replacement mode allowlist. On an APP patch every mode must already be in the platform allowlist or the whole write is refused with AGENT_POLICY_INVALID naming that list. Empty denies every mode at either layer; there is no inherit-on-empty for modes.
SetCrowdyStudioAgentAppPolicyInput.allowedRiskClasses ● [CrowdyStudioAgentRiskClass!] list enum
Replacement risk-class allowlist. On an APP patch every class must already be in the platform allowlist or the whole write is refused with AGENT_POLICY_INVALID naming that list, and what you do send is stored exactly as sent; OMIT the field to express no narrowing, which inherits the platform list live on every read. On the PLATFORM patch this list is the ceiling and empty denies every class.
SetCrowdyStudioAgentAppPolicyInput.turnLimits ● CrowdyStudioAgentTurnLimitsInput input
Optional per-turn limit patch.
SetCrowdyStudioAgentAppPolicyInput.sessionLimits ● CrowdyStudioAgentSessionLimitsInput input
Optional per-session limit patch.
SetCrowdyStudioAgentAppPolicyInput.playerDayLimits ● CrowdyStudioAgentPlayerDayLimitsInput input
Optional per-player/day and concurrency limit patch.
SetCrowdyStudioAgentAppPolicyInput.retention ● CrowdyStudioAgentRetentionPolicyInput input
Optional retention patch.
SetCrowdyStudioAgentAppPolicyInput.privacy ● CrowdyStudioAgentPrivacyPolicyInput input
Optional private-source sharing patch; first-use consent remains locked on.
SetCrowdyStudioAgentAppPolicyInput.appId ● BigInt! non-null scalar
App whose policy is changed.
SetCrowdyStudioAgentAppPolicyInput.expectedRevision ● BigInt scalar
Optional optimistic revision. Use 0 when creating; a mismatch fails AGENT_POLICY_REVISION_CONFLICT.
SetCrowdyStudioAgentAppPolicyInput.idempotencyKey ● String! non-null scalar
Required retry key (1-128 characters). Same key/arguments replay; different arguments fail IDEMPOTENCY_CONFLICT.
Member Of
setCrowdyStudioAgentPolicy mutation