USPTO · Capability
USPTO Patent & Trademark API — PTAB
USPTO Patent & Trademark API — PTAB. 3 operations. Lead operation: Search PTAB decisions. Self-contained Naftiko capability covering one Uspto business surface.
What You Can Do
GET
Searchptabdecisions
— Search PTAB decisions
/v1/ptab/decisions/search
GET
Searchptabtrials
— Search PTAB trial proceedings
/v1/ptab/trials
GET
Getptabtrial
— Get PTAB trial details
/v1/ptab/trials/{trialnumber}
MCP Tools
search-ptab-decisions
Search PTAB decisions
read-only
idempotent
search-ptab-trial-proceedings
Search PTAB trial proceedings
read-only
idempotent
get-ptab-trial-details
Get PTAB trial details
read-only
idempotent
Capability Spec
naftiko: 1.0.0-alpha2
info:
label: USPTO Patent & Trademark API — PTAB
description: 'USPTO Patent & Trademark API — PTAB. 3 operations. Lead operation: Search PTAB decisions. Self-contained Naftiko
capability covering one Uspto business surface.'
tags:
- Uspto
- PTAB
created: '2026-05-19'
modified: '2026-05-19'
binds:
- namespace: env
keys:
USPTO_API_KEY: USPTO_API_KEY
capability:
consumes:
- type: http
namespace: patent-ptab
baseUri: https://data.uspto.gov/api/v1
description: USPTO Patent & Trademark API — PTAB business capability. Self-contained, no shared references.
resources:
- name: ptab-decisions-search
path: /ptab/decisions/search
operations:
- name: searchptabdecisions
method: GET
description: Search PTAB decisions
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: searchText
in: query
type: string
description: Full-text search in decision documents
- name: proceedingType
in: query
type: string
- name: decisionType
in: query
type: string
- name: dateStart
in: query
type: string
- name: dateEnd
in: query
type: string
- name: offset
in: query
type: integer
- name: limit
in: query
type: integer
- name: ptab-trials
path: /ptab/trials
operations:
- name: searchptabtrials
method: GET
description: Search PTAB trial proceedings
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: patentNumber
in: query
type: string
description: Challenged patent number
- name: petitionerName
in: query
type: string
- name: patentOwnerName
in: query
type: string
- name: proceedingType
in: query
type: string
description: Type of PTAB proceeding
- name: filingDateStart
in: query
type: string
- name: filingDateEnd
in: query
type: string
- name: status
in: query
type: string
- name: offset
in: query
type: integer
- name: limit
in: query
type: integer
- name: ptab-trials-trialNumber
path: /ptab/trials/{trialNumber}
operations:
- name: getptabtrial
method: GET
description: Get PTAB trial details
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: trialNumber
in: path
type: string
description: PTAB trial number (e.g., IPR2023-00001)
required: true
authentication:
type: apikey
key: X-API-KEY
value: '{{env.USPTO_API_KEY}}'
placement: header
exposes:
- type: rest
namespace: patent-ptab-rest
port: 8080
description: REST adapter for USPTO Patent & Trademark API — PTAB. One Spectral-compliant resource per consumed operation,
prefixed with /v1.
resources:
- path: /v1/ptab/decisions/search
name: ptab-decisions-search
description: REST surface for ptab-decisions-search.
operations:
- method: GET
name: searchptabdecisions
description: Search PTAB decisions
call: patent-ptab.searchptabdecisions
with:
searchText: rest.searchText
proceedingType: rest.proceedingType
decisionType: rest.decisionType
dateStart: rest.dateStart
dateEnd: rest.dateEnd
offset: rest.offset
limit: rest.limit
outputParameters:
- type: object
mapping: $.
- path: /v1/ptab/trials
name: ptab-trials
description: REST surface for ptab-trials.
operations:
- method: GET
name: searchptabtrials
description: Search PTAB trial proceedings
call: patent-ptab.searchptabtrials
with:
patentNumber: rest.patentNumber
petitionerName: rest.petitionerName
patentOwnerName: rest.patentOwnerName
proceedingType: rest.proceedingType
filingDateStart: rest.filingDateStart
filingDateEnd: rest.filingDateEnd
status: rest.status
offset: rest.offset
limit: rest.limit
outputParameters:
- type: object
mapping: $.
- path: /v1/ptab/trials/{trialnumber}
name: ptab-trials-trialnumber
description: REST surface for ptab-trials-trialNumber.
operations:
- method: GET
name: getptabtrial
description: Get PTAB trial details
call: patent-ptab.getptabtrial
with:
trialNumber: rest.trialNumber
outputParameters:
- type: object
mapping: $.
- type: mcp
namespace: patent-ptab-mcp
port: 9090
transport: http
description: MCP adapter for USPTO Patent & Trademark API — PTAB. One tool per consumed operation, routed inline through
this capability's consumes block.
tools:
- name: search-ptab-decisions
description: Search PTAB decisions
hints:
readOnly: true
destructive: false
idempotent: true
call: patent-ptab.searchptabdecisions
with:
searchText: tools.searchText
proceedingType: tools.proceedingType
decisionType: tools.decisionType
dateStart: tools.dateStart
dateEnd: tools.dateEnd
offset: tools.offset
limit: tools.limit
outputParameters:
- type: object
mapping: $.
- name: search-ptab-trial-proceedings
description: Search PTAB trial proceedings
hints:
readOnly: true
destructive: false
idempotent: true
call: patent-ptab.searchptabtrials
with:
patentNumber: tools.patentNumber
petitionerName: tools.petitionerName
patentOwnerName: tools.patentOwnerName
proceedingType: tools.proceedingType
filingDateStart: tools.filingDateStart
filingDateEnd: tools.filingDateEnd
status: tools.status
offset: tools.offset
limit: tools.limit
outputParameters:
- type: object
mapping: $.
- name: get-ptab-trial-details
description: Get PTAB trial details
hints:
readOnly: true
destructive: false
idempotent: true
call: patent-ptab.getptabtrial
with:
trialNumber: tools.trialNumber
outputParameters:
- type: object
mapping: $.