{
  "components": {
    "schemas": {
      "ApprovalActionResponse": {
        "properties": {
          "executed": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "Executed"
          },
          "id": {
            "title": "Id",
            "type": "integer"
          },
          "status": {
            "title": "Status",
            "type": "string"
          }
        },
        "required": [
          "id",
          "status"
        ],
        "title": "ApprovalActionResponse",
        "type": "object"
      },
      "ApprovalResponse": {
        "properties": {
          "approved_by": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Approved By"
          },
          "created_at": {
            "anyOf": [
              {
                "format": "date-time",
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Created At"
          },
          "executed_at": {
            "anyOf": [
              {
                "format": "date-time",
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Executed At"
          },
          "expires_at": {
            "anyOf": [
              {
                "format": "date-time",
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Expires At"
          },
          "id": {
            "title": "Id",
            "type": "integer"
          },
          "identity_id": {
            "title": "Identity Id",
            "type": "integer"
          },
          "request_metadata": {
            "additionalProperties": true,
            "default": {},
            "title": "Request Metadata",
            "type": "object"
          },
          "risk_level": {
            "title": "Risk Level",
            "type": "string"
          },
          "source_id": {
            "title": "Source Id",
            "type": "string"
          },
          "sql_text": {
            "title": "Sql Text",
            "type": "string"
          },
          "status": {
            "title": "Status",
            "type": "string"
          }
        },
        "required": [
          "id",
          "identity_id",
          "source_id",
          "sql_text",
          "risk_level",
          "status"
        ],
        "title": "ApprovalResponse",
        "type": "object"
      },
      "Body_catalog_acknowledge_dashboard_data_sources__source_id__catalog_changes_acknowledge_post": {
        "properties": {
          "change_id": {
            "default": "",
            "title": "Change Id",
            "type": "string"
          }
        },
        "title": "Body_catalog_acknowledge_dashboard_data_sources__source_id__catalog_changes_acknowledge_post",
        "type": "object"
      },
      "Body_catalog_annotate_dashboard_data_sources__source_id__catalog_annotations_post": {
        "properties": {
          "classification": {
            "default": "",
            "title": "Classification",
            "type": "string"
          },
          "path": {
            "title": "Path",
            "type": "string"
          }
        },
        "required": [
          "path"
        ],
        "title": "Body_catalog_annotate_dashboard_data_sources__source_id__catalog_annotations_post",
        "type": "object"
      },
      "Body_change_password_auth_change_password_post": {
        "properties": {
          "confirm_password": {
            "title": "Confirm Password",
            "type": "string"
          },
          "current_password": {
            "title": "Current Password",
            "type": "string"
          },
          "new_password": {
            "title": "New Password",
            "type": "string"
          }
        },
        "required": [
          "current_password",
          "new_password",
          "confirm_password"
        ],
        "title": "Body_change_password_auth_change_password_post",
        "type": "object"
      },
      "Body_create_alert_rule_dashboard_alerts_create_post": {
        "properties": {
          "comparator": {
            "default": ">",
            "title": "Comparator",
            "type": "string"
          },
          "condition_type": {
            "title": "Condition Type",
            "type": "string"
          },
          "description": {
            "default": "",
            "title": "Description",
            "type": "string"
          },
          "identity_id": {
            "default": "",
            "title": "Identity Id",
            "type": "string"
          },
          "name": {
            "title": "Name",
            "type": "string"
          },
          "notification_channel": {
            "default": "log",
            "title": "Notification Channel",
            "type": "string"
          },
          "notification_target": {
            "default": "",
            "title": "Notification Target",
            "type": "string"
          },
          "source_id": {
            "default": "",
            "title": "Source Id",
            "type": "string"
          },
          "threshold": {
            "title": "Threshold",
            "type": "number"
          },
          "window_seconds": {
            "default": 300,
            "title": "Window Seconds",
            "type": "integer"
          }
        },
        "required": [
          "name",
          "condition_type",
          "threshold"
        ],
        "title": "Body_create_alert_rule_dashboard_alerts_create_post",
        "type": "object"
      },
      "Body_create_data_source_form_dashboard_data_sources_create_post": {
        "properties": {
          "auth_header": {
            "default": "",
            "title": "Auth Header",
            "type": "string"
          },
          "base_url": {
            "default": "",
            "title": "Base Url",
            "type": "string"
          },
          "cache_strategy": {
            "default": "deterministic_first",
            "title": "Cache Strategy",
            "type": "string"
          },
          "connector_key": {
            "default": "",
            "title": "Connector Key",
            "type": "string"
          },
          "create_default_roles": {
            "default": "",
            "title": "Create Default Roles",
            "type": "string"
          },
          "database": {
            "default": "",
            "title": "Database",
            "type": "string"
          },
          "host": {
            "default": "",
            "title": "Host",
            "type": "string"
          },
          "name": {
            "title": "Name",
            "type": "string"
          },
          "password": {
            "default": "",
            "title": "Password",
            "type": "string"
          },
          "password_ref": {
            "default": "",
            "title": "Password Ref",
            "type": "string"
          },
          "port": {
            "default": 5432,
            "title": "Port",
            "type": "integer"
          },
          "source_id": {
            "default": "",
            "title": "Source Id",
            "type": "string"
          },
          "source_type": {
            "title": "Source Type",
            "type": "string"
          },
          "token": {
            "default": "",
            "title": "Token",
            "type": "string"
          },
          "token_ref": {
            "default": "",
            "title": "Token Ref",
            "type": "string"
          },
          "user": {
            "default": "",
            "title": "User",
            "type": "string"
          }
        },
        "required": [
          "name",
          "source_type"
        ],
        "title": "Body_create_data_source_form_dashboard_data_sources_create_post",
        "type": "object"
      },
      "Body_create_identity_form_dashboard_access_control_identities_create_post": {
        "properties": {
          "agent_type": {
            "default": "custom",
            "title": "Agent Type",
            "type": "string"
          },
          "api_key": {
            "default": "",
            "title": "Api Key",
            "type": "string"
          },
          "generate_key": {
            "default": "",
            "title": "Generate Key",
            "type": "string"
          },
          "mapped_pg_role": {
            "default": "",
            "title": "Mapped Pg Role",
            "type": "string"
          },
          "name": {
            "title": "Name",
            "type": "string"
          },
          "pg_password": {
            "default": "",
            "title": "Pg Password",
            "type": "string"
          },
          "pg_username": {
            "default": "",
            "title": "Pg Username",
            "type": "string"
          },
          "roles": {
            "default": "",
            "title": "Roles",
            "type": "string"
          },
          "team": {
            "default": "",
            "title": "Team",
            "type": "string"
          }
        },
        "required": [
          "name"
        ],
        "title": "Body_create_identity_form_dashboard_access_control_identities_create_post",
        "type": "object"
      },
      "Body_create_policy_form_dashboard_policies_create_post": {
        "properties": {
          "action_effect": {
            "default": "allow",
            "title": "Action Effect",
            "type": "string"
          },
          "action_rate_limit": {
            "default": "",
            "title": "Action Rate Limit",
            "type": "string"
          },
          "action_redact_columns": {
            "default": "",
            "title": "Action Redact Columns",
            "type": "string"
          },
          "cond_columns": {
            "default": "",
            "title": "Cond Columns",
            "type": "string"
          },
          "cond_identity_roles": {
            "default": "",
            "title": "Cond Identity Roles",
            "type": "string"
          },
          "cond_operation": {
            "default": "",
            "title": "Cond Operation",
            "type": "string"
          },
          "cond_roles": {
            "default": "",
            "title": "Cond Roles",
            "type": "string"
          },
          "cond_source_id": {
            "default": "",
            "title": "Cond Source Id",
            "type": "string"
          },
          "cond_tables": {
            "default": "",
            "title": "Cond Tables",
            "type": "string"
          },
          "name": {
            "title": "Name",
            "type": "string"
          },
          "priority": {
            "default": 0,
            "title": "Priority",
            "type": "integer"
          },
          "raw_actions": {
            "default": "",
            "title": "Raw Actions",
            "type": "string"
          },
          "raw_conditions": {
            "default": "",
            "title": "Raw Conditions",
            "type": "string"
          }
        },
        "required": [
          "name"
        ],
        "title": "Body_create_policy_form_dashboard_policies_create_post",
        "type": "object"
      },
      "Body_dry_run_alert_rule_dashboard_alerts_dry_run_post": {
        "properties": {
          "comparator": {
            "default": ">",
            "title": "Comparator",
            "type": "string"
          },
          "condition_type": {
            "default": "error_rate",
            "title": "Condition Type",
            "type": "string"
          },
          "identity_id": {
            "default": "",
            "title": "Identity Id",
            "type": "string"
          },
          "name": {
            "default": "unsaved-rule",
            "title": "Name",
            "type": "string"
          },
          "notification_channel": {
            "default": "log",
            "title": "Notification Channel",
            "type": "string"
          },
          "source_id": {
            "default": "",
            "title": "Source Id",
            "type": "string"
          },
          "threshold": {
            "default": 0.1,
            "title": "Threshold",
            "type": "number"
          },
          "window_seconds": {
            "default": 300,
            "title": "Window Seconds",
            "type": "integer"
          }
        },
        "title": "Body_dry_run_alert_rule_dashboard_alerts_dry_run_post",
        "type": "object"
      },
      "Body_import_policies_apply_dashboard_policies_import_apply_post": {
        "properties": {
          "policy_payload": {
            "default": "",
            "title": "Policy Payload",
            "type": "string"
          }
        },
        "title": "Body_import_policies_apply_dashboard_policies_import_apply_post",
        "type": "object"
      },
      "Body_import_policies_compat_preview_dashboard_policies_import_post": {
        "properties": {
          "policy_payload": {
            "default": "",
            "title": "Policy Payload",
            "type": "string"
          }
        },
        "title": "Body_import_policies_compat_preview_dashboard_policies_import_post",
        "type": "object"
      },
      "Body_import_policies_preview_dashboard_policies_import_preview_post": {
        "properties": {
          "policy_payload": {
            "default": "",
            "title": "Policy Payload",
            "type": "string"
          }
        },
        "title": "Body_import_policies_preview_dashboard_policies_import_preview_post",
        "type": "object"
      },
      "Body_login_auth_login_post": {
        "properties": {
          "password": {
            "title": "Password",
            "type": "string"
          },
          "username": {
            "title": "Username",
            "type": "string"
          }
        },
        "required": [
          "username",
          "password"
        ],
        "title": "Body_login_auth_login_post",
        "type": "object"
      },
      "Body_policy_dry_run_dashboard_policies_dry_run_post": {
        "properties": {
          "classification_tags": {
            "default": "",
            "title": "Classification Tags",
            "type": "string"
          },
          "columns": {
            "default": "",
            "title": "Columns",
            "type": "string"
          },
          "identity_id": {
            "default": "",
            "title": "Identity Id",
            "type": "string"
          },
          "method": {
            "default": "",
            "title": "Method",
            "type": "string"
          },
          "operation": {
            "default": "read",
            "title": "Operation",
            "type": "string"
          },
          "path": {
            "default": "",
            "title": "Path",
            "type": "string"
          },
          "source_id": {
            "default": "",
            "title": "Source Id",
            "type": "string"
          },
          "sql": {
            "default": "",
            "title": "Sql",
            "type": "string"
          },
          "tables": {
            "default": "",
            "title": "Tables",
            "type": "string"
          }
        },
        "title": "Body_policy_dry_run_dashboard_policies_dry_run_post",
        "type": "object"
      },
      "Body_set_theme_dashboard_theme_post": {
        "properties": {
          "next": {
            "default": "/dashboard/overview",
            "title": "Next",
            "type": "string"
          },
          "theme": {
            "default": "",
            "title": "Theme",
            "type": "string"
          }
        },
        "title": "Body_set_theme_dashboard_theme_post",
        "type": "object"
      },
      "Body_test_new_data_source_dashboard_data_sources_test_post": {
        "properties": {
          "auth_header": {
            "default": "",
            "title": "Auth Header",
            "type": "string"
          },
          "base_url": {
            "default": "",
            "title": "Base Url",
            "type": "string"
          },
          "connector_key": {
            "default": "",
            "title": "Connector Key",
            "type": "string"
          },
          "database": {
            "default": "",
            "title": "Database",
            "type": "string"
          },
          "host": {
            "default": "",
            "title": "Host",
            "type": "string"
          },
          "password": {
            "default": "",
            "title": "Password",
            "type": "string"
          },
          "password_ref": {
            "default": "",
            "title": "Password Ref",
            "type": "string"
          },
          "port": {
            "default": 5432,
            "title": "Port",
            "type": "integer"
          },
          "source_type": {
            "title": "Source Type",
            "type": "string"
          },
          "token": {
            "default": "",
            "title": "Token",
            "type": "string"
          },
          "token_ref": {
            "default": "",
            "title": "Token Ref",
            "type": "string"
          },
          "user": {
            "default": "",
            "title": "User",
            "type": "string"
          }
        },
        "required": [
          "source_type"
        ],
        "title": "Body_test_new_data_source_dashboard_data_sources_test_post",
        "type": "object"
      },
      "Body_update_policy_form_dashboard_policies__policy_id__update_post": {
        "properties": {
          "action_effect": {
            "default": "allow",
            "title": "Action Effect",
            "type": "string"
          },
          "action_rate_limit": {
            "default": "",
            "title": "Action Rate Limit",
            "type": "string"
          },
          "action_redact_columns": {
            "default": "",
            "title": "Action Redact Columns",
            "type": "string"
          },
          "cond_columns": {
            "default": "",
            "title": "Cond Columns",
            "type": "string"
          },
          "cond_identity_roles": {
            "default": "",
            "title": "Cond Identity Roles",
            "type": "string"
          },
          "cond_operation": {
            "default": "",
            "title": "Cond Operation",
            "type": "string"
          },
          "cond_roles": {
            "default": "",
            "title": "Cond Roles",
            "type": "string"
          },
          "cond_source_id": {
            "default": "",
            "title": "Cond Source Id",
            "type": "string"
          },
          "cond_tables": {
            "default": "",
            "title": "Cond Tables",
            "type": "string"
          },
          "name": {
            "title": "Name",
            "type": "string"
          },
          "priority": {
            "default": 0,
            "title": "Priority",
            "type": "integer"
          },
          "raw_actions": {
            "default": "",
            "title": "Raw Actions",
            "type": "string"
          },
          "raw_conditions": {
            "default": "",
            "title": "Raw Conditions",
            "type": "string"
          }
        },
        "required": [
          "name"
        ],
        "title": "Body_update_policy_form_dashboard_policies__policy_id__update_post",
        "type": "object"
      },
      "ConnectionTestResult": {
        "properties": {
          "error": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Error"
          },
          "latency_ms": {
            "title": "Latency Ms",
            "type": "number"
          },
          "ok": {
            "title": "Ok",
            "type": "boolean"
          }
        },
        "required": [
          "ok",
          "latency_ms"
        ],
        "title": "ConnectionTestResult",
        "type": "object"
      },
      "DataSourceCreate": {
        "properties": {
          "cache_strategy": {
            "default": "deterministic_first",
            "title": "Cache Strategy",
            "type": "string"
          },
          "connection_config": {
            "additionalProperties": true,
            "title": "Connection Config",
            "type": "object"
          },
          "connector_key": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Connector Key"
          },
          "enabled": {
            "default": true,
            "title": "Enabled",
            "type": "boolean"
          },
          "metadata": {
            "additionalProperties": true,
            "title": "Metadata",
            "type": "object"
          },
          "name": {
            "title": "Name",
            "type": "string"
          },
          "source_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Source Id"
          },
          "source_type": {
            "title": "Source Type",
            "type": "string"
          }
        },
        "required": [
          "name",
          "source_type"
        ],
        "title": "DataSourceCreate",
        "type": "object"
      },
      "DataSourceResponse": {
        "properties": {
          "cache_strategy": {
            "title": "Cache Strategy",
            "type": "string"
          },
          "connection_config": {
            "additionalProperties": true,
            "title": "Connection Config",
            "type": "object"
          },
          "created_at": {
            "anyOf": [
              {
                "format": "date-time",
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Created At"
          },
          "enabled": {
            "title": "Enabled",
            "type": "boolean"
          },
          "id": {
            "title": "Id",
            "type": "integer"
          },
          "metadata": {
            "additionalProperties": true,
            "title": "Metadata",
            "type": "object"
          },
          "name": {
            "title": "Name",
            "type": "string"
          },
          "source_id": {
            "title": "Source Id",
            "type": "string"
          },
          "source_type": {
            "title": "Source Type",
            "type": "string"
          },
          "updated_at": {
            "anyOf": [
              {
                "format": "date-time",
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Updated At"
          }
        },
        "required": [
          "id",
          "source_id",
          "name",
          "source_type",
          "connection_config",
          "cache_strategy",
          "enabled",
          "metadata"
        ],
        "title": "DataSourceResponse",
        "type": "object"
      },
      "DataSourceUpdate": {
        "properties": {
          "cache_strategy": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Cache Strategy"
          },
          "connection_config": {
            "anyOf": [
              {
                "additionalProperties": true,
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "title": "Connection Config"
          },
          "enabled": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "Enabled"
          },
          "metadata": {
            "anyOf": [
              {
                "additionalProperties": true,
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "title": "Metadata"
          },
          "name": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Name"
          },
          "source_type": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Source Type"
          }
        },
        "title": "DataSourceUpdate",
        "type": "object"
      },
      "HTTPValidationError": {
        "properties": {
          "detail": {
            "items": {
              "$ref": "#/components/schemas/ValidationError"
            },
            "title": "Detail",
            "type": "array"
          }
        },
        "title": "HTTPValidationError",
        "type": "object"
      },
      "IdentityCreate": {
        "properties": {
          "agent_type": {
            "default": "custom",
            "title": "Agent Type",
            "type": "string"
          },
          "api_key": {
            "title": "Api Key",
            "type": "string"
          },
          "enabled": {
            "default": true,
            "title": "Enabled",
            "type": "boolean"
          },
          "mapped_pg_role": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Mapped Pg Role"
          },
          "metadata": {
            "additionalProperties": true,
            "title": "Metadata",
            "type": "object"
          },
          "name": {
            "title": "Name",
            "type": "string"
          },
          "roles": {
            "items": {
              "type": "string"
            },
            "title": "Roles",
            "type": "array"
          },
          "team": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Team"
          }
        },
        "required": [
          "name",
          "api_key"
        ],
        "title": "IdentityCreate",
        "type": "object"
      },
      "IdentityResponse": {
        "description": "Response model - deliberately excludes api_key_hash.",
        "properties": {
          "agent_type": {
            "title": "Agent Type",
            "type": "string"
          },
          "created_at": {
            "anyOf": [
              {
                "format": "date-time",
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Created At"
          },
          "enabled": {
            "title": "Enabled",
            "type": "boolean"
          },
          "id": {
            "title": "Id",
            "type": "integer"
          },
          "mapped_pg_role": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Mapped Pg Role"
          },
          "metadata": {
            "additionalProperties": true,
            "title": "Metadata",
            "type": "object"
          },
          "name": {
            "title": "Name",
            "type": "string"
          },
          "roles": {
            "items": {
              "type": "string"
            },
            "title": "Roles",
            "type": "array"
          },
          "team": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Team"
          },
          "updated_at": {
            "anyOf": [
              {
                "format": "date-time",
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Updated At"
          }
        },
        "required": [
          "id",
          "name",
          "agent_type",
          "roles",
          "enabled",
          "metadata"
        ],
        "title": "IdentityResponse",
        "type": "object"
      },
      "IdentityUpdate": {
        "properties": {
          "agent_type": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Agent Type"
          },
          "enabled": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "Enabled"
          },
          "mapped_pg_role": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Mapped Pg Role"
          },
          "metadata": {
            "anyOf": [
              {
                "additionalProperties": true,
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "title": "Metadata"
          },
          "name": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Name"
          },
          "roles": {
            "anyOf": [
              {
                "items": {
                  "type": "string"
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "Roles"
          },
          "team": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Team"
          }
        },
        "title": "IdentityUpdate",
        "type": "object"
      },
      "JobCreate": {
        "properties": {
          "file_path": {
            "title": "File Path",
            "type": "string"
          },
          "metadata": {
            "additionalProperties": true,
            "title": "Metadata",
            "type": "object"
          },
          "priority_score": {
            "default": 0.0,
            "title": "Priority Score",
            "type": "number"
          },
          "source_id": {
            "title": "Source Id",
            "type": "string"
          }
        },
        "required": [
          "source_id",
          "file_path"
        ],
        "title": "JobCreate",
        "type": "object"
      },
      "JobPriorityUpdate": {
        "properties": {
          "priority_score": {
            "title": "Priority Score",
            "type": "number"
          }
        },
        "required": [
          "priority_score"
        ],
        "title": "JobPriorityUpdate",
        "type": "object"
      },
      "JobResponse": {
        "properties": {
          "completed_at": {
            "anyOf": [
              {
                "format": "date-time",
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Completed At"
          },
          "created_at": {
            "anyOf": [
              {
                "format": "date-time",
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Created At"
          },
          "error_message": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Error Message"
          },
          "file_path": {
            "title": "File Path",
            "type": "string"
          },
          "id": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "string"
              }
            ],
            "title": "Id"
          },
          "last_error_at": {
            "anyOf": [
              {
                "format": "date-time",
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Last Error At"
          },
          "lease_expires_at": {
            "anyOf": [
              {
                "format": "date-time",
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Lease Expires At"
          },
          "llm_cost": {
            "default": 0.0,
            "title": "Llm Cost",
            "type": "number"
          },
          "metadata": {
            "additionalProperties": true,
            "title": "Metadata",
            "type": "object"
          },
          "ocr_cost": {
            "default": 0.0,
            "title": "Ocr Cost",
            "type": "number"
          },
          "ocr_pages": {
            "default": 0,
            "title": "Ocr Pages",
            "type": "integer"
          },
          "priority_score": {
            "default": 0.0,
            "title": "Priority Score",
            "type": "number"
          },
          "progress_current": {
            "default": 0,
            "title": "Progress Current",
            "type": "integer"
          },
          "progress_total": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Progress Total"
          },
          "retry_count": {
            "default": 0,
            "title": "Retry Count",
            "type": "integer"
          },
          "source_id": {
            "title": "Source Id",
            "type": "string"
          },
          "stage": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Stage"
          },
          "started_at": {
            "anyOf": [
              {
                "format": "date-time",
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Started At"
          },
          "status": {
            "title": "Status",
            "type": "string"
          },
          "updated_at": {
            "anyOf": [
              {
                "format": "date-time",
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Updated At"
          },
          "worker_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Worker Id"
          }
        },
        "required": [
          "id",
          "source_id",
          "file_path",
          "status"
        ],
        "title": "JobResponse",
        "type": "object"
      },
      "OIDCSubjectMapping": {
        "properties": {
          "email": {
            "anyOf": [
              {
                "maxLength": 320,
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Email"
          },
          "subject": {
            "maxLength": 512,
            "minLength": 1,
            "title": "Subject",
            "type": "string"
          }
        },
        "required": [
          "subject"
        ],
        "title": "OIDCSubjectMapping",
        "type": "object"
      },
      "PolicyCreate": {
        "properties": {
          "actions": {
            "additionalProperties": true,
            "title": "Actions",
            "type": "object"
          },
          "conditions": {
            "additionalProperties": true,
            "title": "Conditions",
            "type": "object"
          },
          "enabled": {
            "default": true,
            "title": "Enabled",
            "type": "boolean"
          },
          "name": {
            "title": "Name",
            "type": "string"
          },
          "priority": {
            "default": 0,
            "title": "Priority",
            "type": "integer"
          }
        },
        "required": [
          "name",
          "conditions",
          "actions"
        ],
        "title": "PolicyCreate",
        "type": "object"
      },
      "PolicyResponse": {
        "properties": {
          "actions": {
            "additionalProperties": true,
            "title": "Actions",
            "type": "object"
          },
          "conditions": {
            "additionalProperties": true,
            "title": "Conditions",
            "type": "object"
          },
          "created_at": {
            "anyOf": [
              {
                "format": "date-time",
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Created At"
          },
          "enabled": {
            "title": "Enabled",
            "type": "boolean"
          },
          "id": {
            "title": "Id",
            "type": "integer"
          },
          "name": {
            "title": "Name",
            "type": "string"
          },
          "priority": {
            "title": "Priority",
            "type": "integer"
          }
        },
        "required": [
          "id",
          "name",
          "priority",
          "conditions",
          "actions",
          "enabled"
        ],
        "title": "PolicyResponse",
        "type": "object"
      },
      "PolicyUpdate": {
        "properties": {
          "actions": {
            "anyOf": [
              {
                "additionalProperties": true,
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "title": "Actions"
          },
          "conditions": {
            "anyOf": [
              {
                "additionalProperties": true,
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "title": "Conditions"
          },
          "enabled": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "Enabled"
          },
          "name": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Name"
          },
          "priority": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Priority"
          }
        },
        "title": "PolicyUpdate",
        "type": "object"
      },
      "SourceRoleGrantCreate": {
        "properties": {
          "expires_at": {
            "anyOf": [
              {
                "format": "date-time",
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Expires At"
          },
          "role_id": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Role Id"
          },
          "role_key": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Role Key"
          },
          "source_id": {
            "minLength": 1,
            "title": "Source Id",
            "type": "string"
          }
        },
        "required": [
          "source_id"
        ],
        "title": "SourceRoleGrantCreate",
        "type": "object"
      },
      "SourceRoleGrantResponse": {
        "properties": {
          "enabled": {
            "title": "Enabled",
            "type": "boolean"
          },
          "expires_at": {
            "anyOf": [
              {
                "format": "date-time",
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Expires At"
          },
          "granted_by": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Granted By"
          },
          "id": {
            "title": "Id",
            "type": "integer"
          },
          "identity_id": {
            "title": "Identity Id",
            "type": "integer"
          },
          "role_id": {
            "title": "Role Id",
            "type": "integer"
          },
          "role_key": {
            "title": "Role Key",
            "type": "string"
          },
          "source_id": {
            "title": "Source Id",
            "type": "string"
          }
        },
        "required": [
          "id",
          "identity_id",
          "source_id",
          "role_id",
          "role_key",
          "enabled",
          "expires_at",
          "granted_by"
        ],
        "title": "SourceRoleGrantResponse",
        "type": "object"
      },
      "SourceSyncResponse": {
        "properties": {
          "assets_seen": {
            "title": "Assets Seen",
            "type": "integer"
          },
          "connector_key": {
            "title": "Connector Key",
            "type": "string"
          },
          "jobs_created": {
            "title": "Jobs Created",
            "type": "integer"
          },
          "jobs_requeued": {
            "default": 0,
            "title": "Jobs Requeued",
            "type": "integer"
          },
          "source_id": {
            "title": "Source Id",
            "type": "string"
          }
        },
        "required": [
          "source_id",
          "connector_key",
          "assets_seen",
          "jobs_created"
        ],
        "title": "SourceSyncResponse",
        "type": "object"
      },
      "TestConnectionRequest": {
        "description": "Body for the Test Connection probe endpoint.\n\nSame shape as ``DataSourceCreate`` minus the requirement on\n``source_id`` (the connection is not persisted).",
        "properties": {
          "connection_config": {
            "additionalProperties": true,
            "title": "Connection Config",
            "type": "object"
          },
          "connector_key": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Connector Key"
          },
          "name": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Name"
          },
          "source_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Source Id"
          },
          "source_type": {
            "title": "Source Type",
            "type": "string"
          }
        },
        "required": [
          "source_type"
        ],
        "title": "TestConnectionRequest",
        "type": "object"
      },
      "ValidationError": {
        "properties": {
          "ctx": {
            "title": "Context",
            "type": "object"
          },
          "input": {
            "title": "Input"
          },
          "loc": {
            "items": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "integer"
                }
              ]
            },
            "title": "Location",
            "type": "array"
          },
          "msg": {
            "title": "Message",
            "type": "string"
          },
          "type": {
            "title": "Error Type",
            "type": "string"
          }
        },
        "required": [
          "loc",
          "msg",
          "type"
        ],
        "title": "ValidationError",
        "type": "object"
      },
      "WorkerHealthResponse": {
        "properties": {
          "alive": {
            "title": "Alive",
            "type": "boolean"
          },
          "last_heartbeat": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "type": "null"
              }
            ],
            "title": "Last Heartbeat"
          },
          "stale_jobs_failed": {
            "default": 0,
            "title": "Stale Jobs Failed",
            "type": "integer"
          },
          "worker_id": {
            "title": "Worker Id",
            "type": "string"
          }
        },
        "required": [
          "worker_id",
          "alive"
        ],
        "title": "WorkerHealthResponse",
        "type": "object"
      },
      "WorkerStatus": {
        "properties": {
          "last_heartbeat": {
            "title": "Last Heartbeat",
            "type": "number"
          },
          "metadata": {
            "additionalProperties": true,
            "title": "Metadata",
            "type": "object"
          },
          "stale": {
            "default": false,
            "title": "Stale",
            "type": "boolean"
          },
          "worker_id": {
            "title": "Worker Id",
            "type": "string"
          }
        },
        "required": [
          "worker_id",
          "last_heartbeat"
        ],
        "title": "WorkerStatus",
        "type": "object"
      }
    }
  },
  "info": {
    "description": "Management plane for InterLock",
    "title": "InterLock Admin",
    "version": "1.0.0rc13"
  },
  "openapi": "3.1.0",
  "paths": {
    "/": {
      "get": {
        "description": "Redirect root to overview.",
        "operationId": "dashboard_index__get",
        "responses": {
          "200": {
            "content": {
              "text/html": {
                "schema": {
                  "type": "string"
                }
              }
            },
            "description": "Successful Response"
          }
        },
        "summary": "Dashboard Index",
        "tags": [
          "dashboard"
        ]
      }
    },
    "/api/admin-auth/oidc/admins/{admin_id}": {
      "delete": {
        "operationId": "delete_admin_mapping_api_admin_auth_oidc_admins__admin_id__delete",
        "parameters": [
          {
            "in": "path",
            "name": "admin_id",
            "required": true,
            "schema": {
              "title": "Admin Id",
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "additionalProperties": true,
                  "title": "Response Delete Admin Mapping Api Admin Auth Oidc Admins  Admin Id  Delete",
                  "type": "object"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "Delete Admin Mapping",
        "tags": [
          "oidc-mappings"
        ]
      },
      "put": {
        "operationId": "set_admin_mapping_api_admin_auth_oidc_admins__admin_id__put",
        "parameters": [
          {
            "in": "path",
            "name": "admin_id",
            "required": true,
            "schema": {
              "title": "Admin Id",
              "type": "integer"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/OIDCSubjectMapping"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "additionalProperties": true,
                  "title": "Response Set Admin Mapping Api Admin Auth Oidc Admins  Admin Id  Put",
                  "type": "object"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "Set Admin Mapping",
        "tags": [
          "oidc-mappings"
        ]
      }
    },
    "/api/admin-auth/oidc/agents/{identity_id}": {
      "delete": {
        "operationId": "delete_agent_mapping_api_admin_auth_oidc_agents__identity_id__delete",
        "parameters": [
          {
            "in": "path",
            "name": "identity_id",
            "required": true,
            "schema": {
              "title": "Identity Id",
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "additionalProperties": true,
                  "title": "Response Delete Agent Mapping Api Admin Auth Oidc Agents  Identity Id  Delete",
                  "type": "object"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "Delete Agent Mapping",
        "tags": [
          "oidc-mappings"
        ]
      },
      "put": {
        "operationId": "set_agent_mapping_api_admin_auth_oidc_agents__identity_id__put",
        "parameters": [
          {
            "in": "path",
            "name": "identity_id",
            "required": true,
            "schema": {
              "title": "Identity Id",
              "type": "integer"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/OIDCSubjectMapping"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "additionalProperties": true,
                  "title": "Response Set Agent Mapping Api Admin Auth Oidc Agents  Identity Id  Put",
                  "type": "object"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "Set Agent Mapping",
        "tags": [
          "oidc-mappings"
        ]
      }
    },
    "/api/approvals": {
      "get": {
        "operationId": "list_approvals_api_approvals_get",
        "parameters": [
          {
            "in": "query",
            "name": "status",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "pattern": "^(pending|approved|rejected|expired|executed|failed)$",
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Status"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/ApprovalResponse"
                  },
                  "title": "Response List Approvals Api Approvals Get",
                  "type": "array"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "List Approvals",
        "tags": [
          "approvals"
        ]
      }
    },
    "/api/approvals/{approval_id}": {
      "get": {
        "operationId": "get_approval_api_approvals__approval_id__get",
        "parameters": [
          {
            "in": "path",
            "name": "approval_id",
            "required": true,
            "schema": {
              "title": "Approval Id",
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApprovalResponse"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "Get Approval",
        "tags": [
          "approvals"
        ]
      }
    },
    "/api/approvals/{approval_id}/approve": {
      "post": {
        "operationId": "approve_approval_api_approvals__approval_id__approve_post",
        "parameters": [
          {
            "in": "path",
            "name": "approval_id",
            "required": true,
            "schema": {
              "title": "Approval Id",
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApprovalActionResponse"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "Approve Approval",
        "tags": [
          "approvals"
        ]
      }
    },
    "/api/approvals/{approval_id}/reject": {
      "post": {
        "operationId": "reject_approval_api_approvals__approval_id__reject_post",
        "parameters": [
          {
            "in": "path",
            "name": "approval_id",
            "required": true,
            "schema": {
              "title": "Approval Id",
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApprovalActionResponse"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "Reject Approval",
        "tags": [
          "approvals"
        ]
      }
    },
    "/api/catalog/naming-report": {
      "get": {
        "description": "Role statements and deny policies whose meaning catalog naming changes.",
        "operationId": "catalog_naming_report_api_catalog_naming_report_get",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "additionalProperties": true,
                  "title": "Response Catalog Naming Report Api Catalog Naming Report Get",
                  "type": "object"
                }
              }
            },
            "description": "Successful Response"
          }
        },
        "summary": "Catalog Naming Report",
        "tags": [
          "catalog"
        ]
      }
    },
    "/api/connectors": {
      "get": {
        "description": "Every connector a source can be registered on, with `active` and usage.",
        "operationId": "list_connectors_api_connectors_get",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "items": {
                    "additionalProperties": true,
                    "type": "object"
                  },
                  "title": "Response List Connectors Api Connectors Get",
                  "type": "array"
                }
              }
            },
            "description": "Successful Response"
          }
        },
        "summary": "List Connectors",
        "tags": [
          "connectors"
        ]
      }
    },
    "/api/data-sources": {
      "get": {
        "operationId": "list_data_sources_api_data_sources_get",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/DataSourceResponse"
                  },
                  "title": "Response List Data Sources Api Data Sources Get",
                  "type": "array"
                }
              }
            },
            "description": "Successful Response"
          }
        },
        "summary": "List Data Sources",
        "tags": [
          "data-sources"
        ]
      },
      "post": {
        "operationId": "create_data_source_api_data_sources_post",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/DataSourceCreate"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DataSourceResponse"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "Create Data Source",
        "tags": [
          "data-sources"
        ]
      }
    },
    "/api/data-sources/test": {
      "post": {
        "description": "Probe an upstream's connectivity without persisting it.\n\nUsed by the source-onboarding UI. Does NOT touch the database;\nsafe to call repeatedly.",
        "operationId": "test_connection_api_data_sources_test_post",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/TestConnectionRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ConnectionTestResult"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "Test Connection",
        "tags": [
          "data-sources"
        ]
      }
    },
    "/api/data-sources/{source_id}": {
      "delete": {
        "operationId": "delete_data_source_api_data_sources__source_id__delete",
        "parameters": [
          {
            "in": "path",
            "name": "source_id",
            "required": true,
            "schema": {
              "title": "Source Id",
              "type": "string"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "Delete Data Source",
        "tags": [
          "data-sources"
        ]
      },
      "get": {
        "operationId": "get_data_source_api_data_sources__source_id__get",
        "parameters": [
          {
            "in": "path",
            "name": "source_id",
            "required": true,
            "schema": {
              "title": "Source Id",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DataSourceResponse"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "Get Data Source",
        "tags": [
          "data-sources"
        ]
      },
      "put": {
        "operationId": "update_data_source_api_data_sources__source_id__put",
        "parameters": [
          {
            "in": "path",
            "name": "source_id",
            "required": true,
            "schema": {
              "title": "Source Id",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/DataSourceUpdate"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DataSourceResponse"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "Update Data Source",
        "tags": [
          "data-sources"
        ]
      }
    },
    "/api/data-sources/{source_id}/catalog/scans": {
      "get": {
        "description": "The source's recent scans, newest first.",
        "operationId": "list_catalog_scans_api_data_sources__source_id__catalog_scans_get",
        "parameters": [
          {
            "in": "path",
            "name": "source_id",
            "required": true,
            "schema": {
              "title": "Source Id",
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "limit",
            "required": false,
            "schema": {
              "default": 20,
              "title": "Limit",
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "items": {
                    "additionalProperties": true,
                    "type": "object"
                  },
                  "title": "Response List Catalog Scans Api Data Sources  Source Id  Catalog Scans Get",
                  "type": "array"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "List Catalog Scans",
        "tags": [
          "data-sources"
        ]
      },
      "post": {
        "description": "Queue a scan of the source's structure now, rather than waiting for the\nnext save or scheduled refresh. Idempotent: a scan already waiting is\nreturned rather than a second one queued.",
        "operationId": "request_catalog_scan_api_data_sources__source_id__catalog_scans_post",
        "parameters": [
          {
            "in": "path",
            "name": "source_id",
            "required": true,
            "schema": {
              "title": "Source Id",
              "type": "string"
            }
          }
        ],
        "responses": {
          "202": {
            "content": {
              "application/json": {
                "schema": {
                  "additionalProperties": true,
                  "title": "Response Request Catalog Scan Api Data Sources  Source Id  Catalog Scans Post",
                  "type": "object"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "Request Catalog Scan",
        "tags": [
          "data-sources"
        ]
      }
    },
    "/api/data-sources/{source_id}/test": {
      "post": {
        "description": "Probe a previously registered source.",
        "operationId": "test_registered_source_api_data_sources__source_id__test_post",
        "parameters": [
          {
            "in": "path",
            "name": "source_id",
            "required": true,
            "schema": {
              "title": "Source Id",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ConnectionTestResult"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "Test Registered Source",
        "tags": [
          "data-sources"
        ]
      }
    },
    "/api/identities": {
      "get": {
        "operationId": "list_identities_api_identities_get",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/IdentityResponse"
                  },
                  "title": "Response List Identities Api Identities Get",
                  "type": "array"
                }
              }
            },
            "description": "Successful Response"
          }
        },
        "summary": "List Identities",
        "tags": [
          "identities"
        ]
      },
      "post": {
        "operationId": "create_identity_api_identities_post",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/IdentityCreate"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/IdentityResponse"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "Create Identity",
        "tags": [
          "identities"
        ]
      }
    },
    "/api/identities/{identity_id}": {
      "delete": {
        "operationId": "delete_identity_api_identities__identity_id__delete",
        "parameters": [
          {
            "in": "path",
            "name": "identity_id",
            "required": true,
            "schema": {
              "title": "Identity Id",
              "type": "integer"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "Delete Identity",
        "tags": [
          "identities"
        ]
      },
      "get": {
        "operationId": "get_identity_api_identities__identity_id__get",
        "parameters": [
          {
            "in": "path",
            "name": "identity_id",
            "required": true,
            "schema": {
              "title": "Identity Id",
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/IdentityResponse"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "Get Identity",
        "tags": [
          "identities"
        ]
      },
      "put": {
        "operationId": "update_identity_api_identities__identity_id__put",
        "parameters": [
          {
            "in": "path",
            "name": "identity_id",
            "required": true,
            "schema": {
              "title": "Identity Id",
              "type": "integer"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/IdentityUpdate"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/IdentityResponse"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "Update Identity",
        "tags": [
          "identities"
        ]
      }
    },
    "/api/identities/{identity_id}/source-role-grants": {
      "get": {
        "description": "What this agent can reach. Revoked grants are history, not access, so\nthey are excluded unless asked for.",
        "operationId": "list_identity_grants_api_identities__identity_id__source_role_grants_get",
        "parameters": [
          {
            "in": "path",
            "name": "identity_id",
            "required": true,
            "schema": {
              "title": "Identity Id",
              "type": "integer"
            }
          },
          {
            "in": "query",
            "name": "include_revoked",
            "required": false,
            "schema": {
              "default": false,
              "title": "Include Revoked",
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/SourceRoleGrantResponse"
                  },
                  "title": "Response List Identity Grants Api Identities  Identity Id  Source Role Grants Get",
                  "type": "array"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "List Identity Grants",
        "tags": [
          "identities"
        ]
      },
      "post": {
        "description": "Grant a role on a source, without touching the identity's API key.\n\nIdempotent: granting a role the identity already holds restates its terms\nand re-enables it if it had been revoked.",
        "operationId": "create_identity_grant_api_identities__identity_id__source_role_grants_post",
        "parameters": [
          {
            "in": "path",
            "name": "identity_id",
            "required": true,
            "schema": {
              "title": "Identity Id",
              "type": "integer"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SourceRoleGrantCreate"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SourceRoleGrantResponse"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "Create Identity Grant",
        "tags": [
          "identities"
        ]
      }
    },
    "/api/identities/{identity_id}/source-role-grants/{grant_id}": {
      "delete": {
        "description": "Withdraw a grant. The row is kept, disabled.\n\nDeleting it would make \"did this agent ever hold access, and when was it\nwithdrawn\" unanswerable, which is the question an incident review asks.\nThe agent is not re-keyed and its other grants are untouched; the change\ntakes effect on its next request.",
        "operationId": "revoke_identity_grant_api_identities__identity_id__source_role_grants__grant_id__delete",
        "parameters": [
          {
            "in": "path",
            "name": "identity_id",
            "required": true,
            "schema": {
              "title": "Identity Id",
              "type": "integer"
            }
          },
          {
            "in": "path",
            "name": "grant_id",
            "required": true,
            "schema": {
              "title": "Grant Id",
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "additionalProperties": true,
                  "title": "Response Revoke Identity Grant Api Identities  Identity Id  Source Role Grants  Grant Id  Delete",
                  "type": "object"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "Revoke Identity Grant",
        "tags": [
          "identities"
        ]
      }
    },
    "/api/ingestion/jobs": {
      "get": {
        "description": "List ingestion jobs with optional status filter.",
        "operationId": "list_jobs_api_ingestion_jobs_get",
        "parameters": [
          {
            "in": "query",
            "name": "status",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Status"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/JobResponse"
                  },
                  "title": "Response List Jobs Api Ingestion Jobs Get",
                  "type": "array"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "List Jobs",
        "tags": [
          "ingestion"
        ]
      },
      "post": {
        "description": "Create a new ingestion job.",
        "operationId": "create_job_api_ingestion_jobs_post",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/JobCreate"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JobResponse"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "Create Job",
        "tags": [
          "ingestion"
        ]
      }
    },
    "/api/ingestion/jobs/{job_id}": {
      "get": {
        "description": "Get details for a single ingestion job.",
        "operationId": "get_job_api_ingestion_jobs__job_id__get",
        "parameters": [
          {
            "in": "path",
            "name": "job_id",
            "required": true,
            "schema": {
              "title": "Job Id",
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JobResponse"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "Get Job",
        "tags": [
          "ingestion"
        ]
      }
    },
    "/api/ingestion/jobs/{job_id}/cancel": {
      "post": {
        "description": "Cancel a queued ingestion job.",
        "operationId": "cancel_job_api_ingestion_jobs__job_id__cancel_post",
        "parameters": [
          {
            "in": "path",
            "name": "job_id",
            "required": true,
            "schema": {
              "title": "Job Id",
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JobResponse"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "Cancel Job",
        "tags": [
          "ingestion"
        ]
      }
    },
    "/api/ingestion/jobs/{job_id}/priority": {
      "put": {
        "description": "Update priority score for an ingestion job.",
        "operationId": "update_priority_api_ingestion_jobs__job_id__priority_put",
        "parameters": [
          {
            "in": "path",
            "name": "job_id",
            "required": true,
            "schema": {
              "title": "Job Id",
              "type": "integer"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/JobPriorityUpdate"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JobResponse"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "Update Priority",
        "tags": [
          "ingestion"
        ]
      }
    },
    "/api/ingestion/jobs/{job_id}/retry": {
      "post": {
        "description": "Retry a failed ingestion job by resetting it to the queued state.\n\nP2-F: schema uses ``status='queued'`` and ``error_message`` (not\n``status='pending'`` / ``error``). The previous implementation set\nfields that did not exist, so retries silently failed.",
        "operationId": "retry_job_api_ingestion_jobs__job_id__retry_post",
        "parameters": [
          {
            "in": "path",
            "name": "job_id",
            "required": true,
            "schema": {
              "title": "Job Id",
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JobResponse"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "Retry Job",
        "tags": [
          "ingestion"
        ]
      }
    },
    "/api/ingestion/sources/{source_id}/sync": {
      "post": {
        "description": "List connector assets and enqueue ingestion jobs.\n\nThis endpoint is intentionally connector-generic: adapters own how assets\nare listed, while the Admin API owns idempotently turning those assets into\nqueued worker jobs.",
        "operationId": "sync_source_assets_api_ingestion_sources__source_id__sync_post",
        "parameters": [
          {
            "in": "path",
            "name": "source_id",
            "required": true,
            "schema": {
              "title": "Source Id",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SourceSyncResponse"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "Sync Source Assets",
        "tags": [
          "ingestion"
        ]
      }
    },
    "/api/ingestion/workers": {
      "get": {
        "description": "List worker status from Redis heartbeat keys.",
        "operationId": "list_workers_api_ingestion_workers_get",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/WorkerStatus"
                  },
                  "title": "Response List Workers Api Ingestion Workers Get",
                  "type": "array"
                }
              }
            },
            "description": "Successful Response"
          }
        },
        "summary": "List Workers",
        "tags": [
          "ingestion"
        ]
      }
    },
    "/api/ingestion/workers/{worker_id}/health": {
      "post": {
        "description": "Probe worker health. If heartbeat is stale, fail its claimed jobs.",
        "operationId": "probe_worker_health_api_ingestion_workers__worker_id__health_post",
        "parameters": [
          {
            "in": "path",
            "name": "worker_id",
            "required": true,
            "schema": {
              "title": "Worker Id",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/WorkerHealthResponse"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "Probe Worker Health",
        "tags": [
          "ingestion"
        ]
      }
    },
    "/api/policies": {
      "get": {
        "operationId": "list_policies_api_policies_get",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/PolicyResponse"
                  },
                  "title": "Response List Policies Api Policies Get",
                  "type": "array"
                }
              }
            },
            "description": "Successful Response"
          }
        },
        "summary": "List Policies",
        "tags": [
          "policies"
        ]
      },
      "post": {
        "operationId": "create_policy_api_policies_post",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PolicyCreate"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PolicyResponse"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "Create Policy",
        "tags": [
          "policies"
        ]
      }
    },
    "/api/policies/validate": {
      "post": {
        "description": "Catalog warnings for a policy rule, without saving it.\n\nBody: `{\"conditions\": {...}, \"actions\": {...}}` in the shape\n`/api/policies` stores. Warnings are advisory; nothing here refuses a rule.",
        "operationId": "validate_policy_api_policies_validate_post",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {}
              }
            },
            "description": "Successful Response"
          }
        },
        "summary": "Validate Policy",
        "tags": [
          "catalog"
        ]
      }
    },
    "/api/policies/{policy_id}": {
      "delete": {
        "operationId": "delete_policy_api_policies__policy_id__delete",
        "parameters": [
          {
            "in": "path",
            "name": "policy_id",
            "required": true,
            "schema": {
              "title": "Policy Id",
              "type": "integer"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "Delete Policy",
        "tags": [
          "policies"
        ]
      },
      "get": {
        "operationId": "get_policy_api_policies__policy_id__get",
        "parameters": [
          {
            "in": "path",
            "name": "policy_id",
            "required": true,
            "schema": {
              "title": "Policy Id",
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PolicyResponse"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "Get Policy",
        "tags": [
          "policies"
        ]
      },
      "put": {
        "operationId": "update_policy_api_policies__policy_id__put",
        "parameters": [
          {
            "in": "path",
            "name": "policy_id",
            "required": true,
            "schema": {
              "title": "Policy Id",
              "type": "integer"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PolicyUpdate"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PolicyResponse"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "Update Policy",
        "tags": [
          "policies"
        ]
      }
    },
    "/auth/change-password": {
      "get": {
        "operationId": "change_password_page_auth_change_password_get",
        "responses": {
          "200": {
            "content": {
              "text/html": {
                "schema": {
                  "type": "string"
                }
              }
            },
            "description": "Successful Response"
          }
        },
        "summary": "Change Password Page"
      },
      "post": {
        "operationId": "change_password_auth_change_password_post",
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "schema": {
                "$ref": "#/components/schemas/Body_change_password_auth_change_password_post"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {}
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "Change Password"
      }
    },
    "/auth/csrf": {
      "get": {
        "description": "Return the CSRF token for the current session (auth required).",
        "operationId": "csrf_auth_csrf_get",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {}
              }
            },
            "description": "Successful Response"
          }
        },
        "summary": "Csrf"
      }
    },
    "/auth/login": {
      "get": {
        "operationId": "login_page_auth_login_get",
        "parameters": [
          {
            "in": "query",
            "name": "reason",
            "required": false,
            "schema": {
              "default": "",
              "title": "Reason",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "text/html": {
                "schema": {
                  "type": "string"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "Login Page"
      },
      "post": {
        "operationId": "login_auth_login_post",
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "schema": {
                "$ref": "#/components/schemas/Body_login_auth_login_post"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {}
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "Login"
      }
    },
    "/auth/logout": {
      "post": {
        "operationId": "logout_auth_logout_post",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {}
              }
            },
            "description": "Successful Response"
          }
        },
        "summary": "Logout"
      }
    },
    "/auth/oidc/callback": {
      "get": {
        "description": "Complete OIDC login for an explicitly pre-provisioned Admin.",
        "operationId": "oidc_callback_auth_oidc_callback_get",
        "parameters": [
          {
            "in": "query",
            "name": "code",
            "required": false,
            "schema": {
              "default": "",
              "title": "Code",
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "state",
            "required": false,
            "schema": {
              "default": "",
              "title": "State",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {}
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "Oidc Callback"
      }
    },
    "/auth/oidc/login": {
      "get": {
        "description": "Start a one-time, Redis-backed OIDC authorization flow.",
        "operationId": "oidc_login_auth_oidc_login_get",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {}
              }
            },
            "description": "Successful Response"
          }
        },
        "summary": "Oidc Login"
      }
    },
    "/dashboard/access-control": {
      "get": {
        "description": "Backward-compatible URL for the split Access Control section.",
        "operationId": "access_control_page_alias_dashboard_access_control_get",
        "responses": {
          "200": {
            "content": {
              "text/html": {
                "schema": {
                  "type": "string"
                }
              }
            },
            "description": "Successful Response"
          }
        },
        "summary": "Access Control Page Alias",
        "tags": [
          "dashboard"
        ]
      }
    },
    "/dashboard/access-control/identities": {
      "get": {
        "description": "Identity directory.",
        "operationId": "identities_page_dashboard_access_control_identities_get",
        "responses": {
          "200": {
            "content": {
              "text/html": {
                "schema": {
                  "type": "string"
                }
              }
            },
            "description": "Successful Response"
          }
        },
        "summary": "Identities Page",
        "tags": [
          "dashboard"
        ]
      }
    },
    "/dashboard/access-control/identities/create": {
      "post": {
        "operationId": "create_identity_form_dashboard_access_control_identities_create_post",
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "schema": {
                "$ref": "#/components/schemas/Body_create_identity_form_dashboard_access_control_identities_create_post"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "text/html": {
                "schema": {
                  "type": "string"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "Create Identity Form",
        "tags": [
          "dashboard"
        ]
      }
    },
    "/dashboard/access-control/identities/new": {
      "get": {
        "operationId": "new_identity_form_dashboard_access_control_identities_new_get",
        "responses": {
          "200": {
            "content": {
              "text/html": {
                "schema": {
                  "type": "string"
                }
              }
            },
            "description": "Successful Response"
          }
        },
        "summary": "New Identity Form",
        "tags": [
          "dashboard"
        ]
      }
    },
    "/dashboard/access-control/identities/{ident_id}": {
      "get": {
        "operationId": "identity_detail_dashboard_access_control_identities__ident_id__get",
        "parameters": [
          {
            "in": "path",
            "name": "ident_id",
            "required": true,
            "schema": {
              "title": "Ident Id",
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "text/html": {
                "schema": {
                  "type": "string"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "Identity Detail",
        "tags": [
          "dashboard"
        ]
      }
    },
    "/dashboard/access-control/identities/{ident_id}/grants": {
      "post": {
        "description": "Give an existing identity a role on a source, without re-keying it.",
        "operationId": "grant_identity_source_role_dashboard_access_control_identities__ident_id__grants_post",
        "parameters": [
          {
            "in": "path",
            "name": "ident_id",
            "required": true,
            "schema": {
              "title": "Ident Id",
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "text/html": {
                "schema": {
                  "type": "string"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "Grant Identity Source Role",
        "tags": [
          "dashboard"
        ]
      }
    },
    "/dashboard/access-control/identities/{ident_id}/grants/{grant_id}/revoke": {
      "post": {
        "description": "Withdraw one grant. The key is untouched; the next request sees it.",
        "operationId": "revoke_identity_source_role_dashboard_access_control_identities__ident_id__grants__grant_id__revoke_post",
        "parameters": [
          {
            "in": "path",
            "name": "ident_id",
            "required": true,
            "schema": {
              "title": "Ident Id",
              "type": "integer"
            }
          },
          {
            "in": "path",
            "name": "grant_id",
            "required": true,
            "schema": {
              "title": "Grant Id",
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "text/html": {
                "schema": {
                  "type": "string"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "Revoke Identity Source Role",
        "tags": [
          "dashboard"
        ]
      }
    },
    "/dashboard/access-control/identities/{ident_id}/rotate-key": {
      "post": {
        "operationId": "rotate_identity_key_dashboard_access_control_identities__ident_id__rotate_key_post",
        "parameters": [
          {
            "in": "path",
            "name": "ident_id",
            "required": true,
            "schema": {
              "title": "Ident Id",
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "text/html": {
                "schema": {
                  "type": "string"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "Rotate Identity Key",
        "tags": [
          "dashboard"
        ]
      }
    },
    "/dashboard/alerts": {
      "get": {
        "operationId": "alerts_page_dashboard_alerts_get",
        "responses": {
          "200": {
            "content": {
              "text/html": {
                "schema": {
                  "type": "string"
                }
              }
            },
            "description": "Successful Response"
          }
        },
        "summary": "Alerts Page",
        "tags": [
          "dashboard"
        ]
      }
    },
    "/dashboard/alerts/create": {
      "post": {
        "operationId": "create_alert_rule_dashboard_alerts_create_post",
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "schema": {
                "$ref": "#/components/schemas/Body_create_alert_rule_dashboard_alerts_create_post"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "text/html": {
                "schema": {
                  "type": "string"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "Create Alert Rule",
        "tags": [
          "dashboard"
        ]
      }
    },
    "/dashboard/alerts/dry-run": {
      "post": {
        "operationId": "dry_run_alert_rule_dashboard_alerts_dry_run_post",
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "schema": {
                "$ref": "#/components/schemas/Body_dry_run_alert_rule_dashboard_alerts_dry_run_post"
              }
            }
          }
        },
        "responses": {
          "200": {
            "content": {
              "text/html": {
                "schema": {
                  "type": "string"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "Dry Run Alert Rule",
        "tags": [
          "dashboard"
        ]
      }
    },
    "/dashboard/alerts/history/{event_id}/ack": {
      "post": {
        "operationId": "acknowledge_alert_dashboard_alerts_history__event_id__ack_post",
        "parameters": [
          {
            "in": "path",
            "name": "event_id",
            "required": true,
            "schema": {
              "title": "Event Id",
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "text/html": {
                "schema": {
                  "type": "string"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "Acknowledge Alert",
        "tags": [
          "dashboard"
        ]
      }
    },
    "/dashboard/alerts/new": {
      "get": {
        "operationId": "new_alert_form_dashboard_alerts_new_get",
        "responses": {
          "200": {
            "content": {
              "text/html": {
                "schema": {
                  "type": "string"
                }
              }
            },
            "description": "Successful Response"
          }
        },
        "summary": "New Alert Form",
        "tags": [
          "dashboard"
        ]
      }
    },
    "/dashboard/alerts/{rule_id}/evaluate": {
      "post": {
        "description": "Manually evaluate a rule and record the result if it fires.",
        "operationId": "evaluate_alert_rule_dashboard_alerts__rule_id__evaluate_post",
        "parameters": [
          {
            "in": "path",
            "name": "rule_id",
            "required": true,
            "schema": {
              "title": "Rule Id",
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "text/html": {
                "schema": {
                  "type": "string"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "Evaluate Alert Rule",
        "tags": [
          "dashboard"
        ]
      }
    },
    "/dashboard/alerts/{rule_id}/toggle": {
      "post": {
        "operationId": "toggle_alert_rule_dashboard_alerts__rule_id__toggle_post",
        "parameters": [
          {
            "in": "path",
            "name": "rule_id",
            "required": true,
            "schema": {
              "title": "Rule Id",
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "text/html": {
                "schema": {
                  "type": "string"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "Toggle Alert Rule",
        "tags": [
          "dashboard"
        ]
      }
    },
    "/dashboard/audit-costs": {
      "get": {
        "description": "Audit log and usage breakdown page.",
        "operationId": "audit_costs_page_dashboard_audit_costs_get",
        "parameters": [
          {
            "in": "query",
            "name": "source",
            "required": false,
            "schema": {
              "default": "",
              "title": "Source",
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "operation",
            "required": false,
            "schema": {
              "default": "",
              "title": "Operation",
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "status",
            "required": false,
            "schema": {
              "default": "",
              "title": "Status",
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "identity_id",
            "required": false,
            "schema": {
              "default": "",
              "title": "Identity Id",
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "cache_tier",
            "required": false,
            "schema": {
              "default": "",
              "title": "Cache Tier",
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "pii",
            "required": false,
            "schema": {
              "default": "",
              "title": "Pii",
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "since",
            "required": false,
            "schema": {
              "default": "",
              "title": "Since",
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "until",
            "required": false,
            "schema": {
              "default": "",
              "title": "Until",
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "page",
            "required": false,
            "schema": {
              "default": 1,
              "title": "Page",
              "type": "integer"
            }
          },
          {
            "in": "query",
            "name": "usage_range",
            "required": false,
            "schema": {
              "default": "7d",
              "title": "Usage Range",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "text/html": {
                "schema": {
                  "type": "string"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "Audit Costs Page",
        "tags": [
          "dashboard"
        ]
      }
    },
    "/dashboard/audit-costs/events/{audit_id}": {
      "get": {
        "operationId": "audit_event_detail_dashboard_audit_costs_events__audit_id__get",
        "parameters": [
          {
            "in": "path",
            "name": "audit_id",
            "required": true,
            "schema": {
              "title": "Audit Id",
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "text/html": {
                "schema": {
                  "type": "string"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "Audit Event Detail",
        "tags": [
          "dashboard"
        ]
      }
    },
    "/dashboard/audit-costs/export.csv": {
      "get": {
        "description": "Stream the filtered audit log as CSV.\n\nHonours the same filters as the dashboard table. Caps output at\n``limit`` rows (default 100k) to protect the gateway and browser.\nThe download is streamed: rows are yielded in chunks of 1000 so\nmemory stays bounded regardless of result-set size.",
        "operationId": "audit_log_csv_export_dashboard_audit_costs_export_csv_get",
        "parameters": [
          {
            "in": "query",
            "name": "source",
            "required": false,
            "schema": {
              "default": "",
              "title": "Source",
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "operation",
            "required": false,
            "schema": {
              "default": "",
              "title": "Operation",
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "status",
            "required": false,
            "schema": {
              "default": "",
              "title": "Status",
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "identity_id",
            "required": false,
            "schema": {
              "default": "",
              "title": "Identity Id",
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "cache_tier",
            "required": false,
            "schema": {
              "default": "",
              "title": "Cache Tier",
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "pii",
            "required": false,
            "schema": {
              "default": "",
              "title": "Pii",
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "since",
            "required": false,
            "schema": {
              "default": "",
              "title": "Since",
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "until",
            "required": false,
            "schema": {
              "default": "",
              "title": "Until",
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "limit",
            "required": false,
            "schema": {
              "default": 100000,
              "title": "Limit",
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {}
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "Audit Log Csv Export",
        "tags": [
          "dashboard"
        ]
      }
    },
    "/dashboard/audit-costs/log": {
      "get": {
        "description": "HTMX partial for filtered audit log.",
        "operationId": "audit_log_partial_dashboard_audit_costs_log_get",
        "parameters": [
          {
            "in": "query",
            "name": "source",
            "required": false,
            "schema": {
              "default": "",
              "title": "Source",
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "operation",
            "required": false,
            "schema": {
              "default": "",
              "title": "Operation",
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "status",
            "required": false,
            "schema": {
              "default": "",
              "title": "Status",
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "identity_id",
            "required": false,
            "schema": {
              "default": "",
              "title": "Identity Id",
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "cache_tier",
            "required": false,
            "schema": {
              "default": "",
              "title": "Cache Tier",
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "pii",
            "required": false,
            "schema": {
              "default": "",
              "title": "Pii",
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "since",
            "required": false,
            "schema": {
              "default": "",
              "title": "Since",
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "until",
            "required": false,
            "schema": {
              "default": "",
              "title": "Until",
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "page",
            "required": false,
            "schema": {
              "default": 1,
              "title": "Page",
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "text/html": {
                "schema": {
                  "type": "string"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "Audit Log Partial",
        "tags": [
          "dashboard"
        ]
      }
    },
    "/dashboard/audit-costs/usage": {
      "get": {
        "description": "The usage section alone, for the range selector.",
        "operationId": "audit_usage_partial_dashboard_audit_costs_usage_get",
        "parameters": [
          {
            "in": "query",
            "name": "usage_range",
            "required": false,
            "schema": {
              "default": "7d",
              "title": "Usage Range",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "text/html": {
                "schema": {
                  "type": "string"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "Audit Usage Partial",
        "tags": [
          "dashboard"
        ]
      }
    },
    "/dashboard/catalog": {
      "get": {
        "operationId": "catalog_page_dashboard_catalog_get",
        "parameters": [
          {
            "in": "query",
            "name": "q",
            "required": false,
            "schema": {
              "default": "",
              "title": "Q",
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "source",
            "required": false,
            "schema": {
              "default": "",
              "title": "Source",
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "node_type",
            "required": false,
            "schema": {
              "default": "",
              "title": "Node Type",
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "classification",
            "required": false,
            "schema": {
              "default": "",
              "title": "Classification",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "text/html": {
                "schema": {
                  "type": "string"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "Catalog Page",
        "tags": [
          "catalog"
        ]
      }
    },
    "/dashboard/catalog/analytics": {
      "get": {
        "description": "Most-read tables, PII columns read, refusals and unused tables for one source.",
        "operationId": "catalog_analytics_dashboard_catalog_analytics_get",
        "parameters": [
          {
            "in": "query",
            "name": "source",
            "required": false,
            "schema": {
              "default": "",
              "title": "Source",
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "days",
            "required": false,
            "schema": {
              "default": 30,
              "title": "Days",
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "text/html": {
                "schema": {
                  "type": "string"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "Catalog Analytics",
        "tags": [
          "catalog"
        ]
      }
    },
    "/dashboard/catalog/children": {
      "get": {
        "operationId": "catalog_children_dashboard_catalog_children_get",
        "parameters": [
          {
            "in": "query",
            "name": "source_id",
            "required": true,
            "schema": {
              "title": "Source Id",
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "path",
            "required": false,
            "schema": {
              "default": "",
              "title": "Path",
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "pick",
            "required": false,
            "schema": {
              "default": false,
              "title": "Pick",
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "text/html": {
                "schema": {
                  "type": "string"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "Catalog Children",
        "tags": [
          "catalog"
        ]
      }
    },
    "/dashboard/catalog/picker": {
      "get": {
        "description": "The picker for a policy's source, once one is chosen and catalogued.",
        "operationId": "catalog_picker_dashboard_catalog_picker_get",
        "parameters": [
          {
            "in": "query",
            "name": "cond_source_id",
            "required": false,
            "schema": {
              "default": "",
              "title": "Cond Source Id",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "text/html": {
                "schema": {
                  "type": "string"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "Catalog Picker",
        "tags": [
          "catalog"
        ]
      }
    },
    "/dashboard/categories": {
      "get": {
        "description": "Category browser - taxonomy roots, including orphaned seeded paths.",
        "operationId": "categories_page_dashboard_categories_get",
        "responses": {
          "200": {
            "content": {
              "text/html": {
                "schema": {
                  "type": "string"
                }
              }
            },
            "description": "Successful Response"
          }
        },
        "summary": "Categories Page",
        "tags": [
          "dashboard"
        ]
      }
    },
    "/dashboard/categories/{path}/children": {
      "get": {
        "description": "HTMX partial: children of a category node (ltree direct children).",
        "operationId": "category_children_dashboard_categories__path__children_get",
        "parameters": [
          {
            "in": "path",
            "name": "path",
            "required": true,
            "schema": {
              "title": "Path",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "text/html": {
                "schema": {
                  "type": "string"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "Category Children",
        "tags": [
          "dashboard"
        ]
      }
    },
    "/dashboard/connectors": {
      "get": {
        "description": "Which connectors new sources can be registered on, and how many use each.",
        "operationId": "connectors_page_dashboard_connectors_get",
        "responses": {
          "200": {
            "content": {
              "text/html": {
                "schema": {
                  "type": "string"
                }
              }
            },
            "description": "Successful Response"
          }
        },
        "summary": "Connectors Page",
        "tags": [
          "dashboard"
        ]
      }
    },
    "/dashboard/connectors/{connector_key}/activation": {
      "post": {
        "description": "Activate or deactivate a connector for new sources. Existing sources keep working.",
        "operationId": "set_connector_activation_dashboard_connectors__connector_key__activation_post",
        "parameters": [
          {
            "in": "path",
            "name": "connector_key",
            "required": true,
            "schema": {
              "title": "Connector Key",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "text/html": {
                "schema": {
                  "type": "string"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "Set Connector Activation",
        "tags": [
          "dashboard"
        ]
      }
    },
    "/dashboard/data-sources": {
      "get": {
        "description": "Data sources listing with request counts.",
        "operationId": "data_sources_page_dashboard_data_sources_get",
        "responses": {
          "200": {
            "content": {
              "text/html": {
                "schema": {
                  "type": "string"
                }
              }
            },
            "description": "Successful Response"
          }
        },
        "summary": "Data Sources Page",
        "tags": [
          "dashboard"
        ]
      }
    },
    "/dashboard/data-sources/create": {
      "post": {
        "description": "Persist a new data source from a browser form submission.\n\nReplies with the updated data sources table partial on success or\nthe form partial with an error banner on failure.",
        "operationId": "create_data_source_form_dashboard_data_sources_create_post",
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "schema": {
                "$ref": "#/components/schemas/Body_create_data_source_form_dashboard_data_sources_create_post"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "text/html": {
                "schema": {
                  "type": "string"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "Create Data Source Form",
        "tags": [
          "dashboard"
        ]
      }
    },
    "/dashboard/data-sources/new": {
      "get": {
        "description": "Return the new-source form as a fragment or full Admin page.",
        "operationId": "new_data_source_form_dashboard_data_sources_new_get",
        "responses": {
          "200": {
            "content": {
              "text/html": {
                "schema": {
                  "type": "string"
                }
              }
            },
            "description": "Successful Response"
          }
        },
        "summary": "New Data Source Form",
        "tags": [
          "dashboard"
        ]
      }
    },
    "/dashboard/data-sources/test": {
      "post": {
        "description": "Probe the upstream and return the result strip partial.\n\nBound to the form's Test button. Does not persist.",
        "operationId": "test_new_data_source_dashboard_data_sources_test_post",
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "schema": {
                "$ref": "#/components/schemas/Body_test_new_data_source_dashboard_data_sources_test_post"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "text/html": {
                "schema": {
                  "type": "string"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "Test New Data Source",
        "tags": [
          "dashboard"
        ]
      }
    },
    "/dashboard/data-sources/{source_id}": {
      "get": {
        "operationId": "data_source_detail_dashboard_data_sources__source_id__get",
        "parameters": [
          {
            "in": "path",
            "name": "source_id",
            "required": true,
            "schema": {
              "title": "Source Id",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "text/html": {
                "schema": {
                  "type": "string"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "Data Source Detail",
        "tags": [
          "dashboard"
        ]
      }
    },
    "/dashboard/data-sources/{source_id}/catalog": {
      "get": {
        "operationId": "catalog_section_dashboard_data_sources__source_id__catalog_get",
        "parameters": [
          {
            "in": "path",
            "name": "source_id",
            "required": true,
            "schema": {
              "title": "Source Id",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "text/html": {
                "schema": {
                  "type": "string"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "Catalog Section",
        "tags": [
          "catalog"
        ]
      }
    },
    "/dashboard/data-sources/{source_id}/catalog/annotations": {
      "post": {
        "description": "Set, or clear with an empty value, the admin's classification of a node.\n\nAnnotations live apart from node rows, so a rescan never erases them, and\nan admin's decision always replaces the wizard's or the scanner's.",
        "operationId": "catalog_annotate_dashboard_data_sources__source_id__catalog_annotations_post",
        "parameters": [
          {
            "in": "path",
            "name": "source_id",
            "required": true,
            "schema": {
              "title": "Source Id",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "schema": {
                "$ref": "#/components/schemas/Body_catalog_annotate_dashboard_data_sources__source_id__catalog_annotations_post"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "text/html": {
                "schema": {
                  "type": "string"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "Catalog Annotate",
        "tags": [
          "catalog"
        ]
      }
    },
    "/dashboard/data-sources/{source_id}/catalog/changes/acknowledge": {
      "post": {
        "description": "Acknowledge one drift entry, or every open one when no id is given.",
        "operationId": "catalog_acknowledge_dashboard_data_sources__source_id__catalog_changes_acknowledge_post",
        "parameters": [
          {
            "in": "path",
            "name": "source_id",
            "required": true,
            "schema": {
              "title": "Source Id",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "schema": {
                "$ref": "#/components/schemas/Body_catalog_acknowledge_dashboard_data_sources__source_id__catalog_changes_acknowledge_post"
              }
            }
          }
        },
        "responses": {
          "200": {
            "content": {
              "text/html": {
                "schema": {
                  "type": "string"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "Catalog Acknowledge",
        "tags": [
          "catalog"
        ]
      }
    },
    "/dashboard/data-sources/{source_id}/catalog/rescan": {
      "post": {
        "operationId": "catalog_rescan_dashboard_data_sources__source_id__catalog_rescan_post",
        "parameters": [
          {
            "in": "path",
            "name": "source_id",
            "required": true,
            "schema": {
              "title": "Source Id",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "text/html": {
                "schema": {
                  "type": "string"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "Catalog Rescan",
        "tags": [
          "catalog"
        ]
      }
    },
    "/dashboard/data-sources/{source_id}/delete": {
      "post": {
        "operationId": "delete_data_source_from_dashboard_dashboard_data_sources__source_id__delete_post",
        "parameters": [
          {
            "in": "path",
            "name": "source_id",
            "required": true,
            "schema": {
              "title": "Source Id",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "text/html": {
                "schema": {
                  "type": "string"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "Delete Data Source From Dashboard",
        "tags": [
          "dashboard"
        ]
      }
    },
    "/dashboard/data-sources/{source_id}/edit": {
      "get": {
        "operationId": "edit_data_source_page_dashboard_data_sources__source_id__edit_get",
        "parameters": [
          {
            "in": "path",
            "name": "source_id",
            "required": true,
            "schema": {
              "title": "Source Id",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "text/html": {
                "schema": {
                  "type": "string"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "Edit Data Source Page",
        "tags": [
          "dashboard"
        ]
      },
      "post": {
        "operationId": "update_data_source_page_dashboard_data_sources__source_id__edit_post",
        "parameters": [
          {
            "in": "path",
            "name": "source_id",
            "required": true,
            "schema": {
              "title": "Source Id",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "text/html": {
                "schema": {
                  "type": "string"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "Update Data Source Page",
        "tags": [
          "dashboard"
        ]
      }
    },
    "/dashboard/data-sources/{source_id}/invalidate-cache": {
      "post": {
        "operationId": "invalidate_data_source_cache_dashboard_data_sources__source_id__invalidate_cache_post",
        "parameters": [
          {
            "in": "path",
            "name": "source_id",
            "required": true,
            "schema": {
              "title": "Source Id",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "text/html": {
                "schema": {
                  "type": "string"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "Invalidate Data Source Cache",
        "tags": [
          "dashboard"
        ]
      }
    },
    "/dashboard/data-sources/{source_id}/roles": {
      "get": {
        "operationId": "source_roles_page_dashboard_data_sources__source_id__roles_get",
        "parameters": [
          {
            "in": "path",
            "name": "source_id",
            "required": true,
            "schema": {
              "title": "Source Id",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "text/html": {
                "schema": {
                  "type": "string"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "Source Roles Page",
        "tags": [
          "dashboard"
        ]
      },
      "post": {
        "operationId": "create_source_role_dashboard_data_sources__source_id__roles_post",
        "parameters": [
          {
            "in": "path",
            "name": "source_id",
            "required": true,
            "schema": {
              "title": "Source Id",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "text/html": {
                "schema": {
                  "type": "string"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "Create Source Role",
        "tags": [
          "dashboard"
        ]
      }
    },
    "/dashboard/data-sources/{source_id}/roles/dry-run": {
      "post": {
        "operationId": "dry_run_source_role_dashboard_data_sources__source_id__roles_dry_run_post",
        "parameters": [
          {
            "in": "path",
            "name": "source_id",
            "required": true,
            "schema": {
              "title": "Source Id",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "text/html": {
                "schema": {
                  "type": "string"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "Dry Run Source Role",
        "tags": [
          "dashboard"
        ]
      }
    },
    "/dashboard/data-sources/{source_id}/roles/lint": {
      "post": {
        "operationId": "lint_role_dashboard_data_sources__source_id__roles_lint_post",
        "parameters": [
          {
            "in": "path",
            "name": "source_id",
            "required": true,
            "schema": {
              "title": "Source Id",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "text/html": {
                "schema": {
                  "type": "string"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "Lint Role",
        "tags": [
          "catalog"
        ]
      }
    },
    "/dashboard/data-sources/{source_id}/roles/new": {
      "get": {
        "operationId": "new_source_role_form_dashboard_data_sources__source_id__roles_new_get",
        "parameters": [
          {
            "in": "path",
            "name": "source_id",
            "required": true,
            "schema": {
              "title": "Source Id",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "text/html": {
                "schema": {
                  "type": "string"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "New Source Role Form",
        "tags": [
          "dashboard"
        ]
      }
    },
    "/dashboard/data-sources/{source_id}/roles/statement-row": {
      "get": {
        "description": "One statement row, re-rendered when its action or resource type changes.\n\nWith no statement in the query it is a new row seeded with the connector's\nfirst read action. A resource type the chosen action is never checked\nagainst is swapped for the action's first; the pattern and conditions are\nkept as typed.",
        "operationId": "source_role_statement_row_dashboard_data_sources__source_id__roles_statement_row_get",
        "parameters": [
          {
            "in": "path",
            "name": "source_id",
            "required": true,
            "schema": {
              "title": "Source Id",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "text/html": {
                "schema": {
                  "type": "string"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "Source Role Statement Row",
        "tags": [
          "dashboard"
        ]
      }
    },
    "/dashboard/data-sources/{source_id}/roles/{role_id}": {
      "post": {
        "operationId": "update_source_role_dashboard_data_sources__source_id__roles__role_id__post",
        "parameters": [
          {
            "in": "path",
            "name": "source_id",
            "required": true,
            "schema": {
              "title": "Source Id",
              "type": "string"
            }
          },
          {
            "in": "path",
            "name": "role_id",
            "required": true,
            "schema": {
              "title": "Role Id",
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "text/html": {
                "schema": {
                  "type": "string"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "Update Source Role",
        "tags": [
          "dashboard"
        ]
      }
    },
    "/dashboard/data-sources/{source_id}/roles/{role_id}/delete": {
      "post": {
        "description": "Delete a role nobody holds.\n\nRefused while any identity holds an active grant: deleting would cascade\nthrough `identity_source_role_grants` and silently revoke them. Revoked\ngrant rows do cascade, so the role, its statements and those rows are\nsnapshotted into the admin audit log first - that entry is the history\n`core/source_role_grants.py` promises a revoke keeps.",
        "operationId": "delete_source_role_dashboard_data_sources__source_id__roles__role_id__delete_post",
        "parameters": [
          {
            "in": "path",
            "name": "source_id",
            "required": true,
            "schema": {
              "title": "Source Id",
              "type": "string"
            }
          },
          {
            "in": "path",
            "name": "role_id",
            "required": true,
            "schema": {
              "title": "Role Id",
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "text/html": {
                "schema": {
                  "type": "string"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "Delete Source Role",
        "tags": [
          "dashboard"
        ]
      }
    },
    "/dashboard/data-sources/{source_id}/roles/{role_id}/edit": {
      "get": {
        "operationId": "edit_source_role_form_dashboard_data_sources__source_id__roles__role_id__edit_get",
        "parameters": [
          {
            "in": "path",
            "name": "source_id",
            "required": true,
            "schema": {
              "title": "Source Id",
              "type": "string"
            }
          },
          {
            "in": "path",
            "name": "role_id",
            "required": true,
            "schema": {
              "title": "Role Id",
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "text/html": {
                "schema": {
                  "type": "string"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "Edit Source Role Form",
        "tags": [
          "dashboard"
        ]
      }
    },
    "/dashboard/data-sources/{source_id}/test": {
      "post": {
        "description": "Probe a registered source. Returns the same strip the New Source form uses.",
        "operationId": "test_registered_source_form_dashboard_data_sources__source_id__test_post",
        "parameters": [
          {
            "in": "path",
            "name": "source_id",
            "required": true,
            "schema": {
              "title": "Source Id",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "text/html": {
                "schema": {
                  "type": "string"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "Test Registered Source Form",
        "tags": [
          "dashboard"
        ]
      }
    },
    "/dashboard/data-sources/{source_id}/toggle-enabled": {
      "post": {
        "operationId": "toggle_data_source_enabled_dashboard_data_sources__source_id__toggle_enabled_post",
        "parameters": [
          {
            "in": "path",
            "name": "source_id",
            "required": true,
            "schema": {
              "title": "Source Id",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "text/html": {
                "schema": {
                  "type": "string"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "Toggle Data Source Enabled",
        "tags": [
          "dashboard"
        ]
      }
    },
    "/dashboard/discovery": {
      "get": {
        "description": "Discovery landing page: search + Assets / Entities / Categories tabs.",
        "operationId": "discovery_page_dashboard_discovery_get",
        "parameters": [
          {
            "in": "query",
            "name": "tab",
            "required": false,
            "schema": {
              "default": "assets",
              "title": "Tab",
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "q",
            "required": false,
            "schema": {
              "default": "",
              "title": "Q",
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "source",
            "required": false,
            "schema": {
              "default": "",
              "title": "Source",
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "doc_type",
            "required": false,
            "schema": {
              "default": "",
              "title": "Doc Type",
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "category",
            "required": false,
            "schema": {
              "default": "",
              "title": "Category",
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "entity",
            "required": false,
            "schema": {
              "default": "",
              "title": "Entity",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "text/html": {
                "schema": {
                  "type": "string"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "Discovery Page",
        "tags": [
          "dashboard"
        ]
      }
    },
    "/dashboard/discovery/assets/{asset_id}": {
      "get": {
        "description": "Asset detail: summary, columns, category, entities, related assets.",
        "operationId": "discovery_asset_detail_dashboard_discovery_assets__asset_id__get",
        "parameters": [
          {
            "in": "path",
            "name": "asset_id",
            "required": true,
            "schema": {
              "title": "Asset Id",
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "text/html": {
                "schema": {
                  "type": "string"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "Discovery Asset Detail",
        "tags": [
          "dashboard"
        ]
      }
    },
    "/dashboard/discovery/categories/{path}": {
      "get": {
        "description": "Category detail: breadcrumb, children, assets under this path.",
        "operationId": "discovery_category_detail_dashboard_discovery_categories__path__get",
        "parameters": [
          {
            "in": "path",
            "name": "path",
            "required": true,
            "schema": {
              "title": "Path",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "text/html": {
                "schema": {
                  "type": "string"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "Discovery Category Detail",
        "tags": [
          "dashboard"
        ]
      }
    },
    "/dashboard/discovery/entities/{entity_type}/{entity_text}": {
      "get": {
        "description": "Entity detail: assets that reference it, co-occurring entities.",
        "operationId": "discovery_entity_detail_dashboard_discovery_entities__entity_type___entity_text__get",
        "parameters": [
          {
            "in": "path",
            "name": "entity_type",
            "required": true,
            "schema": {
              "title": "Entity Type",
              "type": "string"
            }
          },
          {
            "in": "path",
            "name": "entity_text",
            "required": true,
            "schema": {
              "title": "Entity Text",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "text/html": {
                "schema": {
                  "type": "string"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "Discovery Entity Detail",
        "tags": [
          "dashboard"
        ]
      }
    },
    "/dashboard/discovery/rescan": {
      "post": {
        "description": "Queue a catalog scan of every enabled source and report what was queued.\n\nThe workers run the scans and re-index discovery as each one finishes, so\nthis returns at once instead of holding the request open while every source\nis introspected from the admin process.",
        "operationId": "discovery_rescan_dashboard_discovery_rescan_post",
        "responses": {
          "200": {
            "content": {
              "text/html": {
                "schema": {
                  "type": "string"
                }
              }
            },
            "description": "Successful Response"
          }
        },
        "summary": "Discovery Rescan",
        "tags": [
          "dashboard"
        ]
      }
    },
    "/dashboard/discovery/search": {
      "get": {
        "description": "HTMX partial: unified search across the whole catalog.\n\nUses DiscoverySearch when wired (vector + fulltext + metadata),\nfalling back to PG-only when embedding/FAISS are unavailable.",
        "operationId": "discovery_search_dashboard_discovery_search_get",
        "parameters": [
          {
            "in": "query",
            "name": "q",
            "required": false,
            "schema": {
              "default": "",
              "title": "Q",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "text/html": {
                "schema": {
                  "type": "string"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "Discovery Search",
        "tags": [
          "dashboard"
        ]
      }
    },
    "/dashboard/entities": {
      "get": {
        "description": "Entity explorer page. Shows all entities by default, filtered on search.",
        "operationId": "entities_page_dashboard_entities_get",
        "parameters": [
          {
            "in": "query",
            "name": "q",
            "required": false,
            "schema": {
              "default": "",
              "title": "Q",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "text/html": {
                "schema": {
                  "type": "string"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "Entities Page",
        "tags": [
          "dashboard"
        ]
      }
    },
    "/dashboard/entities/search": {
      "get": {
        "description": "HTMX partial: entity search results.",
        "operationId": "entity_search_dashboard_entities_search_get",
        "parameters": [
          {
            "in": "query",
            "name": "q",
            "required": false,
            "schema": {
              "default": "",
              "title": "Q",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "text/html": {
                "schema": {
                  "type": "string"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "Entity Search",
        "tags": [
          "dashboard"
        ]
      }
    },
    "/dashboard/ingestion": {
      "get": {
        "description": "Full page or HTMX partial for ingestion jobs.",
        "operationId": "ingestion_page_dashboard_ingestion_get",
        "parameters": [
          {
            "in": "query",
            "name": "status",
            "required": false,
            "schema": {
              "default": "all",
              "title": "Status",
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "source",
            "required": false,
            "schema": {
              "default": "",
              "title": "Source",
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "since",
            "required": false,
            "schema": {
              "default": "",
              "title": "Since",
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "until",
            "required": false,
            "schema": {
              "default": "",
              "title": "Until",
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "page",
            "required": false,
            "schema": {
              "default": 1,
              "title": "Page",
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "text/html": {
                "schema": {
                  "type": "string"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "Ingestion Page",
        "tags": [
          "dashboard"
        ]
      }
    },
    "/dashboard/ingestion/jobs/{job_id}": {
      "get": {
        "operationId": "ingestion_job_detail_dashboard_ingestion_jobs__job_id__get",
        "parameters": [
          {
            "in": "path",
            "name": "job_id",
            "required": true,
            "schema": {
              "title": "Job Id",
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "text/html": {
                "schema": {
                  "type": "string"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "Ingestion Job Detail",
        "tags": [
          "dashboard"
        ]
      }
    },
    "/dashboard/ingestion/jobs/{job_id}/cancel": {
      "post": {
        "description": "Cancel an active queued/processing job and return the refreshed table.",
        "operationId": "cancel_ingestion_job_htmx_dashboard_ingestion_jobs__job_id__cancel_post",
        "parameters": [
          {
            "in": "path",
            "name": "job_id",
            "required": true,
            "schema": {
              "title": "Job Id",
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "text/html": {
                "schema": {
                  "type": "string"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "Cancel Ingestion Job Htmx",
        "tags": [
          "dashboard"
        ]
      }
    },
    "/dashboard/ingestion/jobs/{job_id}/retry": {
      "post": {
        "description": "Retry a failed/cancelled job and return the refreshed HTMX table.",
        "operationId": "retry_ingestion_job_htmx_dashboard_ingestion_jobs__job_id__retry_post",
        "parameters": [
          {
            "in": "path",
            "name": "job_id",
            "required": true,
            "schema": {
              "title": "Job Id",
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "text/html": {
                "schema": {
                  "type": "string"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "Retry Ingestion Job Htmx",
        "tags": [
          "dashboard"
        ]
      }
    },
    "/dashboard/overview": {
      "get": {
        "description": "System overview with stats and recent activity.",
        "operationId": "overview_page_dashboard_overview_get",
        "responses": {
          "200": {
            "content": {
              "text/html": {
                "schema": {
                  "type": "string"
                }
              }
            },
            "description": "Successful Response"
          }
        },
        "summary": "Overview Page",
        "tags": [
          "dashboard"
        ]
      }
    },
    "/dashboard/overview/components": {
      "get": {
        "description": "HTMX partial: refresh just the component-grid contents.",
        "operationId": "overview_components_partial_dashboard_overview_components_get",
        "responses": {
          "200": {
            "content": {
              "text/html": {
                "schema": {
                  "type": "string"
                }
              }
            },
            "description": "Successful Response"
          }
        },
        "summary": "Overview Components Partial",
        "tags": [
          "dashboard"
        ]
      }
    },
    "/dashboard/policies": {
      "get": {
        "description": "Policy rule management.",
        "operationId": "policies_page_dashboard_policies_get",
        "responses": {
          "200": {
            "content": {
              "text/html": {
                "schema": {
                  "type": "string"
                }
              }
            },
            "description": "Successful Response"
          }
        },
        "summary": "Policies Page",
        "tags": [
          "dashboard"
        ]
      }
    },
    "/dashboard/policies/create": {
      "post": {
        "operationId": "create_policy_form_dashboard_policies_create_post",
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "schema": {
                "$ref": "#/components/schemas/Body_create_policy_form_dashboard_policies_create_post"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "text/html": {
                "schema": {
                  "type": "string"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "Create Policy Form",
        "tags": [
          "dashboard"
        ]
      }
    },
    "/dashboard/policies/dry-run": {
      "post": {
        "operationId": "policy_dry_run_dashboard_policies_dry_run_post",
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "schema": {
                "$ref": "#/components/schemas/Body_policy_dry_run_dashboard_policies_dry_run_post"
              }
            }
          }
        },
        "responses": {
          "200": {
            "content": {
              "text/html": {
                "schema": {
                  "type": "string"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "Policy Dry Run",
        "tags": [
          "dashboard"
        ]
      }
    },
    "/dashboard/policies/export.yaml": {
      "get": {
        "operationId": "export_policies_yaml_dashboard_policies_export_yaml_get",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {}
              }
            },
            "description": "Successful Response"
          }
        },
        "summary": "Export Policies Yaml",
        "tags": [
          "dashboard"
        ]
      }
    },
    "/dashboard/policies/import": {
      "post": {
        "operationId": "import_policies_compat_preview_dashboard_policies_import_post",
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "schema": {
                "$ref": "#/components/schemas/Body_import_policies_compat_preview_dashboard_policies_import_post"
              }
            }
          }
        },
        "responses": {
          "200": {
            "content": {
              "text/html": {
                "schema": {
                  "type": "string"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "Import Policies Compat Preview",
        "tags": [
          "dashboard"
        ]
      }
    },
    "/dashboard/policies/import/apply": {
      "post": {
        "operationId": "import_policies_apply_dashboard_policies_import_apply_post",
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "schema": {
                "$ref": "#/components/schemas/Body_import_policies_apply_dashboard_policies_import_apply_post"
              }
            }
          }
        },
        "responses": {
          "200": {
            "content": {
              "text/html": {
                "schema": {
                  "type": "string"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "Import Policies Apply",
        "tags": [
          "dashboard"
        ]
      }
    },
    "/dashboard/policies/import/preview": {
      "post": {
        "operationId": "import_policies_preview_dashboard_policies_import_preview_post",
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "schema": {
                "$ref": "#/components/schemas/Body_import_policies_preview_dashboard_policies_import_preview_post"
              }
            }
          }
        },
        "responses": {
          "200": {
            "content": {
              "text/html": {
                "schema": {
                  "type": "string"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "Import Policies Preview",
        "tags": [
          "dashboard"
        ]
      }
    },
    "/dashboard/policies/lint": {
      "post": {
        "operationId": "lint_policy_form_dashboard_policies_lint_post",
        "responses": {
          "200": {
            "content": {
              "text/html": {
                "schema": {
                  "type": "string"
                }
              }
            },
            "description": "Successful Response"
          }
        },
        "summary": "Lint Policy Form",
        "tags": [
          "catalog"
        ]
      }
    },
    "/dashboard/policies/new": {
      "get": {
        "operationId": "new_policy_form_dashboard_policies_new_get",
        "responses": {
          "200": {
            "content": {
              "text/html": {
                "schema": {
                  "type": "string"
                }
              }
            },
            "description": "Successful Response"
          }
        },
        "summary": "New Policy Form",
        "tags": [
          "dashboard"
        ]
      }
    },
    "/dashboard/policies/{policy_id}/edit": {
      "get": {
        "operationId": "edit_policy_form_dashboard_policies__policy_id__edit_get",
        "parameters": [
          {
            "in": "path",
            "name": "policy_id",
            "required": true,
            "schema": {
              "title": "Policy Id",
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "text/html": {
                "schema": {
                  "type": "string"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "Edit Policy Form",
        "tags": [
          "dashboard"
        ]
      }
    },
    "/dashboard/policies/{policy_id}/update": {
      "post": {
        "operationId": "update_policy_form_dashboard_policies__policy_id__update_post",
        "parameters": [
          {
            "in": "path",
            "name": "policy_id",
            "required": true,
            "schema": {
              "title": "Policy Id",
              "type": "integer"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "schema": {
                "$ref": "#/components/schemas/Body_update_policy_form_dashboard_policies__policy_id__update_post"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "text/html": {
                "schema": {
                  "type": "string"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "Update Policy Form",
        "tags": [
          "dashboard"
        ]
      }
    },
    "/dashboard/policy-analytics": {
      "get": {
        "description": "Policy decision analytics: allows, denies, per-source breakdown.",
        "operationId": "policy_analytics_page_dashboard_policy_analytics_get",
        "responses": {
          "200": {
            "content": {
              "text/html": {
                "schema": {
                  "type": "string"
                }
              }
            },
            "description": "Successful Response"
          }
        },
        "summary": "Policy Analytics Page",
        "tags": [
          "dashboard"
        ]
      }
    },
    "/dashboard/proxy": {
      "get": {
        "description": "Proxy performance: latency, cache tiers, fingerprints, PII.",
        "operationId": "proxy_monitor_page_dashboard_proxy_get",
        "responses": {
          "200": {
            "content": {
              "text/html": {
                "schema": {
                  "type": "string"
                }
              }
            },
            "description": "Successful Response"
          }
        },
        "summary": "Proxy Monitor Page",
        "tags": [
          "dashboard"
        ]
      }
    },
    "/dashboard/proxy-monitor": {
      "get": {
        "description": "Backward-compatible shareable URL for Proxy Monitor.",
        "operationId": "proxy_monitor_page_alias_dashboard_proxy_monitor_get",
        "responses": {
          "200": {
            "content": {
              "text/html": {
                "schema": {
                  "type": "string"
                }
              }
            },
            "description": "Successful Response"
          }
        },
        "summary": "Proxy Monitor Page Alias",
        "tags": [
          "dashboard"
        ]
      }
    },
    "/dashboard/source-wizard": {
      "get": {
        "operationId": "wizard_start_dashboard_source_wizard_get",
        "responses": {
          "200": {
            "content": {
              "text/html": {
                "schema": {
                  "type": "string"
                }
              }
            },
            "description": "Successful Response"
          }
        },
        "summary": "Wizard Start",
        "tags": [
          "dashboard"
        ]
      }
    },
    "/dashboard/source-wizard/cancel": {
      "post": {
        "operationId": "wizard_cancel_dashboard_source_wizard_cancel_post",
        "responses": {
          "200": {
            "content": {
              "text/html": {
                "schema": {
                  "type": "string"
                }
              }
            },
            "description": "Successful Response"
          }
        },
        "summary": "Wizard Cancel",
        "tags": [
          "dashboard"
        ]
      }
    },
    "/dashboard/source-wizard/save": {
      "post": {
        "operationId": "wizard_save_dashboard_source_wizard_save_post",
        "responses": {
          "200": {
            "content": {
              "text/html": {
                "schema": {
                  "type": "string"
                }
              }
            },
            "description": "Successful Response"
          }
        },
        "summary": "Wizard Save",
        "tags": [
          "dashboard"
        ]
      }
    },
    "/dashboard/source-wizard/step1": {
      "post": {
        "operationId": "wizard_step1_dashboard_source_wizard_step1_post",
        "responses": {
          "200": {
            "content": {
              "text/html": {
                "schema": {
                  "type": "string"
                }
              }
            },
            "description": "Successful Response"
          }
        },
        "summary": "Wizard Step1",
        "tags": [
          "dashboard"
        ]
      }
    },
    "/dashboard/source-wizard/step2": {
      "post": {
        "operationId": "wizard_step2_dashboard_source_wizard_step2_post",
        "responses": {
          "200": {
            "content": {
              "text/html": {
                "schema": {
                  "type": "string"
                }
              }
            },
            "description": "Successful Response"
          }
        },
        "summary": "Wizard Step2",
        "tags": [
          "dashboard"
        ]
      }
    },
    "/dashboard/source-wizard/step3": {
      "post": {
        "operationId": "wizard_step3_dashboard_source_wizard_step3_post",
        "responses": {
          "200": {
            "content": {
              "text/html": {
                "schema": {
                  "type": "string"
                }
              }
            },
            "description": "Successful Response"
          }
        },
        "summary": "Wizard Step3",
        "tags": [
          "dashboard"
        ]
      }
    },
    "/dashboard/source-wizard/step4": {
      "post": {
        "operationId": "wizard_step4_dashboard_source_wizard_step4_post",
        "responses": {
          "200": {
            "content": {
              "text/html": {
                "schema": {
                  "type": "string"
                }
              }
            },
            "description": "Successful Response"
          }
        },
        "summary": "Wizard Step4",
        "tags": [
          "dashboard"
        ]
      }
    },
    "/dashboard/source-wizard/step5": {
      "post": {
        "operationId": "wizard_step5_dashboard_source_wizard_step5_post",
        "responses": {
          "200": {
            "content": {
              "text/html": {
                "schema": {
                  "type": "string"
                }
              }
            },
            "description": "Successful Response"
          }
        },
        "summary": "Wizard Step5",
        "tags": [
          "dashboard"
        ]
      }
    },
    "/dashboard/source-wizard/test": {
      "post": {
        "operationId": "wizard_test_dashboard_source_wizard_test_post",
        "responses": {
          "200": {
            "content": {
              "text/html": {
                "schema": {
                  "type": "string"
                }
              }
            },
            "description": "Successful Response"
          }
        },
        "summary": "Wizard Test",
        "tags": [
          "dashboard"
        ]
      }
    },
    "/dashboard/theme": {
      "post": {
        "description": "Persist the operator's colour-theme choice in a cookie.\n\nA plain form post rather than JavaScript, so the toggle works under\n`script-src 'self'` and with scripting disabled. `next` is constrained to\na local absolute path so the control cannot be turned into an open\nredirect.",
        "operationId": "set_theme_dashboard_theme_post",
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "schema": {
                "$ref": "#/components/schemas/Body_set_theme_dashboard_theme_post"
              }
            }
          }
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {}
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "Set Theme",
        "tags": [
          "dashboard"
        ]
      }
    },
    "/dashboard/workers": {
      "get": {
        "description": "Worker status page - combines Redis heartbeats with PG job data.",
        "operationId": "workers_page_dashboard_workers_get",
        "responses": {
          "200": {
            "content": {
              "text/html": {
                "schema": {
                  "type": "string"
                }
              }
            },
            "description": "Successful Response"
          }
        },
        "summary": "Workers Page",
        "tags": [
          "dashboard"
        ]
      }
    },
    "/dashboard/write-safety": {
      "get": {
        "description": "Write approval queue with pending cards and history.",
        "operationId": "write_safety_page_dashboard_write_safety_get",
        "responses": {
          "200": {
            "content": {
              "text/html": {
                "schema": {
                  "type": "string"
                }
              }
            },
            "description": "Successful Response"
          }
        },
        "summary": "Write Safety Page",
        "tags": [
          "dashboard"
        ]
      }
    },
    "/dashboard/write-safety/{approval_id}": {
      "get": {
        "operationId": "write_safety_detail_dashboard_write_safety__approval_id__get",
        "parameters": [
          {
            "in": "path",
            "name": "approval_id",
            "required": true,
            "schema": {
              "title": "Approval Id",
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "text/html": {
                "schema": {
                  "type": "string"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "Write Safety Detail",
        "tags": [
          "dashboard"
        ]
      }
    },
    "/health": {
      "get": {
        "operationId": "health_health_get",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {}
              }
            },
            "description": "Successful Response"
          }
        },
        "summary": "Health"
      }
    },
    "/ready": {
      "get": {
        "operationId": "ready_ready_get",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {}
              }
            },
            "description": "Successful Response"
          }
        },
        "summary": "Ready"
      }
    }
  }
}
