curl "https://api.signa.so/v1/proceedings/prc_019f34d6-aaaa-7777-8888-aaaaaaaaaaaa" \
-H "Authorization: Bearer $SIGNA_API_KEY"
{
"id": "prc_019f34d6-aaaa-7777-8888-aaaaaaaaaaaa",
"object": "proceeding",
"trademark_id": "tm_019f34d6-2000-7777-8888-000000000001",
"trademark_role": "contested",
"proceeding_type": "opposition",
"proceeding_number": "91265432",
"status": "decided_granted",
"outcome": "challenger_won",
"duration_days": 231,
"office_code": "US",
"filed_date": "2024-01-18",
"decision_date": "2024-09-05",
"decision_outcome": "Opposition Sustained",
"contested_classes": [9, 42],
"description": "Opposition proceeding",
"created_at": "2024-01-18T10:00:00.000Z",
"updated_at": "2024-09-05T10:00:00.000Z",
"parties": [
{
"owner_id": "own_019f34d6-1111-7777-8888-111111111111",
"name": "Apex Outdoor Group LLC",
"role": "opponent",
"country_code": "US"
},
{
"owner_id": "own_019f34d6-2222-7777-8888-222222222222",
"name": "Meridian Labs Inc.",
"role": "respondent",
"country_code": "US"
}
],
"trademark": {
"id": "tm_019f34d6-2000-7777-8888-000000000001",
"object": "trademark",
"mark_text": "MERIDIAN CORE",
"application_number": "98123456",
"office_code": "US",
"trademark_role": "contested"
},
"trademarks": [
{
"id": "tm_019f34d6-1000-7777-8888-000000000009",
"object": "trademark",
"mark_text": "APEX",
"application_number": "87654321",
"office_code": "US",
"trademark_role": "asserted"
},
{
"id": "tm_019f34d6-2000-7777-8888-000000000001",
"object": "trademark",
"mark_text": "MERIDIAN CORE",
"application_number": "98123456",
"office_code": "US",
"trademark_role": "contested"
}
],
"request_id": "req_xyz"
}
Proceedings
Retrieve Proceeding
Retrieve a single trademark proceeding with parties, classes, and decision metadata
GET
/
v1
/
proceedings
/
{id}
curl "https://api.signa.so/v1/proceedings/prc_019f34d6-aaaa-7777-8888-aaaaaaaaaaaa" \
-H "Authorization: Bearer $SIGNA_API_KEY"
{
"id": "prc_019f34d6-aaaa-7777-8888-aaaaaaaaaaaa",
"object": "proceeding",
"trademark_id": "tm_019f34d6-2000-7777-8888-000000000001",
"trademark_role": "contested",
"proceeding_type": "opposition",
"proceeding_number": "91265432",
"status": "decided_granted",
"outcome": "challenger_won",
"duration_days": 231,
"office_code": "US",
"filed_date": "2024-01-18",
"decision_date": "2024-09-05",
"decision_outcome": "Opposition Sustained",
"contested_classes": [9, 42],
"description": "Opposition proceeding",
"created_at": "2024-01-18T10:00:00.000Z",
"updated_at": "2024-09-05T10:00:00.000Z",
"parties": [
{
"owner_id": "own_019f34d6-1111-7777-8888-111111111111",
"name": "Apex Outdoor Group LLC",
"role": "opponent",
"country_code": "US"
},
{
"owner_id": "own_019f34d6-2222-7777-8888-222222222222",
"name": "Meridian Labs Inc.",
"role": "respondent",
"country_code": "US"
}
],
"trademark": {
"id": "tm_019f34d6-2000-7777-8888-000000000001",
"object": "trademark",
"mark_text": "MERIDIAN CORE",
"application_number": "98123456",
"office_code": "US",
"trademark_role": "contested"
},
"trademarks": [
{
"id": "tm_019f34d6-1000-7777-8888-000000000009",
"object": "trademark",
"mark_text": "APEX",
"application_number": "87654321",
"office_code": "US",
"trademark_role": "asserted"
},
{
"id": "tm_019f34d6-2000-7777-8888-000000000001",
"object": "trademark",
"mark_text": "MERIDIAN CORE",
"application_number": "98123456",
"office_code": "US",
"trademark_role": "contested"
}
],
"request_id": "req_xyz"
}
Credits: 1 per record.
When To Use This
Use this endpoint when you already have a proceeding ID and need the full dispute record for docket review, risk analysis, or client reporting. For example, an IP litigation team can fetch a decided TTAB opposition to see the parties, contested classes, office decision summary, normalized outcome, and how long the case ran. For an end-to-end workflow, see Opposition & Dispute Intelligence. A proceeding on a mark from an office whosecapabilities.proceedings is not available on List Offices is not served and returns 404 not_found.
Path Parameters
string
required
Proceeding ID (
prc_...).Response
string
Proceeding ID (
prc_...).string
Always
proceeding.string | null
The mark this row belongs to (
tm_...). One proceeding has one row per linked mark; see trademarks for all of them.string
Which side
trademark_id is on. contested: the proceeding targets this mark (opposed application, registration under cancellation, appealed application). asserted: the opposer or petitioner pleaded this mark as a prior right.string
Type (
opposition, cancellation, appeal, etc.).string | null
Office-issued proceeding identifier, when available. For CIPO,
proceeding_number is the office’s per-record sequence identifier (1, 2, …), not a Board docket number.string | null
Current status, when available.
string | null
Normalized outcome from the challenger perspective, or
null when not available.| Value | Meaning |
|---|---|
challenger_won | The challenger prevailed, derived from decided_granted. |
challenger_lost | The challenger did not prevail, derived from decided_rejected. |
mixed | The decision was partial or text indicates an in-part disposition. |
settled | The proceeding status is settled. |
withdrawn | The proceeding status is withdrawn. |
default_judgment | The challenger won through a default or procedural failure signal. |
pending | The proceeding is still pending or suspended. |
other | The status is other or does not map to a more specific outcome. Most ended US (TTAB) cases read other, because Signa does not yet read how a terminated TTAB case ended. |
US (TTAB) dates.
filed_date is set on about 99% of US oppositions and cancellations, loaded from the USPTO TTAB bulk feed. Ex parte appeals do not carry a filing date yet. decision_date is set on only a small share of US rows, so duration_days is usually null for TTAB rows. Treat a null date as “not yet loaded”, not “unknown to the USPTO”.integer | null
Number of days between
filed_date and decision_date. null when either date is missing.string | null
Uppercase WIPO ST.3 office code for the parent trademark (e.g.
US, EM), when available.string | null
ISO date the proceeding was initiated, when available.
string | null
ISO date of decision when concluded, when available.
string | null
Outcome string when decided.
object[]
Array of parties. Each has
owner_id, name, role (opponent, petitioner, respondent, intervener, other), and country_code. owner_id is the owner Signa linked the party to, reported as its current owner record (if that owner has since been merged into another, the surviving owner), or null when the party is not linked.integer[] | null
Nice classes contested in the proceeding, when known.
string | null
Free-text summary, when provided.
object | null
Summary of the mark this row belongs to (
id, object, mark_text, application_number, office_code, trademark_role), or null when unavailable.object[]
Every mark linked to this proceeding in the same office, type and proceeding number, each with the same shape as
trademark. Includes trademark. For a TTAB opposition this puts the opposed application (contested) next to the registrations the opposer pleaded (asserted) in one response. A placeholder row without a proceeding number links only itself.string
ISO timestamp for when Signa created the proceeding record.
string
ISO timestamp for the latest Signa update to the proceeding record.
Example Request
curl "https://api.signa.so/v1/proceedings/prc_019f34d6-aaaa-7777-8888-aaaaaaaaaaaa" \
-H "Authorization: Bearer $SIGNA_API_KEY"
Example Response
{
"id": "prc_019f34d6-aaaa-7777-8888-aaaaaaaaaaaa",
"object": "proceeding",
"trademark_id": "tm_019f34d6-2000-7777-8888-000000000001",
"trademark_role": "contested",
"proceeding_type": "opposition",
"proceeding_number": "91265432",
"status": "decided_granted",
"outcome": "challenger_won",
"duration_days": 231,
"office_code": "US",
"filed_date": "2024-01-18",
"decision_date": "2024-09-05",
"decision_outcome": "Opposition Sustained",
"contested_classes": [9, 42],
"description": "Opposition proceeding",
"created_at": "2024-01-18T10:00:00.000Z",
"updated_at": "2024-09-05T10:00:00.000Z",
"parties": [
{
"owner_id": "own_019f34d6-1111-7777-8888-111111111111",
"name": "Apex Outdoor Group LLC",
"role": "opponent",
"country_code": "US"
},
{
"owner_id": "own_019f34d6-2222-7777-8888-222222222222",
"name": "Meridian Labs Inc.",
"role": "respondent",
"country_code": "US"
}
],
"trademark": {
"id": "tm_019f34d6-2000-7777-8888-000000000001",
"object": "trademark",
"mark_text": "MERIDIAN CORE",
"application_number": "98123456",
"office_code": "US",
"trademark_role": "contested"
},
"trademarks": [
{
"id": "tm_019f34d6-1000-7777-8888-000000000009",
"object": "trademark",
"mark_text": "APEX",
"application_number": "87654321",
"office_code": "US",
"trademark_role": "asserted"
},
{
"id": "tm_019f34d6-2000-7777-8888-000000000001",
"object": "trademark",
"mark_text": "MERIDIAN CORE",
"application_number": "98123456",
"office_code": "US",
"trademark_role": "contested"
}
],
"request_id": "req_xyz"
}
Code Examples
curl "https://api.signa.so/v1/proceedings/prc_019f34d6-aaaa-7777-8888-aaaaaaaaaaaa" \
-H "Authorization: Bearer sig_YOUR_KEY_HERE"
import { Signa } from "@signa-so/sdk";
const signa = new Signa({ api_key: process.env.SIGNA_API_KEY });
const proceeding = await signa.proceedings.retrieve("prc_019f34d6-aaaa-7777-8888-aaaaaaaaaaaa");
import requests
resp = requests.get(
"https://api.signa.so/v1/proceedings/prc_019f34d6-aaaa-7777-8888-aaaaaaaaaaaa",
headers={"Authorization": "Bearer sig_YOUR_KEY_HERE"},
)
Related Endpoints
- Search Proceedings: search proceedings with filters
- Trademark Proceedings: proceedings scoped to a mark
- Opposition & Dispute Intelligence: workflow for profiling an opposer