Skip to main content
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",
  "proceeding_type": "opposition",
  "proceeding_number": "91265432",
  "status": "decided_granted",
  "outcome": "challenger_won",
  "duration_days": 231,
  "office_code": "uspto",
  "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",
    "serial_number": "98123456",
    "office_code": "uspto"
  },
  "request_id": "req_xyz"
}

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.

Path Parameters

id
string
required
Proceeding ID (prc_...).

Response

id
string
Proceeding ID (prc_...).
object
string
Always proceeding.
trademark_id
string | null
Parent trademark ID (tm_...), when available.
proceeding_type
string
Type (opposition, cancellation, appeal, etc.).
proceeding_number
string | null
Office-issued proceeding identifier, when available.
status
string | null
Current status, when available.
outcome
string | null
Normalized outcome from the challenger perspective, or null when not available.
ValueMeaning
challenger_wonThe challenger prevailed, derived from decided_granted.
challenger_lostThe challenger did not prevail, derived from decided_rejected.
mixedThe decision was partial or text indicates an in-part disposition.
settledThe proceeding status is settled.
withdrawnThe proceeding status is withdrawn.
default_judgmentThe challenger won through a default or procedural failure signal.
pendingThe proceeding is still pending or suspended.
otherThe status is other or does not map to a more specific outcome.
duration_days
integer | null
Number of days between filed_date and decision_date. null when either date is missing.
office_code
string | null
Lowercase office code for the parent trademark, when available.
filed_date
string | null
ISO date the proceeding was initiated, when available.
decision_date
string | null
ISO date of decision when concluded, when available.
decision_outcome
string | null
Outcome string when decided.
parties
object[]
Array of parties. Each has owner_id, name, role (opponent, petitioner, respondent, intervener, other), and country_code.
contested_classes
integer[] | null
Nice classes contested in the proceeding, when known.
description
string | null
Free-text summary, when provided.
trademark
object | null
Summary of the parent trademark (id, object, mark_text, serial_number, office_code), or null when unavailable.
created_at
string
ISO timestamp for when Signa created the proceeding record.
updated_at
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",
  "proceeding_type": "opposition",
  "proceeding_number": "91265432",
  "status": "decided_granted",
  "outcome": "challenger_won",
  "duration_days": 231,
  "office_code": "uspto",
  "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",
    "serial_number": "98123456",
    "office_code": "uspto"
  },
  "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"},
)

Errors

StatusTypeDescription
400validation_errorInvalid proceeding ID
401unauthorizedMissing or invalid API key
404not_foundProceeding not found
429rate_limitedToo many requests