Office Action Rejections Models

models.oa_rejections - Data models for USPTO Office Action Rejections API.

This module provides data models for representing responses from the USPTO Office Action Rejections API (v2). These models cover rejection-level data from Office Actions including rejection type indicators, claim arrays, and examiner classification metadata.

class pyUSPTO.models.oa_rejections.OARejectionsFieldsResponse(api_key=None, api_version_number=None, api_url=None, api_documentation_url=None, api_status=None, field_count=0, fields=<factory>, last_data_updated_date=None)[source]

Bases: object

Response from the OA Rejections API fields endpoint.

Contains metadata about the API including available field names and the last data update timestamp.

api_key

The dataset key (e.g., "oa_rejections").

api_version_number

API version (e.g., "v2").

api_url

The URL of this fields endpoint.

api_documentation_url

URL to the Swagger documentation.

api_status

Publication status (e.g., "PUBLISHED").

field_count

Number of available fields.

fields

List of available field names.

last_data_updated_date

Timestamp of the last data update (non-standard format).

api_documentation_url: str | None = None
api_key: str | None = None
api_status: str | None = None
api_url: str | None = None
api_version_number: str | None = None
field_count: int = 0
fields: list[str]
classmethod from_dict(data, include_raw_data=False)[source]

Create an OARejectionsFieldsResponse from a dictionary.

Parameters:
  • data (dict[str, Any]) – Dictionary containing API response data.

  • include_raw_data (bool) – Unused. Present for FromDictProtocol conformance.

Returns:

An instance of OARejectionsFieldsResponse.

Return type:

OARejectionsFieldsResponse

last_data_updated_date: str | None = None
to_dict()[source]

Convert the OARejectionsFieldsResponse instance to a dictionary.

Returns:

Dictionary representation with camelCase keys.

Return type:

dict[str, Any]

class pyUSPTO.models.oa_rejections.OARejectionsRecord(id='', patent_application_number=None, legacy_document_code_identifier=None, action_type_category=None, legal_section_code=None, group_art_unit_number=None, national_class=None, national_subclass=None, paragraph_number=None, obsolete_document_identifier=None, create_user_identifier=None, claim_number_array_document=<factory>, submission_date=None, create_date_time=None, has_rej_101=None, has_rej_102=None, has_rej_103=None, has_rej_112=None, has_rej_dp=None, cite_103_max=None, cite_103_eq1=None, cite_103_gt3=None, closing_missing=None, reject_form_missmatch=None, form_paragraph_missing=None, header_missing=None, bilski_indicator=None, mayo_indicator=None, alice_indicator=None, myriad_indicator=None, allowed_claim_indicator=None)[source]

Bases: object

A single rejection record from the OA Rejections API.

id

Unique record identifier (hex hash).

patent_application_number

USPTO patent application number.

legacy_document_code_identifier

Document code (e.g., "CTNF", "NOA").

action_type_category

Type of office action (e.g., "rejected").

legal_section_code

Legal provision under which the action was taken.

group_art_unit_number

Examiner group art unit (e.g., "1713").

national_class

USPC national class code.

national_subclass

USPC national subclass code.

paragraph_number

Paragraph number referenced in the action.

obsolete_document_identifier

Legacy IFW document identifier.

create_user_identifier

Job identifier that inserted this record.

claim_number_array_document

Claim numbers referenced in this record, split from the API’s comma-separated string format.

submission_date

Date the office action was submitted.

create_date_time

Timestamp when this record was inserted into the database.

has_rej_101

Whether a 35 U.S.C. § 101 rejection was raised.

has_rej_102

Whether a 35 U.S.C. § 102 rejection was raised.

has_rej_103

Whether a 35 U.S.C. § 103 rejection was raised.

has_rej_112

Whether a 35 U.S.C. § 112 rejection was raised.

has_rej_dp

Whether a non-statutory double patenting rejection was raised.

cite_103_max

Largest number of references in any single § 103 rejection.

cite_103_eq1

Whether exactly one reference was cited in a § 103 rejection.

cite_103_gt3

Whether more than three references were cited in a § 103 rejection.

closing_missing

Whether the closing paragraph is missing from the action.

reject_form_missmatch

Whether the form content doesn’t match the document code. Note: field name preserves the API’s original spelling.

form_paragraph_missing

Whether a required form paragraph is missing.

header_missing

Whether the standard metadata header is missing.

bilski_indicator

Whether the Bilski v. Kappos decision is referenced.

mayo_indicator

Whether the Mayo v. Prometheus decision is referenced.

alice_indicator

Whether the Alice/Mayo framework is applied for § 101 review.

myriad_indicator

Whether the Myriad Genetics decision is applied.

allowed_claim_indicator

Whether the application contains allowed claims.

action_type_category: str | None = None
alice_indicator: bool | None = None
allowed_claim_indicator: bool | None = None
bilski_indicator: bool | None = None
cite_103_eq1: int | None = None
cite_103_gt3: int | None = None
cite_103_max: int | None = None
claim_number_array_document: list[str]
closing_missing: int | None = None
create_date_time: datetime | None = None
create_user_identifier: str | None = None
form_paragraph_missing: int | None = None
classmethod from_dict(data)[source]

Create an OARejectionsRecord from a dictionary.

Parameters:

data (dict[str, Any]) – Dictionary containing rejection record data from API response.

Returns:

An instance of OARejectionsRecord.

Return type:

OARejectionsRecord

group_art_unit_number: str | None = None
has_rej_101: bool | None = None
has_rej_102: bool | None = None
has_rej_103: bool | None = None
has_rej_112: bool | None = None
has_rej_dp: bool | None = None
header_missing: int | None = None
id: str = ''
legacy_document_code_identifier: str | None = None
legal_section_code: str | None = None
mayo_indicator: bool | None = None
myriad_indicator: bool | None = None
national_class: str | None = None
national_subclass: str | None = None
obsolete_document_identifier: str | None = None
paragraph_number: str | None = None
patent_application_number: str | None = None
reject_form_missmatch: int | None = None
submission_date: datetime | None = None
to_dict()[source]

Convert the OARejectionsRecord instance to a dictionary.

Returns:

Dictionary with camelCase keys matching the API format.

Claim numbers are joined back to a comma-separated string in a list. None values and empty lists are omitted.

Return type:

dict[str, Any]

class pyUSPTO.models.oa_rejections.OARejectionsResponse(num_found=0, start=0, docs=<factory>, raw_data=None)[source]

Bases: object

Response from the OA Rejections API search endpoint.

The API returns a Solr-style response with start, numFound, and docs. The outer envelope key is "response".

num_found

Total number of matching records.

start

The start index of the first result in this page.

docs

List of rejection records in this page.

raw_data

Optional raw JSON data from the API response (for debugging).

property count: int

Return total result count for pagination compatibility.

docs: list[OARejectionsRecord]
classmethod from_dict(data, include_raw_data=False)[source]

Create an OARejectionsResponse from a dictionary.

Handles both the raw API envelope ({"response": {...}}) and a pre-unwrapped dictionary.

Parameters:
  • data (dict[str, Any]) – Dictionary containing API response data.

  • include_raw_data (bool) – If True, store the raw JSON for debugging.

Returns:

An instance of OARejectionsResponse.

Return type:

OARejectionsResponse

num_found: int = 0
raw_data: str | None = None
start: int = 0
to_dict()[source]

Convert the OARejectionsResponse instance to a dictionary.

Returns:

Dictionary wrapped in the "response" envelope

matching the API format.

Return type:

dict[str, Any]