{"openapi":"3.1.0","info":{"title":"Jurisprudencia.io — API de jurisprudencia española","version":"1.0.0","description":"Recursos judiciales estructurados, búsqueda de resoluciones y recuperación de evidencias. Solo corpus seleccionado y autorizado; distingue resumen de la fuente y texto completo. Las cotas son las configuradas para la cuenta."},"servers":[{"url":"https://jurisprudencia.io/api","description":"Base configurable del proyecto"}],"security":[{"bearerAuth":[]}],"paths":{"/v1/decisions/{decision_id}/passages":{"get":{"operationId":"readDecision","summary":"Leer fundamentos, fallo o resumen de una versión de la resolución","parameters":[{"name":"decision_id","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"version_id","in":"query","schema":{"type":"string","format":"uuid"}},{"name":"section","in":"query","schema":{"type":"string","enum":["legal_grounds","ruling","antecedents","separate_opinion","source_summary"],"default":"legal_grounds"}},{"name":"offset","in":"query","schema":{"type":"integer","minimum":0,"maximum":1000,"default":0}},{"name":"limit","in":"query","schema":{"type":"integer","minimum":1,"maximum":5,"default":3}},{"name":"start_char","in":"query","description":"Para continuar un párrafo recortado, usa paragraph_offset y next_char con limit=1.","schema":{"type":"integer","minimum":0,"maximum":1000000,"default":0}}],"responses":{"200":{"description":"Metadatos, fragmentos literales con procedencia, secciones disponibles y siguiente desplazamiento. Un resumen no equivale al texto íntegro.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object"},"meta":{"type":"object"}}}}}},"404":{"description":"Resolución o versión no visible"},"400":{"description":"Parámetros inválidos"},"401":{"description":"Autenticación requerida"},"403":{"description":"Permiso insuficiente"},"429":{"description":"Límite alcanzado"}}}},"/v1/courts":{"get":{"operationId":"listCourts","summary":"Listar órganos judiciales con resoluciones visibles","tags":["Jurisprudencia"],"parameters":[],"responses":{"200":{"description":"Resultado","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/Court"}},"meta":{"type":"object","properties":{"total_decisions":{"type":"integer"},"counted_at":{"type":"string","format":"date-time"},"country":{"type":"string"},"preview":{"type":"boolean"}}}}}}}},"400":{"description":"Error de autenticación, parámetros, acceso o servicio.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Error de autenticación, parámetros, acceso o servicio.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Error de autenticación, parámetros, acceso o servicio.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Error de autenticación, parámetros, acceso o servicio.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Error de autenticación, parámetros, acceso o servicio.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Error de autenticación, parámetros, acceso o servicio.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"500":{"description":"Error de autenticación, parámetros, acceso o servicio.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/v1/courts/{court_id}/decisions":{"get":{"operationId":"searchDecisions","summary":"Buscar resoluciones mediante texto indexado y fecha judicial","description":"Búsqueda textual determinista. No activa el agente de inteligencia artificial de la búsqueda web.","tags":["Jurisprudencia"],"parameters":[{"name":"court_id","in":"path","required":true,"schema":{"type":"string"}},{"name":"q","in":"query","required":true,"schema":{"type":"string"}},{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":0,"maximum":100,"default":0}},{"name":"per_page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":20,"default":10}},{"name":"date_from","in":"query","required":false,"schema":{"type":"string","format":"date"}},{"name":"date_to","in":"query","required":false,"schema":{"type":"string","format":"date"}},{"name":"source_groups","in":"query","description":"Fuentes separadas por comas. Por defecto boe_tc,cendoj,tc_hj.","schema":{"type":"string"}}],"responses":{"200":{"description":"Resultado","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/Decision"}},"meta":{"type":"object","properties":{"page":{"type":"integer"},"per_page":{"type":"integer"},"has_next_page":{"type":"boolean"},"country":{"type":"string"},"query":{"type":"string"},"preview":{"type":"boolean"}}}}}}}},"400":{"description":"Error de autenticación, parámetros, acceso o servicio.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Error de autenticación, parámetros, acceso o servicio.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Error de autenticación, parámetros, acceso o servicio.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Error de autenticación, parámetros, acceso o servicio.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Error de autenticación, parámetros, acceso o servicio.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Error de autenticación, parámetros, acceso o servicio.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"500":{"description":"Error de autenticación, parámetros, acceso o servicio.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/v1/decisions/lookup":{"get":{"operationId":"lookupDecision","summary":"Consultar por ECLI, ROJ o número de resolución/proceso","tags":["Jurisprudencia"],"parameters":[{"name":"identifier","in":"query","required":true,"schema":{"type":"string"}},{"name":"court_id","in":"query","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"Resultado","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/Decision"}}}}}},"400":{"description":"Error de autenticación, parámetros, acceso o servicio.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Error de autenticación, parámetros, acceso o servicio.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Error de autenticación, parámetros, acceso o servicio.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Error de autenticación, parámetros, acceso o servicio.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Error de autenticación, parámetros, acceso o servicio.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Error de autenticación, parámetros, acceso o servicio.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"500":{"description":"Error de autenticación, parámetros, acceso o servicio.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/v1/decisions/{decision_id}":{"get":{"operationId":"getDecision","summary":"Consultar una resolución por su identificador estable","tags":["Jurisprudencia"],"parameters":[{"name":"decision_id","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"Resultado","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/Decision"}}}}}},"400":{"description":"Error de autenticación, parámetros, acceso o servicio.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Error de autenticación, parámetros, acceso o servicio.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Error de autenticación, parámetros, acceso o servicio.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Error de autenticación, parámetros, acceso o servicio.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Error de autenticación, parámetros, acceso o servicio.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Error de autenticación, parámetros, acceso o servicio.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"500":{"description":"Error de autenticación, parámetros, acceso o servicio.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/v1/evidence/search":{"post":{"operationId":"searchEvidence","summary":"Recuperar fragmentos y referencias para asistentes","tags":["Evidencias"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["query"],"properties":{"query":{"type":"string"},"countries":{"type":"array","items":{"type":"string","enum":["ES"]},"default":["ES"]},"source_groups":{"type":"array","items":{"type":"string","enum":["boe_tc","cendoj","tc_hj"]}},"body_code":{"type":"string"},"decision_date_from":{"type":"string","format":"date"},"decision_date_to":{"type":"string","format":"date"},"allowed_modes":{"type":"array","items":{"type":"string","enum":["judicial_text","semantic_vector","judicial_hybrid"]},"default":["judicial_text"]},"require_semantic":{"type":"boolean","default":false}}}}}},"responses":{"200":{"description":"Respuesta con evidencias judiciales y procedencia.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"description":"Error de autenticación, parámetros, acceso o servicio.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Error de autenticación, parámetros, acceso o servicio.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Error de autenticación, parámetros, acceso o servicio.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/v1/answers":{"post":{"operationId":"createAnswer","summary":"Obtener evidencias judiciales organizadas para una pregunta","tags":["Evidencias"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["question"],"properties":{"question":{"type":"string"},"mode":{"type":"string","enum":["fast"],"default":"fast"},"countries":{"type":"array","items":{"type":"string","enum":["ES"]},"default":["ES"]},"source_groups":{"type":"array","items":{"type":"string","enum":["boe_tc","cendoj","tc_hj"]}},"body_code":{"type":"string"},"decision_date_from":{"type":"string","format":"date"},"decision_date_to":{"type":"string","format":"date"},"allowed_modes":{"type":"array","items":{"type":"string","enum":["judicial_text","semantic_vector","judicial_hybrid"]},"default":["judicial_text"]},"require_semantic":{"type":"boolean","default":false}}}}}},"responses":{"200":{"description":"Respuesta con evidencias judiciales y procedencia.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"description":"Error de autenticación, parámetros, acceso o servicio.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Error de autenticación, parámetros, acceso o servicio.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Error de autenticación, parámetros, acceso o servicio.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/v1/documents/lookup":{"post":{"operationId":"lookupPassage","summary":"Consultar un fragmento con documento y localizador","tags":["Evidencias"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["document","locator"],"properties":{"document":{"type":"string"},"locator":{"type":"string"},"countries":{"type":"array","items":{"type":"string","enum":["ES"]},"default":["ES"]},"source_groups":{"type":"array","items":{"type":"string","enum":["boe_tc","cendoj","tc_hj"]}},"body_code":{"type":"string"},"decision_date_from":{"type":"string","format":"date"},"decision_date_to":{"type":"string","format":"date"},"allowed_modes":{"type":"array","items":{"type":"string","enum":["judicial_text","semantic_vector","judicial_hybrid"]},"default":["judicial_text"]},"require_semantic":{"type":"boolean","default":false}}}}}},"responses":{"200":{"description":"Respuesta con evidencias judiciales y procedencia.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"description":"Error de autenticación, parámetros, acceso o servicio.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Error de autenticación, parámetros, acceso o servicio.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Error de autenticación, parámetros, acceso o servicio.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/v1/usage":{"get":{"operationId":"getUsage","summary":"Consultar el consumo configurado de la cuenta","tags":["Jurisprudencia"],"parameters":[],"responses":{"200":{"description":"Resultado","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"description":"Error de autenticación, parámetros, acceso o servicio.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Error de autenticación, parámetros, acceso o servicio.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Error de autenticación, parámetros, acceso o servicio.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Error de autenticación, parámetros, acceso o servicio.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Error de autenticación, parámetros, acceso o servicio.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Error de autenticación, parámetros, acceso o servicio.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"500":{"description":"Error de autenticación, parámetros, acceso o servicio.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/v1/decisions":{"get":{"operationId":"searchAllDecisions","summary":"Buscar resoluciones mediante texto indexado, con órgano opcional","description":"Búsqueda textual determinista. No activa el agente de inteligencia artificial de la búsqueda web.","tags":["Jurisprudencia"],"parameters":[{"name":"q","in":"query","required":true,"schema":{"type":"string"}},{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":0,"maximum":100,"default":0}},{"name":"per_page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":20,"default":10}},{"name":"date_from","in":"query","required":false,"schema":{"type":"string","format":"date"}},{"name":"date_to","in":"query","required":false,"schema":{"type":"string","format":"date"}},{"name":"court_id","in":"query","required":false,"schema":{"type":"string"}},{"name":"source_groups","in":"query","description":"Fuentes separadas por comas. Por defecto boe_tc,cendoj,tc_hj.","schema":{"type":"string"}}],"responses":{"200":{"description":"Resultado","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/Decision"}},"meta":{"type":"object","properties":{"page":{"type":"integer"},"per_page":{"type":"integer"},"has_next_page":{"type":"boolean"},"country":{"type":"string"},"query":{"type":"string"},"preview":{"type":"boolean"}}}}}}}},"400":{"description":"Error de autenticación, parámetros, acceso o servicio.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Error de autenticación, parámetros, acceso o servicio.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Error de autenticación, parámetros, acceso o servicio.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Error de autenticación, parámetros, acceso o servicio.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Error de autenticación, parámetros, acceso o servicio.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Error de autenticación, parámetros, acceso o servicio.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"500":{"description":"Error de autenticación, parámetros, acceso o servicio.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}}},"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer"}},"schemas":{"Court":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"body_kind":{"type":"string"},"decisions_count":{"type":"integer","minimum":0}}},"Decision":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"country":{"type":"string","enum":["ES"]},"court_id":{"type":"string"},"court_name":{"type":"string"},"court_identity_scope":{"type":["string","null"]},"title":{"type":["string","null"]},"decision_type":{"type":"string"},"decision_number":{"type":"string"},"case_number":{"type":["string","null"]},"ecli":{"type":["string","null"]},"roj":{"type":["string","null"]},"rapporteur":{"type":["string","null"]},"chamber":{"type":["string","null"]},"municipality":{"type":["string","null"]},"decision_date":{"type":["string","null"],"format":"date"},"publication_date":{"type":["string","null"]},"excerpt":{"type":"string"},"excerpt_truncated":{"type":"boolean"},"content_scope":{"type":"string","enum":["full_text","source_summary"]},"full_text_available":{"type":"boolean","description":"Availability in the selected corpus version, not delivery of the complete text in this response."},"summary_label":{"type":["string","null"]},"source":{"type":"string"},"official_url":{"type":"string","format":"uri"},"version_id":{"type":"string","format":"uuid"},"extraction_id":{"type":"string","format":"uuid"},"language":{"type":"string"},"visibility":{"type":"string","enum":["public","preview"]},"coverage_status":{"type":"string"},"attribution":{"type":["string","null"]},"terms_url":{"type":["string","null"]}}},"Error":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"},"user_message":{"type":"string","description":"Mensaje para el usuario: si category es quota_exhausted, informa de que ha agotado el saldo y comunica reset_at; no lo presentes como un fallo del servidor."},"category":{"type":"string","enum":["quota_exhausted","rate_limit","service_unavailable"]},"remaining":{"type":"integer"},"reset_at":{"type":"string","format":"date-time"},"timezone":{"type":"string"},"retryable":{"type":"boolean","description":"Si es false, no repitas la operación ni pruebes otra herramienta para eludir el mismo límite."},"assistant_guidance":{"type":"string"},"request_id":{"type":"string"}}}}}}}}