Key Fields
mark_text: The word mark as filed (may be null for design marks)classifications: Array of goods/services classifications. Each item hasnice_class(1-45) andgoods_services_textdescribing what the mark coversoffice_code: Office where the mark is registered (e.g.,US,EM,WO)filing_route: How the mark was filed:direct_national,madrid_designation,direct_regional, etc.expiry_date,renewal_due_date: The dates the office published,nullwhen it published none (the USPTO publishes no expiry date)derived: Everything Signa computes from the record: the rulebook’s term end (derived.expiry_date), the maintenance schedule (derived.deadlines.items) and the opposition window. Top-level fields are always the office’s own values; computed values are always underderived.
Status Taxonomy
Every trademark office uses its own status codes. The USPTO has 200+ numeric codes. EUIPO uses 18 uppercase strings. CIPO has 30+ text-based codes. Signa normalizes all of these into a unified 4-axis status taxonomy, and always retains the office’s original status alongside it:status.raw carries the office’s code and label ({code, label}, the label verbatim, or null when we hold no verbatim office label for the code, for example USPTO codes today), List Status Codes decodes every office code, and ?include=office_extensions on Retrieve Trademark returns the office-specific fields the standard schema does not model.
The Four Axes
Every trademark status in Signa is described by four independent dimensions:
This multi-axis approach means you can filter with precision. A mark can be
active (primary), registered (stage), with a null reason and [opposition_pending] in challenges: still active but facing a pending challenge.
Primary Status
The broadest classification. Every mark falls into one of:Status Stage (18 values)
The specific lifecycle position: Pending stages:
Active stages:
Inactive stages:
Fallback:
Status Reason (9 values)
Why the mark reached an inactive state. Only populated for inactive marks:Challenge States (6 values)
Active legal proceedings. This is an array because a mark can face multiple simultaneous challenges:Trademark Lifecycle
The diagram shows the most common transitions. Not all edges are shown: some offices allow additional paths (e.g., direct registration without publication in certain jurisdictions).
Office-Specific Mappings
Each office’s raw status codes are mapped to the canonical taxonomy above. Here are examples from major offices:USPTO (200+ codes)
EUIPO (18 codes)
WIPO
Additional Status Fields
Beyond the four axes, the status object includes metadata:Filtering by Status
Use any combination of the four axes to filter trademarks:Search Aggregations
The search endpoint returns aggregation counts forstatus_stage:
Practical Scenarios
How do I find marks that are at risk of cancellation?
How do I find marks that are at risk of cancellation?
Filter for marks with a cancellation challenge:
How do I distinguish between refused and abandoned applications?
How do I distinguish between refused and abandoned applications?
Use
status_stage directly: abandoned means the applicant failed to act, while refused means the office denied the application. The status_reason field provides additional context.What if an office uses a code I haven't seen before?
What if an office uses a code I haven't seen before?
If an unmapped raw code is encountered,
status.stage is set to unknown and status.raw still carries the office’s code and label, so you can see the original office data.Can a registered mark have challenges?
Can a registered mark have challenges?
Yes. A mark can be
registered (stage) with active primary status while simultaneously having cancellation_pending or opposition_pending in the challenges array. The mark remains registered until the challenge is resolved.