# NoticeAhead NoticeAhead tracks recurring contracts and tells a team when to act before an auto-renewal locks in. It computes the notice deadline and the decision deadline, and sends reminders ahead of both. ## Machine endpoints GET /api/notice-deadline Free and stateless. Query: term_end_date (YYYY-MM-DD, required), notice_period (whole number, required), notice_unit (DAYS|MONTHS, default DAYS), preparation_buffer_days (whole number, default 0). Returns notice_deadline, decision_deadline, days_until_notice, source, steps and warnings as JSON. GET or POST /api/v1/contracts Read-only contract list for one organisation. Auth: Authorization: Bearer or X-Api-Key: . Optional query: limit (1-200, default 200). Each contract carries its computed notice_deadline, decision_deadline and days_until_notice. POST https://noticeahead.com/mcp Hosted Model Context Protocol (MCP) endpoint over streamable HTTP, for assistants and agent runtimes that can only be given a URL. Auth: the same organisation token as /api/v1/contracts in Authorization: Bearer or X-Api-Key: ; a request without a valid token gets 401 and nothing else. Tools: list_contracts - that organisation's contracts, each with computed notice_deadline, decision_deadline and days_until_notice; get_contract - one contract of that organisation (contract_id) with its deadlines, status and reminder schedule; list_expiring_contracts - contracts whose notice or decision deadline falls in the next N days (days, deadline, limit); renewal_calendar - contracts grouped by the month their term ends (months); deadline_rules - the deadline-calculation rules as plain text; notice_deadline - deadline maths, no database; create_contract - create a contract (write scope, confirm=true); update_contract - patch a contract (write scope, confirm=true); set_reminder - schedule a reminder (write scope, confirm=true); mark_decision - record a decision (write scope, confirm=true). Every token carries a scope: "read" (the default) can only read, "write" can also change contracts. A write tool needs confirm=true and, without it, answers with a preview instead of changing anything. Example request: curl -s -H "Authorization: Bearer " -H "Accept: application/json, text/event-stream" -H "Content-Type: application/json" -d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}' https://noticeahead.com/mcp Connection guide for people: https://noticeahead.com/for-agents/ ## Pages - https://noticeahead.com/calculator/ - the same deadline maths in a browser - https://noticeahead.com/pricing/ - plans and limits - https://noticeahead.com/how-it-works/ - product walk-through - https://noticeahead.com/for-agents/ - how to connect an assistant over MCP