{
    "openapi": "3.1.0",
    "info": {
        "title": "Honcho API",
        "summary": "The Identity Layer for the Agentic World",
        "description": "Honcho is a platform for giving agents user-centric memory and social cognition",
        "contact": {
            "name": "Plastic Labs",
            "url": "https://honcho.dev/",
            "email": "hello@plasticlabs.ai"
        },
        "version": "1.1.0"
    },
    "servers": [
        {
            "url": "http://localhost:8000",
            "description": "Local Development Server"
        },
        {
            "url": "https://demo.honcho.dev",
            "description": "Demo Server"
        },
        {
            "url": "https://api.honcho.dev",
            "description": "Production SaaS Platform"
        }
    ],
    "paths": {
        "/v1/apps": {
            "get": {
                "tags": [
                    "apps"
                ],
                "summary": "Get App",
                "description": "Get an App by ID.\n\nIf app_id is provided as a query parameter, it uses that (must match JWT app_id).\nOtherwise, it uses the app_id from the JWT.",
                "operationId": "get_app_v1_apps_get",
                "security": [
                    {
                        "HTTPBearer": []
                    },
                    {}
                ],
                "parameters": [
                    {
                        "name": "app_id",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "anyOf": [
                                {
                                    "type": "string"
                                },
                                {
                                    "type": "null"
                                }
                            ],
                            "description": "App ID to retrieve. If not provided, uses JWT",
                            "title": "App Id"
                        },
                        "description": "App ID to retrieve. If not provided, uses JWT"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful Response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/App"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation Error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/HTTPValidationError"
                                }
                            }
                        }
                    }
                },
                "x-codeSamples": [
                    {
                        "lang": "JavaScript",
                        "source": "import Honcho from 'honcho-ai';\n\nconst client = new Honcho({\n  apiKey: process.env['HONCHO_API_KEY'], // This is the default and can be omitted\n});\n\nasync function main() {\n  const app = await client.apps.get();\n\n  console.log(app.id);\n}\n\nmain();"
                    },
                    {
                        "lang": "Python",
                        "source": "import os\nfrom honcho import Honcho\n\nclient = Honcho(\n    api_key=os.environ.get(\"HONCHO_API_KEY\"),  # This is the default and can be omitted\n)\napp = client.apps.get()\nprint(app.id)"
                    }
                ]
            },
            "post": {
                "tags": [
                    "apps"
                ],
                "summary": "Create App",
                "description": "Create a new App",
                "operationId": "create_app_v1_apps_post",
                "security": [
                    {
                        "HTTPBearer": []
                    },
                    {}
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/AppCreate",
                                "description": "App creation parameters"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful Response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/App"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation Error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/HTTPValidationError"
                                }
                            }
                        }
                    }
                },
                "x-codeSamples": [
                    {
                        "lang": "JavaScript",
                        "source": "import Honcho from 'honcho-ai';\n\nconst client = new Honcho({\n  apiKey: process.env['HONCHO_API_KEY'], // This is the default and can be omitted\n});\n\nasync function main() {\n  const app = await client.apps.create({ name: 'x' });\n\n  console.log(app.id);\n}\n\nmain();"
                    },
                    {
                        "lang": "Python",
                        "source": "import os\nfrom honcho import Honcho\n\nclient = Honcho(\n    api_key=os.environ.get(\"HONCHO_API_KEY\"),  # This is the default and can be omitted\n)\napp = client.apps.create(\n    name=\"x\",\n)\nprint(app.id)"
                    }
                ]
            }
        },
        "/v1/apps/list": {
            "post": {
                "tags": [
                    "apps"
                ],
                "summary": "Get All Apps",
                "description": "Get all Apps",
                "operationId": "get_all_apps_v1_apps_list_post",
                "security": [
                    {
                        "HTTPBearer": []
                    },
                    {}
                ],
                "parameters": [
                    {
                        "name": "reverse",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "anyOf": [
                                {
                                    "type": "boolean"
                                },
                                {
                                    "type": "null"
                                }
                            ],
                            "description": "Whether to reverse the order of results",
                            "default": false,
                            "title": "Reverse"
                        },
                        "description": "Whether to reverse the order of results"
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "description": "Page number",
                            "default": 1,
                            "title": "Page"
                        },
                        "description": "Page number"
                    },
                    {
                        "name": "size",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "maximum": 100,
                            "minimum": 1,
                            "description": "Page size",
                            "default": 50,
                            "title": "Size"
                        },
                        "description": "Page size"
                    }
                ],
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "anyOf": [
                                    {
                                        "$ref": "#/components/schemas/AppGet"
                                    },
                                    {
                                        "type": "null"
                                    }
                                ],
                                "description": "Filtering and pagination options for the apps list",
                                "title": "Options"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful Response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Page_App_"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation Error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/HTTPValidationError"
                                }
                            }
                        }
                    }
                },
                "x-codeSamples": [
                    {
                        "lang": "JavaScript",
                        "source": "import Honcho from 'honcho-ai';\n\nconst client = new Honcho({\n  apiKey: process.env['HONCHO_API_KEY'], // This is the default and can be omitted\n});\n\nasync function main() {\n  // Automatically fetches more pages as needed.\n  for await (const app of client.apps.list()) {\n    console.log(app.id);\n  }\n}\n\nmain();"
                    },
                    {
                        "lang": "Python",
                        "source": "import os\nfrom honcho import Honcho\n\nclient = Honcho(\n    api_key=os.environ.get(\"HONCHO_API_KEY\"),  # This is the default and can be omitted\n)\npage = client.apps.list()\npage = page.items[0]\nprint(page.id)"
                    }
                ]
            }
        },
        "/v1/apps/name/{name}": {
            "get": {
                "tags": [
                    "apps"
                ],
                "summary": "Get App By Name",
                "description": "Get an App by Name",
                "operationId": "get_app_by_name_v1_apps_name__name__get",
                "security": [
                    {
                        "HTTPBearer": []
                    },
                    {}
                ],
                "parameters": [
                    {
                        "name": "name",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "description": "Name of the app to retrieve",
                            "title": "Name"
                        },
                        "description": "Name of the app to retrieve"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful Response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/App"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation Error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/HTTPValidationError"
                                }
                            }
                        }
                    }
                },
                "x-codeSamples": [
                    {
                        "lang": "JavaScript",
                        "source": "import Honcho from 'honcho-ai';\n\nconst client = new Honcho({\n  apiKey: process.env['HONCHO_API_KEY'], // This is the default and can be omitted\n});\n\nasync function main() {\n  const app = await client.apps.getByName('name');\n\n  console.log(app.id);\n}\n\nmain();"
                    },
                    {
                        "lang": "Python",
                        "source": "import os\nfrom honcho import Honcho\n\nclient = Honcho(\n    api_key=os.environ.get(\"HONCHO_API_KEY\"),  # This is the default and can be omitted\n)\napp = client.apps.get_by_name(\n    \"name\",\n)\nprint(app.id)"
                    }
                ]
            }
        },
        "/v1/apps/get_or_create/{name}": {
            "get": {
                "tags": [
                    "apps"
                ],
                "summary": "Get Or Create App",
                "description": "Get or Create an App",
                "operationId": "get_or_create_app_v1_apps_get_or_create__name__get",
                "security": [
                    {
                        "HTTPBearer": []
                    },
                    {}
                ],
                "parameters": [
                    {
                        "name": "name",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "description": "Name of the app to get or create",
                            "title": "Name"
                        },
                        "description": "Name of the app to get or create"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful Response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/App"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation Error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/HTTPValidationError"
                                }
                            }
                        }
                    }
                },
                "x-codeSamples": [
                    {
                        "lang": "JavaScript",
                        "source": "import Honcho from 'honcho-ai';\n\nconst client = new Honcho({\n  apiKey: process.env['HONCHO_API_KEY'], // This is the default and can be omitted\n});\n\nasync function main() {\n  const app = await client.apps.getOrCreate('name');\n\n  console.log(app.id);\n}\n\nmain();"
                    },
                    {
                        "lang": "Python",
                        "source": "import os\nfrom honcho import Honcho\n\nclient = Honcho(\n    api_key=os.environ.get(\"HONCHO_API_KEY\"),  # This is the default and can be omitted\n)\napp = client.apps.get_or_create(\n    \"name\",\n)\nprint(app.id)"
                    }
                ]
            }
        },
        "/v1/apps/{app_id}": {
            "put": {
                "tags": [
                    "apps"
                ],
                "summary": "Update App",
                "description": "Update an App",
                "operationId": "update_app_v1_apps__app_id__put",
                "security": [
                    {
                        "HTTPBearer": []
                    },
                    {}
                ],
                "parameters": [
                    {
                        "name": "app_id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "description": "ID of the app to update",
                            "title": "App Id"
                        },
                        "description": "ID of the app to update"
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/AppUpdate",
                                "description": "Updated app parameters"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful Response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/App"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation Error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/HTTPValidationError"
                                }
                            }
                        }
                    }
                },
                "x-codeSamples": [
                    {
                        "lang": "JavaScript",
                        "source": "import Honcho from 'honcho-ai';\n\nconst client = new Honcho({\n  apiKey: process.env['HONCHO_API_KEY'], // This is the default and can be omitted\n});\n\nasync function main() {\n  const app = await client.apps.update('app_id');\n\n  console.log(app.id);\n}\n\nmain();"
                    },
                    {
                        "lang": "Python",
                        "source": "import os\nfrom honcho import Honcho\n\nclient = Honcho(\n    api_key=os.environ.get(\"HONCHO_API_KEY\"),  # This is the default and can be omitted\n)\napp = client.apps.update(\n    app_id=\"app_id\",\n)\nprint(app.id)"
                    }
                ]
            }
        },
        "/v1/apps/{app_id}/users": {
            "post": {
                "tags": [
                    "users"
                ],
                "summary": "Create User",
                "description": "Create a new User",
                "operationId": "create_user_v1_apps__app_id__users_post",
                "security": [
                    {
                        "HTTPBearer": []
                    },
                    {}
                ],
                "parameters": [
                    {
                        "name": "app_id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "description": "ID of the app",
                            "title": "App Id"
                        },
                        "description": "ID of the app"
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/UserCreate",
                                "description": "User creation parameters"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful Response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/User"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation Error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/HTTPValidationError"
                                }
                            }
                        }
                    }
                },
                "x-codeSamples": [
                    {
                        "lang": "JavaScript",
                        "source": "import Honcho from 'honcho-ai';\n\nconst client = new Honcho({\n  apiKey: process.env['HONCHO_API_KEY'], // This is the default and can be omitted\n});\n\nasync function main() {\n  const user = await client.apps.users.create('app_id', { name: 'x' });\n\n  console.log(user.id);\n}\n\nmain();"
                    },
                    {
                        "lang": "Python",
                        "source": "import os\nfrom honcho import Honcho\n\nclient = Honcho(\n    api_key=os.environ.get(\"HONCHO_API_KEY\"),  # This is the default and can be omitted\n)\nuser = client.apps.users.create(\n    app_id=\"app_id\",\n    name=\"x\",\n)\nprint(user.id)"
                    }
                ]
            },
            "get": {
                "tags": [
                    "users"
                ],
                "summary": "Get User",
                "description": "Get a User by ID\n\nIf user_id is provided as a query parameter, it uses that (must match JWT app_id).\nOtherwise, it uses the user_id from the JWT.",
                "operationId": "get_user_v1_apps__app_id__users_get",
                "security": [
                    {
                        "HTTPBearer": []
                    },
                    {}
                ],
                "parameters": [
                    {
                        "name": "app_id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "description": "ID of the app",
                            "title": "App Id"
                        },
                        "description": "ID of the app"
                    },
                    {
                        "name": "user_id",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "anyOf": [
                                {
                                    "type": "string"
                                },
                                {
                                    "type": "null"
                                }
                            ],
                            "description": "User ID to retrieve. If not provided, uses JWT",
                            "title": "User Id"
                        },
                        "description": "User ID to retrieve. If not provided, uses JWT"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful Response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/User"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation Error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/HTTPValidationError"
                                }
                            }
                        }
                    }
                },
                "x-codeSamples": [
                    {
                        "lang": "JavaScript",
                        "source": "import Honcho from 'honcho-ai';\n\nconst client = new Honcho({\n  apiKey: process.env['HONCHO_API_KEY'], // This is the default and can be omitted\n});\n\nasync function main() {\n  const user = await client.apps.users.get('app_id');\n\n  console.log(user.id);\n}\n\nmain();"
                    },
                    {
                        "lang": "Python",
                        "source": "import os\nfrom honcho import Honcho\n\nclient = Honcho(\n    api_key=os.environ.get(\"HONCHO_API_KEY\"),  # This is the default and can be omitted\n)\nuser = client.apps.users.get(\n    app_id=\"app_id\",\n)\nprint(user.id)"
                    }
                ]
            }
        },
        "/v1/apps/{app_id}/users/list": {
            "post": {
                "tags": [
                    "users"
                ],
                "summary": "Get Users",
                "description": "Get All Users for an App",
                "operationId": "get_users_v1_apps__app_id__users_list_post",
                "security": [
                    {
                        "HTTPBearer": []
                    },
                    {}
                ],
                "parameters": [
                    {
                        "name": "app_id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "description": "ID of the app",
                            "title": "App Id"
                        },
                        "description": "ID of the app"
                    },
                    {
                        "name": "reverse",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "boolean",
                            "description": "Whether to reverse the order of results",
                            "default": false,
                            "title": "Reverse"
                        },
                        "description": "Whether to reverse the order of results"
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "description": "Page number",
                            "default": 1,
                            "title": "Page"
                        },
                        "description": "Page number"
                    },
                    {
                        "name": "size",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "maximum": 100,
                            "minimum": 1,
                            "description": "Page size",
                            "default": 50,
                            "title": "Size"
                        },
                        "description": "Page size"
                    }
                ],
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "anyOf": [
                                    {
                                        "$ref": "#/components/schemas/UserGet"
                                    },
                                    {
                                        "type": "null"
                                    }
                                ],
                                "description": "Filtering options for the users list",
                                "title": "Options"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful Response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Page_User_"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation Error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/HTTPValidationError"
                                }
                            }
                        }
                    }
                },
                "x-codeSamples": [
                    {
                        "lang": "JavaScript",
                        "source": "import Honcho from 'honcho-ai';\n\nconst client = new Honcho({\n  apiKey: process.env['HONCHO_API_KEY'], // This is the default and can be omitted\n});\n\nasync function main() {\n  // Automatically fetches more pages as needed.\n  for await (const user of client.apps.users.list('app_id')) {\n    console.log(user.id);\n  }\n}\n\nmain();"
                    },
                    {
                        "lang": "Python",
                        "source": "import os\nfrom honcho import Honcho\n\nclient = Honcho(\n    api_key=os.environ.get(\"HONCHO_API_KEY\"),  # This is the default and can be omitted\n)\npage = client.apps.users.list(\n    app_id=\"app_id\",\n)\npage = page.items[0]\nprint(page.id)"
                    }
                ]
            }
        },
        "/v1/apps/{app_id}/users/name/{name}": {
            "get": {
                "tags": [
                    "users"
                ],
                "summary": "Get User By Name",
                "description": "Get a User by name",
                "operationId": "get_user_by_name_v1_apps__app_id__users_name__name__get",
                "security": [
                    {
                        "HTTPBearer": []
                    },
                    {}
                ],
                "parameters": [
                    {
                        "name": "app_id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "description": "ID of the app",
                            "title": "App Id"
                        },
                        "description": "ID of the app"
                    },
                    {
                        "name": "name",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "description": "Name of the user to retrieve",
                            "title": "Name"
                        },
                        "description": "Name of the user to retrieve"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful Response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/User"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation Error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/HTTPValidationError"
                                }
                            }
                        }
                    }
                },
                "x-codeSamples": [
                    {
                        "lang": "JavaScript",
                        "source": "import Honcho from 'honcho-ai';\n\nconst client = new Honcho({\n  apiKey: process.env['HONCHO_API_KEY'], // This is the default and can be omitted\n});\n\nasync function main() {\n  const user = await client.apps.users.getByName('app_id', 'name');\n\n  console.log(user.id);\n}\n\nmain();"
                    },
                    {
                        "lang": "Python",
                        "source": "import os\nfrom honcho import Honcho\n\nclient = Honcho(\n    api_key=os.environ.get(\"HONCHO_API_KEY\"),  # This is the default and can be omitted\n)\nuser = client.apps.users.get_by_name(\n    name=\"name\",\n    app_id=\"app_id\",\n)\nprint(user.id)"
                    }
                ]
            }
        },
        "/v1/apps/{app_id}/users/get_or_create/{name}": {
            "get": {
                "tags": [
                    "users"
                ],
                "summary": "Get Or Create User",
                "description": "Get a User or create a new one by the input name",
                "operationId": "get_or_create_user_v1_apps__app_id__users_get_or_create__name__get",
                "security": [
                    {
                        "HTTPBearer": []
                    },
                    {}
                ],
                "parameters": [
                    {
                        "name": "app_id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "description": "ID of the app",
                            "title": "App Id"
                        },
                        "description": "ID of the app"
                    },
                    {
                        "name": "name",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "description": "Name of the user to get or create",
                            "title": "Name"
                        },
                        "description": "Name of the user to get or create"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful Response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/User"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation Error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/HTTPValidationError"
                                }
                            }
                        }
                    }
                },
                "x-codeSamples": [
                    {
                        "lang": "JavaScript",
                        "source": "import Honcho from 'honcho-ai';\n\nconst client = new Honcho({\n  apiKey: process.env['HONCHO_API_KEY'], // This is the default and can be omitted\n});\n\nasync function main() {\n  const user = await client.apps.users.getOrCreate('app_id', 'name');\n\n  console.log(user.id);\n}\n\nmain();"
                    },
                    {
                        "lang": "Python",
                        "source": "import os\nfrom honcho import Honcho\n\nclient = Honcho(\n    api_key=os.environ.get(\"HONCHO_API_KEY\"),  # This is the default and can be omitted\n)\nuser = client.apps.users.get_or_create(\n    name=\"name\",\n    app_id=\"app_id\",\n)\nprint(user.id)"
                    }
                ]
            }
        },
        "/v1/apps/{app_id}/users/{user_id}": {
            "put": {
                "tags": [
                    "users"
                ],
                "summary": "Update User",
                "description": "Update a User's name and/or metadata",
                "operationId": "update_user_v1_apps__app_id__users__user_id__put",
                "security": [
                    {
                        "HTTPBearer": []
                    },
                    {}
                ],
                "parameters": [
                    {
                        "name": "app_id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "description": "ID of the app",
                            "title": "App Id"
                        },
                        "description": "ID of the app"
                    },
                    {
                        "name": "user_id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "description": "ID of the user to update",
                            "title": "User Id"
                        },
                        "description": "ID of the user to update"
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/UserUpdate",
                                "description": "Updated user parameters"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful Response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/User"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation Error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/HTTPValidationError"
                                }
                            }
                        }
                    }
                },
                "x-codeSamples": [
                    {
                        "lang": "JavaScript",
                        "source": "import Honcho from 'honcho-ai';\n\nconst client = new Honcho({\n  apiKey: process.env['HONCHO_API_KEY'], // This is the default and can be omitted\n});\n\nasync function main() {\n  const user = await client.apps.users.update('app_id', 'user_id');\n\n  console.log(user.id);\n}\n\nmain();"
                    },
                    {
                        "lang": "Python",
                        "source": "import os\nfrom honcho import Honcho\n\nclient = Honcho(\n    api_key=os.environ.get(\"HONCHO_API_KEY\"),  # This is the default and can be omitted\n)\nuser = client.apps.users.update(\n    user_id=\"user_id\",\n    app_id=\"app_id\",\n)\nprint(user.id)"
                    }
                ]
            }
        },
        "/v1/apps/{app_id}/users/{user_id}/sessions": {
            "get": {
                "tags": [
                    "sessions"
                ],
                "summary": "Get Session",
                "description": "Get a specific session for a user.\n\nIf session_id is provided as a query parameter, it uses that (must match JWT session_id).\nOtherwise, it uses the session_id from the JWT.",
                "operationId": "get_session_v1_apps__app_id__users__user_id__sessions_get",
                "security": [
                    {
                        "HTTPBearer": []
                    },
                    {}
                ],
                "parameters": [
                    {
                        "name": "app_id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "description": "ID of the app",
                            "title": "App Id"
                        },
                        "description": "ID of the app"
                    },
                    {
                        "name": "user_id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "description": "ID of the user",
                            "title": "User Id"
                        },
                        "description": "ID of the user"
                    },
                    {
                        "name": "session_id",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "anyOf": [
                                {
                                    "type": "string"
                                },
                                {
                                    "type": "null"
                                }
                            ],
                            "description": "Session ID to retrieve. If not provided, uses JWT",
                            "title": "Session Id"
                        },
                        "description": "Session ID to retrieve. If not provided, uses JWT"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful Response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Session"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation Error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/HTTPValidationError"
                                }
                            }
                        }
                    }
                },
                "x-codeSamples": [
                    {
                        "lang": "JavaScript",
                        "source": "import Honcho from 'honcho-ai';\n\nconst client = new Honcho({\n  apiKey: process.env['HONCHO_API_KEY'], // This is the default and can be omitted\n});\n\nasync function main() {\n  const session = await client.apps.users.sessions.get('app_id', 'user_id');\n\n  console.log(session.id);\n}\n\nmain();"
                    },
                    {
                        "lang": "Python",
                        "source": "import os\nfrom honcho import Honcho\n\nclient = Honcho(\n    api_key=os.environ.get(\"HONCHO_API_KEY\"),  # This is the default and can be omitted\n)\nsession = client.apps.users.sessions.get(\n    user_id=\"user_id\",\n    app_id=\"app_id\",\n)\nprint(session.id)"
                    }
                ]
            },
            "post": {
                "tags": [
                    "sessions"
                ],
                "summary": "Create Session",
                "description": "Create a Session for a User",
                "operationId": "create_session_v1_apps__app_id__users__user_id__sessions_post",
                "security": [
                    {
                        "HTTPBearer": []
                    },
                    {}
                ],
                "parameters": [
                    {
                        "name": "app_id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "description": "ID of the app",
                            "title": "App Id"
                        },
                        "description": "ID of the app"
                    },
                    {
                        "name": "user_id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "description": "ID of the user",
                            "title": "User Id"
                        },
                        "description": "ID of the user"
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/SessionCreate",
                                "description": "Session creation parameters"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful Response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Session"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation Error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/HTTPValidationError"
                                }
                            }
                        }
                    }
                },
                "x-codeSamples": [
                    {
                        "lang": "JavaScript",
                        "source": "import Honcho from 'honcho-ai';\n\nconst client = new Honcho({\n  apiKey: process.env['HONCHO_API_KEY'], // This is the default and can be omitted\n});\n\nasync function main() {\n  const session = await client.apps.users.sessions.create('app_id', 'user_id');\n\n  console.log(session.id);\n}\n\nmain();"
                    },
                    {
                        "lang": "Python",
                        "source": "import os\nfrom honcho import Honcho\n\nclient = Honcho(\n    api_key=os.environ.get(\"HONCHO_API_KEY\"),  # This is the default and can be omitted\n)\nsession = client.apps.users.sessions.create(\n    user_id=\"user_id\",\n    app_id=\"app_id\",\n)\nprint(session.id)"
                    }
                ]
            }
        },
        "/v1/apps/{app_id}/users/{user_id}/sessions/list": {
            "post": {
                "tags": [
                    "sessions"
                ],
                "summary": "Get Sessions",
                "description": "Get All Sessions for a User",
                "operationId": "get_sessions_v1_apps__app_id__users__user_id__sessions_list_post",
                "security": [
                    {
                        "HTTPBearer": []
                    },
                    {}
                ],
                "parameters": [
                    {
                        "name": "app_id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "description": "ID of the app",
                            "title": "App Id"
                        },
                        "description": "ID of the app"
                    },
                    {
                        "name": "user_id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "description": "ID of the user",
                            "title": "User Id"
                        },
                        "description": "ID of the user"
                    },
                    {
                        "name": "reverse",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "anyOf": [
                                {
                                    "type": "boolean"
                                },
                                {
                                    "type": "null"
                                }
                            ],
                            "description": "Whether to reverse the order of results",
                            "default": false,
                            "title": "Reverse"
                        },
                        "description": "Whether to reverse the order of results"
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "description": "Page number",
                            "default": 1,
                            "title": "Page"
                        },
                        "description": "Page number"
                    },
                    {
                        "name": "size",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "maximum": 100,
                            "minimum": 1,
                            "description": "Page size",
                            "default": 50,
                            "title": "Size"
                        },
                        "description": "Page size"
                    }
                ],
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "anyOf": [
                                    {
                                        "$ref": "#/components/schemas/SessionGet"
                                    },
                                    {
                                        "type": "null"
                                    }
                                ],
                                "description": "Filtering and pagination options for the sessions list",
                                "title": "Options"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful Response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Page_Session_"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation Error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/HTTPValidationError"
                                }
                            }
                        }
                    }
                },
                "x-codeSamples": [
                    {
                        "lang": "JavaScript",
                        "source": "import Honcho from 'honcho-ai';\n\nconst client = new Honcho({\n  apiKey: process.env['HONCHO_API_KEY'], // This is the default and can be omitted\n});\n\nasync function main() {\n  // Automatically fetches more pages as needed.\n  for await (const session of client.apps.users.sessions.list('app_id', 'user_id')) {\n    console.log(session.id);\n  }\n}\n\nmain();"
                    },
                    {
                        "lang": "Python",
                        "source": "import os\nfrom honcho import Honcho\n\nclient = Honcho(\n    api_key=os.environ.get(\"HONCHO_API_KEY\"),  # This is the default and can be omitted\n)\npage = client.apps.users.sessions.list(\n    user_id=\"user_id\",\n    app_id=\"app_id\",\n)\npage = page.items[0]\nprint(page.id)"
                    }
                ]
            }
        },
        "/v1/apps/{app_id}/users/{user_id}/sessions/{session_id}": {
            "put": {
                "tags": [
                    "sessions"
                ],
                "summary": "Update Session",
                "description": "Update the metadata of a Session",
                "operationId": "update_session_v1_apps__app_id__users__user_id__sessions__session_id__put",
                "security": [
                    {
                        "HTTPBearer": []
                    },
                    {}
                ],
                "parameters": [
                    {
                        "name": "app_id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "description": "ID of the app",
                            "title": "App Id"
                        },
                        "description": "ID of the app"
                    },
                    {
                        "name": "user_id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "description": "ID of the user",
                            "title": "User Id"
                        },
                        "description": "ID of the user"
                    },
                    {
                        "name": "session_id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "description": "ID of the session to update",
                            "title": "Session Id"
                        },
                        "description": "ID of the session to update"
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/SessionUpdate",
                                "description": "Updated session parameters"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful Response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Session"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation Error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/HTTPValidationError"
                                }
                            }
                        }
                    }
                },
                "x-codeSamples": [
                    {
                        "lang": "JavaScript",
                        "source": "import Honcho from 'honcho-ai';\n\nconst client = new Honcho({\n  apiKey: process.env['HONCHO_API_KEY'], // This is the default and can be omitted\n});\n\nasync function main() {\n  const session = await client.apps.users.sessions.update('app_id', 'user_id', 'session_id', {\n    metadata: { foo: 'bar' },\n  });\n\n  console.log(session.id);\n}\n\nmain();"
                    },
                    {
                        "lang": "Python",
                        "source": "import os\nfrom honcho import Honcho\n\nclient = Honcho(\n    api_key=os.environ.get(\"HONCHO_API_KEY\"),  # This is the default and can be omitted\n)\nsession = client.apps.users.sessions.update(\n    session_id=\"session_id\",\n    app_id=\"app_id\",\n    user_id=\"user_id\",\n    metadata={\n        \"foo\": \"bar\"\n    },\n)\nprint(session.id)"
                    }
                ]
            },
            "delete": {
                "tags": [
                    "sessions"
                ],
                "summary": "Delete Session",
                "description": "Delete a session by marking it as inactive",
                "operationId": "delete_session_v1_apps__app_id__users__user_id__sessions__session_id__delete",
                "security": [
                    {
                        "HTTPBearer": []
                    },
                    {}
                ],
                "parameters": [
                    {
                        "name": "app_id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "description": "ID of the app",
                            "title": "App Id"
                        },
                        "description": "ID of the app"
                    },
                    {
                        "name": "user_id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "description": "ID of the user",
                            "title": "User Id"
                        },
                        "description": "ID of the user"
                    },
                    {
                        "name": "session_id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "description": "ID of the session to delete",
                            "title": "Session Id"
                        },
                        "description": "ID of the session to delete"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful Response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    },
                    "422": {
                        "description": "Validation Error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/HTTPValidationError"
                                }
                            }
                        }
                    }
                },
                "x-codeSamples": [
                    {
                        "lang": "JavaScript",
                        "source": "import Honcho from 'honcho-ai';\n\nconst client = new Honcho({\n  apiKey: process.env['HONCHO_API_KEY'], // This is the default and can be omitted\n});\n\nasync function main() {\n  const session = await client.apps.users.sessions.delete('app_id', 'user_id', 'session_id');\n\n  console.log(session);\n}\n\nmain();"
                    },
                    {
                        "lang": "Python",
                        "source": "import os\nfrom honcho import Honcho\n\nclient = Honcho(\n    api_key=os.environ.get(\"HONCHO_API_KEY\"),  # This is the default and can be omitted\n)\nsession = client.apps.users.sessions.delete(\n    session_id=\"session_id\",\n    app_id=\"app_id\",\n    user_id=\"user_id\",\n)\nprint(session)"
                    }
                ]
            }
        },
        "/v1/apps/{app_id}/users/{user_id}/sessions/{session_id}/chat": {
            "post": {
                "tags": [
                    "sessions"
                ],
                "summary": "Chat",
                "description": "Chat with the Dialectic API",
                "operationId": "chat_v1_apps__app_id__users__user_id__sessions__session_id__chat_post",
                "security": [
                    {
                        "HTTPBearer": []
                    },
                    {}
                ],
                "parameters": [
                    {
                        "name": "app_id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "description": "ID of the app",
                            "title": "App Id"
                        },
                        "description": "ID of the app"
                    },
                    {
                        "name": "user_id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "description": "ID of the user",
                            "title": "User Id"
                        },
                        "description": "ID of the user"
                    },
                    {
                        "name": "session_id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "description": "ID of the session",
                            "title": "Session Id"
                        },
                        "description": "ID of the session"
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/DialecticOptions",
                                "description": "Dialectic Endpoint Parameters"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Response to a question informed by Honcho's User Representation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/DialecticResponse"
                                }
                            },
                            "text/event-stream": {}
                        }
                    },
                    "422": {
                        "description": "Validation Error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/HTTPValidationError"
                                }
                            }
                        }
                    }
                },
                "x-codeSamples": [
                    {
                        "lang": "JavaScript",
                        "source": "import Honcho from 'honcho-ai';\n\nconst client = new Honcho({\n  apiKey: process.env['HONCHO_API_KEY'], // This is the default and can be omitted\n});\n\nasync function main() {\n  const dialecticResponse = await client.apps.users.sessions.chat('app_id', 'user_id', 'session_id', {\n    queries: 'string',\n  });\n\n  console.log(dialecticResponse.content);\n}\n\nmain();"
                    },
                    {
                        "lang": "Python",
                        "source": "import os\nfrom honcho import Honcho\n\nclient = Honcho(\n    api_key=os.environ.get(\"HONCHO_API_KEY\"),  # This is the default and can be omitted\n)\ndialectic_response = client.apps.users.sessions.chat(\n    session_id=\"session_id\",\n    app_id=\"app_id\",\n    user_id=\"user_id\",\n    queries=\"string\",\n)\nprint(dialectic_response.content)"
                    }
                ]
            }
        },
        "/v1/apps/{app_id}/users/{user_id}/sessions/{session_id}/clone": {
            "get": {
                "tags": [
                    "sessions"
                ],
                "summary": "Clone Session",
                "description": "Clone a session, optionally up to a specific message",
                "operationId": "clone_session_v1_apps__app_id__users__user_id__sessions__session_id__clone_get",
                "security": [
                    {
                        "HTTPBearer": []
                    },
                    {}
                ],
                "parameters": [
                    {
                        "name": "app_id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "description": "ID of the app",
                            "title": "App Id"
                        },
                        "description": "ID of the app"
                    },
                    {
                        "name": "user_id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "description": "ID of the user",
                            "title": "User Id"
                        },
                        "description": "ID of the user"
                    },
                    {
                        "name": "session_id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "description": "ID of the session to clone",
                            "title": "Session Id"
                        },
                        "description": "ID of the session to clone"
                    },
                    {
                        "name": "message_id",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "anyOf": [
                                {
                                    "type": "string"
                                },
                                {
                                    "type": "null"
                                }
                            ],
                            "description": "Message ID to cut off the clone at",
                            "title": "Message Id"
                        },
                        "description": "Message ID to cut off the clone at"
                    },
                    {
                        "name": "deep_copy",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "boolean",
                            "description": "Whether to deep copy metamessages",
                            "default": false,
                            "title": "Deep Copy"
                        },
                        "description": "Whether to deep copy metamessages"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful Response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Session"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation Error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/HTTPValidationError"
                                }
                            }
                        }
                    }
                },
                "x-codeSamples": [
                    {
                        "lang": "JavaScript",
                        "source": "import Honcho from 'honcho-ai';\n\nconst client = new Honcho({\n  apiKey: process.env['HONCHO_API_KEY'], // This is the default and can be omitted\n});\n\nasync function main() {\n  const session = await client.apps.users.sessions.clone('app_id', 'user_id', 'session_id');\n\n  console.log(session.id);\n}\n\nmain();"
                    },
                    {
                        "lang": "Python",
                        "source": "import os\nfrom honcho import Honcho\n\nclient = Honcho(\n    api_key=os.environ.get(\"HONCHO_API_KEY\"),  # This is the default and can be omitted\n)\nsession = client.apps.users.sessions.clone(\n    session_id=\"session_id\",\n    app_id=\"app_id\",\n    user_id=\"user_id\",\n)\nprint(session.id)"
                    }
                ]
            }
        },
        "/v1/apps/{app_id}/users/{user_id}/sessions/{session_id}/messages": {
            "post": {
                "tags": [
                    "messages"
                ],
                "summary": "Create Message For Session",
                "description": "Adds a message to a session",
                "operationId": "create_message_for_session_v1_apps__app_id__users__user_id__sessions__session_id__messages_post",
                "security": [
                    {
                        "HTTPBearer": []
                    },
                    {}
                ],
                "parameters": [
                    {
                        "name": "app_id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "description": "ID of the app",
                            "title": "App Id"
                        },
                        "description": "ID of the app"
                    },
                    {
                        "name": "user_id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "description": "ID of the user",
                            "title": "User Id"
                        },
                        "description": "ID of the user"
                    },
                    {
                        "name": "session_id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "description": "ID of the session",
                            "title": "Session Id"
                        },
                        "description": "ID of the session"
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/MessageCreate",
                                "description": "Message creation parameters"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful Response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Message"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation Error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/HTTPValidationError"
                                }
                            }
                        }
                    }
                },
                "x-codeSamples": [
                    {
                        "lang": "JavaScript",
                        "source": "import Honcho from 'honcho-ai';\n\nconst client = new Honcho({\n  apiKey: process.env['HONCHO_API_KEY'], // This is the default and can be omitted\n});\n\nasync function main() {\n  const message = await client.apps.users.sessions.messages.create('app_id', 'user_id', 'session_id', {\n    content: 'content',\n    is_user: true,\n  });\n\n  console.log(message.id);\n}\n\nmain();"
                    },
                    {
                        "lang": "Python",
                        "source": "import os\nfrom honcho import Honcho\n\nclient = Honcho(\n    api_key=os.environ.get(\"HONCHO_API_KEY\"),  # This is the default and can be omitted\n)\nmessage = client.apps.users.sessions.messages.create(\n    session_id=\"session_id\",\n    app_id=\"app_id\",\n    user_id=\"user_id\",\n    content=\"content\",\n    is_user=True,\n)\nprint(message.id)"
                    }
                ]
            }
        },
        "/v1/apps/{app_id}/users/{user_id}/sessions/{session_id}/messages/batch": {
            "post": {
                "tags": [
                    "messages"
                ],
                "summary": "Create Batch Messages For Session",
                "description": "Bulk create messages for a session while maintaining order. Maximum 100 messages per batch.",
                "operationId": "create_batch_messages_for_session_v1_apps__app_id__users__user_id__sessions__session_id__messages_batch_post",
                "security": [
                    {
                        "HTTPBearer": []
                    },
                    {}
                ],
                "parameters": [
                    {
                        "name": "app_id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "description": "ID of the app",
                            "title": "App Id"
                        },
                        "description": "ID of the app"
                    },
                    {
                        "name": "user_id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "description": "ID of the user",
                            "title": "User Id"
                        },
                        "description": "ID of the user"
                    },
                    {
                        "name": "session_id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "description": "ID of the session",
                            "title": "Session Id"
                        },
                        "description": "ID of the session"
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/MessageBatchCreate",
                                "description": "Batch of messages to create"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful Response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/components/schemas/Message"
                                    },
                                    "title": "Response Create Batch Messages For Session V1 Apps  App Id  Users  User Id  Sessions  Session Id  Messages Batch Post"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation Error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/HTTPValidationError"
                                }
                            }
                        }
                    }
                },
                "x-codeSamples": [
                    {
                        "lang": "JavaScript",
                        "source": "import Honcho from 'honcho-ai';\n\nconst client = new Honcho({\n  apiKey: process.env['HONCHO_API_KEY'], // This is the default and can be omitted\n});\n\nasync function main() {\n  const messages = await client.apps.users.sessions.messages.batch('app_id', 'user_id', 'session_id', {\n    messages: [{ content: 'content', is_user: true }],\n  });\n\n  console.log(messages);\n}\n\nmain();"
                    },
                    {
                        "lang": "Python",
                        "source": "import os\nfrom honcho import Honcho\n\nclient = Honcho(\n    api_key=os.environ.get(\"HONCHO_API_KEY\"),  # This is the default and can be omitted\n)\nmessages = client.apps.users.sessions.messages.batch(\n    session_id=\"session_id\",\n    app_id=\"app_id\",\n    user_id=\"user_id\",\n    messages=[{\n        \"content\": \"content\",\n        \"is_user\": True,\n    }],\n)\nprint(messages)"
                    }
                ]
            }
        },
        "/v1/apps/{app_id}/users/{user_id}/sessions/{session_id}/messages/list": {
            "post": {
                "tags": [
                    "messages"
                ],
                "summary": "Get Messages",
                "description": "Get all messages for a session",
                "operationId": "get_messages_v1_apps__app_id__users__user_id__sessions__session_id__messages_list_post",
                "security": [
                    {
                        "HTTPBearer": []
                    },
                    {}
                ],
                "parameters": [
                    {
                        "name": "app_id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "description": "ID of the app",
                            "title": "App Id"
                        },
                        "description": "ID of the app"
                    },
                    {
                        "name": "user_id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "description": "ID of the user",
                            "title": "User Id"
                        },
                        "description": "ID of the user"
                    },
                    {
                        "name": "session_id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "description": "ID of the session",
                            "title": "Session Id"
                        },
                        "description": "ID of the session"
                    },
                    {
                        "name": "reverse",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "anyOf": [
                                {
                                    "type": "boolean"
                                },
                                {
                                    "type": "null"
                                }
                            ],
                            "description": "Whether to reverse the order of results",
                            "default": false,
                            "title": "Reverse"
                        },
                        "description": "Whether to reverse the order of results"
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "description": "Page number",
                            "default": 1,
                            "title": "Page"
                        },
                        "description": "Page number"
                    },
                    {
                        "name": "size",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "maximum": 100,
                            "minimum": 1,
                            "description": "Page size",
                            "default": 50,
                            "title": "Size"
                        },
                        "description": "Page size"
                    }
                ],
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "anyOf": [
                                    {
                                        "$ref": "#/components/schemas/MessageGet"
                                    },
                                    {
                                        "type": "null"
                                    }
                                ],
                                "description": "Filtering options for the messages list",
                                "title": "Options"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful Response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Page_Message_"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation Error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/HTTPValidationError"
                                }
                            }
                        }
                    }
                },
                "x-codeSamples": [
                    {
                        "lang": "JavaScript",
                        "source": "import Honcho from 'honcho-ai';\n\nconst client = new Honcho({\n  apiKey: process.env['HONCHO_API_KEY'], // This is the default and can be omitted\n});\n\nasync function main() {\n  // Automatically fetches more pages as needed.\n  for await (const message of client.apps.users.sessions.messages.list('app_id', 'user_id', 'session_id')) {\n    console.log(message.id);\n  }\n}\n\nmain();"
                    },
                    {
                        "lang": "Python",
                        "source": "import os\nfrom honcho import Honcho\n\nclient = Honcho(\n    api_key=os.environ.get(\"HONCHO_API_KEY\"),  # This is the default and can be omitted\n)\npage = client.apps.users.sessions.messages.list(\n    session_id=\"session_id\",\n    app_id=\"app_id\",\n    user_id=\"user_id\",\n)\npage = page.items[0]\nprint(page.id)"
                    }
                ]
            }
        },
        "/v1/apps/{app_id}/users/{user_id}/sessions/{session_id}/messages/{message_id}": {
            "get": {
                "tags": [
                    "messages"
                ],
                "summary": "Get Message",
                "description": "Get a Message by ID",
                "operationId": "get_message_v1_apps__app_id__users__user_id__sessions__session_id__messages__message_id__get",
                "security": [
                    {
                        "HTTPBearer": []
                    },
                    {}
                ],
                "parameters": [
                    {
                        "name": "app_id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "description": "ID of the app",
                            "title": "App Id"
                        },
                        "description": "ID of the app"
                    },
                    {
                        "name": "user_id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "description": "ID of the user",
                            "title": "User Id"
                        },
                        "description": "ID of the user"
                    },
                    {
                        "name": "session_id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "description": "ID of the session",
                            "title": "Session Id"
                        },
                        "description": "ID of the session"
                    },
                    {
                        "name": "message_id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "description": "ID of the message to retrieve",
                            "title": "Message Id"
                        },
                        "description": "ID of the message to retrieve"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful Response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Message"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation Error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/HTTPValidationError"
                                }
                            }
                        }
                    }
                },
                "x-codeSamples": [
                    {
                        "lang": "JavaScript",
                        "source": "import Honcho from 'honcho-ai';\n\nconst client = new Honcho({\n  apiKey: process.env['HONCHO_API_KEY'], // This is the default and can be omitted\n});\n\nasync function main() {\n  const message = await client.apps.users.sessions.messages.get(\n    'app_id',\n    'user_id',\n    'session_id',\n    'message_id',\n  );\n\n  console.log(message.id);\n}\n\nmain();"
                    },
                    {
                        "lang": "Python",
                        "source": "import os\nfrom honcho import Honcho\n\nclient = Honcho(\n    api_key=os.environ.get(\"HONCHO_API_KEY\"),  # This is the default and can be omitted\n)\nmessage = client.apps.users.sessions.messages.get(\n    message_id=\"message_id\",\n    app_id=\"app_id\",\n    user_id=\"user_id\",\n    session_id=\"session_id\",\n)\nprint(message.id)"
                    }
                ]
            },
            "put": {
                "tags": [
                    "messages"
                ],
                "summary": "Update Message",
                "description": "Update the metadata of a Message",
                "operationId": "update_message_v1_apps__app_id__users__user_id__sessions__session_id__messages__message_id__put",
                "security": [
                    {
                        "HTTPBearer": []
                    },
                    {}
                ],
                "parameters": [
                    {
                        "name": "app_id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "description": "ID of the app",
                            "title": "App Id"
                        },
                        "description": "ID of the app"
                    },
                    {
                        "name": "user_id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "description": "ID of the user",
                            "title": "User Id"
                        },
                        "description": "ID of the user"
                    },
                    {
                        "name": "session_id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "description": "ID of the session",
                            "title": "Session Id"
                        },
                        "description": "ID of the session"
                    },
                    {
                        "name": "message_id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "description": "ID of the message to update",
                            "title": "Message Id"
                        },
                        "description": "ID of the message to update"
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/MessageUpdate",
                                "description": "Updated message parameters"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful Response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Message"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation Error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/HTTPValidationError"
                                }
                            }
                        }
                    }
                },
                "x-codeSamples": [
                    {
                        "lang": "JavaScript",
                        "source": "import Honcho from 'honcho-ai';\n\nconst client = new Honcho({\n  apiKey: process.env['HONCHO_API_KEY'], // This is the default and can be omitted\n});\n\nasync function main() {\n  const message = await client.apps.users.sessions.messages.update(\n    'app_id',\n    'user_id',\n    'session_id',\n    'message_id',\n    { metadata: { foo: 'bar' } },\n  );\n\n  console.log(message.id);\n}\n\nmain();"
                    },
                    {
                        "lang": "Python",
                        "source": "import os\nfrom honcho import Honcho\n\nclient = Honcho(\n    api_key=os.environ.get(\"HONCHO_API_KEY\"),  # This is the default and can be omitted\n)\nmessage = client.apps.users.sessions.messages.update(\n    message_id=\"message_id\",\n    app_id=\"app_id\",\n    user_id=\"user_id\",\n    session_id=\"session_id\",\n    metadata={\n        \"foo\": \"bar\"\n    },\n)\nprint(message.id)"
                    }
                ]
            }
        },
        "/v1/apps/{app_id}/users/{user_id}/metamessages": {
            "post": {
                "tags": [
                    "metamessages"
                ],
                "summary": "Create Metamessage",
                "description": "Create a new metamessage associated with a user.\nOptionally link to a session and message by providing those IDs in the request body.",
                "operationId": "create_metamessage_v1_apps__app_id__users__user_id__metamessages_post",
                "security": [
                    {
                        "HTTPBearer": []
                    },
                    {}
                ],
                "parameters": [
                    {
                        "name": "app_id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "description": "ID of the app",
                            "title": "App Id"
                        },
                        "description": "ID of the app"
                    },
                    {
                        "name": "user_id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "description": "ID of the user",
                            "title": "User Id"
                        },
                        "description": "ID of the user"
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/MetamessageCreate",
                                "description": "Metamessage creation parameters"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful Response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Metamessage"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation Error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/HTTPValidationError"
                                }
                            }
                        }
                    }
                },
                "x-codeSamples": [
                    {
                        "lang": "JavaScript",
                        "source": "import Honcho from 'honcho-ai';\n\nconst client = new Honcho({\n  apiKey: process.env['HONCHO_API_KEY'], // This is the default and can be omitted\n});\n\nasync function main() {\n  const metamessage = await client.apps.users.metamessages.create('app_id', 'user_id', {\n    content: 'content',\n    metamessage_type: 'x',\n  });\n\n  console.log(metamessage.id);\n}\n\nmain();"
                    },
                    {
                        "lang": "Python",
                        "source": "import os\nfrom honcho import Honcho\n\nclient = Honcho(\n    api_key=os.environ.get(\"HONCHO_API_KEY\"),  # This is the default and can be omitted\n)\nmetamessage = client.apps.users.metamessages.create(\n    user_id=\"user_id\",\n    app_id=\"app_id\",\n    content=\"content\",\n    metamessage_type=\"x\",\n)\nprint(metamessage.id)"
                    }
                ]
            }
        },
        "/v1/apps/{app_id}/users/{user_id}/metamessages/list": {
            "post": {
                "tags": [
                    "metamessages"
                ],
                "summary": "Get Metamessages",
                "description": "Get metamessages with flexible filtering.\n\n- Filter by user only: No additional parameters needed\n- Filter by session: Provide session_id\n- Filter by message: Provide message_id (and session_id)\n- Filter by type: Provide label\n- Filter by metadata: Provide filter object",
                "operationId": "get_metamessages_v1_apps__app_id__users__user_id__metamessages_list_post",
                "security": [
                    {
                        "HTTPBearer": []
                    },
                    {}
                ],
                "parameters": [
                    {
                        "name": "app_id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "description": "ID of the app",
                            "title": "App Id"
                        },
                        "description": "ID of the app"
                    },
                    {
                        "name": "user_id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "description": "ID of the user",
                            "title": "User Id"
                        },
                        "description": "ID of the user"
                    },
                    {
                        "name": "reverse",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "anyOf": [
                                {
                                    "type": "boolean"
                                },
                                {
                                    "type": "null"
                                }
                            ],
                            "description": "Whether to reverse the order of results",
                            "default": false,
                            "title": "Reverse"
                        },
                        "description": "Whether to reverse the order of results"
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "description": "Page number",
                            "default": 1,
                            "title": "Page"
                        },
                        "description": "Page number"
                    },
                    {
                        "name": "size",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "maximum": 100,
                            "minimum": 1,
                            "description": "Page size",
                            "default": 50,
                            "title": "Size"
                        },
                        "description": "Page size"
                    }
                ],
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "anyOf": [
                                    {
                                        "$ref": "#/components/schemas/MetamessageGet"
                                    },
                                    {
                                        "type": "null"
                                    }
                                ],
                                "description": "Filtering options for the metamessages list",
                                "title": "Options"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful Response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Page_Metamessage_"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation Error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/HTTPValidationError"
                                }
                            }
                        }
                    }
                },
                "x-codeSamples": [
                    {
                        "lang": "JavaScript",
                        "source": "import Honcho from 'honcho-ai';\n\nconst client = new Honcho({\n  apiKey: process.env['HONCHO_API_KEY'], // This is the default and can be omitted\n});\n\nasync function main() {\n  // Automatically fetches more pages as needed.\n  for await (const metamessage of client.apps.users.metamessages.list('app_id', 'user_id')) {\n    console.log(metamessage.id);\n  }\n}\n\nmain();"
                    },
                    {
                        "lang": "Python",
                        "source": "import os\nfrom honcho import Honcho\n\nclient = Honcho(\n    api_key=os.environ.get(\"HONCHO_API_KEY\"),  # This is the default and can be omitted\n)\npage = client.apps.users.metamessages.list(\n    user_id=\"user_id\",\n    app_id=\"app_id\",\n)\npage = page.items[0]\nprint(page.id)"
                    }
                ]
            }
        },
        "/v1/apps/{app_id}/users/{user_id}/metamessages/{metamessage_id}": {
            "get": {
                "tags": [
                    "metamessages"
                ],
                "summary": "Get Metamessage",
                "description": "Get a specific Metamessage by ID",
                "operationId": "get_metamessage_v1_apps__app_id__users__user_id__metamessages__metamessage_id__get",
                "security": [
                    {
                        "HTTPBearer": []
                    },
                    {}
                ],
                "parameters": [
                    {
                        "name": "app_id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "description": "ID of the app",
                            "title": "App Id"
                        },
                        "description": "ID of the app"
                    },
                    {
                        "name": "user_id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "description": "ID of the user",
                            "title": "User Id"
                        },
                        "description": "ID of the user"
                    },
                    {
                        "name": "metamessage_id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "description": "ID of the metamessage to retrieve",
                            "title": "Metamessage Id"
                        },
                        "description": "ID of the metamessage to retrieve"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful Response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Metamessage"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation Error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/HTTPValidationError"
                                }
                            }
                        }
                    }
                },
                "x-codeSamples": [
                    {
                        "lang": "JavaScript",
                        "source": "import Honcho from 'honcho-ai';\n\nconst client = new Honcho({\n  apiKey: process.env['HONCHO_API_KEY'], // This is the default and can be omitted\n});\n\nasync function main() {\n  const metamessage = await client.apps.users.metamessages.get('app_id', 'user_id', 'metamessage_id');\n\n  console.log(metamessage.id);\n}\n\nmain();"
                    },
                    {
                        "lang": "Python",
                        "source": "import os\nfrom honcho import Honcho\n\nclient = Honcho(\n    api_key=os.environ.get(\"HONCHO_API_KEY\"),  # This is the default and can be omitted\n)\nmetamessage = client.apps.users.metamessages.get(\n    metamessage_id=\"metamessage_id\",\n    app_id=\"app_id\",\n    user_id=\"user_id\",\n)\nprint(metamessage.id)"
                    }
                ]
            },
            "put": {
                "tags": [
                    "metamessages"
                ],
                "summary": "Update Metamessage",
                "description": "Update a metamessage's metadata, type, or relationships",
                "operationId": "update_metamessage_v1_apps__app_id__users__user_id__metamessages__metamessage_id__put",
                "security": [
                    {
                        "HTTPBearer": []
                    },
                    {}
                ],
                "parameters": [
                    {
                        "name": "app_id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "description": "ID of the app",
                            "title": "App Id"
                        },
                        "description": "ID of the app"
                    },
                    {
                        "name": "user_id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "description": "ID of the user",
                            "title": "User Id"
                        },
                        "description": "ID of the user"
                    },
                    {
                        "name": "metamessage_id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "description": "ID of the metamessage to update",
                            "title": "Metamessage Id"
                        },
                        "description": "ID of the metamessage to update"
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/MetamessageUpdate",
                                "description": "Updated metamessage parameters"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful Response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Metamessage"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation Error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/HTTPValidationError"
                                }
                            }
                        }
                    }
                },
                "x-codeSamples": [
                    {
                        "lang": "JavaScript",
                        "source": "import Honcho from 'honcho-ai';\n\nconst client = new Honcho({\n  apiKey: process.env['HONCHO_API_KEY'], // This is the default and can be omitted\n});\n\nasync function main() {\n  const metamessage = await client.apps.users.metamessages.update('app_id', 'user_id', 'metamessage_id');\n\n  console.log(metamessage.id);\n}\n\nmain();"
                    },
                    {
                        "lang": "Python",
                        "source": "import os\nfrom honcho import Honcho\n\nclient = Honcho(\n    api_key=os.environ.get(\"HONCHO_API_KEY\"),  # This is the default and can be omitted\n)\nmetamessage = client.apps.users.metamessages.update(\n    metamessage_id=\"metamessage_id\",\n    app_id=\"app_id\",\n    user_id=\"user_id\",\n)\nprint(metamessage.id)"
                    }
                ]
            }
        },
        "/v1/apps/{app_id}/users/{user_id}/collections": {
            "get": {
                "tags": [
                    "collections"
                ],
                "summary": "Get Collection",
                "description": "Get a specific collection for a user.\n\nIf collection_id is provided as a query parameter, it uses that (must match JWT collection_id).\nOtherwise, it uses the collection_id from the JWT.",
                "operationId": "get_collection_v1_apps__app_id__users__user_id__collections_get",
                "security": [
                    {
                        "HTTPBearer": []
                    },
                    {}
                ],
                "parameters": [
                    {
                        "name": "app_id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "description": "ID of the app",
                            "title": "App Id"
                        },
                        "description": "ID of the app"
                    },
                    {
                        "name": "user_id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "description": "ID of the user",
                            "title": "User Id"
                        },
                        "description": "ID of the user"
                    },
                    {
                        "name": "collection_id",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "anyOf": [
                                {
                                    "type": "string"
                                },
                                {
                                    "type": "null"
                                }
                            ],
                            "description": "Collection ID to retrieve. If not provided, uses JWT",
                            "title": "Collection Id"
                        },
                        "description": "Collection ID to retrieve. If not provided, uses JWT"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful Response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Collection"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation Error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/HTTPValidationError"
                                }
                            }
                        }
                    }
                },
                "x-codeSamples": [
                    {
                        "lang": "JavaScript",
                        "source": "import Honcho from 'honcho-ai';\n\nconst client = new Honcho({\n  apiKey: process.env['HONCHO_API_KEY'], // This is the default and can be omitted\n});\n\nasync function main() {\n  const collection = await client.apps.users.collections.get('app_id', 'user_id');\n\n  console.log(collection.id);\n}\n\nmain();"
                    },
                    {
                        "lang": "Python",
                        "source": "import os\nfrom honcho import Honcho\n\nclient = Honcho(\n    api_key=os.environ.get(\"HONCHO_API_KEY\"),  # This is the default and can be omitted\n)\ncollection = client.apps.users.collections.get(\n    user_id=\"user_id\",\n    app_id=\"app_id\",\n)\nprint(collection.id)"
                    }
                ]
            },
            "post": {
                "tags": [
                    "collections"
                ],
                "summary": "Create Collection",
                "description": "Create a new Collection",
                "operationId": "create_collection_v1_apps__app_id__users__user_id__collections_post",
                "security": [
                    {
                        "HTTPBearer": []
                    },
                    {}
                ],
                "parameters": [
                    {
                        "name": "app_id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "description": "ID of the app",
                            "title": "App Id"
                        },
                        "description": "ID of the app"
                    },
                    {
                        "name": "user_id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "description": "ID of the user",
                            "title": "User Id"
                        },
                        "description": "ID of the user"
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/CollectionCreate",
                                "description": "Collection creation parameters"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful Response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Collection"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation Error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/HTTPValidationError"
                                }
                            }
                        }
                    }
                },
                "x-codeSamples": [
                    {
                        "lang": "JavaScript",
                        "source": "import Honcho from 'honcho-ai';\n\nconst client = new Honcho({\n  apiKey: process.env['HONCHO_API_KEY'], // This is the default and can be omitted\n});\n\nasync function main() {\n  const collection = await client.apps.users.collections.create('app_id', 'user_id', { name: 'x' });\n\n  console.log(collection.id);\n}\n\nmain();"
                    },
                    {
                        "lang": "Python",
                        "source": "import os\nfrom honcho import Honcho\n\nclient = Honcho(\n    api_key=os.environ.get(\"HONCHO_API_KEY\"),  # This is the default and can be omitted\n)\ncollection = client.apps.users.collections.create(\n    user_id=\"user_id\",\n    app_id=\"app_id\",\n    name=\"x\",\n)\nprint(collection.id)"
                    }
                ]
            }
        },
        "/v1/apps/{app_id}/users/{user_id}/collections/list": {
            "post": {
                "tags": [
                    "collections"
                ],
                "summary": "Get Collections",
                "description": "Get All Collections for a User",
                "operationId": "get_collections_v1_apps__app_id__users__user_id__collections_list_post",
                "security": [
                    {
                        "HTTPBearer": []
                    },
                    {}
                ],
                "parameters": [
                    {
                        "name": "app_id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "description": "ID of the app",
                            "title": "App Id"
                        },
                        "description": "ID of the app"
                    },
                    {
                        "name": "user_id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "description": "ID of the user",
                            "title": "User Id"
                        },
                        "description": "ID of the user"
                    },
                    {
                        "name": "reverse",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "anyOf": [
                                {
                                    "type": "boolean"
                                },
                                {
                                    "type": "null"
                                }
                            ],
                            "description": "Whether to reverse the order of results",
                            "default": false,
                            "title": "Reverse"
                        },
                        "description": "Whether to reverse the order of results"
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "description": "Page number",
                            "default": 1,
                            "title": "Page"
                        },
                        "description": "Page number"
                    },
                    {
                        "name": "size",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "maximum": 100,
                            "minimum": 1,
                            "description": "Page size",
                            "default": 50,
                            "title": "Size"
                        },
                        "description": "Page size"
                    }
                ],
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "anyOf": [
                                    {
                                        "$ref": "#/components/schemas/CollectionGet"
                                    },
                                    {
                                        "type": "null"
                                    }
                                ],
                                "description": "Filtering options for the collections list",
                                "title": "Options"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful Response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Page_Collection_"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation Error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/HTTPValidationError"
                                }
                            }
                        }
                    }
                },
                "x-codeSamples": [
                    {
                        "lang": "JavaScript",
                        "source": "import Honcho from 'honcho-ai';\n\nconst client = new Honcho({\n  apiKey: process.env['HONCHO_API_KEY'], // This is the default and can be omitted\n});\n\nasync function main() {\n  // Automatically fetches more pages as needed.\n  for await (const collection of client.apps.users.collections.list('app_id', 'user_id')) {\n    console.log(collection.id);\n  }\n}\n\nmain();"
                    },
                    {
                        "lang": "Python",
                        "source": "import os\nfrom honcho import Honcho\n\nclient = Honcho(\n    api_key=os.environ.get(\"HONCHO_API_KEY\"),  # This is the default and can be omitted\n)\npage = client.apps.users.collections.list(\n    user_id=\"user_id\",\n    app_id=\"app_id\",\n)\npage = page.items[0]\nprint(page.id)"
                    }
                ]
            }
        },
        "/v1/apps/{app_id}/users/{user_id}/collections/name/{name}": {
            "get": {
                "tags": [
                    "collections"
                ],
                "summary": "Get Collection By Name",
                "description": "Get a Collection by Name",
                "operationId": "get_collection_by_name_v1_apps__app_id__users__user_id__collections_name__name__get",
                "security": [
                    {
                        "HTTPBearer": []
                    },
                    {}
                ],
                "parameters": [
                    {
                        "name": "app_id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "description": "ID of the app",
                            "title": "App Id"
                        },
                        "description": "ID of the app"
                    },
                    {
                        "name": "user_id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "description": "ID of the user",
                            "title": "User Id"
                        },
                        "description": "ID of the user"
                    },
                    {
                        "name": "name",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "description": "Name of the collection to retrieve",
                            "title": "Name"
                        },
                        "description": "Name of the collection to retrieve"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful Response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Collection"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation Error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/HTTPValidationError"
                                }
                            }
                        }
                    }
                },
                "x-codeSamples": [
                    {
                        "lang": "JavaScript",
                        "source": "import Honcho from 'honcho-ai';\n\nconst client = new Honcho({\n  apiKey: process.env['HONCHO_API_KEY'], // This is the default and can be omitted\n});\n\nasync function main() {\n  const collection = await client.apps.users.collections.getByName('app_id', 'user_id', 'name');\n\n  console.log(collection.id);\n}\n\nmain();"
                    },
                    {
                        "lang": "Python",
                        "source": "import os\nfrom honcho import Honcho\n\nclient = Honcho(\n    api_key=os.environ.get(\"HONCHO_API_KEY\"),  # This is the default and can be omitted\n)\ncollection = client.apps.users.collections.get_by_name(\n    name=\"name\",\n    app_id=\"app_id\",\n    user_id=\"user_id\",\n)\nprint(collection.id)"
                    }
                ]
            }
        },
        "/v1/apps/{app_id}/users/{user_id}/collections/{collection_id}": {
            "put": {
                "tags": [
                    "collections"
                ],
                "summary": "Update Collection",
                "description": "Update a Collection's name or metadata",
                "operationId": "update_collection_v1_apps__app_id__users__user_id__collections__collection_id__put",
                "security": [
                    {
                        "HTTPBearer": []
                    },
                    {}
                ],
                "parameters": [
                    {
                        "name": "app_id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "description": "ID of the app",
                            "title": "App Id"
                        },
                        "description": "ID of the app"
                    },
                    {
                        "name": "user_id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "description": "ID of the user",
                            "title": "User Id"
                        },
                        "description": "ID of the user"
                    },
                    {
                        "name": "collection_id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "description": "ID of the collection to update",
                            "title": "Collection Id"
                        },
                        "description": "ID of the collection to update"
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/CollectionUpdate",
                                "description": "Updated collection parameters"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful Response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Collection"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation Error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/HTTPValidationError"
                                }
                            }
                        }
                    }
                },
                "x-codeSamples": [
                    {
                        "lang": "JavaScript",
                        "source": "import Honcho from 'honcho-ai';\n\nconst client = new Honcho({\n  apiKey: process.env['HONCHO_API_KEY'], // This is the default and can be omitted\n});\n\nasync function main() {\n  const collection = await client.apps.users.collections.update('app_id', 'user_id', 'collection_id');\n\n  console.log(collection.id);\n}\n\nmain();"
                    },
                    {
                        "lang": "Python",
                        "source": "import os\nfrom honcho import Honcho\n\nclient = Honcho(\n    api_key=os.environ.get(\"HONCHO_API_KEY\"),  # This is the default and can be omitted\n)\ncollection = client.apps.users.collections.update(\n    collection_id=\"collection_id\",\n    app_id=\"app_id\",\n    user_id=\"user_id\",\n)\nprint(collection.id)"
                    }
                ]
            },
            "delete": {
                "tags": [
                    "collections"
                ],
                "summary": "Delete Collection",
                "description": "Delete a Collection and its documents",
                "operationId": "delete_collection_v1_apps__app_id__users__user_id__collections__collection_id__delete",
                "security": [
                    {
                        "HTTPBearer": []
                    },
                    {}
                ],
                "parameters": [
                    {
                        "name": "app_id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "description": "ID of the app",
                            "title": "App Id"
                        },
                        "description": "ID of the app"
                    },
                    {
                        "name": "user_id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "description": "ID of the user",
                            "title": "User Id"
                        },
                        "description": "ID of the user"
                    },
                    {
                        "name": "collection_id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "description": "ID of the collection to delete",
                            "title": "Collection Id"
                        },
                        "description": "ID of the collection to delete"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful Response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    },
                    "422": {
                        "description": "Validation Error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/HTTPValidationError"
                                }
                            }
                        }
                    }
                },
                "x-codeSamples": [
                    {
                        "lang": "JavaScript",
                        "source": "import Honcho from 'honcho-ai';\n\nconst client = new Honcho({\n  apiKey: process.env['HONCHO_API_KEY'], // This is the default and can be omitted\n});\n\nasync function main() {\n  const collection = await client.apps.users.collections.delete('app_id', 'user_id', 'collection_id');\n\n  console.log(collection);\n}\n\nmain();"
                    },
                    {
                        "lang": "Python",
                        "source": "import os\nfrom honcho import Honcho\n\nclient = Honcho(\n    api_key=os.environ.get(\"HONCHO_API_KEY\"),  # This is the default and can be omitted\n)\ncollection = client.apps.users.collections.delete(\n    collection_id=\"collection_id\",\n    app_id=\"app_id\",\n    user_id=\"user_id\",\n)\nprint(collection)"
                    }
                ]
            }
        },
        "/v1/apps/{app_id}/users/{user_id}/collections/{collection_id}/documents/list": {
            "post": {
                "tags": [
                    "documents"
                ],
                "summary": "Get Documents",
                "description": "Get all of the Documents in a Collection",
                "operationId": "get_documents_v1_apps__app_id__users__user_id__collections__collection_id__documents_list_post",
                "security": [
                    {
                        "HTTPBearer": []
                    },
                    {}
                ],
                "parameters": [
                    {
                        "name": "app_id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "description": "ID of the app",
                            "title": "App Id"
                        },
                        "description": "ID of the app"
                    },
                    {
                        "name": "user_id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "description": "ID of the user",
                            "title": "User Id"
                        },
                        "description": "ID of the user"
                    },
                    {
                        "name": "collection_id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "description": "ID of the collection",
                            "title": "Collection Id"
                        },
                        "description": "ID of the collection"
                    },
                    {
                        "name": "reverse",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "anyOf": [
                                {
                                    "type": "boolean"
                                },
                                {
                                    "type": "null"
                                }
                            ],
                            "description": "Whether to reverse the order of results",
                            "default": false,
                            "title": "Reverse"
                        },
                        "description": "Whether to reverse the order of results"
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "minimum": 1,
                            "description": "Page number",
                            "default": 1,
                            "title": "Page"
                        },
                        "description": "Page number"
                    },
                    {
                        "name": "size",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "maximum": 100,
                            "minimum": 1,
                            "description": "Page size",
                            "default": 50,
                            "title": "Size"
                        },
                        "description": "Page size"
                    }
                ],
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "anyOf": [
                                    {
                                        "$ref": "#/components/schemas/DocumentGet"
                                    },
                                    {
                                        "type": "null"
                                    }
                                ],
                                "description": "Filtering options for the documents list",
                                "title": "Options"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful Response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Page_Document_"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation Error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/HTTPValidationError"
                                }
                            }
                        }
                    }
                },
                "x-codeSamples": [
                    {
                        "lang": "JavaScript",
                        "source": "import Honcho from 'honcho-ai';\n\nconst client = new Honcho({\n  apiKey: process.env['HONCHO_API_KEY'], // This is the default and can be omitted\n});\n\nasync function main() {\n  // Automatically fetches more pages as needed.\n  for await (const document of client.apps.users.collections.documents.list(\n    'app_id',\n    'user_id',\n    'collection_id',\n  )) {\n    console.log(document.id);\n  }\n}\n\nmain();"
                    },
                    {
                        "lang": "Python",
                        "source": "import os\nfrom honcho import Honcho\n\nclient = Honcho(\n    api_key=os.environ.get(\"HONCHO_API_KEY\"),  # This is the default and can be omitted\n)\npage = client.apps.users.collections.documents.list(\n    collection_id=\"collection_id\",\n    app_id=\"app_id\",\n    user_id=\"user_id\",\n)\npage = page.items[0]\nprint(page.id)"
                    }
                ]
            }
        },
        "/v1/apps/{app_id}/users/{user_id}/collections/{collection_id}/documents/{document_id}": {
            "get": {
                "tags": [
                    "documents"
                ],
                "summary": "Get Document",
                "description": "Get a document by ID",
                "operationId": "get_document_v1_apps__app_id__users__user_id__collections__collection_id__documents__document_id__get",
                "security": [
                    {
                        "HTTPBearer": []
                    },
                    {}
                ],
                "parameters": [
                    {
                        "name": "app_id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "description": "ID of the app",
                            "title": "App Id"
                        },
                        "description": "ID of the app"
                    },
                    {
                        "name": "user_id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "description": "ID of the user",
                            "title": "User Id"
                        },
                        "description": "ID of the user"
                    },
                    {
                        "name": "collection_id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "description": "ID of the collection",
                            "title": "Collection Id"
                        },
                        "description": "ID of the collection"
                    },
                    {
                        "name": "document_id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "description": "ID of the document to retrieve",
                            "title": "Document Id"
                        },
                        "description": "ID of the document to retrieve"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful Response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Document"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation Error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/HTTPValidationError"
                                }
                            }
                        }
                    }
                },
                "x-codeSamples": [
                    {
                        "lang": "JavaScript",
                        "source": "import Honcho from 'honcho-ai';\n\nconst client = new Honcho({\n  apiKey: process.env['HONCHO_API_KEY'], // This is the default and can be omitted\n});\n\nasync function main() {\n  const document = await client.apps.users.collections.documents.get(\n    'app_id',\n    'user_id',\n    'collection_id',\n    'document_id',\n  );\n\n  console.log(document.id);\n}\n\nmain();"
                    },
                    {
                        "lang": "Python",
                        "source": "import os\nfrom honcho import Honcho\n\nclient = Honcho(\n    api_key=os.environ.get(\"HONCHO_API_KEY\"),  # This is the default and can be omitted\n)\ndocument = client.apps.users.collections.documents.get(\n    document_id=\"document_id\",\n    app_id=\"app_id\",\n    user_id=\"user_id\",\n    collection_id=\"collection_id\",\n)\nprint(document.id)"
                    }
                ]
            },
            "put": {
                "tags": [
                    "documents"
                ],
                "summary": "Update Document",
                "description": "Update the content and/or the metadata of a Document",
                "operationId": "update_document_v1_apps__app_id__users__user_id__collections__collection_id__documents__document_id__put",
                "security": [
                    {
                        "HTTPBearer": []
                    },
                    {}
                ],
                "parameters": [
                    {
                        "name": "app_id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "description": "ID of the app",
                            "title": "App Id"
                        },
                        "description": "ID of the app"
                    },
                    {
                        "name": "user_id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "description": "ID of the user",
                            "title": "User Id"
                        },
                        "description": "ID of the user"
                    },
                    {
                        "name": "collection_id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "description": "ID of the collection",
                            "title": "Collection Id"
                        },
                        "description": "ID of the collection"
                    },
                    {
                        "name": "document_id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "description": "ID of the document to update",
                            "title": "Document Id"
                        },
                        "description": "ID of the document to update"
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/DocumentUpdate",
                                "description": "Updated document parameters"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful Response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Document"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation Error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/HTTPValidationError"
                                }
                            }
                        }
                    }
                },
                "x-codeSamples": [
                    {
                        "lang": "JavaScript",
                        "source": "import Honcho from 'honcho-ai';\n\nconst client = new Honcho({\n  apiKey: process.env['HONCHO_API_KEY'], // This is the default and can be omitted\n});\n\nasync function main() {\n  const document = await client.apps.users.collections.documents.update(\n    'app_id',\n    'user_id',\n    'collection_id',\n    'document_id',\n  );\n\n  console.log(document.id);\n}\n\nmain();"
                    },
                    {
                        "lang": "Python",
                        "source": "import os\nfrom honcho import Honcho\n\nclient = Honcho(\n    api_key=os.environ.get(\"HONCHO_API_KEY\"),  # This is the default and can be omitted\n)\ndocument = client.apps.users.collections.documents.update(\n    document_id=\"document_id\",\n    app_id=\"app_id\",\n    user_id=\"user_id\",\n    collection_id=\"collection_id\",\n)\nprint(document.id)"
                    }
                ]
            },
            "delete": {
                "tags": [
                    "documents"
                ],
                "summary": "Delete Document",
                "description": "Delete a Document by ID",
                "operationId": "delete_document_v1_apps__app_id__users__user_id__collections__collection_id__documents__document_id__delete",
                "security": [
                    {
                        "HTTPBearer": []
                    },
                    {}
                ],
                "parameters": [
                    {
                        "name": "app_id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "description": "ID of the app",
                            "title": "App Id"
                        },
                        "description": "ID of the app"
                    },
                    {
                        "name": "user_id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "description": "ID of the user",
                            "title": "User Id"
                        },
                        "description": "ID of the user"
                    },
                    {
                        "name": "collection_id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "description": "ID of the collection",
                            "title": "Collection Id"
                        },
                        "description": "ID of the collection"
                    },
                    {
                        "name": "document_id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "description": "ID of the document to delete",
                            "title": "Document Id"
                        },
                        "description": "ID of the document to delete"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful Response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    },
                    "422": {
                        "description": "Validation Error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/HTTPValidationError"
                                }
                            }
                        }
                    }
                },
                "x-codeSamples": [
                    {
                        "lang": "JavaScript",
                        "source": "import Honcho from 'honcho-ai';\n\nconst client = new Honcho({\n  apiKey: process.env['HONCHO_API_KEY'], // This is the default and can be omitted\n});\n\nasync function main() {\n  const document = await client.apps.users.collections.documents.delete(\n    'app_id',\n    'user_id',\n    'collection_id',\n    'document_id',\n  );\n\n  console.log(document);\n}\n\nmain();"
                    },
                    {
                        "lang": "Python",
                        "source": "import os\nfrom honcho import Honcho\n\nclient = Honcho(\n    api_key=os.environ.get(\"HONCHO_API_KEY\"),  # This is the default and can be omitted\n)\ndocument = client.apps.users.collections.documents.delete(\n    document_id=\"document_id\",\n    app_id=\"app_id\",\n    user_id=\"user_id\",\n    collection_id=\"collection_id\",\n)\nprint(document)"
                    }
                ]
            }
        },
        "/v1/apps/{app_id}/users/{user_id}/collections/{collection_id}/documents/query": {
            "post": {
                "tags": [
                    "documents"
                ],
                "summary": "Query Documents",
                "description": "Cosine Similarity Search for Documents",
                "operationId": "query_documents_v1_apps__app_id__users__user_id__collections__collection_id__documents_query_post",
                "security": [
                    {
                        "HTTPBearer": []
                    },
                    {}
                ],
                "parameters": [
                    {
                        "name": "app_id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "description": "ID of the app",
                            "title": "App Id"
                        },
                        "description": "ID of the app"
                    },
                    {
                        "name": "user_id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "description": "ID of the user",
                            "title": "User Id"
                        },
                        "description": "ID of the user"
                    },
                    {
                        "name": "collection_id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "description": "ID of the collection",
                            "title": "Collection Id"
                        },
                        "description": "ID of the collection"
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/DocumentQuery",
                                "description": "Query parameters for document search"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful Response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/components/schemas/Document"
                                    },
                                    "title": "Response Query Documents V1 Apps  App Id  Users  User Id  Collections  Collection Id  Documents Query Post"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation Error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/HTTPValidationError"
                                }
                            }
                        }
                    }
                },
                "x-codeSamples": [
                    {
                        "lang": "JavaScript",
                        "source": "import Honcho from 'honcho-ai';\n\nconst client = new Honcho({\n  apiKey: process.env['HONCHO_API_KEY'], // This is the default and can be omitted\n});\n\nasync function main() {\n  const documents = await client.apps.users.collections.documents.query(\n    'app_id',\n    'user_id',\n    'collection_id',\n    { query: 'x' },\n  );\n\n  console.log(documents);\n}\n\nmain();"
                    },
                    {
                        "lang": "Python",
                        "source": "import os\nfrom honcho import Honcho\n\nclient = Honcho(\n    api_key=os.environ.get(\"HONCHO_API_KEY\"),  # This is the default and can be omitted\n)\ndocuments = client.apps.users.collections.documents.query(\n    collection_id=\"collection_id\",\n    app_id=\"app_id\",\n    user_id=\"user_id\",\n    query=\"x\",\n)\nprint(documents)"
                    }
                ]
            }
        },
        "/v1/apps/{app_id}/users/{user_id}/collections/{collection_id}/documents": {
            "post": {
                "tags": [
                    "documents"
                ],
                "summary": "Create Document",
                "description": "Embed text as a vector and create a Document",
                "operationId": "create_document_v1_apps__app_id__users__user_id__collections__collection_id__documents_post",
                "security": [
                    {
                        "HTTPBearer": []
                    },
                    {}
                ],
                "parameters": [
                    {
                        "name": "app_id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "description": "ID of the app",
                            "title": "App Id"
                        },
                        "description": "ID of the app"
                    },
                    {
                        "name": "user_id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "description": "ID of the user",
                            "title": "User Id"
                        },
                        "description": "ID of the user"
                    },
                    {
                        "name": "collection_id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "description": "ID of the collection",
                            "title": "Collection Id"
                        },
                        "description": "ID of the collection"
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/DocumentCreate",
                                "description": "Document creation parameters"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful Response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Document"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation Error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/HTTPValidationError"
                                }
                            }
                        }
                    }
                },
                "x-codeSamples": [
                    {
                        "lang": "JavaScript",
                        "source": "import Honcho from 'honcho-ai';\n\nconst client = new Honcho({\n  apiKey: process.env['HONCHO_API_KEY'], // This is the default and can be omitted\n});\n\nasync function main() {\n  const document = await client.apps.users.collections.documents.create(\n    'app_id',\n    'user_id',\n    'collection_id',\n    { content: 'x' },\n  );\n\n  console.log(document.id);\n}\n\nmain();"
                    },
                    {
                        "lang": "Python",
                        "source": "import os\nfrom honcho import Honcho\n\nclient = Honcho(\n    api_key=os.environ.get(\"HONCHO_API_KEY\"),  # This is the default and can be omitted\n)\ndocument = client.apps.users.collections.documents.create(\n    collection_id=\"collection_id\",\n    app_id=\"app_id\",\n    user_id=\"user_id\",\n    content=\"x\",\n)\nprint(document.id)"
                    }
                ]
            }
        },
        "/v1/keys": {
            "post": {
                "tags": [
                    "keys"
                ],
                "summary": "Create Key",
                "description": "Create a new Key",
                "operationId": "create_key_v1_keys_post",
                "security": [
                    {
                        "HTTPBearer": []
                    },
                    {}
                ],
                "parameters": [
                    {
                        "name": "app_id",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "anyOf": [
                                {
                                    "type": "string"
                                },
                                {
                                    "type": "null"
                                }
                            ],
                            "description": "ID of the app to scope the key to",
                            "title": "App Id"
                        },
                        "description": "ID of the app to scope the key to"
                    },
                    {
                        "name": "user_id",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "anyOf": [
                                {
                                    "type": "string"
                                },
                                {
                                    "type": "null"
                                }
                            ],
                            "description": "ID of the user to scope the key to",
                            "title": "User Id"
                        },
                        "description": "ID of the user to scope the key to"
                    },
                    {
                        "name": "session_id",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "anyOf": [
                                {
                                    "type": "string"
                                },
                                {
                                    "type": "null"
                                }
                            ],
                            "description": "ID of the session to scope the key to",
                            "title": "Session Id"
                        },
                        "description": "ID of the session to scope the key to"
                    },
                    {
                        "name": "collection_id",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "anyOf": [
                                {
                                    "type": "string"
                                },
                                {
                                    "type": "null"
                                }
                            ],
                            "description": "ID of the collection to scope the key to",
                            "title": "Collection Id"
                        },
                        "description": "ID of the collection to scope the key to"
                    },
                    {
                        "name": "expires_at",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "anyOf": [
                                {
                                    "type": "string",
                                    "format": "date-time"
                                },
                                {
                                    "type": "null"
                                }
                            ],
                            "title": "Expires At"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful Response",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    },
                    "422": {
                        "description": "Validation Error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/HTTPValidationError"
                                }
                            }
                        }
                    }
                },
                "x-codeSamples": [
                    {
                        "lang": "JavaScript",
                        "source": "import Honcho from 'honcho-ai';\n\nconst client = new Honcho({\n  apiKey: process.env['HONCHO_API_KEY'], // This is the default and can be omitted\n});\n\nasync function main() {\n  const key = await client.keys.create();\n\n  console.log(key);\n}\n\nmain();"
                    },
                    {
                        "lang": "Python",
                        "source": "import os\nfrom honcho import Honcho\n\nclient = Honcho(\n    api_key=os.environ.get(\"HONCHO_API_KEY\"),  # This is the default and can be omitted\n)\nkey = client.keys.create()\nprint(key)"
                    }
                ]
            }
        }
    },
    "components": {
        "schemas": {
            "App": {
                "properties": {
                    "id": {
                        "type": "string",
                        "title": "Id"
                    },
                    "name": {
                        "type": "string",
                        "title": "Name"
                    },
                    "metadata": {
                        "additionalProperties": true,
                        "type": "object",
                        "title": "Metadata",
                        "default": {}
                    },
                    "created_at": {
                        "type": "string",
                        "format": "date-time",
                        "title": "Created At"
                    }
                },
                "type": "object",
                "required": [
                    "id",
                    "name",
                    "created_at"
                ],
                "title": "App"
            },
            "AppCreate": {
                "properties": {
                    "name": {
                        "type": "string",
                        "maxLength": 100,
                        "minLength": 1,
                        "title": "Name"
                    },
                    "metadata": {
                        "additionalProperties": true,
                        "type": "object",
                        "title": "Metadata",
                        "default": {}
                    }
                },
                "type": "object",
                "required": [
                    "name"
                ],
                "title": "AppCreate"
            },
            "AppGet": {
                "properties": {
                    "filter": {
                        "anyOf": [
                            {
                                "additionalProperties": true,
                                "type": "object"
                            },
                            {
                                "type": "null"
                            }
                        ],
                        "title": "Filter"
                    }
                },
                "type": "object",
                "title": "AppGet"
            },
            "AppUpdate": {
                "properties": {
                    "name": {
                        "anyOf": [
                            {
                                "type": "string"
                            },
                            {
                                "type": "null"
                            }
                        ],
                        "title": "Name"
                    },
                    "metadata": {
                        "anyOf": [
                            {
                                "additionalProperties": true,
                                "type": "object"
                            },
                            {
                                "type": "null"
                            }
                        ],
                        "title": "Metadata"
                    }
                },
                "type": "object",
                "title": "AppUpdate"
            },
            "Collection": {
                "properties": {
                    "id": {
                        "type": "string",
                        "title": "Id"
                    },
                    "name": {
                        "type": "string",
                        "title": "Name"
                    },
                    "user_id": {
                        "type": "string",
                        "title": "User Id"
                    },
                    "app_id": {
                        "type": "string",
                        "title": "App Id"
                    },
                    "metadata": {
                        "additionalProperties": true,
                        "type": "object",
                        "title": "Metadata",
                        "default": {}
                    },
                    "created_at": {
                        "type": "string",
                        "format": "date-time",
                        "title": "Created At"
                    }
                },
                "type": "object",
                "required": [
                    "id",
                    "name",
                    "user_id",
                    "app_id",
                    "created_at"
                ],
                "title": "Collection"
            },
            "CollectionCreate": {
                "properties": {
                    "name": {
                        "type": "string",
                        "maxLength": 100,
                        "minLength": 1,
                        "title": "Name"
                    },
                    "metadata": {
                        "additionalProperties": true,
                        "type": "object",
                        "title": "Metadata",
                        "default": {}
                    }
                },
                "type": "object",
                "required": [
                    "name"
                ],
                "title": "CollectionCreate"
            },
            "CollectionGet": {
                "properties": {
                    "filter": {
                        "anyOf": [
                            {
                                "additionalProperties": true,
                                "type": "object"
                            },
                            {
                                "type": "null"
                            }
                        ],
                        "title": "Filter"
                    }
                },
                "type": "object",
                "title": "CollectionGet"
            },
            "CollectionUpdate": {
                "properties": {
                    "name": {
                        "anyOf": [
                            {
                                "type": "string"
                            },
                            {
                                "type": "null"
                            }
                        ],
                        "title": "Name"
                    },
                    "metadata": {
                        "anyOf": [
                            {
                                "additionalProperties": true,
                                "type": "object"
                            },
                            {
                                "type": "null"
                            }
                        ],
                        "title": "Metadata"
                    }
                },
                "type": "object",
                "title": "CollectionUpdate"
            },
            "DialecticOptions": {
                "properties": {
                    "queries": {
                        "anyOf": [
                            {
                                "type": "string"
                            },
                            {
                                "items": {
                                    "type": "string"
                                },
                                "type": "array"
                            }
                        ],
                        "title": "Queries"
                    },
                    "stream": {
                        "type": "boolean",
                        "title": "Stream",
                        "default": false
                    }
                },
                "type": "object",
                "required": [
                    "queries"
                ],
                "title": "DialecticOptions"
            },
            "DialecticResponse": {
                "properties": {
                    "content": {
                        "type": "string",
                        "title": "Content"
                    }
                },
                "type": "object",
                "required": [
                    "content"
                ],
                "title": "DialecticResponse"
            },
            "Document": {
                "properties": {
                    "id": {
                        "type": "string",
                        "title": "Id"
                    },
                    "content": {
                        "type": "string",
                        "title": "Content"
                    },
                    "metadata": {
                        "additionalProperties": true,
                        "type": "object",
                        "title": "Metadata",
                        "default": {}
                    },
                    "created_at": {
                        "type": "string",
                        "format": "date-time",
                        "title": "Created At"
                    },
                    "collection_id": {
                        "type": "string",
                        "title": "Collection Id"
                    },
                    "app_id": {
                        "type": "string",
                        "title": "App Id"
                    },
                    "user_id": {
                        "type": "string",
                        "title": "User Id"
                    }
                },
                "type": "object",
                "required": [
                    "id",
                    "content",
                    "created_at",
                    "collection_id",
                    "app_id",
                    "user_id"
                ],
                "title": "Document"
            },
            "DocumentCreate": {
                "properties": {
                    "content": {
                        "type": "string",
                        "maxLength": 100000,
                        "minLength": 1,
                        "title": "Content"
                    },
                    "metadata": {
                        "additionalProperties": true,
                        "type": "object",
                        "title": "Metadata",
                        "default": {}
                    }
                },
                "type": "object",
                "required": [
                    "content"
                ],
                "title": "DocumentCreate"
            },
            "DocumentGet": {
                "properties": {
                    "filter": {
                        "anyOf": [
                            {
                                "additionalProperties": true,
                                "type": "object"
                            },
                            {
                                "type": "null"
                            }
                        ],
                        "title": "Filter"
                    }
                },
                "type": "object",
                "title": "DocumentGet"
            },
            "DocumentQuery": {
                "properties": {
                    "query": {
                        "type": "string",
                        "maxLength": 1000,
                        "minLength": 1,
                        "title": "Query"
                    },
                    "filter": {
                        "anyOf": [
                            {
                                "additionalProperties": true,
                                "type": "object"
                            },
                            {
                                "type": "null"
                            }
                        ],
                        "title": "Filter"
                    },
                    "top_k": {
                        "type": "integer",
                        "maximum": 50,
                        "minimum": 1,
                        "title": "Top K",
                        "default": 5
                    }
                },
                "type": "object",
                "required": [
                    "query"
                ],
                "title": "DocumentQuery"
            },
            "DocumentUpdate": {
                "properties": {
                    "metadata": {
                        "anyOf": [
                            {
                                "additionalProperties": true,
                                "type": "object",
                                "maxProperties": 10000
                            },
                            {
                                "type": "null"
                            }
                        ],
                        "title": "Metadata"
                    },
                    "content": {
                        "anyOf": [
                            {
                                "type": "string",
                                "maxLength": 100000,
                                "minLength": 1
                            },
                            {
                                "type": "null"
                            }
                        ],
                        "title": "Content"
                    }
                },
                "type": "object",
                "title": "DocumentUpdate"
            },
            "HTTPValidationError": {
                "properties": {
                    "detail": {
                        "items": {
                            "$ref": "#/components/schemas/ValidationError"
                        },
                        "type": "array",
                        "title": "Detail"
                    }
                },
                "type": "object",
                "title": "HTTPValidationError"
            },
            "Message": {
                "properties": {
                    "id": {
                        "type": "string",
                        "title": "Id"
                    },
                    "content": {
                        "type": "string",
                        "title": "Content"
                    },
                    "is_user": {
                        "type": "boolean",
                        "title": "Is User"
                    },
                    "session_id": {
                        "type": "string",
                        "title": "Session Id"
                    },
                    "metadata": {
                        "additionalProperties": true,
                        "type": "object",
                        "title": "Metadata",
                        "default": {}
                    },
                    "created_at": {
                        "type": "string",
                        "format": "date-time",
                        "title": "Created At"
                    },
                    "app_id": {
                        "type": "string",
                        "title": "App Id"
                    },
                    "user_id": {
                        "type": "string",
                        "title": "User Id"
                    }
                },
                "type": "object",
                "required": [
                    "id",
                    "content",
                    "is_user",
                    "session_id",
                    "created_at",
                    "app_id",
                    "user_id"
                ],
                "title": "Message"
            },
            "MessageBatchCreate": {
                "properties": {
                    "messages": {
                        "items": {
                            "$ref": "#/components/schemas/MessageCreate"
                        },
                        "type": "array",
                        "maxItems": 100,
                        "title": "Messages"
                    }
                },
                "type": "object",
                "required": [
                    "messages"
                ],
                "title": "MessageBatchCreate",
                "description": "Schema for batch message creation with a max of 100 messages"
            },
            "MessageCreate": {
                "properties": {
                    "content": {
                        "type": "string",
                        "maxLength": 50000,
                        "minLength": 0,
                        "title": "Content"
                    },
                    "is_user": {
                        "type": "boolean",
                        "title": "Is User"
                    },
                    "metadata": {
                        "additionalProperties": true,
                        "type": "object",
                        "title": "Metadata",
                        "default": {}
                    }
                },
                "type": "object",
                "required": [
                    "content",
                    "is_user"
                ],
                "title": "MessageCreate"
            },
            "MessageGet": {
                "properties": {
                    "filter": {
                        "anyOf": [
                            {
                                "additionalProperties": true,
                                "type": "object"
                            },
                            {
                                "type": "null"
                            }
                        ],
                        "title": "Filter"
                    }
                },
                "type": "object",
                "title": "MessageGet"
            },
            "MessageUpdate": {
                "properties": {
                    "metadata": {
                        "additionalProperties": true,
                        "type": "object",
                        "title": "Metadata"
                    }
                },
                "type": "object",
                "required": [
                    "metadata"
                ],
                "title": "MessageUpdate"
            },
            "Metamessage": {
                "properties": {
                    "id": {
                        "type": "string",
                        "title": "Id"
                    },
                    "label": {
                        "type": "string",
                        "title": "Label"
                    },
                    "content": {
                        "type": "string",
                        "title": "Content"
                    },
                    "user_id": {
                        "type": "string",
                        "title": "User Id"
                    },
                    "app_id": {
                        "type": "string",
                        "title": "App Id"
                    },
                    "session_id": {
                        "anyOf": [
                            {
                                "type": "string"
                            },
                            {
                                "type": "null"
                            }
                        ],
                        "title": "Session Id"
                    },
                    "message_id": {
                        "anyOf": [
                            {
                                "type": "string"
                            },
                            {
                                "type": "null"
                            }
                        ],
                        "title": "Message Id"
                    },
                    "metadata": {
                        "additionalProperties": true,
                        "type": "object",
                        "title": "Metadata",
                        "default": {}
                    },
                    "created_at": {
                        "type": "string",
                        "format": "date-time",
                        "title": "Created At"
                    },
                    "metamessage_type": {
                        "type": "string",
                        "title": "Metamessage Type",
                        "readOnly": true
                    }
                },
                "type": "object",
                "required": [
                    "id",
                    "label",
                    "content",
                    "user_id",
                    "app_id",
                    "session_id",
                    "message_id",
                    "created_at",
                    "metamessage_type"
                ],
                "title": "Metamessage"
            },
            "MetamessageCreate": {
                "properties": {
                    "metamessage_type": {
                        "type": "string",
                        "maxLength": 50,
                        "minLength": 1,
                        "title": "Metamessage Type"
                    },
                    "content": {
                        "type": "string",
                        "maxLength": 50000,
                        "minLength": 0,
                        "title": "Content"
                    },
                    "session_id": {
                        "anyOf": [
                            {
                                "type": "string"
                            },
                            {
                                "type": "null"
                            }
                        ],
                        "title": "Session Id"
                    },
                    "message_id": {
                        "anyOf": [
                            {
                                "type": "string"
                            },
                            {
                                "type": "null"
                            }
                        ],
                        "title": "Message Id"
                    },
                    "metadata": {
                        "additionalProperties": true,
                        "type": "object",
                        "title": "Metadata",
                        "default": {}
                    }
                },
                "type": "object",
                "required": [
                    "metamessage_type",
                    "content"
                ],
                "title": "MetamessageCreate"
            },
            "MetamessageGet": {
                "properties": {
                    "metamessage_type": {
                        "anyOf": [
                            {
                                "type": "string"
                            },
                            {
                                "type": "null"
                            }
                        ],
                        "title": "Metamessage Type"
                    },
                    "session_id": {
                        "anyOf": [
                            {
                                "type": "string"
                            },
                            {
                                "type": "null"
                            }
                        ],
                        "title": "Session Id"
                    },
                    "message_id": {
                        "anyOf": [
                            {
                                "type": "string"
                            },
                            {
                                "type": "null"
                            }
                        ],
                        "title": "Message Id"
                    },
                    "filter": {
                        "anyOf": [
                            {
                                "additionalProperties": true,
                                "type": "object"
                            },
                            {
                                "type": "null"
                            }
                        ],
                        "title": "Filter"
                    }
                },
                "type": "object",
                "title": "MetamessageGet"
            },
            "MetamessageUpdate": {
                "properties": {
                    "session_id": {
                        "anyOf": [
                            {
                                "type": "string"
                            },
                            {
                                "type": "null"
                            }
                        ],
                        "title": "Session Id"
                    },
                    "message_id": {
                        "anyOf": [
                            {
                                "type": "string"
                            },
                            {
                                "type": "null"
                            }
                        ],
                        "title": "Message Id"
                    },
                    "metamessage_type": {
                        "anyOf": [
                            {
                                "type": "string"
                            },
                            {
                                "type": "null"
                            }
                        ],
                        "title": "Metamessage Type"
                    },
                    "metadata": {
                        "anyOf": [
                            {
                                "additionalProperties": true,
                                "type": "object"
                            },
                            {
                                "type": "null"
                            }
                        ],
                        "title": "Metadata"
                    }
                },
                "type": "object",
                "title": "MetamessageUpdate"
            },
            "Page_App_": {
                "properties": {
                    "items": {
                        "items": {
                            "$ref": "#/components/schemas/App"
                        },
                        "type": "array",
                        "title": "Items"
                    },
                    "total": {
                        "type": "integer",
                        "minimum": 0,
                        "title": "Total"
                    },
                    "page": {
                        "type": "integer",
                        "minimum": 1,
                        "title": "Page"
                    },
                    "size": {
                        "type": "integer",
                        "minimum": 1,
                        "title": "Size"
                    },
                    "pages": {
                        "type": "integer",
                        "minimum": 0,
                        "title": "Pages"
                    }
                },
                "type": "object",
                "required": [
                    "items",
                    "total",
                    "page",
                    "size"
                ],
                "title": "Page[App]"
            },
            "Page_Collection_": {
                "properties": {
                    "items": {
                        "items": {
                            "$ref": "#/components/schemas/Collection"
                        },
                        "type": "array",
                        "title": "Items"
                    },
                    "total": {
                        "type": "integer",
                        "minimum": 0,
                        "title": "Total"
                    },
                    "page": {
                        "type": "integer",
                        "minimum": 1,
                        "title": "Page"
                    },
                    "size": {
                        "type": "integer",
                        "minimum": 1,
                        "title": "Size"
                    },
                    "pages": {
                        "type": "integer",
                        "minimum": 0,
                        "title": "Pages"
                    }
                },
                "type": "object",
                "required": [
                    "items",
                    "total",
                    "page",
                    "size"
                ],
                "title": "Page[Collection]"
            },
            "Page_Document_": {
                "properties": {
                    "items": {
                        "items": {
                            "$ref": "#/components/schemas/Document"
                        },
                        "type": "array",
                        "title": "Items"
                    },
                    "total": {
                        "type": "integer",
                        "minimum": 0,
                        "title": "Total"
                    },
                    "page": {
                        "type": "integer",
                        "minimum": 1,
                        "title": "Page"
                    },
                    "size": {
                        "type": "integer",
                        "minimum": 1,
                        "title": "Size"
                    },
                    "pages": {
                        "type": "integer",
                        "minimum": 0,
                        "title": "Pages"
                    }
                },
                "type": "object",
                "required": [
                    "items",
                    "total",
                    "page",
                    "size"
                ],
                "title": "Page[Document]"
            },
            "Page_Message_": {
                "properties": {
                    "items": {
                        "items": {
                            "$ref": "#/components/schemas/Message"
                        },
                        "type": "array",
                        "title": "Items"
                    },
                    "total": {
                        "type": "integer",
                        "minimum": 0,
                        "title": "Total"
                    },
                    "page": {
                        "type": "integer",
                        "minimum": 1,
                        "title": "Page"
                    },
                    "size": {
                        "type": "integer",
                        "minimum": 1,
                        "title": "Size"
                    },
                    "pages": {
                        "type": "integer",
                        "minimum": 0,
                        "title": "Pages"
                    }
                },
                "type": "object",
                "required": [
                    "items",
                    "total",
                    "page",
                    "size"
                ],
                "title": "Page[Message]"
            },
            "Page_Metamessage_": {
                "properties": {
                    "items": {
                        "items": {
                            "$ref": "#/components/schemas/Metamessage"
                        },
                        "type": "array",
                        "title": "Items"
                    },
                    "total": {
                        "type": "integer",
                        "minimum": 0,
                        "title": "Total"
                    },
                    "page": {
                        "type": "integer",
                        "minimum": 1,
                        "title": "Page"
                    },
                    "size": {
                        "type": "integer",
                        "minimum": 1,
                        "title": "Size"
                    },
                    "pages": {
                        "type": "integer",
                        "minimum": 0,
                        "title": "Pages"
                    }
                },
                "type": "object",
                "required": [
                    "items",
                    "total",
                    "page",
                    "size"
                ],
                "title": "Page[Metamessage]"
            },
            "Page_Session_": {
                "properties": {
                    "items": {
                        "items": {
                            "$ref": "#/components/schemas/Session"
                        },
                        "type": "array",
                        "title": "Items"
                    },
                    "total": {
                        "type": "integer",
                        "minimum": 0,
                        "title": "Total"
                    },
                    "page": {
                        "type": "integer",
                        "minimum": 1,
                        "title": "Page"
                    },
                    "size": {
                        "type": "integer",
                        "minimum": 1,
                        "title": "Size"
                    },
                    "pages": {
                        "type": "integer",
                        "minimum": 0,
                        "title": "Pages"
                    }
                },
                "type": "object",
                "required": [
                    "items",
                    "total",
                    "page",
                    "size"
                ],
                "title": "Page[Session]"
            },
            "Page_User_": {
                "properties": {
                    "items": {
                        "items": {
                            "$ref": "#/components/schemas/User"
                        },
                        "type": "array",
                        "title": "Items"
                    },
                    "total": {
                        "type": "integer",
                        "minimum": 0,
                        "title": "Total"
                    },
                    "page": {
                        "type": "integer",
                        "minimum": 1,
                        "title": "Page"
                    },
                    "size": {
                        "type": "integer",
                        "minimum": 1,
                        "title": "Size"
                    },
                    "pages": {
                        "type": "integer",
                        "minimum": 0,
                        "title": "Pages"
                    }
                },
                "type": "object",
                "required": [
                    "items",
                    "total",
                    "page",
                    "size"
                ],
                "title": "Page[User]"
            },
            "Session": {
                "properties": {
                    "id": {
                        "type": "string",
                        "title": "Id"
                    },
                    "is_active": {
                        "type": "boolean",
                        "title": "Is Active"
                    },
                    "user_id": {
                        "type": "string",
                        "title": "User Id"
                    },
                    "app_id": {
                        "type": "string",
                        "title": "App Id"
                    },
                    "metadata": {
                        "additionalProperties": true,
                        "type": "object",
                        "title": "Metadata",
                        "default": {}
                    },
                    "created_at": {
                        "type": "string",
                        "format": "date-time",
                        "title": "Created At"
                    }
                },
                "type": "object",
                "required": [
                    "id",
                    "is_active",
                    "user_id",
                    "app_id",
                    "created_at"
                ],
                "title": "Session"
            },
            "SessionCreate": {
                "properties": {
                    "metadata": {
                        "additionalProperties": true,
                        "type": "object",
                        "title": "Metadata",
                        "default": {}
                    }
                },
                "type": "object",
                "title": "SessionCreate"
            },
            "SessionGet": {
                "properties": {
                    "filter": {
                        "anyOf": [
                            {
                                "additionalProperties": true,
                                "type": "object"
                            },
                            {
                                "type": "null"
                            }
                        ],
                        "title": "Filter"
                    },
                    "is_active": {
                        "type": "boolean",
                        "title": "Is Active",
                        "default": false
                    }
                },
                "type": "object",
                "title": "SessionGet"
            },
            "SessionUpdate": {
                "properties": {
                    "metadata": {
                        "additionalProperties": true,
                        "type": "object",
                        "title": "Metadata"
                    }
                },
                "type": "object",
                "required": [
                    "metadata"
                ],
                "title": "SessionUpdate"
            },
            "User": {
                "properties": {
                    "id": {
                        "type": "string",
                        "title": "Id"
                    },
                    "name": {
                        "type": "string",
                        "title": "Name"
                    },
                    "app_id": {
                        "type": "string",
                        "title": "App Id"
                    },
                    "created_at": {
                        "type": "string",
                        "format": "date-time",
                        "title": "Created At"
                    },
                    "metadata": {
                        "additionalProperties": true,
                        "type": "object",
                        "title": "Metadata",
                        "default": {}
                    }
                },
                "type": "object",
                "required": [
                    "id",
                    "name",
                    "app_id",
                    "created_at"
                ],
                "title": "User"
            },
            "UserCreate": {
                "properties": {
                    "name": {
                        "type": "string",
                        "maxLength": 100,
                        "minLength": 1,
                        "title": "Name"
                    },
                    "metadata": {
                        "additionalProperties": true,
                        "type": "object",
                        "title": "Metadata",
                        "default": {}
                    }
                },
                "type": "object",
                "required": [
                    "name"
                ],
                "title": "UserCreate"
            },
            "UserGet": {
                "properties": {
                    "filter": {
                        "anyOf": [
                            {
                                "additionalProperties": true,
                                "type": "object"
                            },
                            {
                                "type": "null"
                            }
                        ],
                        "title": "Filter"
                    }
                },
                "type": "object",
                "title": "UserGet"
            },
            "UserUpdate": {
                "properties": {
                    "name": {
                        "anyOf": [
                            {
                                "type": "string"
                            },
                            {
                                "type": "null"
                            }
                        ],
                        "title": "Name"
                    },
                    "metadata": {
                        "anyOf": [
                            {
                                "additionalProperties": true,
                                "type": "object"
                            },
                            {
                                "type": "null"
                            }
                        ],
                        "title": "Metadata"
                    }
                },
                "type": "object",
                "title": "UserUpdate"
            },
            "ValidationError": {
                "properties": {
                    "loc": {
                        "items": {
                            "anyOf": [
                                {
                                    "type": "string"
                                },
                                {
                                    "type": "integer"
                                }
                            ]
                        },
                        "type": "array",
                        "title": "Location"
                    },
                    "msg": {
                        "type": "string",
                        "title": "Message"
                    },
                    "type": {
                        "type": "string",
                        "title": "Error Type"
                    }
                },
                "type": "object",
                "required": [
                    "loc",
                    "msg",
                    "type"
                ],
                "title": "ValidationError"
            }
        },
        "securitySchemes": {
            "HTTPBearer": {
                "type": "http",
                "scheme": "bearer"
            }
        }
    }
}
