Cast Office Votes
Offices
Cast Office Votes
Vote for trademark offices you want on Signa
POST
Cast Office Votes
Overview
Tell us which trademark offices your organization wants covered next — votes directly drive our coverage roadmap. Vote for as many offices as you like: each office counts once per organization, no matter how many times (or through how many API keys) you vote, so re-votes are harmless no-ops. The office-vote endpoints are the one write surface in the reference-data section —POST and DELETE both take the usual write ceremony: an Idempotency-Key header is required, and the request counts against the write rate bucket (responses carry the standard RateLimit-* headers).
Voting is free — POST and DELETE bill 0 units. Reading your votes back with List Office Votes bills 1 read unit.
Retrying with the same Idempotency-Key replays the cached response of that attempt; a new logical attempt — re-casting a vote you previously retracted, say — needs a fresh key. Either way the once-per-org, once-per-office counting is enforced server-side, so a fresh key can never double-count you.
Votable codes
Office codes are WIPO ST.3 two-letter codes. You can vote for:- Any ISO 3166-1 country code —
BR,MX,IN, … (UKis accepted and canonicalized toGB,ELtoGR). - Intergovernmental offices with no ISO country code:
BX(Benelux/BOIP),AP(ARIPO),OA(OAPI) — plusXK(Kosovo — ST.3-assigned, no ISO code), which is a national office rather than an IGO but is votable on the same footing. - Legacy lowercase office codes are accepted as aliases and canonicalized —
ukipo→GB,dpma→DE.
- Offices already covered by Signa — including
EM(EUIPO) andWO(WIPO), which are covered today. Voting for one returns400with anoffice_already_liveerror entry. (List Offices shows the offices currently serving data — an office that is covered but temporarily offline is absent from it, yet still not votable, so the rejection is the authoritative answer.) A dependent territory has no register of its own, so it resolves through the office that registers its marks —PR/GU→ USPTO,RE/GF→ INPI-FR,SJ→ NIPO,CX/CC/NF→ IP Australia — and a vote for it is a vote for that parent office: rejected as already covered when the parent is covered, otherwise stored under the parent’s code. - Codes with no trademark register of their own — uninhabited or non-filing territories such as
AQ(Antarctica),BV,HM,TF,GS,IO,UM, andPN. These return400with ano_trademark_registererror entry: there is nothing to connect, so there is nothing to vote for.
Body Parameters
string[]
required
Office codes to vote for (1–50). Any case; aliases are canonicalized. Codes your organization already voted for are no-ops.
Response
A list of the stored votes for every requested code — newly cast or pre-existing alike.created_at is when your organization first voted for that office.
string
Always
list.object[]
boolean
Always
false — the votable vocabulary is bounded, so results are a single page.Code Examples
Errors
Every rejected code comes back as its own entry in
errors[], each with field: "office_codes" and one of the codes above.
Related Endpoints
- List Office Votes, read your organization’s votes back
- Retract Office Vote, remove a vote
- List Offices, the offices already covered by Signa