{"openapi":"3.1.0","info":{"title":"Overtaker Partner API","description":"API para partners que integran Overtaker como infraestructura de agentes IA. Permite crear y gestionar tenants, configurar agentes y cargar conocimiento de forma programática desde tu plataforma.","version":"1.0.0","contact":{"name":"Overtaker Developer Support","url":"https://developers.overtaker.online","email":"contacto@overtaker.online"}},"servers":[{"url":"https://api.overtaker.online/api/v1","description":"Producción"}],"paths":{"/partner/tenants":{"get":{"tags":["Administrar tenant"],"summary":"Listar tenants del partner","operationId":"list_partner_tenants_partner_tenants_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/PartnerTenantDetail"},"type":"array","title":"Response List Partner Tenants Partner Tenants Get"}}}}}},"post":{"tags":["Administrar tenant"],"summary":"Crear tenant","description":"Crea un nuevo tenant (cliente) bajo este partner. El tenant queda activo de inmediato.","operationId":"create_partner_tenant_partner_tenants_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PartnerTenantCreate"}}},"required":true},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PartnerTenantResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/partner/tenants/{tenant_id}":{"get":{"tags":["Administrar tenant"],"summary":"Obtener detalle de un tenant","operationId":"get_partner_tenant_partner_tenants__tenant_id__get","parameters":[{"name":"tenant_id","in":"path","required":true,"schema":{"type":"string","title":"Tenant Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PartnerTenantDetail"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["Administrar tenant"],"summary":"Suspender tenant","description":"Suspende el tenant. Los datos no se eliminan.","operationId":"suspend_partner_tenant_partner_tenants__tenant_id__delete","parameters":[{"name":"tenant_id","in":"path","required":true,"schema":{"type":"string","title":"Tenant Id"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"patch":{"tags":["Administrar tenant"],"summary":"Actualizar datos del tenant","description":"Actualiza nombre o email del admin del tenant.","operationId":"update_partner_tenant_partner_tenants__tenant_id__patch","parameters":[{"name":"tenant_id","in":"path","required":true,"schema":{"type":"string","title":"Tenant Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PartnerTenantUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PartnerTenantResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/partner/tenants/{tenant_id}/reactivate":{"post":{"tags":["Administrar tenant"],"summary":"Reactivar tenant suspendido","operationId":"reactivate_partner_tenant_partner_tenants__tenant_id__reactivate_post","parameters":[{"name":"tenant_id","in":"path","required":true,"schema":{"type":"string","title":"Tenant Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PartnerTenantResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/partner/tenants/{tenant_id}/reset-admin-password":{"post":{"tags":["Administrar tenant"],"summary":"Resetear contraseña del admin","description":"Genera una nueva contraseña temporal para el admin del tenant. Retornarla al cliente.","operationId":"reset_tenant_admin_password_partner_tenants__tenant_id__reset_admin_password_post","parameters":[{"name":"tenant_id","in":"path","required":true,"schema":{"type":"string","title":"Tenant Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/partner/tenants/{tenant_id}/plan":{"patch":{"tags":["Administrar tenant"],"summary":"Cambiar plan de un tenant","description":"Actualiza el plan del tenant. Afecta límites de sesiones de inmediato.","operationId":"change_tenant_plan_partner_tenants__tenant_id__plan_patch","parameters":[{"name":"tenant_id","in":"path","required":true,"schema":{"type":"string","title":"Tenant Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PlanChangeRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PartnerTenantResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/partner/tenants/{tenant_id}/bot-config":{"get":{"tags":["Completar Prompt builder"],"summary":"Obtener configuración del bot","operationId":"get_partner_bot_config_partner_tenants__tenant_id__bot_config_get","parameters":[{"name":"tenant_id","in":"path","required":true,"schema":{"type":"string","title":"Tenant Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PartnerBotConfigResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"put":{"tags":["Completar Prompt builder"],"summary":"Configurar el bot del tenant","description":"Crea o actualiza la configuración del agente IA.","operationId":"upsert_partner_bot_config_partner_tenants__tenant_id__bot_config_put","parameters":[{"name":"tenant_id","in":"path","required":true,"schema":{"type":"string","title":"Tenant Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PartnerBotConfigUpsert"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PartnerBotConfigResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/partner/tenants/{tenant_id}/bot-config/role":{"put":{"tags":["Completar Prompt builder"],"summary":"Asignar rol al bot","description":"Asigna un BotRole existente al agente del tenant.","operationId":"set_partner_bot_role_partner_tenants__tenant_id__bot_config_role_put","parameters":[{"name":"tenant_id","in":"path","required":true,"schema":{"type":"string","title":"Tenant Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PartnerBotRoleAssign"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PartnerBotConfigResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/partner/tenants/{tenant_id}/kb/answers":{"post":{"tags":["Cargar conocimiento"],"summary":"Cargar respuestas (FAQ)","description":"Carga un lote de pares pregunta/respuesta al KB del tenant. Máximo 200 por request.","operationId":"load_answers_partner_tenants__tenant_id__kb_answers_post","parameters":[{"name":"tenant_id","in":"path","required":true,"schema":{"type":"string","title":"Tenant Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PartnerAnswersLoad"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/KBLoadResult"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/partner/tenants/{tenant_id}/kb/protocols":{"post":{"tags":["Cargar conocimiento"],"summary":"Cargar protocolos","description":"Carga protocolos situacionales al KB del tenant. El bot los sigue ante escenarios específicos.","operationId":"load_protocols_partner_tenants__tenant_id__kb_protocols_post","parameters":[{"name":"tenant_id","in":"path","required":true,"schema":{"type":"string","title":"Tenant Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PartnerProtocolLoad"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/KBLoadResult"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/partner/tenants/{tenant_id}/kb/documents":{"post":{"tags":["Cargar conocimiento"],"summary":"Cargar documento","description":"Sube un archivo (PDF, DOCX, TXT) al KB. El contenido se procesa en background.","operationId":"upload_document_partner_tenants__tenant_id__kb_documents_post","parameters":[{"name":"tenant_id","in":"path","required":true,"schema":{"type":"string","title":"Tenant Id"}}],"requestBody":{"required":true,"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/Body_upload_document_partner_tenants__tenant_id__kb_documents_post"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/partner/tenants/{tenant_id}/kb":{"get":{"tags":["Cargar conocimiento"],"summary":"Listar fuentes de conocimiento","operationId":"list_kb_partner_tenants__tenant_id__kb_get","parameters":[{"name":"tenant_id","in":"path","required":true,"schema":{"type":"string","title":"Tenant Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/KBSourceSummary"},"title":"Response List Kb Partner Tenants  Tenant Id  Kb Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/partner/tenants/{tenant_id}/kb/{source_id}":{"delete":{"tags":["Cargar conocimiento"],"summary":"Eliminar fuente de conocimiento","operationId":"delete_kb_source_partner_tenants__tenant_id__kb__source_id__delete","parameters":[{"name":"tenant_id","in":"path","required":true,"schema":{"type":"string","title":"Tenant Id"}},{"name":"source_id","in":"path","required":true,"schema":{"type":"string","title":"Source Id"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/partner/tenants/{tenant_id}/health":{"get":{"tags":["Administrar tenant"],"summary":"Estado de preparación del agente","description":"Retorna si el agente está listo para recibir mensajes.","operationId":"tenant_health_partner_tenants__tenant_id__health_get","parameters":[{"name":"tenant_id","in":"path","required":true,"schema":{"type":"string","title":"Tenant Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TenantHealthResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/partner/me":{"get":{"tags":["Otros"],"summary":"Perfil y resumen del partner","description":"Devuelve el estado de la cuenta, conteo de tenants y uso agregado del mes.","operationId":"get_partner_me_partner_me_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/partner/plans":{"get":{"tags":["Otros"],"summary":"Planes disponibles","description":"Lista los planes que puedes asignar a los tenants de tus clientes.","operationId":"list_partner_plans_partner_plans_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/partner/billing":{"get":{"tags":["Otros"],"summary":"Reporte de facturación mensual","description":"Devuelve el consumo mensual de cada tenant para conciliación de facturación. Incluye plan, conversaciones usadas, overage y costo estimado.","operationId":"get_partner_billing_partner_billing_get","parameters":[{"name":"period","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Period"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/partner/roles":{"get":{"tags":["Completar Prompt builder"],"summary":"Listar roles disponibles","description":"Retorna los BotRoles públicos disponibles para asignar al bot de un tenant.","operationId":"list_partner_roles_partner_roles_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/partner/tenants/{tenant_id}/chat":{"post":{"tags":["Otros"],"summary":"Enviar mensaje al agente","description":"Envía un mensaje al agente IA del tenant y recibe su respuesta.","operationId":"partner_chat_partner_tenants__tenant_id__chat_post","parameters":[{"name":"tenant_id","in":"path","required":true,"schema":{"type":"string","title":"Tenant Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PartnerChatRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/partner/webhooks":{"get":{"tags":["Otros"],"summary":"Ver configuración actual de webhook","operationId":"get_webhook_config_partner_webhooks_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}},"post":{"tags":["Otros"],"summary":"Registrar URL de webhook","description":"Actualiza la URL de webhook de tu API key. Overtaker enviará eventos firmados a esa URL.","operationId":"register_webhook_partner_webhooks_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WebhookRegister"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/partner/webhooks/logs":{"get":{"tags":["Otros"],"summary":"Log de entregas de webhooks","operationId":"list_webhook_logs_partner_webhooks_logs_get","parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":200,"minimum":1,"default":50,"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/WebhookLogEntry"},"title":"Response List Webhook Logs Partner Webhooks Logs Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}}},"components":{"schemas":{"AnswerEntry":{"properties":{"question":{"type":"string","title":"Question"},"answer":{"type":"string","title":"Answer"},"tags":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Tags"}},"type":"object","required":["question","answer"],"title":"AnswerEntry"},"Body_upload_document_partner_tenants__tenant_id__kb_documents_post":{"properties":{"file":{"type":"string","format":"binary","title":"File"}},"type":"object","required":["file"],"title":"Body_upload_document_partner_tenants__tenant_id__kb_documents_post"},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"KBLoadResult":{"properties":{"created":{"type":"integer","title":"Created"},"source_id":{"type":"string","title":"Source Id"}},"type":"object","required":["created","source_id"],"title":"KBLoadResult"},"KBSourceSummary":{"properties":{"source_id":{"type":"string","title":"Source Id"},"type":{"type":"string","title":"Type"},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name"},"entry_count":{"type":"integer","title":"Entry Count","default":0},"status":{"type":"string","title":"Status","default":"OK"},"created_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Created At"}},"type":"object","required":["source_id","type"],"title":"KBSourceSummary"},"PartnerAnswersLoad":{"properties":{"entries":{"items":{"$ref":"#/components/schemas/AnswerEntry"},"type":"array","title":"Entries"}},"type":"object","required":["entries"],"title":"PartnerAnswersLoad"},"PartnerBotConfigResponse":{"properties":{"tenant_id":{"type":"string","title":"Tenant Id"},"tone":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Tone"},"openai_model":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Openai Model"},"session_timeout_hours":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Session Timeout Hours"},"bot_memory_size":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Bot Memory Size"},"bot_role_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Bot Role Id"},"version":{"type":"integer","title":"Version","default":1},"status":{"type":"string","title":"Status","default":"ACTIVE"}},"type":"object","required":["tenant_id"],"title":"PartnerBotConfigResponse"},"PartnerBotConfigUpsert":{"properties":{"tone":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Tone"},"system_prompt_template":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"System Prompt Template"},"openai_model":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Openai Model"},"session_timeout_hours":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Session Timeout Hours"},"bot_memory_size":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Bot Memory Size"},"initial_message_enabled":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Initial Message Enabled"},"initial_message_text":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Initial Message Text"}},"type":"object","title":"PartnerBotConfigUpsert"},"PartnerBotRoleAssign":{"properties":{"bot_role_id":{"type":"string","title":"Bot Role Id"}},"type":"object","required":["bot_role_id"],"title":"PartnerBotRoleAssign"},"PartnerChatRequest":{"properties":{"message":{"type":"string","title":"Message"},"session_id":{"type":"string","title":"Session Id"}},"type":"object","required":["message","session_id"],"title":"PartnerChatRequest"},"PartnerProtocolLoad":{"properties":{"entries":{"items":{"$ref":"#/components/schemas/ProtocolEntry"},"type":"array","title":"Entries"}},"type":"object","required":["entries"],"title":"PartnerProtocolLoad"},"PartnerTenantCreate":{"properties":{"name":{"type":"string","title":"Name"},"email":{"type":"string","format":"email","title":"Email"},"bot_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Bot Name"},"plan_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Plan Id","default":"starter"},"subdomain":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Subdomain"}},"type":"object","required":["name","email"],"title":"PartnerTenantCreate"},"PartnerTenantDetail":{"properties":{"tenant_id":{"type":"string","title":"Tenant Id"},"name":{"type":"string","title":"Name"},"subdomain":{"type":"string","title":"Subdomain"},"status":{"type":"string","title":"Status"},"plan_id":{"type":"string","title":"Plan Id"},"admin_email":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Admin Email"},"admin_temp_password":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Admin Temp Password"},"monthly_conversations_used":{"type":"integer","title":"Monthly Conversations Used","default":0},"monthly_conversations_limit":{"type":"integer","title":"Monthly Conversations Limit","default":0}},"type":"object","required":["tenant_id","name","subdomain","status","plan_id"],"title":"PartnerTenantDetail"},"PartnerTenantResponse":{"properties":{"tenant_id":{"type":"string","title":"Tenant Id"},"name":{"type":"string","title":"Name"},"subdomain":{"type":"string","title":"Subdomain"},"status":{"type":"string","title":"Status"},"plan_id":{"type":"string","title":"Plan Id"},"admin_email":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Admin Email"},"admin_temp_password":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Admin Temp Password"}},"type":"object","required":["tenant_id","name","subdomain","status","plan_id"],"title":"PartnerTenantResponse"},"PartnerTenantUpdate":{"properties":{"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name"},"admin_email":{"anyOf":[{"type":"string","format":"email"},{"type":"null"}],"title":"Admin Email"}},"type":"object","title":"PartnerTenantUpdate"},"PlanChangeRequest":{"properties":{"plan_id":{"type":"string","title":"Plan Id"}},"type":"object","required":["plan_id"],"title":"PlanChangeRequest"},"ProtocolEntry":{"properties":{"title":{"type":"string","title":"Title"},"content":{"type":"string","title":"Content"}},"type":"object","required":["title","content"],"title":"ProtocolEntry"},"TenantHealthChecks":{"properties":{"bot_config":{"type":"boolean","title":"Bot Config"},"role_assigned":{"type":"boolean","title":"Role Assigned"},"knowledge_entries":{"type":"integer","title":"Knowledge Entries"},"channel_connected":{"type":"boolean","title":"Channel Connected"}},"type":"object","required":["bot_config","role_assigned","knowledge_entries","channel_connected"],"title":"TenantHealthChecks"},"TenantHealthResponse":{"properties":{"ready":{"type":"boolean","title":"Ready"},"checks":{"$ref":"#/components/schemas/TenantHealthChecks"},"missing":{"items":{"type":"string"},"type":"array","title":"Missing"}},"type":"object","required":["ready","checks","missing"],"title":"TenantHealthResponse"},"ValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"},"WebhookLogEntry":{"properties":{"id":{"type":"string","title":"Id"},"event":{"type":"string","title":"Event"},"status":{"type":"string","title":"Status"},"attempts":{"type":"integer","title":"Attempts"},"response_status_code":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Response Status Code"},"created_at":{"type":"string","format":"date-time","title":"Created At"}},"type":"object","required":["id","event","status","attempts","created_at"],"title":"WebhookLogEntry"},"WebhookRegister":{"properties":{"url":{"type":"string","title":"Url"},"events":{"items":{"type":"string"},"type":"array","title":"Events"}},"type":"object","required":["url","events"],"title":"WebhookRegister"}},"securitySchemes":{"ApiKeyAuth":{"type":"apiKey","in":"header","name":"Authorization","description":"API Key del partner. Formato: `Bearer sk_live_xxxxx`"}}},"security":[{"ApiKeyAuth":[]}],"tags":[{"name":"Administrar tenant","description":"Crear y gestionar el ciclo de vida de los tenants de tus clientes"},{"name":"Completar Prompt builder","description":"Configurar la personalidad, rol y modelo del agente IA de cada tenant"},{"name":"Cargar conocimiento","description":"Cargar FAQs, protocolos y documentos a la base de conocimiento del agente"},{"name":"Otros","description":"Cuenta del partner, chat de prueba y webhooks"}]}