> ## Documentation Index
> Fetch the complete documentation index at: https://docs.signa.so/llms.txt
> Use this file to discover all available pages before exploring further.

# Get Trademark

> Retrieve a single trademark by ID

## Path Parameters

<ParamField path="id" type="string" required default="tm_019d14a7-efb6-754c-9a96-14f64baadc44">
  Trademark ID (e.g., `tm_019d14a7-efb6-754c-9a96-14f64baadc44`)
</ParamField>

## Response

Returns the full detail-tier representation of a trademark, including all bounded children
(owners, attorneys, classifications, etc.) inline. Unbounded children (events, proceedings)
appear as counts only.

<ResponseField name="id" type="string">Prefixed trademark ID (`tm_*`)</ResponseField>
<ResponseField name="object" type="string">Always `"trademark"`</ResponseField>

<Expandable title="Mark identification">
  <ResponseField name="mark_text" type="string | null">Word mark as filed (null for design-only marks)</ResponseField>
  <ResponseField name="mark_text_language" type="string | null">ISO 639-1 language code of the mark text</ResponseField>
  <ResponseField name="mark_text_script" type="string | null">ISO 15924 script code</ResponseField>
  <ResponseField name="mark_feature_type" type="string | null">Mark feature type (e.g., `word`, `figurative`, `combined`)</ResponseField>
  <ResponseField name="mark_legal_category" type="string | null">Legal category (e.g., `standard`, `certification`, `collective`)</ResponseField>
  <ResponseField name="right_kind" type="string">Right kind (`trademark`, `trade_name`, `geographical_indication`, etc.)</ResponseField>
  <ResponseField name="is_series_mark" type="boolean | null">Whether the mark is a series mark</ResponseField>
  <ResponseField name="series_count" type="integer | null">Number of marks in the series</ResponseField>
</Expandable>

<Expandable title="Status">
  <ResponseField name="status" type="object">
    <Expandable title="Status object">
      <ResponseField name="primary" type="string">Primary status: `active`, `pending`, `inactive`, `unknown`</ResponseField>
      <ResponseField name="stage" type="string">Lifecycle stage: `filed`, `examined`, `published`, `registered`, `renewed`, `abandoned`, `cancelled`, `expired`</ResponseField>
      <ResponseField name="reason" type="string | null">Reason for current status (e.g., `section_8_accepted`)</ResponseField>
      <ResponseField name="challenges" type="string[]">Active challenge states (e.g., `opposition_pending`, `cancellation_pending`)</ResponseField>
      <ResponseField name="effective_date" type="string | null">ISO date when this status became effective</ResponseField>
      <ResponseField name="source" type="string">How the status was determined: `office_code`, `event_history`, `inferred`</ResponseField>
      <ResponseField name="raw_code" type="string | null">Office-native status code (e.g., `800`)</ResponseField>
      <ResponseField name="raw_label" type="string | null">Office-native status label (e.g., `Registered and renewed`)</ResponseField>
    </Expandable>
  </ResponseField>
</Expandable>

<Expandable title="Office and filing">
  <ResponseField name="office_code" type="string">Office code (e.g., `uspto`, `euipo`)</ResponseField>
  <ResponseField name="jurisdiction_code" type="string">ISO 2-letter jurisdiction (e.g., `US`, `EU`)</ResponseField>
  <ResponseField name="filing_route" type="string">Filing route (`direct_national`, `madrid_designation`, etc.)</ResponseField>
  <ResponseField name="scope_kind" type="string">Scope kind (`national`, `regional`, `international`)</ResponseField>
  <ResponseField name="origin_office_code" type="string | null">Origin office for Madrid designations</ResponseField>
  <ResponseField name="source_primary_id" type="string">Source system primary identifier</ResponseField>
  <ResponseField name="application_number" type="string | null">Application/serial number</ResponseField>
  <ResponseField name="registration_number" type="string | null">Registration number</ResponseField>
  <ResponseField name="ir_number" type="string | null">International registration number (Madrid system)</ResponseField>
</Expandable>

