> ## Documentation Index
> Fetch the complete documentation index at: https://docs.signa.so/llms.txt
> Use this file to discover all available pages before exploring further.

# List Prosecution Rules

> List all prosecution deadline rules (office action responses, statements of use) across modeled offices

**Credits:** 10 per request.

## Overview

Returns a flat list of prosecution deadline rules: the response periods an applicant faces during examination, namely office action responses, suspension inquiry responses, post-registration office action responses and statements of use. Each rule is self-contained: the response period and how it is counted, the weekend and holiday roll, the extension ladder with fees, the "whichever is later" floor and statutory cap where one exists, the consequence of missing the deadline, and the remedy available after it attaches.

This is the third rule catalog, next to [List Deadline Rules](/api-reference/reference/deadline-rules) (maintenance and renewal) and [List Opposition Rules](/api-reference/reference/opposition-rules). It exposes the same rule corpus that computes prosecution deadlines on [Compute Deadlines](/api-reference/reference/compute-deadlines). Every computed prosecution deadline cites a `rule.rule_id`, and that id matches exactly one rule in this catalog, with the same source blocks: pinpoint `section`, verbatim `quoted_text`, and a `snapshot_sha256` of the fetched document. Any date Signa computes can be checked against the rule behind it without fetching the law again.

The catalog holds 11 rules today: 8 USPTO rules (domestic and Madrid office action and suspension inquiry responses, the statement of use, and post-registration office actions) and 3 EUIPO rules (direct-filing objections and Madrid designation refusals).

Where an office changed its regime, each era is its own rule. The USPTO moved from a 6-month to a 3-month response period for office actions issued on or after 3 December 2022, so the domestic office action response is two rules, `uspto_domestic_oa_response@legacy` and `uspto_domestic_oa_response@2022-12-03`, each with its own `effective_from` and `effective_until`. `applicability_basis` names the case date that selects the era.

Rules are not versioned one by one, and there is no rule-change webhook. To detect a change, keep the response's `ETag` and send it back in `If-None-Match`: `304` means no rule in your filtered set changed. Rule changes are announced in the [changelog](/changelog).

## Query Parameters

<ParamField query="jurisdiction" type="string">
  Filter by jurisdiction code (ISO 3166-1 alpha-2 or `EU`), case-insensitive. Office spellings are read as the jurisdiction they cover: `EM` as `EU`, `UK` as `GB`. A country with no modeled rules (e.g. `JP`) returns an empty list; a value that is not a country or jurisdiction code is a `400`. Comma-separated for multiple values.
</ParamField>

<ParamField query="office" type="string">
  Filter by uppercase ST.3 office code, e.g. `US` or `EM`. Legacy lowercase codes (`uspto`, `euipo`) and `EU` are accepted as aliases. An unknown office code is a `400`. Comma-separated for multiple values.
</ParamField>

<ParamField query="filing_route" type="string">
  Filter by filing route, in the vocabulary of `filing_route` on [Compute Deadlines](/api-reference/reference/compute-deadlines) items. Accepted values: `national`, `regional`, `madrid`. `national` and `regional` return `direct_national` rules; `madrid` returns `madrid_designation` rules. As on [List Deadline Rules](/api-reference/reference/deadline-rules), four trademark `filing_route` values are also accepted: `direct_national` reads as `national`, `direct_regional` as `regional`, and `madrid_ir` and `madrid_designation` as `madrid`. Other values (e.g. `transformation`) return `400` with the accepted list. Rules with `route: "any"` apply to every route and are returned for any value. Comma-separated for multiple values.
</ParamField>

<ParamField query="deadline_type" type="string">
  Filter by deadline type, in the `support[].type` vocabulary of [Compute Deadlines](/api-reference/reference/compute-deadlines). Accepted values: `oa_response`, `suspension_inquiry_response`, `post_registration_oa_response`, `sou`. Comma-separated for multiple values.
</ParamField>

## Response

A standard list response with `data: ProsecutionRule[]`. The corpus is small and returned in a single page, in a fixed order. This endpoint is publicly cacheable, so the response never includes `request_id`.

<ResponseField name="object" type="string">Always `list`</ResponseField>

