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

# Renewal tracking

> List registered marks whose expiry date falls in a window, for your own portfolio or a whole register.

Renewal work starts from one question: which registered marks expire in the coming months? Expiry dates are filters, so the API answers it directly.

## Marks expiring in a window

```bash theme={null}
curl -G "https://api.pinakelai.com/v1/trademarks" \
  -H "Authorization: Bearer $PINAKEL_API_KEY" \
  --data-urlencode "jurisdiction=AD" \
  --data-urlencode "status=registered" \
  --data-urlencode "expiry_date_from=2027-01-01" \
  --data-urlencode "expiry_date_to=2027-03-31" \
  --data-urlencode "include_total=true" \
  --data-urlencode "limit=100"
```

Both bounds are inclusive. `include_total=true` returns the number of matches with the first page, so you can size the job before paging through it.

## For a portfolio

Combine the window with an owner or representative filter. With an anchor like this, you can also sort by expiry date:

```bash theme={null}
curl -G "https://api.pinakelai.com/v1/trademarks" \
  -H "Authorization: Bearer $PINAKEL_API_KEY" \
  --data-urlencode "owner_key=ESSITY PLD FRANCE" \
  --data-urlencode "jurisdiction=AD,AL,EM" \
  --data-urlencode "status=registered" \
  --data-urlencode "expiry_date_from=2027-01-01" \
  --data-urlencode "expiry_date_to=2027-12-31" \
  --data-urlencode "sort=expiry_date" \
  --data-urlencode "limit=100"
```

Use `representative_key` instead of `owner_key` to list the marks your firm is recorded as representing. Without an anchor filter, `sort=expiry_date` gets 400; sort the results yourself instead.

## Things to check before you docket a renewal

* **The expiry date is the office's.** Pinakel never computes it. When it is `null`, the office did not publish one: compute the deadline from the registration date and the local term yourself, and keep it apart from office data.
* **Not every register publishes expiry dates.** Ten registers state one for fewer than 10% of their records: `US`, `IN`, `TR`, `IT`, `EC`, `SA`, `AT`, `BO`, `BD` and `LY`. For the United States, `dates.renewal` is the last renewal, not the next due date. See [Expired and lapsed marks](https://docs.pinakelai.com/concepts/status.md#expired-and-lapsed-marks).
* **Grace periods differ.** Most offices allow late renewal with a surcharge, typically for six months after expiry, and some keep the mark as `registered` during that time. A registered mark with a past expiry date may be in its grace period.
* **Renewals take time to appear.** After a renewal is filed, the office updates the expiry date when it records the renewal, and Pinakel picks it up at the register's next update (see [Coverage & freshness](https://docs.pinakelai.com/data/coverage-and-freshness.md)). Re-check a mark before you chase its owner.
* **`dates.renewal`** is the date of the most recent renewal, when the office publishes it. A new renewal date with a later expiry date confirms the renewal.
* **International registrations** renew at WIPO, for all designations at once. In the `WO` register, `status.value` follows the expiry date only; check national records for the state of protection in a country (see [Data quality](https://docs.pinakelai.com/data/data-quality.md#status-and-dates-in-the-wo-register)).

## Keeping the list current

Expiry dates move when renewals are recorded. Re-run your window searches on a schedule, or keep the marks in your docket and follow their changes, as in [Docketing sync](https://docs.pinakelai.com/use-cases/docketing-sync.md). A renewal shows up as a change to `dates.expiry`, and often to `dates.renewal` and `status.date`.


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