Skip to main content

Record ids

Every record has a permanent public id:
It is tm_, the register code, _, and an opaque uid. The uid alone is not unique across registers; the full id is. Ids match ^tm_[A-Z]{2,4}_[A-Za-z0-9._-]{1,128}$. A malformed id gets 400 invalid-request; a well-formed id that does not exist gets 404 not-found.
  • Store the id as the key of your copy of a record, and use it for retrieve, batch retrieve and upserts from the changes feed.
  • Do not parse the uid. Its format differs between registers and carries no meaning.

Office numbers

identifiers.application_number and identifiers.registration_number are returned exactly as the office writes them, for example 48000 in Andorra or AL/T/2026/001305 in Albania. To look a record up by number, filter on application_number, registration_number, or number (either one). Each value is matched exactly in three forms: as you send it, upper-cased, and upper-cased with spaces removed, so va 2026 00923 finds VA 2026 00923. You can send up to 100 numbers in one request.
A number lookup always returns a list. Offices reuse numbers across series and years, and the same number exists in many registers, so:
  • always pass jurisdiction with a number lookup;
  • expect more than one result, and pick the right record by the application date or the mark;
  • store the id once you have matched a record, and stop looking it up by number.
Send numbers in the office’s own format, including spaces, slashes and leading zeros. Pinakel does not otherwise reformat numbers, so AL/T/2026/001305 and 001305 are different values, and VA202600923 does not find VA 2026 00923.

International registration numbers

identifiers.international_registration_numbers lists the Madrid international registration numbers linked to a record. The international_registration_number filter finds every record carrying a given number, in every register: the international registration in WO and its designations in national registers.

Priority claims

identifiers.priority_claims lists each claim as {number, country, date}. country is an ISO 3166-1 alpha-2 code where it can be resolved. The priority_number filter finds every record claiming a given priority number, which links filings in different countries that share one first filing.

Designated countries

designated_countries lists ISO country codes designated under the Madrid system, where the register records them. Filter with designated_country. See Data quality for a known gap in the WO register.

Other ids

Change ids identify one delivery of one record change. The same record appears again, with a new change id, each time it changes.