Prerequisites
- A Signa API key with
trademarks:readscope - Each client’s name as the office records it, plus its owner ID for portfolio lookups (or a list of marks to monitor)
1
Find all proceedings involving your clients
Start by querying proceedings where your client appears as a party, either as the opponent (your client filed the opposition) or the respondent (someone opposed your client’s mark). Match the client by name with If you track marks rather than owners, the same split is available per mark: Expected output:
q: it matches a case-insensitive substring of the party name the office recorded, and with party_role that same party must hold the role. Pick a distinctive part of the name and check parties[] on Get Proceeding before relying on a match, because q matches names only and will not pick up a client’s subsidiaries or former names.When you hold the client’s owner ID,
party_owner_id=<own_…> returns the proceedings where a party is linked to that owner. A link requires the party’s name, company suffix included, to match an owner of the marks in the dispute. Parties without a link (most Canadian and Australian opponents, as they are matched only against the owner of the mark under challenge, and names that match only without a company suffix) are not returned, so keep a q name search for complete coverage.GET /v1/trademarks/{id}/proceedings?trademark_role=contested returns proceedings filed against the mark, and trademark_role=asserted returns the ones its owner filed using that mark as a prior right. Each item carries trademark_role, so a mark on both sides is never ambiguous.2
Get details on the contested marks
For each proceeding, fetch the full trademark detail to understand what is at stake.
3
Surface marks most exposed to opposition
Pull each client’s pending and published marks, the stages most vulnerable to opposition, so you know which applications to watch most closely.
4
Check prosecution history for contested marks
Review the event timeline of a contested mark to understand how the opposition fits into the prosecution history. Events are always returned newest-first by Expected output:
event_date, there is no sort parameter to set.5
Track proceeding outcomes and filter by type
Query proceedings by type and status to build different views of your case docket.
6
Detect proceeding status changes by checking events
Check Trademark Events on each contested mark to catch status transitions. Data updates land daily or weekly depending on the office (see Data Freshness & Coverage), so checking once a day is enough, there is no benefit to polling more often than the underlying data changes. Compare the latest event’s
status_after_event against the value you saw on the previous check.A status change from
pending_opposition to registered means the opposition was resolved in your client’s favor, the mark proceeded to registration. A change to abandoned or refused would indicate the opposite outcome.Proceeding status reference
Monitoring going forward
Checking history daily works, but a watch withtrigger_events: ["trademark.status_changed"] scoped to your clients’ marks pushes an alert the moment the office records a status change, no daily check needed. For marks with a live opposition window, see Opposition windows for the opposition_window_status and must_act_by fields Signa attaches to every alert automatically. Fall back to the daily events check above only if you are not ready to set up watches yet.
What’s next
Trademark Clearance
Run clearance searches to avoid triggering oppositions before you file.
Competitor Intelligence
Track competitor filing patterns to anticipate potential opposition actions.
Renewal Management
Ensure contested marks do not lapse during proceedings by tracking their deadlines.