{ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "#/components/schemas/V2KeysSetRolesRequestBody", "title": "V2KeysSetRolesRequestBody", "type": "object", "required": [ "keyId", "roles" ], "properties": { "keyId": { "type": "string", "minLength": 3, "maxLength": 255, "pattern": "^[a-zA-Z0-9_]+$", "description": "Specifies which key gets the complete role replacement using the database identifier returned from createKey.\nDo not confuse this with the actual API key string that users include in requests.\nThis is a wholesale replacement operation that removes all existing roles not included in the request.\nRole changes take effect immediately but may take up to 30 seconds to propagate across all regions.\n", "example": "key_2cGKbMxRyIzhCxo1Idjz8q" }, "roles": { "type": "array", "maxItems": 100, "description": "Replaces all existing role assignments with this complete list of roles.\nThis is a wholesale replacement operation, not an incremental update like add/remove operations.\n\nProviding an empty array removes all direct role assignments from the key.\nAll roles must already exist in the workspace - roles cannot be created automatically.\nInvalid role references cause the entire operation to fail atomically, ensuring consistent state.\n", "items": { "type": "string", "pattern": "^[a-zA-Z0-9_:\\-\\.\\*]+$", "minLength": 3, "maxLength": 255, "description": "Specify the role by name." } } }, "additionalProperties": false }