{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://raw.githubusercontent.com/api-evangelist/sakura-internet/main/json-schema/sakura-internet-project-api-key-schema.json",
  "title": "ProjectApiKey",
  "x-generated": "2026-10-09",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/sakura-internet-iam-openapi.yml#/components/schemas/ProjectApiKey",
  "type": "object",
  "required": [
    "id",
    "project_id",
    "name",
    "description",
    "access_token",
    "iam_roles"
  ],
  "properties": {
    "id": {
      "type": "integer",
      "description": "APIキーID",
      "readOnly": true
    },
    "project_id": {
      "type": "integer",
      "description": "プロジェクトID"
    },
    "name": {
      "type": "string",
      "description": "APIキー名"
    },
    "description": {
      "type": "string",
      "description": "APIキーの説明"
    },
    "access_token": {
      "type": "string",
      "description": "アクセストークン"
    },
    "server_resource_id": {
      "type": [
        "string",
        "null"
      ],
      "description": "APIキーがシングルサーバコントロールパネルで利用される場合は必須。"
    },
    "iam_roles": {
      "type": "array",
      "description": "IAMのロール。",
      "items": {
        "type": "string"
      }
    },
    "zone_id": {
      "type": [
        "string",
        "null"
      ],
      "description": "ゾーンを指定。APIキーがシングルサーバコントロールパネルで利用される場合は必須。"
    },
    "created_at": {
      "type": "string",
      "description": "作成日時"
    },
    "updated_at": {
      "type": "string",
      "description": "更新日時"
    }
  }
}