Skip to main content
Every trademark office uses its own status codes. The USPTO has 167+ numeric codes. EUIPO uses 18 uppercase strings. CIPO has 10 text-based codes. Signa normalizes all of these into a unified 4-axis status taxonomy.

The Four Axes

Every trademark status in Signa is described by four independent dimensions:
AxisFieldPurpose
Primarystatus.primaryHigh-level classification (3 values + unknown)
Stagestatus.stageWhere in the lifecycle the mark is (18 values)
Reasonstatus.reasonWhy the mark reached its current state (9 values)
Challengesstatus.challengesActive legal proceedings (6 values, array)
This multi-axis approach means you can filter with precision. A mark can be active + registered + null reason + [opposition_pending] — meaning it is still active but has a pending challenge.

Primary Status

The broadest classification. Every mark falls into one of:
ValueMeaning
pendingApplication in progress, not yet registered
activeRegistration is alive and in force
inactiveRegistration is dead (cancelled, expired, abandoned, etc.)
unknownStatus could not be determined

Status Stage (18 values)

The specific lifecycle position: Pending stages:
StageDescription
filedApplication received, not yet examined
examiningUnder examination by the office
pending_publicationApproved, awaiting publication
publishedPublished in the official gazette
opposition_periodPublication period for opposition is open
pending_oppositionAn opposition has been filed and is under review
pending_cancellationA cancellation action has been filed
pending_issuanceApproved, awaiting formal issuance
allowedAllowed (US-specific: Notice of Allowance issued)
Active stages:
StageDescription
registeredActive registration, in force
Inactive stages:
StageDescription
abandonedApplicant failed to respond or gave up
withdrawnApplicant voluntarily withdrew
surrenderedRegistrant voluntarily surrendered
refusedOffice refused registration
cancelledRegistration cancelled (by office or third party)
invalidatedRegistration declared invalid
expiredRegistration expired (not renewed)
Fallback:
StageDescription
unknownCould not be mapped

Status Reason (9 values)

Why the mark reached an inactive state. Only populated for inactive marks:
ValueExample Scenario
refusedOffice examiner refused the application
withdrawnApplicant withdrew the application
abandonedApplicant failed to respond to an office action
cancelledRegistration cancelled by office or via proceeding
invalidatedRegistration declared invalid after challenge
expiredRegistrant did not renew
surrenderedRegistrant voluntarily surrendered the registration
revokedRegistration revoked (EU-specific)
otherReason does not fit standard categories

Challenge States (6 values)

Active legal proceedings. This is an array because a mark can face multiple simultaneous challenges:
ValueDescription
opposition_pendingAn opposition has been filed
cancellation_pendingA cancellation proceeding is pending
invalidation_pendingAn invalidation action is pending
appeal_pendingAn appeal is pending
court_pendingA court proceeding is pending
other_pendingAnother type of challenge is pending

Status Transitions

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 connector maps raw office codes to the canonical taxonomy. Here are examples from major offices:

USPTO (167+ codes)

Raw CodeRaw LabelStage
100New Application - Record Initializedfiled
161Abandoned - Failure to Respondabandoned
600Abandoned - After Examiner’s Amendmentabandoned
681Published for Oppositionpending_publication
688Notice of Allowance - Issuedallowed
800Registered and Renewedregistered
900Expiredexpired

EUIPO (18 codes)

Raw CodeStage
RECEIVEDfiled
UNDER_EXAMINATIONexamining
APPLICATION_PUBLISHEDpending_opposition
REGISTEREDregistered
WITHDRAWNwithdrawn
REFUSEDrefused
CANCELLEDcancelled
EXPIREDexpired

WIPO

Event TypeStage
BIRTHfiled (new designation)
PROCESSEDregistered (protection granted)
DEATHcancelled
PROLONGregistered (renewed)

Additional Status Fields

Beyond the four axes, the status object includes metadata:
FieldDescription
status.effective_dateWhen the status last changed
status.sourceHow the status was determined: explicit, event_derived, dispatch_derived, computed
status.raw_codeThe office’s original status code
status.raw_labelThe office’s original status text

Filtering by Status

Use any combination of the four axes to filter trademarks:
# All active, registered marks
curl -s "https://api.signa.so/v1/trademarks?status_primary=active&status_stage[]=registered" \
  -H "Authorization: Bearer sig_live_xxx"

# All marks with pending challenges
curl -s "https://api.signa.so/v1/trademarks?challenge_states[]=opposition_pending" \
  -H "Authorization: Bearer sig_live_xxx"

# All abandoned or withdrawn marks
curl -s "https://api.signa.so/v1/trademarks?status_stage[]=abandoned&status_stage[]=withdrawn" \
  -H "Authorization: Bearer sig_live_xxx"

Search Aggregations

The search endpoint returns aggregation counts for status_stage:
curl -s -X POST https://api.signa.so/v1/trademarks/search \
  -H "Authorization: Bearer sig_live_xxx" \
  -H "Content-Type: application/json" \
  -d '{
    "query": "SIGNA",
    "options": { "aggregations": ["status_stage"] }
  }'

Practical Scenarios

Filter for marks with a cancellation challenge:
GET /v1/trademarks?status_primary=active&challenge_states[]=cancellation_pending
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.
If a connector encounters an unmapped raw code, it sets status_stage to unknown and populates raw_code and raw_label so you can still see the original office data. Unknown codes are logged and added to the mapping in subsequent releases.
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.