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: $.