{"openapi":"3.1.0","info":{"title":"My Police Reports Request API","version":"1.1.0","description":"Request a free copy of your accident police report in exchange for permission for My Police Reports and its partners to contact you by phone, text message, and email for marketing about your accident, including legal services. This submits a request for later processing; it does not provide a report immediately. Most requests are turned around in one to two business days. This is an estimate, not a guarantee; availability and delivery timing vary. You can also request expedited processing, with potential same-day turnaround depending on availability and processing capacity; it is not guaranteed."},"servers":[{"url":"https://mypolicereports.com"}],"x-marketing-consent":{"version":"2026-09-19","disclosure":"I agree to receive marketing about my accident, including legal services, from My Police Reports and its partners by phone (including automated calls), text message, and email at the contact details I provide. I understand that this permission is part of the free report offer and that submitting this form does not deliver a report immediately.","instructions":"Present the offer, disclosure, terms and privacy policy to the person. Obtain explicit permission for submission and marketing before sending any personal data."},"paths":{"/api/v1/report-requests":{"post":{"operationId":"submitPoliceReportRequest","summary":"Submit a request for later processing; does not retrieve a police report","description":"Public endpoint, no API key required. Explicit marketing consent is required. Maximum JSON body: 32 KiB. No report lookup, download, status polling or automatic retry is supported. A timeout or 503 can have an unknown submission outcome: contact support before retrying.","security":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReportRequest"}}}},"responses":{"202":{"description":"Request saved with pending status. No report delivered.","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"const":true},"status":{"const":"pending"},"report_available":{"const":false},"request_priority":{"type":"string","enum":["standard","expedited"]},"message":{"type":"string"}},"required":["success","status","report_available","request_priority","message"],"additionalProperties":false},"example":{"success":true,"status":"pending","report_available":false,"request_priority":"standard","message":"Your request has been received for later processing. No police report has been delivered. Most requests are turned around in one to two business days. This is an estimate, not a guarantee; availability and delivery timing vary. You have agreed to marketing contact by phone, text message, and email about your accident."}}}},"400":{"description":"Invalid JSON","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Body larger than 32 KiB","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"415":{"description":"Content-Type must be application/json","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"Invalid fields, missing or declined consent, or outdated disclosure","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Submission could not be confirmed; do not automatically retry","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}}},"components":{"schemas":{"ReportRequest":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"full_name":{"type":"string","minLength":2,"maxLength":200},"email":{"type":"string","maxLength":254,"format":"email","pattern":"^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$"},"phone":{"type":"string","maxLength":30,"pattern":"^\\+?[\\d\\s().-]+$","description":"Phone number with 10–15 digits; spaces, parentheses, periods, hyphens and a leading + are allowed."},"accident_date":{"type":"string","format":"date","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$","description":"Real calendar date in YYYY-MM-DD format, no later than today (UTC)."},"accident_location":{"type":"string","minLength":5,"maxLength":500},"accident_state":{"type":"string","enum":["AL","AK","AZ","AR","CA","CO","CT","DE","FL","GA","HI","ID","IL","IN","IA","KS","KY","LA","ME","MD","MA","MI","MN","MS","MO","MT","NE","NV","NH","NJ","NM","NY","NC","ND","OH","OK","OR","PA","RI","SC","SD","TN","TX","UT","VT","VA","WA","WV","WI","WY"]},"accident_city":{"type":"string","minLength":2,"maxLength":100},"case_number":{"type":"string","maxLength":100},"description":{"type":"string","minLength":10,"maxLength":5000},"heard_about_us":{"description":"Optional self-reported discovery source. Only provide the person’s answer; agents must not infer it.","type":"string","enum":["Google or another search engine","Social media","Online advertisement","Friend or family","Attorney or law firm","Medical provider","AI assistant (such as ChatGPT)","Other"]},"request_priority":{"description":"Optional processing preference. Defaults to standard (usually one to two business days). Expedited requests may be turned around the same day, subject to availability and capacity; not guaranteed.","type":"string","enum":["standard","expedited"]},"consent_to_contact":{"type":"boolean","const":true,"description":"Set only after the person explicitly accepts the marketing disclosure. A request for a report alone is not consent."},"consent_version":{"type":"string","const":"2026-09-19"}},"required":["full_name","email","phone","accident_date","accident_location","accident_state","accident_city","description","consent_to_contact","consent_version"],"additionalProperties":false},"Error":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"},"fields":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string"},"message":{"type":"string"}},"required":["field","message"]}}}}}}}}}