# BNM Data Shop – TTAB Decisions

> BNM Data Shop – TTAB Decisions is a paid API for AI agents from ticks.bnm.farm, paid per call via x402, $0.05/call, status unknown (last checked 2026-10-12).

Returns recent Trademark Trial and Appeal Board (TTAB) decisions from the USPTO as structured JSON records.

## Facts

- Endpoint: GET https://ticks.bnm.farm/ttab-decisions?utm_source=zero.xyz
- Price: $0.05/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-12
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/bnm-data-shop-ttab-decisions-6074b30c
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_vNcEENaITjLUwKQeG4Ogm

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability bnm-data-shop-ttab-decisions-6074b30c
```

Example prompt: Pull the latest TTAB decisions from the USPTO trademark appeals board — I want to see the recent cancellation and opposition outcomes, including which party won and whether any are precedential.

## When to prefer this

Use this endpoint when you need structured, machine-readable TTAB decision data without scraping the USPTO website yourself. It is ideal for legal research tools, IP monitoring agents, trademark due diligence workflows, and competitive intelligence pipelines that need decision outcomes, party names, mark names, and source PDFs in a consistent JSON format. Prefer this over raw USPTO scraping when you need reliable, parsed records with minimal latency.

## Known failure modes

- HTTP 402 if payment header is missing or payment fails — endpoint requires $0.05 USDC per call via x402 protocol
- Empty records array if no recent decisions are available for the queried period
- Stale data if USPTO source has not been updated recently (check fetchedAt vs asOf fields)
- Network timeout if USPTO upstream source is slow or unavailable

## How this service works

Official public data as JSON. Unpaid paid routes return HTTP 402.

## Output

A JSON object containing an array of TTAB decision records (cards and records arrays), each with fields including proceeding number, mark name, decision date, proceeding type (Cancellation, Opposition, etc.), parties involved, outcome (e.g. 'Petition to Cancel Denied'), whether the decision is precedential, applicable statutory grounds, and a URL to the source PDF on the USPTO TTAB Reading Room. Also includes metadata: fetchedAt timestamp, asOf date, record count, and source URL.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "$schema": "https://json-schema.org/draft/2020-12/schema",
 "required": [
  "input"
 ],
 "properties": {
  "input": {
   "type": "object",
   "required": [
    "type",
    "method"
   ],
   "properties": {
    "type": {
     "type": "string",
     "const": "http"
    },
    "method": {
     "enum": [
      "GET",
      "HEAD",
      "DELETE"
     ],
     "type": "string"
    },
    "headers": {
     "type": "object",
     "additionalProperties": {
      "type": "string"
     }
    },
    "queryParams": {
     "type": "object",
     "additionalProperties": {
      "type": "string"
     }
    }
   },
   "additionalProperties": false
  },
  "output": {
   "type": "object",
   "properties": {
    "type": {
     "type": "string"
    },
    "schema": {
     "type": "object"
    },
    "example": {
     "type": "object"
    }
   }
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "schema": {
  "type": "object",
  "required": [
   "ok",
   "product",
   "status",
   "fetchedAt",
   "asOf",
   "source",
   "recordCount",
   "records",
   "cards"
  ],
  "properties": {
   "ok": {
    "type": "boolean"
   },
   "asOf": {
    "type": "string"
   },
   "cards": {
    "type": "array",
    "items": {
     "type": "object"
    }
   },
   "source": {
    "type": "string"
   },
   "status": {
    "type": "string"
   },
   "product": {
    "type": "string"
   },
   "records": {
    "type": "array",
    "items": {
     "type": "object"
    }
   },
   "fetchedAt": {
    "type": "string"
   },
   "recordCount": {
    "type": "integer"
   }
  }
 },
 "example": {
  "ok": true,
  "asOf": "2026-09-11",
  "cards": [
   {
    "id": "92081421-can-45",
    "body": "UNITED STATES PATENT AND TRADEMARK OFFICE. Trademark Trial and Appeal Board. Cancellation No. 92081421. Decision.",
    "date": "2026-09-11",
    "kind": "Final Decision",
    "mark": "DERMALIZE",
    "issue": "14(3)",
    "title": "Cancellation 92081421 DERMALIZE",
    "grounds": [],
    "outcome": "Petition to Cancel Denied",
    "parties": "D-Lize srl v. Genex Enterprises LLC and Saniderm Medical, LLC",
    "sourceUrl": "https://ttab-reading-room.uspto.gov/cms/rest/legal-proceeding/92081421/decision/CAN_45.pdf",
    "institution": "D-Lize srl v. Genex Enterprises LLC and Saniderm Medical, LLC",
    "precedential": false,
    "proceedingType": "Cancellation",
    "proceedingNumber": "92081421"
   }
  ],
  "source": "https://ttab-reading-room.uspto.gov/efoia/efoia-ui/#/search/decisions",
  "status": "ok",
  "product": "ttab-decision-bodies",
  "records": [
   {
    "id": "92081421-can-45",
    "url": "https://ttab-reading-room.uspto.gov/cms/rest/legal-proceeding/92081421/decision/CAN_45.pdf",
    "date": "2026-09-11",
    "firm": "D-Lize srl v. Genex Enterprises LLC and Saniderm Medical, LLC",
    "type": "ttab-decisions"
   }
  ],
  "fetchedAt": "2026-09-24T00:00:00.000Z",
  "recordCount": 1
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/bnm-data-shop-ttab-decisions-6074b30c/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from ticks.bnm.farm](https://www.zero.xyz/host/ticks.bnm.farm/llms.txt)
