{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/stormmcp/json-schema/stormmcp-admin-toolkit-response-schema.json",
  "title": "AdminToolkitResponse",
  "description": "An admin toolkit with entries and assignments (MCPG-1671).",
  "x-generated": "2026-11-10",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/stormmcp-admintoolkits-api-openapi.yml#/components/schemas/AdminToolkitResponse",
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "description": "Gets or sets the toolkit identifier.",
      "format": "uuid"
    },
    "name": {
      "type": "string",
      "description": "Gets or sets the toolkit name."
    },
    "description": {
      "type": [
        "null",
        "string"
      ],
      "description": "Gets or sets the optional description."
    },
    "isDraft": {
      "type": "boolean",
      "description": "Gets or sets a value indicating whether this toolkit has zero assignments (draft)."
    },
    "assignmentMode": {
      "description": "Gets or sets the assignment mode (MCPG-1699).",
      "$ref": "#/$defs/AdminToolkitAssignmentMode"
    },
    "entries": {
      "type": "array",
      "items": {
        "$ref": "#/$defs/AdminToolkitEntryResponse"
      },
      "description": "Gets or sets the included servers."
    },
    "userIds": {
      "type": "array",
      "items": {
        "type": "string",
        "format": "uuid"
      },
      "description": "Gets or sets the assigned user identifiers."
    },
    "groupIds": {
      "type": "array",
      "items": {
        "type": "string",
        "format": "uuid"
      },
      "description": "Gets or sets the assigned group identifiers."
    },
    "createdBy": {
      "type": "string",
      "description": "Gets or sets the user who created this toolkit.",
      "format": "uuid"
    },
    "createdAt": {
      "type": "string",
      "description": "Gets or sets the creation timestamp.",
      "format": "date-time"
    },
    "updatedAt": {
      "type": "string",
      "description": "Gets or sets the update timestamp.",
      "format": "date-time"
    }
  },
  "$defs": {
    "AdminToolkitAssignmentMode": {
      "description": "How assignees may change an admin-assigned toolkit (MCPG-1699).\nExisting rows default to AdminToolkitAssignmentMode.Editable."
    },
    "AdminToolkitEntryResponse": {
      "type": "object",
      "properties": {
        "libraryId": {
          "type": "string",
          "description": "Gets or sets the library identifier.",
          "format": "uuid"
        },
        "selectedToolNames": {
          "type": [
            "null",
            "array"
          ],
          "items": {
            "type": "string"
          },
          "description": "Gets or sets the selected original upstream tool names. Null means all tools."
        }
      },
      "description": "One library's membership in an admin toolkit."
    }
  }
}