{"openapi":"3.1.0","info":{"title":"NoticeReady Motoring Notice Decision API","version":"0.6.0","description":"Paid structured procedural decision support for common motoring notices in England and Wales. It does not provide legal advice or representation."},"servers":[{"url":"https://api.noticeready.co.uk"}],"paths":{"/v1/notice/analyse":{"post":{"operationId":"analyseMotoringNotice","summary":"Analyse declared motoring notice facts","description":"Classifies the declared notice, screens procedural deadlines, identifies possible issues and returns source linked next actions. Do not send personal data or document images.","parameters":[{"name":"Authorization","in":"header","required":false,"schema":{"type":"string"},"description":"Operational bearer key used only where payment gateway mode is disabled."},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":16,"maxLength":128}},{"name":"Stripe-Checkout-Session","in":"header","required":false,"schema":{"type":"string"},"description":"Legacy Checkout mode only. Payment Link mode releases the same idempotent request after Stripe confirms payment by webhook."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["jurisdiction","noticeType","keeperStatus","driverStatus"],"properties":{"jurisdiction":{"const":"england_wales"},"noticeType":{"type":"string","enum":["nip","nip_section172_combined","section172","conditional_offer","fixed_penalty","sjpn","summons","unknown"]},"containsSection172Requirement":{"type":["boolean","null"]},"offenceDate":{"type":["string","null"],"format":"date"},"noticeDate":{"type":["string","null"],"format":"date"},"receiptDate":{"type":["string","null"],"format":"date"},"asOfDate":{"type":["string","null"],"format":"date"},"keeperStatus":{"type":"string","enum":["registered_keeper","lease_hire_company","company_employer","nominated_driver","unknown"]},"driverStatus":{"type":"string","enum":["alleged_driver","not_driver","uncertain","company","unknown"]},"firstNotice":{"type":["boolean","null"]},"allegedSpeedMph":{"type":["integer","null"],"minimum":1,"maximum":250},"speedLimitMph":{"type":["integer","null"],"enum":[20,30,40,50,60,70,null]},"policeForce":{"type":["string","null"],"minLength":2,"maxLength":100},"previousCorrespondence":{"type":"array","maxItems":10,"items":{"type":"string","enum":["none","reminder","driver_nomination","photograph_request","photographs_received","course_offer","conditional_offer","court_notice","other_procedural_correspondence"]}}}}}}},"responses":{"200":{"description":"Structured decision support result."},"400":{"description":"Invalid input or missing idempotency key."},"401":{"description":"Missing or invalid API key."},"402":{"description":"Payment is required or the supplied payment credential could not be verified. In Payment Link mode the response contains a request-bound checkoutUrl. Complete payment and retry the identical request with the same Idempotency-Key. In MPP mode the response advertises a charge using WWW-Authenticate: Payment.","headers":{"WWW-Authenticate":{"schema":{"type":"string"},"description":"MPP payment challenge when MPP is enabled."},"Payment-Checkout-Url":{"schema":{"type":"string","format":"uri"},"description":"Stripe hosted Checkout URL when Stripe Checkout mode is enabled."}}},"413":{"description":"Request body exceeds 16 KiB."},"429":{"description":"Rate limit exceeded."},"503":{"description":"Payment settlement credentials are not configured. No assessment is released and no charge is attempted."}}}},"/health":{"get":{"operationId":"health","summary":"Health check","responses":{"200":{"description":"Service is healthy."}}}}}}