USPTO Trademark Status and Document Retrieval API — Case Status

USPTO Trademark Status and Document Retrieval API — Case Status. 3 operations. Lead operation: Get TSDR System Last Update Info. Self-contained Naftiko capability covering one Us Patent And Trademark Office business surface.

Run with Naftiko Us Patent And Trademark OfficeCase Status

What You Can Do

GET
Getlastupdateinfo — Get TSDR System Last Update Info
/v1/last-update/info-json
GET
Getmultiplecasestatus — Get Multiple Trademark Case Status
/v1/ts/cd/casemultistatus/{type}
GET
Getcasestatuspdf — Get Trademark Case Status as PDF
/v1/ts/cd/casestatus/{caseid}/content-pdf

MCP Tools

get-tsdr-system-last-update

Get TSDR System Last Update Info

read-only idempotent
get-multiple-trademark-case-status

Get Multiple Trademark Case Status

read-only idempotent
get-trademark-case-status-pdf

Get Trademark Case Status as PDF

read-only idempotent

Capability Spec

uspto-tsdr-case-status.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: USPTO Trademark Status and Document Retrieval API — Case Status
  description: 'USPTO Trademark Status and Document Retrieval API — Case Status. 3 operations. Lead operation: Get TSDR System
    Last Update Info. Self-contained Naftiko capability covering one Us Patent And Trademark Office business surface.'
  tags:
  - Us Patent And Trademark Office
  - Case Status
  created: '2026-05-19'
  modified: '2026-05-19'
binds:
- namespace: env
  keys:
    US_PATENT_AND_TRADEMARK_OFFICE_API_KEY: US_PATENT_AND_TRADEMARK_OFFICE_API_KEY
capability:
  consumes:
  - type: http
    namespace: uspto-tsdr-case-status
    baseUri: https://tsdrapi.uspto.gov
    description: USPTO Trademark Status and Document Retrieval API — Case Status business capability. Self-contained, no shared
      references.
    resources:
    - name: last-update-info.json
      path: /last-update/info.json
      operations:
      - name: getlastupdateinfo
        method: GET
        description: Get TSDR System Last Update Info
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: ts-cd-caseMultiStatus-type
      path: /ts/cd/caseMultiStatus/{type}
      operations:
      - name: getmultiplecasestatus
        method: GET
        description: Get Multiple Trademark Case Status
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: type
          in: path
          type: string
          description: Response format type (json, xml)
          required: true
        - name: sn
          in: query
          type: string
          description: Serial numbers (comma-separated)
        - name: rn
          in: query
          type: string
          description: Registration numbers (comma-separated)
    - name: ts-cd-casestatus-caseid-content.pdf
      path: /ts/cd/casestatus/{caseid}/content.pdf
      operations:
      - name: getcasestatuspdf
        method: GET
        description: Get Trademark Case Status as PDF
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: caseid
          in: path
          type: string
          description: Trademark serial or registration number
          required: true
    authentication:
      type: apikey
      key: USPTO-API-KEY
      value: '{{env.US_PATENT_AND_TRADEMARK_OFFICE_API_KEY}}'
      placement: header
  exposes:
  - type: rest
    namespace: uspto-tsdr-case-status-rest
    port: 8080
    description: REST adapter for USPTO Trademark Status and Document Retrieval API — Case Status. One Spectral-compliant
      resource per consumed operation, prefixed with /v1.
    resources:
    - path: /v1/last-update/info-json
      name: last-update-info-json
      description: REST surface for last-update-info.json.
      operations:
      - method: GET
        name: getlastupdateinfo
        description: Get TSDR System Last Update Info
        call: uspto-tsdr-case-status.getlastupdateinfo
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/ts/cd/casemultistatus/{type}
      name: ts-cd-casemultistatus-type
      description: REST surface for ts-cd-caseMultiStatus-type.
      operations:
      - method: GET
        name: getmultiplecasestatus
        description: Get Multiple Trademark Case Status
        call: uspto-tsdr-case-status.getmultiplecasestatus
        with:
          type: rest.type
          sn: rest.sn
          rn: rest.rn
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/ts/cd/casestatus/{caseid}/content-pdf
      name: ts-cd-casestatus-caseid-content-pdf
      description: REST surface for ts-cd-casestatus-caseid-content.pdf.
      operations:
      - method: GET
        name: getcasestatuspdf
        description: Get Trademark Case Status as PDF
        call: uspto-tsdr-case-status.getcasestatuspdf
        with:
          caseid: rest.caseid
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    namespace: uspto-tsdr-case-status-mcp
    port: 9090
    transport: http
    description: MCP adapter for USPTO Trademark Status and Document Retrieval API — Case Status. One tool per consumed operation,
      routed inline through this capability's consumes block.
    tools:
    - name: get-tsdr-system-last-update
      description: Get TSDR System Last Update Info
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: uspto-tsdr-case-status.getlastupdateinfo
      outputParameters:
      - type: object
        mapping: $.
    - name: get-multiple-trademark-case-status
      description: Get Multiple Trademark Case Status
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: uspto-tsdr-case-status.getmultiplecasestatus
      with:
        type: tools.type
        sn: tools.sn
        rn: tools.rn
      outputParameters:
      - type: object
        mapping: $.
    - name: get-trademark-case-status-pdf
      description: Get Trademark Case Status as PDF
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: uspto-tsdr-case-status.getcasestatuspdf
      with:
        caseid: tools.caseid
      outputParameters:
      - type: object
        mapping: $.