Skip to main content
GET
/
v1
/
firms
/
{id}
/
trademarks
Firm Trademarks
curl --request GET \
  --url https://api.example.com/v1/firms/{id}/trademarks
{
  "object": "list",
  "data": [
    {
      "id": "tm_8kLm2nPq",
      "object": "trademark",
      "mark_text": "AURORA",
      "status": { "primary": "active", "stage": "registered" },
      "office_code": "uspto",
      "jurisdiction_code": "US",
      "filing_date": "2023-04-12",
      "registration_date": "2024-09-18",
      "nice_classes": [9, 35, 42],
      "owner_name": "Aurora Digital Inc."
    }
  ],
  "has_more": true,
  "pagination": { "cursor": "eyJpZCI6..." },
  "livemode": true,
  "request_id": "req_xyz"
}

Overview

Returns a paginated list of trademarks where one of the attorneys belongs to the specified firm. Use this for firm-level competitive intelligence, client portfolio sweeps, or auditing prosecution patterns. Results are always sorted by -filing_date (newest first). Every Appendix A filter from the main List Trademarks endpoint is available here. Arrays are comma-separated, date ranges use flat _gte / _lt operators, and booleans must be the literal strings true or false.

Path Parameters

id
string
required
Firm ID (firm_...).

Query Parameters

Pagination

limit
integer
default:"20"
Items per page (1-100).
cursor
string
Pagination cursor from a previous response.

Status filters

status_primary
string
Primary status: active, pending, inactive, unknown.
status_stage
string
Status stage(s), comma-separated.
status_reason
string
Status reason(s), comma-separated.
challenge_states
string
Challenge state(s), comma-separated.

Mark classification

mark_feature_type
string
Mark feature type(s), comma-separated.
Legal category(ies), comma-separated.
right_kind
string
Right kind.
filing_route
string
Filing route(s), comma-separated.
scope_kind
string
Scope kind(s), comma-separated.

Identifiers

application_number
string
Application number. Requires office.
registration_number
string
Registration number. Requires office.
ir_number
string
Madrid international registration number.
office
string
Office code (required with application_number or registration_number).

Geography

jurisdictions
string
Jurisdiction codes, comma-separated.
offices
string
Office codes, comma-separated (e.g. ?offices=uspto,euipo).
owner_country
string
Owner country code (ISO 3166-1 alpha-2).

Classification codes

nice_classes
string
Nice classes 1-45, comma-separated.
vienna_codes
string
Vienna figurative codes, comma-separated.

Date ranges

_gte must be strictly before _lt. Date fields use YYYY-MM-DD; updated_at_* accepts ISO 8601 timestamps.
filing_date_gte
string
Filing date >=.
filing_date_lt
string
Filing date <.
registration_date_gte
string
Registration date >=.
registration_date_lt
string
Registration date <.
expiry_date_gte
string
Expiry date >=.
expiry_date_lt
string
Expiry date <.
renewal_due_date_gte
string
Renewal due date >=.
renewal_due_date_lt
string
Renewal due date <.
publication_date_gte
string
Publication date >=.
publication_date_lt
string
Publication date <.
termination_date_gte
string
Termination date >=.
termination_date_lt
string
Termination date <.
updated_at_gte
string
Updated at >= (ISO 8601).
updated_at_lt
string
Updated at < (ISO 8601).

Entity filters

owner_id
string
Owner ID (own_...).
owner_name
string
Fuzzy owner name match.
attorney_id
string
Attorney ID (att_...).

Boolean flags

has_media
boolean
Marks with media.
has_proceedings
boolean
Marks with proceedings.
is_madrid
boolean
Madrid-routed marks only.
is_retracted
boolean
Retracted marks only.
is_series_mark
boolean
Series marks only.

Response

Returns a list envelope of trademark summary objects.
{
  "object": "list",
  "data": [
    {
      "id": "tm_8kLm2nPq",
      "object": "trademark",
      "mark_text": "AURORA",
      "status": { "primary": "active", "stage": "registered" },
      "office_code": "uspto",
      "jurisdiction_code": "US",
      "filing_date": "2023-04-12",
      "registration_date": "2024-09-18",
      "nice_classes": [9, 35, 42],
      "owner_name": "Aurora Digital Inc."
    }
  ],
  "has_more": true,
  "pagination": { "cursor": "eyJpZCI6..." },
  "livemode": true,
  "request_id": "req_xyz"
}

Code Examples

curl "https://api.signa.so/v1/firms/firm_2kLm9X/trademarks?status_stage=registered&filing_date_gte=2024-01-01&limit=20" \
  -H "Authorization: Bearer sig_live_YOUR_KEY_HERE"

Errors

StatusTypeDescription
400validation_errorInvalid query parameter or date range
401unauthorizedMissing or invalid API key
404not_foundFirm ID does not exist
429rate_limitedToo many requests