{
  "openapi": "3.0.1",
  "info": {
    "title": "clientlog",
    "version": "v0.0.5-7-g90828e9"
  },
  "paths": {
    "/trigger/aggregation": {
      "post": {
        "tags": [
          "triggers",
          "aggregation"
        ],
        "summary": "Trigger Aggregation",
        "description": "Trigger event and session aggregation for a project",
        "operationId": "trigger_aggregation_trigger_aggregation_post",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RequestBase"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {}
              }
            },
            "headers": {
              "Access-Control-Allow-Origin": {
                "schema": {
                  "type": "string"
                }
              },
              "Access-Control-Allow-Methods": {
                "schema": {
                  "type": "string"
                }
              },
              "Access-Control-Allow-Headers": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "headers": {
              "Access-Control-Allow-Origin": {
                "schema": {
                  "type": "string"
                }
              },
              "Access-Control-Allow-Methods": {
                "schema": {
                  "type": "string"
                }
              },
              "Access-Control-Allow-Headers": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        },
        "security": [
          {
            "${cognito_authorizer_name}": []
          }
        ]
      },
      "options": {
        "summary": "CORS preflight",
        "tags": [
          "CORS"
        ],
        "responses": {
          "200": {
            "description": "200 response",
            "headers": {
              "Access-Control-Allow-Origin": {
                "schema": {
                  "type": "string"
                }
              },
              "Access-Control-Allow-Methods": {
                "schema": {
                  "type": "string"
                }
              },
              "Access-Control-Allow-Headers": {
                "schema": {
                  "type": "string"
                }
              }
            },
            "content": {}
          }
        }
      }
    },
    "/trigger/notification": {
      "post": {
        "tags": [
          "triggers",
          "notification"
        ],
        "summary": "Trigger Notification",
        "description": "Trigger notifications (email, slack, etc) for a project",
        "operationId": "trigger_notification_trigger_notification_post",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/NotificationRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {}
              }
            },
            "headers": {
              "Access-Control-Allow-Origin": {
                "schema": {
                  "type": "string"
                }
              },
              "Access-Control-Allow-Methods": {
                "schema": {
                  "type": "string"
                }
              },
              "Access-Control-Allow-Headers": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "headers": {
              "Access-Control-Allow-Origin": {
                "schema": {
                  "type": "string"
                }
              },
              "Access-Control-Allow-Methods": {
                "schema": {
                  "type": "string"
                }
              },
              "Access-Control-Allow-Headers": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        },
        "security": [
          {
            "${cognito_authorizer_name}": []
          }
        ]
      },
      "options": {
        "summary": "CORS preflight",
        "tags": [
          "CORS"
        ],
        "responses": {
          "200": {
            "description": "200 response",
            "headers": {
              "Access-Control-Allow-Origin": {
                "schema": {
                  "type": "string"
                }
              },
              "Access-Control-Allow-Methods": {
                "schema": {
                  "type": "string"
                }
              },
              "Access-Control-Allow-Headers": {
                "schema": {
                  "type": "string"
                }
              }
            },
            "content": {}
          }
        }
      }
    },
    "/trigger/classification": {
      "post": {
        "tags": [
          "triggers",
          "classification"
        ],
        "summary": "Trigger session classification",
        "description": "Trigger session classification for one or more sessions.",
        "operationId": "trigger_classification_trigger_classification_post",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ClassificationRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {}
              }
            },
            "headers": {
              "Access-Control-Allow-Origin": {
                "schema": {
                  "type": "string"
                }
              },
              "Access-Control-Allow-Methods": {
                "schema": {
                  "type": "string"
                }
              },
              "Access-Control-Allow-Headers": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "headers": {
              "Access-Control-Allow-Origin": {
                "schema": {
                  "type": "string"
                }
              },
              "Access-Control-Allow-Methods": {
                "schema": {
                  "type": "string"
                }
              },
              "Access-Control-Allow-Headers": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        },
        "security": [
          {
            "${cognito_authorizer_name}": []
          }
        ]
      },
      "options": {
        "summary": "CORS preflight",
        "tags": [
          "CORS"
        ],
        "responses": {
          "200": {
            "description": "200 response",
            "headers": {
              "Access-Control-Allow-Origin": {
                "schema": {
                  "type": "string"
                }
              },
              "Access-Control-Allow-Methods": {
                "schema": {
                  "type": "string"
                }
              },
              "Access-Control-Allow-Headers": {
                "schema": {
                  "type": "string"
                }
              }
            },
            "content": {}
          }
        }
      }
    },
    "/trigger/backfill": {
      "post": {
        "tags": [
          "triggers",
          "backfill"
        ],
        "summary": "Backfill classification for all sessions",
        "description": "Reprocess all sessions in a project through attribute extraction, classification, etc",
        "operationId": "trigger_backfill_trigger_backfill_post",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/BackfillRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {}
              }
            },
            "headers": {
              "Access-Control-Allow-Origin": {
                "schema": {
                  "type": "string"
                }
              },
              "Access-Control-Allow-Methods": {
                "schema": {
                  "type": "string"
                }
              },
              "Access-Control-Allow-Headers": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "headers": {
              "Access-Control-Allow-Origin": {
                "schema": {
                  "type": "string"
                }
              },
              "Access-Control-Allow-Methods": {
                "schema": {
                  "type": "string"
                }
              },
              "Access-Control-Allow-Headers": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        },
        "security": [
          {
            "${cognito_authorizer_name}": []
          }
        ]
      },
      "options": {
        "summary": "CORS preflight",
        "tags": [
          "CORS"
        ],
        "responses": {
          "200": {
            "description": "200 response",
            "headers": {
              "Access-Control-Allow-Origin": {
                "schema": {
                  "type": "string"
                }
              },
              "Access-Control-Allow-Methods": {
                "schema": {
                  "type": "string"
                }
              },
              "Access-Control-Allow-Headers": {
                "schema": {
                  "type": "string"
                }
              }
            },
            "content": {}
          }
        }
      }
    },
    "/projects/": {
      "get": {
        "tags": [
          "projects"
        ],
        "summary": "List all projects for this user",
        "description": "List all projects for this user, including the origin and name parameters",
        "operationId": "list_project_summary_projects__get",
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {}
              }
            },
            "headers": {
              "Access-Control-Allow-Origin": {
                "schema": {
                  "type": "string"
                }
              },
              "Access-Control-Allow-Methods": {
                "schema": {
                  "type": "string"
                }
              },
              "Access-Control-Allow-Headers": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        },
        "security": [
          {
            "${cognito_authorizer_name}": []
          }
        ]
      },
      "options": {
        "summary": "CORS preflight",
        "tags": [
          "CORS"
        ],
        "responses": {
          "200": {
            "description": "200 response",
            "headers": {
              "Access-Control-Allow-Origin": {
                "schema": {
                  "type": "string"
                }
              },
              "Access-Control-Allow-Methods": {
                "schema": {
                  "type": "string"
                }
              },
              "Access-Control-Allow-Headers": {
                "schema": {
                  "type": "string"
                }
              }
            },
            "content": {}
          }
        }
      }
    },
    "/projects/overview": {
      "get": {
        "tags": [
          "projects"
        ],
        "summary": "Get a project overview",
        "description": "Get the most recent overviews which summarize activity on this project",
        "operationId": "get_summary_projects_overview_get",
        "security": [
          {
            "${cognito_authorizer_name}": []
          }
        ],
        "parameters": [
          {
            "name": "origin",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "title": "Origin"
            }
          },
          {
            "name": "project",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "title": "Project"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {}
              }
            },
            "headers": {
              "Access-Control-Allow-Origin": {
                "schema": {
                  "type": "string"
                }
              },
              "Access-Control-Allow-Methods": {
                "schema": {
                  "type": "string"
                }
              },
              "Access-Control-Allow-Headers": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "headers": {
              "Access-Control-Allow-Origin": {
                "schema": {
                  "type": "string"
                }
              },
              "Access-Control-Allow-Methods": {
                "schema": {
                  "type": "string"
                }
              },
              "Access-Control-Allow-Headers": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        }
      },
      "options": {
        "summary": "CORS preflight",
        "tags": [
          "CORS"
        ],
        "responses": {
          "200": {
            "description": "200 response",
            "headers": {
              "Access-Control-Allow-Origin": {
                "schema": {
                  "type": "string"
                }
              },
              "Access-Control-Allow-Methods": {
                "schema": {
                  "type": "string"
                }
              },
              "Access-Control-Allow-Headers": {
                "schema": {
                  "type": "string"
                }
              }
            },
            "content": {}
          }
        }
      }
    },
    "/users/projects": {
      "get": {
        "tags": [
          "projects"
        ],
        "summary": "List projects",
        "description": "Get a list of projects belonging to the authenticated user",
        "operationId": "list_user_projects_users_projects_get",
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {}
              }
            },
            "headers": {
              "Access-Control-Allow-Origin": {
                "schema": {
                  "type": "string"
                }
              },
              "Access-Control-Allow-Methods": {
                "schema": {
                  "type": "string"
                }
              },
              "Access-Control-Allow-Headers": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        },
        "security": [
          {
            "${cognito_authorizer_name}": []
          }
        ]
      },
      "post": {
        "tags": [
          "projects"
        ],
        "summary": "Create project",
        "description": "Associate an origin, a project and an account",
        "operationId": "create_user_project_users_projects_post",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateProjectRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {}
              }
            },
            "headers": {
              "Access-Control-Allow-Origin": {
                "schema": {
                  "type": "string"
                }
              },
              "Access-Control-Allow-Methods": {
                "schema": {
                  "type": "string"
                }
              },
              "Access-Control-Allow-Headers": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "headers": {
              "Access-Control-Allow-Origin": {
                "schema": {
                  "type": "string"
                }
              },
              "Access-Control-Allow-Methods": {
                "schema": {
                  "type": "string"
                }
              },
              "Access-Control-Allow-Headers": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        },
        "security": [
          {
            "${cognito_authorizer_name}": []
          }
        ]
      },
      "options": {
        "summary": "CORS preflight",
        "tags": [
          "CORS"
        ],
        "responses": {
          "200": {
            "description": "200 response",
            "headers": {
              "Access-Control-Allow-Origin": {
                "schema": {
                  "type": "string"
                }
              },
              "Access-Control-Allow-Methods": {
                "schema": {
                  "type": "string"
                }
              },
              "Access-Control-Allow-Headers": {
                "schema": {
                  "type": "string"
                }
              }
            },
            "content": {}
          }
        }
      }
    },
    "/users/account": {
      "get": {
        "tags": [
          "account"
        ],
        "summary": "Get account",
        "description": "Get the authenticated user's account profile",
        "operationId": "get_account_users_account_get",
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {}
              }
            },
            "headers": {
              "Access-Control-Allow-Origin": {
                "schema": {
                  "type": "string"
                }
              },
              "Access-Control-Allow-Methods": {
                "schema": {
                  "type": "string"
                }
              },
              "Access-Control-Allow-Headers": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        },
        "security": [
          {
            "${cognito_authorizer_name}": []
          }
        ]
      },
      "options": {
        "summary": "CORS preflight",
        "tags": [
          "CORS"
        ],
        "responses": {
          "200": {
            "description": "200 response",
            "headers": {
              "Access-Control-Allow-Origin": {
                "schema": {
                  "type": "string"
                }
              },
              "Access-Control-Allow-Methods": {
                "schema": {
                  "type": "string"
                }
              },
              "Access-Control-Allow-Headers": {
                "schema": {
                  "type": "string"
                }
              }
            },
            "content": {}
          }
        }
      }
    },
    "/users/apikey": {
      "get": {
        "tags": [
          "api"
        ],
        "summary": "List API keys for this user",
        "operationId": "list_api_key_users_apikey_get",
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {}
              }
            },
            "headers": {
              "Access-Control-Allow-Origin": {
                "schema": {
                  "type": "string"
                }
              },
              "Access-Control-Allow-Methods": {
                "schema": {
                  "type": "string"
                }
              },
              "Access-Control-Allow-Headers": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        },
        "security": [
          {
            "${cognito_authorizer_name}": []
          }
        ]
      },
      "post": {
        "tags": [
          "api"
        ],
        "summary": "Create an API key",
        "operationId": "create_api_key_users_apikey_post",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UserAPIKeyRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {}
              }
            },
            "headers": {
              "Access-Control-Allow-Origin": {
                "schema": {
                  "type": "string"
                }
              },
              "Access-Control-Allow-Methods": {
                "schema": {
                  "type": "string"
                }
              },
              "Access-Control-Allow-Headers": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "headers": {
              "Access-Control-Allow-Origin": {
                "schema": {
                  "type": "string"
                }
              },
              "Access-Control-Allow-Methods": {
                "schema": {
                  "type": "string"
                }
              },
              "Access-Control-Allow-Headers": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        },
        "security": [
          {
            "${cognito_authorizer_name}": []
          }
        ]
      },
      "options": {
        "summary": "CORS preflight",
        "tags": [
          "CORS"
        ],
        "responses": {
          "200": {
            "description": "200 response",
            "headers": {
              "Access-Control-Allow-Origin": {
                "schema": {
                  "type": "string"
                }
              },
              "Access-Control-Allow-Methods": {
                "schema": {
                  "type": "string"
                }
              },
              "Access-Control-Allow-Headers": {
                "schema": {
                  "type": "string"
                }
              }
            },
            "content": {}
          }
        }
      }
    },
    "/users/apikey/{api_key_name}": {
      "delete": {
        "tags": [
          "api"
        ],
        "summary": "Delete an API key",
        "operationId": "delete_api_key_users_apikey__api_key_name__delete",
        "security": [
          {
            "${cognito_authorizer_name}": []
          }
        ],
        "parameters": [
          {
            "name": "api_key_name",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "title": "Api Key Name"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {}
              }
            },
            "headers": {
              "Access-Control-Allow-Origin": {
                "schema": {
                  "type": "string"
                }
              },
              "Access-Control-Allow-Methods": {
                "schema": {
                  "type": "string"
                }
              },
              "Access-Control-Allow-Headers": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "headers": {
              "Access-Control-Allow-Origin": {
                "schema": {
                  "type": "string"
                }
              },
              "Access-Control-Allow-Methods": {
                "schema": {
                  "type": "string"
                }
              },
              "Access-Control-Allow-Headers": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        }
      },
      "options": {
        "summary": "CORS preflight",
        "tags": [
          "CORS"
        ],
        "responses": {
          "200": {
            "description": "200 response",
            "headers": {
              "Access-Control-Allow-Origin": {
                "schema": {
                  "type": "string"
                }
              },
              "Access-Control-Allow-Methods": {
                "schema": {
                  "type": "string"
                }
              },
              "Access-Control-Allow-Headers": {
                "schema": {
                  "type": "string"
                }
              }
            },
            "content": {}
          }
        }
      }
    },
    "/status/health": {
      "get": {
        "tags": [
          "status",
          "health"
        ],
        "summary": "System Health",
        "description": "get various system health metrics",
        "operationId": "status_system_health_status_health_get",
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {}
              }
            },
            "headers": {
              "Access-Control-Allow-Origin": {
                "schema": {
                  "type": "string"
                }
              },
              "Access-Control-Allow-Methods": {
                "schema": {
                  "type": "string"
                }
              },
              "Access-Control-Allow-Headers": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        },
        "security": [
          {
            "${cognito_authorizer_name}": []
          }
        ]
      },
      "options": {
        "summary": "CORS preflight",
        "tags": [
          "CORS"
        ],
        "responses": {
          "200": {
            "description": "200 response",
            "headers": {
              "Access-Control-Allow-Origin": {
                "schema": {
                  "type": "string"
                }
              },
              "Access-Control-Allow-Methods": {
                "schema": {
                  "type": "string"
                }
              },
              "Access-Control-Allow-Headers": {
                "schema": {
                  "type": "string"
                }
              }
            },
            "content": {}
          }
        }
      }
    },
    "/status/health/history": {
      "get": {
        "tags": [
          "status",
          "health"
        ],
        "summary": "System Health history",
        "description": "get historical system health metrics",
        "operationId": "status_system_health_history_status_health_history_get",
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {}
              }
            },
            "headers": {
              "Access-Control-Allow-Origin": {
                "schema": {
                  "type": "string"
                }
              },
              "Access-Control-Allow-Methods": {
                "schema": {
                  "type": "string"
                }
              },
              "Access-Control-Allow-Headers": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        },
        "security": [
          {
            "${cognito_authorizer_name}": []
          }
        ]
      },
      "options": {
        "summary": "CORS preflight",
        "tags": [
          "CORS"
        ],
        "responses": {
          "200": {
            "description": "200 response",
            "headers": {
              "Access-Control-Allow-Origin": {
                "schema": {
                  "type": "string"
                }
              },
              "Access-Control-Allow-Methods": {
                "schema": {
                  "type": "string"
                }
              },
              "Access-Control-Allow-Headers": {
                "schema": {
                  "type": "string"
                }
              }
            },
            "content": {}
          }
        }
      }
    },
    "/rules/": {
      "get": {
        "tags": [
          "rules"
        ],
        "summary": "List classifier rules for a project",
        "description": "Returns all rules for the specified origin and project",
        "operationId": "list_rules_rules__get",
        "security": [
          {
            "${cognito_authorizer_name}": []
          }
        ],
        "parameters": [
          {
            "name": "origin",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "description": "Origin URL",
              "title": "Origin"
            },
            "description": "Origin URL"
          },
          {
            "name": "project",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "description": "Project identifier",
              "title": "Project"
            },
            "description": "Project identifier"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {}
              }
            },
            "headers": {
              "Access-Control-Allow-Origin": {
                "schema": {
                  "type": "string"
                }
              },
              "Access-Control-Allow-Methods": {
                "schema": {
                  "type": "string"
                }
              },
              "Access-Control-Allow-Headers": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "headers": {
              "Access-Control-Allow-Origin": {
                "schema": {
                  "type": "string"
                }
              },
              "Access-Control-Allow-Methods": {
                "schema": {
                  "type": "string"
                }
              },
              "Access-Control-Allow-Headers": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "rules"
        ],
        "summary": "Create or update classifier rule",
        "description": "Creates a new rule or updates an existing one",
        "operationId": "create_rule_rules__post",
        "security": [
          {
            "${cognito_authorizer_name}": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateRuleRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {}
              }
            },
            "headers": {
              "Access-Control-Allow-Origin": {
                "schema": {
                  "type": "string"
                }
              },
              "Access-Control-Allow-Methods": {
                "schema": {
                  "type": "string"
                }
              },
              "Access-Control-Allow-Headers": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "headers": {
              "Access-Control-Allow-Origin": {
                "schema": {
                  "type": "string"
                }
              },
              "Access-Control-Allow-Methods": {
                "schema": {
                  "type": "string"
                }
              },
              "Access-Control-Allow-Headers": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        }
      },
      "options": {
        "summary": "CORS preflight",
        "tags": [
          "CORS"
        ],
        "responses": {
          "200": {
            "description": "200 response",
            "headers": {
              "Access-Control-Allow-Origin": {
                "schema": {
                  "type": "string"
                }
              },
              "Access-Control-Allow-Methods": {
                "schema": {
                  "type": "string"
                }
              },
              "Access-Control-Allow-Headers": {
                "schema": {
                  "type": "string"
                }
              }
            },
            "content": {}
          }
        }
      }
    },
    "/rules/{rule_id}": {
      "get": {
        "tags": [
          "rules"
        ],
        "summary": "Get specific classifier rule",
        "description": "Returns full rule details including JSONLogic",
        "operationId": "get_rule_rules__rule_id__get",
        "security": [
          {
            "${cognito_authorizer_name}": []
          }
        ],
        "parameters": [
          {
            "name": "rule_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "title": "Rule Id"
            }
          },
          {
            "name": "origin",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "title": "Origin"
            }
          },
          {
            "name": "project",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "title": "Project"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {}
              }
            },
            "headers": {
              "Access-Control-Allow-Origin": {
                "schema": {
                  "type": "string"
                }
              },
              "Access-Control-Allow-Methods": {
                "schema": {
                  "type": "string"
                }
              },
              "Access-Control-Allow-Headers": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "headers": {
              "Access-Control-Allow-Origin": {
                "schema": {
                  "type": "string"
                }
              },
              "Access-Control-Allow-Methods": {
                "schema": {
                  "type": "string"
                }
              },
              "Access-Control-Allow-Headers": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        }
      },
      "options": {
        "summary": "CORS preflight",
        "tags": [
          "CORS"
        ],
        "responses": {
          "200": {
            "description": "200 response",
            "headers": {
              "Access-Control-Allow-Origin": {
                "schema": {
                  "type": "string"
                }
              },
              "Access-Control-Allow-Methods": {
                "schema": {
                  "type": "string"
                }
              },
              "Access-Control-Allow-Headers": {
                "schema": {
                  "type": "string"
                }
              }
            },
            "content": {}
          }
        }
      }
    },
    "/rules/test": {
      "post": {
        "tags": [
          "rules",
          "testing"
        ],
        "summary": "Test rules against session data",
        "description": "Test arbitrary rules against session data.\n\nAccepts:\n- sessions: List of session objects\n- rules: YAML string with rule definitions\n\nReturns evaluation results showing which rules matched.",
        "operationId": "test_rules_rules_test_post",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RuleTestRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {}
              }
            },
            "headers": {
              "Access-Control-Allow-Origin": {
                "schema": {
                  "type": "string"
                }
              },
              "Access-Control-Allow-Methods": {
                "schema": {
                  "type": "string"
                }
              },
              "Access-Control-Allow-Headers": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "headers": {
              "Access-Control-Allow-Origin": {
                "schema": {
                  "type": "string"
                }
              },
              "Access-Control-Allow-Methods": {
                "schema": {
                  "type": "string"
                }
              },
              "Access-Control-Allow-Headers": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        },
        "security": [
          {
            "${cognito_authorizer_name}": []
          }
        ]
      },
      "options": {
        "summary": "CORS preflight",
        "tags": [
          "CORS"
        ],
        "responses": {
          "200": {
            "description": "200 response",
            "headers": {
              "Access-Control-Allow-Origin": {
                "schema": {
                  "type": "string"
                }
              },
              "Access-Control-Allow-Methods": {
                "schema": {
                  "type": "string"
                }
              },
              "Access-Control-Allow-Headers": {
                "schema": {
                  "type": "string"
                }
              }
            },
            "content": {}
          }
        }
      }
    },
    "/sessions/": {
      "get": {
        "tags": [
          "sessions"
        ],
        "summary": "List all sessions for an origin",
        "description": "Returns a list of session ids ordered by time. Note: there is a technical upper limit of 1000",
        "operationId": "list_sessions_sessions__get",
        "security": [
          {
            "${cognito_authorizer_name}": []
          }
        ],
        "parameters": [
          {
            "name": "origin",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "title": "Origin"
            }
          },
          {
            "name": "project",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "title": "Project"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "maximum": 1000,
              "default": 10,
              "title": "Limit"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {}
              }
            },
            "headers": {
              "Access-Control-Allow-Origin": {
                "schema": {
                  "type": "string"
                }
              },
              "Access-Control-Allow-Methods": {
                "schema": {
                  "type": "string"
                }
              },
              "Access-Control-Allow-Headers": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "headers": {
              "Access-Control-Allow-Origin": {
                "schema": {
                  "type": "string"
                }
              },
              "Access-Control-Allow-Methods": {
                "schema": {
                  "type": "string"
                }
              },
              "Access-Control-Allow-Headers": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        }
      },
      "options": {
        "summary": "CORS preflight",
        "tags": [
          "CORS"
        ],
        "responses": {
          "200": {
            "description": "200 response",
            "headers": {
              "Access-Control-Allow-Origin": {
                "schema": {
                  "type": "string"
                }
              },
              "Access-Control-Allow-Methods": {
                "schema": {
                  "type": "string"
                }
              },
              "Access-Control-Allow-Headers": {
                "schema": {
                  "type": "string"
                }
              }
            },
            "content": {}
          }
        }
      }
    },
    "/sessions/{session_id}": {
      "get": {
        "tags": [
          "sessions"
        ],
        "summary": "Get a session",
        "description": "Get a specific session for a project by ID",
        "operationId": "get_session_sessions__session_id__get",
        "security": [
          {
            "${cognito_authorizer_name}": []
          }
        ],
        "parameters": [
          {
            "name": "session_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "title": "Session Id"
            }
          },
          {
            "name": "origin",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "title": "Origin"
            }
          },
          {
            "name": "project",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "title": "Project"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {}
              }
            },
            "headers": {
              "Access-Control-Allow-Origin": {
                "schema": {
                  "type": "string"
                }
              },
              "Access-Control-Allow-Methods": {
                "schema": {
                  "type": "string"
                }
              },
              "Access-Control-Allow-Headers": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "headers": {
              "Access-Control-Allow-Origin": {
                "schema": {
                  "type": "string"
                }
              },
              "Access-Control-Allow-Methods": {
                "schema": {
                  "type": "string"
                }
              },
              "Access-Control-Allow-Headers": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        }
      },
      "options": {
        "summary": "CORS preflight",
        "tags": [
          "CORS"
        ],
        "responses": {
          "200": {
            "description": "200 response",
            "headers": {
              "Access-Control-Allow-Origin": {
                "schema": {
                  "type": "string"
                }
              },
              "Access-Control-Allow-Methods": {
                "schema": {
                  "type": "string"
                }
              },
              "Access-Control-Allow-Headers": {
                "schema": {
                  "type": "string"
                }
              }
            },
            "content": {}
          }
        }
      }
    },
    "/sessions/{session_id}/events": {
      "get": {
        "tags": [
          "sessions",
          "events"
        ],
        "summary": "Get events for session",
        "description": "Get enriched event data for a specific event",
        "operationId": "get_session_events_sessions__session_id__events_get",
        "security": [
          {
            "${cognito_authorizer_name}": []
          }
        ],
        "parameters": [
          {
            "name": "session_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "title": "Session Id"
            }
          },
          {
            "name": "origin",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "title": "Origin"
            }
          },
          {
            "name": "project",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "title": "Project"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {}
              }
            },
            "headers": {
              "Access-Control-Allow-Origin": {
                "schema": {
                  "type": "string"
                }
              },
              "Access-Control-Allow-Methods": {
                "schema": {
                  "type": "string"
                }
              },
              "Access-Control-Allow-Headers": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "headers": {
              "Access-Control-Allow-Origin": {
                "schema": {
                  "type": "string"
                }
              },
              "Access-Control-Allow-Methods": {
                "schema": {
                  "type": "string"
                }
              },
              "Access-Control-Allow-Headers": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        }
      },
      "options": {
        "summary": "CORS preflight",
        "tags": [
          "CORS"
        ],
        "responses": {
          "200": {
            "description": "200 response",
            "headers": {
              "Access-Control-Allow-Origin": {
                "schema": {
                  "type": "string"
                }
              },
              "Access-Control-Allow-Methods": {
                "schema": {
                  "type": "string"
                }
              },
              "Access-Control-Allow-Headers": {
                "schema": {
                  "type": "string"
                }
              }
            },
            "content": {}
          }
        }
      }
    },
    "/sessions/{session_id}/attributes": {
      "get": {
        "tags": [
          "sessions",
          "attributes"
        ],
        "summary": "Get attributes for session",
        "description": "Get all event attributes for a specific session",
        "operationId": "get_session_attributes_sessions__session_id__attributes_get",
        "security": [
          {
            "${cognito_authorizer_name}": []
          }
        ],
        "parameters": [
          {
            "name": "session_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "title": "Session Id"
            }
          },
          {
            "name": "origin",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "title": "Origin"
            }
          },
          {
            "name": "project",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "title": "Project"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {}
              }
            },
            "headers": {
              "Access-Control-Allow-Origin": {
                "schema": {
                  "type": "string"
                }
              },
              "Access-Control-Allow-Methods": {
                "schema": {
                  "type": "string"
                }
              },
              "Access-Control-Allow-Headers": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "headers": {
              "Access-Control-Allow-Origin": {
                "schema": {
                  "type": "string"
                }
              },
              "Access-Control-Allow-Methods": {
                "schema": {
                  "type": "string"
                }
              },
              "Access-Control-Allow-Headers": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        }
      },
      "options": {
        "summary": "CORS preflight",
        "tags": [
          "CORS"
        ],
        "responses": {
          "200": {
            "description": "200 response",
            "headers": {
              "Access-Control-Allow-Origin": {
                "schema": {
                  "type": "string"
                }
              },
              "Access-Control-Allow-Methods": {
                "schema": {
                  "type": "string"
                }
              },
              "Access-Control-Allow-Headers": {
                "schema": {
                  "type": "string"
                }
              }
            },
            "content": {}
          }
        }
      }
    },
    "/sessions/{session_id}/tags": {
      "get": {
        "tags": [
          "sessions",
          "tags"
        ],
        "summary": "Get tags for session",
        "operationId": "get_session_tags_sessions__session_id__tags_get",
        "security": [
          {
            "${cognito_authorizer_name}": []
          }
        ],
        "parameters": [
          {
            "name": "session_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "title": "Session Id"
            }
          },
          {
            "name": "origin",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "title": "Origin"
            }
          },
          {
            "name": "project",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "title": "Project"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {}
              }
            },
            "headers": {
              "Access-Control-Allow-Origin": {
                "schema": {
                  "type": "string"
                }
              },
              "Access-Control-Allow-Methods": {
                "schema": {
                  "type": "string"
                }
              },
              "Access-Control-Allow-Headers": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "headers": {
              "Access-Control-Allow-Origin": {
                "schema": {
                  "type": "string"
                }
              },
              "Access-Control-Allow-Methods": {
                "schema": {
                  "type": "string"
                }
              },
              "Access-Control-Allow-Headers": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        }
      },
      "options": {
        "summary": "CORS preflight",
        "tags": [
          "CORS"
        ],
        "responses": {
          "200": {
            "description": "200 response",
            "headers": {
              "Access-Control-Allow-Origin": {
                "schema": {
                  "type": "string"
                }
              },
              "Access-Control-Allow-Methods": {
                "schema": {
                  "type": "string"
                }
              },
              "Access-Control-Allow-Headers": {
                "schema": {
                  "type": "string"
                }
              }
            },
            "content": {}
          }
        }
      }
    },
    "/sessions/range": {
      "get": {
        "tags": [
          "sessions"
        ],
        "summary": "Sessions within a time range",
        "description": "Get full session summaries for an origin/project between window_start and window_end (ms epoch)",
        "operationId": "list_sessions_by_range_sessions_range_get",
        "security": [
          {
            "${cognito_authorizer_name}": []
          }
        ],
        "parameters": [
          {
            "name": "origin",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "title": "Origin"
            }
          },
          {
            "name": "project",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "title": "Project"
            }
          },
          {
            "name": "window_start",
            "in": "query",
            "required": true,
            "schema": {
              "type": "integer",
              "title": "Window Start"
            }
          },
          {
            "name": "window_end",
            "in": "query",
            "required": true,
            "schema": {
              "type": "integer",
              "title": "Window End"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {}
              }
            },
            "headers": {
              "Access-Control-Allow-Origin": {
                "schema": {
                  "type": "string"
                }
              },
              "Access-Control-Allow-Methods": {
                "schema": {
                  "type": "string"
                }
              },
              "Access-Control-Allow-Headers": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "headers": {
              "Access-Control-Allow-Origin": {
                "schema": {
                  "type": "string"
                }
              },
              "Access-Control-Allow-Methods": {
                "schema": {
                  "type": "string"
                }
              },
              "Access-Control-Allow-Headers": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        }
      },
      "options": {
        "summary": "CORS preflight",
        "tags": [
          "CORS"
        ],
        "responses": {
          "200": {
            "description": "200 response",
            "headers": {
              "Access-Control-Allow-Origin": {
                "schema": {
                  "type": "string"
                }
              },
              "Access-Control-Allow-Methods": {
                "schema": {
                  "type": "string"
                }
              },
              "Access-Control-Allow-Headers": {
                "schema": {
                  "type": "string"
                }
              }
            },
            "content": {}
          }
        }
      }
    },
    "/tags/": {
      "get": {
        "tags": [
          "sessions",
          "tags"
        ],
        "summary": "List all tags for an origin",
        "description": "For a given project, list the unique tags and when they were last seen in the window",
        "operationId": "list_tags_tags__get",
        "security": [
          {
            "${cognito_authorizer_name}": []
          }
        ],
        "parameters": [
          {
            "name": "origin",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "title": "Origin"
            }
          },
          {
            "name": "project",
            "in": "query",
            "required": true,
            "schema": {
              "title": "Project"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {}
              }
            },
            "headers": {
              "Access-Control-Allow-Origin": {
                "schema": {
                  "type": "string"
                }
              },
              "Access-Control-Allow-Methods": {
                "schema": {
                  "type": "string"
                }
              },
              "Access-Control-Allow-Headers": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "headers": {
              "Access-Control-Allow-Origin": {
                "schema": {
                  "type": "string"
                }
              },
              "Access-Control-Allow-Methods": {
                "schema": {
                  "type": "string"
                }
              },
              "Access-Control-Allow-Headers": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        }
      },
      "options": {
        "summary": "CORS preflight",
        "tags": [
          "CORS"
        ],
        "responses": {
          "200": {
            "description": "200 response",
            "headers": {
              "Access-Control-Allow-Origin": {
                "schema": {
                  "type": "string"
                }
              },
              "Access-Control-Allow-Methods": {
                "schema": {
                  "type": "string"
                }
              },
              "Access-Control-Allow-Headers": {
                "schema": {
                  "type": "string"
                }
              }
            },
            "content": {}
          }
        }
      }
    },
    "/tags/{tag}": {
      "get": {
        "tags": [
          "sessions",
          "tags"
        ],
        "summary": "Tag by time",
        "description": "Get specific tag events within a time range",
        "operationId": "get_tagged_sessions_tags__tag__get",
        "security": [
          {
            "${cognito_authorizer_name}": []
          }
        ],
        "parameters": [
          {
            "name": "tag",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "title": "Tag"
            }
          },
          {
            "name": "origin",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "title": "Origin"
            }
          },
          {
            "name": "project",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "title": "Project"
            }
          },
          {
            "name": "start_time",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "default": 0,
              "title": "Start Time"
            }
          },
          {
            "name": "end_time",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "default": 9999999999999,
              "title": "End Time"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "default": 100,
              "title": "Limit"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {}
              }
            },
            "headers": {
              "Access-Control-Allow-Origin": {
                "schema": {
                  "type": "string"
                }
              },
              "Access-Control-Allow-Methods": {
                "schema": {
                  "type": "string"
                }
              },
              "Access-Control-Allow-Headers": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "headers": {
              "Access-Control-Allow-Origin": {
                "schema": {
                  "type": "string"
                }
              },
              "Access-Control-Allow-Methods": {
                "schema": {
                  "type": "string"
                }
              },
              "Access-Control-Allow-Headers": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        }
      },
      "options": {
        "summary": "CORS preflight",
        "tags": [
          "CORS"
        ],
        "responses": {
          "200": {
            "description": "200 response",
            "headers": {
              "Access-Control-Allow-Origin": {
                "schema": {
                  "type": "string"
                }
              },
              "Access-Control-Allow-Methods": {
                "schema": {
                  "type": "string"
                }
              },
              "Access-Control-Allow-Headers": {
                "schema": {
                  "type": "string"
                }
              }
            },
            "content": {}
          }
        }
      }
    },
    "/event": {
      "post": {
        "tags": [
          "events"
        ],
        "summary": "Capture Event",
        "description": "Capture user event",
        "operationId": "capture_event_event_post",
        "parameters": [
          {
            "name": "origin",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "title": "Origin"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/EventCaptureRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {}
              }
            },
            "headers": {
              "Access-Control-Allow-Origin": {
                "schema": {
                  "type": "string"
                }
              },
              "Access-Control-Allow-Methods": {
                "schema": {
                  "type": "string"
                }
              },
              "Access-Control-Allow-Headers": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "headers": {
              "Access-Control-Allow-Origin": {
                "schema": {
                  "type": "string"
                }
              },
              "Access-Control-Allow-Methods": {
                "schema": {
                  "type": "string"
                }
              },
              "Access-Control-Allow-Headers": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        }
      },
      "options": {
        "summary": "CORS preflight",
        "tags": [
          "CORS"
        ],
        "responses": {
          "200": {
            "description": "200 response",
            "headers": {
              "Access-Control-Allow-Origin": {
                "schema": {
                  "type": "string"
                }
              },
              "Access-Control-Allow-Methods": {
                "schema": {
                  "type": "string"
                }
              },
              "Access-Control-Allow-Headers": {
                "schema": {
                  "type": "string"
                }
              }
            },
            "content": {}
          }
        }
      }
    },
    "/events": {
      "get": {
        "tags": [
          "events"
        ],
        "summary": "Get raw events",
        "operationId": "get_events_events_get",
        "security": [
          {
            "${cognito_authorizer_name}": []
          }
        ],
        "parameters": [
          {
            "name": "origin",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "title": "Origin"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {}
              }
            },
            "headers": {
              "Access-Control-Allow-Origin": {
                "schema": {
                  "type": "string"
                }
              },
              "Access-Control-Allow-Methods": {
                "schema": {
                  "type": "string"
                }
              },
              "Access-Control-Allow-Headers": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "headers": {
              "Access-Control-Allow-Origin": {
                "schema": {
                  "type": "string"
                }
              },
              "Access-Control-Allow-Methods": {
                "schema": {
                  "type": "string"
                }
              },
              "Access-Control-Allow-Headers": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        }
      },
      "options": {
        "summary": "CORS preflight",
        "tags": [
          "CORS"
        ],
        "responses": {
          "200": {
            "description": "200 response",
            "headers": {
              "Access-Control-Allow-Origin": {
                "schema": {
                  "type": "string"
                }
              },
              "Access-Control-Allow-Methods": {
                "schema": {
                  "type": "string"
                }
              },
              "Access-Control-Allow-Headers": {
                "schema": {
                  "type": "string"
                }
              }
            },
            "content": {}
          }
        }
      }
    },
    "/events/enriched": {
      "get": {
        "tags": [
          "enriched",
          "events"
        ],
        "summary": "Get enriched events",
        "operationId": "get_enriched_events_events_enriched_get",
        "security": [
          {
            "${cognito_authorizer_name}": []
          }
        ],
        "parameters": [
          {
            "name": "origin",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "title": "Origin"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {}
              }
            },
            "headers": {
              "Access-Control-Allow-Origin": {
                "schema": {
                  "type": "string"
                }
              },
              "Access-Control-Allow-Methods": {
                "schema": {
                  "type": "string"
                }
              },
              "Access-Control-Allow-Headers": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "headers": {
              "Access-Control-Allow-Origin": {
                "schema": {
                  "type": "string"
                }
              },
              "Access-Control-Allow-Methods": {
                "schema": {
                  "type": "string"
                }
              },
              "Access-Control-Allow-Headers": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        }
      },
      "options": {
        "summary": "CORS preflight",
        "tags": [
          "CORS"
        ],
        "responses": {
          "200": {
            "description": "200 response",
            "headers": {
              "Access-Control-Allow-Origin": {
                "schema": {
                  "type": "string"
                }
              },
              "Access-Control-Allow-Methods": {
                "schema": {
                  "type": "string"
                }
              },
              "Access-Control-Allow-Headers": {
                "schema": {
                  "type": "string"
                }
              }
            },
            "content": {}
          }
        }
      }
    },
    "/events/actions": {
      "get": {
        "tags": [
          "events",
          "stats"
        ],
        "summary": "Get observed event names for a project",
        "operationId": "get_event_stats_events_actions_get",
        "security": [
          {
            "${cognito_authorizer_name}": []
          }
        ],
        "parameters": [
          {
            "name": "origin",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "title": "Origin"
            }
          },
          {
            "name": "project",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "title": "Project"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {}
              }
            },
            "headers": {
              "Access-Control-Allow-Origin": {
                "schema": {
                  "type": "string"
                }
              },
              "Access-Control-Allow-Methods": {
                "schema": {
                  "type": "string"
                }
              },
              "Access-Control-Allow-Headers": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "headers": {
              "Access-Control-Allow-Origin": {
                "schema": {
                  "type": "string"
                }
              },
              "Access-Control-Allow-Methods": {
                "schema": {
                  "type": "string"
                }
              },
              "Access-Control-Allow-Headers": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        }
      },
      "options": {
        "summary": "CORS preflight",
        "tags": [
          "CORS"
        ],
        "responses": {
          "200": {
            "description": "200 response",
            "headers": {
              "Access-Control-Allow-Origin": {
                "schema": {
                  "type": "string"
                }
              },
              "Access-Control-Allow-Methods": {
                "schema": {
                  "type": "string"
                }
              },
              "Access-Control-Allow-Headers": {
                "schema": {
                  "type": "string"
                }
              }
            },
            "content": {}
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "BackfillRequest": {
        "properties": {
          "account": {
            "type": "string",
            "title": "Account"
          },
          "origin": {
            "type": "string",
            "title": "Origin"
          },
          "project": {
            "type": "string",
            "title": "Project"
          },
          "schedule": {
            "type": "string",
            "title": "Schedule"
          },
          "window_start": {
            "type": "integer",
            "title": "Window Start"
          },
          "window_end": {
            "type": "integer",
            "title": "Window End"
          },
          "trigger": {
            "type": "string",
            "title": "Trigger",
            "default": "manual"
          },
          "batch_size": {
            "type": "integer",
            "title": "Batch Size",
            "default": 100
          }
        },
        "type": "object",
        "required": [
          "account",
          "origin",
          "project",
          "schedule",
          "window_start",
          "window_end"
        ],
        "title": "BackfillRequest"
      },
      "ClassificationRequest": {
        "properties": {
          "account": {
            "type": "string",
            "title": "Account"
          },
          "origin": {
            "type": "string",
            "title": "Origin"
          },
          "project": {
            "type": "string",
            "title": "Project"
          },
          "schedule": {
            "type": "string",
            "title": "Schedule"
          },
          "window_start": {
            "type": "integer",
            "title": "Window Start",
            "default": 0
          },
          "window_end": {
            "type": "integer",
            "title": "Window End",
            "default": 1
          },
          "trigger": {
            "type": "string",
            "title": "Trigger",
            "default": "manual"
          },
          "session": {
            "type": "string",
            "title": "Session"
          }
        },
        "type": "object",
        "required": [
          "account",
          "origin",
          "project",
          "schedule",
          "session"
        ],
        "title": "ClassificationRequest",
        "description": "Request to classify one or more sessions\nNB: this request ignores the window_start and window_end values"
      },
      "ClassifierRule": {
        "properties": {
          "schema_version": {
            "type": "string",
            "title": "Schema Version",
            "default": ""
          },
          "origin": {
            "type": "string",
            "title": "Origin"
          },
          "project": {
            "type": "string",
            "title": "Project"
          },
          "rule_id": {
            "type": "string",
            "title": "Rule Id"
          },
          "tag": {
            "type": "string",
            "title": "Tag"
          },
          "description": {
            "type": "string",
            "title": "Description",
            "default": ""
          },
          "rule_type": {
            "$ref": "#/components/schemas/RuleType",
            "default": "jsonlogic"
          },
          "logic": {
            "additionalProperties": true,
            "type": "object",
            "title": "Logic"
          },
          "notification_target": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Notification Target"
          },
          "enabled": {
            "type": "boolean",
            "title": "Enabled",
            "default": true
          }
        },
        "type": "object",
        "required": [
          "origin",
          "project",
          "rule_id",
          "tag",
          "logic"
        ],
        "title": "ClassifierRule",
        "description": "Rule for classifying sessions based on behavioral patterns\n\nStored in USERS_TABLE:\nPK = {origin}#{project}#RULE\nSK = NAME#{rule_id}"
      },
      "CreateProjectRequest": {
        "properties": {
          "account": {
            "type": "string",
            "title": "Account"
          },
          "origin": {
            "type": "string",
            "title": "Origin"
          },
          "project": {
            "type": "string",
            "title": "Project"
          }
        },
        "type": "object",
        "required": [
          "account",
          "origin",
          "project"
        ],
        "title": "CreateProjectRequest"
      },
      "CreateRuleRequest": {
        "properties": {
          "origin": {
            "type": "string",
            "title": "Origin"
          },
          "project": {
            "type": "string",
            "title": "Project"
          },
          "name": {
            "type": "string",
            "title": "Name"
          },
          "rule": {
            "$ref": "#/components/schemas/ClassifierRule"
          },
          "condition": {
            "additionalProperties": true,
            "type": "object",
            "title": "Condition"
          },
          "notification_target": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Notification Target"
          }
        },
        "type": "object",
        "required": [
          "origin",
          "project",
          "name",
          "rule",
          "condition"
        ],
        "title": "CreateRuleRequest"
      },
      "EventCaptureRequest": {
        "properties": {
          "action": {
            "type": "string",
            "maxLength": 64,
            "minLength": 2,
            "title": "Action"
          },
          "payload": {
            "type": "string",
            "maxLength": 512,
            "minLength": 0,
            "title": "Payload",
            "default": ""
          }
        },
        "type": "object",
        "required": [
          "action"
        ],
        "title": "EventCaptureRequest"
      },
      "HTTPValidationError": {
        "properties": {
          "detail": {
            "items": {
              "$ref": "#/components/schemas/ValidationError"
            },
            "type": "array",
            "title": "Detail"
          }
        },
        "type": "object",
        "title": "HTTPValidationError"
      },
      "NotificationRequest": {
        "properties": {
          "account": {
            "type": "string",
            "title": "Account"
          },
          "origin": {
            "type": "string",
            "title": "Origin"
          },
          "project": {
            "type": "string",
            "title": "Project"
          },
          "schedule": {
            "type": "string",
            "title": "Schedule"
          },
          "window_start": {
            "type": "integer",
            "title": "Window Start"
          },
          "window_end": {
            "type": "integer",
            "title": "Window End"
          },
          "trigger": {
            "type": "string",
            "title": "Trigger",
            "default": "manual"
          },
          "method": {
            "type": "string",
            "title": "Method"
          }
        },
        "type": "object",
        "required": [
          "account",
          "origin",
          "project",
          "schedule",
          "window_start",
          "window_end",
          "method"
        ],
        "title": "NotificationRequest"
      },
      "RequestBase": {
        "properties": {
          "account": {
            "type": "string",
            "title": "Account"
          },
          "origin": {
            "type": "string",
            "title": "Origin"
          },
          "project": {
            "type": "string",
            "title": "Project"
          },
          "schedule": {
            "type": "string",
            "title": "Schedule"
          },
          "window_start": {
            "type": "integer",
            "title": "Window Start"
          },
          "window_end": {
            "type": "integer",
            "title": "Window End"
          },
          "trigger": {
            "type": "string",
            "title": "Trigger",
            "default": "manual"
          }
        },
        "type": "object",
        "required": [
          "account",
          "origin",
          "project",
          "schedule",
          "window_start",
          "window_end"
        ],
        "title": "RequestBase",
        "description": "base class for SNS requests wire format"
      },
      "RuleTestRequest": {
        "properties": {
          "sessions": {
            "items": {
              "$ref": "#/components/schemas/SessionSummary"
            },
            "type": "array",
            "title": "Sessions"
          },
          "rules": {
            "type": "string",
            "title": "Rules"
          }
        },
        "type": "object",
        "required": [
          "sessions",
          "rules"
        ],
        "title": "RuleTestRequest"
      },
      "RuleType": {
        "type": "string",
        "enum": [
          "simple",
          "jsonlogic"
        ],
        "title": "RuleType"
      },
      "SessionSummary": {
        "properties": {
          "schema_version": {
            "type": "string",
            "title": "Schema Version",
            "default": ""
          },
          "origin": {
            "type": "string",
            "title": "Origin"
          },
          "project": {
            "type": "string",
            "title": "Project"
          },
          "schedule": {
            "type": "string",
            "title": "Schedule",
            "default": "session"
          },
          "start_time": {
            "type": "integer",
            "title": "Start Time",
            "default": 2147483648
          },
          "end_time": {
            "type": "integer",
            "title": "End Time",
            "default": 0
          },
          "duration": {
            "type": "integer",
            "title": "Duration",
            "default": 0
          },
          "num_events": {
            "type": "integer",
            "title": "Num Events",
            "default": 0
          },
          "session": {
            "type": "string",
            "title": "Session"
          },
          "unique_actions": {
            "type": "integer",
            "title": "Unique Actions",
            "default": 0
          },
          "action_map": {
            "type": "string",
            "title": "Action Map",
            "default": "[]"
          },
          "ua": {
            "type": "string",
            "title": "Ua",
            "default": "{}"
          },
          "geo": {
            "type": "string",
            "title": "Geo",
            "default": "{}"
          }
        },
        "type": "object",
        "required": [
          "origin",
          "project",
          "session"
        ],
        "title": "SessionSummary",
        "description": "NB: the nested elements in this structure (action_map, ua, geo)\nare stored as strings to support direct serialisation by vtl in the apigw\nendpoint transformations.\nThey __must__ be serialised to strings."
      },
      "UserAPIKeyRequest": {
        "properties": {
          "account": {
            "type": "string",
            "title": "Account"
          },
          "api_key_ref": {
            "type": "string",
            "title": "Api Key Ref"
          },
          "project": {
            "type": "string",
            "title": "Project"
          },
          "origin": {
            "type": "string",
            "title": "Origin"
          }
        },
        "type": "object",
        "required": [
          "account",
          "api_key_ref",
          "project",
          "origin"
        ],
        "title": "UserAPIKeyRequest"
      },
      "ValidationError": {
        "properties": {
          "loc": {
            "items": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "integer"
                }
              ]
            },
            "type": "array",
            "title": "Location"
          },
          "msg": {
            "type": "string",
            "title": "Message"
          },
          "type": {
            "type": "string",
            "title": "Error Type"
          },
          "input": {
            "title": "Input"
          },
          "ctx": {
            "type": "object",
            "title": "Context"
          }
        },
        "type": "object",
        "required": [
          "loc",
          "msg",
          "type"
        ],
        "title": "ValidationError"
      }
    },
    "securitySchemes": {
      "${cognito_authorizer_name}": {
        "type": "apiKey",
        "in": "header",
        "name": "Authorization"
      }
    }
  }
}