<ResponseField name="data" type="object[]">
  <Expandable title="ProsecutionRule">
    <ResponseField name="object" type="string">Always `prosecution_rule`</ResponseField>
    <ResponseField name="rule_id" type="string">Stable, permanent id for this rule, the same id a computed prosecution deadline carries as `rule.rule_id`. Era-versioned rules carry an `@<date>` or `@legacy` suffix, e.g. `uspto_domestic_oa_response@2022-12-03`; rules with a single era have none, e.g. `uspto_domestic_sou`. Once published an id is never renamed or repointed, so it is safe to persist and to join against `rule.rule_id` on computed prosecution deadlines. Treat it as **opaque**: compare it for equality and do not parse it.</ResponseField>
    <ResponseField name="jurisdiction_code" type="string">Jurisdiction (uppercase ISO-2, or `EU`)</ResponseField>
    <ResponseField name="office_code" type="string">Uppercase ST.3 office code (`US`, `EM`)</ResponseField>
    <ResponseField name="route" type="string">`direct_national`, `madrid_designation`, or `any` when the rule applies regardless of route (USPTO post-registration office actions)</ResponseField>
    <ResponseField name="deadline_type" type="string">`oa_response`, `suspension_inquiry_response`, `post_registration_oa_response`, or `sou`</ResponseField>
    <ResponseField name="applies_when" type="string">Plain-language statement of when this rule applies</ResponseField>
    <ResponseField name="period" type="object">The response period measured from the trigger date: `value`, `unit` (`month` or `day`) and `counting`, how the period is counted. `anniversary_day_short_month_fallback` is US practice (TMEP 310). Values containing `day_after` (`day_after_anniversary_day_short_month_fallback`, `day_after_end_of_month_carry`, `calendar_days_from_day_after`) start the clock the day after the triggering event, as in the EU (Art 67 EUTMDR 2018/625).</ResponseField>
    <ResponseField name="roll_rule" type="object | null">Weekend and holiday adjustment applied to the computed due date (`kind`, `calendar`, `authority`), or `null` where the office applies no roll</ResponseField>
    <ResponseField name="extensions" type="object[]">The extension ladder, one entry per step: `ordinal`, `length`, `fee` (amount, currency, what it is charged per, and its authority), `request_deadline`, plain-language `conditions`, and `discretionary` (`false` means granted on a timely, fee-paid request). Empty when the deadline cannot be extended.</ResponseField>
    <ResponseField name="not_earlier_than" type="object | null">"Whichever is later" floor: the computed date is raised to the end of the named statutory maintenance window (`section_8`, `section_71`, `section_9`, or `any_pending`) when that falls later. `null` for rules without one.</ResponseField>
    <ResponseField name="absolute_cap" type="object | null">Statutory ceiling on the extended deadline, measured from the trigger date (e.g. the USPTO 6-month outer limit under 15 USC 1062(b)(3))</ResponseField>
    <ResponseField name="consequence" type="string">What happens when the deadline and every extension are missed: `abandonment`, `partial_abandonment`, `refusal`, `deemed_withdrawn`, `loss_of_right`, or `none`</ResponseField>
    <ResponseField name="remedy" type="object">The relief available after the consequence attaches: `kind` (`petition_to_revive`, `continuation_of_proceedings`, `restitutio_in_integrum`, `reinstatement`, `appeal`, or `none`), its `window` and `starts_from` anchor, `fee`, `authority`, and `notes` (e.g. the extension fee a USPTO petition to revive must also carry under 37 CFR 2.66(b)(4))</ResponseField>
    <ResponseField name="authority_level" type="string">The governing authority level for the rule value as a whole: `statute`, `regulation`, `office_practice`, or `office_notice`. `office_practice` marks values that exist only in practice material: US month arithmetic is in TMEP 310, and the CFR and USC are silent on how months are counted.</ResponseField>
    <ResponseField name="effective_from" type="string">When this rule era began, as `YYYY-MM-DD`</ResponseField>
    <ResponseField name="effective_until" type="string | null">The **inclusive** last day the era was in force, or `null` while still in force. A case date equal to this value selects this era; the next era starts the following day.</ResponseField>
    <ResponseField name="applicability_basis" type="string">Which case date is compared against the era boundaries. Not the same as `effective_from`: the US office action periods key off `office_action_issue_date`, the US statement of use off `notice_of_allowance_issue_date`, and EUIPO direct-filing objections off `time_limit_set_date`.</ResponseField>
    <ResponseField name="last_verified" type="string">Date Signa last checked this rule against its sources, as `YYYY-MM-DD`</ResponseField>
    <ResponseField name="sources" type="object[]">Citable sources behind the rule value, in the same shape computed prosecution deadlines cite: `citation`, `url`, pinpoint `section`, verbatim `quoted_text` (elisions marked with `…`), `snapshot_sha256` of the fetched document (or `null`), per-source `authority_level`, and `last_checked`.</ResponseField>
  </Expandable>
</ResponseField>

<ResponseField name="has_more" type="boolean">Always `false`. The corpus is returned in one page.</ResponseField>
<ResponseField name="pagination" type="object">Standard pagination envelope (`cursor: null`)</ResponseField>

