> ## 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.

# Opposition windows

> Severity, deadlines, and the four window states attached to every alert

When an alert involves a published mark in a [supported jurisdiction](#coverage), Signa attaches the opposition deadline and a window state so you can route on urgency. The state transitions automatically as the deadline approaches.

## The four window states

| State          | When                                                     | Severity   |
| -------------- | -------------------------------------------------------- | ---------- |
| `open`         | Window is open and the deadline is 14 days or more away. | `normal`   |
| `closing_soon` | Less than 14 days remaining.                             | `high`     |
| `critical`     | Less than 7 days remaining.                              | `critical` |
| `closed`       | The window has elapsed.                                  | `normal`   |

State transitions happen on every ingestion sync that touches the office. A mark published Friday afternoon and crossing into `critical` the following week requires no extra scheduling in your application.

If the mark moves into a status that ends the window early (for example abandonment), `opposition_window_status` flips to `closed` on the next sync that observes the change.

## Severity routing

`severity` is automatically escalated based on the window state, which makes it easy to page on-call only when a window is genuinely close to closing.

```ts theme={null}
const critical = await signa.alerts.list({ severity: 'critical' });
for await (const a of critical) {
  if (a.opposition_window_status === 'critical') {
    notifyAttorney(a.trademark_id, a.must_act_by);
  }
}
```

For the recommended polling cadence and routing pattern, see [Severity-based routing](/guides/monitoring/alert-handling#severity-based-routing).

## Worked example -- USPTO publication

A new mark publishes in the USPTO Trademark Official Gazette on **2026-04-15**. In the US, the standard opposition window is 30 days from publication.

| Date       | What happens               | `opposition_window_status` | `severity` | `must_act_by` |
| ---------- | -------------------------- | -------------------------- | ---------- | ------------- |
| 2026-04-15 | Mark published.            | `open`                     | `normal`   | 2026-05-15    |
| 2026-05-02 | Routine sync, nothing new. | `open`                     | `normal`   | 2026-05-15    |
| 2026-05-08 | \< 14 days remaining.      | `closing_soon`             | `high`     | 2026-05-15    |
| 2026-05-12 | \< 7 days remaining.       | `critical`                 | `critical` | 2026-05-15    |
| 2026-05-16 | Window elapsed.            | `closed`                   | `normal`   | 2026-05-15    |

`must_act_by` is the latest moment to file -- end of day in the office's local timezone, ISO 8601.

## Coverage

Opposition rules are wired for 21 jurisdictions:

US (domestic and Madrid designations), EU, DE, GB, CH, FR, BX, SE, WIPO Madrid, CA, AU, NO, DK, FI, IS, PL, TH, VN, PH, BR, MX.

The full registry is available via [`GET /v1/opposition-rules`](/api-reference/reference/opposition-rules).

For marks in jurisdictions without a wired rule, `opposition_window_status` and `must_act_by` are both `null`.
