| mode | No | 'auto' is the right choice in almost all cases — it picks the regime from the query shape. auto: combines meaning and keyword matching on plain queries; switches to keyword-only when the query contains ET / OU / SAUF or quoted phrases. lexical: force keyword-only matching. Every term becomes required and nothing recovers a miss, so it fits a string you expect word for word (a consecrated formula, the direction of a holding, a party named in the text) and an empty answer is then an answer. Never for a docket number or a decision name, which auto resolves by exact key. semantic: force the meaning+keyword hybrid even on quoted or operator queries (where auto would fall back to keyword-only). Naming a mode, like adding ET / OU / SAUF, also keeps a docket number inside an ordinary query instead of resolving it alone. | auto |
| sort | No | Result ordering. Use 'relevance' (default) unless the user wants chronological order. | relevance |
| limit | No | Maximum number of results (default 10). Above 20 the window is clamped, not refused. | |
| query | Yes | French query, the primary input. Two regimes — pick the right tool for the job: (a) Natural language or descriptive keywords for legal-issue searches; the engine handles synonyms and reformulations. Examples: « responsabilité hôpital infection nosocomiale » ; « étranger malade soins inaccessibles dans son pays d'origine » ; « licenciement discrimination syndicale charge de la preuve ». (b) Quoted exact phrases and ET / OU / SAUF operators for a named entity (company, municipality, person), a precise legal formula, or the direction of a holding: semantic matching ignores negations (« n'est pas X » ranks like « est X »), and only an exact phrase targets which way the court ruled. Examples: « "Société Générale" » ; « "commune de Saint-Denis" SAUF Réunion » ; « "force majeure" ET épidémie ». Using operators or quotes switches the engine to keyword-only matching for the whole query (no synonyms), so do not mix the two regimes: a quoted phrase followed by free words requires every one of them in the same decision. (c) A docket number or a decision name takes neither quotes nor operators: « 21PA01295 », « n° 19-20.682 », « arrêt Danthony » are matched by an exact key, whatever the spelling, and quoting them only costs the recovery that catches a miss. | |
| office | No | Filter by specialised judge/office (JLD, JAF, JCP, JEX, juge des enfants, premier président, magistrat désigné). Absent value = ordinary bench. | |
| chamber | No | Restrict to one or more chambers, as a composite key "<court>|<chamber>" where <court> is a jurisdiction_code (e.g. "ca_paris|C3", "cc|C2", "cc|SOCIALE"). The court prefix is required: a chamber key names a different chamber in each court, "C1" alone existing in about 200 of them. The chamber part is slots joined by a dot, in the order they render: tag P (pôle), SC (section holding chambers), C (chambre), S (section), L (lettered section), Q (sous-sections réunies) or R (chambres réunies), then its number or letter. So "P5.C6" is pôle 5, 6e chambre, "C5.LA" section A of the 5th, "CD" chambre D, "R3-8" chambres 3/8 réunies (numbers in a reunited list always ascending). A chamber that no coordinate positions is keyed by what it judges instead ("cc|SOCIALE", "cc|CRIMINELLE"). facets.chamber lists the pairs present, and only once jurisdiction_code narrows the search to one or more courts. | |
| date_to | No | Latest decision date, inclusive (YYYY-MM-DD). | |
| solution | No | Filter by the ruling of the operative part (référentiel solution). REJET / IRRECEVABILITE / DESISTEMENT / NON_LIEU_A_STATUER are procedural or negative endings; CONFIRMATION / INFIRMATION* / REFORMATION are appeal outcomes; CASSATION* is cassation-specific; ANNULATION covers administrative annulment; SATISFACTION_TOTALE / SATISFACTION_PARTIELLE cover first-instance civil rulings granting the claim. | |
| ai_rerank | No | When enabled (default), reorders results by actual relevance to the query using an LLM reranker. Keep on for agentic use — shortlist quality is significantly higher. Cost: a few seconds of extra latency. Disable only for high-rate exploratory searches where latency matters more than ranking quality. | |
| date_from | No | Earliest decision date, inclusive (YYYY-MM-DD). | |
| procedure | No | Filter by procedural track (référés, QPC, EU referral, révision, tierce opposition…). Absent value = ordinary contentious procedure. | |
| publication | No | Filter by publication, at the grain the Cour de cassation itself uses (any-of, membership is multiple: a decision matches every value whose code it carries). Judicial order: PUBLIE_BULLETIN, PUBLIE_RAPPORT (annual report, the strongest signal), LETTRE_CHAMBRE, COMMUNIQUE, INEDIT_BULLETIN. Administrative order: PUBLIE_LEBON, MENTIONNE_LEBON, INEDIT_LEBON. Lower courts carry no publication statement and match no value. | |
| legal_domain | No | Filter by legal domain (curated domain tree): 9 roots and their leaves (e.g. CIVIL_DROIT_LOCATIF). Selecting a root also matches all its leaves. | |
| legal_article | No | Restrict to decisions citing a specific article of a specific code, as a composite key "<instrument>|<article>" where <instrument> is a slug or an exact text name, resolved like legal_instrument (e.g. "code-civil|1240", "code-de-justice-administrative|L761-1"). The instrument prefix is required — the same article number exists in several codes. | |
| legal_instrument | No | Restrict to decisions citing one or more given codes or statutes. Accepts a slug from facets.legal_instrument (e.g. "code-civil") or an exact text name resolved server-side (e.g. "Code civil"). | |
| jurisdiction_code | No | Restrict to one or more precise court units by referential code. Code shapes: "cc" (Cour de cassation), "ce" (Conseil d'État), "cnda", "cedh", "cjue"; "ca_<city>", "caa_<city>", "ta_<city>", "tj_<city>", "tcom_<city>" (e.g. "ca_paris", "ta_marseille", "tj_paris", "tcom_lyon"). When unsure, guess with the city name in the code: the error names the nearest valid ones. Each code is a court; the chamber inside it is a separate filter (see chamber); use jurisdiction_type for the broad category. | |
| jurisdiction_type | No | Restrict to one or more court categories: TJ (tribunal judiciaire), CA (cour d'appel), CC (Cour de cassation), TCOM (tribunal des activités économiques), TA (tribunal administratif), CAA (cour administrative d'appel), CE (Conseil d'État), CNDA (asylum), CONSTIT (Conseil constitutionnel), TC (Tribunal des conflits), CNIL (sanctions), CEDH and CJUE (European courts). | |