{ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "#/components/schemas/Permission", "title": "Permission", "type": "object", "properties": { "id": { "type": "string", "minLength": 3, "maxLength": 255, "pattern": "^[a-zA-Z0-9_]+$", "description": "The unique identifier for this permission within Unkey's system.\nGenerated automatically when the permission is created and used to reference this permission in API operations.\nAlways begins with 'perm_' followed by alphanumeric characters and underscores.\n", "example": "perm_1234567890abcdef" }, "name": { "type": "string", "minLength": 1, "maxLength": 512, "description": "The human-readable name for this permission that describes its purpose.\nShould be descriptive enough for developers to understand what access it grants.\nUse clear, semantic names that reflect the resources or actions being permitted.\nNames must be unique within your workspace to avoid confusion and conflicts.\n", "example": "users.read" }, "slug": { "pattern": "^[a-zA-Z0-9_:\\-\\.\\*]+$", "type": "string", "minLength": 1, "maxLength": 512, "description": "The unique URL-safe identifier for this permission.", "example": "users-read" }, "description": { "type": "string", "maxLength": 512, "description": "Optional detailed explanation of what this permission grants access to.\nHelps team members understand the scope and implications of granting this permission.\nInclude information about what resources can be accessed and what actions can be performed.\nNot visible to end users - this is for internal documentation and team clarity.\n", "example": "Allows reading user profile information and account details", "x-go-type-skip-optional-pointer": true, "x-go-type-skip-optional-pointer-with-omitzero": true } }, "required": [ "id", "name", "slug" ] }