Integration details
Description
LeyNova da acceso al derecho boliviano vigente verificado: normas artículo por artículo con su sello de vigencia —Constitución, doce códigos, leyes, decretos y reglamentos sectoriales— y jurisprudencia del Tribunal Constitucional Plurinacional y del Tribunal Supremo de Justicia. Cada norma y cada fallo se devuelven con una URL pública que el usuario puede abrir y verificar. Está pensado para abogados, estudiantes de derecho y personas que necesitan ubicar la norma o el precedente que gobierna un caso. Busca por la función de la regla, no solo por su número, y advierte cuando un artículo está derogado o abrogado. LeyNova entrega fuentes verificadas para fundamentar un análisis; no sustituye el criterio de un abogado habilitado.
- Integration type
- Plugin
- Verification status
- Not applicable
- Platform
- ChatGPT
- Primary Subcategory
- Legal Research Engines
- Secondary Subcategories
- None listed
- Brand
- LeyNova
- Access
- Account required
- First tracked
- 2026-09-19
- Tool count
- 13
- Geography
- US
The Primary Subcategory used for this profile’s headline score.
Other Subcategories where the Integration is listed.
Get alerts for LeyNova
Get updates when LeyNova’s Discoverability Score or category rank changes.
ChatGPT Plugin Discovery Score
ChatGPT Plugin discovery is coming soon
ChatGPT can surface a Plugin when it matches a user's request.Your Plugin Discovery Score measures how often yours appears.
No spam. Unsubscribe any time.
What discovery looks like

