{"openapi":"3.1.0","info":{"title":"Licia API","description":"API de solo lectura sobre el estado de tu empresa en Licia: las licitaciones que te encajan, el análisis de cada pliego con sus citas, tu embudo y tus avisos. Es la misma información que ves en la aplicación, leída con las mismas consultas.","version":"1.0.0"},"servers":[{"url":"https://licia.es"}],"paths":{"/api/v1/perfil":{"get":{"tags":["API v1"],"summary":"La empresa del token","description":"Identifica la empresa a la que pertenece el token y devuelve los contadores del panel: licitaciones indexadas, novedades de los últimos 7 días en los CPV vigilados, veredictos GO vigentes, borradores pendientes y total del embudo.","operationId":"api_profile_api_v1_perfil_get","responses":{"200":{"description":"La empresa y sus contadores.","content":{"application/json":{"schema":{}}}}}}},"/api/v1/licitaciones":{"get":{"tags":["API v1"],"summary":"Licitaciones de la empresa","description":"El listado que ve la empresa, con su veredicto, su fase del embudo y su borrador si lo hay. Sin filtros devuelve la convocatoria abierta de los CPV vigilados (lo que muestra /licitaciones). Con `analizadas=1` devuelve las que ya tienen veredicto, sin restringir por CPV, y con `seguidas=1` las que están en el embudo: entre los tres, el panel se reconstruye entero.","operationId":"api_tenders_api_v1_licitaciones_get","parameters":[{"name":"estado","in":"query","required":false,"schema":{"type":"string","description":"`abiertas` (por defecto) o `todas`, que incluye las cerradas.","default":"abiertas","title":"Estado"},"description":"`abiertas` (por defecto) o `todas`, que incluye las cerradas."},{"name":"analizadas","in":"query","required":false,"schema":{"type":"integer","description":"`1` para devolver solo las que tienen veredicto.","default":0,"title":"Analizadas"},"description":"`1` para devolver solo las que tienen veredicto."},{"name":"seguidas","in":"query","required":false,"schema":{"type":"integer","description":"`1` para devolver solo las del embudo.","default":0,"title":"Seguidas"},"description":"`1` para devolver solo las del embudo."},{"name":"veredicto","in":"query","required":false,"schema":{"type":"string","description":"Filtra por `go`, `no_go` o `needs_human_check`.","default":"","title":"Veredicto"},"description":"Filtra por `go`, `no_go` o `needs_human_check`."},{"name":"etapa","in":"query","required":false,"schema":{"type":"string","description":"Filtra por fase del embudo.","default":"","title":"Etapa"},"description":"Filtra por fase del embudo."},{"name":"cpv","in":"query","required":false,"schema":{"type":"string","description":"Prefijo CPV. Varios, separados por comas (`45,72`): una licitación vale si encaja con cualquiera de ellos.","default":"","title":"Cpv"},"description":"Prefijo CPV. Varios, separados por comas (`45,72`): una licitación vale si encaja con cualquiera de ellos."},{"name":"busqueda","in":"query","required":false,"schema":{"type":"string","description":"Texto en título, resumen o expediente.","default":"","title":"Busqueda"},"description":"Texto en título, resumen o expediente."},{"name":"pagina","in":"query","required":false,"schema":{"type":"integer","description":"Página, desde 1.","default":1,"title":"Pagina"},"description":"Página, desde 1."},{"name":"limite","in":"query","required":false,"schema":{"type":"integer","description":"Resultados por página (máximo 100).","default":25,"title":"Limite"},"description":"Resultados por página (máximo 100)."}],"responses":{"200":{"description":"Una página de licitaciones.","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/licitaciones/{tender_id}":{"get":{"tags":["API v1"],"summary":"Análisis de una licitación","description":"La ficha completa para esta empresa: la licitación, los requisitos extraídos del pliego con sus citas textuales, el veredicto Go/No-Go con su razonamiento y la fase del embudo. Las citas son el texto congelado en el momento de la extracción, con el identificador del fragmento: un veredicto sin su cita es una opinión.","operationId":"api_tender_detail_api_v1_licitaciones__tender_id__get","parameters":[{"name":"tender_id","in":"path","required":true,"schema":{"type":"integer","title":"Tender Id"}}],"responses":{"200":{"description":"El análisis.","content":{"application/json":{"schema":{}}}},"404":{"description":"La licitación no existe."},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/embudo":{"get":{"tags":["API v1"],"summary":"El embudo de la empresa","description":"El tablero del panel: cuántas licitaciones hay en cada fase y cuáles son, con la decisión del equipo y su fecha. Las fases y sus nombres son los mismos que usa la aplicación.","operationId":"api_funnel_api_v1_embudo_get","responses":{"200":{"description":"Recuento por fase y las filas de cada una.","content":{"application/json":{"schema":{}}}}}}},"/api/v1/avisos":{"get":{"tags":["API v1"],"summary":"Los avisos de la empresa","description":"La misma bandeja que /avisos, y por tanto exactamente los eventos que el webhook envía: es lo que permite recuperar lo ocurrido mientras un endpoint estaba caído, sin que la aplicación y la integración puedan contar historias distintas.","operationId":"api_notifications_api_v1_avisos_get","parameters":[{"name":"limite","in":"query","required":false,"schema":{"type":"integer","description":"Cuántos avisos devolver (máximo 100).","default":50,"title":"Limite"},"description":"Cuántos avisos devolver (máximo 100)."}],"responses":{"200":{"description":"Los avisos más recientes.","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/crm/deals":{"get":{"tags":["API v1"],"summary":"Oportunidades sincronizadas en CRM","description":"Lista de oportunidades/deals creados y sincronizados en HubSpot, Pipedrive o Salesforce para las licitaciones de esta empresa.","operationId":"api_crm_deals_api_v1_crm_deals_get","responses":{"200":{"description":"Oportunidades en CRM.","content":{"application/json":{"schema":{}}}}}}}},"components":{"schemas":{"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"ValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"},"input":{"title":"Input"},"ctx":{"type":"object","title":"Context"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"}},"securitySchemes":{"bearer":{"type":"http","scheme":"bearer","bearerFormat":"licia_…"}}},"security":[{"bearer":[]}]}