<Expandable title="Key dates">
  <ResponseField name="filing_date" type="string | null">ISO date</ResponseField>
  <ResponseField name="registration_date" type="string | null">ISO date</ResponseField>
  <ResponseField name="expiry_date" type="string | null">ISO date</ResponseField>
  <ResponseField name="expiry_date_basis" type="string">Basis for expiry date calculation</ResponseField>
  <ResponseField name="renewal_due_date" type="string | null">ISO date</ResponseField>
  <ResponseField name="publication_date" type="string | null">First publication date (ISO)</ResponseField>
  <ResponseField name="priority_date" type="string | null">Earliest priority date (ISO), derived from priority claims</ResponseField>
  <ResponseField name="termination_date" type="string | null">ISO date</ResponseField>
  <ResponseField name="protection_effective_date" type="string | null">ISO date</ResponseField>
  <ResponseField name="designation_date" type="string | null">ISO date (Madrid designations)</ResponseField>
  <ResponseField name="dependency_period_end_date" type="string | null">ISO date (Madrid dependency period)</ResponseField>
  <ResponseField name="transformation_deadline_date" type="string | null">ISO date</ResponseField>
</Expandable>

<ResponseField name="is_retracted" type="boolean">Whether the record has been retracted by the source office</ResponseField>

<Expandable title="Owners">
  <ResponseField name="owners" type="object[]">
    <Expandable title="Owner object">
      <ResponseField name="id" type="string">Owner ID (`own_*`)</ResponseField>
      <ResponseField name="name" type="string">Canonical owner name</ResponseField>
      <ResponseField name="country_code" type="string | null">ISO 2-letter country code</ResponseField>
      <ResponseField name="entity_type" type="string | null">Entity type (e.g., `corporation`, `individual`)</ResponseField>
      <ResponseField name="role" type="string">Owner role (e.g., `owner`, `applicant`)</ResponseField>

      <ResponseField name="address" type="object | null">
        Postal address as reported by the office. All fields optional; whole object is `null` when no address is on file.

        <Expandable title="Address object">
          <ResponseField name="lines" type="string[]">Street address lines</ResponseField>
          <ResponseField name="city" type="string">City</ResponseField>
          <ResponseField name="state" type="string">State / region / province</ResponseField>
          <ResponseField name="postal_code" type="string">Postal or ZIP code</ResponseField>
          <ResponseField name="country_code" type="string">ISO 2-letter country code</ResponseField>
        </Expandable>
      </ResponseField>
    </Expandable>
  </ResponseField>
</Expandable>

<Expandable title="Attorneys">
  <ResponseField name="attorneys" type="object[]">
    <Expandable title="Attorney object">
      <ResponseField name="id" type="string">Attorney ID (`att_*`)</ResponseField>
      <ResponseField name="name" type="string">Canonical attorney name</ResponseField>
      <ResponseField name="firm_id" type="string | null">Firm ID (`firm_*`)</ResponseField>
      <ResponseField name="firm_name" type="string | null">Firm name</ResponseField>
      <ResponseField name="role" type="string">Attorney role (e.g., `representative`)</ResponseField>

      <ResponseField name="address" type="object | null">
        Postal address as reported by the office. All fields optional; whole object is `null` when no address is on file. Same shape as the owner `address` object.
      </ResponseField>
    </Expandable>
  </ResponseField>
</Expandable>

<Expandable title="Classifications">
  <ResponseField name="classifications" type="object[]">
    <Expandable title="Classification object">
      <ResponseField name="nice_class" type="integer | null">Nice class number (1--45)</ResponseField>
      <ResponseField name="nice_edition" type="string | null">Nice classification edition</ResponseField>
      <ResponseField name="goods_services_text" type="string | null">Goods/services description</ResponseField>
      <ResponseField name="goods_services_language" type="string | null">Language of the description</ResponseField>
      <ResponseField name="status" type="string | null">Class status</ResponseField>
      <ResponseField name="class_status_raw" type="string | null">Raw class status from the office</ResponseField>
    </Expandable>
  </ResponseField>
</Expandable>

