{"openapi":"3.0.2","info":{"title":"Aureo Platform API","version":"0.8.0-beta"},"servers":[{"url":"https://api.platform.v1.aureo.io"}],"paths":{"/":{"get":{"tags":["Home"],"summary":"Redirect","operationId":"redirect__get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/workspace/create":{"post":{"tags":["Workspaces"],"summary":"Create Workspace","description":"Create a new workspace for organizing datasets, models and trainings.\n\nEach workspace can have multiple users with different permission levels.\nThe workspace creator becomes the owner with full permissions.","operationId":"create_workspace_workspace_create_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkspaceSchema"}}},"required":true},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"API_Key":[],"API_Secret":[]}]}},"/workspace/list":{"get":{"tags":["Workspaces"],"summary":"List Workspace","description":"List all workspaces accessible by the authenticated user.\n\nReturns both owned workspaces and those shared with the user.\nEach workspace includes its UUID, name, description and permission details.","operationId":"list_workspace_workspace_list_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"API_Key":[],"API_Secret":[]}]}},"/workspace/list/users/{email}":{"get":{"tags":["Workspaces"],"summary":"Search Platform Users","description":"Search for platform users by email address to add them to workspaces.\n\nRequires at least 5 characters for search.\nExcludes the current user from search results.\nIncludes reCAPTCHA validation for security when enabled.","operationId":"search_platform_users_workspace_list_users__email__get","parameters":[{"required":true,"schema":{"title":"Email","type":"string"},"name":"email","in":"path"},{"required":false,"schema":{"title":"Recaptcha","type":"string"},"name":"recaptcha","in":"query"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"API_Key":[],"API_Secret":[]}]}},"/workspace/{uuid}/add/permission":{"post":{"tags":["Workspaces"],"summary":"Add Workspace Permission","description":"Grant access permissions to a platform user for a specific workspace.\n\nUsers must have an existing platform account to be added.\nPermission levels control whether users can view or edit workspace resources.\nUsers with permissions can access datasets, models and trainings within the workspace.\nCannot add yourself to your own workspace.","operationId":"add_workspace_permission_workspace__uuid__add_permission_post","parameters":[{"required":true,"schema":{"title":"Uuid","type":"string"},"name":"uuid","in":"path"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkspacePermissionSchema"}}},"required":true},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"API_Key":[],"API_Secret":[]}]}},"/workspace/{uuid}/list/permissions":{"get":{"tags":["Workspaces"],"summary":"List Workspace Permission","description":"List all users who have access permissions to the specified workspace.\n\nReturns user details including name, email and permission levels.\nOnly workspace owners can view the complete permissions list.","operationId":"list_workspace_permission_workspace__uuid__list_permissions_get","parameters":[{"required":true,"schema":{"title":"Uuid","type":"string"},"name":"uuid","in":"path"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"API_Key":[],"API_Secret":[]}]}},"/workspace/{uuid}/delete/permission":{"delete":{"tags":["Workspaces"],"summary":"Remove User Permission","description":"Revoke a user's access permissions from the specified workspace.\n\nThe user will immediately lose access to all workspace resources.\nOnly workspace owners can remove user permissions.","operationId":"remove_user_permission_workspace__uuid__delete_permission_delete","parameters":[{"required":true,"schema":{"title":"Uuid","type":"string"},"name":"uuid","in":"path"},{"required":true,"schema":{"title":"Client Email","type":"string"},"name":"client_email","in":"query"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"API_Key":[],"API_Secret":[]}]}},"/workspace/{uuid}/delete/self/permission":{"delete":{"tags":["Workspaces"],"summary":"Leave Workspace","description":"Allow a user to remove themselves from a shared workspace.\n\nThe user will lose access to all workspace resources.\nWorkspace owners cannot leave their own workspaces.","operationId":"leave_workspace_workspace__uuid__delete_self_permission_delete","parameters":[{"required":true,"schema":{"title":"Uuid","type":"string"},"name":"uuid","in":"path"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"API_Key":[],"API_Secret":[]}]}},"/workspace/search/{name}":{"get":{"tags":["Workspaces"],"summary":"Search Workspace","description":"Search for workspaces by name among those accessible to the user.\n\nReturns matching workspaces with their UUID, name and description.\nSearch is performed only on workspaces the user owns or has access to.","operationId":"search_workspace_workspace_search__name__get","parameters":[{"required":true,"schema":{"title":"Name","type":"string"},"name":"name","in":"path"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"API_Key":[],"API_Secret":[]}]}},"/workspace/{uuid}/update":{"put":{"tags":["Workspaces"],"summary":"Update Workspace","description":"Update the details of an existing workspace.\n\nCan modify workspace name, description and default status.\nOnly workspace owners can perform updates.\nDefault workspace designation can be transferred between workspaces.","operationId":"update_workspace_workspace__uuid__update_put","parameters":[{"required":true,"schema":{"title":"Uuid","type":"string"},"name":"uuid","in":"path"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkspaceSchema"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"API_Key":[],"API_Secret":[]}]}},"/workspace/{uuid}/delete":{"delete":{"tags":["Workspaces"],"summary":"Delete Workspace","description":"Permanently delete a workspace and all associated resources.\n\nDeletes all datasets, models, trainings and permissions associated with the workspace.\nDefault workspaces cannot be deleted.\nOnly workspace owners can perform deletion.","operationId":"delete_workspace_workspace__uuid__delete_delete","parameters":[{"required":true,"schema":{"title":"Uuid","type":"string"},"name":"uuid","in":"path"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"API_Key":[],"API_Secret":[]}]}},"/workspace/events":{"get":{"tags":["Workspaces"],"summary":"List Workspace Events","description":"List all events and activities within the specified workspace.\n\nProvides an audit trail of workspace operations including creation, updates and deletions.\nEvents are returned in chronological order.\nRequires read permissions on the workspace.","operationId":"list_workspace_events_workspace_events_get","parameters":[{"required":false,"schema":{"title":"Workspace Uuid","type":"string"},"name":"workspace_uuid","in":"query"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"API_Key":[],"API_Secret":[]}]}},"/profile/credits":{"get":{"tags":["Profile"],"summary":"Get Credits Balance","description":"Get the current balance of processing and API credits for the authenticated user.\n\nReturns detailed credit information including:\n- Processing credits (available, used, additional, remaining)\n- API credits (available, used, additional, remaining)\n- Seat usage information\n\nOptional `workspace_uuid` query param scopes the response to a specific workspace\n(owned or shared with read access). When provided:\n- Processing credits \"used\" reflects only that workspace's consumption.\n- API credits are not workspace-scoped (request_logs has no workspace_uuid),\n  so api_credits_used is forced to 0 and `api_credits_scoped: false` is set.\n- Allocation (available + additional) belongs to the workspace OWNER.\n- Response includes `workspace_context` block.","operationId":"get_credits_balance_profile_credits_get","parameters":[{"required":false,"schema":{"title":"Workspace Uuid","type":"string"},"name":"workspace_uuid","in":"query"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"API_Key":[],"API_Secret":[]}]}},"/profile/info":{"get":{"tags":["Profile"],"summary":"Get Profile Info","description":"Get detailed profile information for the authenticated user.\n\nReturns user details including name, email, company information,\nsubscription status and account settings.","operationId":"get_profile_info_profile_info_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"API_Key":[],"API_Secret":[]}]}},"/profile/password/change":{"put":{"tags":["Profile"],"summary":"Change Password","description":"Change the password for the authenticated user account.\n\nRequires the current password for verification and new password with confirmation.\nNew password must match the verification field.\nNot available for social login accounts.","operationId":"change_password_profile_password_change_put","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ChangePasswordSchema"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"API_Key":[],"API_Secret":[]}]}},"/profile/api-key":{"get":{"tags":["Profile"],"summary":"Get Api Keys","description":"Get all API keys associated with the authenticated user account.\n\nIf no API keys exist, automatically generates the first key pair.\nAPI secrets are partially obscured for security (only last 4 characters shown).\nMaximum of 5 API keys per account.","operationId":"get_api_keys_profile_api_key_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"API_Key":[],"API_Secret":[]}]},"post":{"tags":["Profile"],"summary":"Create New Api Key","description":"Create a new API key pair for the authenticated user.\n\nGenerates a unique API key and secret for programmatic access.\nMaximum of 5 API keys allowed per account.\nReturns the newly created key and secret in full.","operationId":"create_new_api_key_profile_api_key_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"API_Key":[],"API_Secret":[]}]}},"/profile/api-key/{api_key}":{"delete":{"tags":["Profile"],"summary":"Delete Api Key","description":"Delete a specific API key from the user's account.\n\nPermanently removes the specified API key.\nCannot delete the last remaining API key (minimum 1 required).\nDeleted keys cannot be recovered.","operationId":"delete_api_key_profile_api_key__api_key__delete","parameters":[{"required":true,"schema":{"title":"Api Key","type":"string"},"name":"api_key","in":"path"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"API_Key":[],"API_Secret":[]}]}},"/profile/mfa":{"get":{"tags":["Profile"],"summary":"Get Mfa Status","description":"Check if Multi-Factor Authentication (MFA) is enabled for the user account.\n\nReturns the current MFA activation status.\nMFA provides an additional layer of security using TOTP codes.","operationId":"get_mfa_status_profile_mfa_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"API_Key":[],"API_Secret":[]}]},"post":{"tags":["Profile"],"summary":"Setup Mfa","description":"Set up Multi-Factor Authentication (MFA) for the user account.\n\nGenerates a new TOTP secret and QR code for authenticator apps.\nReturns the MFA provisioning URI, secret code, and QR code image (base64).\nMFA must be validated with a code before activation.\nCannot setup MFA if already active.","operationId":"setup_mfa_profile_mfa_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"API_Key":[],"API_Secret":[]}]},"delete":{"tags":["Profile"],"summary":"Disable Mfa","description":"Disable Multi-Factor Authentication for the user account.\n\nRequires password verification for security.\nRemoves MFA requirement from the account.\nCan be re-enabled later if needed.","operationId":"disable_mfa_profile_mfa_delete","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DeleteMFASchema"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"API_Key":[],"API_Secret":[]}]}},"/profile/mfa/valid/{code}":{"post":{"tags":["Profile"],"summary":"Validate Mfa Setup","description":"Validate and activate Multi-Factor Authentication setup.\n\nVerifies the TOTP code from the authenticator app to confirm proper setup.\nOnce validated, MFA becomes active and required for future logins.\nCode expires every 30 seconds - use current code from authenticator app.","operationId":"validate_mfa_setup_profile_mfa_valid__code__post","parameters":[{"required":true,"schema":{"title":"Code","type":"string"},"name":"code","in":"path"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"API_Key":[],"API_Secret":[]}]}},"/profile/audit/{year}/{month}":{"get":{"tags":["Profile"],"summary":"Get Audit Credits Summary","description":"Get credit usage summary for a specific month/year for audit purposes.\n\nReturns an overview of processing and API credit usage including\navailable credits, used credits, additional credits, and remaining balance.\nNote: \"available\" and \"additional\" reflect current allocation, not historical.\n\nOptional `workspace_uuid` query param scopes processing usage to a specific workspace\n(owned or shared). API usage is not workspace-scoped — set to 0 with\n`api_credits_scoped: false` flag.","operationId":"get_audit_credits_summary_profile_audit__year___month__get","parameters":[{"required":true,"schema":{"title":"Year","type":"integer"},"name":"year","in":"path"},{"required":true,"schema":{"title":"Month","type":"integer"},"name":"month","in":"path"},{"required":false,"schema":{"title":"Workspace Uuid","type":"string"},"name":"workspace_uuid","in":"query"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"API_Key":[],"API_Secret":[]}]}},"/profile/audit/{year}/{month}/details":{"get":{"tags":["Profile"],"summary":"Get Audit Credits Details","description":"Get detailed credit usage records for a specific month with pagination.\n\nReturns individual credit consumption records with workspace information.\nSupports filtering by credit type (e.g. multi_layer_llm, ophelya).\nMaximum 500 records per request.\n\nOptional `workspace_uuid` scopes records to a specific workspace (owned or shared).","operationId":"get_audit_credits_details_profile_audit__year___month__details_get","parameters":[{"required":true,"schema":{"title":"Year","type":"integer"},"name":"year","in":"path"},{"required":true,"schema":{"title":"Month","type":"integer"},"name":"month","in":"path"},{"required":false,"schema":{"title":"Credit Type","type":"string"},"name":"credit_type","in":"query"},{"required":false,"schema":{"title":"Skip","type":"integer","default":0},"name":"skip","in":"query"},{"required":false,"schema":{"title":"Limit","type":"integer","default":100},"name":"limit","in":"query"},{"required":false,"schema":{"title":"Workspace Uuid","type":"string"},"name":"workspace_uuid","in":"query"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"API_Key":[],"API_Secret":[]}]}},"/profile/audit/{year}/{month}/daily":{"get":{"tags":["Profile"],"summary":"Get Audit Daily Breakdown","description":"Get day-by-day credit usage breakdown for a specific month.\n\nReturns daily processing credit usage (broken down by type) and\ndaily API usage (with success/error counts).\n\nOptional `workspace_uuid` scopes processing breakdown to a specific workspace.\nAPI breakdown returns empty array in workspace-scoped mode (not workspace-tracked).","operationId":"get_audit_daily_breakdown_profile_audit__year___month__daily_get","parameters":[{"required":true,"schema":{"title":"Year","type":"integer"},"name":"year","in":"path"},{"required":true,"schema":{"title":"Month","type":"integer"},"name":"month","in":"path"},{"required":false,"schema":{"title":"Workspace Uuid","type":"string"},"name":"workspace_uuid","in":"query"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"API_Key":[],"API_Secret":[]}]}},"/profile/audit/{year}/{month}/by-workspace":{"get":{"tags":["Profile"],"summary":"Get Audit By Workspace","description":"Get credit usage grouped by workspace for a specific month.\n\nReturns total consumption per workspace with breakdown by credit type.\nUseful for identifying which workspaces consume the most credits.\n\nOptional `workspace_uuid` reduces the result to that single workspace (owned or shared).","operationId":"get_audit_by_workspace_profile_audit__year___month__by_workspace_get","parameters":[{"required":true,"schema":{"title":"Year","type":"integer"},"name":"year","in":"path"},{"required":true,"schema":{"title":"Month","type":"integer"},"name":"month","in":"path"},{"required":false,"schema":{"title":"Workspace Uuid","type":"string"},"name":"workspace_uuid","in":"query"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"API_Key":[],"API_Secret":[]}]}},"/profile/audit/{year}/{month}/by-chatbot":{"get":{"tags":["Profile"],"summary":"Get Audit By Chatbot","description":"Get credit usage grouped by chatbot for a specific month.\n\nReturns total consumption per MultiLayer LLM chatbot (name, mode, total credits).\nOnly includes multi_layer_llm credit type usage.\n\nOptional `workspace_uuid` scopes the breakdown to chatbots used in that workspace.","operationId":"get_audit_by_chatbot_profile_audit__year___month__by_chatbot_get","parameters":[{"required":true,"schema":{"title":"Year","type":"integer"},"name":"year","in":"path"},{"required":true,"schema":{"title":"Month","type":"integer"},"name":"month","in":"path"},{"required":false,"schema":{"title":"Workspace Uuid","type":"string"},"name":"workspace_uuid","in":"query"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"API_Key":[],"API_Secret":[]}]}},"/profile/audit/{year}/{month}/export":{"get":{"tags":["Profile"],"summary":"Export Audit Credits","description":"Export a complete audit report as an Excel (.xlsx) file.\n\nThe Excel file contains 6 sheets:\n1. Summary - Credit allocation and usage overview\n2. Processing Usage - Individual processing credit records with chatbot details\n3. API Usage - Individual API request records\n4. Daily Summary - Day-by-day usage breakdown\n5. By Workspace - Usage grouped by workspace\n6. By Chatbot - Usage grouped by chatbot\n\nOptional `workspace_uuid` scopes the export to a specific workspace (owned or shared).\nFilename is suffixed with workspace identifier. API sheets are empty when scoped.","operationId":"export_audit_credits_profile_audit__year___month__export_get","parameters":[{"required":true,"schema":{"title":"Year","type":"integer"},"name":"year","in":"path"},{"required":true,"schema":{"title":"Month","type":"integer"},"name":"month","in":"path"},{"required":false,"schema":{"title":"Workspace Uuid","type":"string"},"name":"workspace_uuid","in":"query"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"API_Key":[],"API_Secret":[]}]}},"/multilayer-llm/create":{"post":{"tags":["MultiLayerLLM"],"summary":"Create Multilayer Llm","description":"Create a new Multi-Layer LLM assistant with customizable AI capabilities.\n\nSupports three modes:\n- Instruct: Uses custom instructions for behavior\n- Knowledge: Connects to knowledge bases for contextual responses\n- Webhook: Integrates with external APIs for dynamic actions\n\nOptionally enables WhatsApp integration via Twilio.","operationId":"create_multilayer_llm_multilayer_llm_create_post","parameters":[{"required":false,"schema":{"title":"Workspace Uuid","type":"string"},"name":"workspace_uuid","in":"query"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MultiLayerLLMCreate"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"API_Key":[],"API_Secret":[]}]}},"/multilayer-llm/get/{uuid}":{"get":{"tags":["MultiLayerLLM"],"summary":"Get Multilayer Llm","description":"Get detailed information about a specific Multi-Layer LLM assistant.\n\nReturns complete configuration including mode, knowledge bases,\nwebhook settings, WhatsApp integration details and custom instructions.","operationId":"get_multilayer_llm_multilayer_llm_get__uuid__get","parameters":[{"required":true,"schema":{"title":"Uuid","type":"string"},"name":"uuid","in":"path"},{"required":false,"schema":{"title":"Workspace Uuid","type":"string"},"name":"workspace_uuid","in":"query"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"API_Key":[],"API_Secret":[]}]}},"/multilayer-llm/list":{"get":{"tags":["MultiLayerLLM"],"summary":"List Multilayer Llms","description":"List all Multi-Layer LLM assistants in the workspace.\n\nReturns an array of all configured assistants with their settings,\nmodes, integration status and associated knowledge bases.","operationId":"list_multilayer_llms_multilayer_llm_list_get","parameters":[{"required":false,"schema":{"title":"Workspace Uuid","type":"string"},"name":"workspace_uuid","in":"query"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"API_Key":[],"API_Secret":[]}]}},"/multilayer-llm/search/{search}":{"get":{"tags":["MultiLayerLLM"],"summary":"Search Multilayer Llms","description":"Search for Multi-Layer LLM assistants by name or description.\n\nReturns matching assistants based on the search query.\nSearches through assistant names and custom configurations.","operationId":"search_multilayer_llms_multilayer_llm_search__search__get","parameters":[{"required":true,"schema":{"title":"Search","type":"string"},"name":"search","in":"path"},{"required":false,"schema":{"title":"Workspace Uuid","type":"string"},"name":"workspace_uuid","in":"query"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"API_Key":[],"API_Secret":[]}]}},"/multilayer-llm/{uuid}/webhook":{"get":{"tags":["MultiLayerLLM"],"summary":"Get Webhook Logs","description":"Get webhook request logs for a Multi-Layer LLM assistant.\n\nReturns historical webhook calls including requests, responses,\ntimestamps and status codes for debugging and monitoring.","operationId":"get_webhook_logs_multilayer_llm__uuid__webhook_get","parameters":[{"required":true,"schema":{"title":"Uuid","type":"string"},"name":"uuid","in":"path"},{"required":false,"schema":{"title":"Workspace Uuid","type":"string"},"name":"workspace_uuid","in":"query"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"API_Key":[],"API_Secret":[]}]}},"/multilayer-llm/update/{uuid}":{"put":{"tags":["MultiLayerLLM"],"summary":"Update Multilayer Llm","description":"Update configuration of an existing Multi-Layer LLM assistant.\n\nCan modify mode, instructions, knowledge bases, webhook settings,\nWhatsApp integration and temperature parameters.\nValidates all required fields based on the selected mode.","operationId":"update_multilayer_llm_multilayer_llm_update__uuid__put","parameters":[{"required":true,"schema":{"title":"Uuid","type":"string"},"name":"uuid","in":"path"},{"required":false,"schema":{"title":"Workspace Uuid","type":"string"},"name":"workspace_uuid","in":"query"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MultiLayerLLMCreate"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"API_Key":[],"API_Secret":[]}]}},"/multilayer-llm/delete/{uuid}":{"delete":{"tags":["MultiLayerLLM"],"summary":"Delete Multilayer Llm","description":"Permanently delete a Multi-Layer LLM assistant.\n\nRemoves the assistant configuration and all associated data.\nThis action cannot be undone.","operationId":"delete_multilayer_llm_multilayer_llm_delete__uuid__delete","parameters":[{"required":true,"schema":{"title":"Uuid","type":"string"},"name":"uuid","in":"path"},{"required":false,"schema":{"title":"Workspace Uuid","type":"string"},"name":"workspace_uuid","in":"query"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"API_Key":[],"API_Secret":[]}]}},"/multilayer-llm/{uuid}/question":{"post":{"tags":["MultiLayerLLM"],"summary":"Ask Multilayer Llm","description":"Send a question or message to a Multi-Layer LLM assistant.\n\nProcesses the input based on the assistant's mode:\n- Instruct mode: Follows custom instructions\n- Knowledge mode: Searches connected knowledge bases\n- Webhook mode: May trigger external API calls\n\nMaintains conversation context within sessions.","operationId":"ask_multilayer_llm_multilayer_llm__uuid__question_post","parameters":[{"required":true,"schema":{"title":"Uuid","type":"string"},"name":"uuid","in":"path"},{"required":false,"schema":{"title":"Workspace Uuid","type":"string"},"name":"workspace_uuid","in":"query"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MultiLayerLLMQuestion"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"API_Key":[],"API_Secret":[]}]}},"/multilayer-llm/{uuid}/messages":{"get":{"tags":["MultiLayerLLM"],"summary":"Get Conversation History","description":"Get conversation history for a Multi-Layer LLM assistant.\n\nBACKWARD COMPATIBILITY: when no new query parameter is present, returns the\nlegacy grouped-by-session dict (last 30 days). Passing any of page, per_page,\nstart_date, end_date, session, search, engine, status, sort, include_details,\nor include_summary switches to the new paginated envelope.","operationId":"get_conversation_history_multilayer_llm__uuid__messages_get","parameters":[{"required":true,"schema":{"title":"Uuid","type":"string"},"name":"uuid","in":"path"},{"required":false,"schema":{"title":"Workspace Uuid","type":"string"},"name":"workspace_uuid","in":"query"},{"description":"1-based page number (new mode).","required":false,"schema":{"title":"Page","minimum":1.0,"type":"integer","description":"1-based page number (new mode)."},"name":"page","in":"query"},{"description":"Items per page (new mode).","required":false,"schema":{"title":"Per Page","maximum":200.0,"minimum":1.0,"type":"integer","description":"Items per page (new mode).","default":50},"name":"per_page","in":"query"},{"description":"Inclusive lower bound. ISO 8601 or YYYY-MM-DD. Overrides the default 30-day window.","required":false,"schema":{"title":"Start Date","type":"string","description":"Inclusive lower bound. ISO 8601 or YYYY-MM-DD. Overrides the default 30-day window."},"name":"start_date","in":"query"},{"description":"Inclusive upper bound. ISO 8601 or YYYY-MM-DD.","required":false,"schema":{"title":"End Date","type":"string","description":"Inclusive upper bound. ISO 8601 or YYYY-MM-DD."},"name":"end_date","in":"query"},{"description":"Exact session identifier.","required":false,"schema":{"title":"Session","type":"string","description":"Exact session identifier."},"name":"session","in":"query"},{"description":"Case-insensitive substring match on question OR answer.","required":false,"schema":{"title":"Search","maxLength":200,"minLength":1,"type":"string","description":"Case-insensitive substring match on question OR answer."},"name":"search","in":"query"},{"description":"Filter by first_layer_engine OR second_layer_engine.","required":false,"schema":{"title":"Engine","type":"string","description":"Filter by first_layer_engine OR second_layer_engine."},"name":"engine","in":"query"},{"description":"Message status filter.","required":false,"schema":{"title":"Status","pattern":"^(success|error|all)$","type":"string","description":"Message status filter.","default":"success"},"name":"status","in":"query"},{"description":"Sort order on created_at.","required":false,"schema":{"title":"Sort","pattern":"^(asc|desc)$","type":"string","description":"Sort order on created_at.","default":"desc"},"name":"sort","in":"query"},{"description":"Include uuid, title, engines, source, error message.","required":false,"schema":{"title":"Include Details","type":"boolean","description":"Include uuid, title, engines, source, error message.","default":false},"name":"include_details","in":"query"},{"description":"Include aggregated summary block.","required":false,"schema":{"title":"Include Summary","type":"boolean","description":"Include aggregated summary block.","default":false},"name":"include_summary","in":"query"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"API_Key":[],"API_Secret":[]}]}},"/multilayer-llm/{uuid}/messages/sessions":{"get":{"tags":["MultiLayerLLM"],"summary":"List Message Sessions","description":"List distinct conversation sessions for a Multi-Layer LLM assistant,\nwith message counts and first/last message timestamps. Sorted by the\nmost recent activity. Useful for building session pickers in the UI.","operationId":"list_message_sessions_multilayer_llm__uuid__messages_sessions_get","parameters":[{"required":true,"schema":{"title":"Uuid","type":"string"},"name":"uuid","in":"path"},{"required":false,"schema":{"title":"Workspace Uuid","type":"string"},"name":"workspace_uuid","in":"query"},{"description":"Maximum number of sessions to return.","required":false,"schema":{"title":"Limit","maximum":500.0,"minimum":1.0,"type":"integer","description":"Maximum number of sessions to return.","default":100},"name":"limit","in":"query"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"API_Key":[],"API_Secret":[]}]}},"/multilayer-llm/{uuid}/messages/session":{"get":{"tags":["MultiLayerLLM"],"summary":"Get Messages By Session","description":"Get Multi-Layer LLM messages filtered and grouped by session.\n\nReturns conversation messages for specific sessions or all sessions.\nUseful for retrieving context-specific conversation threads.\nMessages include full conversation context and metadata.","operationId":"get_messages_by_session_multilayer_llm__uuid__messages_session_get","parameters":[{"required":true,"schema":{"title":"Uuid","type":"string"},"name":"uuid","in":"path"},{"required":false,"schema":{"title":"Workspace Uuid","type":"string"},"name":"workspace_uuid","in":"query"},{"description":"Session name to filter messages","required":false,"schema":{"title":"Session Name","type":"string","description":"Session name to filter messages"},"name":"session_name","in":"query"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"API_Key":[],"API_Secret":[]}]}},"/multilayer-llm/{uuid}/reports/days":{"get":{"tags":["MultiLayerLLM"],"summary":"List Report Days","description":"Messages and sessions per local day in a range, plus the reports that touch\nthe range. Drives the day picker (calendar) of the usage report feature.","operationId":"list_report_days_multilayer_llm__uuid__reports_days_get","parameters":[{"required":true,"schema":{"title":"Uuid","type":"string"},"name":"uuid","in":"path"},{"required":false,"schema":{"title":"Workspace Uuid","type":"string"},"name":"workspace_uuid","in":"query"},{"description":"IANA timezone used to split the days.","required":false,"schema":{"title":"Timezone","type":"string","description":"IANA timezone used to split the days.","default":"America/Sao_Paulo"},"name":"timezone","in":"query"},{"description":"First day (YYYY-MM-DD, local). Default: ~3 months before `end`.","required":false,"schema":{"title":"Start","type":"string","description":"First day (YYYY-MM-DD, local). Default: ~3 months before `end`."},"name":"start","in":"query"},{"description":"Last day (YYYY-MM-DD, local). Default: today. Max range: 124 days.","required":false,"schema":{"title":"End","type":"string","description":"Last day (YYYY-MM-DD, local). Default: today. Max range: 124 days."},"name":"end","in":"query"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"API_Key":[],"API_Secret":[]}]}},"/multilayer-llm/{uuid}/reports/quote":{"get":{"tags":["MultiLayerLLM"],"summary":"Quote Report","description":"Credit quote for a usage report of the selected days: message/session\ncounts, credits required (25 per day), credits available and whether a\nreport for exactly these days already exists.","operationId":"quote_report_multilayer_llm__uuid__reports_quote_get","parameters":[{"required":true,"schema":{"title":"Uuid","type":"string"},"name":"uuid","in":"path"},{"required":false,"schema":{"title":"Workspace Uuid","type":"string"},"name":"workspace_uuid","in":"query"},{"description":"Selected days, comma-separated (YYYY-MM-DD), up to 31.","required":true,"schema":{"title":"Days","type":"string","description":"Selected days, comma-separated (YYYY-MM-DD), up to 31."},"name":"days","in":"query"},{"required":false,"schema":{"title":"Timezone","type":"string","default":"America/Sao_Paulo"},"name":"timezone","in":"query"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"API_Key":[],"API_Secret":[]}]}},"/multilayer-llm/{uuid}/reports/generate":{"post":{"tags":["MultiLayerLLM"],"summary":"Generate Report","description":"Generate the usage report of the assistant for the selected days (up to 31,\nnot necessarily consecutive).\n\nCharges the credits up front (25 per selected day), records the report as\n\"processing\" and runs the aggregation + conversation reading + AI analysis\nin background. Poll GET /{uuid}/reports/{report_uuid} until status is\n\"completed\" (or \"failed\": credits are refunded automatically).","operationId":"generate_report_multilayer_llm__uuid__reports_generate_post","parameters":[{"required":true,"schema":{"title":"Uuid","type":"string"},"name":"uuid","in":"path"},{"required":false,"schema":{"title":"Workspace Uuid","type":"string"},"name":"workspace_uuid","in":"query"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MultiLayerLLMReportGenerate"}}},"required":true},"responses":{"202":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"API_Key":[],"API_Secret":[]}]}},"/multilayer-llm/{uuid}/reports":{"get":{"tags":["MultiLayerLLM"],"summary":"List Reports","description":"List the usage reports generated for the assistant (newest first), with\nstatus, period, credits charged and the headline metrics.","operationId":"list_reports_multilayer_llm__uuid__reports_get","parameters":[{"required":true,"schema":{"title":"Uuid","type":"string"},"name":"uuid","in":"path"},{"required":false,"schema":{"title":"Workspace Uuid","type":"string"},"name":"workspace_uuid","in":"query"},{"required":false,"schema":{"title":"Limit","maximum":200.0,"minimum":1.0,"type":"integer","default":50},"name":"limit","in":"query"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"API_Key":[],"API_Secret":[]}]}},"/multilayer-llm/{uuid}/reports/{report_uuid}":{"get":{"tags":["MultiLayerLLM"],"summary":"Get Report","description":"Usage report document: status/progress, credits, metrics and the AI analysis.\nPlatform internals are never returned (analysis engine, models used, error\ncounts, sampling and the raw failure text: on failure `progress.message` is\na generic message and the credits are refunded).","operationId":"get_report_multilayer_llm__uuid__reports__report_uuid__get","parameters":[{"required":true,"schema":{"title":"Uuid","type":"string"},"name":"uuid","in":"path"},{"required":true,"schema":{"title":"Report Uuid","type":"string"},"name":"report_uuid","in":"path"},{"required":false,"schema":{"title":"Workspace Uuid","type":"string"},"name":"workspace_uuid","in":"query"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"API_Key":[],"API_Secret":[]}]},"delete":{"tags":["MultiLayerLLM"],"summary":"Delete Report","description":"Soft-delete a usage report (credits are not refunded).","operationId":"delete_report_multilayer_llm__uuid__reports__report_uuid__delete","parameters":[{"required":true,"schema":{"title":"Uuid","type":"string"},"name":"uuid","in":"path"},{"required":true,"schema":{"title":"Report Uuid","type":"string"},"name":"report_uuid","in":"path"},{"required":false,"schema":{"title":"Workspace Uuid","type":"string"},"name":"workspace_uuid","in":"query"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"API_Key":[],"API_Secret":[]}]}},"/multilayer-llm/{uuid}/reports/{report_uuid}/pdf":{"get":{"tags":["MultiLayerLLM"],"summary":"Download Report Pdf","description":"Usage report as a PDF in the Aureo visual standard. Rendered on demand from\nthe stored metrics and analysis.","operationId":"download_report_pdf_multilayer_llm__uuid__reports__report_uuid__pdf_get","parameters":[{"required":true,"schema":{"title":"Uuid","type":"string"},"name":"uuid","in":"path"},{"required":true,"schema":{"title":"Report Uuid","type":"string"},"name":"report_uuid","in":"path"},{"required":false,"schema":{"title":"Workspace Uuid","type":"string"},"name":"workspace_uuid","in":"query"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"API_Key":[],"API_Secret":[]}]}},"/knowledge-base/collector/create":{"post":{"tags":["KnowledgeBaseCollector"],"summary":"Create Knowledge Base","description":"Create a new knowledge base for storing and organizing documents.\n\nKnowledge bases can contain multiple documents, files and data sources.\nSupports custom parameter extraction and public/private access control.","operationId":"create_knowledge_base_knowledge_base_collector_create_post","parameters":[{"required":false,"schema":{"title":"Workspace Uuid","type":"string"},"name":"workspace_uuid","in":"query"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/KnowledgeSchema"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"API_Key":[],"API_Secret":[]}]}},"/knowledge-base/collector/list":{"get":{"tags":["KnowledgeBaseCollector"],"summary":"List Knowledge Bases","description":"List all knowledge bases in the workspace.\n\nReturns knowledge bases with their configuration, status and metadata.\nIncludes both active and inactive knowledge bases.","operationId":"list_knowledge_bases_knowledge_base_collector_list_get","parameters":[{"required":false,"schema":{"title":"Workspace Uuid","type":"string"},"name":"workspace_uuid","in":"query"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"API_Key":[],"API_Secret":[]}]}},"/knowledge-base/collector/search":{"get":{"tags":["KnowledgeBaseCollector"],"summary":"Search Knowledge Bases","description":"Search for knowledge bases by name or description.\n\nReturns matching knowledge bases based on the search query.\nSearches through knowledge base names and descriptions.","operationId":"search_knowledge_bases_knowledge_base_collector_search_get","parameters":[{"required":true,"schema":{"title":"Query","type":"string"},"name":"query","in":"query"},{"required":false,"schema":{"title":"Workspace Uuid","type":"string"},"name":"workspace_uuid","in":"query"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"API_Key":[],"API_Secret":[]}]}},"/knowledge-base/collector/{knowledge_uuid}":{"get":{"tags":["KnowledgeBaseCollector"],"summary":"Get Knowledge Base","description":"Get detailed information about a specific knowledge base.\n\nReturns complete knowledge base configuration including\nsettings, custom parameters and access permissions.","operationId":"get_knowledge_base_knowledge_base_collector__knowledge_uuid__get","parameters":[{"required":true,"schema":{"title":"Knowledge Uuid","type":"string"},"name":"knowledge_uuid","in":"path"},{"required":false,"schema":{"title":"Workspace Uuid","type":"string"},"name":"workspace_uuid","in":"query"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"API_Key":[],"API_Secret":[]}]}},"/knowledge-base/collector/edit/{knowledge_uuid}":{"put":{"tags":["KnowledgeBaseCollector"],"summary":"Update Knowledge Base","description":"Update configuration of an existing knowledge base.\n\nCan modify name, description, public access, active status\nand custom parameter extraction settings.","operationId":"update_knowledge_base_knowledge_base_collector_edit__knowledge_uuid__put","parameters":[{"required":true,"schema":{"title":"Knowledge Uuid","type":"string"},"name":"knowledge_uuid","in":"path"},{"required":false,"schema":{"title":"Workspace Uuid","type":"string"},"name":"workspace_uuid","in":"query"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/KnowledgeSchema"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"API_Key":[],"API_Secret":[]}]}},"/knowledge-base/collector/delete/{knowledge_uuid}":{"delete":{"tags":["KnowledgeBaseCollector"],"summary":"Delete Knowledge Base","description":"Permanently delete a knowledge base and all its contents.\n\nRemoves the knowledge base, all associated documents, extractions\nand BigQuery tables. This action cannot be undone.\nRequires owner permissions.","operationId":"delete_knowledge_base_knowledge_base_collector_delete__knowledge_uuid__delete","parameters":[{"required":true,"schema":{"title":"Knowledge Uuid","type":"string"},"name":"knowledge_uuid","in":"path"},{"required":false,"schema":{"title":"Workspace Uuid","type":"string"},"name":"workspace_uuid","in":"query"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"API_Key":[],"API_Secret":[]}]}},"/knowledge-base/collector/{knowledge_uuid}/item/upload":{"post":{"tags":["KnowledgeBaseCollector"],"summary":"Upload Document To Knowledge Base","description":"Upload a document or file to a knowledge base.\n\nSupports PDFs, Office documents, spreadsheets, text files, images and audio files.\nAudio files must be under 10 minutes. Files are stored in Google Cloud Storage.\nOptionally specify custom parameters to extract from the document.","operationId":"upload_document_to_knowledge_base_knowledge_base_collector__knowledge_uuid__item_upload_post","parameters":[{"required":true,"schema":{"title":"Knowledge Uuid","type":"string"},"name":"knowledge_uuid","in":"path"},{"required":true,"schema":{"title":"Name","maxLength":256,"minLength":3,"type":"string"},"name":"name","in":"query"},{"required":false,"schema":{"title":"Description","type":"string"},"name":"description","in":"query"},{"required":true,"schema":{"$ref":"#/components/schemas/RecurrencyEnum"},"name":"recurrency","in":"query"},{"required":false,"schema":{"title":"Workspace Uuid","type":"string"},"name":"workspace_uuid","in":"query"}],"requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/Body_upload_document_to_knowledge_base_knowledge_base_collector__knowledge_uuid__item_upload_post"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"API_Key":[],"API_Secret":[]}]}},"/knowledge-base/collector/{knowledge_uuid}/item/list":{"get":{"tags":["KnowledgeBaseCollector"],"summary":"List Knowledge Base Documents","description":"List all documents in a knowledge base.\n\nReturns documents with their metadata, storage information,\nfile size, page count and last extraction status.","operationId":"list_knowledge_base_documents_knowledge_base_collector__knowledge_uuid__item_list_get","parameters":[{"required":true,"schema":{"title":"Knowledge Uuid","type":"string"},"name":"knowledge_uuid","in":"path"},{"required":false,"schema":{"title":"Workspace Uuid","type":"string"},"name":"workspace_uuid","in":"query"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"API_Key":[],"API_Secret":[]}]}},"/knowledge-base/collector/{knowledge_uuid}/item/search":{"get":{"tags":["KnowledgeBaseCollector"],"summary":"Search Knowledge Base Documents","description":"Search for documents within a specific knowledge base.\n\nReturns matching documents based on the search query.\nSearches through document names and descriptions.\nIncludes extraction status for each document.","operationId":"search_knowledge_base_documents_knowledge_base_collector__knowledge_uuid__item_search_get","parameters":[{"required":true,"schema":{"title":"Knowledge Uuid","type":"string"},"name":"knowledge_uuid","in":"path"},{"required":true,"schema":{"title":"Query","type":"string"},"name":"query","in":"query"},{"required":false,"schema":{"title":"Workspace Uuid","type":"string"},"name":"workspace_uuid","in":"query"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"API_Key":[],"API_Secret":[]}]}},"/knowledge-base/collector/item/{knowledge_item_uuid}":{"get":{"tags":["KnowledgeBaseCollector"],"summary":"Get Knowledge Document","description":"Get detailed information about a specific document.\n\nReturns document metadata, storage details, download URL (if internal),\nfile properties and last extraction status.","operationId":"get_knowledge_document_knowledge_base_collector_item__knowledge_item_uuid__get","parameters":[{"required":true,"schema":{"title":"Knowledge Item Uuid","type":"string"},"name":"knowledge_item_uuid","in":"path"},{"required":false,"schema":{"title":"Workspace Uuid","type":"string"},"name":"workspace_uuid","in":"query"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"API_Key":[],"API_Secret":[]}]}},"/knowledge-base/collector/item/{knowledge_item_uuid}/download":{"get":{"tags":["KnowledgeBaseCollector"],"summary":"Download Knowledge Document","description":"Get a download URL for a knowledge base document.\n\nReturns a temporary signed URL for downloading the document.\nOnly works for documents stored internally in Google Cloud Storage.","operationId":"download_knowledge_document_knowledge_base_collector_item__knowledge_item_uuid__download_get","parameters":[{"required":true,"schema":{"title":"Knowledge Item Uuid","type":"string"},"name":"knowledge_item_uuid","in":"path"},{"required":false,"schema":{"title":"Workspace Uuid","type":"string"},"name":"workspace_uuid","in":"query"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"API_Key":[],"API_Secret":[]}]}},"/knowledge-base/collector/item/delete/{knowledge_item_uuid}":{"delete":{"tags":["KnowledgeBaseCollector"],"summary":"Delete Knowledge Document","description":"Delete a document from a knowledge base.\n\nRemoves the document record and deletes the file from storage.\nAlso removes all associated extraction data.\nRequires owner permissions.","operationId":"delete_knowledge_document_knowledge_base_collector_item_delete__knowledge_item_uuid__delete","parameters":[{"required":true,"schema":{"title":"Knowledge Item Uuid","type":"string"},"name":"knowledge_item_uuid","in":"path"},{"required":false,"schema":{"title":"Workspace Uuid","type":"string"},"name":"workspace_uuid","in":"query"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"API_Key":[],"API_Secret":[]}]}},"/knowledge-base/collector/item/{knowledge_item_uuid}/extract":{"post":{"tags":["KnowledgeBaseCollector"],"summary":"Extract Document Content","description":"Extract and process content from a knowledge base document.\n\nInitiates AI-powered extraction to convert document content into searchable text.\nRequires processing credits. PDFs use 1 credit per 5 pages plus 2 base credits.\nEnforces 2-hour cooldown between extractions of the same document.","operationId":"extract_document_content_knowledge_base_collector_item__knowledge_item_uuid__extract_post","parameters":[{"required":true,"schema":{"title":"Knowledge Item Uuid","type":"string"},"name":"knowledge_item_uuid","in":"path"},{"required":false,"schema":{"title":"Workspace Uuid","type":"string"},"name":"workspace_uuid","in":"query"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"API_Key":[],"API_Secret":[]}]}},"/knowledge-base/collector/{knowledge_uuid}/extract/all":{"post":{"tags":["KnowledgeBaseCollector"],"summary":"Extract All Documents","description":"Extract content from all documents in a knowledge base.\n\nBatch processes all documents for content extraction.\nUseful for initial setup or re-processing after configuration changes.\nRequires sufficient processing credits for all documents.","operationId":"extract_all_documents_knowledge_base_collector__knowledge_uuid__extract_all_post","parameters":[{"required":true,"schema":{"title":"Knowledge Uuid","type":"string"},"name":"knowledge_uuid","in":"path"},{"required":false,"schema":{"title":"Workspace Uuid","type":"string"},"name":"workspace_uuid","in":"query"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"API_Key":[],"API_Secret":[]}]}},"/knowledge-base/collector/{knowledge_uuid}/extract/list":{"get":{"tags":["KnowledgeBaseCollector"],"summary":"List Knowledge Base Extractions","description":"List all extraction jobs for a knowledge base.\n\nReturns extraction history including status, timestamps,\ndocument names and processing details.","operationId":"list_knowledge_base_extractions_knowledge_base_collector__knowledge_uuid__extract_list_get","parameters":[{"required":true,"schema":{"title":"Knowledge Uuid","type":"string"},"name":"knowledge_uuid","in":"path"},{"required":false,"schema":{"title":"Workspace Uuid","type":"string"},"name":"workspace_uuid","in":"query"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"API_Key":[],"API_Secret":[]}]}},"/knowledge-base/collector/item/{knowledge_item_uuid}/extract/list":{"get":{"tags":["KnowledgeBaseCollector"],"summary":"List Document Extractions","description":"List extraction history for a specific document.\n\nReturns all extraction attempts for the document including\nstatus, timestamps, errors and processing details.","operationId":"list_document_extractions_knowledge_base_collector_item__knowledge_item_uuid__extract_list_get","parameters":[{"required":true,"schema":{"title":"Knowledge Item Uuid","type":"string"},"name":"knowledge_item_uuid","in":"path"},{"required":true,"schema":{"title":"Knowledge Uuid","type":"string"},"name":"knowledge_uuid","in":"query"},{"required":false,"schema":{"title":"Workspace Uuid","type":"string"},"name":"workspace_uuid","in":"query"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"API_Key":[],"API_Secret":[]}]}},"/knowledge-base/collector/item/extract/{knowledge_item_extraction_uuid}/cancel":{"delete":{"tags":["KnowledgeBaseCollector"],"summary":"Cancel Document Extraction","description":"Cancel an ongoing document extraction process.\n\nStops the extraction job if it is still running.\nUseful for stopping long-running or stuck extraction processes.","operationId":"cancel_document_extraction_knowledge_base_collector_item_extract__knowledge_item_extraction_uuid__cancel_delete","parameters":[{"required":true,"schema":{"title":"Knowledge Item Extraction Uuid","type":"string"},"name":"knowledge_item_extraction_uuid","in":"path"},{"required":false,"schema":{"title":"Workspace Uuid","type":"string"},"name":"workspace_uuid","in":"query"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"API_Key":[],"API_Secret":[]}]}},"/knowledge-base/explorer/{knowledge_uuid}/search/query":{"get":{"tags":["KnowledgeBaseExplorer"],"summary":"Search Data In Knowledge Base","description":"Search for data within a specific knowledge base using semantic search.\n\nThis endpoint allows users to search for content within a knowledge base\nusing a search term. It validates that the knowledge base exists, is public,\ncontains data, and performs a semantic search across the knowledge base items.\n\nParameters:\n- request: HTTP request object containing authentication information\n- knowledge_uuid: UUID of the knowledge base to search within\n- term: Search term (3-128 characters) to query the knowledge base\n- workspace_uuid: Optional workspace UUID for context\n\nReturns:\n- List of search results matching the query term\n\nRaises:\n- HTTPException: If knowledge base not found, not public, contains no data,\n  or if no search results are found","operationId":"search_data_in_knowledge_base_knowledge_base_explorer__knowledge_uuid__search_query_get","parameters":[{"required":true,"schema":{"title":"Knowledge Uuid","type":"string"},"name":"knowledge_uuid","in":"path"},{"required":true,"schema":{"title":"Term","maxLength":128,"minLength":3,"type":"string"},"name":"term","in":"query"},{"required":false,"schema":{"title":"Workspace Uuid","type":"string"},"name":"workspace_uuid","in":"query"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"API_Key":[],"API_Secret":[]}]}},"/knowledge-base/explorer/{knowledge_uuid}/search/keywords":{"get":{"tags":["KnowledgeBaseExplorer"],"summary":"Search Keywords In Knowledge Base","description":"Search for keywords within a specific knowledge base using keyword-based search.\n\nThis endpoint performs keyword-based searches within a knowledge base,\nlooking for specific terms or phrases. It validates that the knowledge base\nexists, is public, and contains searchable data.\n\nParameters:\n- request: HTTP request object containing authentication information\n- knowledge_uuid: UUID of the knowledge base to search within\n- term: Search term (3-128 characters) for keyword matching\n- workspace_uuid: Optional workspace UUID for context\n\nReturns:\n- List of keyword search results matching the query term\n\nRaises:\n- HTTPException: If knowledge base not found, not public, contains no data,\n  or if no search results are found","operationId":"search_keywords_in_knowledge_base_knowledge_base_explorer__knowledge_uuid__search_keywords_get","parameters":[{"required":true,"schema":{"title":"Knowledge Uuid","type":"string"},"name":"knowledge_uuid","in":"path"},{"required":true,"schema":{"title":"Term","maxLength":128,"minLength":3,"type":"string"},"name":"term","in":"query"},{"required":false,"schema":{"title":"Workspace Uuid","type":"string"},"name":"workspace_uuid","in":"query"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"API_Key":[],"API_Secret":[]}]}},"/knowledge-base/explorer/{knowledge_uuid}/download/csv":{"get":{"tags":["KnowledgeBaseExplorer"],"summary":"Download Knowledge Base As Csv","description":"Export and download knowledge base data as CSV file.\n\nThis endpoint generates a CSV export of all data within a specific knowledge base\nand provides a signed download URL. The export includes all relevant fields\nsuch as name, type, content, summaries, and metadata from the knowledge base.\n\nParameters:\n- request: HTTP request object containing authentication information\n- knowledge_uuid: UUID of the knowledge base to export\n- workspace_uuid: Optional workspace UUID for context\n\nReturns:\n- Dictionary containing the signed download URL for the CSV file\n\nRaises:\n- HTTPException: If knowledge base not found or contains no data to export","operationId":"download_knowledge_base_as_csv_knowledge_base_explorer__knowledge_uuid__download_csv_get","parameters":[{"required":true,"schema":{"title":"Knowledge Uuid","type":"string"},"name":"knowledge_uuid","in":"path"},{"required":false,"schema":{"title":"Workspace Uuid","type":"string"},"name":"workspace_uuid","in":"query"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"API_Key":[],"API_Secret":[]}]}},"/awe/create":{"post":{"tags":["AWE"],"summary":"Create Awe Workflow","description":"Create a new AI Workflow Engine (AWE) workflow.\n\nThis endpoint creates a new AWE workflow with the provided configuration.\nThe workflow consists of multiple steps that define the AI processing pipeline.\n\nParameters:\n- request: HTTP request object containing authentication information\n- workflow: AWE workflow configuration including name, description, and steps\n- workspace_uuid: Optional workspace UUID for context\n\nReturns:\n- Dictionary containing the created workflow UUID and name\n\nRaises:\n- HTTPException: If workflow creation fails or validation errors occur","operationId":"create_awe_workflow_awe_create_post","parameters":[{"required":false,"schema":{"title":"Workspace Uuid","type":"string"},"name":"workspace_uuid","in":"query"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AweWorkflow"}}},"required":true},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"API_Key":[],"API_Secret":[]}]}},"/awe/upload":{"post":{"tags":["AWE"],"summary":"Upload Awe Workflow File","description":"Upload and create an AI Workflow Engine workflow from YAML file.\n\nThis endpoint allows users to upload a YAML file containing AWE workflow\nconfiguration and automatically creates the workflow from the file contents.\n\nParameters:\n- request: HTTP request object containing authentication information\n- file: YAML file containing the workflow configuration\n- workspace_uuid: Optional workspace UUID for context\n\nReturns:\n- Dictionary containing status, created workflow UUID and name\n\nRaises:\n- HTTPException: If file upload fails, YAML parsing fails, or workflow creation fails","operationId":"upload_awe_workflow_file_awe_upload_post","parameters":[{"required":false,"schema":{"title":"Workspace Uuid","type":"string"},"name":"workspace_uuid","in":"query"}],"requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/Body_upload_awe_workflow_file_awe_upload_post"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"API_Key":[],"API_Secret":[]}]}},"/awe/{awe_uuid}/cost":{"get":{"tags":["AWE"],"summary":"Calculate Awe Workflow Cost","description":"Calculate the execution cost of an AI Workflow Engine workflow.\n\nThis endpoint calculates the estimated cost for executing a specific AWE workflow\nbased on the workflow's steps and their resource requirements.\n\nParameters:\n- request: HTTP request object containing authentication information\n- awe_uuid: UUID of the AWE workflow to calculate costs for\n- workspace_uuid: Optional workspace UUID for context\n\nReturns:\n- Dictionary containing the calculated cost breakdown for the workflow\n\nRaises:\n- HTTPException: If AWE workflow not found or cost calculation fails","operationId":"calculate_awe_workflow_cost_awe__awe_uuid__cost_get","parameters":[{"required":true,"schema":{"title":"Awe Uuid","type":"string"},"name":"awe_uuid","in":"path"},{"required":false,"schema":{"title":"Workspace Uuid","type":"string"},"name":"workspace_uuid","in":"query"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"API_Key":[],"API_Secret":[]}]}},"/awe/list":{"get":{"tags":["AWE"],"summary":"List Awe Workflows","description":"List all AI Workflow Engine workflows in the workspace.\n\nThis endpoint returns a list of all AWE workflows available in the specified\nworkspace, including their basic information and metadata.\n\nParameters:\n- request: HTTP request object containing authentication information\n- workspace_uuid: Optional workspace UUID for context\n\nReturns:\n- List of AWE workflows with their details\n\nRaises:\n- HTTPException: If listing workflows fails or access is denied","operationId":"list_awe_workflows_awe_list_get","parameters":[{"required":false,"schema":{"title":"Workspace Uuid","type":"string"},"name":"workspace_uuid","in":"query"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"API_Key":[],"API_Secret":[]}]}},"/awe/search":{"get":{"tags":["AWE"],"summary":"Search Awe Workflows","description":"Search AI Workflow Engine workflows by query term.\n\nThis endpoint searches through AWE workflows using a text query,\nallowing users to find workflows by name, description, or other attributes.\n\nParameters:\n- request: HTTP request object containing authentication information\n- query: Search query string to match against workflow attributes\n- workspace_uuid: Optional workspace UUID for context\n\nReturns:\n- List of AWE workflows matching the search query\n\nRaises:\n- HTTPException: If search fails or access is denied","operationId":"search_awe_workflows_awe_search_get","parameters":[{"required":true,"schema":{"title":"Query","type":"string"},"name":"query","in":"query"},{"required":false,"schema":{"title":"Workspace Uuid","type":"string"},"name":"workspace_uuid","in":"query"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"API_Key":[],"API_Secret":[]}]}},"/awe/{awe_uuid}":{"get":{"tags":["AWE"],"summary":"Get Awe Workflow Details","description":"Get detailed information about a specific AI Workflow Engine workflow.\n\nThis endpoint returns detailed information about a specific AWE workflow,\nincluding its configuration, steps, and calculated execution costs.\n\nParameters:\n- request: HTTP request object containing authentication information\n- awe_uuid: UUID of the AWE workflow to retrieve\n- workspace_uuid: Optional workspace UUID for context\n\nReturns:\n- Dictionary containing complete workflow details including cost information\n\nRaises:\n- HTTPException: If AWE workflow not found or access is denied","operationId":"get_awe_workflow_details_awe__awe_uuid__get","parameters":[{"required":true,"schema":{"title":"Awe Uuid","type":"string"},"name":"awe_uuid","in":"path"},{"required":false,"schema":{"title":"Workspace Uuid","type":"string"},"name":"workspace_uuid","in":"query"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"API_Key":[],"API_Secret":[]}]},"put":{"tags":["AWE"],"summary":"Update Awe Workflow","description":"Update an existing AI Workflow Engine workflow.\n\nThis endpoint allows updating the configuration of an existing AWE workflow,\nincluding its name, description, and step definitions.\n\nParameters:\n- request: HTTP request object containing authentication information\n- awe_uuid: UUID of the AWE workflow to update\n- workflow: Updated workflow configuration\n- workspace_uuid: Optional workspace UUID for context\n\nReturns:\n- Dictionary containing status, workflow UUID and updated name\n\nRaises:\n- HTTPException: If workflow not found, update fails, or access is denied","operationId":"update_awe_workflow_awe__awe_uuid__put","parameters":[{"required":true,"schema":{"title":"Awe Uuid","type":"string"},"name":"awe_uuid","in":"path"},{"required":false,"schema":{"title":"Workspace Uuid","type":"string"},"name":"workspace_uuid","in":"query"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AweWorkflow"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"API_Key":[],"API_Secret":[]}]},"delete":{"tags":["AWE"],"summary":"Delete Awe Workflow","description":"Delete an AI Workflow Engine workflow.\n\nThis endpoint permanently deletes a specific AWE workflow from the workspace.\nThis action cannot be undone.\n\nParameters:\n- request: HTTP request object containing authentication information\n- awe_uuid: UUID of the AWE workflow to delete\n- workspace_uuid: Optional workspace UUID for context\n\nReturns:\n- Dictionary containing status and deleted workflow UUID\n\nRaises:\n- HTTPException: If workflow not found, deletion fails, or access is denied","operationId":"delete_awe_workflow_awe__awe_uuid__delete","parameters":[{"required":true,"schema":{"title":"Awe Uuid","type":"string"},"name":"awe_uuid","in":"path"},{"required":false,"schema":{"title":"Workspace Uuid","type":"string"},"name":"workspace_uuid","in":"query"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"API_Key":[],"API_Secret":[]}]}},"/awe/{awe_uuid}/upload":{"post":{"tags":["AWE"],"summary":"Update Awe Workflow From File","description":"Update an existing AI Workflow Engine workflow from YAML file.\n\nThis endpoint allows updating an existing AWE workflow by uploading\na YAML file containing the new workflow configuration.\n\nParameters:\n- request: HTTP request object containing authentication information\n- awe_uuid: UUID of the AWE workflow to update\n- file: YAML file containing the updated workflow configuration\n- workspace_uuid: Optional workspace UUID for context\n\nReturns:\n- Dictionary containing status, workflow UUID and updated name\n\nRaises:\n- HTTPException: If workflow not found, file upload fails, or YAML parsing fails","operationId":"update_awe_workflow_from_file_awe__awe_uuid__upload_post","parameters":[{"required":true,"schema":{"title":"Awe Uuid","type":"string"},"name":"awe_uuid","in":"path"},{"required":false,"schema":{"title":"Workspace Uuid","type":"string"},"name":"workspace_uuid","in":"query"}],"requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/Body_update_awe_workflow_from_file_awe__awe_uuid__upload_post"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"API_Key":[],"API_Secret":[]}]}},"/awe/{awe_uuid}/run":{"get":{"tags":["AWE"],"summary":"List Awe Workflow Executions","description":"List all execution runs for a specific AI Workflow Engine workflow.\n\nThis endpoint returns a list of all execution runs for a specific AWE workflow,\nincluding their status, timestamps, and basic execution information.\n\nParameters:\n- request: HTTP request object containing authentication information\n- awe_uuid: UUID of the AWE workflow to get executions for\n- workspace_uuid: Optional workspace UUID for context\n\nReturns:\n- List of workflow execution records with their details\n\nRaises:\n- HTTPException: If workflow not found or access is denied","operationId":"list_awe_workflow_executions_awe__awe_uuid__run_get","parameters":[{"required":true,"schema":{"title":"Awe Uuid","type":"string"},"name":"awe_uuid","in":"path"},{"required":false,"schema":{"title":"Workspace Uuid","type":"string"},"name":"workspace_uuid","in":"query"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"API_Key":[],"API_Secret":[]}]},"post":{"tags":["AWE"],"summary":"Execute Awe Workflow","description":"Execute an AI Workflow Engine workflow with provided inputs.\n\nThis endpoint executes a specific AWE workflow with the provided inputs.\nIt supports different input types (file upload, text instruction, or trigger)\nand allows custom parameters for workflow steps.\n\nParameters:\n- request: HTTP request object containing authentication information\n- awe_uuid: UUID of the AWE workflow to execute\n- name: Optional name for this execution\n- file: Optional file input for workflows that require file processing\n- instruction: Optional text instruction for workflows that accept text input\n- initial_input: Optional initial input for the workflow\n- workspace_uuid: Optional workspace UUID for context\n- parameters: Optional JSON string containing custom parameters for workflow steps\n\nReturns:\n- Dictionary containing execution status, UUID, and cost information\n\nRaises:\n- HTTPException: If workflow not found, execution fails, or insufficient credits","operationId":"execute_awe_workflow_awe__awe_uuid__run_post","parameters":[{"required":true,"schema":{"title":"Awe Uuid","type":"string"},"name":"awe_uuid","in":"path"},{"required":false,"schema":{"title":"Workspace Uuid","type":"string"},"name":"workspace_uuid","in":"query"}],"requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/Body_execute_awe_workflow_awe__awe_uuid__run_post"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"API_Key":[],"API_Secret":[]}]}},"/awe/{awe_uuid}/run/search/{query}":{"get":{"tags":["AWE"],"summary":"Search Awe Workflow Executions","description":"Search through execution runs for a specific AI Workflow Engine workflow.\n\nThis endpoint searches through execution runs of a specific AWE workflow\nusing a query term to find executions by name or other attributes.\n\nParameters:\n- request: HTTP request object containing authentication information\n- awe_uuid: UUID of the AWE workflow to search executions for\n- query: Search query string to match against execution attributes\n- workspace_uuid: Optional workspace UUID for context\n\nReturns:\n- List of workflow execution records matching the search query\n\nRaises:\n- HTTPException: If workflow not found or access is denied","operationId":"search_awe_workflow_executions_awe__awe_uuid__run_search__query__get","parameters":[{"required":true,"schema":{"title":"Awe Uuid","type":"string"},"name":"awe_uuid","in":"path"},{"required":true,"schema":{"title":"Query","type":"string"},"name":"query","in":"path"},{"required":false,"schema":{"title":"Workspace Uuid","type":"string"},"name":"workspace_uuid","in":"query"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"API_Key":[],"API_Secret":[]}]}},"/awe/run/{awe_execution_uuid}/download":{"get":{"tags":["AWE"],"summary":"Download Awe Execution Result","description":"Download the result file from an AI Workflow Engine execution.\n\nThis endpoint provides a download URL for the result file generated\nby an AWE workflow execution, if the result type is a file.\n\nParameters:\n- request: HTTP request object containing authentication information\n- awe_execution_uuid: UUID of the AWE execution to download results for\n- workspace_uuid: Optional workspace UUID for context\n\nReturns:\n- Dictionary containing the signed download URL for the result file\n\nRaises:\n- HTTPException: If execution not found, result is not a file, or access is denied","operationId":"download_awe_execution_result_awe_run__awe_execution_uuid__download_get","parameters":[{"required":true,"schema":{"title":"Awe Execution Uuid","type":"string"},"name":"awe_execution_uuid","in":"path"},{"required":false,"schema":{"title":"Workspace Uuid","type":"string"},"name":"workspace_uuid","in":"query"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"API_Key":[],"API_Secret":[]}]}},"/awe/run/{awe_execution_uuid}":{"get":{"tags":["AWE"],"summary":"Get Awe Execution Status","description":"Get the status and details of an AI Workflow Engine execution.\n\nThis endpoint returns detailed information about a specific AWE workflow execution,\nincluding its current status, progress, results, and associated file URLs.\n\nParameters:\n- request: HTTP request object containing authentication information\n- awe_execution_uuid: UUID of the AWE execution to check status for\n- workspace_uuid: Optional workspace UUID for context\n\nReturns:\n- Dictionary containing execution details, status, and file download URLs if available\n\nRaises:\n- HTTPException: If execution not found or access is denied","operationId":"get_awe_execution_status_awe_run__awe_execution_uuid__get","parameters":[{"required":true,"schema":{"title":"Awe Execution Uuid","type":"string"},"name":"awe_execution_uuid","in":"path"},{"required":false,"schema":{"title":"Workspace Uuid","type":"string"},"name":"workspace_uuid","in":"query"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"API_Key":[],"API_Secret":[]}]}},"/multilayer-llm/whatsapp/message":{"post":{"tags":["MultiLayerLLM"],"summary":"Receive Whatsapp Message","description":"Receive and process incoming WhatsApp messages via Twilio webhook.\n\nThis endpoint handles incoming WhatsApp messages sent through Twilio's API.\nIt processes different message types (text, audio, images) and integrates\nwith the Multi Layer LLM system for AI responses. Audio messages are transcribed\nusing OpenAI's Whisper model.\n\nParameters:\n- request: HTTP request object containing the Twilio webhook payload\n- background_tasks: FastAPI background tasks for processing messages asynchronously\n\nReturns:\n- XML response in TwiML format for Twilio webhook acknowledgment\n\nRaises:\n- HTTPException: If integration not found, not enabled, or message processing fails\n\nNote:\n- Supports text messages, voice messages (transcribed), and images\n- Voice messages are processed using OpenAI Whisper for transcription\n- Images receive a standard response asking for text input\n- All messages are processed asynchronously in the background","operationId":"receive_whatsapp_message_multilayer_llm_whatsapp_message_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/widget/{uuid}.js":{"get":{"tags":["Widget"],"summary":"Get Widget Script","description":"Get the chat widget JavaScript for a Multi-Layer LLM assistant.\n\nThis endpoint is PUBLIC and requires no authentication.\nReturns a fully configured JavaScript file that can be embedded\nin any HTML page to display a chat widget.\n\nUsage:\n```html\n<script src=\"https://api.yourserver.com/widget/{assistant_uuid}.js\"></script>\n```","operationId":"get_widget_script_widget__uuid__js_get","parameters":[{"required":true,"schema":{"title":"Uuid","type":"string"},"name":"uuid","in":"path"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"options":{"tags":["Widget"],"summary":"Widget Script Options","description":"Handle CORS preflight requests for widget script","operationId":"widget_script_options_widget__uuid__js_options","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/widget/{uuid}/question":{"post":{"tags":["Widget"],"summary":"Ask Widget Question","description":"Process a question from the chat widget.\n\nThis endpoint is PUBLIC and requires no authentication.\nIt's designed specifically for the embedded chat widget.\n\nThe client UUID is generated from the widget session for tracking purposes.","operationId":"ask_widget_question_widget__uuid__question_post","parameters":[{"required":true,"schema":{"title":"Uuid","type":"string"},"name":"uuid","in":"path"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MultiLayerLLMQuestion"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"options":{"tags":["Widget"],"summary":"Widget Question Options","description":"Handle CORS preflight requests for widget questions","operationId":"widget_question_options_widget__uuid__question_options","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/widget/{uuid}/zendesk-handoff/redeem":{"post":{"tags":["Widget"],"summary":"Redeem Zendesk Handoff","description":"Redeem a Zendesk handoff code to get a JWT token.\n\nThis endpoint is called by the Zendesk chat page when it loads.\nIt validates the handoff code, sends the chat history to Zendesk\nvia Sunshine API, and returns a JWT token for widget authentication.\n\nThe handoff code is single-use and expires after 24 hours.","operationId":"redeem_zendesk_handoff_widget__uuid__zendesk_handoff_redeem_post","parameters":[{"required":true,"schema":{"title":"Uuid","type":"string"},"name":"uuid","in":"path"},{"required":true,"schema":{"title":"Handoff Code","type":"string"},"name":"handoff_code","in":"query"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"options":{"tags":["Widget"],"summary":"Zendesk Handoff Redeem Options","description":"Handle CORS preflight requests for handoff redeem","operationId":"zendesk_handoff_redeem_options_widget__uuid__zendesk_handoff_redeem_options","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/widget/{uuid}/zendesk-chat":{"get":{"tags":["Widget"],"summary":"Get Zendesk Chat Page","description":"Serve a standalone HTML page with embedded Zendesk Web Widget.\n\nThis endpoint serves a dedicated chat page that loads the Zendesk Messaging widget.\nIt's designed to be used as a link for human handoff from the MultiLayer LLM chatbot.\n\nThe page automatically opens the Zendesk chat widget when loaded.\n\nIf a JWT token is provided (via query parameter), the user will be authenticated\nin the widget and will see the same conversation where the chat history was sent\nby the Sunshine Conversations API.\n\nUsage:\n- Direct link: https://api.yourserver.com/widget/{assistant_uuid}/zendesk-chat\n- With auth: https://api.yourserver.com/widget/{assistant_uuid}/zendesk-chat?token={jwt}\n- Use this URL when transferring users to human support from the bot\n\nQuery Parameters:\n- token: JWT token for user authentication (optional, generated by Sunshine API)\n\nRequirements:\n- The assistant must be configured with mode='zendesk'\n- The zendesk_snippet_key must be set (obtained from Zendesk Admin Center)\n- For history sync: zendesk_app_id, zendesk_key_id, zendesk_secret_key\n  (optional: zendesk_signing_key_id + zendesk_signing_secret — Messaging signing key)","operationId":"get_zendesk_chat_page_widget__uuid__zendesk_chat_get","parameters":[{"required":true,"schema":{"title":"Uuid","type":"string"},"name":"uuid","in":"path"},{"required":false,"schema":{"title":"Token","type":"string"},"name":"token","in":"query"},{"required":false,"schema":{"title":"Handoff Code","type":"string"},"name":"handoff_code","in":"query"}],"responses":{"200":{"description":"Successful Response","content":{"text/html":{"schema":{"type":"string"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}}},"components":{"schemas":{"AweAction":{"title":"AweAction","required":["action"],"type":"object","properties":{"action":{"title":"Action","type":"string"},"parameters":{"title":"Parameters","type":"object"}}},"AweLLM":{"title":"AweLLM","required":["name","version"],"type":"object","properties":{"name":{"title":"Name","enum":["Claude","ChatGPT"],"type":"string"},"version":{"title":"Version","enum":["claude-3-haiku-20240307","claude-3-sonnet-20240229","claude-3-opus-20240229","gpt-4o","gpt-4o-mini","gpt-4.1","gpt-4.1-mini","gpt-4.1-nano","gpt-5","gpt-5-mini","gpt-5-nano","o1","o3-mini"],"type":"string"}}},"AweStep":{"title":"AweStep","required":["type"],"type":"object","properties":{"type":{"title":"Type","enum":["input","preprocessing","llm","integration","output","normatization"],"type":"string"},"input":{"title":"Input","enum":["instruction","file_upload","trigger"],"type":"string"},"output":{"title":"Output","enum":["text","pdf","json","docx","html","audio","image","xlsx","awe"],"type":"string"},"parameters":{"title":"Parameters","type":"object"},"integration":{"title":"Integration","enum":["webhook","knowledge_base","pubmed"],"type":"string"},"normatization":{"title":"Normatization","enum":["json","html"],"type":"string"},"description":{"title":"Description","type":"string"},"prompt":{"title":"Prompt","type":"string"},"actions":{"$ref":"#/components/schemas/AweAction"},"llm":{"$ref":"#/components/schemas/AweLLM"}}},"AweWorkflow":{"title":"AweWorkflow","required":["name","description","steps"],"type":"object","properties":{"name":{"title":"Name","maxLength":256,"minLength":5,"type":"string"},"description":{"title":"Description","maxLength":4096,"minLength":5,"type":"string"},"steps":{"title":"Steps","type":"array","items":{"$ref":"#/components/schemas/AweStep"}}}},"Body_execute_awe_workflow_awe__awe_uuid__run_post":{"title":"Body_execute_awe_workflow_awe__awe_uuid__run_post","type":"object","properties":{"name":{"title":"Name","type":"string"},"file":{"title":"File","type":"string","format":"binary"},"instruction":{"title":"Instruction","type":"string"},"initial_input":{"title":"Initial Input","type":"string"},"parameters":{"title":"Parameters","type":"string"}}},"Body_update_awe_workflow_from_file_awe__awe_uuid__upload_post":{"title":"Body_update_awe_workflow_from_file_awe__awe_uuid__upload_post","required":["file"],"type":"object","properties":{"file":{"title":"File","type":"string","format":"binary"}}},"Body_upload_awe_workflow_file_awe_upload_post":{"title":"Body_upload_awe_workflow_file_awe_upload_post","required":["file"],"type":"object","properties":{"file":{"title":"File","type":"string","format":"binary"}}},"Body_upload_document_to_knowledge_base_knowledge_base_collector__knowledge_uuid__item_upload_post":{"title":"Body_upload_document_to_knowledge_base_knowledge_base_collector__knowledge_uuid__item_upload_post","required":["file"],"type":"object","properties":{"file":{"title":"File","type":"string","format":"binary"},"extract_custom_params":{"title":"Extract Custom Params","maxItems":15,"minItems":1,"type":"array","items":{"maxLength":512,"minLength":3,"type":"string"}}}},"ChangePasswordSchema":{"title":"ChangePasswordSchema","required":["password_old","password","password_verification"],"type":"object","properties":{"password_old":{"title":"Password Old","type":"string"},"password":{"title":"Password","maxLength":20,"minLength":8,"type":"string"},"password_verification":{"title":"Password Verification","maxLength":20,"minLength":8,"type":"string"}}},"DeleteMFASchema":{"title":"DeleteMFASchema","required":["password"],"type":"object","properties":{"password":{"title":"Password","maxLength":20,"minLength":8,"type":"string"}}},"HTTPValidationError":{"title":"HTTPValidationError","type":"object","properties":{"detail":{"title":"Detail","type":"array","items":{"$ref":"#/components/schemas/ValidationError"}}}},"KnowledgeSchema":{"title":"KnowledgeSchema","required":["name","public","active"],"type":"object","properties":{"name":{"title":"Name","maxLength":128,"minLength":3,"type":"string"},"description":{"title":"Description","maxLength":10240,"type":"string"},"public":{"title":"Public","type":"boolean"},"active":{"title":"Active","type":"boolean"},"extract_custom_params":{"title":"Extract Custom Params","maxItems":150,"minItems":1,"type":"array","items":{"maxLength":2048,"minLength":3,"type":"string"}}}},"ModeMultiLayerLLM":{"title":"ModeMultiLayerLLM","enum":["instruct","knowledge","webhook","zendesk"],"type":"string","description":"An enumeration."},"MultiLayerLLMCreate":{"title":"MultiLayerLLMCreate","required":["initial_context","custom_name"],"type":"object","properties":{"initial_context":{"title":"Initial Context","maxLength":102400,"minLength":8,"type":"string"},"custom_name":{"title":"Custom Name","maxLength":64,"minLength":8,"type":"string"},"url_webhook":{"title":"Url Webhook","maxLength":65536,"minLength":1,"type":"string","format":"uri"},"base_knowledge_uuid":{"title":"Base Knowledge Uuid","maxLength":64,"minLength":8,"type":"string"},"knowledge_uuid":{"title":"Knowledge Uuid","anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"intents_list":{"title":"Intents List","maxItems":15,"type":"array","items":{"maxLength":512,"minLength":1,"type":"string"}},"params_list":{"title":"Params List","maxItems":15,"type":"array","items":{"maxLength":512,"minLength":1,"type":"string"}},"whatsapp_integration":{"title":"Whatsapp Integration","type":"boolean","default":false},"twilio_account_sid":{"title":"Twilio Account Sid","maxLength":64,"minLength":8,"type":"string"},"twilio_auth_token":{"title":"Twilio Auth Token","maxLength":64,"minLength":8,"type":"string"},"twilio_whatsapp_number":{"title":"Twilio Whatsapp Number","maxLength":64,"minLength":8,"type":"string"},"twilio_message_service_sid":{"title":"Twilio Message Service Sid","maxLength":64,"minLength":8,"type":"string"},"mode":{"allOf":[{"$ref":"#/components/schemas/ModeMultiLayerLLM"}],"default":"instruct"},"instruction":{"title":"Instruction","maxLength":16384,"minLength":8,"type":"string"},"temperature":{"title":"Temperature","maximum":1.0,"minimum":0.0,"type":"number","default":0.7},"zendesk_app_id":{"title":"Zendesk App Id","maxLength":128,"minLength":1,"type":"string"},"zendesk_key_id":{"title":"Zendesk Key Id","maxLength":128,"minLength":1,"type":"string"},"zendesk_secret_key":{"title":"Zendesk Secret Key","maxLength":256,"minLength":1,"type":"string"},"zendesk_snippet_key":{"title":"Zendesk Snippet Key","maxLength":128,"minLength":1,"type":"string"},"zendesk_signing_secret":{"title":"Zendesk Signing Secret","maxLength":256,"minLength":1,"type":"string"},"zendesk_signing_key_id":{"title":"Zendesk Signing Key Id","maxLength":128,"minLength":1,"type":"string"},"zendesk_subdomain":{"title":"Zendesk Subdomain","maxLength":64,"minLength":1,"type":"string"},"zendesk_page_title":{"title":"Zendesk Page Title","maxLength":128,"minLength":1,"type":"string","default":"Atendimento Humano"},"zendesk_page_description":{"title":"Zendesk Page Description","maxLength":512,"minLength":1,"type":"string","default":"A partir de agora, você será atendido por um de nossos especialistas. Nossa equipe está pronta para oferecer um suporte personalizado e resolver suas dúvidas."},"zendesk_page_info_text":{"title":"Zendesk Page Info Text","maxLength":512,"minLength":1,"type":"string","default":"O chat será aberto automaticamente ao lado. Aguarde um momento enquanto conectamos você com um atendente disponível."},"zendesk_page_status_text":{"title":"Zendesk Page Status Text","maxLength":64,"minLength":1,"type":"string","default":"Equipe disponível"},"zendesk_page_logo_base64":{"title":"Zendesk Page Logo Base64","maxLength":300000,"type":"string"},"zendesk_page_background_gradient_start":{"title":"Zendesk Page Background Gradient Start","maxLength":7,"minLength":4,"type":"string","default":"#667eea"},"zendesk_page_background_gradient_end":{"title":"Zendesk Page Background Gradient End","maxLength":7,"minLength":4,"type":"string","default":"#6B46C1"},"zendesk_page_locale":{"title":"Zendesk Page Locale","maxLength":10,"minLength":2,"type":"string"},"zendesk_page_custom_html":{"title":"Zendesk Page Custom Html","maxLength":1048576,"type":"string"},"zendesk_smooth_handoff":{"title":"Zendesk Smooth Handoff","type":"boolean","default":false},"zendesk_smooth_loading_text":{"title":"Zendesk Smooth Loading Text","maxLength":256,"minLength":1,"type":"string","default":"Conectando você a um atendente humano..."},"zendesk_smooth_hide_launcher":{"title":"Zendesk Smooth Hide Launcher","type":"boolean","default":true},"zendesk_handoff_schedule_enabled":{"title":"Zendesk Handoff Schedule Enabled","type":"boolean","default":false},"zendesk_handoff_timezone":{"title":"Zendesk Handoff Timezone","maxLength":64,"minLength":1,"type":"string","default":"America/Sao_Paulo"},"zendesk_handoff_start_time":{"title":"Zendesk Handoff Start Time","maxLength":5,"minLength":5,"type":"string"},"zendesk_handoff_end_time":{"title":"Zendesk Handoff End Time","maxLength":5,"minLength":5,"type":"string"},"zendesk_handoff_days_of_week":{"title":"Zendesk Handoff Days Of Week","maxItems":7,"type":"array","items":{"type":"integer"}},"zendesk_handoff_offline_message":{"title":"Zendesk Handoff Offline Message","maxLength":1024,"minLength":1,"type":"string"},"widget_enabled":{"title":"Widget Enabled","type":"boolean","default":false},"widget_primary_color":{"title":"Widget Primary Color","maxLength":7,"minLength":4,"type":"string","default":"#6B46C1"},"widget_secondary_color":{"title":"Widget Secondary Color","maxLength":7,"minLength":4,"type":"string","default":"#553399"},"widget_position":{"allOf":[{"$ref":"#/components/schemas/WidgetPosition"}],"default":"bottom-right"},"widget_button_icon":{"title":"Widget Button Icon","maxLength":10,"minLength":1,"type":"string","default":"💬"},"widget_welcome_message":{"title":"Widget Welcome Message","maxLength":512,"minLength":1,"type":"string","default":"Olá! Como posso ajudar você hoje?"},"widget_assistant_name":{"title":"Widget Assistant Name","maxLength":64,"minLength":1,"type":"string"},"widget_allowed_domains":{"title":"Widget Allowed Domains","maxLength":1024,"minLength":3,"type":"string"},"widget_background_color":{"title":"Widget Background Color","maxLength":7,"minLength":4,"type":"string","default":"#151d3c"},"widget_bot_bubble_color":{"title":"Widget Bot Bubble Color","maxLength":7,"minLength":4,"type":"string","default":"#1e2a4a"},"widget_user_bubble_text_color":{"title":"Widget User Bubble Text Color","maxLength":7,"minLength":4,"type":"string","default":"#FFFFFF"},"widget_bot_bubble_text_color":{"title":"Widget Bot Bubble Text Color","maxLength":7,"minLength":4,"type":"string","default":"#e5e7eb"}}},"MultiLayerLLMQuestion":{"title":"MultiLayerLLMQuestion","required":["question","session"],"type":"object","properties":{"question":{"title":"Question","maxLength":1048576,"minLength":3,"type":"string"},"session":{"title":"Session","type":"string"}}},"MultiLayerLLMReportGenerate":{"title":"MultiLayerLLMReportGenerate","required":["days"],"type":"object","properties":{"days":{"title":"Days","maxItems":31,"minItems":1,"type":"array","items":{"maxLength":10,"minLength":10,"type":"string"}},"timezone":{"title":"Timezone","maxLength":64,"minLength":1,"type":"string","default":"America/Sao_Paulo"},"language":{"title":"Language","maxLength":5,"minLength":2,"type":"string","default":"pt"}},"description":"Geracao do relatorio de uso do assistente para dias selecionados (ate 31)."},"PermissionEnum":{"title":"PermissionEnum","enum":["read","write","owner"],"type":"string","description":"An enumeration."},"RecurrencyEnum":{"title":"RecurrencyEnum","enum":["daily","weekly","monthly","two_hours","never"],"type":"string","description":"An enumeration."},"ValidationError":{"title":"ValidationError","required":["loc","msg","type"],"type":"object","properties":{"loc":{"title":"Location","type":"array","items":{"anyOf":[{"type":"string"},{"type":"integer"}]}},"msg":{"title":"Message","type":"string"},"type":{"title":"Error Type","type":"string"}}},"WidgetPosition":{"title":"WidgetPosition","enum":["bottom-right","bottom-left","top-right","top-left"],"type":"string","description":"An enumeration."},"WorkspacePermissionSchema":{"title":"WorkspacePermissionSchema","required":["client_email","permission"],"type":"object","properties":{"client_email":{"title":"Client Email","maxLength":2048,"minLength":3,"type":"string"},"permission":{"$ref":"#/components/schemas/PermissionEnum"}}},"WorkspaceSchema":{"title":"WorkspaceSchema","required":["name","description"],"type":"object","properties":{"name":{"title":"Name","maxLength":2048,"minLength":3,"type":"string"},"description":{"title":"Description","maxLength":10240,"minLength":3,"type":"string"},"default":{"title":"Default","type":"boolean","default":false}}}},"securitySchemes":{"API_Key":{"type":"apiKey","in":"header","name":"api_key"},"API_Secret":{"type":"apiKey","in":"header","name":"api_secret"}}}}