Skip to main content
A docketing system tracks marks by jurisdiction and office number. This guide links each docket entry to a Pinakel record once, then keeps the records current so that status changes, new dates and ownership changes become docket events.

1. Match docket entries to records

Look up each entry by number within its register. Up to 100 numbers fit in one request:
Python
Then decide per entry:
  • One match: store its id on the docket entry.
  • Several matches: offices reuse numbers. Compare dates.application and mark.text with the docket entry, and ask a person when they do not settle it.
  • No match: check the number format against a record from the same office, check the register’s coverage in GET /v1/jurisdictions (earliest_application_year), and keep the entry for manual review.
From then on, use the id. Ids are permanent; numbers are not unique.

2. Load the full records

Fetch full records 100 ids at a time with batch retrieve:
Python
Ids under unavailable belong to a register that is reloading, or to a record that cannot be assembled right now: retry them on the next run. Ids under not_found no longer exist; flag them for review.

3. Keep the records current

There are two ways, and the cheaper one depends on the size of your docket and how busy its registers are. You can mix them: follow the feed for quiet registers and poll ids in the busy ones.

4. Turn changes into docket events

A new version of a record is not necessarily a docket event: register reloads and processing changes republish records with nothing visible changed (see How records change). Compare the fields that drive your docket with your stored copy, and raise an event only when one of them differs:
Python
Name keys can change when Pinakel improves normalization. When an owner change shows the same name under a new name_key, it is not a change of ownership.

5. Check against the office before you act

Status mappings and dates come from each office’s own publications, with the delays described in Coverage & freshness. Treat a docket event from the API as a prompt to confirm with the office, especially for deadlines.

Removed records

Records that an office deletes are not announced in v1. Running the id poll weekly, even if you follow the feed, catches them as not_found.