Competing in ChatGPT Legal Research Engines
View Category13 tools agents can invoke
Use this when you need TCP or TSJ precedent on a legal point, described as the doctrine that decides it ("prohibition of conciliation in family violence", "unconstitutionality of the employer's dismissal notice") rather than as the client's facts. tribunal accepts TCP, TSJ or ambos and is now enforced on the result, not only on the collection queried. The base rate hides how much that matters: 0.97% of the TCP index carries Auto Supremo citations, which belong to the TSJ, but they cluster in criminal cassation — measured against production, eight cassation queries asking for TCP returned 47 TSJ-labelled rulings out of 66 (71.2%). Those are dropped now, and dropping them can leave few results, so descartados_por_tribunal reports how many went, which tribunal they were and their citations: ask again with "TSJ" or "ambos" rather than conclude there is no precedent. Results below the relevance floor are returned as none rather than as filler, with the reason. Do not use it to read a ruling you can already cite — leynova_obtener_fallo returns its text. Do not use it for foreign case law. — Busca DOCTRINA en fallos TCP/TSJ; el filtro de tribunal se respeta y lo descartado se declara. Returns: {status, query, tribunal, n, fallos[{decision_id?, citation, ref?, tribunal, sala?, materia, tipo, año, año_no_consta?, ratio_snippet, summary, holding_id?, decision_object_id?, document_role?, seccion_tipo?, seccion_start_char?, seccion_end_char?, seccion_confianza?, seccion_no_consta?, fecha, fecha_no_consta?, score, score_cos?, url, homonimos?, aviso?}], descartados_por_tribunal{n, tribunales[], citas[]}?, corpus_verificado_hasta, umbral_cos?, mejor_cos?, n_bajo_umbral?}; on failure {status: not_found|error, message, motivo?, descartados_por_tribunal{n, tribunales[], citas[]}?, query, n: 0, fallos: []}. When the filter empties the result the message says so and descartados_por_tribunal comes with it: an empty answer here does not mean there is no precedent, only none from the tribunal you asked for. `summary` is a deprecated alias of ratio_snippet, kept for existing clients. `fecha` is always null and fecha_no_consta says so. decision_id (jur.cases.id) identifies the document; the citation does not — 18,715 citations cover 57,481 documents and "AS 75/2023" is six different rulings. Pass `ref` to read one. `ratio_snippet` is a LITERAL extract of the ruling's ratio, not a written summary: the three summary columns of the index are entirely empty. `sala` exists for 42.8% of rulings and is what separates the labour homonym from the criminal one. There is no date: only 1,023 of 181,876 rulings carry one, so only the year is given, spelled `año`, and año_no_consta marks the 10.7% of citations that do not state one. `seccion_tipo` names the section of the ruling the holding came from — fundamentos_juridicos, doctrina_legal_aplicable, antecedentes and eight more — with character offsets; there is no roman-numeral section number in this corpus and none is invented.
leynova_buscar_jurisprudencia
Use this when you want to know what LeyNova's corpus actually contains before relying on it: how many norms and rulings it holds, which Bolivian codes are indexed article by article, what it does not include, how far it is verified, and the conventions its other tools use for identity, validity and citation. Do not use it to obtain legal text: it returns no article and no ruling. Cheap and instant. — Devuelve la cobertura medida del corpus y las convenciones, no derecho. Returns: {status, metodo, cobertura{medido, normas{total, articulos, constitucion, codigos_articulo_por_articulo[], leyes, decretos, reglamentos, rango}, jurisprudencia{fallos, tcp, tsj, holdings, buscables, rango}, no_incluye[], avisos_honestos[], conclusion}, corpus_verificado_hasta}.
leynova_metodo
Returns the recorded normative relationships of a Bolivian law or of one of its articles, in either direction: which norms modify, repeal (deroga/abroga), complement, regulate or interpret it (modo="que_le_afecta"), or everything a given norm reaches (modo="que_modifica"). Applies when the question is whether a provision is still in its original wording, what changed it, or what a reform law touched. Each relationship comes raw, with its reference id, the target exactly as the norm declared it, and how that target was resolved (literal, by number, or by title). Where a number or a title matches more than one norm — Bolivian numbering restarted with the Plurinational State, and four codes exist twice here with diverging article text — every candidate is returned and none is chosen. An empty list never has two meanings: `sin_datos_de_relacion` is true only when nothing at all was filtered out; if the default hid anything, the answer carries `lista_vacia_por_filtros` with the count. A reference whose declared target names the queried article is always returned, even when tagged `cita` and citations are off. When that target could not be read, the reference travels with `alcanza_el_articulo_consultado: null`, never as false. Coverage is partial and stated in every response: with literal resolution, 2.418 of 31.703 norms (7,6 %) have an incoming modifica/deroga/abroga reference, 9.959 norms contributed no extracted reference at all, and 11.168 references point to norm numbers absent from the corpus. Chronological order is given only when every source norm has a date; otherwise events come unordered and are said to be unorderable. — Relaciones normativas crudas, con su procedencia y su cobertura declarada. No elige entre homonimos ni entre copias divergentes. Returns: {status, identidad{norma{}, copias_gemelas[], copias_gemelas_evaluables}, articulo{ordinal, heading, texto, notas_de_cambio_en_el_texto[]}, otras_copias_del_articulo[], relaciones_entrantes|relaciones_salientes{<relacion>: [{ref_id, origen{}, destino_declarado{}, destino_resuelto{como_se_resolvio, candidatos[]}, articulos_declarados{ordinales[], no_parseables[]}, alcanza_el_articulo_consultado, alcance_incierto, incluida_pese_al_filtro_de_citas, raw_text}]}, alcance_sobre_el_articulo{}, omisiones{}, cronologia{status, eventos[]}, destinos_no_resueltos[], sin_datos_de_relacion, lista_vacia_por_filtros, ausencia_no_es_prueba, corpus_verificado_hasta}. Con status="ambiguo" no se devuelven relaciones: elija un candidato por su `id_canonico` y repita.
leynova_relaciones_normativas
Use this when you can already name a Bolivian norm and want an article's verbatim text: pass norm_number as the bare number, the code slug or an alias ('1468', '28699', 'codigo_proc_penal', 'cpe', 'carta magna') and, optionally, article. Leading-zero variants are tried automatically and the ones attempted are reported; where the number belongs to more than one Bolivian norm the homonyms are listed and none is silently chosen. Do not use it to find out which article governs a situation you can only describe. It also returns where that text comes from and what is and is not known about its validity. There is NO `vigente` boolean: validity is one of seven states — derogado_expresamente, norma_derogada_o_abrogada, conflicto_de_versiones, transitorio, suspendido, desconocido, sin_verificar — each with a plain-language `que_significa`. The default is sin_verificar: no process checks this corpus against the Gaceta Oficial, so `verificada_al` is always null and `corpus_verificado_hasta` (2026-09-09) is a property of the corpus, not of this norm. Validity seals are read over the WHOLE text served, never a window, and they are labelled by scope: a seal on the article (171 in the corpus), on the whole norm (5,150), PARTIAL — a paragraph or a phrase struck down, naming the norm that struck it (6) — or a bare mention whose scope could NOT be determined (8: «(abrogada)» with no norm named, which in five articles qualifies the PREVIOUS Constitution and not the article at all). A partial seal does NOT change the status, because the rest of the article is alive: it comes back in `derogacion_parcial`, in `sellos[]`, in `notas[]` (the same curated note leynova.com publishes) and in `advertencia_vigencia`, and you must read it before quoting. An undetermined mention comes back in `menciones_sin_alcance[]` and the tool says outright that it does not know what it reaches, instead of claiming a paragraph fell. `menciona_derogacion_en_el_texto` is computed from the full served string, so it can never contradict the text you are given. Five Bolivian codes exist TWICE in this corpus with diverging article text and a sixth pair is declared but not merged; when the article you ask for is one of them the tool does NOT choose: status is conflicto_de_versiones and the OTHER copy — never a second print of the one you are already reading — comes back in otras_copias[] with its norm_id, parser, source_path, date and signals, while `copia_servida` and `texto_servido.procede_de` name the copy your text actually comes from and `elegida_por` says whether the choice was made per CODE (regla_por_cuerpo_19119) or, for the few articles with a declared per-article exception, by a known reform (excepcion_por_articulo_19123bis; `copia_servida.excepcion_por_articulo` and `vigencia.reforma_conocida` carry it). `copias_conocidas` is emitted ALWAYS — with copies listed and without — and states plainly that uniqueness was NOT verified: 81 pairs of norms in this corpus share 20 or more identical articles and only 6 are declared, so a non-empty otras_copias[] is not a complete list either. `modificada_por[]` lists raw change references; when empty, `ausencia_no_es_prueba` says that is not evidence the norm was never amended. — Texto literal, procedencia y lo que NO se sabe. Returns: {status, n, normas[{canonical_norm_id, id_articulo, corpus, norm_number, norm_title, article, heading, text, chars_total, truncado, url, vigencia{status, alcance, que_significa, hay_otra_copia_en_el_corpus, el_par_se_colapsa, copias_divergen, similitud_entre_copias, base_de_la_similitud, sello_en_texto_servido, alcance_del_sello, sellos_en_el_texto_servido[], derogacion_parcial, sellos_parciales[], menciones_sin_alcance[], notas[], menciona_derogacion_en_el_texto, posicion_de_la_primera_mencion, chars_escaneados, modificada_por[], sin_datos_de_relacion, corpus_verificado_hasta, verificada_al}, procedencia{norm_id, parser_pattern, source_path, fecha_norma, fecha_ausente, materia, serie}, otras_copias[{canonical_norm_id, texto, parser_pattern, source_path, similitud_entre_copias, sellos[], notas[], senales[]}], copia_servida{...elegida_por}, copias_conocidas{no_se_verifico_que_sea_unica, que_significa}, texto_servido{procede_de, sustituido_por_el_colapso}, advertencia_vigencia}], alias, homonimos, advertencia_conflicto, corpus_verificado_hasta}.
leynova_norma_exacta
Use this when you need the ARTICLES of Bolivian law that bear on a situation, described by what the rule has to do ("how this resolution is challenged and within what deadline", "which authority hears the appeal"). Retrieval is semantic over the article's own text and nothing else: it does not know which procedural track or chapter an article belongs to, so an article of the wrong regime can rank first, and a question piling several concepts into one sentence retrieves worse than one naming a single concept precisely. Two fields let you catch that. `ubicacion` gives the article's place inside its code (Libro > Titulo > Capitulo > Seccion) with its provenance: it is how you see that art. 432 of Ley 603 sits in "Proceso ordinario" while art. 443 sits in "Proceso extraordinario". Where the corpus does not record it, ubicacion_no_consta says so instead of guessing. And en_normas restricts the search to bodies you have already identified, passing canonical ids like "ley/603" or "codigo_civil/codigo_civil": measured over a 10-query goldset, the open search put the governing article in the top 3 for 5 of 10 and the restricted search for 8 of 10 (MRR 0.46 to 0.73). en_leyes still takes a bare number, which is ambiguous: 3,073 norm_numbers exist in more than one corpus, so "1970" is both the Code of Criminal Procedure and Supreme Decree 1970/2014; every candidate is then searched and `ambiguo` lists them. Do not use it to read an article you can already name — leynova_norma_exacta returns that verbatim, and note it does NOT accept the canonical_norm_id printed here: pass only the part after the slash. Do not use it for law outside Bolivia. — Busca ARTICULOS; acotela con en_normas y lea `ubicacion`. Returns: {status, query, n, normas[{canonical_norm_id, corpus, norm_number, norm_title, article, heading, text, chars_total, truncado, score, url, vigencia{status, alcance, que_significa, vigente, notas, advertencia?, menciona_derogacion_en_el_texto, corpus_verificado_hasta}, ubicacion{ruta, procede_de, verificada_contra_el_texto_servido, similitud_de_los_dos_textos?, que_significa}?, ubicacion_no_consta?, advertencia_vigencia?, fecha_norma?, fecha_ausente?}], modo: abierta|acotada, acotada_a[]?, ambiguo[{pedido, n_candidatos, candidatos[], nota}]?, no_encontrados[]?, as_of{as_of_date, aplicado, excluidas_por_fecha, sin_fecha_no_evaluadas, nota, advertencia}?, fuente, corpus_verificado_hasta}; on failure {status: not_found|error, message, query, n: 0, normas: [], fuente}. `score` is the cosine of the dense index, comparable only within one response. `vigencia.status` uses the same seven validity states as leynova_norma_exacta (derogado_expresamente, norma_derogada_o_abrogada, conflicto_de_versiones, transitorio, suspendido, desconocido, sin_verificar), derived from the norm's vigencia_inferida in the corpus plus the seals found in the article text served; `alcance` says whether the statement is about the article or its whole norm and `que_significa` spells out what the state lets you cite — leynova_metodo section 4 has the full list. This search never emits conflicto_de_versiones: only leynova_norma_exacta compares the two copies of a code. `vigencia.vigente` is kept for compatibility only and is derived from status: false when the article or its norm is recorded as derogated or abrogated, null otherwise — it is never true, because nothing here is verified against the Gaceta Oficial; sin_verificar is the default and never means in force. `ubicacion.procede_de` says whether the location is recorded on the article served or was taken from the corpus's second copy of the same code by article number; in that second case the two texts' similarity comes with it and the location may belong to a neighbouring article. as_of_date filters by corpus_v1l.norms.date alone and is weak where it matters: every code and Leyes 603, 439, 548, 254, 1970, 348 and 1468 have no date, so it does not touch them; norms without a date are never dropped and are counted in sin_fecha_no_evaluadas.
leynova_buscar_normas
Computes a deadline from an event date and an explicit rule, deterministically and with no language model involved: the caller states the rule it already read in the norm and this returns the dates plus a step-by-step arithmetic trail that a lawyer can audit line by line. Supports calendar days, months and years, counting either from the day after the event (inicio="dia_siguiente") or from the event day itself (inicio="mismo_dia"), and reports the weekday of both ends. Month and year arithmetic clamps to the last day of the target month and says so (31 January plus one month is 28 or 29 February, never 2 or 3 March); leap years are handled by the calendar itself. WORKING DAYS ARE NOT SUPPORTED and return status="no_soportado" with the reason: this corpus has no Bolivian holiday calendar. The only holiday table in the codebase belongs to a different domain (a CNS/SAFCO administrative procedure), carries only 7 fixed national holidays, has its movable ones hand-tabulated through 2027 only, and has no departmental holidays and no judicial recess table — so a working-day count would silently produce an early due date, and a miscounted procedural deadline forfeits a right. The response lists exactly what data would be needed. No date defaults to the server clock: if fecha_evento is "hoy" it is resolved in UTC-4 and the timezone is stated in the answer; the server itself runs in UTC. The tool does not read the norm and does not check that the rule is the right one — that choice stays with the caller and the answer says so. — Cuenta de plazos en dias calendario, meses y anios, con la aritmetica explicada paso a paso. Dias habiles: no soportado, y dice por que y que falta. Returns: {status, entrada{...}, regla_aplicada{...}, inicio{fecha, dia_semana, regla}, vence{fecha, dia_semana}, dias_calendario_transcurridos, computo[], advertencias[], nota, zona_horaria, ajuste_por_fin_de_mes, no_verifica_la_regla}; o {status:"no_soportado", motivo, calendario_disponible{...}, datos_que_faltarian[], sugerencia} para dias habiles.
leynova_calcular_plazo
Returns the full text of ONE Bolivian court ruling (TCP or TSJ). Identify it with decision_id — the number after '#' in the `ref` a LeyNova search returns — because a Bolivian citation does not identify a document: 18.715 citations cover 57.481 documents and 'AS 75/2023' is six different rulings. `citation` is accepted for convenience; when it resolves to more than one document the tool returns status='ambiguo' with every candidate and its decision_id, and chooses none. Every response carries an `identidad` block that compares three citations — the one you asked for, the one the corpus records for the document served, and the one the ruling's own first page states — and declares any mismatch, quoting what the header actually says. This matters: 12.769 documents in this corpus are labelled with a citation that appears in their BODY and not in their header, so a request can return a ruling that is not the one named. The label is never rewritten and the document is never discarded; the discrepancy is stated. `identidad.estado` never claims agreement it did not check: it is `coincide` ONLY when the ruling's own header supplied the proof, `coincide_con_reservas` when only the type or suffix differs, `identidad_dudosa` when the number or year points elsewhere, and `sin_evidencia_de_identidad` when nothing contradicted the label but nothing confirmed it either — typically because the header could not be read. `evidencia[]` lists the checks that were made and passed and `comparaciones_no_hechas[]` the ones that could not be made, and why. — Texto íntegro de un fallo por decision_id, con su identidad declarada. Returns: {status, decision_id, citation, citation_del_documento, citation_pedida, tribunal, sala, materia, año, texto, chars_total, truncado, url, ref, resuelto_por, identidad{estado, que_significa_el_estado, motivos[], reservas[], evidencia[], comparaciones_no_hechas[], n_comparaciones_hechas, cita_pedida, cita_del_documento, cita_pedida_en_la_cabecera, cita_pedida_en_el_cuerpo, cabecera_leida, cabecera{cita, tipo, numero, anio, sala, fecha, confianza}}, advertencia_identidad?, aviso_identidad?, corpus_verificado_hasta}. Con status='ambiguo': {candidatos[], n_candidatos, message}.
leynova_obtener_fallo
Use this to read the full document behind an id returned by search: "norma:<corpus>:<norm_number>:<article>" gives the article's text, "juris:<citation>#<decision_id>" gives the ruling's full text. Do not use it with an id you built yourself from a citation you have not seen in a result. — Lee el documento completo de un id de search. Returns for a norm: {id, title, text, url, metadata{corpus, norm_number, norm_title, article, heading, tipo, chars_total, truncado, vigencia?}}. For a ruling: {id, title, text, url, metadata{citation, tribunal, sala?, materia?, ref?, tipo, chars_total, truncado}}. On failure {id, status: not_found|error, message}. `text` is cut at 20,000 characters and metadata.chars_total gives the real length, with metadata.truncado saying whether it was cut. metadata.vigencia appears only when the article's own text carries a DEROGADO/ABROGADO seal.
fetch
Use this when you want one general sweep of LeyNova for a natural-language query: it returns up to five Bolivian statute articles and five TCP/TSJ rulings as connector results, each with an id you can pass to fetch. Do not use it when you already know the norm or the ruling. — Barrido general; los ids se leen con fetch. Returns: {results[{id, title, url}], status?, message?}. Norm ids are "norma:<corpus>:<norm_number>:<article>"; ruling ids are "juris:<citation>#<decision_id>", and the part after # is what identifies the document, because a Bolivian citation can name several rulings.
search
Use this to open a case file in the user's own LeyNova account, or to update one with the advice you have written. This is the only LeyNova tool that WRITES: ask the user to confirm before calling it. Searches never create or touch cases. LeyNova appends the articles and rulings consulted in this session, with their URLs, to the case. Calls are deduplicated within 24 hours by title, so repeating one updates the same case instead of creating a second. Do not use it to search for anything. — Unica tool de ESCRITURA: crea o actualiza el expediente del usuario; pida confirmacion. Required: nombre_cliente, titulo (2-200 chars), hechos (at least 10 chars, with dates). Optional: objetivo, contraparte, materia, resumen_asesoria. Returns: {status: creado|actualizado|existente, caso_id, url, titulo, autorun, mensaje_para_el_usuario, analisis_leynova?, notas[]?}; on failure {status: error, message, mensaje_para_el_usuario, faltan[]?, http_status?}. Hand the user the url exactly as returned.
leynova_abrir_caso
A packaged call that runs the full LeyNova pipeline in one shot and returns norms plus case law together. It is the slowest tool here and it does not fit inside a one-minute tool call: measured over 26 real calls, the median was 40 s and the 90th percentile 95 s, against a 50 s internal budget, so roughly one call in ten degrades to a partial result. The primitives cover the same ground with more control. Use this when you want one packaged bundle for a Bolivian legal question and can afford the wait. Do not use it for law outside Bolivia. — Llamada empaquetada, mediana 40 s, p90 95 s; las primitivas hacen lo mismo con mas control. Returns: {status, query, materia, figuras[], tesis?, orientacion{texto, aviso}?, normas[{cite, corpus, fuente_tesis, texto, url, advertencia_vigencia?}], n_normas, jurisprudencia[{cite, url, texto}]?, fuentes_para_citar[{cite, url}], corpus_verificado_hasta, parcial?, aviso_parcial?}.
leynova_consulta_guiada
A packaged call that runs several LeyNova primitives at once and returns a bundle. It is slower and less controllable than calling the primitives yourself: measured over 1,394 real calls between 1 and 7 September 2026, its median was 9.2 s against 0.7 s for the article search and 2.6 s for the case law search. Use this when a single packaged answer is what you want for a short general question about Bolivian law with no case facts. Do not use it for law outside Bolivia. — Llamada empaquetada; mas lenta que las primitivas. Returns: {status, query, materia, figuras[], n_normas, normas[{cite, corpus, texto, url}], jurisprudencia[]?, fuentes_para_citar[{cite, url}], corpus_verificado_hasta}; on failure {status: not_found, message, ...}.
leynova_consulta_rapida
Finds where a specific document says something, returning passages with character offsets instead of the whole text. Applies once a source has already been identified — a 250,000-character Auto Supremo, or a code such as Ley 2492 at 182,514 characters — and the question is which part of it is on point. Takes source_id in one of the forms leynova's other tools already emit: "juris:<decision_id>" (e.g. "juris:162366"), "juris:<citation>#<decision_id>", "norma:<corpus>:<norm_number>" (e.g. "norma:ley:2492") or "norma:<corpus>:<norm_number>:<article>". A bare citation is refused rather than guessed, because a citation does not identify a document here: 18,715 citations cover 57,481 documents and "AS 75/2023" is six different rulings. Every answer states WHAT IT ACTUALLY SEARCHED in alcance_de_la_busqueda: adding an article to the source_id narrows the search to that article's own text, which can be a fraction of a percent of the document (art. 170 of ley/603 is 300 characters out of 209,165), so the field carries the span, the character count, the percentage and the reason — and both the hits and the absence of hits are explicitly scoped to that slice, never to the whole document. Offsets are CHARACTER offsets: Python string indices, 0-based, end-exclusive, over the stored raw_text — not bytes, which in accented Spanish differ. They are not asserted, they are checked: each answer re-reads the passage from Postgres with substr(raw_text, start+1, length) and reports verificados_en_esta_respuesta out of de; a mismatch comes back as verificado=false with the two texts, never as silence. Matching is lexical and deterministic (IDF-weighted over that document's own segments), not semantic: absence of a match means the words are absent, not that the document is off-topic, and the answer says which terms were searched and how many times each appears. A query left with no searchable word after stopword removal returns status="sin_terminos_buscables" and says nothing was searched, rather than reporting an empty result as if the document had been read. Segmentation adapts to the document and is always named in segmentado_por: rulings from the TSJ carry no line breaks at all, so paragraph splitting is useless there and the text is cut at VISTOS / CONSIDERANDO / POR TANTO / DOCTRINA LEGAL boundaries; statutes are cut at article headings; a sliding window is the last resort. For statutes the answer carries vigencia with the seven-status vocabulary (derogado_expresamente, norma_derogada_o_abrogada, conflicto_de_versiones, transitorio, suspendido, desconocido, sin_verificar) and every passage repeats its own status, so a passage quoted out of a repealed law cannot lose that fact. There is no vigente boolean and no verificada_al date, because nothing in this corpus verifies a text against the Gaceta Oficial. Five normative bodies live twice in the corpus under two identities (codigo_proc_civil/ley 439, codigo_familias/ley 603, codigo_nina/ley 548, codigo_proc_const/ley 254, ley 1970/codigo_proc_penal). This tool searches the raw_text of the copy you named and says so: copias_del_cuerpo names the twin and the measured divergence, and when an article was requested otras_copias[] carries the other copy's full text with its similarity, so the caller can see that ley/603 art. 170 still holds the pre-Ley-1639 wording while codigo_familias holds the current one. For case law, section comes from the stored section map that covers all 181,876 rulings (encabezado, antecedentes, fundamentos_juridicos, parte_resolutiva, doctrina_legal_aplicable and others) with its confidence, and is flagged section_sospechosa when one label swallows more than a third of a long ruling; there is no roman-numeral section number in this corpus and none is invented. For statutes there is no section table, so section is null with seccion_no_consta, except when the passage begins at an article heading in the text itself, which is returned and labelled as read from the text. — Busca pasajes dentro de UN documento ya elegido, dice sobre que porcion busco y devuelve offsets verificados contra la base. No resume, no interpreta y no elige por usted. Returns: {status, version, fuente{...}, alcance_de_la_busqueda{se_busco_en, span_buscado, chars_buscados, chars_del_documento, porcentaje_del_documento, por_que}, vigencia{status, alcance, que_significa, sello, ...}, chars_total, segmentado_por, n_segmentos, metodo_de_busqueda, matches[{section, section_origen, section_confianza, seccion_no_consta, text, start_offset, end_offset, score, chars, verificado, vigencia_status}], copias_del_cuerpo?, otras_copias[]?, secciones_del_documento[], offsets{base, unidad, convencion, verificados_en_esta_respuesta, de, como_se_verifico, que_prueba, que_NO_prueba}, diagnostico{terminos_buscados, apariciones_por_termino, terminos_sin_ninguna_aparicion, palabras_descartadas}, motivo?, corpus_verificado_hasta}.
leynova_buscar_en_fuente
How do I improve a ChatGPT Plugin's discoverability?
The levers are the listing surface agents actually read: names, descriptions, keywords, tool metadata, and registry health. Which lever matters depends on where discovery breaks, which is what continuous measurement shows.
What are LeyNova alternatives on ChatGPT?
As of 2026-09-29, LeyNova competes with AI Attorney Pakistan, AL WAKEELO, Alizé, Appealbase, Açık Silivri Havadis, BIA Edge, Bizora Tax Research, CiteCheck, CiteLaw, Clio, CourtListener, Craime, Descrybe Legal Engine, DirectCase Legal Research, eCFR by 1102tools, ElevenFlo, F-AI Contract Template Finder, Folium Jurisprudencia Chilena, Fontis, GovQuery, GovScanner, Harvey, IAJUS, IFG, Juridata, JurisAI-ICIDA, Lawstronaut, Legal Data Hunter, Legalcode, LegisGraph, LegisRatio, Letra da Lei, Lexgraph, Lexiara, Lexplorer Swiss Tax Research, LibreJustice, MAK Immigration Source Guide, Midpage Legal Research, Nylon, OpenRegs: Regulatory Research, Policy Doctor, realLaw AI, Red Judicial, Remedy Legal, Simpliciter AI, Special Education Law, TaxGraph, TaxMCP, Tesea, Trellis Law, Trifolia, UniCourt, Vasara, Vitark in ChatGPT Legal Research Engines, ranked by public Discoverability Score.
Where is this profile measured?
This profile uses the geography attached to the latest public registry snapshot: US. Locale tags are intentionally omitted.