Skip to main content
The references namespace provides access to the lookup tables and classification systems used across the trademark world. These endpoints are useful for building filter UIs, validating user input, and understanding how Signa normalizes data across offices.

Nice Classifications

The Nice Classification system divides goods and services into 45 classes (1-34 for goods, 35-45 for services).

List All Classes

const classes = await signa.references.classifications();

for (const cls of classes.data) {
  console.log(`Class ${cls.class_number}: ${cls.heading}`);
}

Search Classes

const classes = await signa.references.classifications({ q: 'software' });

Class Detail

Retrieve a single class with its full description:
const class9 = await signa.references.classification(9);

console.log(class9.heading);
console.log(class9.description);

Search Terms

Search the goods & services terms accepted for a specific class:
const terms = await signa.references.classificationTerms(9, {
  q: 'software',
});

for await (const term of terms) {
  console.log(term.term, term.harmonised);
}
Filter for internationally harmonised terms only:
const terms = await signa.references.classificationTerms(9, {
  q: 'computer',
  harmonised_only: true,
});

Offices

Trademark offices that Signa ingests data from.

List All Offices

const offices = await signa.references.offices();

for (const office of offices.data) {
  console.log(office.code, office.name, office.country_code);
  // "uspto", "United States Patent and Trademark Office", "US"
}

Office Detail

const office = await signa.references.office('uspto');

console.log(office.name);
console.log(office.website);
console.log(office.supported_features);
Include the office’s status code mappings (how raw office codes map to Signa’s normalized statuses):
const office = await signa.references.office('uspto', {
  include: ['status_mappings'],
});

for (const mapping of office.status_mappings) {
  console.log(mapping.raw_code, '→', mapping.normalized_status);
}

Jurisdictions

Jurisdictions represent the legal territories where trademarks have effect. A single office may cover multiple jurisdictions (e.g., EUIPO covers all EU member states, WIPO covers Madrid Protocol members).

List All Jurisdictions

const jurisdictions = await signa.references.jurisdictions();

for (const j of jurisdictions.data) {
  console.log(j.code, j.name);
  // "US", "United States"
  // "EU", "European Union"
}

Jurisdiction Detail

const us = await signa.references.jurisdiction('US');

console.log(us.name);
console.log(us.offices);           // offices that cover this jurisdiction
console.log(us.renewal_period);    // renewal cycle info

Deadline Rules

Get the renewal cycles, grace periods, and maintenance deadlines for a jurisdiction:
const rules = await signa.references.deadlineRules('US');

console.log(rules.renewal_period_years);
console.log(rules.grace_period_months);
console.log(rules.maintenance_deadlines);
This is useful for building deadline calculators or understanding when a trademark’s next action is due. The Signa API covers deadline rules for 21 jurisdictions.

Statuses

Signa normalizes the hundreds of raw status codes from different offices into a canonical status system. Use this endpoint to understand the mapping.

List All Statuses

const statuses = await signa.references.statuses();

for (const s of statuses.data) {
  console.log(s.primary, s.stage, s.reason);
}

Filter by Office

See how statuses are used at a specific office:
const usStatuses = await signa.references.statuses({ office: 'uspto' });

Event Types

The event type codes used in trademark prosecution history:
const eventTypes = await signa.references.eventTypes();

for (const et of eventTypes.data) {
  console.log(et.code, et.label, et.description);
}

Vienna Design Codes

The Vienna Classification system categorizes figurative elements (logos, designs) in trademarks.

List Codes

// Top-level categories
const categories = await signa.references.designCodes({ depth: 1 });

// Divisions within a category
const divisions = await signa.references.designCodes({ depth: 2, category: '03' });

Code Detail

Retrieve a specific code with its children:
const code = await signa.references.designCode('03.05');

console.log(code.code);        // "03.05"
console.log(code.description); // "Leaves of trees and plants"
console.log(code.children);    // sub-codes at the next depth level