Skip to main content

SetCrowdyStudioAgentPlatformPolicyInput

Operator-only platform policy patch. Omitted values stay unchanged; hard v1 privacy and retention maxima still apply.

input SetCrowdyStudioAgentPlatformPolicyInput {
enabled: Boolean
killSwitch: Boolean
allowedModelIds: [String!]
allowedToolNames: [String!]
allowedModes: [CrowdyStudioAgentMode!]
allowedRiskClasses: [CrowdyStudioAgentRiskClass!]
turnLimits: CrowdyStudioAgentTurnLimitsInput
sessionLimits: CrowdyStudioAgentSessionLimitsInput
playerDayLimits: CrowdyStudioAgentPlayerDayLimitsInput
retention: CrowdyStudioAgentRetentionPolicyInput
privacy: CrowdyStudioAgentPrivacyPolicyInput
expectedRevision: BigInt
killReasonCode: String
killReason: String
idempotencyKey: String!
}

Fields

SetCrowdyStudioAgentPlatformPolicyInput.enabled ● Boolean scalar

Enable or disable this policy layer.

SetCrowdyStudioAgentPlatformPolicyInput.killSwitch ● Boolean scalar

Set or clear this layer kill switch. Kill always wins over enablement.

SetCrowdyStudioAgentPlatformPolicyInput.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.

SetCrowdyStudioAgentPlatformPolicyInput.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.

SetCrowdyStudioAgentPlatformPolicyInput.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.

SetCrowdyStudioAgentPlatformPolicyInput.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.

SetCrowdyStudioAgentPlatformPolicyInput.turnLimits ● CrowdyStudioAgentTurnLimitsInput input

Optional per-turn limit patch.

SetCrowdyStudioAgentPlatformPolicyInput.sessionLimits ● CrowdyStudioAgentSessionLimitsInput input

Optional per-session limit patch.

SetCrowdyStudioAgentPlatformPolicyInput.playerDayLimits ● CrowdyStudioAgentPlayerDayLimitsInput input

Optional per-player/day and concurrency limit patch.

SetCrowdyStudioAgentPlatformPolicyInput.retention ● CrowdyStudioAgentRetentionPolicyInput input

Optional retention patch.

SetCrowdyStudioAgentPlatformPolicyInput.privacy ● CrowdyStudioAgentPrivacyPolicyInput input

Optional private-source sharing patch; first-use consent remains locked on.

SetCrowdyStudioAgentPlatformPolicyInput.expectedRevision ● BigInt scalar

Optional optimistic platform revision.

SetCrowdyStudioAgentPlatformPolicyInput.killReasonCode ● String scalar

Stable kill reason code (max 64); used only while killSwitch is true.

SetCrowdyStudioAgentPlatformPolicyInput.killReason ● String scalar

Safe operator-facing kill reason (max 256); no secrets or provider bodies.

SetCrowdyStudioAgentPlatformPolicyInput.idempotencyKey ● String! non-null scalar

Required retry key (1-128 characters). Same key/arguments replay; different arguments fail IDEMPOTENCY_CONFLICT.

Member Of

cpSetCrowdyStudioAgentPlatformPolicy mutation