plastic-labs / honcho
6,142 PythonMemory library for building stateful agents
Honcho API Specification
Located in docs/v1/openapi.json on branch HEAD
3.1.0
JSON
31 Endpoints
213.5 KB
Operations & Route Endpoints (41)
Raw JSON Specification
{
"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": "[email protected]"
},
"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"
}
}
}
}