{
  "swagger": "2.0",
  "info": {
    "title": "Hoshin Kanri API",
    "version": "0.9.0",
    "description": "Beta: operations and fields may still change. Covers the operations the Hoshin MCP server uses. For an AI agent, prefer MCP at https://hoshin.app/mcp. An admin creates a token from the API tokens link in the app header. Error messages are in English; rely on the `error` code."
  },
  "host": "hoshin.app",
  "basePath": "/",
  "schemes": [
    "https"
  ],
  "consumes": [
    "application/json"
  ],
  "produces": [
    "application/json"
  ],
  "tags": [
    {
      "name": "Matrices"
    },
    {
      "name": "Elements"
    },
    {
      "name": "Analysis"
    },
    {
      "name": "Sharing"
    },
    {
      "name": "Ideas"
    },
    {
      "name": "Exports"
    },
    {
      "name": "Themes"
    },
    {
      "name": "Cadences"
    }
  ],
  "securityDefinitions": {
    "apiKey": {
      "type": "apiKey",
      "in": "header",
      "name": "Authorization",
      "description": "Type Bearer, a space, then your token: Bearer hk_..."
    }
  },
  "security": [
    {
      "apiKey": []
    }
  ],
  "paths": {
    "/api/matrices": {
      "get": {
        "operationId": "listMatrices",
        "tags": [
          "Matrices"
        ],
        "summary": "List matrices",
        "parameters": [
          {
            "name": "isActive",
            "in": "query",
            "required": false,
            "description": "\"true\" returns active matrices; any other value returns archived ones.",
            "type": "string"
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "type": "integer",
            "minimum": 1,
            "maximum": 200,
            "default": 50
          },
          {
            "name": "offset",
            "in": "query",
            "required": false,
            "type": "integer",
            "minimum": 0,
            "default": 0
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "schema": {
              "$ref": "#/definitions/MatrixList"
            }
          },
          "default": {
            "description": "Error",
            "schema": {
              "$ref": "#/definitions/Error"
            }
          }
        }
      },
      "post": {
        "operationId": "createMatrix",
        "tags": [
          "Matrices"
        ],
        "summary": "Create a matrix",
        "description": "Making it the default takes an admin, except for the first matrix. Refused to a read-only token.",
        "parameters": [
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "type": "object",
              "properties": {
                "name": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 200
                },
                "description": {
                  "type": "string",
                  "maxLength": 10000,
                  "x-nullable": true
                },
                "periodType": {
                  "type": "string",
                  "enum": [
                    "annual",
                    "quarterly",
                    "custom"
                  ]
                },
                "periodStart": {
                  "type": "string",
                  "format": "date",
                  "x-nullable": true
                },
                "periodEnd": {
                  "type": "string",
                  "format": "date",
                  "x-nullable": true
                },
                "isDefault": {
                  "type": "boolean"
                },
                "parentMatrixId": {
                  "type": "string",
                  "format": "uuid",
                  "x-nullable": true
                }
              },
              "required": [
                "name"
              ]
            }
          }
        ],
        "responses": {
          "201": {
            "description": "Success",
            "schema": {
              "$ref": "#/definitions/MatrixCreated"
            }
          },
          "default": {
            "description": "Error",
            "schema": {
              "$ref": "#/definitions/Error"
            }
          }
        }
      }
    },
    "/api/matrices/{id}": {
      "get": {
        "operationId": "getMatrix",
        "tags": [
          "Matrices"
        ],
        "summary": "Get a matrix with its elements and links",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string",
            "format": "uuid"
          },
          {
            "name": "elements",
            "in": "query",
            "required": false,
            "description": "\"false\" leaves out elements and correlations.",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "schema": {
              "$ref": "#/definitions/MatrixDetail"
            }
          },
          "default": {
            "description": "Error",
            "schema": {
              "$ref": "#/definitions/Error"
            }
          }
        }
      },
      "put": {
        "operationId": "updateMatrix",
        "tags": [
          "Matrices"
        ],
        "summary": "Update a matrix",
        "description": "Also sets its parent in a cascade. Changing the default matrix takes an admin. Refused to a read-only token.",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string",
            "format": "uuid"
          },
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "type": "object",
              "properties": {
                "name": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 200
                },
                "description": {
                  "type": "string",
                  "maxLength": 10000,
                  "x-nullable": true
                },
                "periodType": {
                  "type": "string",
                  "enum": [
                    "annual",
                    "quarterly",
                    "custom"
                  ]
                },
                "periodStart": {
                  "type": "string",
                  "format": "date",
                  "x-nullable": true
                },
                "periodEnd": {
                  "type": "string",
                  "format": "date",
                  "x-nullable": true
                },
                "isActive": {
                  "type": "boolean"
                },
                "isDefault": {
                  "type": "boolean"
                },
                "parentMatrixId": {
                  "type": "string",
                  "format": "uuid",
                  "x-nullable": true
                }
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "schema": {
              "$ref": "#/definitions/Matrix"
            }
          },
          "default": {
            "description": "Error",
            "schema": {
              "$ref": "#/definitions/Error"
            }
          }
        }
      }
    },
    "/api/matrices/{id}/elements": {
      "post": {
        "operationId": "createElement",
        "tags": [
          "Elements"
        ],
        "summary": "Add an element to a quadrant",
        "description": "North: vision. East: annual objectives. South: initiatives. West: indicators. Refused to a read-only token.",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string",
            "format": "uuid"
          },
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "type": "object",
              "properties": {
                "quadrant": {
                  "type": "string",
                  "enum": [
                    "north",
                    "east",
                    "south",
                    "west"
                  ]
                },
                "title": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 300
                },
                "description": {
                  "type": "string",
                  "maxLength": 10000,
                  "x-nullable": true
                },
                "ownerId": {
                  "type": "string",
                  "format": "uuid",
                  "x-nullable": true
                },
                "status": {
                  "type": "string",
                  "enum": [
                    "draft",
                    "active",
                    "completed",
                    "cancelled"
                  ]
                },
                "targetValue": {
                  "type": "string",
                  "maxLength": 100,
                  "x-nullable": true
                },
                "currentValue": {
                  "type": "string",
                  "maxLength": 100,
                  "x-nullable": true
                },
                "unit": {
                  "type": "string",
                  "maxLength": 50,
                  "x-nullable": true
                },
                "indicatorType": {
                  "type": "string",
                  "enum": [
                    "result",
                    "performance"
                  ],
                  "x-nullable": true
                },
                "dueDate": {
                  "type": "string",
                  "format": "date",
                  "x-nullable": true
                },
                "color": {
                  "type": "string",
                  "pattern": "^#[0-9a-fA-F]{6}$",
                  "x-nullable": true
                },
                "icon": {
                  "type": "string",
                  "maxLength": 50,
                  "x-nullable": true
                },
                "externalRef": {
                  "type": "string",
                  "maxLength": 500,
                  "x-nullable": true
                },
                "parentElementId": {
                  "type": "string",
                  "format": "uuid",
                  "x-nullable": true
                }
              },
              "required": [
                "quadrant",
                "title"
              ]
            }
          }
        ],
        "responses": {
          "201": {
            "description": "Success",
            "schema": {
              "$ref": "#/definitions/Element"
            }
          },
          "default": {
            "description": "Error",
            "schema": {
              "$ref": "#/definitions/Error"
            }
          }
        }
      }
    },
    "/api/matrices/{id}/elements/{elementId}": {
      "put": {
        "operationId": "updateElement",
        "tags": [
          "Elements"
        ],
        "summary": "Update an element",
        "description": "Moving it to another quadrant removes the links that are no longer adjacent. Refused to a read-only token.",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string",
            "format": "uuid"
          },
          {
            "name": "elementId",
            "in": "path",
            "required": true,
            "type": "string",
            "format": "uuid"
          },
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "type": "object",
              "properties": {
                "title": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 300
                },
                "description": {
                  "type": "string",
                  "maxLength": 10000,
                  "x-nullable": true
                },
                "status": {
                  "type": "string",
                  "enum": [
                    "draft",
                    "active",
                    "completed",
                    "cancelled"
                  ]
                },
                "ownerId": {
                  "type": "string",
                  "format": "uuid",
                  "x-nullable": true
                },
                "targetValue": {
                  "type": "string",
                  "maxLength": 100,
                  "x-nullable": true
                },
                "currentValue": {
                  "type": "string",
                  "maxLength": 100,
                  "x-nullable": true
                },
                "unit": {
                  "type": "string",
                  "maxLength": 50,
                  "x-nullable": true
                },
                "indicatorType": {
                  "type": "string",
                  "enum": [
                    "result",
                    "performance"
                  ],
                  "x-nullable": true
                },
                "dueDate": {
                  "type": "string",
                  "format": "date",
                  "x-nullable": true
                },
                "color": {
                  "type": "string",
                  "pattern": "^#[0-9a-fA-F]{6}$",
                  "x-nullable": true
                },
                "icon": {
                  "type": "string",
                  "maxLength": 50,
                  "x-nullable": true
                },
                "externalRef": {
                  "type": "string",
                  "maxLength": 500,
                  "x-nullable": true
                },
                "parentElementId": {
                  "type": "string",
                  "format": "uuid",
                  "x-nullable": true
                },
                "quadrant": {
                  "type": "string",
                  "enum": [
                    "north",
                    "east",
                    "south",
                    "west"
                  ]
                },
                "position": {
                  "type": "integer",
                  "minimum": 0
                }
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "schema": {
              "$ref": "#/definitions/ElementUpdated"
            }
          },
          "default": {
            "description": "Error",
            "schema": {
              "$ref": "#/definitions/Error"
            }
          }
        }
      }
    },
    "/api/matrices/{id}/correlations": {
      "put": {
        "operationId": "setCorrelation",
        "tags": [
          "Elements"
        ],
        "summary": "Set or remove a link between two elements",
        "description": "Adjacent quadrants only: north-east, east-south, south-west, west-north. A link has no direction: the answer may swap from and to. Refused to a read-only token.",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string",
            "format": "uuid"
          },
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "type": "object",
              "properties": {
                "fromElementId": {
                  "type": "string",
                  "format": "uuid"
                },
                "toElementId": {
                  "type": "string",
                  "format": "uuid"
                },
                "strength": {
                  "type": "string",
                  "enum": [
                    "strong",
                    "medium",
                    "weak",
                    "none"
                  ],
                  "description": "\"none\" removes the link."
                },
                "notes": {
                  "type": "string",
                  "maxLength": 10000,
                  "x-nullable": true
                }
              },
              "required": [
                "fromElementId",
                "toElementId",
                "strength"
              ]
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "schema": {
              "$ref": "#/definitions/CorrelationResult"
            }
          },
          "default": {
            "description": "Error",
            "schema": {
              "$ref": "#/definitions/Error"
            }
          }
        }
      }
    },
    "/api/matrices/{id}/completeness": {
      "get": {
        "operationId": "getCompleteness",
        "tags": [
          "Analysis"
        ],
        "summary": "Get the completeness score of a matrix",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string",
            "format": "uuid"
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "schema": {
              "$ref": "#/definitions/Completeness"
            }
          },
          "default": {
            "description": "Error",
            "schema": {
              "$ref": "#/definitions/Error"
            }
          }
        }
      }
    },
    "/api/matrices/{id}/cascade": {
      "get": {
        "operationId": "getCascade",
        "tags": [
          "Analysis"
        ],
        "summary": "Get the cascade below a matrix",
        "description": "What each level decided and the level below took up or not.",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string",
            "format": "uuid"
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "schema": {
              "$ref": "#/definitions/Cascade"
            }
          },
          "default": {
            "description": "Error",
            "schema": {
              "$ref": "#/definitions/Error"
            }
          }
        }
      }
    },
    "/api/matrices/{id}/shares": {
      "get": {
        "operationId": "listShares",
        "tags": [
          "Sharing"
        ],
        "summary": "List the public links of a matrix",
        "description": "Refused to a read-only token.",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string",
            "format": "uuid"
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "schema": {
              "$ref": "#/definitions/ShareList"
            }
          },
          "default": {
            "description": "Error",
            "schema": {
              "$ref": "#/definitions/Error"
            }
          }
        }
      },
      "post": {
        "operationId": "createShare",
        "tags": [
          "Sharing"
        ],
        "summary": "Publish a matrix on a public read-only link",
        "description": "Anyone holding the link can read the matrix. At most 10 active links per matrix. Refused to a read-only token.",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string",
            "format": "uuid"
          },
          {
            "name": "body",
            "in": "body",
            "required": false,
            "schema": {
              "type": "object",
              "properties": {
                "label": {
                  "type": "string",
                  "maxLength": 200,
                  "x-nullable": true
                },
                "expiresInDays": {
                  "type": "integer",
                  "minimum": 1,
                  "maximum": 365,
                  "x-nullable": true
                }
              }
            }
          }
        ],
        "responses": {
          "201": {
            "description": "Success",
            "schema": {
              "$ref": "#/definitions/ShareCreated"
            }
          },
          "default": {
            "description": "Error",
            "schema": {
              "$ref": "#/definitions/Error"
            }
          }
        }
      }
    },
    "/api/matrices/{id}/shares/{shareId}": {
      "delete": {
        "operationId": "revokeShare",
        "tags": [
          "Sharing"
        ],
        "summary": "Revoke a public link",
        "description": "Refused to a read-only token.",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string",
            "format": "uuid"
          },
          {
            "name": "shareId",
            "in": "path",
            "required": true,
            "type": "string",
            "format": "uuid"
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "schema": {
              "$ref": "#/definitions/ShareRevoked"
            }
          },
          "default": {
            "description": "Error",
            "schema": {
              "$ref": "#/definitions/Error"
            }
          }
        }
      }
    },
    "/api/ideas": {
      "get": {
        "operationId": "listIdeas",
        "tags": [
          "Ideas"
        ],
        "summary": "List or search ideas",
        "parameters": [
          {
            "name": "status",
            "in": "query",
            "required": false,
            "type": "string",
            "enum": [
              "inbox",
              "reviewing",
              "accepted",
              "rejected",
              "implemented"
            ]
          },
          {
            "name": "priority",
            "in": "query",
            "required": false,
            "type": "string",
            "enum": [
              "low",
              "medium",
              "high",
              "critical"
            ]
          },
          {
            "name": "source",
            "in": "query",
            "required": false,
            "type": "string",
            "enum": [
              "conversation",
              "team_meeting",
              "client_feedback",
              "market_watch",
              "internal",
              "other"
            ]
          },
          {
            "name": "search",
            "in": "query",
            "required": false,
            "type": "string",
            "maxLength": 200
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "type": "integer",
            "minimum": 1,
            "maximum": 200,
            "default": 50
          },
          {
            "name": "offset",
            "in": "query",
            "required": false,
            "type": "integer",
            "minimum": 0,
            "default": 0
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "schema": {
              "$ref": "#/definitions/IdeaList"
            }
          },
          "default": {
            "description": "Error",
            "schema": {
              "$ref": "#/definitions/Error"
            }
          }
        }
      },
      "post": {
        "operationId": "createIdea",
        "tags": [
          "Ideas"
        ],
        "summary": "Add an idea to the inbox",
        "description": "Refused to a read-only token.",
        "parameters": [
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "type": "object",
              "properties": {
                "title": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 300
                },
                "description": {
                  "type": "string",
                  "maxLength": 10000,
                  "x-nullable": true
                },
                "source": {
                  "type": "string",
                  "enum": [
                    "conversation",
                    "team_meeting",
                    "client_feedback",
                    "market_watch",
                    "internal",
                    "other"
                  ]
                },
                "tags": {
                  "type": "array",
                  "items": {
                    "type": "string",
                    "maxLength": 50
                  },
                  "maxItems": 30
                },
                "priority": {
                  "type": "string",
                  "enum": [
                    "low",
                    "medium",
                    "high",
                    "critical"
                  ]
                },
                "linkedElementId": {
                  "type": "string",
                  "format": "uuid"
                }
              },
              "required": [
                "title"
              ]
            }
          }
        ],
        "responses": {
          "201": {
            "description": "Success",
            "schema": {
              "$ref": "#/definitions/Idea"
            }
          },
          "default": {
            "description": "Error",
            "schema": {
              "$ref": "#/definitions/Error"
            }
          }
        }
      }
    },
    "/api/ideas/{id}": {
      "put": {
        "operationId": "updateIdea",
        "tags": [
          "Ideas"
        ],
        "summary": "Update an idea",
        "description": "Refused to a read-only token.",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string",
            "format": "uuid"
          },
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "type": "object",
              "properties": {
                "title": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 300
                },
                "description": {
                  "type": "string",
                  "maxLength": 10000,
                  "x-nullable": true
                },
                "source": {
                  "type": "string",
                  "enum": [
                    "conversation",
                    "team_meeting",
                    "client_feedback",
                    "market_watch",
                    "internal",
                    "other"
                  ]
                },
                "tags": {
                  "type": "array",
                  "items": {
                    "type": "string",
                    "maxLength": 50
                  },
                  "maxItems": 30
                },
                "priority": {
                  "type": "string",
                  "enum": [
                    "low",
                    "medium",
                    "high",
                    "critical"
                  ]
                },
                "status": {
                  "type": "string",
                  "enum": [
                    "inbox",
                    "reviewing",
                    "accepted",
                    "rejected",
                    "implemented"
                  ]
                },
                "assignedTo": {
                  "type": "string",
                  "format": "uuid",
                  "x-nullable": true
                },
                "linkedElementId": {
                  "type": "string",
                  "format": "uuid",
                  "x-nullable": true
                }
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "schema": {
              "$ref": "#/definitions/Idea"
            }
          },
          "default": {
            "description": "Error",
            "schema": {
              "$ref": "#/definitions/Error"
            }
          }
        }
      }
    },
    "/api/exports/matrices": {
      "get": {
        "operationId": "exportMatrices",
        "tags": [
          "Exports"
        ],
        "summary": "Export all matrices",
        "description": "Active matrices first, then the default one, then the most recently updated.",
        "parameters": [
          {
            "name": "include",
            "in": "query",
            "required": false,
            "description": "Comma-separated, without spaces: elements,correlations. Default: both.",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "schema": {
              "$ref": "#/definitions/MatricesExport"
            }
          },
          "default": {
            "description": "Error",
            "schema": {
              "$ref": "#/definitions/Error"
            }
          }
        }
      }
    },
    "/api/exports/summary": {
      "get": {
        "operationId": "exportSummary",
        "tags": [
          "Exports"
        ],
        "summary": "Get an overview of the organization",
        "responses": {
          "200": {
            "description": "Success",
            "schema": {
              "$ref": "#/definitions/SummaryExport"
            }
          },
          "default": {
            "description": "Error",
            "schema": {
              "$ref": "#/definitions/Error"
            }
          }
        }
      }
    },
    "/api/themes": {
      "get": {
        "operationId": "listThemes",
        "tags": [
          "Themes"
        ],
        "summary": "List strategic themes",
        "responses": {
          "200": {
            "description": "Success",
            "schema": {
              "$ref": "#/definitions/ThemeList"
            }
          },
          "default": {
            "description": "Error",
            "schema": {
              "$ref": "#/definitions/Error"
            }
          }
        }
      }
    },
    "/api/themes/{id}": {
      "get": {
        "operationId": "getTheme",
        "tags": [
          "Themes"
        ],
        "summary": "Get a strategic theme with its elements",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string",
            "format": "uuid"
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "schema": {
              "$ref": "#/definitions/ThemeDetail"
            }
          },
          "default": {
            "description": "Error",
            "schema": {
              "$ref": "#/definitions/Error"
            }
          }
        }
      }
    },
    "/api/cadences/architecture": {
      "get": {
        "operationId": "getCadenceArchitecture",
        "tags": [
          "Cadences"
        ],
        "summary": "Get the meeting cadences by level",
        "responses": {
          "200": {
            "description": "Success",
            "schema": {
              "$ref": "#/definitions/CadenceArchitecture"
            }
          },
          "default": {
            "description": "Error",
            "schema": {
              "$ref": "#/definitions/Error"
            }
          }
        }
      }
    }
  },
  "definitions": {
    "Error": {
      "type": "object",
      "properties": {
        "error": {
          "type": "string",
          "description": "Stable machine-readable code, among them UNAUTHORIZED, FORBIDDEN, MATRIX_EDIT_RESTRICTED, DEFAULT_MATRIX_ADMIN_ONLY, NOT_FOUND, INVALID_ID, VALIDATION_ERROR, EMPTY_UPDATE, NOT_ADJACENT, TOO_MANY_SHARES."
        },
        "message": {
          "type": "string"
        },
        "issues": {
          "type": "array",
          "items": {
            "type": "object",
            "additionalProperties": {}
          },
          "description": "Invalid fields, on VALIDATION_ERROR."
        }
      },
      "required": [
        "error"
      ]
    },
    "Matrix": {
      "type": "object",
      "properties": {
        "id": {
          "type": "string",
          "format": "uuid"
        },
        "name": {
          "type": "string"
        },
        "description": {
          "type": "string",
          "x-nullable": true
        },
        "periodType": {
          "type": "string",
          "enum": [
            "annual",
            "quarterly",
            "custom"
          ]
        },
        "periodStart": {
          "type": "string",
          "format": "date-time",
          "x-nullable": true
        },
        "periodEnd": {
          "type": "string",
          "format": "date-time",
          "x-nullable": true
        },
        "ownerId": {
          "type": "string",
          "format": "uuid",
          "x-nullable": true
        },
        "isActive": {
          "type": "boolean"
        },
        "isDefault": {
          "type": "boolean"
        },
        "parentMatrixId": {
          "type": "string",
          "format": "uuid",
          "x-nullable": true
        },
        "createdAt": {
          "type": "string",
          "format": "date-time"
        },
        "updatedAt": {
          "type": "string",
          "format": "date-time"
        }
      },
      "required": [
        "id",
        "name",
        "description",
        "periodType",
        "periodStart",
        "periodEnd",
        "ownerId",
        "isActive",
        "isDefault",
        "parentMatrixId",
        "createdAt",
        "updatedAt"
      ]
    },
    "MatrixCreated": {
      "type": "object",
      "properties": {
        "id": {
          "type": "string",
          "format": "uuid"
        },
        "name": {
          "type": "string"
        },
        "description": {
          "type": "string",
          "x-nullable": true
        },
        "periodType": {
          "type": "string",
          "enum": [
            "annual",
            "quarterly",
            "custom"
          ]
        },
        "periodStart": {
          "type": "string",
          "format": "date-time",
          "x-nullable": true
        },
        "periodEnd": {
          "type": "string",
          "format": "date-time",
          "x-nullable": true
        },
        "ownerId": {
          "type": "string",
          "format": "uuid",
          "x-nullable": true
        },
        "isActive": {
          "type": "boolean"
        },
        "isDefault": {
          "type": "boolean"
        },
        "parentMatrixId": {
          "type": "string",
          "format": "uuid",
          "x-nullable": true
        },
        "createdAt": {
          "type": "string",
          "format": "date-time"
        },
        "updatedAt": {
          "type": "string",
          "format": "date-time"
        },
        "elementsCount": {
          "type": "integer"
        }
      },
      "required": [
        "id",
        "name",
        "description",
        "periodType",
        "periodStart",
        "periodEnd",
        "ownerId",
        "isActive",
        "isDefault",
        "parentMatrixId",
        "createdAt",
        "updatedAt",
        "elementsCount"
      ]
    },
    "MatrixList": {
      "type": "object",
      "properties": {
        "matrices": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string",
                "format": "uuid"
              },
              "name": {
                "type": "string"
              },
              "description": {
                "type": "string",
                "x-nullable": true
              },
              "periodType": {
                "type": "string",
                "enum": [
                  "annual",
                  "quarterly",
                  "custom"
                ]
              },
              "periodStart": {
                "type": "string",
                "format": "date-time",
                "x-nullable": true
              },
              "periodEnd": {
                "type": "string",
                "format": "date-time",
                "x-nullable": true
              },
              "ownerId": {
                "type": "string",
                "format": "uuid",
                "x-nullable": true
              },
              "isActive": {
                "type": "boolean"
              },
              "isDefault": {
                "type": "boolean"
              },
              "parentMatrixId": {
                "type": "string",
                "format": "uuid",
                "x-nullable": true
              },
              "createdAt": {
                "type": "string",
                "format": "date-time"
              },
              "updatedAt": {
                "type": "string",
                "format": "date-time"
              },
              "ownerName": {
                "type": "string",
                "x-nullable": true
              },
              "elementsCount": {
                "type": "integer"
              }
            },
            "required": [
              "id",
              "name",
              "description",
              "periodType",
              "periodStart",
              "periodEnd",
              "ownerId",
              "isActive",
              "isDefault",
              "parentMatrixId",
              "createdAt",
              "updatedAt",
              "ownerName",
              "elementsCount"
            ]
          }
        },
        "total": {
          "type": "integer"
        },
        "limit": {
          "type": "integer"
        },
        "offset": {
          "type": "integer"
        }
      },
      "required": [
        "matrices",
        "total",
        "limit",
        "offset"
      ]
    },
    "MatrixDetail": {
      "type": "object",
      "properties": {
        "id": {
          "type": "string",
          "format": "uuid"
        },
        "name": {
          "type": "string"
        },
        "description": {
          "type": "string",
          "x-nullable": true
        },
        "periodType": {
          "type": "string",
          "enum": [
            "annual",
            "quarterly",
            "custom"
          ]
        },
        "periodStart": {
          "type": "string",
          "format": "date-time",
          "x-nullable": true
        },
        "periodEnd": {
          "type": "string",
          "format": "date-time",
          "x-nullable": true
        },
        "ownerId": {
          "type": "string",
          "format": "uuid",
          "x-nullable": true
        },
        "isActive": {
          "type": "boolean"
        },
        "isDefault": {
          "type": "boolean"
        },
        "parentMatrixId": {
          "type": "string",
          "format": "uuid",
          "x-nullable": true
        },
        "createdAt": {
          "type": "string",
          "format": "date-time"
        },
        "updatedAt": {
          "type": "string",
          "format": "date-time"
        },
        "ownerName": {
          "type": "string",
          "x-nullable": true
        },
        "parentMatrix": {
          "type": "object",
          "properties": {
            "id": {
              "type": "string",
              "format": "uuid"
            },
            "name": {
              "type": "string"
            }
          },
          "required": [
            "id",
            "name"
          ],
          "x-nullable": true
        },
        "childMatrices": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string",
                "format": "uuid"
              },
              "name": {
                "type": "string"
              }
            },
            "required": [
              "id",
              "name"
            ]
          }
        },
        "access": {
          "type": "object",
          "properties": {
            "restricted": {
              "type": "boolean"
            },
            "editors": {
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "id": {
                    "type": "string",
                    "format": "uuid"
                  },
                  "displayName": {
                    "type": "string"
                  }
                },
                "required": [
                  "id",
                  "displayName"
                ]
              }
            },
            "canEdit": {
              "type": "boolean"
            },
            "canManage": {
              "type": "boolean"
            },
            "canSetDefault": {
              "type": "boolean"
            }
          },
          "required": [
            "restricted",
            "editors",
            "canEdit",
            "canManage",
            "canSetDefault"
          ]
        },
        "elements": {
          "type": "object",
          "properties": {
            "north": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/Element"
              }
            },
            "east": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/Element"
              }
            },
            "south": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/Element"
              }
            },
            "west": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/Element"
              }
            }
          },
          "required": [
            "north",
            "east",
            "south",
            "west"
          ],
          "description": "Absent with elements=false."
        },
        "correlations": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/Correlation"
          },
          "description": "Absent with elements=false."
        }
      },
      "required": [
        "id",
        "name",
        "description",
        "periodType",
        "periodStart",
        "periodEnd",
        "ownerId",
        "isActive",
        "isDefault",
        "parentMatrixId",
        "createdAt",
        "updatedAt",
        "ownerName",
        "parentMatrix",
        "childMatrices",
        "access"
      ]
    },
    "Element": {
      "type": "object",
      "properties": {
        "id": {
          "type": "string",
          "format": "uuid"
        },
        "matrixId": {
          "type": "string",
          "format": "uuid"
        },
        "quadrant": {
          "type": "string",
          "enum": [
            "north",
            "east",
            "south",
            "west"
          ]
        },
        "position": {
          "type": "integer"
        },
        "title": {
          "type": "string"
        },
        "description": {
          "type": "string",
          "x-nullable": true
        },
        "status": {
          "type": "string",
          "enum": [
            "draft",
            "active",
            "completed",
            "cancelled"
          ]
        },
        "ownerId": {
          "type": "string",
          "format": "uuid",
          "x-nullable": true
        },
        "ownerName": {
          "type": "string",
          "x-nullable": true
        },
        "targetValue": {
          "type": "string",
          "x-nullable": true
        },
        "currentValue": {
          "type": "string",
          "x-nullable": true
        },
        "unit": {
          "type": "string",
          "x-nullable": true
        },
        "indicatorType": {
          "type": "string",
          "enum": [
            "result",
            "performance"
          ],
          "x-nullable": true
        },
        "dueDate": {
          "type": "string",
          "format": "date-time",
          "x-nullable": true
        },
        "completedAt": {
          "type": "string",
          "format": "date-time",
          "x-nullable": true
        },
        "color": {
          "type": "string",
          "x-nullable": true
        },
        "icon": {
          "type": "string",
          "x-nullable": true
        },
        "externalRef": {
          "type": "string",
          "x-nullable": true
        },
        "parentElementId": {
          "type": "string",
          "format": "uuid",
          "x-nullable": true
        },
        "createdAt": {
          "type": "string",
          "format": "date-time"
        },
        "updatedAt": {
          "type": "string",
          "format": "date-time"
        }
      },
      "required": [
        "id",
        "matrixId",
        "quadrant",
        "position",
        "title",
        "description",
        "status",
        "ownerId",
        "ownerName",
        "targetValue",
        "currentValue",
        "unit",
        "indicatorType",
        "dueDate",
        "completedAt",
        "color",
        "icon",
        "externalRef",
        "parentElementId",
        "createdAt",
        "updatedAt"
      ]
    },
    "ElementUpdated": {
      "type": "object",
      "properties": {
        "id": {
          "type": "string",
          "format": "uuid"
        },
        "matrixId": {
          "type": "string",
          "format": "uuid"
        },
        "quadrant": {
          "type": "string",
          "enum": [
            "north",
            "east",
            "south",
            "west"
          ]
        },
        "position": {
          "type": "integer"
        },
        "title": {
          "type": "string"
        },
        "description": {
          "type": "string",
          "x-nullable": true
        },
        "status": {
          "type": "string",
          "enum": [
            "draft",
            "active",
            "completed",
            "cancelled"
          ]
        },
        "ownerId": {
          "type": "string",
          "format": "uuid",
          "x-nullable": true
        },
        "ownerName": {
          "type": "string",
          "x-nullable": true
        },
        "targetValue": {
          "type": "string",
          "x-nullable": true
        },
        "currentValue": {
          "type": "string",
          "x-nullable": true
        },
        "unit": {
          "type": "string",
          "x-nullable": true
        },
        "indicatorType": {
          "type": "string",
          "enum": [
            "result",
            "performance"
          ],
          "x-nullable": true
        },
        "dueDate": {
          "type": "string",
          "format": "date-time",
          "x-nullable": true
        },
        "completedAt": {
          "type": "string",
          "format": "date-time",
          "x-nullable": true
        },
        "color": {
          "type": "string",
          "x-nullable": true
        },
        "icon": {
          "type": "string",
          "x-nullable": true
        },
        "externalRef": {
          "type": "string",
          "x-nullable": true
        },
        "parentElementId": {
          "type": "string",
          "format": "uuid",
          "x-nullable": true
        },
        "createdAt": {
          "type": "string",
          "format": "date-time"
        },
        "updatedAt": {
          "type": "string",
          "format": "date-time"
        },
        "droppedCorrelations": {
          "type": "integer",
          "description": "Correlations removed because a change of quadrant left them non-adjacent."
        }
      },
      "required": [
        "id",
        "matrixId",
        "quadrant",
        "position",
        "title",
        "description",
        "status",
        "ownerId",
        "ownerName",
        "targetValue",
        "currentValue",
        "unit",
        "indicatorType",
        "dueDate",
        "completedAt",
        "color",
        "icon",
        "externalRef",
        "parentElementId",
        "createdAt",
        "updatedAt"
      ]
    },
    "Correlation": {
      "type": "object",
      "properties": {
        "id": {
          "type": "string",
          "format": "uuid"
        },
        "fromElementId": {
          "type": "string",
          "format": "uuid"
        },
        "fromTitle": {
          "type": "string"
        },
        "fromQuadrant": {
          "type": "string",
          "enum": [
            "north",
            "east",
            "south",
            "west"
          ]
        },
        "toElementId": {
          "type": "string",
          "format": "uuid"
        },
        "toTitle": {
          "type": "string"
        },
        "toQuadrant": {
          "type": "string",
          "enum": [
            "north",
            "east",
            "south",
            "west"
          ]
        },
        "strength": {
          "type": "string",
          "enum": [
            "strong",
            "medium",
            "weak",
            "none"
          ]
        }
      },
      "required": [
        "id",
        "fromElementId",
        "fromTitle",
        "fromQuadrant",
        "toElementId",
        "toTitle",
        "toQuadrant",
        "strength"
      ]
    },
    "CorrelationResult": {
      "type": "object",
      "properties": {
        "id": {
          "type": "string",
          "format": "uuid"
        },
        "fromElementId": {
          "type": "string",
          "format": "uuid"
        },
        "fromTitle": {
          "type": "string"
        },
        "fromQuadrant": {
          "type": "string",
          "enum": [
            "north",
            "east",
            "south",
            "west"
          ]
        },
        "toElementId": {
          "type": "string",
          "format": "uuid"
        },
        "toTitle": {
          "type": "string"
        },
        "toQuadrant": {
          "type": "string",
          "enum": [
            "north",
            "east",
            "south",
            "west"
          ]
        },
        "strength": {
          "type": "string",
          "enum": [
            "strong",
            "medium",
            "weak",
            "none"
          ]
        },
        "success": {
          "type": "boolean",
          "enum": [
            true
          ]
        },
        "removed": {
          "type": "boolean",
          "enum": [
            true
          ]
        }
      },
      "description": "The stored correlation, or { success, removed } when strength was \"none\"."
    },
    "Completeness": {
      "type": "object",
      "properties": {
        "matrixId": {
          "type": "string",
          "format": "uuid"
        },
        "matrixName": {
          "type": "string"
        },
        "score": {
          "type": "integer",
          "description": "0 to 100."
        },
        "level": {
          "type": "string",
          "description": "Stable key: excellent, bon, acceptable, minimal or incomplet."
        },
        "levelLabel": {
          "type": "string"
        },
        "details": {
          "type": "object",
          "properties": {
            "coverage": {
              "type": "object",
              "properties": {
                "score": {
                  "type": "integer"
                },
                "north": {
                  "type": "object",
                  "properties": {
                    "count": {
                      "type": "integer"
                    },
                    "min": {
                      "type": "integer"
                    },
                    "ideal": {
                      "type": "string"
                    },
                    "status": {
                      "type": "string",
                      "enum": [
                        "empty",
                        "critical",
                        "low",
                        "high",
                        "ok"
                      ]
                    },
                    "score": {
                      "type": "integer"
                    }
                  },
                  "required": [
                    "count",
                    "min",
                    "ideal",
                    "status",
                    "score"
                  ]
                },
                "east": {
                  "type": "object",
                  "properties": {
                    "count": {
                      "type": "integer"
                    },
                    "min": {
                      "type": "integer"
                    },
                    "ideal": {
                      "type": "string"
                    },
                    "status": {
                      "type": "string",
                      "enum": [
                        "empty",
                        "critical",
                        "low",
                        "high",
                        "ok"
                      ]
                    },
                    "score": {
                      "type": "integer"
                    }
                  },
                  "required": [
                    "count",
                    "min",
                    "ideal",
                    "status",
                    "score"
                  ]
                },
                "south": {
                  "type": "object",
                  "properties": {
                    "count": {
                      "type": "integer"
                    },
                    "min": {
                      "type": "integer"
                    },
                    "ideal": {
                      "type": "string"
                    },
                    "status": {
                      "type": "string",
                      "enum": [
                        "empty",
                        "critical",
                        "low",
                        "high",
                        "ok"
                      ]
                    },
                    "score": {
                      "type": "integer"
                    }
                  },
                  "required": [
                    "count",
                    "min",
                    "ideal",
                    "status",
                    "score"
                  ]
                },
                "west": {
                  "type": "object",
                  "properties": {
                    "count": {
                      "type": "integer"
                    },
                    "min": {
                      "type": "integer"
                    },
                    "ideal": {
                      "type": "string"
                    },
                    "status": {
                      "type": "string",
                      "enum": [
                        "empty",
                        "critical",
                        "low",
                        "high",
                        "ok"
                      ]
                    },
                    "score": {
                      "type": "integer"
                    }
                  },
                  "required": [
                    "count",
                    "min",
                    "ideal",
                    "status",
                    "score"
                  ]
                }
              },
              "required": [
                "score",
                "north",
                "east",
                "south",
                "west"
              ]
            },
            "density": {
              "type": "object",
              "properties": {
                "score": {
                  "type": "integer"
                },
                "NE": {
                  "type": "object",
                  "properties": {
                    "possible": {
                      "type": "integer"
                    },
                    "actual": {
                      "type": "integer"
                    },
                    "density": {
                      "type": "number"
                    },
                    "level": {
                      "type": "string",
                      "enum": [
                        "n/a",
                        "sparse",
                        "minimal",
                        "good",
                        "rich"
                      ]
                    },
                    "score": {
                      "type": "integer"
                    }
                  },
                  "required": [
                    "possible",
                    "actual",
                    "density",
                    "level",
                    "score"
                  ]
                },
                "SE": {
                  "type": "object",
                  "properties": {
                    "possible": {
                      "type": "integer"
                    },
                    "actual": {
                      "type": "integer"
                    },
                    "density": {
                      "type": "number"
                    },
                    "level": {
                      "type": "string",
                      "enum": [
                        "n/a",
                        "sparse",
                        "minimal",
                        "good",
                        "rich"
                      ]
                    },
                    "score": {
                      "type": "integer"
                    }
                  },
                  "required": [
                    "possible",
                    "actual",
                    "density",
                    "level",
                    "score"
                  ]
                },
                "SW": {
                  "type": "object",
                  "properties": {
                    "possible": {
                      "type": "integer"
                    },
                    "actual": {
                      "type": "integer"
                    },
                    "density": {
                      "type": "number"
                    },
                    "level": {
                      "type": "string",
                      "enum": [
                        "n/a",
                        "sparse",
                        "minimal",
                        "good",
                        "rich"
                      ]
                    },
                    "score": {
                      "type": "integer"
                    }
                  },
                  "required": [
                    "possible",
                    "actual",
                    "density",
                    "level",
                    "score"
                  ]
                },
                "NW": {
                  "type": "object",
                  "properties": {
                    "possible": {
                      "type": "integer"
                    },
                    "actual": {
                      "type": "integer"
                    },
                    "density": {
                      "type": "number"
                    },
                    "level": {
                      "type": "string",
                      "enum": [
                        "n/a",
                        "sparse",
                        "minimal",
                        "good",
                        "rich"
                      ]
                    },
                    "score": {
                      "type": "integer"
                    }
                  },
                  "required": [
                    "possible",
                    "actual",
                    "density",
                    "level",
                    "score"
                  ]
                }
              },
              "required": [
                "score",
                "NE",
                "SE",
                "SW",
                "NW"
              ]
            },
            "orphans": {
              "type": "object",
              "properties": {
                "score": {
                  "type": "integer"
                },
                "count": {
                  "type": "integer"
                },
                "total": {
                  "type": "integer"
                },
                "elements": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "id": {
                        "type": "string",
                        "format": "uuid"
                      },
                      "quadrant": {
                        "type": "string",
                        "enum": [
                          "north",
                          "east",
                          "south",
                          "west"
                        ]
                      },
                      "title": {
                        "type": "string"
                      }
                    },
                    "required": [
                      "id",
                      "quadrant",
                      "title"
                    ]
                  }
                }
              },
              "required": [
                "score",
                "count",
                "total",
                "elements"
              ]
            },
            "chains": {
              "type": "object",
              "properties": {
                "score": {
                  "type": "integer"
                },
                "complete": {
                  "type": "integer"
                },
                "incomplete": {
                  "type": "integer"
                },
                "total": {
                  "type": "integer"
                },
                "details": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "vision": {
                        "type": "string"
                      },
                      "visionId": {
                        "type": "string",
                        "format": "uuid"
                      },
                      "path": {
                        "type": "object",
                        "properties": {
                          "east": {
                            "type": "array",
                            "items": {
                              "type": "string"
                            }
                          },
                          "south": {
                            "type": "array",
                            "items": {
                              "type": "string"
                            }
                          },
                          "west": {
                            "type": "array",
                            "items": {
                              "type": "string"
                            }
                          }
                        },
                        "required": [
                          "east",
                          "south",
                          "west"
                        ]
                      },
                      "complete": {
                        "type": "boolean"
                      },
                      "missing": {
                        "type": "array",
                        "items": {
                          "type": "string",
                          "enum": [
                            "north",
                            "east",
                            "south",
                            "west"
                          ]
                        }
                      }
                    },
                    "required": [
                      "vision",
                      "visionId",
                      "path",
                      "complete",
                      "missing"
                    ]
                  }
                }
              },
              "required": [
                "score",
                "complete",
                "incomplete",
                "total",
                "details"
              ]
            },
            "indicatorBalance": {
              "type": "object",
              "properties": {
                "score": {
                  "type": "integer"
                },
                "kpiStats": {
                  "type": "object",
                  "properties": {
                    "total": {
                      "type": "integer"
                    },
                    "result": {
                      "type": "integer"
                    },
                    "performance": {
                      "type": "integer"
                    },
                    "unclassified": {
                      "type": "integer"
                    }
                  },
                  "required": [
                    "total",
                    "result",
                    "performance",
                    "unclassified"
                  ]
                },
                "east": {
                  "type": "object",
                  "properties": {
                    "total": {
                      "type": "integer"
                    },
                    "balanced": {
                      "type": "integer"
                    },
                    "hasBoth": {
                      "type": "integer"
                    },
                    "hasResultOnly": {
                      "type": "integer"
                    },
                    "hasPerformanceOnly": {
                      "type": "integer"
                    },
                    "hasNeither": {
                      "type": "integer"
                    },
                    "details": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "id": {
                            "type": "string",
                            "format": "uuid"
                          },
                          "title": {
                            "type": "string"
                          },
                          "hasResult": {
                            "type": "boolean"
                          },
                          "hasPerformance": {
                            "type": "boolean"
                          },
                          "balanced": {
                            "type": "boolean"
                          },
                          "missing": {
                            "type": "string",
                            "enum": [
                              "both",
                              "result",
                              "performance"
                            ],
                            "x-nullable": true
                          }
                        },
                        "required": [
                          "id",
                          "title",
                          "hasResult",
                          "hasPerformance",
                          "balanced",
                          "missing"
                        ]
                      }
                    },
                    "score": {
                      "type": "integer"
                    }
                  },
                  "required": [
                    "total",
                    "balanced",
                    "hasBoth",
                    "hasResultOnly",
                    "hasPerformanceOnly",
                    "hasNeither",
                    "details",
                    "score"
                  ]
                },
                "south": {
                  "type": "object",
                  "properties": {
                    "total": {
                      "type": "integer"
                    },
                    "balanced": {
                      "type": "integer"
                    },
                    "hasBoth": {
                      "type": "integer"
                    },
                    "hasResultOnly": {
                      "type": "integer"
                    },
                    "hasPerformanceOnly": {
                      "type": "integer"
                    },
                    "hasNeither": {
                      "type": "integer"
                    },
                    "details": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "id": {
                            "type": "string",
                            "format": "uuid"
                          },
                          "title": {
                            "type": "string"
                          },
                          "hasResult": {
                            "type": "boolean"
                          },
                          "hasPerformance": {
                            "type": "boolean"
                          },
                          "balanced": {
                            "type": "boolean"
                          },
                          "missing": {
                            "type": "string",
                            "enum": [
                              "both",
                              "result",
                              "performance"
                            ],
                            "x-nullable": true
                          }
                        },
                        "required": [
                          "id",
                          "title",
                          "hasResult",
                          "hasPerformance",
                          "balanced",
                          "missing"
                        ]
                      }
                    },
                    "score": {
                      "type": "integer"
                    }
                  },
                  "required": [
                    "total",
                    "balanced",
                    "hasBoth",
                    "hasResultOnly",
                    "hasPerformanceOnly",
                    "hasNeither",
                    "details",
                    "score"
                  ]
                },
                "unbalancedElements": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "id": {
                        "type": "string",
                        "format": "uuid"
                      },
                      "title": {
                        "type": "string"
                      },
                      "hasResult": {
                        "type": "boolean"
                      },
                      "hasPerformance": {
                        "type": "boolean"
                      },
                      "balanced": {
                        "type": "boolean"
                      },
                      "missing": {
                        "type": "string",
                        "enum": [
                          "both",
                          "result",
                          "performance"
                        ],
                        "x-nullable": true
                      },
                      "quadrant": {
                        "type": "string",
                        "enum": [
                          "east",
                          "south"
                        ]
                      }
                    },
                    "required": [
                      "id",
                      "title",
                      "hasResult",
                      "hasPerformance",
                      "balanced",
                      "missing",
                      "quadrant"
                    ]
                  }
                }
              },
              "required": [
                "score",
                "kpiStats",
                "east",
                "south",
                "unbalancedElements"
              ]
            }
          },
          "required": [
            "coverage",
            "density",
            "orphans",
            "chains",
            "indicatorBalance"
          ]
        },
        "suggestions": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "code": {
                "type": "string"
              },
              "params": {
                "type": "object",
                "additionalProperties": {}
              },
              "message": {
                "type": "string"
              }
            },
            "required": [
              "code",
              "params",
              "message"
            ]
          }
        },
        "aiContext": {
          "type": "string"
        }
      },
      "required": [
        "matrixId",
        "matrixName",
        "score",
        "level",
        "levelLabel",
        "details",
        "suggestions",
        "aiContext"
      ]
    },
    "Cascade": {
      "type": "object",
      "properties": {
        "rootId": {
          "type": "string",
          "format": "uuid"
        },
        "matrices": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string",
                "format": "uuid"
              },
              "name": {
                "type": "string"
              },
              "parentMatrixId": {
                "type": "string",
                "format": "uuid",
                "x-nullable": true
              },
              "depth": {
                "type": "integer"
              }
            },
            "required": [
              "id",
              "name",
              "parentMatrixId",
              "depth"
            ]
          }
        },
        "edges": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "parentId": {
                "type": "string",
                "format": "uuid"
              },
              "parentName": {
                "type": "string"
              },
              "children": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "string",
                      "format": "uuid"
                    },
                    "name": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "id",
                    "name"
                  ]
                }
              },
              "coverage": {
                "type": "integer",
                "description": "Share of active East and South elements taken up below, 0 to 100.",
                "x-nullable": true
              },
              "deployed": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "string",
                      "format": "uuid"
                    },
                    "title": {
                      "type": "string"
                    },
                    "quadrant": {
                      "type": "string",
                      "enum": [
                        "north",
                        "east",
                        "south",
                        "west"
                      ]
                    },
                    "takenUpBy": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "matrixId": {
                            "type": "string",
                            "format": "uuid"
                          },
                          "matrixName": {
                            "type": "string"
                          },
                          "elementId": {
                            "type": "string",
                            "format": "uuid"
                          },
                          "title": {
                            "type": "string"
                          },
                          "quadrant": {
                            "type": "string",
                            "enum": [
                              "north",
                              "east",
                              "south",
                              "west"
                            ]
                          }
                        },
                        "required": [
                          "matrixId",
                          "matrixName",
                          "elementId",
                          "title",
                          "quadrant"
                        ]
                      }
                    }
                  },
                  "required": [
                    "id",
                    "title",
                    "quadrant",
                    "takenUpBy"
                  ]
                }
              },
              "notDeployed": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "string",
                      "format": "uuid"
                    },
                    "title": {
                      "type": "string"
                    },
                    "quadrant": {
                      "type": "string",
                      "enum": [
                        "north",
                        "east",
                        "south",
                        "west"
                      ]
                    }
                  },
                  "required": [
                    "id",
                    "title",
                    "quadrant"
                  ]
                }
              }
            },
            "required": [
              "parentId",
              "parentName",
              "children",
              "coverage",
              "deployed",
              "notDeployed"
            ]
          }
        },
        "unanchored": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "matrixId": {
                "type": "string",
                "format": "uuid"
              },
              "matrixName": {
                "type": "string"
              },
              "elements": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "string",
                      "format": "uuid"
                    },
                    "title": {
                      "type": "string"
                    },
                    "quadrant": {
                      "type": "string",
                      "enum": [
                        "north",
                        "east",
                        "south",
                        "west"
                      ]
                    }
                  },
                  "required": [
                    "id",
                    "title",
                    "quadrant"
                  ]
                }
              }
            },
            "required": [
              "matrixId",
              "matrixName",
              "elements"
            ]
          }
        },
        "coverage": {
          "type": "integer",
          "x-nullable": true
        },
        "ancestors": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string",
                "format": "uuid"
              },
              "name": {
                "type": "string"
              }
            },
            "required": [
              "id",
              "name"
            ]
          }
        }
      },
      "required": [
        "rootId",
        "matrices",
        "edges",
        "unanchored",
        "coverage",
        "ancestors"
      ]
    },
    "ShareList": {
      "type": "object",
      "properties": {
        "shares": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string",
                "format": "uuid"
              },
              "tokenPreview": {
                "type": "string"
              },
              "label": {
                "type": "string",
                "x-nullable": true
              },
              "active": {
                "type": "boolean"
              },
              "createdAt": {
                "type": "string",
                "format": "date-time"
              },
              "expiresAt": {
                "type": "string",
                "format": "date-time",
                "x-nullable": true
              },
              "revokedAt": {
                "type": "string",
                "format": "date-time",
                "x-nullable": true
              },
              "lastAccessedAt": {
                "type": "string",
                "format": "date-time",
                "x-nullable": true
              },
              "accessCount": {
                "type": "integer"
              },
              "createdBy": {
                "type": "string",
                "x-nullable": true
              }
            },
            "required": [
              "id",
              "tokenPreview",
              "label",
              "active",
              "createdAt",
              "expiresAt",
              "revokedAt",
              "lastAccessedAt",
              "accessCount",
              "createdBy"
            ]
          }
        }
      },
      "required": [
        "shares"
      ]
    },
    "ShareCreated": {
      "type": "object",
      "properties": {
        "id": {
          "type": "string",
          "format": "uuid"
        },
        "url": {
          "type": "string",
          "description": "Public read-only link, shown once."
        },
        "tokenPreview": {
          "type": "string"
        },
        "label": {
          "type": "string",
          "x-nullable": true
        },
        "expiresAt": {
          "type": "string",
          "format": "date-time",
          "x-nullable": true
        },
        "matrixName": {
          "type": "string"
        },
        "note": {
          "type": "string"
        }
      },
      "required": [
        "id",
        "url",
        "tokenPreview",
        "label",
        "expiresAt",
        "matrixName",
        "note"
      ]
    },
    "ShareRevoked": {
      "type": "object",
      "properties": {
        "revoked": {
          "type": "boolean",
          "enum": [
            true
          ]
        },
        "id": {
          "type": "string",
          "format": "uuid"
        }
      },
      "required": [
        "revoked",
        "id"
      ]
    },
    "Idea": {
      "type": "object",
      "properties": {
        "id": {
          "type": "string",
          "format": "uuid"
        },
        "title": {
          "type": "string"
        },
        "description": {
          "type": "string",
          "x-nullable": true
        },
        "source": {
          "type": "string",
          "x-nullable": true
        },
        "tags": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "priority": {
          "type": "string",
          "x-nullable": true
        },
        "status": {
          "type": "string"
        },
        "createdBy": {
          "type": "string",
          "format": "uuid",
          "x-nullable": true
        },
        "createdByName": {
          "type": "string",
          "x-nullable": true
        },
        "assignedTo": {
          "type": "string",
          "format": "uuid",
          "x-nullable": true
        },
        "assignedToName": {
          "type": "string",
          "x-nullable": true
        },
        "linkedElementId": {
          "type": "string",
          "format": "uuid",
          "x-nullable": true
        },
        "createdAt": {
          "type": "string",
          "format": "date-time"
        },
        "updatedAt": {
          "type": "string",
          "format": "date-time"
        },
        "linkedMatrixId": {
          "type": "string",
          "format": "uuid",
          "x-nullable": true
        },
        "linkedElementTitle": {
          "type": "string",
          "x-nullable": true
        },
        "linkedElementQuadrant": {
          "type": "string",
          "enum": [
            "north",
            "east",
            "south",
            "west"
          ],
          "x-nullable": true
        }
      },
      "required": [
        "id",
        "title",
        "description",
        "source",
        "tags",
        "priority",
        "status",
        "createdBy",
        "createdByName",
        "assignedTo",
        "assignedToName",
        "linkedElementId",
        "createdAt",
        "updatedAt",
        "linkedMatrixId",
        "linkedElementTitle",
        "linkedElementQuadrant"
      ]
    },
    "IdeaList": {
      "type": "object",
      "properties": {
        "ideas": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/Idea"
          }
        },
        "total": {
          "type": "integer"
        },
        "limit": {
          "type": "integer"
        },
        "offset": {
          "type": "integer"
        }
      },
      "required": [
        "ideas",
        "total",
        "limit",
        "offset"
      ]
    },
    "MatricesExport": {
      "type": "object",
      "properties": {
        "exportedAt": {
          "type": "string",
          "format": "date-time"
        },
        "type": {
          "type": "string",
          "enum": [
            "matrices"
          ]
        },
        "count": {
          "type": "integer"
        },
        "data": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string",
                "format": "uuid"
              },
              "name": {
                "type": "string"
              },
              "description": {
                "type": "string",
                "x-nullable": true
              },
              "periodType": {
                "type": "string",
                "enum": [
                  "annual",
                  "quarterly",
                  "custom"
                ]
              },
              "periodStart": {
                "type": "string",
                "format": "date-time",
                "x-nullable": true
              },
              "periodEnd": {
                "type": "string",
                "format": "date-time",
                "x-nullable": true
              },
              "isActive": {
                "type": "boolean"
              },
              "isDefault": {
                "type": "boolean"
              },
              "parentMatrixId": {
                "type": "string",
                "format": "uuid",
                "x-nullable": true
              },
              "owner": {
                "type": "string",
                "x-nullable": true
              },
              "createdAt": {
                "type": "string",
                "format": "date-time"
              },
              "updatedAt": {
                "type": "string",
                "format": "date-time"
              },
              "elements": {
                "type": "object",
                "properties": {
                  "north": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "id": {
                          "type": "string",
                          "format": "uuid"
                        },
                        "title": {
                          "type": "string"
                        },
                        "description": {
                          "type": "string",
                          "x-nullable": true
                        },
                        "status": {
                          "type": "string",
                          "enum": [
                            "draft",
                            "active",
                            "completed",
                            "cancelled"
                          ]
                        },
                        "owner": {
                          "type": "string",
                          "format": "uuid",
                          "x-nullable": true
                        },
                        "ownerName": {
                          "type": "string",
                          "x-nullable": true
                        },
                        "dueDate": {
                          "type": "string",
                          "format": "date-time",
                          "x-nullable": true
                        },
                        "position": {
                          "type": "integer"
                        },
                        "targetValue": {
                          "type": "string",
                          "x-nullable": true
                        },
                        "currentValue": {
                          "type": "string",
                          "x-nullable": true
                        },
                        "unit": {
                          "type": "string",
                          "x-nullable": true
                        },
                        "indicatorType": {
                          "type": "string",
                          "enum": [
                            "result",
                            "performance"
                          ],
                          "x-nullable": true
                        },
                        "externalRef": {
                          "type": "string",
                          "x-nullable": true
                        },
                        "parentElementId": {
                          "type": "string",
                          "format": "uuid",
                          "x-nullable": true
                        }
                      },
                      "required": [
                        "id",
                        "title",
                        "description",
                        "status",
                        "owner",
                        "ownerName",
                        "dueDate",
                        "position",
                        "targetValue",
                        "currentValue",
                        "unit",
                        "indicatorType",
                        "externalRef",
                        "parentElementId"
                      ]
                    }
                  },
                  "east": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "id": {
                          "type": "string",
                          "format": "uuid"
                        },
                        "title": {
                          "type": "string"
                        },
                        "description": {
                          "type": "string",
                          "x-nullable": true
                        },
                        "status": {
                          "type": "string",
                          "enum": [
                            "draft",
                            "active",
                            "completed",
                            "cancelled"
                          ]
                        },
                        "owner": {
                          "type": "string",
                          "format": "uuid",
                          "x-nullable": true
                        },
                        "ownerName": {
                          "type": "string",
                          "x-nullable": true
                        },
                        "dueDate": {
                          "type": "string",
                          "format": "date-time",
                          "x-nullable": true
                        },
                        "position": {
                          "type": "integer"
                        },
                        "targetValue": {
                          "type": "string",
                          "x-nullable": true
                        },
                        "currentValue": {
                          "type": "string",
                          "x-nullable": true
                        },
                        "unit": {
                          "type": "string",
                          "x-nullable": true
                        },
                        "indicatorType": {
                          "type": "string",
                          "enum": [
                            "result",
                            "performance"
                          ],
                          "x-nullable": true
                        },
                        "externalRef": {
                          "type": "string",
                          "x-nullable": true
                        },
                        "parentElementId": {
                          "type": "string",
                          "format": "uuid",
                          "x-nullable": true
                        }
                      },
                      "required": [
                        "id",
                        "title",
                        "description",
                        "status",
                        "owner",
                        "ownerName",
                        "dueDate",
                        "position",
                        "targetValue",
                        "currentValue",
                        "unit",
                        "indicatorType",
                        "externalRef",
                        "parentElementId"
                      ]
                    }
                  },
                  "south": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "id": {
                          "type": "string",
                          "format": "uuid"
                        },
                        "title": {
                          "type": "string"
                        },
                        "description": {
                          "type": "string",
                          "x-nullable": true
                        },
                        "status": {
                          "type": "string",
                          "enum": [
                            "draft",
                            "active",
                            "completed",
                            "cancelled"
                          ]
                        },
                        "owner": {
                          "type": "string",
                          "format": "uuid",
                          "x-nullable": true
                        },
                        "ownerName": {
                          "type": "string",
                          "x-nullable": true
                        },
                        "dueDate": {
                          "type": "string",
                          "format": "date-time",
                          "x-nullable": true
                        },
                        "position": {
                          "type": "integer"
                        },
                        "targetValue": {
                          "type": "string",
                          "x-nullable": true
                        },
                        "currentValue": {
                          "type": "string",
                          "x-nullable": true
                        },
                        "unit": {
                          "type": "string",
                          "x-nullable": true
                        },
                        "indicatorType": {
                          "type": "string",
                          "enum": [
                            "result",
                            "performance"
                          ],
                          "x-nullable": true
                        },
                        "externalRef": {
                          "type": "string",
                          "x-nullable": true
                        },
                        "parentElementId": {
                          "type": "string",
                          "format": "uuid",
                          "x-nullable": true
                        }
                      },
                      "required": [
                        "id",
                        "title",
                        "description",
                        "status",
                        "owner",
                        "ownerName",
                        "dueDate",
                        "position",
                        "targetValue",
                        "currentValue",
                        "unit",
                        "indicatorType",
                        "externalRef",
                        "parentElementId"
                      ]
                    }
                  },
                  "west": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "id": {
                          "type": "string",
                          "format": "uuid"
                        },
                        "title": {
                          "type": "string"
                        },
                        "description": {
                          "type": "string",
                          "x-nullable": true
                        },
                        "status": {
                          "type": "string",
                          "enum": [
                            "draft",
                            "active",
                            "completed",
                            "cancelled"
                          ]
                        },
                        "owner": {
                          "type": "string",
                          "format": "uuid",
                          "x-nullable": true
                        },
                        "ownerName": {
                          "type": "string",
                          "x-nullable": true
                        },
                        "dueDate": {
                          "type": "string",
                          "format": "date-time",
                          "x-nullable": true
                        },
                        "position": {
                          "type": "integer"
                        },
                        "targetValue": {
                          "type": "string",
                          "x-nullable": true
                        },
                        "currentValue": {
                          "type": "string",
                          "x-nullable": true
                        },
                        "unit": {
                          "type": "string",
                          "x-nullable": true
                        },
                        "indicatorType": {
                          "type": "string",
                          "enum": [
                            "result",
                            "performance"
                          ],
                          "x-nullable": true
                        },
                        "externalRef": {
                          "type": "string",
                          "x-nullable": true
                        },
                        "parentElementId": {
                          "type": "string",
                          "format": "uuid",
                          "x-nullable": true
                        }
                      },
                      "required": [
                        "id",
                        "title",
                        "description",
                        "status",
                        "owner",
                        "ownerName",
                        "dueDate",
                        "position",
                        "targetValue",
                        "currentValue",
                        "unit",
                        "indicatorType",
                        "externalRef",
                        "parentElementId"
                      ]
                    }
                  }
                },
                "required": [
                  "north",
                  "east",
                  "south",
                  "west"
                ]
              },
              "correlations": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "from": {
                      "type": "object",
                      "properties": {
                        "id": {
                          "type": "string",
                          "format": "uuid"
                        },
                        "title": {
                          "type": "string"
                        },
                        "quadrant": {
                          "type": "string",
                          "enum": [
                            "north",
                            "east",
                            "south",
                            "west"
                          ]
                        }
                      },
                      "required": [
                        "id",
                        "title",
                        "quadrant"
                      ]
                    },
                    "to": {
                      "type": "object",
                      "properties": {
                        "id": {
                          "type": "string",
                          "format": "uuid"
                        },
                        "title": {
                          "type": "string"
                        },
                        "quadrant": {
                          "type": "string",
                          "enum": [
                            "north",
                            "east",
                            "south",
                            "west"
                          ]
                        }
                      },
                      "required": [
                        "id",
                        "title",
                        "quadrant"
                      ]
                    },
                    "strength": {
                      "type": "string",
                      "enum": [
                        "strong",
                        "medium",
                        "weak",
                        "none"
                      ]
                    }
                  },
                  "required": [
                    "from",
                    "to",
                    "strength"
                  ]
                }
              }
            },
            "required": [
              "id",
              "name",
              "description",
              "periodType",
              "periodStart",
              "periodEnd",
              "isActive",
              "isDefault",
              "parentMatrixId",
              "owner",
              "createdAt",
              "updatedAt"
            ]
          }
        }
      },
      "required": [
        "exportedAt",
        "type",
        "count",
        "data"
      ]
    },
    "SummaryExport": {
      "type": "object",
      "properties": {
        "exportedAt": {
          "type": "string",
          "format": "date-time"
        },
        "type": {
          "type": "string",
          "enum": [
            "summary"
          ]
        },
        "overview": {
          "type": "object",
          "properties": {
            "totalMatrices": {
              "type": "integer"
            },
            "totalIdeas": {
              "type": "integer"
            },
            "ideasByStatus": {
              "type": "object",
              "additionalProperties": {
                "type": "integer"
              }
            },
            "ideasByPriority": {
              "type": "object",
              "additionalProperties": {
                "type": "integer"
              }
            },
            "pendingAction": {
              "type": "integer"
            },
            "criticalItems": {
              "type": "integer"
            },
            "highPriorityItems": {
              "type": "integer"
            }
          },
          "required": [
            "totalMatrices",
            "totalIdeas",
            "ideasByStatus",
            "ideasByPriority",
            "pendingAction",
            "criticalItems",
            "highPriorityItems"
          ]
        },
        "recentIdeas": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "title": {
                "type": "string"
              },
              "status": {
                "type": "string"
              },
              "priority": {
                "type": "string",
                "x-nullable": true
              },
              "createdAt": {
                "type": "string",
                "format": "date-time"
              }
            },
            "required": [
              "title",
              "status",
              "priority",
              "createdAt"
            ]
          }
        },
        "aiPromptContext": {
          "type": "string"
        }
      },
      "required": [
        "exportedAt",
        "type",
        "overview",
        "recentIdeas",
        "aiPromptContext"
      ]
    },
    "ThemeList": {
      "type": "object",
      "properties": {
        "themes": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string",
                "format": "uuid"
              },
              "name": {
                "type": "string"
              },
              "description": {
                "type": "string",
                "x-nullable": true
              },
              "color": {
                "type": "string",
                "x-nullable": true
              },
              "icon": {
                "type": "string",
                "x-nullable": true
              },
              "northElements": {
                "type": "array",
                "items": {
                  "type": "string",
                  "format": "uuid"
                }
              },
              "eastElements": {
                "type": "array",
                "items": {
                  "type": "string",
                  "format": "uuid"
                }
              },
              "southElements": {
                "type": "array",
                "items": {
                  "type": "string",
                  "format": "uuid"
                }
              },
              "westElements": {
                "type": "array",
                "items": {
                  "type": "string",
                  "format": "uuid"
                }
              },
              "createdBy": {
                "type": "string",
                "format": "uuid",
                "x-nullable": true
              },
              "createdByName": {
                "type": "string",
                "x-nullable": true
              },
              "createdAt": {
                "type": "string",
                "format": "date-time"
              },
              "updatedAt": {
                "type": "string",
                "format": "date-time"
              }
            },
            "required": [
              "id",
              "name",
              "description",
              "color",
              "icon",
              "northElements",
              "eastElements",
              "southElements",
              "westElements",
              "createdBy",
              "createdByName",
              "createdAt",
              "updatedAt"
            ]
          }
        }
      },
      "required": [
        "themes"
      ]
    },
    "ThemeDetail": {
      "type": "object",
      "properties": {
        "id": {
          "type": "string",
          "format": "uuid"
        },
        "name": {
          "type": "string"
        },
        "description": {
          "type": "string",
          "x-nullable": true
        },
        "color": {
          "type": "string",
          "x-nullable": true
        },
        "icon": {
          "type": "string",
          "x-nullable": true
        },
        "northElements": {
          "type": "array",
          "items": {
            "type": "string",
            "format": "uuid"
          }
        },
        "eastElements": {
          "type": "array",
          "items": {
            "type": "string",
            "format": "uuid"
          }
        },
        "southElements": {
          "type": "array",
          "items": {
            "type": "string",
            "format": "uuid"
          }
        },
        "westElements": {
          "type": "array",
          "items": {
            "type": "string",
            "format": "uuid"
          }
        },
        "createdBy": {
          "type": "string",
          "format": "uuid",
          "x-nullable": true
        },
        "createdByName": {
          "type": "string",
          "x-nullable": true
        },
        "createdAt": {
          "type": "string",
          "format": "date-time"
        },
        "updatedAt": {
          "type": "string",
          "format": "date-time"
        },
        "elements": {
          "type": "object",
          "properties": {
            "north": {
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "id": {
                    "type": "string",
                    "format": "uuid"
                  },
                  "title": {
                    "type": "string"
                  },
                  "quadrant": {
                    "type": "string",
                    "enum": [
                      "north",
                      "east",
                      "south",
                      "west"
                    ]
                  },
                  "status": {
                    "type": "string",
                    "enum": [
                      "draft",
                      "active",
                      "completed",
                      "cancelled"
                    ]
                  }
                },
                "required": [
                  "id",
                  "title",
                  "quadrant",
                  "status"
                ]
              }
            },
            "east": {
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "id": {
                    "type": "string",
                    "format": "uuid"
                  },
                  "title": {
                    "type": "string"
                  },
                  "quadrant": {
                    "type": "string",
                    "enum": [
                      "north",
                      "east",
                      "south",
                      "west"
                    ]
                  },
                  "status": {
                    "type": "string",
                    "enum": [
                      "draft",
                      "active",
                      "completed",
                      "cancelled"
                    ]
                  }
                },
                "required": [
                  "id",
                  "title",
                  "quadrant",
                  "status"
                ]
              }
            },
            "south": {
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "id": {
                    "type": "string",
                    "format": "uuid"
                  },
                  "title": {
                    "type": "string"
                  },
                  "quadrant": {
                    "type": "string",
                    "enum": [
                      "north",
                      "east",
                      "south",
                      "west"
                    ]
                  },
                  "status": {
                    "type": "string",
                    "enum": [
                      "draft",
                      "active",
                      "completed",
                      "cancelled"
                    ]
                  }
                },
                "required": [
                  "id",
                  "title",
                  "quadrant",
                  "status"
                ]
              }
            },
            "west": {
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "id": {
                    "type": "string",
                    "format": "uuid"
                  },
                  "title": {
                    "type": "string"
                  },
                  "quadrant": {
                    "type": "string",
                    "enum": [
                      "north",
                      "east",
                      "south",
                      "west"
                    ]
                  },
                  "status": {
                    "type": "string",
                    "enum": [
                      "draft",
                      "active",
                      "completed",
                      "cancelled"
                    ]
                  }
                },
                "required": [
                  "id",
                  "title",
                  "quadrant",
                  "status"
                ]
              }
            }
          },
          "required": [
            "north",
            "east",
            "south",
            "west"
          ]
        }
      },
      "required": [
        "id",
        "name",
        "description",
        "color",
        "icon",
        "northElements",
        "eastElements",
        "southElements",
        "westElements",
        "createdBy",
        "createdByName",
        "createdAt",
        "updatedAt",
        "elements"
      ]
    },
    "CadenceArchitecture": {
      "type": "object",
      "properties": {
        "tree": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string",
                "format": "uuid"
              },
              "name": {
                "type": "string"
              },
              "type": {
                "type": "string",
                "enum": [
                  "strategic",
                  "annual",
                  "qbr",
                  "monthly",
                  "weekly",
                  "daily"
                ]
              },
              "frequency": {
                "type": "string",
                "enum": [
                  "yearly",
                  "quarterly",
                  "monthly",
                  "weekly",
                  "daily"
                ]
              },
              "operationalLevel": {
                "type": "string",
                "enum": [
                  "strategic",
                  "tactical",
                  "operational_mgmt",
                  "team_mgmt",
                  "execution"
                ]
              },
              "parentCadenceId": {
                "type": "string",
                "format": "uuid",
                "x-nullable": true
              },
              "primaryQuadrant": {
                "type": "string",
                "enum": [
                  "north",
                  "east",
                  "south",
                  "west"
                ],
                "x-nullable": true
              },
              "trackedQuadrants": {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "north",
                    "east",
                    "south",
                    "west"
                  ]
                }
              },
              "teamScope": {
                "type": "string",
                "x-nullable": true
              },
              "durationMinutes": {
                "type": "integer",
                "x-nullable": true
              },
              "meetingsCount": {
                "type": "integer"
              },
              "children": {
                "type": "array",
                "items": {
                  "type": "object",
                  "additionalProperties": {}
                },
                "description": "Cadences below this one, in this same shape."
              }
            },
            "required": [
              "id",
              "name",
              "type",
              "frequency",
              "operationalLevel",
              "parentCadenceId",
              "primaryQuadrant",
              "trackedQuadrants",
              "teamScope",
              "durationMinutes",
              "meetingsCount",
              "children"
            ]
          }
        },
        "byLevel": {
          "type": "object",
          "additionalProperties": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string",
                  "format": "uuid"
                },
                "name": {
                  "type": "string"
                },
                "type": {
                  "type": "string",
                  "enum": [
                    "strategic",
                    "annual",
                    "qbr",
                    "monthly",
                    "weekly",
                    "daily"
                  ]
                },
                "frequency": {
                  "type": "string",
                  "enum": [
                    "yearly",
                    "quarterly",
                    "monthly",
                    "weekly",
                    "daily"
                  ]
                },
                "operationalLevel": {
                  "type": "string",
                  "enum": [
                    "strategic",
                    "tactical",
                    "operational_mgmt",
                    "team_mgmt",
                    "execution"
                  ]
                },
                "parentCadenceId": {
                  "type": "string",
                  "format": "uuid",
                  "x-nullable": true
                },
                "primaryQuadrant": {
                  "type": "string",
                  "enum": [
                    "north",
                    "east",
                    "south",
                    "west"
                  ],
                  "x-nullable": true
                },
                "trackedQuadrants": {
                  "type": "array",
                  "items": {
                    "type": "string",
                    "enum": [
                      "north",
                      "east",
                      "south",
                      "west"
                    ]
                  }
                },
                "teamScope": {
                  "type": "string",
                  "x-nullable": true
                },
                "durationMinutes": {
                  "type": "integer",
                  "x-nullable": true
                },
                "meetingsCount": {
                  "type": "integer"
                },
                "children": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "additionalProperties": {}
                  },
                  "description": "Cadences below this one, in this same shape."
                }
              },
              "required": [
                "id",
                "name",
                "type",
                "frequency",
                "operationalLevel",
                "parentCadenceId",
                "primaryQuadrant",
                "trackedQuadrants",
                "teamScope",
                "durationMinutes",
                "meetingsCount",
                "children"
              ]
            }
          }
        },
        "total": {
          "type": "integer"
        }
      },
      "required": [
        "tree",
        "byLevel",
        "total"
      ]
    }
  }
}