<Expandable title="Deadlines (computed)">
  <ResponseField name="deadlines" type="object[]">
    Computed deadlines based on jurisdiction rules and the mark's lifecycle dates.

    <Expandable title="Deadline object">
      <ResponseField name="type" type="string">Deadline type (e.g., `renewal`, `declaration_of_use`)</ResponseField>
      <ResponseField name="name" type="string">Human-readable deadline name</ResponseField>
      <ResponseField name="due_date" type="string">ISO date when the deadline is due</ResponseField>
      <ResponseField name="grace_expiry" type="string | null">ISO date when the grace period ends</ResponseField>
      <ResponseField name="window_opens" type="string | null">ISO date when the filing window opens</ResponseField>
      <ResponseField name="jurisdiction_code" type="string">Jurisdiction this deadline applies to</ResponseField>
      <ResponseField name="status" type="string">Deadline status: `upcoming`, `open`, `grace`, `overdue`, `past`</ResponseField>
      <ResponseField name="urgency" type="string">Urgency level: `low`, `medium`, `high`, `critical`</ResponseField>
      <ResponseField name="days_until_due" type="integer">Days until the deadline (negative if overdue)</ResponseField>
      <ResponseField name="consequence_if_missed" type="string">What happens if this deadline is missed</ResponseField>
    </Expandable>
  </ResponseField>
</Expandable>

<Expandable title="Other children">
  <ResponseField name="design_codes" type="object[]">Vienna classification design codes</ResponseField>
  <ResponseField name="text_variants" type="object[]">Alternative text representations of the mark</ResponseField>
  <ResponseField name="statements" type="object[]">Disclaimers, descriptions of mark, etc.</ResponseField>
  <ResponseField name="media" type="object[]">Media files (images, sounds) with URLs. Each media object includes an `id` with the `med_` prefix (e.g. `med_a39b4702-...`), `media_type`, `url`, and `content_type`.</ResponseField>
  <ResponseField name="priority_claims" type="object[]">Convention priority claims</ResponseField>
  <ResponseField name="filing_bases" type="object[]">Filing bases (US-specific: use in commerce, intent to use, etc.)</ResponseField>
  <ResponseField name="publications" type="object[]">Publication history (gazette/journal entries)</ResponseField>
  <ResponseField name="office_extensions" type="object">Office-specific data not captured by the standard schema</ResponseField>
  <ResponseField name="madrid" type="object | null">Madrid system enrichment data (only for international registrations)</ResponseField>
</Expandable>

<Expandable title="Counts and metadata">
  <ResponseField name="has_media" type="boolean">Whether the mark has any media files</ResponseField>
  <ResponseField name="events_count" type="integer">Total number of events (fetch via `/v1/trademarks/{id}/history`)</ResponseField>
  <ResponseField name="proceedings_count" type="integer">Total number of proceedings</ResponseField>
  <ResponseField name="coverage_count" type="integer">Total number of coverage entries</ResponseField>
  <ResponseField name="relationships_count" type="integer">Total number of relationships</ResponseField>

  <ResponseField name="data_freshness" type="object">
    <Expandable title="Data freshness">
      <ResponseField name="source_data_date" type="string | null">Date of the source data file</ResponseField>
      <ResponseField name="source_format" type="string | null">Format of the source data</ResponseField>
      <ResponseField name="last_updated_at" type="string">ISO timestamp of last update in Signa</ResponseField>
    </Expandable>
  </ResponseField>

  <ResponseField name="created_at" type="string">ISO timestamp</ResponseField>
  <ResponseField name="updated_at" type="string">ISO timestamp</ResponseField>
</Expandable>

<ResponseField name="request_id" type="string">Unique request identifier</ResponseField>

