{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/cueframe-ai/json-schema/cueframe-ai-api-key-create-request-schema.json",
  "title": "ApiKeyCreateRequest",
  "x-generated": "2026-11-10",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/cueframe-ai-api-keys-api-openapi.yml#/components/schemas/ApiKeyCreateRequest",
  "type": "object",
  "properties": {
    "name": {
      "type": "string",
      "minLength": 1
    },
    "permissions": {
      "type": "object",
      "propertyNames": {
        "type": "string",
        "enum": [
          "media",
          "sessions",
          "projects",
          "renders",
          "webhooks",
          "billing"
        ]
      },
      "additionalProperties": {
        "minItems": 1,
        "type": "array",
        "items": {
          "type": "string",
          "enum": [
            "read",
            "write"
          ]
        }
      },
      "description": "Resource → actions grant. Resources: media, sessions, projects, renders, webhooks, billing. Actions: read, write. Least-privilege — grant only what's needed (billing:write is required to start a checkout)."
    },
    "expiresIn": {
      "description": "Lifetime in seconds; omit for no expiry.",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    }
  },
  "required": [
    "name",
    "permissions"
  ],
  "additionalProperties": false
}