Skip to main content
GET
/
v1
/
trademarks
/
{id}
/
source
Trademark Source
curl --request GET \
  --url https://api.signa.so/v1/trademarks/{id}/source \
  --header 'Authorization: Bearer <token>'
{
  "object": "trademark_source",
  "trademark_id": "tm_abc123",
  "office_code": "uspto",
  "observed_at": "2026-04-09T03:18:42Z",
  "source_format": "xml_dtd",
  "source_response_type": "daily_bulk",
  "source_locator": "apc20260408-20260408-01.zip",
  "payload_hash": "sha256:8f2a..."
}

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.

Overview

Returns provenance metadata for the latest raw-record version of a trademark: which office produced the data, when Signa observed it, the source format, and a content hash. Use this for auditing data lineage, verifying freshness, or proving where a particular field value originated. When no raw-record version is available (e.g. for bulk-backfilled marks ingested before raw-payload capture was enabled), the endpoint falls back to the source metadata stored directly on the trademark record. In that case the response is still 200 OK but uses a reduced field set — source_format is synthesized as bulk_xml, source_response_type is null, and source_locator may be null. Clients should tolerate these reduced values rather than treating the response as an error. The endpoint only returns 404 when the trademark itself does not exist. This endpoint returns a single record. There is no pagination.

Path Parameters

id
string
required
Trademark ID (tm_...).

Response

object
string
Always trademark_source.
trademark_id
string
Echo of the requested trademark ID.
office_code
string
Lowercase office code (e.g. uspto, euipo).
observed_at
string
ISO 8601 timestamp when Signa fetched and parsed this version of the source record.
source_format
string
Source data format (e.g. xml_st96, xml_dtd, json).
source_response_type
string
Provider response classification, when known (e.g. daily_bulk, tsdr_api, weekly_zip).
source_locator
string
Reference back to the originating file or URL (e.g. bulk file name, API endpoint path). May be null for legacy records.
payload_hash
string
SHA-256 hash of the raw payload, used for change detection and de-duplication.
{
  "object": "trademark_source",
  "trademark_id": "tm_abc123",
  "office_code": "uspto",
  "observed_at": "2026-04-09T03:18:42Z",
  "source_format": "xml_dtd",
  "source_response_type": "daily_bulk",
  "source_locator": "apc20260408-20260408-01.zip",
  "payload_hash": "sha256:8f2a..."
}

Code Examples

curl "https://api.signa.so/v1/trademarks/tm_abc123/source" \
  -H "Authorization: Bearer sig_YOUR_KEY_HERE"

Errors

StatusTypeDescription
400validation_errorInvalid trademark ID format
401unauthorizedMissing or invalid API key
404not_foundTrademark not found (the endpoint falls back to trademark-record metadata when no raw-record version exists — it does not 404 for that case)
429rate_limitedToo many requests
See Errors for the full envelope.