Skip to main content
Glama

USPTO Final Petition Decisions MCP Server

by john-walkoe
field_constants.py5.04 kB
""" USPTO Final Petition Decisions API Field Constants This module defines all USPTO FPD API field names as constants to eliminate magic strings throughout the codebase and provide a single source of truth. Based on USPTO Open Data Portal API - Final Petition Decisions endpoint. """ class FPDFields: """ Constants for USPTO Final Petition Decisions API field names. These constants represent the exact field names used by the USPTO API. Use these instead of hardcoded strings to enable: - IDE autocomplete - Easier refactoring - Catching typos at development time """ # === TOP-LEVEL FIELDS === PETITION_DECISION_DATA_BAG = "petitionDecisionDataBag" # === CORE IDENTIFICATION FIELDS === PETITION_DECISION_RECORD_IDENTIFIER = "petitionDecisionRecordIdentifier" # UUID APPLICATION_NUMBER_TEXT = "applicationNumberText" # Links to PFW MCP PATENT_NUMBER = "patentNumber" # Links to PTAB MCP # === APPLICANT/INVENTOR FIELDS === FIRST_APPLICANT_NAME = "firstApplicantName" INVENTOR_BAG = "inventorBag" CUSTOMER_NUMBER = "customerNumber" FIRST_INVENTOR_TO_FILE_INDICATOR = "firstInventorToFileIndicator" # AIA indicator # === DECISION FIELDS === DECISION_TYPE_CODE_DESCRIPTION_TEXT = "decisionTypeCodeDescriptionText" # GRANTED/DENIED/DISMISSED PETITION_MAIL_DATE = "petitionMailDate" # When petition filed DECISION_DATE = "decisionDate" # When Director decided DECISION_MAIL_DATE = "decisionMailDate" # When decision mailed FINAL_DECIDING_OFFICE_NAME = "finalDecidingOfficeName" # Deciding office # === PETITION TYPE FIELDS === DECISION_PETITION_TYPE_CODE = "decisionPetitionTypeCode" # Type code (551, etc.) DECISION_PETITION_TYPE_CODE_DESCRIPTION_TEXT = "decisionPetitionTypeCodeDescriptionText" # === CLASSIFICATION FIELDS === GROUP_ART_UNIT_NUMBER = "groupArtUnitNumber" # Art unit (→ PFW cross-ref) TECHNOLOGY_CENTER = "technologyCenter" # TC # === STATUS FIELDS === PROSECUTION_STATUS_CODE = "prosecutionStatusCode" PROSECUTION_STATUS_CODE_DESCRIPTION_TEXT = "prosecutionStatusCodeDescriptionText" BUSINESS_ENTITY_STATUS_CATEGORY = "businessEntityStatusCategory" # Small/Undiscounted # === LEGAL CONTEXT FIELDS (ARRAYS) === PETITION_ISSUE_CONSIDERED_TEXT_BAG = "petitionIssueConsideredTextBag" # Issues raised RULE_BAG = "ruleBag" # CFR rules cited (e.g., "37 CFR 1.137") STATUTE_BAG = "statuteBag" # Statutes cited # === COURT INFORMATION === COURT_ACTION_INDICATOR = "courtActionIndicator" # Boolean ACTION_TAKEN_BY_COURT_NAME = "actionTakenByCourtName" # === INVENTION DETAILS === INVENTION_TITLE = "inventionTitle" # === METADATA === LAST_INGESTION_DATE_TIME = "lastIngestionDateTime" # Data freshness # === DOCUMENT FIELDS === DOCUMENT_BAG = "documentBag" DOCUMENT_IDENTIFIER = "documentIdentifier" DOCUMENT_CODE = "documentCode" DOCUMENT_CODE_DESCRIPTION_TEXT = "documentCodeDescriptionText" DOCUMENT_FILE_NAME = "documentFileName" PAGE_COUNT = "pageCount" # === DOWNLOAD FIELDS === DOWNLOAD_OPTION_BAG = "downloadOptionBag" MIME_TYPE_IDENTIFIER = "mimeTypeIdentifier" # PDF, etc. DOWNLOAD_URL = "downloadUrl" PAGE_TOTAL_QUANTITY = "pageTotalQuantity" class QueryFieldNames: """ Field names as they appear in Lucene/search queries. Use these for building search queries with convenience parameters. """ # Core search fields APPLICATION_NUMBER = "applicationNumberText" PATENT_NUMBER = "patentNumber" APPLICANT_NAME = "firstApplicantName" # Classification search ART_UNIT = "groupArtUnitNumber" TECHNOLOGY_CENTER = "technologyCenter" # Date search PETITION_MAIL_DATE = "petitionMailDate" DECISION_DATE = "decisionDate" # Decision search DECISION_TYPE = "decisionTypeCodeDescriptionText" PETITION_TYPE = "decisionPetitionTypeCodeDescriptionText" # Status search PROSECUTION_STATUS = "prosecutionStatusCodeDescriptionText" BUSINESS_ENTITY = "businessEntityStatusCategory" # Legal search RULE = "ruleBag" # Search for CFR rules STATUTE = "statuteBag" # Search for statutes # Metadata search INVENTION_TITLE = "inventionTitle" # === RED FLAG RULES FOR PETITION QUALITY ASSESSMENT === class PetitionRedFlags: """ Common petition types and rules that indicate potential quality issues. Use these constants when analyzing petition patterns for red flags. """ # Revival petitions (application was abandoned) RULE_REVIVAL = "37 CFR 1.137" # Petitions for supervisory review (examiner disputes) RULE_SUPERVISORY_REVIEW = "37 CFR 1.181" # Petitions for reconsideration (restriction issues) RULE_RECONSIDERATION = "37 CFR 1.182" # Special petitions RULE_SPECIAL_PETITION = "37 CFR 1.183" # Decision outcomes DECISION_DENIED = "DENIED" DECISION_GRANTED = "GRANTED" DECISION_DISMISSED = "DISMISSED"

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/john-walkoe/uspto_fpd_mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server