PTAB
models.ptab - Data models for USPTO PTAB (Patent Trial and Appeal Board) APIs.
This module provides data models, primarily using frozen dataclasses, for representing responses from the USPTO PTAB APIs. These models cover: - Patent trial proceedings (IPR, PGR, CBM, DER) - Trial documents and decisions - Appeal decisions - Interference decisions
- class pyUSPTO.models.ptab.AdditionalPartyData(application_number_text=None, inventor_name=None, patent_number=None, additional_party_name=None)[source]
Bases:
objectAdditional party information in an interference.
- application_number_text
Application number.
- inventor_name
Name of inventor.
- patent_number
Patent number.
- additional_party_name
Name of additional party.
- class pyUSPTO.models.ptab.AppealDocumentData(document_filing_date=None, document_identifier=None, document_name=None, document_size_quantity=None, document_ocr_text=None, document_type_description_text=None, file_download_uri=None)[source]
Bases:
objectAppeal document metadata.
- document_filing_date
Date the document was filed.
- document_identifier
Unique identifier for the document.
- document_name
Name of the document.
- document_size_quantity
Size of the document in bytes.
- document_ocr_text
Full OCR text of the document.
- document_type_description_text
Description of the document type.
- file_download_uri
URI to download the document.
- class pyUSPTO.models.ptab.AppealMetaData(appeal_filing_date=None, appeal_last_modified_date=None, appeal_last_modified_date_time=None, application_type_category=None, docket_notice_mailed_date=None, file_download_uri=None)[source]
Bases:
objectAppeal metadata.
- appeal_filing_date
Date the appeal was filed.
- appeal_last_modified_date
Last modification date.
- appeal_last_modified_date_time
Last modification timestamp.
- application_type_category
Type of application.
- docket_notice_mailed_date
Date the docket notice was mailed.
- file_download_uri
URI to download ZIP of appeal documents.
- class pyUSPTO.models.ptab.AppellantData(application_number_text=None, counsel_name=None, grant_date=None, group_art_unit_number=None, inventor_name=None, real_party_in_interest_name=None, patent_number=None, patent_owner_name=None, technology_center_number=None, publication_date=None, publication_number=None)[source]
Bases:
PartyDataAppellant party data in PTAB appeals.
Inherits all attributes from PartyData. Used in appeal proceedings to represent the party appealing an examiner decision.
- class pyUSPTO.models.ptab.DecisionData(appeal_outcome_category=None, statute_and_rule_bag=<factory>, decision_issue_date=None, decision_type_category=None, issue_type_bag=<factory>)[source]
Bases:
objectAppeal decision information.
- appeal_outcome_category
Outcome of the appeal.
- statute_and_rule_bag
List of applicable statutes and rules.
- decision_issue_date
Date the decision was issued.
- decision_type_category
Type of decision.
- issue_type_bag
List of issue types.
- class pyUSPTO.models.ptab.DerivationPetitionerData(application_number_text=None, counsel_name=None, grant_date=None, group_art_unit_number=None, inventor_name=None, real_party_in_interest_name=None, patent_number=None, patent_owner_name=None, technology_center_number=None, publication_date=None, publication_number=None)[source]
Bases:
PartyDataDerivation petitioner data in derivation proceedings.
Inherits all attributes from PartyData. Used in DER proceedings to represent the petitioning party claiming derivation.
- class pyUSPTO.models.ptab.InterferenceDocumentData(document_identifier=None, document_name=None, document_size_quantity=None, document_ocr_text=None, document_title_text=None, interference_outcome_category=None, document_filing_date=None, decision_issue_date=None, decision_type_category=None, file_download_uri=None, statute_and_rule_bag=<factory>, issue_type_bag=<factory>)[source]
Bases:
objectInterference document metadata.
- document_identifier
Unique identifier for the document.
- document_name
Name of the document.
- document_size_quantity
Size of the document in bytes.
- document_ocr_text
Full OCR text of the document.
- document_title_text
Title of the document.
- interference_outcome_category
Outcome of the interference.
- document_filing_date
Date the document was filed.
- decision_issue_date
Date the decision was issued.
- decision_type_category
Type of decision.
- file_download_uri
URI to download the document.
- statute_and_rule_bag
List of applicable statutes and rules.
- issue_type_bag
List of issues addressed.
- class pyUSPTO.models.ptab.InterferenceMetaData(interference_style_name=None, interference_last_modified_date=None, interference_last_modified_date_time=None, declaration_date=None, file_download_uri=None)[source]
Bases:
objectInterference metadata.
- interference_style_name
Style name of the interference.
- interference_last_modified_date
Last modification date.
- interference_last_modified_date_time
Last modification datetime.
- declaration_date
Declaration date.
- file_download_uri
URI to download ZIP of interference documents.
- class pyUSPTO.models.ptab.JuniorPartyData(application_number_text=None, counsel_name=None, grant_date=None, group_art_unit_number=None, inventor_name=None, real_party_in_interest_name=None, patent_number=None, patent_owner_name=None, technology_center_number=None, publication_date=None, publication_number=None)[source]
Bases:
PartyDataJunior party information in PTAB interference proceedings.
Inherits all attributes from PartyData. Represents the party with the later effective filing date in an interference.
- class pyUSPTO.models.ptab.PTABAppealDecision(appeal_number=None, last_modified_date_time=None, appeal_document_category=None, appeal_meta_data=None, appellant_data=None, requestor_data=None, document_data=None, decision_data=None, raw_data=None)[source]
Bases:
objectIndividual PTAB appeal decision record.
- appeal_number
Appeal number.
- last_modified_date_time
Last modification timestamp.
- appeal_document_category
Document category.
- appeal_meta_data
Appeal metadata.
- appellant_data
Appellant information.
- requestor_data
Third party requestor information.
- document_data
Document metadata.
- decision_data
Decision information.
- raw_data
Raw JSON response data (if include_raw_data=True).
-
appeal_meta_data:
AppealMetaData|None= None
-
appellant_data:
AppellantData|None= None
-
decision_data:
DecisionData|None= None
-
document_data:
AppealDocumentData|None= None
- classmethod from_dict(data, include_raw_data=False)[source]
Create a PTABAppealDecision instance from a dictionary.
- Parameters:
- Returns:
An instance of PTABAppealDecision.
- Return type:
-
requestor_data:
RequestorData|None= None
- class pyUSPTO.models.ptab.PTABAppealResponse(count=0, request_identifier=None, patent_appeal_data_bag=<factory>, raw_data=None)[source]
Bases:
objectResponse container for PTAB appeals search.
- count
Total number of matching results.
- request_identifier
UUID for the API request.
- patent_appeal_data_bag
List of appeal decisions.
- raw_data
Raw JSON response data (if include_raw_data=True).
- classmethod from_dict(data, include_raw_data=False)[source]
Create a PTABAppealResponse instance from a dictionary.
- Parameters:
- Returns:
An instance of PTABAppealResponse.
- Return type:
-
patent_appeal_data_bag:
list[PTABAppealDecision]
- class pyUSPTO.models.ptab.PTABInterferenceDecision(interference_number=None, last_modified_date_time=None, interference_meta_data=None, senior_party_data=None, junior_party_data=None, additional_party_data_bag=<factory>, document_data=None, raw_data=None)[source]
Bases:
objectIndividual PTAB interference decision record.
- interference_number
Interference number.
- last_modified_date_time
Last modification timestamp.
- interference_meta_data
Interference metadata.
- senior_party_data
Senior party information.
- junior_party_data
Junior party information.
- additional_party_data_bag
List of additional parties.
- document_data
Document metadata.
- raw_data
Raw JSON response data (if include_raw_data=True).
-
additional_party_data_bag:
list[AdditionalPartyData]
-
document_data:
InterferenceDocumentData|None= None
- classmethod from_dict(data, include_raw_data=False)[source]
Create a PTABInterferenceDecision instance from a dictionary.
- Parameters:
- Returns:
An instance of PTABInterferenceDecision.
- Return type:
-
interference_meta_data:
InterferenceMetaData|None= None
-
junior_party_data:
JuniorPartyData|None= None
-
senior_party_data:
SeniorPartyData|None= None
- class pyUSPTO.models.ptab.PTABInterferenceResponse(count=0, request_identifier=None, patent_interference_data_bag=<factory>, raw_data=None)[source]
Bases:
objectResponse container for PTAB interferences search.
- count
Total number of matching results.
- request_identifier
UUID for the API request.
- patent_interference_data_bag
List of interference decisions.
- raw_data
Raw JSON response data (if include_raw_data=True).
- classmethod from_dict(data, include_raw_data=False)[source]
Create a PTABInterferenceResponse instance from a dictionary.
- Parameters:
- Returns:
An instance of PTABInterferenceResponse.
- Return type:
-
patent_interference_data_bag:
list[PTABInterferenceDecision]
- class pyUSPTO.models.ptab.PTABTrialDocument(trial_document_category=None, last_modified_date_time=None, trial_number=None, trial_type_code=None, trial_meta_data=None, patent_owner_data=None, regular_petitioner_data=None, respondent_data=None, derivation_petitioner_data=None, document_data=None, decision_data=None, raw_data=None)[source]
Bases:
objectIndividual trial document or decision record from PTAB document/decision search APIs.
Used by search_documents() and search_decisions() endpoints. Contains document-specific metadata (documentData) or decision information (decisionData), plus trial context. Differs from PTABTrialProceeding which represents the entire proceeding rather than individual documents within it.
- trial_document_category
Category (Document or Decision).
- last_modified_date_time
Last modification timestamp.
- trial_number
Trial number (e.g., “IPR2023-00123”).
- trial_type_code
Type of trial (IPR, PGR, CBM, DER).
- trial_meta_data
Trial metadata.
- patent_owner_data
Patent owner information.
- regular_petitioner_data
Regular petitioner information.
- respondent_data
Respondent information.
- derivation_petitioner_data
Derivation petitioner information.
- document_data
Document metadata (if document).
- decision_data
Decision information (if decision).
- raw_data
Raw JSON response data (if include_raw_data=True).
-
decision_data:
TrialDecisionData|None= None
-
derivation_petitioner_data:
DerivationPetitionerData|None= None
-
document_data:
TrialDocumentData|None= None
- classmethod from_dict(data, include_raw_data=False)[source]
Create a PTABTrialDocument instance from a dictionary.
- Parameters:
- Returns:
A new instance populated with data from the dictionary.
- Return type:
-
patent_owner_data:
PatentOwnerData|None= None
-
regular_petitioner_data:
RegularPetitionerData|None= None
-
respondent_data:
RespondentData|None= None
- to_dict()[source]
Convert the PTABTrialDocument instance to a dictionary.
- Returns:
Dictionary with camelCase keys and None values filtered.
- Return type:
Dict[str, Any]
-
trial_meta_data:
TrialMetaData|None= None
- class pyUSPTO.models.ptab.PTABTrialDocumentResponse(count=0, request_identifier=None, patent_trial_document_data_bag=<factory>, raw_data=None)[source]
Bases:
objectResponse container for PTAB trial documents/decisions search.
- classmethod from_dict(data, include_raw_data=False)[source]
Create a PTABTrialDocumentResponse instance from a dictionary.
- Parameters:
- Returns:
A new instance populated with data from the dictionary.
- Return type:
-
patent_trial_document_data_bag:
list[PTABTrialDocument]
- class pyUSPTO.models.ptab.PTABTrialProceeding(trial_number=None, last_modified_date_time=None, trial_meta_data=None, patent_owner_data=None, regular_petitioner_data=None, respondent_data=None, derivation_petitioner_data=None, raw_data=None)[source]
Bases:
objectIndividual PTAB trial proceeding record.
- trial_number
Trial number (e.g., “IPR2023-00123”).
- trial_record_identifier
UUID identifier for the trial record.
- last_modified_date_time
Last modification timestamp.
- trial_meta_data
Trial metadata.
- patent_owner_data
Patent owner information.
- regular_petitioner_data
Regular petitioner information.
- respondent_data
Respondent information.
- derivation_petitioner_data
Derivation petitioner information.
- raw_data
Raw JSON response data (if include_raw_data=True).
-
derivation_petitioner_data:
DerivationPetitionerData|None= None
- classmethod from_dict(data, include_raw_data=False)[source]
Create a PTABTrialProceeding instance from a dictionary.
- Parameters:
- Returns:
An instance of PTABTrialProceeding.
- Return type:
-
patent_owner_data:
PatentOwnerData|None= None
-
regular_petitioner_data:
RegularPetitionerData|None= None
-
respondent_data:
RespondentData|None= None
- to_dict()[source]
Convert the PTABTrialProceeding instance to a dictionary.
- Returns:
Dictionary with camelCase keys and None values filtered.
- Return type:
Dict[str, Any]
-
trial_meta_data:
TrialMetaData|None= None
- class pyUSPTO.models.ptab.PTABTrialProceedingResponse(count=0, request_identifier=None, patent_trial_proceeding_data_bag=<factory>, raw_data=None)[source]
Bases:
objectResponse container for PTAB trial proceedings search.
- count
Total number of matching results.
- request_identifier
UUID for the API request.
- patent_trial_proceeding_data_bag
List of trial proceedings.
- raw_data
Raw JSON response data (if include_raw_data=True).
- classmethod from_dict(data, include_raw_data=False)[source]
Create a PTABTrialProceedingResponse instance from a dictionary.
- Parameters:
- Returns:
An instance of PTABTrialProceedingResponse.
- Return type:
-
patent_trial_proceeding_data_bag:
list[PTABTrialProceeding]
- class pyUSPTO.models.ptab.PatentOwnerData(application_number_text=None, counsel_name=None, grant_date=None, group_art_unit_number=None, inventor_name=None, real_party_in_interest_name=None, patent_number=None, patent_owner_name=None, technology_center_number=None, publication_date=None, publication_number=None)[source]
Bases:
PartyDataParty data for a patent owner in PTAB trial proceedings.
Inherits all attributes from PartyData. Used in IPR, PGR, CBM, and DER proceedings to represent the patent holder.
- class pyUSPTO.models.ptab.RegularPetitionerData(counsel_name=None, real_party_in_interest_name=None)[source]
Bases:
objectRegular petitioner information.
- counsel_name
Name of counsel.
- real_party_in_interest_name
Real party in interest name.
- class pyUSPTO.models.ptab.RequestorData(third_party_name=None)[source]
Bases:
objectThird party requestor information.
- third_party_name
Name of the third party.
- class pyUSPTO.models.ptab.RespondentData(application_number_text=None, counsel_name=None, grant_date=None, group_art_unit_number=None, inventor_name=None, real_party_in_interest_name=None, patent_number=None, patent_owner_name=None, technology_center_number=None, publication_date=None, publication_number=None)[source]
Bases:
PartyDataRespondent party data in derivation proceedings.
Inherits all attributes from PartyData. Used in DER proceedings to represent the responding party.
- class pyUSPTO.models.ptab.SeniorPartyData(application_number_text=None, counsel_name=None, grant_date=None, group_art_unit_number=None, inventor_name=None, real_party_in_interest_name=None, patent_number=None, patent_owner_name=None, technology_center_number=None, publication_date=None, publication_number=None)[source]
Bases:
PartyDataSenior party information in PTAB interference proceedings.
Inherits all attributes from PartyData. Represents the party with the earlier effective filing date in an interference.
- class pyUSPTO.models.ptab.TrialDecisionData(statute_and_rule_bag=<factory>, decision_issue_date=None, decision_type_category=None, issue_type_bag=<factory>, trial_outcome_category=None)[source]
Bases:
objectMetadata for a decision in a PTAB trial.
- statute_and_rule_bag
List of applicable statutes and rules.
- decision_issue_date
Date issued.
- decision_type_category
Type of decision (e.g. “Final Written Decision”).
- issue_type_bag
List of issues addressed.
- trial_outcome_category
Outcome (e.g., “Denied”).
- classmethod from_dict(data)[source]
Create a TrialDecisionData instance from a dictionary.
- class pyUSPTO.models.ptab.TrialDocumentData(document_category=None, document_filing_date=None, document_identifier=None, document_name=None, document_number=None, document_size_quantity=None, document_ocr_text=None, document_title_text=None, document_type_description_text=None, file_download_uri=None, filing_party_category=None)[source]
Bases:
objectMetadata for a document in a PTAB trial.
- document_category
Category of the document.
- document_filing_date
Filing date.
- document_identifier
Unique ID.
- document_name
Filename.
- document_number
Document number in the proceeding.
- document_size_quantity
Size in bytes.
- document_ocr_text
OCR text content.
- document_title_text
Title of the document.
- document_type_description_text
Description of document type.
- file_download_uri
URL to download the file.
- filing_party_category
Who filed (e.g., “Petitioner”).
- mime_type_identifier
MIME type (e.g., “application/pdf”).
- document_status
Public status.
- class pyUSPTO.models.ptab.TrialMetaData(petition_filing_date=None, accorded_filing_date=None, trial_last_modified_date_time=None, trial_last_modified_date=None, trial_status_category=None, trial_type_code=None, file_download_uri=None, termination_date=None, latest_decision_date=None, institution_decision_date=None)[source]
Bases:
objectTrial metadata including status, dates, and download URI.
- petition_filing_date
Date the petition was filed.
- accorded_filing_date
The filing date accorded to the petition.
- trial_last_modified_date_time
Last modification timestamp.
- trial_last_modified_date
Last modification date.
- trial_status_category
Status of the trial (e.g., “Institution Denied”, “Instituted”).
- trial_type_code
Type of trial (IPR, PGR, CBM, DER).
- file_download_uri
URI to download ZIP of all trial documents.
- termination_date
Date the trial was terminated.
- latest_decision_date
Date of the most recent decision.
- institution_decision_date
Date of the institution decision.
- classmethod from_dict(data, include_raw_data=False)[source]
Create a TrialMetaData instance from a dictionary.
- Parameters:
- Returns:
An instance of TrialMetaData.
- Return type: