Three terms
A rule is the official text. A requirement is what that text asks of a filer. Rule 3.1113 is one rule; its page limits are separate requirements.
Why teams use rulebooks
- Open a rule from a citation. A docketing tool that sees “rule 3.1113” in a motion can show the official text and link to the official page.
- Cite the rule behind a limit. Show a filer that a 15-page limit comes from Rule 3.1113(d), next to any limit a judge adds.
- Search a rulebook by topic. Find every rule whose number, heading or text mentions a word, such as “memorandum”.
- Keep a stored copy current. A rule’s
revision_idchanges whenever the rule does, so a stored copy can be checked against it.
How a rulebook relates to courts
Every rulebook has ascope:
statewide: applies across one state. The California Rules of Court is statewide. It applies in the state’s courts without naming them, sogoverned_court_idsis empty, and a rule’s own text says which courts it covers.court: applies in the courts listed ingoverned_court_ids, such as one court’s local rules.national: applies across the country.
jurisdiction and scope. Find a court’s own rulebooks with district_id, which matches only the courts a rulebook names.
No layering yet. The API does not combine a rulebook with a court’s rules, a judge’s rules or another rulebook. /rules and /extracted-rules?district_id=... return what they returned before, and they do not include the California Rules of Court. /check does not use rulebooks. To see a judge’s rules and the statewide rules together, call both and combine them yourself.
Read a rulebook in four calls
The examples read Rule 3.1113 of the California Rules of Court. They are shortened where a response is long.1. Find the rulebook
GET /api/v1/rulebooks lists the rulebooks you can read. Filter by jurisdiction, scope, district_id or words in the name with q. Read one rulebook by id with GET /api/v1/rulebooks/{rulebook_id}.
rule_count counts the rules in force that the official source still lists. last_checked_at is when we last read the official source.
2. Search its rules
GET /api/v1/rulebooks/{rulebook_id}/rules lists a rulebook’s rules in book order, without their text. Search the number, heading and text with q, filter with legal_status and has_requirements, and page with limit and offset.
3. Read one rule
GET /api/v1/rulebooks/{rulebook_id}/rules/{number} returns one rule with its official text. The number is the rulebook’s own, URL-encoded, and must match exactly.
4. Read the rule’s requirements
GET /api/v1/extracted-rules with rulebook_id and rule_number returns the requirements read from that rule. Each result names the rulebook rule it came from. The example asks for the page limits, one per page.
meta.next_offset for the rest.
Behavior details
- Numbers match exactly. A rule number is the rulebook’s own, without the word Rule, and matches as printed:
3.1113,4:46-2,21a.21aand21Aare different rules, and3.111does not find3.1113. URL-encode numbers that hold spaces or slashes. A number with a space at either end, two spaces in a row, a control character, or more than 40 characters is a 400. - Two forms of the text.
blockskeeps the structure: items with their labels and headings, paragraphs, tables, and notes.plain_textis the operative text as lines, in order, with item labels. - Notes are not rule text. History lines and committee comments arrive in
blocksasnoteblocks. They are left out ofplain_text, left out of search, and no requirement is read from them. - Status.
legal_statusisin_force,repealedorreserved. Repealed and reserved rules usually carry only a history note, so theirplain_textis empty and theirextraction_statusisskipped. - Removed rules.
removed: truemeans the official source no longer lists the rule. It keeps the heading, status and text it had when it was last listed, has no requirements, and is not inrule_count. - Requirements and
extraction_status.requirement_countis the number of results/extracted-rulesreturns for the rule.extraction_statussays whether the count is final:succeededmeans the text was read (0 means it states none of the requirements that are read, as with a definition or a rule about mediators or court staff; the text is still in the rule),pendingmeans it has not been read yet,failedmeans reading did not work, andskippedmeans there is nothing to read. - One version at a time. A rule’s
revision_idnames the version of the rule you are looking at. The requirements of a rule carry the same id inrulebook_rule.revision_id. If the two differ, the rule changed between your calls: read it again. - Order. Rules come in book order. Requirements come ordered by rule number as text, then by id. The order is stable between calls but is not book order, so use the rule list for book order.
- Citations. Rule text is not paginated, so
citation_sourceon a rulebook requirement never carries a page number. Cite withrulebook_rule.citationand linkrulebook_rule.site_url.
Errors and limits
Rulebook calls count against your daily rows like other calls: a list counts one row per item returned, and one rulebook or one rule counts as one row, however long its text. See Rate limits.
Common mistakes
- Sending
Rule 3.1113orrule-3.1113. Send the number alone:3.1113. - Reading
requirement_count: 0as “no requirements”. Checkextraction_statusfirst.pendingandfailedalso show 0. - Looking for the California Rules of Court by court. Statewide rulebooks name no courts. Use
jurisdiction=CA&scope=statewide. - Expecting a judge’s rules to include the rulebook. Rulebooks are not merged into
/rulesor into/extracted-rules?district_id=.... - Treating notes as the rule. Read
plain_text, or skipnoteblocks inblocks. - Sorting requirements by position.
/extracted-rulesdoes not return book order. Look up each rule’s place with the rule list.