<ResponseExample>
  ```json theme={null}
  {
    "id": "tm_019d14a7-efb6-754c-9a96-14f64baadc44",
    "object": "trademark",
    "mark_text": "COCA-COLA",
    "mark_text_language": null,
    "mark_text_script": null,
    "mark_feature_type": "figurative",
    "mark_legal_category": "standard",
    "right_kind": "trademark",
    "is_series_mark": null,
    "series_count": null,
    "status": {
      "primary": "active",
      "stage": "registered",
      "reason": null,
      "challenges": [],
      "effective_date": "2022-09-27",
      "source": "explicit",
      "raw_code": "800",
      "raw_label": null
    },
    "office_code": "uspto",
    "jurisdiction_code": "US",
    "filing_route": "direct_national",
    "scope_kind": "national",
    "origin_office_code": null,
    "source_primary_id": "70022406",
    "application_number": "70022406",
    "registration_number": "0022406",
    "ir_number": null,
    "filing_date": "1892-05-14",
    "registration_date": "1893-01-31",
    "expiry_date": "2033-01-31",
    "expiry_date_basis": "derived",
    "renewal_due_date": "2033-01-31",
    "publication_date": null,
    "priority_date": null,
    "termination_date": null,
    "protection_effective_date": null,
    "designation_date": null,
    "dependency_period_end_date": null,
    "transformation_deadline_date": null,
    "is_retracted": false,
    "owners": [
      {
        "id": "own_019d25f4-431a-72dc-a654-1c1acab5a3c4",
        "name": "Coca Cola Company, The",
        "country_code": null,
        "entity_type": "corporation",
        "role": "owner",
        "address": {
          "lines": ["One Coca-Cola Plaza"],
          "city": "ATLANTA",
          "state": "GA",
          "postal_code": "30313",
          "country_code": "US"
        }
      }
    ],
    "attorneys": [
      {
        "id": "att_019d14a7-efe2-7015-a30c-11ac541fe714",
        "name": "Katelyn Andrews",
        "firm_id": "firm_ba9d8016-635a-4ca7-953c-ceab7e482e30",
        "firm_name": "THE COCA-COLA COMPANY",
        "role": "correspondent",
        "address": {
          "lines": ["One Coca-Cola Plaza"],
          "city": "ATLANTA",
          "state": "GA",
          "postal_code": "30313",
          "country_code": "US"
        }
      }
    ],
    "classifications": [
      {
        "nice_class": 32,
        "nice_edition": null,
        "goods_services_text": null,
        "goods_services_language": null,
        "status": "accepted",
        "class_status_raw": "6"
      }
    ],
    "design_codes": [],
    "text_variants": [],
    "statements": [
      {
        "type": "description",
        "text": "The said trade-mark of said company consists of the word or words \"Coca Cola\".",
        "language_code": null,
        "applies_to_class": null
      }
    ],
    "media": [
      {
        "id": "med_c15633e7-ed08-45d2-8ea0-0de332cae378",
        "media_type": "image",
        "mime_type": "image/png",
        "url": "https://api.signa.so/v1/trademarks/tm_019d14a7-efb6-754c-9a96-14f64baadc44/media/med_c15633e7-ed08-45d2-8ea0-0de332cae378",
        "is_primary": true
      }
    ],
    "priority_claims": [],
    "filing_bases": [
      {
        "basis_type": "use_in_commerce",
        "nice_class_number": 32,
        "first_use_date": "1887-06-28",
        "first_use_in_commerce_date": "1887-06-28",
        "foreign_application_number": null,
        "foreign_country_code": null
      }
    ],
    "publications": [],
    "office_extensions": {
      "register_type": "principal"
    },
    "deadlines": [
      {
        "type": "combined_renewal_and_use",
        "name": "Section 8+9 — Renewal + Declaration of Use",
        "due_date": "2033-01-31",
        "grace_expiry": "2033-07-31",
        "window_opens": "2032-01-31",
        "jurisdiction_code": "US",
        "status": "future",
        "urgency": "routine",
        "days_until_due": 2484,
        "consequence_if_missed": "cancellation_and_expiration"
      }
    ],
    "madrid": null,
    "has_media": true,
    "events_count": 21,
    "proceedings_count": 0,
    "coverage_count": 0,
    "relationships_count": 0,
    "data_freshness": {
      "source_data_date": "2022-10-28",
      "source_format": "dtd_v2",
      "last_updated_at": "2026-03-30T02:13:13.704Z"
    },
    "created_at": "2026-03-22T08:27:23.446Z",
    "updated_at": "2026-03-30T02:13:13.704Z",
    "request_id": "req_01kp4v2yycy3pq3czhxcsmn9md"
  }
  ```
</ResponseExample>