<ResponseExample>
  ```json theme={null}
  {
    "object": "list",
    "data": [
      {
        "object": "prosecution_rule",
        "rule_id": "uspto_domestic_oa_response@2022-12-03",
        "jurisdiction_code": "US",
        "office_code": "US",
        "route": "direct_national",
        "deadline_type": "oa_response",
        "applies_when": "Section 1/44 refusal Office actions issued on or after 3 December 2022.",
        "period": {
          "value": 3,
          "unit": "month",
          "counting": "anniversary_day_short_month_fallback"
        },
        "roll_rule": {
          "kind": "next_business_day",
          "calendar": "uspto_dc",
          "authority": "37 CFR 2.196; 35 USC 21(b)"
        },
        "extensions": [
          {
            "ordinal": 1,
            "length": { "value": 3, "unit": "month" },
            "fee": {
              "amount": 125,
              "currency": "USD",
              "per": "request",
              "authority": "37 CFR 2.6(a)(28)(ii); paper filing is $225 under (i)"
            },
            "request_deadline": "on_or_before_current_deadline",
            "conditions": [
              "Timely request and fee; no showing required.",
              "One extension per Office action, not per class or application."
            ],
            "discretionary": false
          }
        ],
        "not_earlier_than": null,
        "absolute_cap": {
          "value": 6,
          "unit": "month",
          "measured_from": "trigger_date",
          "authority": "15 USC 1062(b)(3); 37 CFR 2.62(a)(2)"
        },
        "consequence": "abandonment",
        "remedy": {
          "kind": "petition_to_revive",
          "window": { "value": 2, "unit": "month" },
          "starts_from": "abandonment_notice_issue_date",
          "fee": {
            "amount": 250,
            "currency": "USD",
            "per": "request",
            "authority": "37 CFR 2.6(a)(15)(iv)"
          },
          "authority": "37 CFR 2.66",
          "notes": [
            "If non-receipt is declared, the alternative window is 2 months from actual knowledge, subject to an outer cap of 6 months from the TSDR abandoned date."
          ]
        },
        "authority_level": "office_practice",
        "effective_from": "2022-12-03",
        "effective_until": null,
        "applicability_basis": "office_action_issue_date",
        "last_verified": "2026-08-31",
        "sources": [
          {
            "citation": "37 CFR 2.62",
            "url": "https://www.ecfr.gov/current/title-37/section-2.62",
            "section": "37 CFR 2.62(a), (a)(1)-(2)",
            "quoted_text": "(a) Deadline. Each Office action shall set forth the deadline for response. (1) Response periods. Unless the applicant is notified otherwise in an Office action, the response periods for an Office action are as follows: (i) Three months from the issue date, for an Office action in an application under section 1 and/or section 44 of the Act; …",
            "snapshot_sha256": "7cf3d3eb3df61779b85328dd62ef86563d5fffcc31c57f432b9482473276eed7",
            "authority_level": "regulation",
            "last_checked": "2026-08-31"
          }
        ]
      }
    ],
    "has_more": false,
    "pagination": { "cursor": null }
  }
  ```
</ResponseExample>

The example abbreviates for length: this rule carries six `sources` and five `remedy.notes`, and `quoted_text` is cut at the trailing `…`.

## Post-registration office actions

`uspto_post_registration_oa_response` (`route: "any"`) is also listed on [List Deadline Rules](/api-reference/reference/deadline-rules) under the same `rule_id`, as a maintenance-catalog row. This catalog carries its prosecution shape: the 6-month period, the `not_earlier_than` floor at the end of the filing period the action examined, and reinstatement as the remedy.

## Code Examples

<CodeGroup>
  ```bash cURL theme={null}
  curl "https://api.signa.so/v1/prosecution-rules?office=US&deadline_type=oa_response" \
    -H "Authorization: Bearer sig_YOUR_KEY"
  ```

  ```typescript TypeScript theme={null}
  import { Signa } from "@signa-so/sdk";

  const signa = new Signa({ api_key: process.env.SIGNA_API_KEY });

  const rules = await signa.references.prosecutionRules({ office: "US", deadline_type: "oa_response" });
  for (const rule of rules.data) {
    console.log(rule.rule_id, rule.effective_from, rule.period.value, rule.period.unit);
  }
  ```
</CodeGroup>

## Related Endpoints

* [Compute Deadlines](/api-reference/reference/compute-deadlines), compute prosecution deadlines from stored trademark IDs or supplied facts; every computed date cites a `rule_id` from this catalog
* [List Deadline Rules](/api-reference/reference/deadline-rules), maintenance deadline rules (renewals, declarations)
* [List Opposition Rules](/api-reference/reference/opposition-rules), opposition window rules


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.