---
title: "Maintenance Calendar"
method: POST
path: "/v3/maintenance/calendar"
tags: ["maintenance"]
---

# Maintenance Calendar

`POST /v3/maintenance/calendar`

## Request

- Base URL: `https://api.etymolt.com`
- URL: `https://api.etymolt.com/v3/maintenance/calendar`
- Auth: none declared

Return the §8 / §15 / §8&9 maintenance calendar for a registered mark.

Shape mirrors services.maintenance_calendar.build_maintenance_calendar:
{registration_date, deadlines[], next, note}. An unparseable date yields an
empty calendar with an explanatory note (never guesses).

## Request body

- MaintenanceCalendarRequest
  - `registration_date` string, required: USPTO registration date, YYYY-MM-DD or YYYYMMDD (from the mark's TSDR record).
  - `mark` string, nullable: Optional wordmark, echoed back for the caller's UI.

## Response `200`

Successful Response

- unknown

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/etymolt/apis/etymolt-verify-ai-generated-brand-names.md) · [All operations](https://skmtc.dev/etymolt/apis/etymolt-verify-ai-generated-brand-names/llms.txt) · [OpenAPI document](https://skmtc.dev/etymolt/apis/etymolt-verify-ai-generated-brand-names/revisions/7228ffa1efa7?raw)
