---
title: "Customer invoice-date deadline projection"
method: POST
path: "/api/v1/calculate-deadline"
tags: ["calculations"]
---

# Customer invoice-date deadline projection

`POST /api/v1/calculate-deadline`

## Request

- Base URL: `https://secure-api-v1.liendeadline.com`
- URL: `https://secure-api-v1.liendeadline.com/api/v1/calculate-deadline`
- Auth: HTTP bearer

Dedicated Bearer customer key with deadline:calculate scope. Completed projections consume the key owner’s API plan allowance. No project/customer record is saved. Repeated successful calls each consume a unit. Kansas invoice-only inputs require event review; use the separate supplier-events-v1 contract for reviewed delivery events.

## Request body

- CalculationRequest
  - `state` string, required: Supported two-letter US state code
  - `invoice_date` string, required: Legacy invoice-date projection in YYYY-MM-DD; not a verified statutory triggering event
  - `project_type` 'commercial' | 'residential'
  - `notice_date` string: Optional notice-of-completion date in YYYY-MM-DD
  - `role` 'supplier' | 'contractor' | 'subcontractor'

## Response `200`

Successful Response

- unknown

## Other responses

- `401`: Missing, malformed, unknown, expired or revoked customer key; detail.code=invalid_credentials
- `403`: Valid key lacks scope, active customer ownership or account access; detail.code=access_denied
- `422`: Validation Error
- `429`: Shared request budget exhausted; detail.code=rate_limited with Retry-After seconds
- `503`: Credential/rate-limit store or authoritative rules unavailable; fails closed

---

[API](https://skmtc.dev/liendeadline/apis/lien-deadline-api.md) · [All operations](https://skmtc.dev/liendeadline/apis/lien-deadline-api/llms.txt) · [OpenAPI document](https://skmtc.dev/liendeadline/apis/lien-deadline-api/revisions/170b4d579b4b?raw)
