{"openapi":"3.0.0","paths":{"/claims/public":{"post":{"description":"Use this to report a road accident on behalf of anyone involved or anyone who saw it. Send where and when it happened, every vehicle you know of with its plate and role, and the name and phone number of the person reporting. The national bureau of the country where the accident happened receives the report as a new claim.\n\nThe answer holds the claim `reference`, for example `CLM-GH-2026-000141`. The reporter keeps the reference and the phone number: together they let the reporter follow the claim with **Request a code to follow a claim** and **Get the status of a claim with the SMS code**. One accident has one claim: a report the same reporter (the same phone) sends again for the same accident (the same country, day and place, with the same plates) answers with the claim already recorded and `duplicate: true`, and its photos join that claim.\n\n**What to send.** `accidentCountry` is the two-letter code of a country of the scheme and `accidentDate` is a calendar day, `YYYY-MM-DD`, today or earlier. List 1 to 6 vehicles; mark the one believed to have caused the accident `AT_FAULT` and the others `VICTIM` or `WITNESS`. A phone number is read as a number of the accident country when it is written without a country code. Photos uploaded beforehand can be attached by their ids in `photoDocumentIds`, up to 8.\n\nThis operation accepts 20 requests per minute from one client address.\n\n**Access.** Open to everyone. No key is needed.","operationId":"reportAccident","parameters":[],"requestBody":{"required":true,"description":"The accident, the vehicles and the person reporting.","content":{"application/json":{"schema":{"type":"object","properties":{"accidentCountry":{"type":"string","minLength":2,"maxLength":2},"accidentDate":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"},"place":{"type":"string","minLength":3,"maxLength":300},"lat":{"type":"number","minimum":-90,"maximum":90},"lng":{"type":"number","minimum":-180,"maximum":180},"description":{"type":"string","maxLength":2000},"damageKind":{"default":"MATERIAL","type":"string","enum":["MATERIAL","BODILY","BOTH"]},"vehicles":{"minItems":1,"maxItems":6,"type":"array","items":{"type":"object","properties":{"registration":{"type":"string","minLength":2,"maxLength":20},"role":{"default":"VICTIM","type":"string","enum":["AT_FAULT","VICTIM","WITNESS"]},"country":{"type":"string","minLength":2,"maxLength":2},"insurerName":{"type":"string","maxLength":160},"driverName":{"type":"string","maxLength":160}},"required":["registration"]}},"reporterName":{"type":"string","minLength":2,"maxLength":160},"reporterPhone":{"type":"string","pattern":"^\\+?[0-9 ()-]{7,20}$"},"reporterEmail":{"anyOf":[{"type":"string","maxLength":200,"format":"email","pattern":"^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$"},{"type":"string","enum":[""]}]},"photoDocumentIds":{"default":[],"maxItems":8,"type":"array","items":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"locale":{"type":"string","enum":["en","fr","pt"]}},"required":["accidentCountry","accidentDate","place","vehicles","reporterName","reporterPhone"]},"examples":{"accra":{"summary":"A collision in Accra, no injuries","description":"A Ghanaian driver reports that a Togolese minibus caused the accident.","value":{"accidentCountry":"GH","accidentDate":"2026-10-09","place":"Spintex Road, near Baatsona, Accra","lat":5.6372,"lng":-0.1012,"description":"A minibus pulled out of a side road and hit the left side of my car. Nobody was hurt.","damageKind":"MATERIAL","vehicles":[{"registration":"AS 4410-24","role":"VICTIM","country":"GH","insurerName":"Volta Assurance","driverName":"Yaw Darko"},{"registration":"TG 8842 AC","role":"AT_FAULT","country":"TG","insurerName":"Lomé Assurances"}],"reporterName":"Yaw Darko","reporterPhone":"+233 24 431 0042","reporterEmail":"yaw.darko@example.org","locale":"en"}},"lome":{"summary":"A collision in Lomé with an injury, reported in French","description":"The phone number carries its country code and `locale` is `fr`, so messages to the reporter are in French.","value":{"accidentCountry":"TG","accidentDate":"2026-09-28","place":"Boulevard du 13 Janvier, Lomé","lat":6.1319,"lng":1.2228,"description":"Une voiture immatriculée au Ghana a brûlé le feu rouge et heurté mon véhicule. Mon passager est blessé.","damageKind":"BOTH","vehicles":[{"registration":"GR 4821-24","role":"AT_FAULT","country":"GH","insurerName":"Volta Assurance"},{"registration":"TG 1234 AB","role":"VICTIM","country":"TG","insurerName":"Lomé Assurances","driverName":"Afi Mensah"}],"reporterName":"Afi Mensah","reporterPhone":"+228 90 12 34 56","locale":"fr"}},"minimal":{"summary":"The least that is needed","value":{"accidentCountry":"GH","accidentDate":"2026-10-11","place":"Kejetia, Kumasi","vehicles":[{"registration":"AS 2210-23"}],"reporterName":"Esi Quaye","reporterPhone":"0244310099"}}}}}},"responses":{"201":{"description":"The accident was reported. `reference` identifies the new claim.","headers":{"x-correlation-id":{"description":"Identifies this call. It repeats the `x-correlation-id` you sent, or is generated. Quote it to support.","schema":{"type":"string"},"example":"9f2b1c64-3d0e-4a57-b8c1-6e7d5a0f4b21"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReportReceipt"},"examples":{"reported":{"summary":"A claim was created","value":{"reference":"CLM-GH-2026-000141"}},"sentBefore":{"summary":"The same reporter sent this report before","value":{"reference":"CLM-GH-2026-000141","duplicate":true}}}}}},"400":{"description":"Bad request. The `code` in the body says which of these it is.\n\n- `VALIDATION`: A field is missing or holds a value that is not accepted, for example a phone number that cannot be read; `errors` lists each one.\n- `UNKNOWN_COUNTRY`: `accidentCountry` is not one of the countries of the scheme.\n- `FUTURE_DATE`: `accidentDate` is later than today.","headers":{"x-correlation-id":{"description":"Quote this to support.","schema":{"type":"string"},"example":"9f2b1c64-3d0e-4a57-b8c1-6e7d5a0f4b21"}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"},"examples":{"VALIDATION":{"summary":"400 VALIDATION","description":"A field is missing or holds a value that is not accepted, for example a phone number that cannot be read; `errors` lists each one.","value":{"type":"urn:bc:problem:validation","title":"Bad request","status":400,"code":"VALIDATION","detail":"Some fields are missing or invalid.","errors":[{"path":"reporterPhone","message":"Enter a phone number with its country code"}],"correlationId":"9f2b1c64-3d0e-4a57-b8c1-6e7d5a0f4b21"}},"UNKNOWN_COUNTRY":{"summary":"400 UNKNOWN_COUNTRY","description":"`accidentCountry` is not one of the countries of the scheme.","value":{"type":"urn:bc:problem:unknown_country","title":"Bad request","status":400,"code":"UNKNOWN_COUNTRY","detail":"ZZ is not one of the countries of the ECOWAS Brown Card scheme.","correlationId":"9f2b1c64-3d0e-4a57-b8c1-6e7d5a0f4b21"}},"FUTURE_DATE":{"summary":"400 FUTURE_DATE","description":"`accidentDate` is later than today.","value":{"type":"urn:bc:problem:future_date","title":"Bad request","status":400,"code":"FUTURE_DATE","detail":"The accident date cannot be in the future.","correlationId":"9f2b1c64-3d0e-4a57-b8c1-6e7d5a0f4b21"}}}}}},"409":{"description":"Conflict. The `code` in the body says which of these it is.\n\n- `ALREADY_REPORTED`: Someone else (another phone) already reported this accident: the same country, day and place, with the same plates. The answer never gives that claim’s reference.","headers":{"x-correlation-id":{"description":"Quote this to support.","schema":{"type":"string"},"example":"9f2b1c64-3d0e-4a57-b8c1-6e7d5a0f4b21"}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"},"examples":{"ALREADY_REPORTED":{"summary":"409 ALREADY_REPORTED","description":"Someone else (another phone) already reported this accident: the same country, day and place, with the same plates. The answer never gives that claim’s reference.","value":{"type":"urn:bc:problem:already_reported","title":"Conflict","status":409,"code":"ALREADY_REPORTED","detail":"This accident is already reported to the bureau of Ghana, which will contact the people involved.","correlationId":"9f2b1c64-3d0e-4a57-b8c1-6e7d5a0f4b21"}}}}}},"429":{"description":"Too many requests. The `code` in the body says which of these it is.\n\n- `RATE_LIMITED`: More than 20 requests came from the same address within a minute. Wait for the number of seconds in `retry-after`, then continue.","headers":{"x-correlation-id":{"description":"Quote this to support.","schema":{"type":"string"},"example":"9f2b1c64-3d0e-4a57-b8c1-6e7d5a0f4b21"},"retry-after":{"description":"Seconds to wait before the next call.","schema":{"type":"integer"},"example":42}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"},"examples":{"RATE_LIMITED":{"summary":"429 RATE_LIMITED","description":"More than 20 requests came from the same address within a minute. Wait for the number of seconds in `retry-after`, then continue.","value":{"type":"urn:bc:problem:rate_limited","title":"Too many requests","status":429,"code":"RATE_LIMITED","detail":"Too many requests from this address. Try again in a minute.","correlationId":"9f2b1c64-3d0e-4a57-b8c1-6e7d5a0f4b21"}}}}}}},"summary":"Report an accident","tags":["Report an accident"],"x-integrator":true,"x-public":true,"security":[]}},"/claims/track/start":{"post":{"description":"Use this first when a reporter wants to follow a claim. Send the claim `reference` and the phone number given in the report. When they match, the platform sends a six-digit code by SMS to that phone. The code works once and stays valid for 10 minutes.\n\nThe answer is the same for every request, so show the reporter a message such as \"If the details match a claim, a code is on its way\", then collect the code and continue with **Get the status of a claim with the SMS code**. A reporter can receive up to five codes an hour for one claim, and only the newest code works.\n\nThe phone number can be written the way the reporter gave it, with or without the country code. The SMS is sent in the language in `locale` (`en`, `fr` or `pt`), or in the language chosen in the report, or in English when neither is set.\n\nThis operation accepts 20 requests per minute from one client address.\n\n**Access.** Open to everyone. No key is needed.","operationId":"startClaimTracking","parameters":[],"requestBody":{"required":true,"description":"The claim reference and the phone number given in the report.","content":{"application/json":{"schema":{"type":"object","properties":{"reference":{"type":"string","maxLength":40},"phone":{"type":"string","maxLength":30},"locale":{"type":"string","enum":["en","fr","pt"]}},"required":["reference","phone"]},"examples":{"international":{"summary":"Phone number with its country code","value":{"reference":"CLM-GH-2026-000141","phone":"+233244310042"}},"french":{"summary":"Local number, SMS in French","value":{"reference":"CLM-TG-2026-000057","phone":"90 12 34 56","locale":"fr"}}}}}},"responses":{"202":{"description":"The request was accepted. When the reference and phone matched a claim, a code is on its way by SMS.","headers":{"x-correlation-id":{"description":"Identifies this call. It repeats the `x-correlation-id` you sent, or is generated. Quote it to support.","schema":{"type":"string"},"example":"9f2b1c64-3d0e-4a57-b8c1-6e7d5a0f4b21"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TrackingCodeRequest"},"examples":{"accepted":{"summary":"Request accepted","value":{"sent":true,"expiresInMinutes":10}}}}}},"400":{"description":"Bad request. The `code` in the body says which of these it is.\n\n- `VALIDATION`: `reference` or `phone` is missing or longer than the field allows; `errors` lists each one.","headers":{"x-correlation-id":{"description":"Quote this to support.","schema":{"type":"string"},"example":"9f2b1c64-3d0e-4a57-b8c1-6e7d5a0f4b21"}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"},"examples":{"VALIDATION":{"summary":"400 VALIDATION","description":"`reference` or `phone` is missing or longer than the field allows; `errors` lists each one.","value":{"type":"urn:bc:problem:validation","title":"Bad request","status":400,"code":"VALIDATION","detail":"Some fields are missing or invalid.","errors":[{"path":"reference","message":"Invalid input: expected string, received undefined"}],"correlationId":"9f2b1c64-3d0e-4a57-b8c1-6e7d5a0f4b21"}}}}}},"429":{"description":"Too many requests. The `code` in the body says which of these it is.\n\n- `RATE_LIMITED`: More than 20 requests came from the same address within a minute. Wait for the number of seconds in `retry-after`, then continue.","headers":{"x-correlation-id":{"description":"Quote this to support.","schema":{"type":"string"},"example":"9f2b1c64-3d0e-4a57-b8c1-6e7d5a0f4b21"},"retry-after":{"description":"Seconds to wait before the next call.","schema":{"type":"integer"},"example":42}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"},"examples":{"RATE_LIMITED":{"summary":"429 RATE_LIMITED","description":"More than 20 requests came from the same address within a minute. Wait for the number of seconds in `retry-after`, then continue.","value":{"type":"urn:bc:problem:rate_limited","title":"Too many requests","status":429,"code":"RATE_LIMITED","detail":"Too many requests from this address. Try again in a minute.","correlationId":"9f2b1c64-3d0e-4a57-b8c1-6e7d5a0f4b21"}}}}}}},"summary":"Request a code to follow a claim","tags":["Track a claim"],"x-integrator":true,"x-public":true,"security":[]}},"/claims/track/verify":{"post":{"description":"Use this after **Request a code to follow a claim**, once the reporter has the six-digit code from the SMS. Send the same `reference` and `phone` with the `code`. The answer shows the stage the claim has reached, its name in the language you ask for with `locale`, the day of the accident, the day the claim was last updated, and the six steps of a claim with the reached ones marked, ready for a progress display.\n\nA code works once and for 10 minutes. After five wrong tries on one code it stops working, even if the right digits are entered afterwards, and a new code is needed. Every failure gets the same `CODE_INVALID` answer, whether the code is wrong, expired or already used, or the reference and phone do not match a claim. Show its message and offer to send a new code.\n\n`stage` is one of `REPORTED`, `ACKNOWLEDGED`, `ASSESSING`, `OFFERED`, `PAID`, `CLOSED`, `DECLINED` or `WITHDRAWN`; the answer explains each one. The labels are in English unless `locale` is `fr` or `pt`.\n\nThis operation accepts 20 requests per minute from one client address.\n\n**Access.** Open to everyone. No key is needed.","operationId":"confirmClaimTracking","parameters":[],"requestBody":{"required":true,"description":"The reference and phone from the request for a code, and the code received.","content":{"application/json":{"schema":{"type":"object","properties":{"reference":{"type":"string","maxLength":40},"phone":{"type":"string","maxLength":30},"locale":{"type":"string","enum":["en","fr","pt"]},"code":{"type":"string","pattern":"^\\d{6}$"}},"required":["reference","phone","code"]},"examples":{"english":{"summary":"Status in English","value":{"reference":"CLM-GH-2026-000141","phone":"0244310042","code":"482915"}},"french":{"summary":"Status in French","value":{"reference":"CLM-TG-2026-000057","phone":"+22890123456","code":"073916","locale":"fr"}}}}}},"responses":{"200":{"description":"The code was right. The answer describes where the claim stands.","headers":{"x-correlation-id":{"description":"Identifies this call. It repeats the `x-correlation-id` you sent, or is generated. Quote it to support.","schema":{"type":"string"},"example":"9f2b1c64-3d0e-4a57-b8c1-6e7d5a0f4b21"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ClaimStatus"},"examples":{"reported":{"summary":"Just reported","value":{"reference":"CLM-GH-2026-000141","stage":"REPORTED","stageLabel":"Reported","accidentDate":"2026-10-09","accidentCountry":"GH","reportedOn":"2026-10-09","updatedOn":"2026-10-09","steps":[{"stage":"REPORTED","label":"Reported","reached":true,"current":true},{"stage":"ACKNOWLEDGED","label":"Received by the bureau","reached":false,"current":false},{"stage":"ASSESSING","label":"Damage being assessed","reached":false,"current":false},{"stage":"OFFERED","label":"Compensation offered","reached":false,"current":false},{"stage":"PAID","label":"Compensation paid","reached":false,"current":false},{"stage":"CLOSED","label":"Closed","reached":false,"current":false}]}},"assessingInFrench":{"summary":"Damage being assessed, in French","value":{"reference":"CLM-TG-2026-000057","stage":"ASSESSING","stageLabel":"Évaluation des dommages","accidentDate":"2026-09-28","accidentCountry":"TG","reportedOn":"2026-09-28","updatedOn":"2026-10-07","steps":[{"stage":"REPORTED","label":"Déclaré","reached":true,"current":false},{"stage":"ACKNOWLEDGED","label":"Reçu par le Bureau","reached":true,"current":false},{"stage":"ASSESSING","label":"Évaluation des dommages","reached":true,"current":true},{"stage":"OFFERED","label":"Indemnité proposée","reached":false,"current":false},{"stage":"PAID","label":"Indemnité versée","reached":false,"current":false},{"stage":"CLOSED","label":"Clos","reached":false,"current":false}]}},"declined":{"summary":"Declined","description":"For a declined or withdrawn claim no step is marked.","value":{"reference":"CLM-GH-2026-000098","stage":"DECLINED","stageLabel":"Declined","accidentDate":"2026-08-14","accidentCountry":"GH","reportedOn":"2026-08-15","updatedOn":"2026-08-21","steps":[{"stage":"REPORTED","label":"Reported","reached":false,"current":false},{"stage":"ACKNOWLEDGED","label":"Received by the bureau","reached":false,"current":false},{"stage":"ASSESSING","label":"Damage being assessed","reached":false,"current":false},{"stage":"OFFERED","label":"Compensation offered","reached":false,"current":false},{"stage":"PAID","label":"Compensation paid","reached":false,"current":false},{"stage":"CLOSED","label":"Closed","reached":false,"current":false}]}}}}}},"400":{"description":"Bad request. The `code` in the body says which of these it is.\n\n- `CODE_INVALID`: The code is wrong, expired, already used or tried five times, or the reference and phone do not match a claim.\n- `VALIDATION`: A field is missing or too long, or `code` is not six digits; `errors` lists each one.","headers":{"x-correlation-id":{"description":"Quote this to support.","schema":{"type":"string"},"example":"9f2b1c64-3d0e-4a57-b8c1-6e7d5a0f4b21"}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"},"examples":{"CODE_INVALID":{"summary":"400 CODE_INVALID","description":"The code is wrong, expired, already used or tried five times, or the reference and phone do not match a claim.","value":{"type":"urn:bc:problem:code_invalid","title":"Bad request","status":400,"code":"CODE_INVALID","detail":"The code is not right or has expired. Check the reference and phone, or ask for a new code.","correlationId":"9f2b1c64-3d0e-4a57-b8c1-6e7d5a0f4b21"}},"VALIDATION":{"summary":"400 VALIDATION","description":"A field is missing or too long, or `code` is not six digits; `errors` lists each one.","value":{"type":"urn:bc:problem:validation","title":"Bad request","status":400,"code":"VALIDATION","detail":"Some fields are missing or invalid.","errors":[{"path":"code","message":"Enter the 6-digit code"}],"correlationId":"9f2b1c64-3d0e-4a57-b8c1-6e7d5a0f4b21"}}}}}},"429":{"description":"Too many requests. The `code` in the body says which of these it is.\n\n- `RATE_LIMITED`: More than 20 requests came from the same address within a minute. Wait for the number of seconds in `retry-after`, then continue.","headers":{"x-correlation-id":{"description":"Quote this to support.","schema":{"type":"string"},"example":"9f2b1c64-3d0e-4a57-b8c1-6e7d5a0f4b21"},"retry-after":{"description":"Seconds to wait before the next call.","schema":{"type":"integer"},"example":42}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"},"examples":{"RATE_LIMITED":{"summary":"429 RATE_LIMITED","description":"More than 20 requests came from the same address within a minute. Wait for the number of seconds in `retry-after`, then continue.","value":{"type":"urn:bc:problem:rate_limited","title":"Too many requests","status":429,"code":"RATE_LIMITED","detail":"Too many requests from this address. Try again in a minute.","correlationId":"9f2b1c64-3d0e-4a57-b8c1-6e7d5a0f4b21"}}}}}}},"summary":"Get the status of a claim with the SMS code","tags":["Track a claim"],"x-integrator":true,"x-public":true,"security":[]}},"/claims":{"get":{"description":"Use this to find the claims your organisation can work on, or to look one up by reference, certificate number or plate. A national bureau sees the claims for accidents in its own country and the claims on certificates issued in its own country. An insurer sees the claims made on its own certificates.\n\nThe answer is a list, most recently updated first, of at most `limit` claims. Each item shows the stage, the country of the accident and of the certificate, the plate, the certificate number, whether the cover was confirmed in the certificate register, the amount recoverable once the damage is assessed, and the next Convention deadline. Read a whole claim with **Get a claim**, using the `id` of the item.\n\nNarrow the list with `view`, `status`, `country`, `handling`, `issuing`, `overdue`, `q` and a date range (`dateBy`, `from`, `to`). The list holds the `limit` most recently updated claims that match, so tighten the filters, for example `status=open` with `overdue=true`, to reach a particular group of claims.\n\n**Access.** Send an integration key or a signed-in session. The caller needs the permission `claim.read`; choose it when you create the key under Integrations → Integration keys.","operationId":"listClaims","parameters":[{"name":"view","in":"query","required":false,"description":"For a bureau: `handling` for accidents in your country, `issuing` for claims on certificates issued in your country, `all` (the default) for everything you can see.","schema":{"type":"string","enum":["handling","issuing","all"]},"example":"handling"},{"name":"status","in":"query","required":false,"description":"A stage such as `ACKNOWLEDGED`, or `open` for every claim still in progress: all but reimbursed, closed, declined and withdrawn ones.","schema":{"type":"string","enum":["REPORTED","ACKNOWLEDGED","ASSESSING","OFFERED","AGREED","PAID","RECOVERY","DEMANDED","REIMBURSED","DISPUTED","ARBITRATION","CLOSED","DECLINED","WITHDRAWN","open"]},"example":"open"},{"name":"country","in":"query","required":false,"description":"A two-letter country code, in capitals or not. Keeps the claims where the accident happened or the certificate was issued in that country.","schema":{"type":"string","minLength":2,"maxLength":2},"example":"TG"},{"name":"handling","in":"query","required":false,"description":"A two-letter country code. Keeps the claims handled in that country: the accident happened there.","schema":{"type":"string","minLength":2,"maxLength":2},"example":"GH"},{"name":"issuing","in":"query","required":false,"description":"A two-letter country code. Keeps the claims on certificates issued in that country.","schema":{"type":"string","minLength":2,"maxLength":2},"example":"TG"},{"name":"overdue","in":"query","required":false,"description":"`true` or `1` keeps only the claims whose next deadline has passed. `false` or `0` applies no filter.","schema":{"type":"string","enum":["0","1","true","false"]},"example":"true"},{"name":"q","in":"query","required":false,"description":"Up to 60 characters. Matches part of a claim reference or certificate number, or a whole plate whatever its spaces and hyphens.","schema":{"type":"string","maxLength":60},"example":"GR 4821-24"},{"name":"dateBy","in":"query","required":false,"description":"Which date `from` and `to` bound: `accident` (the default), the day of the accident, or `opened`, the day the claim reached the platform.","schema":{"type":"string","enum":["accident","opened"]},"example":"accident"},{"name":"from","in":"query","required":false,"description":"A calendar day, `YYYY-MM-DD`: keeps the claims on or after it. A range that starts after its end is refused with `BAD_RANGE`.","schema":{"type":"string"},"example":"2026-07-01"},{"name":"to","in":"query","required":false,"description":"A calendar day, `YYYY-MM-DD`: keeps the claims on or before it.","schema":{"type":"string"},"example":"2026-09-30"},{"name":"limit","in":"query","required":false,"description":"How many claims to return, from 1 to 200.","schema":{"default":100,"type":"integer","minimum":1,"maximum":200},"example":50}],"responses":{"200":{"description":"The claims that match, most recently updated first. An empty list means none.","headers":{"x-correlation-id":{"description":"Identifies this call. It repeats the `x-correlation-id` you sent, or is generated. Quote it to support.","schema":{"type":"string"},"example":"9f2b1c64-3d0e-4a57-b8c1-6e7d5a0f4b21"}},"content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ClaimSummary"}},"examples":{"claims":{"summary":"Three claims","value":[{"id":"3b6e1f08-5c27-4d9a-8e41-7a02c9d5b316","reference":"CLM-GH-2026-000142","status":"ACKNOWLEDGED","accidentCountry":"GH","issuingCountry":"TG","accidentDate":"2026-10-10","plate":"TG 1234 AB","certificateNumber":"TG-2026-0002056","coverConfirmed":true,"amountUa":null,"nextDeadline":{"kind":"POLICE_REPORT","dueOn":"2026-12-10","article":"Arts. 31, 81","basis":"The police report reaches the insurer within two months of the accident","party":"POLICE","state":"OPEN","doneOn":null,"daysLeft":59},"updatedAt":"2026-10-12T09:41:07.241Z"},{"id":"c2a8d417-96f3-4e0b-b5d2-18e7f40a3c69","reference":"CLM-GH-2026-000141","status":"REPORTED","accidentCountry":"GH","issuingCountry":null,"accidentDate":"2026-10-09","plate":"TG 8842 AC","certificateNumber":null,"coverConfirmed":false,"amountUa":null,"nextDeadline":{"kind":"POLICE_REPORT","dueOn":"2026-12-09","article":"Arts. 31, 81","basis":"The police report reaches the insurer within two months of the accident","party":"POLICE","state":"OPEN","doneOn":null,"daysLeft":58},"updatedAt":"2026-10-09T17:22:41.380Z"},{"id":"b9e47a30-2d1c-4f86-a53e-c6082f1d9b74","reference":"CLM-TG-2026-000057","status":"ASSESSING","accidentCountry":"TG","issuingCountry":"GH","accidentDate":"2026-09-28","plate":"GR 4821-24","certificateNumber":"GH-2026-0004711","coverConfirmed":true,"amountUa":185000,"nextDeadline":{"kind":"POLICE_REPORT","dueOn":"2026-11-28","article":"Arts. 31, 81","basis":"The police report reaches the insurer within two months of the accident","party":"POLICE","state":"OPEN","doneOn":null,"daysLeft":47},"updatedAt":"2026-10-07T14:05:19.774Z"}]},"none":{"summary":"No claim matches","value":[]}}}}},"400":{"description":"Bad request. The `code` in the body says which of these it is.\n\n- `VALIDATION`: A filter has a value that is not accepted; `errors` names it.\n- `BAD_RANGE`: `from` is later than `to`.","headers":{"x-correlation-id":{"description":"Quote this to support.","schema":{"type":"string"},"example":"9f2b1c64-3d0e-4a57-b8c1-6e7d5a0f4b21"}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"},"examples":{"VALIDATION":{"summary":"400 VALIDATION","description":"A filter has a value that is not accepted; `errors` names it.","value":{"type":"urn:bc:problem:validation","title":"Bad request","status":400,"code":"VALIDATION","detail":"Some fields are missing or invalid.","errors":[{"path":"limit","message":"Too big: expected number to be <=200"}],"correlationId":"9f2b1c64-3d0e-4a57-b8c1-6e7d5a0f4b21"}},"BAD_RANGE":{"summary":"400 BAD_RANGE","description":"`from` is later than `to`.","value":{"type":"urn:bc:problem:bad_range","title":"Bad request","status":400,"code":"BAD_RANGE","detail":"The date range starts on 2026-09-30, after it ends on 2026-07-01. Swap the two dates.","errors":[{"path":"from","message":"On or before the end of the range"}],"correlationId":"9f2b1c64-3d0e-4a57-b8c1-6e7d5a0f4b21"}}}}}},"401":{"description":"Unauthorized. The `code` in the body says which of these it is.\n\n- `UNAUTHENTICATED`: The key is missing, mistyped or revoked, or the session has expired.","headers":{"x-correlation-id":{"description":"Quote this to support.","schema":{"type":"string"},"example":"9f2b1c64-3d0e-4a57-b8c1-6e7d5a0f4b21"}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"},"examples":{"UNAUTHENTICATED":{"summary":"401 UNAUTHENTICATED","description":"The key is missing, mistyped or revoked, or the session has expired.","value":{"type":"urn:bc:problem:unauthenticated","title":"Unauthorized","status":401,"code":"UNAUTHENTICATED","detail":"Your session has expired or the key is not valid.","correlationId":"9f2b1c64-3d0e-4a57-b8c1-6e7d5a0f4b21"}}}}}},"403":{"description":"Forbidden. The `code` in the body says which of these it is.\n\n- `FORBIDDEN`: The key was created without the permission this operation needs.","headers":{"x-correlation-id":{"description":"Quote this to support.","schema":{"type":"string"},"example":"9f2b1c64-3d0e-4a57-b8c1-6e7d5a0f4b21"}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"},"examples":{"FORBIDDEN":{"summary":"403 FORBIDDEN","description":"The key was created without the permission this operation needs.","value":{"type":"urn:bc:problem:forbidden","title":"Forbidden","status":403,"code":"FORBIDDEN","detail":"You do not have permission to do this.","correlationId":"9f2b1c64-3d0e-4a57-b8c1-6e7d5a0f4b21"}}}}}},"429":{"description":"Too many requests. The `code` in the body says which of these it is.\n\n- `RATE_LIMITED`: Too many calls in a minute. Wait for the number of seconds in `retry-after`, then continue.","headers":{"x-correlation-id":{"description":"Quote this to support.","schema":{"type":"string"},"example":"9f2b1c64-3d0e-4a57-b8c1-6e7d5a0f4b21"},"retry-after":{"description":"Seconds to wait before the next call.","schema":{"type":"integer"},"example":42}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"},"examples":{"RATE_LIMITED":{"summary":"429 RATE_LIMITED","description":"Too many calls in a minute. Wait for the number of seconds in `retry-after`, then continue.","value":{"type":"urn:bc:problem:rate_limited","title":"Too many requests","status":429,"code":"RATE_LIMITED","detail":"Too many requests for this key. Try again in a minute.","correlationId":"9f2b1c64-3d0e-4a57-b8c1-6e7d5a0f4b21"}}}}}}},"summary":"List the claims you can see","tags":["Handle claims"],"x-integrator":true,"x-permissions":["claim.read"],"security":[{"apiKey":[]},{"bearer":[]}]},"post":{"description":"Use this when your bureau has learned of an accident in its own country that involves a vehicle covered by a certificate from another country, and you want to start the claim yourself. Send where and when it happened, what is known about it, and the cover. The accident country is the country of your bureau and is not part of the request.\n\nGive the cover as `{ \"lookup\": { \"by\": \"plate\", \"value\": \"TG 1234 AB\" } }` to have the certificate found in the register as it stood on the accident date, or as `{ \"manual\": { … } }` to type the certificate when the register has no answer. Cover found in the register is marked as confirmed on the claim; cover typed in is marked as not confirmed. Either way the certificate must come from another country than yours and be in force on `accidentDate`. Cover typed in carries the period printed on the certificate, `validFrom` and `validTo` (calendar days, both included); the accident date must fall within it.\n\n`place` names the location, from 3 to 300 characters. `lat`, `lng` and `description` are optional. `victim` is optional and describes the injured party: `registration` (their vehicle’s plate, none for a pedestrian), `name`, `insurerName`, `vehicleUse` (`PRIVATE`, the default, or `COMMERCIAL`) and `contact`: `phone`, `address` and `idDocument` (`kind` `NATIONAL_ID`, `PASSPORT`, `DRIVING_LICENCE` or `OTHER`, and its `number`). The contact is stored encrypted and shown only to the claim’s two bureaux and its insurer; no event carries it.\n\nOne accident has one claim. When the vehicle already has a claim in your country on `accidentDate` at the same `place` (case, accents and punctuation aside), the claim is refused and the answer names the claim to continue on. When that claim is at another place, it may be a second accident: send the request again with `differentAccident: true` once you have checked.\n\nThe claim is created in your bureau’s name and starts at `ACKNOWLEDGED`. The answer holds its `id` and `reference`; read the claim with **Get a claim**. `accidentDate` is a calendar day, `YYYY-MM-DD`, today or earlier, and `damageKind` is `MATERIAL` (the default), `BODILY` or `BOTH`.\n\n**Access.** Send an integration key or a signed-in session. The caller needs the permission `claim.open`; choose it when you create the key under Integrations → Integration keys.","operationId":"openClaim","parameters":[],"requestBody":{"required":true,"description":"The accident, the cover and, if known, the victim’s vehicle.","content":{"application/json":{"schema":{"type":"object","properties":{"accidentDate":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"},"place":{"type":"string","minLength":3,"maxLength":300},"lat":{"type":"number","minimum":-90,"maximum":90},"lng":{"type":"number","minimum":-180,"maximum":180},"description":{"type":"string","maxLength":2000},"language":{"type":"string","enum":["en","fr","pt"]},"damageKind":{"default":"MATERIAL","type":"string","enum":["MATERIAL","BODILY","BOTH"]},"cover":{"anyOf":[{"type":"object","properties":{"lookup":{"type":"object","properties":{"by":{"type":"string","enum":["plate","certificate","policy"]},"value":{"type":"string","minLength":2,"maxLength":60}},"required":["by","value"]}},"required":["lookup"]},{"type":"object","properties":{"manual":{"type":"object","properties":{"certificateNumber":{"type":"string","minLength":3,"maxLength":40},"issuingCountry":{"type":"string","minLength":2,"maxLength":2},"insurerName":{"type":"string","minLength":2,"maxLength":160},"policyNumber":{"type":"string","maxLength":60},"registration":{"type":"string","minLength":2,"maxLength":20},"validFrom":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"},"validTo":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"},"holderName":{"type":"string","maxLength":160}},"required":["certificateNumber","issuingCountry","insurerName","registration","validFrom","validTo"]}},"required":["manual"]}]},"victim":{"type":"object","properties":{"registration":{"type":"string","minLength":2,"maxLength":20},"name":{"type":"string","maxLength":160},"insurerName":{"type":"string","maxLength":160},"vehicleUse":{"default":"PRIVATE","type":"string","enum":["COMMERCIAL","PRIVATE"]},"contact":{"type":"object","properties":{"phone":{"anyOf":[{"type":"string","pattern":"^\\+?[0-9 ()-]{7,20}$"},{"type":"string","enum":[""]}]},"address":{"type":"string","maxLength":300},"idDocument":{"type":"object","properties":{"kind":{"type":"string","enum":["NATIONAL_ID","PASSPORT","DRIVING_LICENCE","OTHER"]},"number":{"type":"string","minLength":3,"maxLength":60}},"required":["kind","number"]}}}}},"differentAccident":{"type":"boolean"}},"required":["accidentDate","place","cover"]},"examples":{"lookup":{"summary":"Cover found in the register by plate","value":{"accidentDate":"2026-10-10","place":"Tema Motorway roundabout, Tema","lat":5.6698,"lng":-0.0166,"description":"The minibus ran into the back of a stationary car at the roundabout.","damageKind":"MATERIAL","cover":{"lookup":{"by":"plate","value":"TG 1234 AB"}},"victim":{"registration":"GT 3342-25","name":"Ama Boateng","insurerName":"Volta Assurance","vehicleUse":"PRIVATE","contact":{"phone":"+233 24 455 0192","address":"House 14, Sakumono Estates, Tema","idDocument":{"kind":"NATIONAL_ID","number":"GHA-712004311-5"}}}}},"manual":{"summary":"Cover typed in from the certificate shown at the scene","description":"Use this when the register has no answer for the vehicle.","value":{"accidentDate":"2026-10-11","place":"Kejetia, Kumasi","damageKind":"BODILY","cover":{"manual":{"certificateNumber":"TG-2026-0003310","issuingCountry":"TG","insurerName":"Lomé Assurances","policyNumber":"LA-MOT-61877","registration":"TG 5120 AD","validFrom":"2026-05-01","validTo":"2027-04-30","holderName":"Afi Mensah"}}}}}}}},"responses":{"201":{"description":"The claim was opened and is at `ACKNOWLEDGED`.","headers":{"x-correlation-id":{"description":"Identifies this call. It repeats the `x-correlation-id` you sent, or is generated. Quote it to support.","schema":{"type":"string"},"example":"9f2b1c64-3d0e-4a57-b8c1-6e7d5a0f4b21"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OpenedClaim"},"examples":{"opened":{"summary":"Claim opened","value":{"id":"3b6e1f08-5c27-4d9a-8e41-7a02c9d5b316","reference":"CLM-GH-2026-000142"}}}}}},"400":{"description":"Bad request. The `code` in the body says which of these it is.\n\n- `VALIDATION`: A field is missing or not accepted, for example a `place` that is too short or a `cover` that is neither a lookup nor a manual entry; `errors` lists each one.\n- `FUTURE_DATE`: `accidentDate` is later than today.\n- `UNKNOWN_COUNTRY`: With cover typed in, `issuingCountry` is not one of the countries of the scheme.","headers":{"x-correlation-id":{"description":"Quote this to support.","schema":{"type":"string"},"example":"9f2b1c64-3d0e-4a57-b8c1-6e7d5a0f4b21"}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"},"examples":{"VALIDATION":{"summary":"400 VALIDATION","description":"A field is missing or not accepted, for example a `place` that is too short or a `cover` that is neither a lookup nor a manual entry; `errors` lists each one.","value":{"type":"urn:bc:problem:validation","title":"Bad request","status":400,"code":"VALIDATION","detail":"Some fields are missing or invalid.","errors":[{"path":"place","message":"Too small: expected string to have >=3 characters"}],"correlationId":"9f2b1c64-3d0e-4a57-b8c1-6e7d5a0f4b21"}},"FUTURE_DATE":{"summary":"400 FUTURE_DATE","description":"`accidentDate` is later than today.","value":{"type":"urn:bc:problem:future_date","title":"Bad request","status":400,"code":"FUTURE_DATE","detail":"The accident date cannot be in the future.","correlationId":"9f2b1c64-3d0e-4a57-b8c1-6e7d5a0f4b21"}},"UNKNOWN_COUNTRY":{"summary":"400 UNKNOWN_COUNTRY","description":"With cover typed in, `issuingCountry` is not one of the countries of the scheme.","value":{"type":"urn:bc:problem:unknown_country","title":"Bad request","status":400,"code":"UNKNOWN_COUNTRY","detail":"XX is not one of the countries of the ECOWAS Brown Card scheme.","correlationId":"9f2b1c64-3d0e-4a57-b8c1-6e7d5a0f4b21"}}}}}},"401":{"description":"Unauthorized. The `code` in the body says which of these it is.\n\n- `UNAUTHENTICATED`: The key is missing, mistyped or revoked, or the session has expired.","headers":{"x-correlation-id":{"description":"Quote this to support.","schema":{"type":"string"},"example":"9f2b1c64-3d0e-4a57-b8c1-6e7d5a0f4b21"}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"},"examples":{"UNAUTHENTICATED":{"summary":"401 UNAUTHENTICATED","description":"The key is missing, mistyped or revoked, or the session has expired.","value":{"type":"urn:bc:problem:unauthenticated","title":"Unauthorized","status":401,"code":"UNAUTHENTICATED","detail":"Your session has expired or the key is not valid.","correlationId":"9f2b1c64-3d0e-4a57-b8c1-6e7d5a0f4b21"}}}}}},"403":{"description":"Forbidden. The `code` in the body says which of these it is.\n\n- `FORBIDDEN`: The key belongs to an organisation that is not a national bureau, or was created without `claim.open` (`detail` then reads \"You do not have permission to do this.\").","headers":{"x-correlation-id":{"description":"Quote this to support.","schema":{"type":"string"},"example":"9f2b1c64-3d0e-4a57-b8c1-6e7d5a0f4b21"}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"},"examples":{"FORBIDDEN":{"summary":"403 FORBIDDEN","description":"The key belongs to an organisation that is not a national bureau, or was created without `claim.open` (`detail` then reads \"You do not have permission to do this.\").","value":{"type":"urn:bc:problem:forbidden","title":"Forbidden","status":403,"code":"FORBIDDEN","detail":"Only a national bureau can open a cross-border claim.","correlationId":"9f2b1c64-3d0e-4a57-b8c1-6e7d5a0f4b21"}}}}}},"409":{"description":"Conflict. The `code` in the body says which of these it is.\n\n- `COVER_NOT_FOUND`: The lookup found no certificate for the value on the accident date.\n- `NOT_CROSS_BORDER`: The certificate, found in the register or typed in, was issued in your own country.\n- `DUPLICATE_CLAIM`: The vehicle already has a claim in your country on `accidentDate` at the same place.\n- `SAME_DAY_CLAIM`: The vehicle already has a claim in your country on `accidentDate` at another place. Send the request again with `differentAccident: true` when it is another accident.\n- `COVER_NOT_IN_FORCE`: The certificate did not cover `accidentDate`: the date falls outside its period, or the register shows it suspended, cancelled or replaced on that day (`detail` then names the status, for example \"GH-2026-0012588 was suspended on 2026-10-12, the day of the accident.\").","headers":{"x-correlation-id":{"description":"Quote this to support.","schema":{"type":"string"},"example":"9f2b1c64-3d0e-4a57-b8c1-6e7d5a0f4b21"}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"},"examples":{"COVER_NOT_FOUND":{"summary":"409 COVER_NOT_FOUND","description":"The lookup found no certificate for the value on the accident date.","value":{"type":"urn:bc:problem:cover_not_found","title":"Conflict","status":409,"code":"COVER_NOT_FOUND","detail":"No certificate matches \"TG 9911 AD\" on 2026-10-10. Check the number, or enter the cover by hand.","correlationId":"9f2b1c64-3d0e-4a57-b8c1-6e7d5a0f4b21"}},"NOT_CROSS_BORDER":{"summary":"409 NOT_CROSS_BORDER","description":"The certificate, found in the register or typed in, was issued in your own country.","value":{"type":"urn:bc:problem:not_cross_border","title":"Conflict","status":409,"code":"NOT_CROSS_BORDER","detail":"The accident happened in Ghana, the country that issued this certificate, so the claim is handled nationally with Volta Assurance.","correlationId":"9f2b1c64-3d0e-4a57-b8c1-6e7d5a0f4b21"}},"DUPLICATE_CLAIM":{"summary":"409 DUPLICATE_CLAIM","description":"The vehicle already has a claim in your country on `accidentDate` at the same place.","value":{"type":"urn:bc:problem:duplicate_claim","title":"Conflict","status":409,"code":"DUPLICATE_CLAIM","detail":"This accident is already recorded as CLM-GH-2026-000018: the same vehicle on 2026-10-12 at Circle Interchange, Accra. Continue on that claim.","correlationId":"9f2b1c64-3d0e-4a57-b8c1-6e7d5a0f4b21"}},"SAME_DAY_CLAIM":{"summary":"409 SAME_DAY_CLAIM","description":"The vehicle already has a claim in your country on `accidentDate` at another place. Send the request again with `differentAccident: true` when it is another accident.","value":{"type":"urn:bc:problem:same_day_claim","title":"Conflict","status":409,"code":"SAME_DAY_CLAIM","detail":"CLM-GH-2026-000018 already records an accident of this vehicle on 2026-10-12, at Circle Interchange, Accra. If this is a different accident, confirm it and open the claim again.","errors":[{"path":"differentAccident","message":"Confirm this is a different accident from CLM-GH-2026-000018"}],"correlationId":"9f2b1c64-3d0e-4a57-b8c1-6e7d5a0f4b21"}},"COVER_NOT_IN_FORCE":{"summary":"409 COVER_NOT_IN_FORCE","description":"The certificate did not cover `accidentDate`: the date falls outside its period, or the register shows it suspended, cancelled or replaced on that day (`detail` then names the status, for example \"GH-2026-0012588 was suspended on 2026-10-12, the day of the accident.\").","value":{"type":"urn:bc:problem:cover_not_in_force","title":"Conflict","status":409,"code":"COVER_NOT_IN_FORCE","detail":"GH-2026-0012588 covers 2026-10-13 – 2027-10-12; the accident was on 2026-10-12.","correlationId":"9f2b1c64-3d0e-4a57-b8c1-6e7d5a0f4b21"}}}}}},"429":{"description":"Too many requests. The `code` in the body says which of these it is.\n\n- `RATE_LIMITED`: Too many calls in a minute. Wait for the number of seconds in `retry-after`, then continue.","headers":{"x-correlation-id":{"description":"Quote this to support.","schema":{"type":"string"},"example":"9f2b1c64-3d0e-4a57-b8c1-6e7d5a0f4b21"},"retry-after":{"description":"Seconds to wait before the next call.","schema":{"type":"integer"},"example":42}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"},"examples":{"RATE_LIMITED":{"summary":"429 RATE_LIMITED","description":"Too many calls in a minute. Wait for the number of seconds in `retry-after`, then continue.","value":{"type":"urn:bc:problem:rate_limited","title":"Too many requests","status":429,"code":"RATE_LIMITED","detail":"Too many requests for this key. Try again in a minute.","correlationId":"9f2b1c64-3d0e-4a57-b8c1-6e7d5a0f4b21"}}}}}},"503":{"description":"Unavailable. The `code` in the body says which of these it is.\n\n- `REGISTER_UNAVAILABLE`: A lookup was asked for and the certificate register did not answer. Repeat the call shortly, or send the cover as `manual`.","headers":{"x-correlation-id":{"description":"Quote this to support.","schema":{"type":"string"},"example":"9f2b1c64-3d0e-4a57-b8c1-6e7d5a0f4b21"}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"},"examples":{"REGISTER_UNAVAILABLE":{"summary":"503 REGISTER_UNAVAILABLE","description":"A lookup was asked for and the certificate register did not answer. Repeat the call shortly, or send the cover as `manual`.","value":{"type":"urn:bc:problem:register_unavailable","title":"Unavailable","status":503,"code":"REGISTER_UNAVAILABLE","detail":"The certificate register is not answering. Try again in a moment, or enter the cover by hand.","correlationId":"9f2b1c64-3d0e-4a57-b8c1-6e7d5a0f4b21"}}}}}}},"summary":"Open a claim for an accident in your country","tags":["Handle claims"],"x-integrator":true,"x-permissions":["claim.open"],"security":[{"apiKey":[]},{"bearer":[]}]}},"/claims/page":{"get":{"operationId":"ClaimsController_page","parameters":[{"name":"view","required":false,"in":"query","schema":{}},{"name":"status","required":false,"in":"query","schema":{}},{"name":"country","required":false,"in":"query","schema":{}},{"name":"handling","required":false,"in":"query","schema":{}},{"name":"issuing","required":false,"in":"query","schema":{}},{"name":"overdue","required":false,"in":"query","schema":{}},{"name":"q","required":false,"in":"query","schema":{}},{"name":"dateBy","required":false,"in":"query","schema":{}},{"name":"from","required":false,"in":"query","schema":{}},{"name":"to","required":false,"in":"query","schema":{}},{"name":"page","required":false,"in":"query","schema":{}},{"name":"pageSize","required":false,"in":"query","schema":{}}],"responses":{"200":{"description":""}},"tags":["claims"],"x-permissions":["claim.read"]}},"/claims/mine":{"get":{"operationId":"ClaimsController_mine","parameters":[],"responses":{"200":{"description":""}},"tags":["claims"],"x-permissions":["claim.read"]},"post":{"operationId":"ClaimsController_reportMine","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"accidentCountry":{"type":"string","minLength":2,"maxLength":2},"accidentDate":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"},"place":{"type":"string","minLength":3,"maxLength":300},"lat":{"type":"number","minimum":-90,"maximum":90},"lng":{"type":"number","minimum":-180,"maximum":180},"description":{"type":"string","maxLength":2000},"damageKind":{"default":"MATERIAL","type":"string","enum":["MATERIAL","BODILY","BOTH"]},"vehicles":{"minItems":1,"maxItems":6,"type":"array","items":{"type":"object","properties":{"registration":{"type":"string","minLength":2,"maxLength":20},"role":{"default":"VICTIM","type":"string","enum":["AT_FAULT","VICTIM","WITNESS"]},"country":{"type":"string","minLength":2,"maxLength":2},"insurerName":{"type":"string","maxLength":160},"driverName":{"type":"string","maxLength":160}},"required":["registration","role"],"additionalProperties":false}},"reporterName":{"type":"string","minLength":2,"maxLength":160},"reporterPhone":{"type":"string","pattern":"^\\+?[0-9 ()-]{7,20}$"},"reporterEmail":{"anyOf":[{"type":"string","maxLength":200,"format":"email","pattern":"^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$"},{"type":"string","const":""}]},"photoDocumentIds":{"default":[],"maxItems":8,"type":"array","items":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"locale":{"type":"string","enum":["en","fr","pt"]}},"required":["accidentCountry","accidentDate","place","damageKind","vehicles","reporterName","reporterPhone","photoDocumentIds"],"additionalProperties":false}}}},"responses":{"201":{"description":""}},"tags":["claims"],"x-permissions":["claim.report"]}},"/claims/cover-lookup":{"post":{"description":"Use this before opening a claim, to see which certificate covered the vehicle that caused an accident in your country. Give the plate, the certificate number or the policy number in `value` and say which it is in `by`, then the day of the accident and the country where it happened. The country must be the country of your bureau.\n\nThe answer says whether a certificate was found (`found`), whether it was valid on that day (`inForce`), whether it covered the accident country (`coversAccidentCountry`) and whether the claim is a cross-border claim (`crossBorder`), meaning the certificate was issued in another country. `certificate` holds the certificate number, policy number, insurer, validity, plate, vehicle and policyholder. A plate matches whatever its spaces and hyphens. When several certificates match, the answer describes the one in force on that day.\n\nWhen `crossBorder` is false the accident happened in the country that issued the certificate and the claim is handled nationally with the insurer; `refusal` holds a sentence that says so and can be shown as it is. A certificate that was found and crosses the border can be used as the cover when you open a claim. When nothing is found, open the claim with the cover entered by hand.\n\n**Access.** Send an integration key or a signed-in session. The caller needs the permission `claim.open`; choose it when you create the key under Integrations → Integration keys.","operationId":"lookUpCover","parameters":[],"requestBody":{"required":true,"description":"What to look up and the accident it is for.","content":{"application/json":{"schema":{"type":"object","properties":{"by":{"type":"string","enum":["plate","certificate","policy"]},"value":{"type":"string","minLength":2,"maxLength":60},"accidentDate":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"},"accidentCountry":{"type":"string","minLength":2,"maxLength":2}},"required":["by","value","accidentDate","accidentCountry"]},"examples":{"byPlate":{"summary":"By plate, for an accident in Tema","value":{"by":"plate","value":"TG 1234 AB","accidentDate":"2026-10-10","accidentCountry":"GH"}},"byCertificate":{"summary":"By certificate number, for an accident in Lomé","description":"Sent with the key of the Togo bureau.","value":{"by":"certificate","value":"GH-2026-0004711","accidentDate":"2026-09-28","accidentCountry":"TG"}},"byPolicy":{"summary":"By policy number","value":{"by":"policy","value":"LA-MOT-55102","accidentDate":"2026-10-10","accidentCountry":"GH"}}}}}},"responses":{"200":{"description":"What the certificate register says about the vehicle on that day.","headers":{"x-correlation-id":{"description":"Identifies this call. It repeats the `x-correlation-id` you sent, or is generated. Quote it to support.","schema":{"type":"string"},"example":"9f2b1c64-3d0e-4a57-b8c1-6e7d5a0f4b21"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CoverLookup"},"examples":{"crossBorder":{"summary":"A Togolese certificate for an accident in Ghana","value":{"found":true,"inForce":true,"coversAccidentCountry":true,"crossBorder":true,"refusal":null,"issuingCountry":"TG","certificate":{"certificateId":"a6d3e1f9-4b27-4c85-8d06-5e92b7a1c430","number":"TG-2026-0002056","policyNumber":"LA-MOT-55102","scope":"ECOWAS","territories":["BJ","CI","GM","GH","GN","GW","LR","NG","SN","SL","TG"],"validFrom":"2026-03-01","validTo":"2027-02-28","statusOnDate":"ISSUED","insurerOrgId":"8f30d5a1-6c72-5e19-a4b8-2d7e91c0f463","insurerName":"Lomé Assurances","registration":"TG 1234 AB","vehicle":"Toyota Hiace","holderName":"Komi Agbeko"}}},"national":{"summary":"A Ghanaian certificate for an accident in Ghana","description":"The claim is handled nationally, so it cannot be opened as a cross-border claim.","value":{"found":true,"inForce":true,"coversAccidentCountry":true,"crossBorder":false,"refusal":"The accident happened in Ghana, the country that issued this certificate, so the claim is handled nationally with Volta Assurance.","issuingCountry":"GH","certificate":{"certificateId":"7c1f0a52-3a8e-4b8d-9f6e-2d4a9c1b7e30","number":"GH-2026-0004711","policyNumber":"POL-GH-7781204","scope":"ECOWAS","territories":["BJ","CI","GM","GH","GN","GW","LR","NG","SN","SL","TG"],"validFrom":"2026-01-15","validTo":"2027-01-14","statusOnDate":"ISSUED","insurerOrgId":"0e6b3a14-52c8-5d7f-9a21-8b4f6c0d7e13","insurerName":"Volta Assurance","registration":"GR 4821-24","vehicle":"Toyota Corolla","holderName":"Kojo Essien"}}},"notFound":{"summary":"No certificate matches","value":{"found":false,"inForce":false,"coversAccidentCountry":null,"crossBorder":false,"refusal":null,"issuingCountry":null,"certificate":null}}}}}},"400":{"description":"Bad request. The `code` in the body says which of these it is.\n\n- `VALIDATION`: A field is missing or not accepted, for example a date that is not `YYYY-MM-DD`; `errors` lists each one.","headers":{"x-correlation-id":{"description":"Quote this to support.","schema":{"type":"string"},"example":"9f2b1c64-3d0e-4a57-b8c1-6e7d5a0f4b21"}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"},"examples":{"VALIDATION":{"summary":"400 VALIDATION","description":"A field is missing or not accepted, for example a date that is not `YYYY-MM-DD`; `errors` lists each one.","value":{"type":"urn:bc:problem:validation","title":"Bad request","status":400,"code":"VALIDATION","detail":"Some fields are missing or invalid.","errors":[{"path":"accidentDate","message":"Use the format YYYY-MM-DD"}],"correlationId":"9f2b1c64-3d0e-4a57-b8c1-6e7d5a0f4b21"}}}}}},"401":{"description":"Unauthorized. The `code` in the body says which of these it is.\n\n- `UNAUTHENTICATED`: The key is missing, mistyped or revoked, or the session has expired.","headers":{"x-correlation-id":{"description":"Quote this to support.","schema":{"type":"string"},"example":"9f2b1c64-3d0e-4a57-b8c1-6e7d5a0f4b21"}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"},"examples":{"UNAUTHENTICATED":{"summary":"401 UNAUTHENTICATED","description":"The key is missing, mistyped or revoked, or the session has expired.","value":{"type":"urn:bc:problem:unauthenticated","title":"Unauthorized","status":401,"code":"UNAUTHENTICATED","detail":"Your session has expired or the key is not valid.","correlationId":"9f2b1c64-3d0e-4a57-b8c1-6e7d5a0f4b21"}}}}}},"403":{"description":"Forbidden. The `code` in the body says which of these it is.\n\n- `FORBIDDEN`: `accidentCountry` is not the country of the bureau that owns the key, or the key was created without `claim.open` (`detail` then reads \"You do not have permission to do this.\").","headers":{"x-correlation-id":{"description":"Quote this to support.","schema":{"type":"string"},"example":"9f2b1c64-3d0e-4a57-b8c1-6e7d5a0f4b21"}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"},"examples":{"FORBIDDEN":{"summary":"403 FORBIDDEN","description":"`accidentCountry` is not the country of the bureau that owns the key, or the key was created without `claim.open` (`detail` then reads \"You do not have permission to do this.\").","value":{"type":"urn:bc:problem:forbidden","title":"Forbidden","status":403,"code":"FORBIDDEN","detail":"You open claims for accidents in Ghana.","correlationId":"9f2b1c64-3d0e-4a57-b8c1-6e7d5a0f4b21"}}}}}},"429":{"description":"Too many requests. The `code` in the body says which of these it is.\n\n- `RATE_LIMITED`: Too many calls in a minute. Wait for the number of seconds in `retry-after`, then continue.","headers":{"x-correlation-id":{"description":"Quote this to support.","schema":{"type":"string"},"example":"9f2b1c64-3d0e-4a57-b8c1-6e7d5a0f4b21"},"retry-after":{"description":"Seconds to wait before the next call.","schema":{"type":"integer"},"example":42}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"},"examples":{"RATE_LIMITED":{"summary":"429 RATE_LIMITED","description":"Too many calls in a minute. Wait for the number of seconds in `retry-after`, then continue.","value":{"type":"urn:bc:problem:rate_limited","title":"Too many requests","status":429,"code":"RATE_LIMITED","detail":"Too many requests for this key. Try again in a minute.","correlationId":"9f2b1c64-3d0e-4a57-b8c1-6e7d5a0f4b21"}}}}}},"503":{"description":"Unavailable. The `code` in the body says which of these it is.\n\n- `REGISTER_UNAVAILABLE`: The certificate register did not answer. Repeat the lookup shortly.","headers":{"x-correlation-id":{"description":"Quote this to support.","schema":{"type":"string"},"example":"9f2b1c64-3d0e-4a57-b8c1-6e7d5a0f4b21"}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"},"examples":{"REGISTER_UNAVAILABLE":{"summary":"503 REGISTER_UNAVAILABLE","description":"The certificate register did not answer. Repeat the lookup shortly.","value":{"type":"urn:bc:problem:register_unavailable","title":"Unavailable","status":503,"code":"REGISTER_UNAVAILABLE","detail":"The certificate register is not answering. Try again in a moment, or enter the cover by hand.","correlationId":"9f2b1c64-3d0e-4a57-b8c1-6e7d5a0f4b21"}}}}}}},"summary":"Look up the cover a vehicle had on the day of an accident","tags":["Handle claims"],"x-integrator":true,"x-permissions":["claim.open"],"security":[{"apiKey":[]},{"bearer":[]}]}},"/claims/{id}":{"get":{"description":"Use this to read one claim in full: where and when the accident happened, the cover, the vehicles involved, the stage the claim has reached, the timeline of what happened, the attached documents and the Convention time limits that apply. Take the `id` from the list of claims or from the answer to opening a claim.\n\n`role` says how you relate to the claim: `HANDLING` for the bureau of the accident country, `ISSUING` for the bureau of the country that issued the certificate, `OBSERVER` for an insurer on whose certificate it was made. The handling bureau also receives the reporter’s contact details in `reporter`, and the names of the people in `parties` are shown to bureaux and insurers.\n\nThe sections for assessments, offers, payments, notices, demands and arbitrations fill in as the bureaux work on the claim and are empty before that. Where the Secretariat has switched on photo reading, `photoAssessment` carries the AI reading of the vehicle photos (damage, plate against the declared plates, whether the photos show one vehicle) with the officer's latest review: decision support that never moves the claim. `deadlines` lists each Convention time limit with the day it falls due and its state, and `actions` lists what the platform offers you on the claim now.\n\n**Access.** Send an integration key or a signed-in session. The caller needs the permission `claim.read`; choose it when you create the key under Integrations → Integration keys.","operationId":"getClaim","parameters":[{"name":"id","in":"path","required":true,"description":"The id of the claim: the `id` in the list of claims or in the answer to opening a claim. The reference is a different value.","schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"example":"3b6e1f08-5c27-4d9a-8e41-7a02c9d5b316"}],"responses":{"200":{"description":"The claim with everything you may see.","headers":{"x-correlation-id":{"description":"Identifies this call. It repeats the `x-correlation-id` you sent, or is generated. Quote it to support.","schema":{"type":"string"},"example":"9f2b1c64-3d0e-4a57-b8c1-6e7d5a0f4b21"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Claim"},"examples":{"opened":{"summary":"A claim opened by the bureau, with cover from the register","value":{"id":"3b6e1f08-5c27-4d9a-8e41-7a02c9d5b316","reference":"CLM-GH-2026-000142","status":"ACKNOWLEDGED","statusReason":null,"accidentCountry":"GH","issuingCountry":"TG","handlingBureauOrgId":"5a1c7e92-3d04-5b68-9f27-c81e0a4d6b35","issuingBureauOrgId":"e4d92b60-17a3-5c8f-b0d6-39f5a71c2e84","insurerOrgId":"8f30d5a1-6c72-5e19-a4b8-2d7e91c0f463","certificateNumber":"TG-2026-0002056","coverConfirmed":true,"coversAccidentCountry":true,"cover":{"certificateId":"a6d3e1f9-4b27-4c85-8d06-5e92b7a1c430","number":"TG-2026-0002056","policyId":"19b4c7e2-8a3d-4f61-a9c5-d02e6b38f714","policyNumber":"LA-MOT-55102","insurerOrgId":"8f30d5a1-6c72-5e19-a4b8-2d7e91c0f463","insurerName":"Lomé Assurances","insurerCode":"TG-LOME","country":"TG","scope":"ECOWAS","territories":["BJ","CI","GM","GH","GN","GW","LR","NG","SN","SL","TG"],"validFrom":"2026-03-01","validTo":"2027-02-28","status":"ISSUED","version":1,"kind":"CERTIFICATE","vehicle":{"registration":"TG 1234 AB","registrationKey":"TG1234AB","vin":null,"make":"Toyota","model":"Hiace","category":"MINIBUS"},"holder":{"maskedName":"K. A*****","ref":"d7a31c58-0e94-4b62-a1f3-85c6b9e2d047"},"source":"API","sourceSystem":null,"keyId":"TG-2026-1","issuedAt":"2026-03-01T08:30:12.000Z","renewalOf":null,"asOf":"2026-10-10","statusOnDate":"ISSUED","inForce":true,"coversAccidentCountry":true,"vehicleUse":"COMMERCIAL"},"accidentDate":"2026-10-10","accidentPlace":"Tema Motorway roundabout, Tema","lat":5.6698,"lng":-0.0166,"description":"The minibus ran into the back of a stationary car at the roundabout.","damageKind":"MATERIAL","reportedBy":"BUREAU","reporter":{"name":null,"phone":null,"email":null},"facts":{"policeReportOn":null,"insurerNotifiedOn":null,"deathOn":null,"documentsCompleteOn":null,"consolidationNotifiedOn":null,"victimAbroad":false},"fakeCertificate":null,"createdAt":"2026-10-12T09:41:07.236Z","updatedAt":"2026-10-12T09:41:07.241Z","currency":"GHS","role":"HANDLING","parties":[{"id":"0b7d5e21-94c3-4a68-8f10-6c3a2e9d1b57","role":"AT_FAULT","registration":"TG 1234 AB","country":"TG","name":"Komi Agbeko","insurerName":"Lomé Assurances","vehicleUse":null,"vehicle":"Toyota Hiace"},{"id":"f4c19a63-2b80-4d75-9e3a-a7518d0c6e24","role":"VICTIM","registration":"GT 3342-25","country":"GH","name":"Ama Boateng","insurerName":"Volta Assurance","vehicleUse":"PRIVATE","vehicle":null}],"route":null,"assessments":[],"offers":[],"payments":[],"notices":[],"demands":[],"arbitrations":[],"documents":[],"unlinkedDocumentIds":[],"dossier":{"applies":true,"issuingLanguages":["fr"],"accidentLanguage":"en","translationNeeded":true,"items":[{"item":"POLICE_REPORT","met":false,"documentIds":[]},{"item":"POLICE_REPORT_TRANSLATION","met":false,"documentIds":[]},{"item":"ESTIMATE_OR_INVOICE","met":false,"documentIds":[]},{"item":"SURVEYOR_REPORT","met":false,"documentIds":[]}],"missing":["POLICE_REPORT","POLICE_REPORT_TRANSLATION","ESTIMATE_OR_INVOICE","SURVEYOR_REPORT"]},"events":[{"id":"6e2a9c40-b1d7-4f83-a05c-3d84e7b19f62","type":"STATUS","from":"REPORTED","to":"ACKNOWLEDGED","note":null,"event":{"kind":"STATUS_CHANGED","params":{"from":"REPORTED","to":"ACKNOWLEDGED","reason":null}},"at":"2026-10-12T09:41:07.241Z","byOrg":"5a1c7e92-3d04-5b68-9f27-c81e0a4d6b35","byUser":"9d0c4a8e-2b71-4f3c-8e5a-6b1d2c3f4a5e"},{"id":"9d03f5b8-6a4e-4c21-b7d9-12c8a0e5f376","type":"STATUS","from":null,"to":"REPORTED","note":null,"event":{"kind":"STATUS_CHANGED","params":{"from":null,"to":"REPORTED","reason":null}},"at":"2026-10-12T09:41:07.236Z","byOrg":"5a1c7e92-3d04-5b68-9f27-c81e0a4d6b35","byUser":"9d0c4a8e-2b71-4f3c-8e5a-6b1d2c3f4a5e"}],"deadlines":[{"kind":"POLICE_REPORT","dueOn":"2026-12-10","article":"Arts. 31, 81","basis":"The police report reaches the insurer within two months of the accident","party":"POLICE","state":"OPEN","doneOn":null,"daysLeft":59},{"kind":"LIMITATION","dueOn":"2031-10-10","article":"Art. 57","basis":"Claims are time-barred five years after the accident","party":"VICTIM","state":"OPEN","doneOn":null,"daysLeft":1824}],"actions":["attachCover","decline","withdraw"]}},"reported":{"summary":"A claim reported by a member of the public, cover not yet attached","value":{"id":"c2a8d417-96f3-4e0b-b5d2-18e7f40a3c69","reference":"CLM-GH-2026-000141","status":"REPORTED","statusReason":null,"accidentCountry":"GH","issuingCountry":null,"handlingBureauOrgId":"5a1c7e92-3d04-5b68-9f27-c81e0a4d6b35","issuingBureauOrgId":null,"insurerOrgId":null,"certificateNumber":null,"coverConfirmed":false,"coversAccidentCountry":null,"cover":null,"accidentDate":"2026-10-09","accidentPlace":"Spintex Road, near Baatsona, Accra","lat":5.6372,"lng":-0.1012,"description":"A minibus pulled out of a side road and hit the left side of my car. Nobody was hurt.","damageKind":"MATERIAL","reportedBy":"PUBLIC","reporter":{"name":"Yaw Darko","phone":"+233244310042","email":"yaw.darko@example.org"},"facts":{"policeReportOn":null,"insurerNotifiedOn":null,"deathOn":null,"documentsCompleteOn":null,"consolidationNotifiedOn":null,"victimAbroad":false},"fakeCertificate":null,"createdAt":"2026-10-09T17:22:41.380Z","updatedAt":"2026-10-09T17:22:41.380Z","currency":"GHS","role":"HANDLING","parties":[{"id":"84a6c3d1-5f92-4e07-b1a8-0d7e2c9f4a35","role":"VICTIM","registration":"AS 4410-24","country":"GH","name":"Yaw Darko","insurerName":"Volta Assurance","vehicleUse":null,"vehicle":null},{"id":"c5190e7a-3d68-4b24-9a51-e8f3b60d2c97","role":"AT_FAULT","registration":"TG 8842 AC","country":"TG","name":null,"insurerName":"Lomé Assurances","vehicleUse":null,"vehicle":null}],"route":null,"assessments":[],"offers":[],"payments":[],"notices":[],"demands":[],"arbitrations":[],"documents":[],"unlinkedDocumentIds":[],"events":[{"id":"2f8b4d96-a0c5-4e13-8b72-5c1e9d3a6f08","type":"STATUS","from":null,"to":"REPORTED","note":null,"event":{"kind":"STATUS_CHANGED","params":{"from":null,"to":"REPORTED","reason":null}},"at":"2026-10-09T17:22:41.380Z","byOrg":null,"byUser":null}],"deadlines":[{"kind":"POLICE_REPORT","dueOn":"2026-12-09","article":"Arts. 31, 81","basis":"The police report reaches the insurer within two months of the accident","party":"POLICE","state":"OPEN","doneOn":null,"daysLeft":58},{"kind":"LIMITATION","dueOn":"2031-10-09","article":"Art. 57","basis":"Claims are time-barred five years after the accident","party":"VICTIM","state":"OPEN","doneOn":null,"daysLeft":1823}],"actions":["attachCover","decline","acknowledge","withdraw"]}}}}}},"401":{"description":"Unauthorized. The `code` in the body says which of these it is.\n\n- `UNAUTHENTICATED`: The key is missing, mistyped or revoked, or the session has expired.","headers":{"x-correlation-id":{"description":"Quote this to support.","schema":{"type":"string"},"example":"9f2b1c64-3d0e-4a57-b8c1-6e7d5a0f4b21"}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"},"examples":{"UNAUTHENTICATED":{"summary":"401 UNAUTHENTICATED","description":"The key is missing, mistyped or revoked, or the session has expired.","value":{"type":"urn:bc:problem:unauthenticated","title":"Unauthorized","status":401,"code":"UNAUTHENTICATED","detail":"Your session has expired or the key is not valid.","correlationId":"9f2b1c64-3d0e-4a57-b8c1-6e7d5a0f4b21"}}}}}},"403":{"description":"Forbidden. The `code` in the body says which of these it is.\n\n- `FORBIDDEN`: The key was created without the permission this operation needs.","headers":{"x-correlation-id":{"description":"Quote this to support.","schema":{"type":"string"},"example":"9f2b1c64-3d0e-4a57-b8c1-6e7d5a0f4b21"}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"},"examples":{"FORBIDDEN":{"summary":"403 FORBIDDEN","description":"The key was created without the permission this operation needs.","value":{"type":"urn:bc:problem:forbidden","title":"Forbidden","status":403,"code":"FORBIDDEN","detail":"You do not have permission to do this.","correlationId":"9f2b1c64-3d0e-4a57-b8c1-6e7d5a0f4b21"}}}}}},"404":{"description":"Not found. The `code` in the body says which of these it is.\n\n- `NOT_FOUND`: No claim with this id exists among the claims you can see.","headers":{"x-correlation-id":{"description":"Quote this to support.","schema":{"type":"string"},"example":"9f2b1c64-3d0e-4a57-b8c1-6e7d5a0f4b21"}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"},"examples":{"NOT_FOUND":{"summary":"404 NOT_FOUND","description":"No claim with this id exists among the claims you can see.","value":{"type":"urn:bc:problem:not_found","title":"Not found","status":404,"code":"NOT_FOUND","detail":"The claim was not found.","correlationId":"9f2b1c64-3d0e-4a57-b8c1-6e7d5a0f4b21"}}}}}},"429":{"description":"Too many requests. The `code` in the body says which of these it is.\n\n- `RATE_LIMITED`: Too many calls in a minute. Wait for the number of seconds in `retry-after`, then continue.","headers":{"x-correlation-id":{"description":"Quote this to support.","schema":{"type":"string"},"example":"9f2b1c64-3d0e-4a57-b8c1-6e7d5a0f4b21"},"retry-after":{"description":"Seconds to wait before the next call.","schema":{"type":"integer"},"example":42}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"},"examples":{"RATE_LIMITED":{"summary":"429 RATE_LIMITED","description":"Too many calls in a minute. Wait for the number of seconds in `retry-after`, then continue.","value":{"type":"urn:bc:problem:rate_limited","title":"Too many requests","status":429,"code":"RATE_LIMITED","detail":"Too many requests for this key. Try again in a minute.","correlationId":"9f2b1c64-3d0e-4a57-b8c1-6e7d5a0f4b21"}}}}}}},"summary":"Get a claim","tags":["Handle claims"],"x-integrator":true,"x-permissions":["claim.read"],"security":[{"apiKey":[]},{"bearer":[]}]}},"/claims/{id}/cover":{"post":{"operationId":"ClaimsController_cover","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","anyOf":[{"type":"object","properties":{"lookup":{"type":"object","properties":{"by":{"type":"string","enum":["plate","certificate","policy"]},"value":{"type":"string","minLength":2,"maxLength":60}},"required":["by","value"],"additionalProperties":false}},"required":["lookup"],"additionalProperties":false},{"type":"object","properties":{"manual":{"type":"object","properties":{"certificateNumber":{"type":"string","minLength":3,"maxLength":40},"issuingCountry":{"type":"string","minLength":2,"maxLength":2},"insurerName":{"type":"string","minLength":2,"maxLength":160},"policyNumber":{"type":"string","maxLength":60},"registration":{"type":"string","minLength":2,"maxLength":20},"validFrom":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"},"validTo":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"},"holderName":{"type":"string","maxLength":160}},"required":["certificateNumber","issuingCountry","insurerName","registration","validFrom","validTo"],"additionalProperties":false}},"required":["manual"],"additionalProperties":false}]}}}},"responses":{"200":{"description":""}},"tags":["claims"],"x-permissions":["claim.open"]}},"/claims/{id}/acknowledge":{"post":{"operationId":"ClaimsController_acknowledge","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""}},"tags":["claims"],"x-permissions":["claim.open"]}},"/claims/{id}/decline":{"post":{"operationId":"ClaimsController_decline","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"reason":{"type":"string","minLength":5,"maxLength":1000},"language":{"type":"string","enum":["en","fr","pt"]}},"required":["reason"],"additionalProperties":false}}}},"responses":{"200":{"description":""}},"tags":["claims"],"x-permissions":["claim.open"]}},"/claims/{id}/withdraw":{"post":{"operationId":"ClaimsController_withdraw","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"reason":{"type":"string","minLength":5,"maxLength":1000},"language":{"type":"string","enum":["en","fr","pt"]}},"required":["reason"],"additionalProperties":false}}}},"responses":{"200":{"description":""}},"tags":["claims"]}},"/claims/{id}/facts":{"post":{"operationId":"ClaimsController_facts","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"policeReportOn":{"anyOf":[{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"},{"type":"null"}]},"insurerNotifiedOn":{"anyOf":[{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"},{"type":"null"}]},"deathOn":{"anyOf":[{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"},{"type":"null"}]},"documentsCompleteOn":{"anyOf":[{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"},{"type":"null"}]},"consolidationNotifiedOn":{"anyOf":[{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"},{"type":"null"}]},"victimAbroad":{"type":"boolean"}},"additionalProperties":false}}}},"responses":{"200":{"description":""}},"tags":["claims"],"x-permissions":["claim.assess"]}},"/claims/{id}/fake-certificate":{"post":{"operationId":"ClaimsController_fakeCertificate","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"fake":{"type":"boolean"},"reason":{"type":"string","minLength":5,"maxLength":1000},"language":{"type":"string","enum":["en","fr","pt"]}},"required":["fake","reason"],"additionalProperties":false}}}},"responses":{"200":{"description":""}},"tags":["claims"],"x-permissions":["claim.assess"]}},"/claims/{id}/assessments":{"post":{"operationId":"ClaimsController_assess","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"liability":{"anyOf":[{"type":"object","properties":{"basis":{"type":"string","const":"DETERMINED"},"atFaultPercent":{"type":"number","minimum":0,"maximum":100}},"required":["basis","atFaultPercent"],"additionalProperties":false},{"type":"object","properties":{"basis":{"type":"string","const":"UNDETERMINED"},"drivers":{"type":"integer","minimum":2,"maximum":10}},"required":["basis"],"additionalProperties":false}]},"inputs":{"type":"object","properties":{"vehicleUse":{"type":"string","enum":["COMMERCIAL","PRIVATE"]},"repairCost":{"type":"integer","minimum":0,"maximum":9007199254740991},"residualValue":{"default":0,"type":"integer","minimum":0,"maximum":9007199254740991},"immobilisationDays":{"default":0,"type":"integer","minimum":0,"maximum":3650},"towingCost":{"default":0,"type":"integer","minimum":0,"maximum":9007199254740991},"surveyorFee":{"default":0,"type":"integer","minimum":0,"maximum":9007199254740991},"reportFee":{"default":0,"type":"integer","minimum":0,"maximum":9007199254740991},"otherFinancialLoss":{"default":0,"type":"integer","minimum":0,"maximum":9007199254740991},"otherLossWrittenRequest":{"default":false,"type":"boolean"}},"required":["vehicleUse","repairCost","residualValue","immobilisationDays","towingCost","surveyorFee","reportFee","otherFinancialLoss","otherLossWrittenRequest"],"additionalProperties":false},"note":{"type":"string","maxLength":1000},"language":{"type":"string","enum":["en","fr","pt"]}},"required":["liability","inputs"],"additionalProperties":false}}}},"responses":{"201":{"description":""}},"tags":["claims"],"x-permissions":["claim.assess"]}},"/claims/{id}/offers":{"post":{"operationId":"ClaimsController_offer","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"kind":{"default":"PROVISIONAL","type":"string","enum":["PROVISIONAL","DEFINITIVE"]},"amount":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},"madeOn":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"},"aboveRecoverableReason":{"type":"string","maxLength":1000},"language":{"type":"string","enum":["en","fr","pt"]}},"required":["kind"],"additionalProperties":false}}}},"responses":{"201":{"description":""}},"tags":["claims"],"x-permissions":["claim.offer"]}},"/claims/{id}/offers/{offerId}/response":{"post":{"operationId":"ClaimsController_respond","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}},{"name":"offerId","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"response":{"type":"string","enum":["ACCEPTED","REFUSED","DENOUNCED"]},"respondedOn":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"}},"required":["response"],"additionalProperties":false}}}},"responses":{"200":{"description":""}},"tags":["claims"],"x-permissions":["claim.offer"]}},"/claims/{id}/payments":{"post":{"operationId":"ClaimsController_pay","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"amount":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},"paidOn":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"},"reference":{"type":"string","minLength":2,"maxLength":80}},"required":["reference"],"additionalProperties":false}}}},"responses":{"201":{"description":""}},"tags":["claims"],"x-permissions":["claim.settle"]}},"/claims/{id}/payments/{paymentId}/corrections":{"post":{"operationId":"ClaimsController_correct","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}},{"name":"paymentId","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"amount":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},"reason":{"type":"string","minLength":5,"maxLength":1000},"language":{"type":"string","enum":["en","fr","pt"]}},"required":["amount","reason"],"additionalProperties":false}}}},"responses":{"201":{"description":""}},"tags":["claims"],"x-permissions":["claim.settle"]}},"/claims/{id}/notices":{"post":{"operationId":"ClaimsController_notice","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"sentOn":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"},"acknowledgeMissing":{"type":"boolean"}},"additionalProperties":false}}}},"responses":{"201":{"description":""}},"tags":["claims"],"x-permissions":["claim.notice.send"]}},"/claims/{id}/notices/{noticeId}/answer":{"post":{"operationId":"ClaimsController_answerNotice","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}},{"name":"noticeId","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"answer":{"type":"string","enum":["APPROVED","REJECTED"]},"code":{"type":"string","enum":["DOCUMENTS_MISSING","POLICE_REPORT_NOT_TRANSLATED","LIABILITY_DISPUTED","AMOUNT_EXCESSIVE","NOT_COVERED","CERTIFICATE_INVALID","TIME_BARRED","OTHER"]},"reason":{"type":"string","maxLength":1000},"language":{"type":"string","enum":["en","fr","pt"]}},"required":["answer"],"additionalProperties":false}}}},"responses":{"200":{"description":""}},"tags":["claims"],"x-permissions":["claim.notice.answer"]}},"/claims/{id}/demands":{"post":{"operationId":"ClaimsController_demand","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"notifiedOn":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"},"acknowledgeMissing":{"type":"boolean"}},"additionalProperties":false}}}},"responses":{"201":{"description":""}},"tags":["claims"],"x-permissions":["claim.demand.raise"]}},"/claims/{id}/demands/{demandId}/answer":{"post":{"operationId":"ClaimsController_answerDemand","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}},{"name":"demandId","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"answer":{"type":"string","enum":["ACCEPTED","REJECTED"]},"code":{"type":"string","enum":["DOCUMENTS_MISSING","POLICE_REPORT_NOT_TRANSLATED","LIABILITY_DISPUTED","AMOUNT_EXCESSIVE","NOT_COVERED","CERTIFICATE_INVALID","TIME_BARRED","OTHER"]},"reason":{"type":"string","maxLength":1000},"language":{"type":"string","enum":["en","fr","pt"]}},"required":["answer"],"additionalProperties":false}}}},"responses":{"200":{"description":""}},"tags":["claims"],"x-permissions":["claim.demand.answer"]}},"/claims/{id}/demands/{demandId}/payment":{"post":{"operationId":"ClaimsController_declare","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}},{"name":"demandId","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"reference":{"type":"string","minLength":2,"maxLength":80},"paidOn":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"},"amount":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991}},"required":["reference","paidOn","amount"],"additionalProperties":false}}}},"responses":{"200":{"description":""}},"tags":["claims"],"x-permissions":["claim.demand.answer"]}},"/claims/{id}/demands/{demandId}/confirm":{"post":{"operationId":"ClaimsController_confirm","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}},{"name":"demandId","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""}},"tags":["claims"],"x-permissions":["claim.demand.raise"]}},"/claims/{id}/arbitrations":{"post":{"operationId":"ClaimsController_arbitrate","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"arbitrators":{"minItems":3,"maxItems":3,"type":"array","items":{"type":"string","minLength":3,"maxLength":160}},"documentIds":{"maxItems":20,"type":"array","items":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"note":{"type":"string","maxLength":1000},"language":{"type":"string","enum":["en","fr","pt"]}},"required":["arbitrators"],"additionalProperties":false}}}},"responses":{"201":{"description":""}},"tags":["claims"],"x-permissions":["claim.arbitration.manage"]}},"/claims/{id}/arbitrations/{arbitrationId}/decision":{"post":{"operationId":"ClaimsController_decide","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}},{"name":"arbitrationId","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"outcome":{"type":"string","enum":["UPHELD","DISMISSED","PARTIAL"]},"decidedOn":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"},"amount":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},"note":{"type":"string","maxLength":1000},"language":{"type":"string","enum":["en","fr","pt"]}},"required":["outcome"],"additionalProperties":false}}}},"responses":{"200":{"description":""}},"tags":["claims"],"x-permissions":["claim.arbitration.manage"]}},"/claims/{id}/close":{"post":{"operationId":"ClaimsController_close","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""}},"tags":["claims"],"x-permissions":["claim.settle"]}},"/claims/{id}/documents/{documentId}/content":{"get":{"operationId":"ClaimsController_documentContent","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}},{"name":"documentId","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""}},"tags":["claims"],"x-permissions":["claim.read"]}},"/claims/{id}/documents":{"post":{"operationId":"ClaimsController_upload","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"filename":{"type":"string","minLength":1,"maxLength":255},"contentType":{"type":"string","minLength":3,"maxLength":120},"dataBase64":{"type":"string","minLength":1,"maxLength":21000000},"kind":{"type":"string","enum":["POLICE_REPORT","ESTIMATE","INVOICE","SURVEYOR_REPORT","PHOTO","MEDICAL_REPORT","MEDICAL_CERTIFICATE","DEATH_CERTIFICATE","CIVIL_STATUS","ID_DOCUMENT","INCOME_PROOF","THIRD_PARTY_PAYER_STATEMENT","WRITTEN_REQUEST","RECEIPT","ARBITRATION_AWARD","OTHER"]},"language":{"type":"string","enum":["en","fr","pt"]},"translationOf":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"translator":{"type":"string","minLength":2,"maxLength":160},"certified":{"type":"boolean"}},"required":["filename","contentType","dataBase64","kind"],"additionalProperties":false}}}},"responses":{"201":{"description":""}},"tags":["claims"],"x-permissions":["document.upload"]}},"/claims/{id}/photo-readings":{"post":{"operationId":"PhotoReadingsController_read","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"202":{"description":""}},"tags":["claims"],"x-permissions":["claim.assess"]}},"/claims/{id}/photo-readings/{readingId}/reviews":{"post":{"operationId":"PhotoReadingsController_review","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}},{"name":"readingId","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"decision":{"type":"string","enum":["ACCEPTED","EDITED","REJECTED","ESCALATED"]},"reason":{"type":"string","minLength":5,"maxLength":1000},"corrections":{"type":"object","properties":{"severity":{"type":"string","enum":["MINOR","MODERATE","SEVERE","TOTAL_LOSS","UNKNOWN"]},"plate":{"type":"string","minLength":1,"maxLength":20},"make":{"type":"string","minLength":1,"maxLength":60},"model":{"type":"string","minLength":1,"maxLength":60},"colour":{"type":"string","minLength":1,"maxLength":40},"damageSummary":{"type":"string","minLength":1,"maxLength":1000},"sameVehicle":{"type":"string","enum":["SAME","DIFFERENT","UNSURE"]}},"additionalProperties":false},"language":{"type":"string","enum":["en","fr","pt"]}},"required":["decision","reason"],"additionalProperties":false}}}},"responses":{"201":{"description":""}},"tags":["claims"],"x-permissions":["claim.assess"]}},"/claims/{id}/translations":{"post":{"operationId":"TranslationsController_text","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"source":{"type":"object","properties":{"kind":{"type":"string","enum":["claim.description","claim.statusReason","claim.fakeCertificateReason","notice.reason","demand.rejectionReason","assessment.note","arbitration.note","photoReview.reason","event.reason"]},"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"required":["kind"],"additionalProperties":false},"target":{"type":"string","enum":["en","fr","pt"]}},"required":["source","target"],"additionalProperties":false}}}},"responses":{"200":{"description":""}},"tags":["claims"],"x-permissions":["claim.read"]}},"/claims/{id}/documents/{documentId}/translations":{"post":{"operationId":"TranslationsController_document","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}},{"name":"documentId","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"target":{"type":"string","enum":["en","fr","pt"]}},"required":["target"],"additionalProperties":false}}}},"responses":{"202":{"description":""}},"tags":["claims"],"x-permissions":["document.upload"]}},"/claims/{id}/document-translations/{translationId}/confirm":{"post":{"operationId":"TranslationsController_confirm","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}},{"name":"translationId","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"text":{"type":"string","minLength":1,"maxLength":100000}},"required":["text"],"additionalProperties":false}}}},"responses":{"200":{"description":""}},"tags":["claims"],"x-permissions":["document.upload"]}},"/claims/{id}/document-translations/{translationId}/discard":{"post":{"operationId":"TranslationsController_discard","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}},{"name":"translationId","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""}},"tags":["claims"],"x-permissions":["document.upload"]}},"/claims/{id}/cover-suggestions/refresh":{"post":{"operationId":"CoverSuggestionsController_refresh","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"202":{"description":""}},"tags":["claims"],"x-permissions":["claim.open"]}},"/claims/{id}/cover-suggestions/{suggestionId}/attach":{"post":{"operationId":"CoverSuggestionsController_attach","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}},{"name":"suggestionId","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""}},"tags":["claims"],"x-permissions":["claim.open"]}},"/claims/{id}/cover-suggestions/{suggestionId}/dismiss":{"post":{"operationId":"CoverSuggestionsController_dismiss","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}},{"name":"suggestionId","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""}},"tags":["claims"],"x-permissions":["claim.open"]}},"/ua-rates":{"get":{"operationId":"RatesController_list","parameters":[],"responses":{"200":{"description":""}},"tags":["claims"],"x-permissions":["uarate.read"]},"post":{"operationId":"RatesController_create","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"currency":{"type":"string","minLength":3,"maxLength":3},"perUa":{"type":"string","pattern":"^\\d+(\\.\\d{1,6})?$"},"effectiveFrom":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"}},"required":["currency","perUa","effectiveFrom"],"additionalProperties":false}}}},"responses":{"201":{"description":""}},"tags":["claims"],"x-permissions":["uarate.manage"]}},"/document-languages":{"get":{"operationId":"DocumentLanguagesController_list","parameters":[],"responses":{"200":{"description":""}},"tags":["claims"],"x-permissions":["claim.read"]}},"/document-languages/{country}":{"get":{"operationId":"DocumentLanguagesController_get","parameters":[{"name":"country","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""}},"tags":["claims"],"x-permissions":["claim.read"]},"put":{"operationId":"DocumentLanguagesController_set","parameters":[{"name":"country","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"languages":{"maxItems":3,"type":"array","items":{"type":"string","enum":["en","fr","pt"]}}},"required":["languages"],"additionalProperties":false}}}},"responses":{"200":{"description":""}},"tags":["claims"],"x-permissions":["country.configure"]}},"/bank-rates":{"get":{"operationId":"BankRatesController_list","parameters":[],"responses":{"200":{"description":""}},"tags":["claims"],"x-permissions":["uarate.read"]},"post":{"operationId":"BankRatesController_create","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"country":{"type":"string","minLength":2,"maxLength":2},"percent":{"type":"string","pattern":"^\\d{1,3}(\\.\\d{1,3})?$"},"effectiveFrom":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"}},"required":["country","percent","effectiveFrom"],"additionalProperties":false}}}},"responses":{"201":{"description":""}},"tags":["claims"],"x-permissions":["uarate.manage"]}},"/reports/claims-money":{"get":{"operationId":"ClaimsMoneyController_report","parameters":[{"name":"from","required":true,"in":"query","schema":{}},{"name":"to","required":true,"in":"query","schema":{}},{"name":"country","required":false,"in":"query","schema":{}},{"name":"all","required":false,"in":"query","schema":{}},{"name":"page","required":false,"in":"query","schema":{}},{"name":"pageSize","required":false,"in":"query","schema":{}}],"responses":{"200":{"description":""}},"tags":["claims"],"x-permissions":["claim.read"]}}},"info":{"title":"Claims service","description":"Cross-border claims under the Harmonised Convention: intake, cover lookup, assessment, offers, notices, demands and arbitration.","version":"1.0.0","contact":{}},"tags":[{"name":"Report an accident","description":"Anyone can report a road accident without signing in. The national bureau of the country where the accident happened receives the report as a claim, and the reporter receives a claim reference to follow it."},{"name":"Track a claim","description":"A reporter follows a claim with its reference and the phone number given in the report. A six-digit code sent by SMS proves the number, then the stage the claim has reached is shown."},{"name":"Handle claims","description":"For national bureaux and insurers with an integration key: find the claims you can work on and read one with its vehicles, timeline and deadlines. A national bureau can also check the cover a vehicle had on the day of an accident and open a claim."}],"servers":[],"components":{"securitySchemes":{"apiKey":{"type":"apiKey","in":"header","name":"x-api-key","description":"An integration key, created under Integrations → Integration keys. It looks like `bc_1a2b3c4d_…` and is shown once, when you create it."},"bearer":{"scheme":"bearer","bearerFormat":"JWT","type":"http","description":"An integration key sent as `Authorization: Bearer bc_…`, or the session token of a signed-in user."}},"schemas":{"ReportReceipt":{"type":"object","properties":{"reference":{"type":"string","description":"The reference of the new claim: `CLM-`, the country of the accident, the year and a six-digit number. Keep it: with the reporter’s phone number it is how the claim is followed.","example":"CLM-GH-2026-000141"},"duplicate":{"description":"Present when the same reporter sent this report before: `reference` is the claim already recorded for the accident, not a new one.","type":"boolean","enum":[true]}},"required":["reference"],"description":"The answer to reporting an accident."},"TrackingCodeRequest":{"type":"object","properties":{"sent":{"type":"boolean","enum":[true],"description":"Always `true`: the answer is the same for every request, whether or not a code was sent."},"expiresInMinutes":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"How long a code works, counted from the moment it is sent.","example":10}},"required":["sent","expiresInMinutes"],"description":"The answer to asking for a code."},"ClaimStatus":{"type":"object","properties":{"reference":{"type":"string","example":"CLM-GH-2026-000141"},"stage":{"type":"string","enum":["REPORTED","ACKNOWLEDGED","ASSESSING","OFFERED","PAID","CLOSED","DECLINED","WITHDRAWN"],"description":"`REPORTED`: the report is in. `ACKNOWLEDGED`: the national bureau has received it. `ASSESSING`: the damage is being assessed. `OFFERED`: compensation has been offered or agreed. `PAID`: compensation has been paid; the claim stays here while the bureaux settle between themselves. `CLOSED`: the claim is finished. `DECLINED`: the bureau did not accept the claim. `WITHDRAWN`: the claim was withdrawn.","example":"ASSESSING"},"stageLabel":{"type":"string","description":"The name of the stage in the language you asked for, ready to show.","example":"Damage being assessed"},"accidentDate":{"type":"string","description":"The day of the accident, `YYYY-MM-DD`."},"accidentCountry":{"type":"string","minLength":2,"maxLength":2,"description":"Two-letter code of the country where the accident happened."},"reportedOn":{"type":"string","description":"The day the claim was created, `YYYY-MM-DD`."},"updatedOn":{"type":"string","description":"The day the claim was last updated, `YYYY-MM-DD`."},"steps":{"type":"array","items":{"type":"object","properties":{"stage":{"type":"string","enum":["REPORTED","ACKNOWLEDGED","ASSESSING","OFFERED","PAID","CLOSED"]},"label":{"type":"string","description":"The name of the step, in the same language."},"reached":{"type":"boolean","description":"True for this step and every step before it. Nothing is reached for a declined or withdrawn claim."},"current":{"type":"boolean","description":"True for the step the claim is at."}},"required":["stage","label","reached","current"]},"description":"The six steps of a claim in order, for a progress display: reported, received by the bureau, assessed, offered, paid, closed."}},"required":["reference","stage","stageLabel","accidentDate","accidentCountry","reportedOn","updatedOn","steps"],"description":"Where a claim stands, safe to show to the reporter."},"ClaimSummary":{"type":"object","properties":{"id":{"type":"string","description":"The id of the claim. Use it to read the claim.","example":"3b6e1f08-5c27-4d9a-8e41-7a02c9d5b316"},"reference":{"type":"string","description":"The reference people quote: `CLM-`, the accident country, the year, a number.","example":"CLM-GH-2026-000142"},"status":{"$ref":"#/components/schemas/ClaimStage"},"accidentCountry":{"type":"string","minLength":2,"maxLength":2,"description":"Two-letter code of the country where the accident happened."},"issuingCountry":{"nullable":true,"description":"Two-letter code of the country that issued the certificate; null until cover is attached.","type":"string"},"accidentDate":{"type":"string","description":"The day of the accident, `YYYY-MM-DD`."},"plate":{"nullable":true,"description":"The plate of the vehicle at fault, or of the first vehicle listed.","example":"TG 1234 AB","type":"string"},"certificateNumber":{"nullable":true,"description":"The certificate the claim is made on; null until cover is attached.","example":"TG-2026-0002056","type":"string"},"coverConfirmed":{"type":"boolean","description":"True when the certificate was found in the certificate register. False when the cover was typed in or is not attached yet."},"amountUa":{"nullable":true,"description":"The amount recoverable from the issuing bureau once the damage is assessed, in hundredths of a unit of account (UA); null before that.","type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"nextDeadline":{"nullable":true,"description":"The next time limit someone has to act on; null when the claim is finished or none is running.","allOf":[{"$ref":"#/components/schemas/Deadline"}]},"updatedAt":{"type":"string","format":"date-time","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])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","description":"When the claim last changed."},"probableCover":{"description":"For the handling bureau and the Secretariat: a reported claim without cover for which the certificate register named a certificate in force on the accident date.","type":"boolean"}},"required":["id","reference","status","accidentCountry","issuingCountry","accidentDate","plate","certificateNumber","coverConfirmed","amountUa","nextDeadline","updatedAt"],"description":"A claim as it appears in a list."},"ClaimStage":{"type":"string","enum":["REPORTED","ACKNOWLEDGED","ASSESSING","OFFERED","AGREED","PAID","RECOVERY","DEMANDED","REIMBURSED","DISPUTED","ARBITRATION","CLOSED","DECLINED","WITHDRAWN"],"description":"`REPORTED`: reported, not yet taken by the handling bureau. `ACKNOWLEDGED`: taken by the handling bureau. `ASSESSING`: the damage is being assessed. `OFFERED`: an offer was made to the victim. `AGREED`: the victim accepted. `PAID`: the victim was paid. `RECOVERY`: the handling bureau has told the issuing bureau. `DEMANDED`: reimbursement was claimed. `REIMBURSED`: the issuing bureau reimbursed. `DISPUTED` and `ARBITRATION`: the claim is contested. `CLOSED`: finished. `DECLINED`: not accepted. `WITHDRAWN`: withdrawn.","example":"ACKNOWLEDGED"},"Deadline":{"type":"object","properties":{"kind":{"type":"string","description":"What the time limit is for, for example `POLICE_REPORT`, `OFFER`, `VICTIM_PAYMENT`, `NOTICE_ANSWER`, `REIMBURSEMENT` or `LIMITATION`.","example":"POLICE_REPORT"},"dueOn":{"type":"string","description":"The day it falls due, `YYYY-MM-DD`."},"article":{"type":"string","description":"The article of the Convention that sets the limit.","example":"Arts. 31, 81"},"basis":{"type":"string","description":"The rule in a sentence.","example":"The police report reaches the insurer within two months of the accident"},"party":{"type":"string","enum":["POLICE","HANDLING_BUREAU","ISSUING_BUREAU","VICTIM"],"description":"Who has to act."},"state":{"type":"string","enum":["OPEN","OVERDUE","MET","LATE","SUSPENDED","CLOSED"],"description":"`OPEN`: still running. `OVERDUE`: passed with nothing done. `MET`: done in time. `LATE`: done after the day. `SUSPENDED`: the clock is stopped. `CLOSED`: the window has closed."},"doneOn":{"nullable":true,"description":"The day it was done, if it has been.","type":"string"},"daysLeft":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"Days from today to `dueOn`; negative once the day has passed."}},"required":["kind","dueOn","article","basis","party","state","doneOn","daysLeft"],"description":"A time limit of the Convention that applies to a claim."},"OpenedClaim":{"type":"object","properties":{"id":{"type":"string","description":"The id of the claim.","example":"3b6e1f08-5c27-4d9a-8e41-7a02c9d5b316"},"reference":{"type":"string","description":"The reference to quote, such as `CLM-GH-2026-000142`.","example":"CLM-GH-2026-000142"}},"required":["id","reference"],"description":"The claim that was opened."},"CoverLookup":{"type":"object","properties":{"found":{"type":"boolean","description":"True when a certificate matches the plate, certificate number or policy number you gave. One that was not in force on the day is still returned, with `inForce` false."},"inForce":{"type":"boolean","description":"True when the certificate was valid on the day of the accident."},"coversAccidentCountry":{"nullable":true,"description":"True when the certificate covered the accident country on that day, false when it did not, null when no certificate was found.","type":"boolean"},"crossBorder":{"type":"boolean","description":"True when the certificate was issued in another country than the one where the accident happened. Only then can a claim be opened on it."},"refusal":{"nullable":true,"description":"A sentence to show when the certificate was issued in the accident country, so the claim is handled nationally; null otherwise.","type":"string"},"issuingCountry":{"nullable":true,"description":"Two-letter code of the country that issued the certificate.","type":"string"},"certificate":{"nullable":true,"allOf":[{"$ref":"#/components/schemas/CoverCertificate"}]}},"required":["found","inForce","coversAccidentCountry","crossBorder","refusal","issuingCountry","certificate"],"description":"The cover found for a vehicle on the day."},"CoverCertificate":{"type":"object","properties":{"certificateId":{"type":"string"},"number":{"type":"string","example":"TG-2026-0002056"},"policyNumber":{"type":"string"},"scope":{"type":"string","enum":["ECOWAS"],"description":"Always `ECOWAS`: every certificate is an ECOWAS Brown Card."},"territories":{"type":"array","items":{"type":"string"},"description":"The countries the Brown Card covers: all 11 countries of the scheme."},"validFrom":{"type":"string"},"validTo":{"type":"string"},"statusOnDate":{"nullable":true,"description":"The status of the certificate on the day of the accident.","type":"string","enum":["ISSUED","SUSPENDED","CANCELLED","EXPIRED","REPLACED"]},"insurerOrgId":{"type":"string"},"insurerName":{"type":"string"},"registration":{"type":"string","description":"The plate the certificate was issued for."},"vehicle":{"nullable":true,"description":"Make and model.","example":"Toyota Hiace","type":"string"},"holderName":{"nullable":true,"description":"The policyholder’s full name.","type":"string"}},"required":["certificateId","number","policyNumber","scope","territories","validFrom","validTo","statusOnDate","insurerOrgId","insurerName","registration","vehicle","holderName"],"description":"The certificate that applied on the day."},"Claim":{"type":"object","properties":{"id":{"type":"string","description":"The id of the claim.","example":"3b6e1f08-5c27-4d9a-8e41-7a02c9d5b316"},"reference":{"type":"string","example":"CLM-GH-2026-000142"},"status":{"$ref":"#/components/schemas/ClaimStage"},"statusReason":{"nullable":true,"description":"The reason given when the claim was declined or withdrawn.","type":"string"},"statusReasonLanguage":{"description":"The language the stage’s reason is written in.","nullable":true,"type":"string","enum":["en","fr","pt"]},"accidentCountry":{"type":"string","minLength":2,"maxLength":2,"description":"The country where the accident happened. Its national bureau handles the claim."},"issuingCountry":{"nullable":true,"description":"The country that issued the certificate; null until cover is attached.","type":"string"},"handlingBureauOrgId":{"type":"string","description":"The national bureau handling the claim."},"issuingBureauOrgId":{"nullable":true,"description":"The national bureau of the country that issued the certificate.","type":"string"},"insurerOrgId":{"nullable":true,"description":"The insurer that issued the certificate, when it is on the platform.","type":"string"},"certificateNumber":{"nullable":true,"type":"string"},"coverConfirmed":{"type":"boolean","description":"True when the certificate was found in the certificate register. False when the cover was typed in or is not attached yet."},"coversAccidentCountry":{"nullable":true,"description":"Whether the certificate covered the accident country on the day; null when that was not checked.","type":"boolean"},"cover":{"nullable":true,"description":"The certificate as it stood on the day of the accident: number, insurer, validity, territories and vehicle. Null until cover is attached.","type":"object","additionalProperties":{}},"accidentDate":{"type":"string","description":"The day of the accident, `YYYY-MM-DD`."},"accidentPlace":{"type":"string"},"lat":{"nullable":true,"type":"number"},"lng":{"nullable":true,"type":"number"},"description":{"nullable":true,"type":"string"},"descriptionLanguage":{"description":"The language the description is written in.","nullable":true,"type":"string","enum":["en","fr","pt"]},"damageKind":{"type":"string","description":"`MATERIAL`, `BODILY` or `BOTH`.","example":"MATERIAL"},"reportedBy":{"type":"string","description":"Who reported the accident: `PUBLIC`, `POLICYHOLDER`, `BUREAU`, `INSURER` or `USSD`.","example":"BUREAU"},"reporter":{"nullable":true,"description":"The reporter’s contact details. Shown to the handling bureau and to the policyholder who reported; null for everyone else.","type":"object","properties":{"name":{"nullable":true,"type":"string"},"phone":{"nullable":true,"type":"string"},"email":{"nullable":true,"type":"string"}},"required":["name","phone","email"]},"facts":{"type":"object","properties":{"policeReportOn":{"nullable":true,"type":"string"},"insurerNotifiedOn":{"nullable":true,"type":"string"},"deathOn":{"nullable":true,"type":"string"},"documentsCompleteOn":{"nullable":true,"type":"string"},"consolidationNotifiedOn":{"nullable":true,"type":"string"},"victimAbroad":{"type":"boolean"}},"required":["policeReportOn","insurerNotifiedOn","deathOn","documentsCompleteOn","consolidationNotifiedOn","victimAbroad"],"description":"The dates the handling bureau has recorded. The Convention time limits in `deadlines` are counted from them."},"fakeCertificate":{"nullable":true,"description":"Set when the handling bureau found the certificate shown for the claim to be a fake: when it said so and why.","type":"object","properties":{"at":{"type":"string","format":"date-time","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])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"reason":{"type":"string"}},"required":["at","reason"]},"createdAt":{"type":"string","format":"date-time","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])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"updatedAt":{"type":"string","format":"date-time","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])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"currency":{"nullable":true,"description":"The national currency of the accident country, in which the victim is paid.","example":"GHS","type":"string"},"role":{"type":"string","enum":["HANDLING","ISSUING","REPORTER","OBSERVER"],"description":"How you relate to this claim. `HANDLING`: the bureau of the accident country. `ISSUING`: the bureau of the country that issued the certificate. `REPORTER`: the policyholder who reported it. `OBSERVER`: anyone else who can see it, such as the insurer."},"parties":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"role":{"type":"string","enum":["AT_FAULT","VICTIM","WITNESS"],"description":"`AT_FAULT`, `VICTIM` or `WITNESS`."},"registration":{"nullable":true,"type":"string"},"country":{"nullable":true,"type":"string"},"name":{"nullable":true,"description":"Shown to bureaux and insurers; null for everyone else.","type":"string"},"insurerName":{"nullable":true,"type":"string"},"vehicleUse":{"nullable":true,"type":"string"},"vehicle":{"nullable":true,"type":"string"}},"required":["id","role","registration","country","name","insurerName","vehicleUse","vehicle"]},"description":"The vehicles and people involved."},"route":{"nullable":true,"description":"How the handling bureau tells the issuing bureau about a payment, which depends on the amount. Null until the damage is assessed.","type":"object","properties":{"route":{"type":"string","enum":["SETTLE_AND_NOTIFY","PRIOR_APPROVAL"]},"answerMonths":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"article":{"type":"string"},"basis":{"type":"string"}},"required":["route","answerMonths","article","basis"]},"assessments":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"version":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"Each new assessment of a claim has the next number."},"liabilityBasis":{"type":"string"},"liabilityPercent":{"type":"number"},"liabilityArticle":{"type":"string"},"inputs":{"type":"object","additionalProperties":{}},"heads":{"type":"array","items":{"type":"object","properties":{"head":{"type":"string","enum":["REPAIR","LOSS_OF_USE","TOWING","SURVEYOR","REPORT","OTHER_LOSS"]},"article":{"type":"string"},"claimedUa":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"allowedUa":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"capUa":{"nullable":true,"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"capped":{"type":"boolean"},"basis":{"type":"string"}},"required":["head","article","claimedUa","allowedUa","capUa","capped","basis"]}},"totalUa":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"recoverableUa":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"totalLocal":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"recoverableLocal":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"currency":{"type":"string"},"ratePerUa":{"type":"string"},"rateDate":{"type":"string","description":"`YYYY-MM-DD`."},"note":{"nullable":true,"type":"string"},"createdAt":{"type":"string","format":"date-time","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])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"}},"required":["id","version","liabilityBasis","liabilityPercent","liabilityArticle","inputs","heads","totalUa","recoverableUa","totalLocal","recoverableLocal","currency","ratePerUa","rateDate","note","createdAt"]},"description":"Assessments of the damage, newest first. Empty until the damage is assessed."},"offers":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"kind":{"type":"string"},"amount":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"currency":{"type":"string"},"amountUa":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"madeOn":{"type":"string","description":"`YYYY-MM-DD`."},"response":{"nullable":true,"type":"string"},"respondedOn":{"nullable":true,"type":"string","description":"`YYYY-MM-DD`."},"lateInterest":{"nullable":true,"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"aboveRecoverableReason":{"description":"Why the offer is above the recoverable amount of its assessment; null when it is not.","nullable":true,"type":"string"},"aboveRecoverableReasonLanguage":{"description":"The language that reason is written in.","nullable":true,"type":"string","enum":["en","fr","pt"]},"createdAt":{"type":"string","format":"date-time","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])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"}},"required":["id","kind","amount","currency","amountUa","madeOn","response","respondedOn","lateInterest","createdAt"]},"description":"Offers made to the victim, newest first."},"payments":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"amount":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"currency":{"type":"string"},"amountUa":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"paidOn":{"type":"string","description":"`YYYY-MM-DD`."},"reference":{"type":"string"},"createdAt":{"type":"string","format":"date-time","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])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"lateInterest":{"nullable":true,"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"dueOn":{"nullable":true,"type":"string","description":"`YYYY-MM-DD`."}},"required":["id","amount","currency","amountUa","paidOn","reference","createdAt","lateInterest","dueOn"]},"description":"Payments made to the victim."},"notices":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"route":{"type":"string","enum":["SETTLE_AND_NOTIFY","PRIOR_APPROVAL"]},"amountUa":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"amountLocal":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"currency":{"type":"string"},"sentOn":{"type":"string","description":"`YYYY-MM-DD`."},"sentAt":{"type":"string","format":"date-time","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])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"answerDueOn":{"type":"string","description":"`YYYY-MM-DD`."},"answer":{"nullable":true,"type":"string","enum":["APPROVED","REJECTED"]},"deemed":{"type":"boolean"},"reason":{"nullable":true,"type":"string"},"rejectionCode":{"description":"Why the issuing bureau rejected it, as a code every reader sees in their own language.","nullable":true,"type":"string","enum":["DOCUMENTS_MISSING","POLICE_REPORT_NOT_TRANSLATED","LIABILITY_DISPUTED","AMOUNT_EXCESSIVE","NOT_COVERED","CERTIFICATE_INVALID","TIME_BARRED","OTHER"]},"reasonLanguage":{"description":"The language the reason is written in.","nullable":true,"type":"string","enum":["en","fr","pt"]},"answeredAt":{"nullable":true,"type":"string","format":"date-time","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])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"pending":{"type":"boolean","description":"Still waiting for an answer: none recorded and the time to answer has not run out."},"effectiveAnswer":{"description":"The answer as it stands today: the recorded one, or `APPROVED` once the time to answer has run out with none (Art. 82), even before `answer` records it.","nullable":true,"type":"string","enum":["APPROVED","REJECTED"]},"dossierMissing":{"description":"The Art. 84 documents the dossier lacked when the handling bureau sent it anyway; empty when it was complete; null when it was sent before the dossier was checked.","nullable":true,"type":"array","items":{"type":"string","enum":["POLICE_REPORT","POLICE_REPORT_TRANSLATION","ESTIMATE_OR_INVOICE","SURVEYOR_REPORT"]}}},"required":["id","route","amountUa","amountLocal","currency","sentOn","sentAt","answerDueOn","answer","deemed","reason","answeredAt","pending"]},"description":"Notices from the handling bureau to the issuing bureau about a payment."},"demands":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"noticeId":{"nullable":true,"type":"string"},"amountUa":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"amountLocal":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"currency":{"type":"string"},"ratePerUa":{"type":"string"},"rateDate":{"type":"string","description":"`YYYY-MM-DD`."},"notifiedOn":{"type":"string","description":"`YYYY-MM-DD`."},"rejectBy":{"nullable":true,"type":"string","description":"`YYYY-MM-DD`."},"dueOn":{"type":"string","description":"`YYYY-MM-DD`."},"interestFrom":{"type":"string","description":"`YYYY-MM-DD`."},"status":{"type":"string","enum":["OPEN","ACCEPTED","REJECTED","DUE","PAID","DISPUTED"]},"deemed":{"type":"boolean"},"rejectionReason":{"nullable":true,"type":"string"},"rejectionCode":{"description":"Why the issuing bureau rejected it, as a code every reader sees in their own language.","nullable":true,"type":"string","enum":["DOCUMENTS_MISSING","POLICE_REPORT_NOT_TRANSLATED","LIABILITY_DISPUTED","AMOUNT_EXCESSIVE","NOT_COVERED","CERTIFICATE_INVALID","TIME_BARRED","OTHER"]},"rejectionReasonLanguage":{"description":"The language the reason is written in.","nullable":true,"type":"string","enum":["en","fr","pt"]},"answeredAt":{"nullable":true,"type":"string","format":"date-time","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])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"declaredReference":{"nullable":true,"type":"string"},"declaredOn":{"nullable":true,"type":"string","description":"`YYYY-MM-DD`."},"declaredAmount":{"nullable":true,"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"confirmedOn":{"nullable":true,"type":"string","description":"`YYYY-MM-DD`."},"interestAccrued":{"nullable":true,"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"createdAt":{"type":"string","format":"date-time","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])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"pendingDeclaration":{"nullable":true,"description":"The payment the issuing bureau declared, while the handling bureau has not confirmed it. A second declaration is refused with `PAYMENT_ALREADY_DECLARED`.","type":"object","properties":{"reference":{"type":"string"},"paidOn":{"type":"string","description":"`YYYY-MM-DD`."},"amount":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"currency":{"type":"string"},"owed":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"Principal and interest at `paidOn`, in minor units."},"short":{"type":"boolean","description":"True when the payment is less than principal and interest at its date, so it cannot be confirmed and the full payment is declared again."}},"required":["reference","paidOn","amount","currency","owed","short"]},"position":{"type":"object","properties":{"asOf":{"type":"string","description":"`YYYY-MM-DD`."},"article":{"type":"string"},"interestFrom":{"type":"string","description":"`YYYY-MM-DD`."},"lines":{"type":"array","items":{"type":"object","properties":{"from":{"type":"string","description":"`YYYY-MM-DD`."},"to":{"type":"string","description":"`YYYY-MM-DD`."},"days":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"percent":{"type":"number"},"amount":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"amountUa":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["from","to","days","percent","amount","amountUa"]}},"interest":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"interestUa":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"owed":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"owedUa":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["asOf","article","interestFrom","lines","interest","interestUa","owed","owedUa"]},"effectiveStatus":{"description":"The status as it stands today: an `OPEN` demand past its rejection date is `DUE` (Art. 83(1)), even before `status` records it.","type":"string","enum":["OPEN","ACCEPTED","REJECTED","DUE","PAID","DISPUTED"]},"dossierMissing":{"description":"The Art. 84 documents the dossier lacked when the handling bureau sent it anyway; empty when it was complete; null when it was sent before the dossier was checked.","nullable":true,"type":"array","items":{"type":"string","enum":["POLICE_REPORT","POLICE_REPORT_TRANSLATION","ESTIMATE_OR_INVOICE","SURVEYOR_REPORT"]}}},"required":["id","noticeId","amountUa","amountLocal","currency","ratePerUa","rateDate","notifiedOn","rejectBy","dueOn","interestFrom","status","deemed","rejectionReason","answeredAt","declaredReference","declaredOn","declaredAmount","confirmedOn","interestAccrued","createdAt","pendingDeclaration","position"]},"description":"Requests from the handling bureau to the issuing bureau for reimbursement."},"arbitrations":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"demandId":{"nullable":true,"type":"string"},"noticeId":{"nullable":true,"type":"string"},"arbitrators":{"type":"array","items":{"type":"string"}},"documentIds":{"type":"array","items":{"type":"string"}},"status":{"type":"string"},"outcome":{"nullable":true,"type":"string"},"decidedOn":{"nullable":true,"type":"string","description":"`YYYY-MM-DD`."},"awardAmount":{"nullable":true,"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"currency":{"nullable":true,"type":"string"},"note":{"nullable":true,"type":"string"},"createdAt":{"type":"string","format":"date-time","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])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"}},"required":["id","demandId","noticeId","arbitrators","documentIds","status","outcome","decidedOn","awardAmount","currency","note","createdAt"]},"description":"Arbitrations on the claim."},"documents":{"type":"array","items":{"type":"object","properties":{"documentId":{"type":"string"},"kind":{"type":"string","description":"What the document is: `POLICE_REPORT`, `ESTIMATE`, `INVOICE`, `SURVEYOR_REPORT`, `PHOTO`, `MEDICAL_REPORT`, `MEDICAL_CERTIFICATE`, `DEATH_CERTIFICATE`, `CIVIL_STATUS`, `ID_DOCUMENT`, `INCOME_PROOF`, `THIRD_PARTY_PAYER_STATEMENT`, `WRITTEN_REQUEST`, `RECEIPT`, `ARBITRATION_AWARD`, `OTHER`."},"filename":{"nullable":true,"type":"string"},"addedAt":{"type":"string","format":"date-time","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])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"language":{"description":"The language the document is written in (`en`, `fr` or `pt`); null for a photo and for documents added before languages were recorded.","nullable":true,"type":"string","enum":["en","fr","pt"]},"translationOf":{"description":"The `documentId` of the document of this claim this file translates.","nullable":true,"type":"string"},"translator":{"description":"Who translated it, for a translation.","nullable":true,"type":"string"},"certified":{"description":"A certified (sworn) translation; null for a document that is not one.","nullable":true,"type":"boolean"},"translationMethod":{"description":"`MACHINE` for a machine translation a person reviewed and confirmed; null for one made by a person.","nullable":true,"type":"string","enum":["MACHINE"]},"reviewedBy":{"description":"The id of the user who reviewed and confirmed a machine translation.","nullable":true,"type":"string"}},"required":["documentId","kind","filename","addedAt"]},"description":"Documents and photos attached to the claim."},"dossier":{"description":"The Art. 84 dossier the handling bureau sends with its notice and demand: the police report and its translation into a language of the issuing bureau, the repair estimate or invoice, and the surveyor’s report, each met or missing.","nullable":true,"type":"object","properties":{"applies":{"type":"boolean","description":"Art. 84 applies: the claim is for damage to property (`MATERIAL` or `BOTH`)."},"issuingLanguages":{"type":"array","items":{"type":"string","enum":["en","fr","pt"]},"description":"The languages the issuing bureau reads documents in, its country's language first; empty while the issuing bureau is not known."},"accidentLanguage":{"type":"string","enum":["en","fr","pt"],"description":"The accident country's language: a police report that does not say its language is taken to be in it."},"translationNeeded":{"type":"boolean"},"items":{"type":"array","items":{"type":"object","properties":{"item":{"type":"string","enum":["POLICE_REPORT","POLICE_REPORT_TRANSLATION","ESTIMATE_OR_INVOICE","SURVEYOR_REPORT"]},"met":{"type":"boolean"},"documentIds":{"type":"array","items":{"type":"string"}}},"required":["item","met","documentIds"]}},"missing":{"type":"array","items":{"type":"string","enum":["POLICE_REPORT","POLICE_REPORT_TRANSLATION","ESTIMATE_OR_INVOICE","SURVEYOR_REPORT"]}}},"required":["applies","issuingLanguages","accidentLanguage","translationNeeded","items","missing"]},"unlinkedDocumentIds":{"description":"Photos of the report that are still being attached.","type":"array","items":{"type":"string"}},"events":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string","description":"For example `STATUS`, `COVER` or `DOCUMENT`."},"from":{"nullable":true,"type":"string"},"to":{"nullable":true,"type":"string"},"note":{"nullable":true,"type":"string"},"event":{"nullable":true,"description":"What happened, with its values, for wording in the reader’s language. Null on older entries.","type":"object","properties":{"kind":{"type":"string","enum":["CLAIM_REPORTED","STATUS_CHANGED","OPENED_WITH_MANUAL_COVER","SAME_DAY_CLAIM_CONFIRMED","COVER_FOUND","COVER_ENTERED","FACTS_RECORDED","DOCUMENT_ADDED","ASSESSMENT_SAVED","OFFER_MADE","OFFER_ACCEPTED","OFFER_REFUSED","OFFER_DENOUNCED","VICTIM_PAID","PAYMENT_CORRECTED","SETTLEMENT_NOTIFIED","APPROVAL_REQUESTED","NOTICE_APPROVED","NOTICE_REJECTED","NOTICE_DEEMED_APPROVED","DEMAND_RAISED","DEMAND_ACCEPTED","DEMAND_REJECTED","DEMAND_DUE","REIMBURSEMENT_DECLARED","REIMBURSEMENT_CONFIRMED","FAKE_CERTIFICATE_MARKED","FAKE_CERTIFICATE_CLEARED","ARBITRATION_OPENED","ARBITRATION_DECIDED","PHOTO_READING_REVIEWED","PROBABLE_COVER_FOUND","PROBABLE_COVER_DISMISSED"],"description":"What happened, as a stable code."},"params":{"type":"object","additionalProperties":{},"description":"The values to word it with. They depend on `kind`."}},"required":["kind","params"]},"at":{"type":"string","format":"date-time","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])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"byOrg":{"nullable":true,"type":"string"},"byUser":{"nullable":true,"description":"The id of the user or API key that acted; `system` for the platform, `null` for a report from the public.","type":"string"}},"required":["id","type","from","to","note","event","at","byOrg","byUser"]},"description":"The timeline of the claim, newest first."},"deadlines":{"type":"array","items":{"$ref":"#/components/schemas/Deadline"},"description":"Every Convention time limit that applies now, soonest first."},"actions":{"type":"array","items":{"type":"string","enum":["attachCover","acknowledge","decline","withdraw","recordFacts","assess","offer","respondOffer","pay","correctPayment","sendNotice","answerNotice","raiseDemand","answerDemand","declarePayment","confirmPayment","openArbitration","decideArbitration","close","upload","reviewPhotos","readPhotos","markFakeCertificate"]},"description":"What the platform offers you to do on this claim now, given your role and its stage."},"probableCover":{"description":"For the handling bureau and the Secretariat while no cover is attached: the certificates the register names for the plates of the report. Null for everyone else.","nullable":true,"allOf":[{"$ref":"#/components/schemas/ProbableCover"}]},"photoAssessment":{"description":"The AI reading of the vehicle photos, when photo reading is switched on for the platform or a reading exists. Null otherwise.","nullable":true,"allOf":[{"$ref":"#/components/schemas/PhotoAssessment"}]}},"required":["id","reference","status","statusReason","accidentCountry","issuingCountry","handlingBureauOrgId","issuingBureauOrgId","insurerOrgId","certificateNumber","coverConfirmed","coversAccidentCountry","cover","accidentDate","accidentPlace","lat","lng","description","damageKind","reportedBy","reporter","facts","fakeCertificate","createdAt","updatedAt","currency","role","parties","route","assessments","offers","payments","notices","demands","arbitrations","documents","events","deadlines","actions"],"description":"A claim with everything the caller may see."},"ProbableCover":{"type":"object","properties":{"asOf":{"type":"string","description":"The day the register is asked about: the accident date."},"plates":{"type":"array","items":{"type":"object","properties":{"source":{"type":"string","enum":["TYPED","PHOTO"],"description":"`TYPED`: a plate typed in the report. `PHOTO`: the plate read in the photos, when it is another one."},"plate":{"type":"string"},"state":{"type":"string","enum":["PENDING","RETRYING","CHECKED","UNCHECKED"],"description":"`PENDING`: being looked up. `RETRYING`: the register did not answer and is asked again shortly. `CHECKED`: the answer is in `suggestion`. `UNCHECKED`: not looked up yet."},"suggestion":{"nullable":true,"type":"object","properties":{"id":{"type":"string"},"found":{"type":"boolean"},"certificate":{"nullable":true,"type":"object","properties":{"certificateId":{"type":"string"},"number":{"type":"string"},"insurerName":{"type":"string"},"issuingCountry":{"type":"string"},"validFrom":{"type":"string","description":"`YYYY-MM-DD`."},"validTo":{"type":"string","description":"`YYYY-MM-DD`."},"statusOnDate":{"nullable":true,"type":"string"},"inForce":{"type":"boolean"},"crossBorder":{"type":"boolean","description":"False when the certificate is from the accident country: such a claim is handled nationally."},"registration":{"type":"string"},"vehicle":{"type":"object","properties":{"make":{"nullable":true,"type":"string"},"model":{"nullable":true,"type":"string"},"category":{"nullable":true,"type":"string"}},"required":["make","model","category"]}},"required":["certificateId","number","insurerName","issuingCountry","validFrom","validTo","statusOnDate","inForce","crossBorder","registration","vehicle"]},"dismissed":{"nullable":true,"description":"Set aside by the handling bureau as not this vehicle.","type":"object","properties":{"at":{"type":"string","format":"date-time","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])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"byUser":{"type":"string"}},"required":["at","byUser"]},"checkedAt":{"type":"string","format":"date-time","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])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"}},"required":["id","found","certificate","dismissed","checkedAt"]}},"required":["source","plate","state","suggestion"]}},"differ":{"type":"boolean","description":"The plate typed and the plate read in the photos name different certificates."}},"required":["asOf","plates","differ"],"description":"What the certificate register says about the plates of a reported claim on the accident date. Nothing is attached until the handling bureau attaches it."},"PhotoAssessment":{"type":"object","properties":{"enabled":{"type":"boolean","description":"Photo reading is switched on for the platform."},"pending":{"type":"boolean","description":"A reading is queued or under way."},"reading":{"nullable":true,"type":"object","properties":{"id":{"type":"string"},"status":{"type":"string","enum":["COMPLETED","FAILED","BLOCKED"],"description":"`BLOCKED` when the photos never reached the model (configuration, quota, outage); `FAILED` when its answer could not be used."},"provider":{"type":"string"},"model":{"type":"string"},"promptVersion":{"type":"string"},"documentIds":{"type":"array","items":{"type":"string"}},"skipped":{"type":"array","items":{"type":"object","properties":{"documentId":{"type":"string"},"reason":{"type":"string","enum":["TYPE","TOO_LARGE","OVER_TOTAL","OVER_COUNT","GONE"]}},"required":["documentId","reason"]}},"result":{"nullable":true,"type":"object","properties":{"photos":{"type":"array","items":{"type":"object","properties":{"index":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"documentId":{"type":"string"},"showsVehicle":{"type":"boolean"},"shows":{"type":"string"},"usable":{"type":"boolean"},"severity":{"type":"string","enum":["MINOR","MODERATE","SEVERE","TOTAL_LOSS","UNKNOWN"]},"retake":{"type":"boolean","description":"Ask the reporter for this photo again."}},"required":["index","documentId","showsVehicle","shows","usable","severity","retake"]}},"sameVehicle":{"type":"object","properties":{"verdict":{"type":"string","enum":["SAME","DIFFERENT","UNSURE"]},"reason":{"type":"string"}},"required":["verdict","reason"]},"plate":{"nullable":true,"type":"string"},"plateCountry":{"nullable":true,"description":"ISO 3166 alpha-2.","type":"string"},"vehicle":{"type":"object","properties":{"make":{"nullable":true,"type":"string"},"model":{"nullable":true,"type":"string"},"colour":{"nullable":true,"type":"string"},"bodyType":{"nullable":true,"type":"string","enum":["SEDAN","HATCHBACK","SUV","PICKUP","VAN","MINIBUS","BUS","TRUCK","MOTORCYCLE","TRICYCLE","TRAILER","OTHER"]},"year":{"nullable":true,"type":"string"}},"required":["make","model","colour","bodyType","year"]},"damagedParts":{"type":"array","items":{"type":"object","properties":{"part":{"type":"string"},"damage":{"type":"string","enum":["DENT","SCRATCH","CRACK","BROKEN_GLASS","DEFORMED","MISSING_PART","BURN","WATER","OTHER"]}},"required":["part","damage"]}},"damageSummary":{"type":"string"},"severity":{"type":"string","enum":["MINOR","MODERATE","SEVERE","TOTAL_LOSS","UNKNOWN"],"description":"The worst damage any photo shows."},"description":{"type":"string"},"confidence":{"type":"number","minimum":0,"maximum":1}},"required":["photos","sameVehicle","plate","plateCountry","vehicle","damagedParts","damageSummary","severity","description","confidence"]},"severity":{"nullable":true,"type":"string","enum":["MINOR","MODERATE","SEVERE","TOTAL_LOSS","UNKNOWN"]},"confidence":{"nullable":true,"type":"number"},"plateMatch":{"nullable":true,"type":"string","enum":["MATCH","MISMATCH","UNREADABLE"]},"sameVehicle":{"nullable":true,"type":"string","enum":["SAME","DIFFERENT","UNSURE"]},"errorCode":{"nullable":true,"type":"string"},"attempts":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"createdAt":{"type":"string","format":"date-time","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])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"}},"required":["id","status","provider","model","promptVersion","documentIds","skipped","result","severity","confidence","plateMatch","sameVehicle","errorCode","attempts","createdAt"]},"review":{"nullable":true,"type":"object","properties":{"id":{"type":"string"},"readingId":{"type":"string"},"decision":{"type":"string","enum":["ACCEPTED","EDITED","REJECTED","ESCALATED"]},"reason":{"type":"string"},"corrections":{"nullable":true,"type":"object","properties":{"severity":{"type":"string","enum":["MINOR","MODERATE","SEVERE","TOTAL_LOSS","UNKNOWN"]},"plate":{"type":"string","minLength":1,"maxLength":20},"make":{"type":"string","minLength":1,"maxLength":60},"model":{"type":"string","minLength":1,"maxLength":60},"colour":{"type":"string","minLength":1,"maxLength":40},"damageSummary":{"type":"string","minLength":1,"maxLength":1000},"sameVehicle":{"type":"string","enum":["SAME","DIFFERENT","UNSURE"]}}},"reviewedBy":{"type":"string"},"reviewedByOrg":{"nullable":true,"type":"string"},"createdAt":{"type":"string","format":"date-time","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])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"}},"required":["id","readingId","decision","reason","corrections","reviewedBy","reviewedByOrg","createdAt"]},"declaredPlates":{"type":"array","items":{"type":"object","properties":{"registration":{"type":"string"},"role":{"type":"string"}},"required":["registration","role"]}},"plateMatch":{"nullable":true,"type":"object","properties":{"outcome":{"type":"string","enum":["MATCH","MISMATCH","UNREADABLE"]},"registration":{"nullable":true,"type":"string"},"role":{"nullable":true,"type":"string"}},"required":["outcome","registration","role"]},"fastTrack":{"nullable":true,"type":"object","properties":{"suitable":{"type":"boolean"},"conditions":{"type":"array","items":{"type":"object","properties":{"condition":{"type":"string","enum":["MINOR_DAMAGE","ONE_VEHICLE","EVERY_PHOTO_A_VEHICLE","PLATE_MATCHES","CONFIDENT","SETTLE_AND_NOTIFY"]},"met":{"nullable":true,"type":"boolean"}},"required":["condition","met"]}}},"required":["suitable","conditions"]}},"required":["enabled","pending","reading","review","declaredPlates","plateMatch","fastTrack"],"description":"The AI reading of the claim’s photos: decision support only. It never changes the claim’s stage, amounts or route; an officer reviews it."},"Problem":{"type":"object","description":"An error, as RFC 9457 problem details. Show `detail` to people; branch on `code` in code.","required":["type","title","status","code","detail","correlationId"],"properties":{"type":{"type":"string","description":"Identifies the kind of problem: `urn:bc:problem:` followed by `code` in lower case.","example":"urn:bc:problem:stock_empty"},"title":{"type":"string","description":"The name of the HTTP status.","example":"Conflict"},"status":{"type":"integer","description":"The HTTP status.","example":409},"code":{"type":"string","description":"A stable machine-readable code. Codes are never reused for another meaning.","example":"STOCK_EMPTY"},"detail":{"type":"string","description":"A plain sentence that can be shown to a person.","example":"No certificate credits are left."},"correlationId":{"type":"string","description":"Quote this when you contact support. The same value is in the `x-correlation-id` response header.","example":"9f2b1c64-3d0e-4a57-b8c1-6e7d5a0f4b21"},"errors":{"type":"array","description":"Present on validation errors: one entry per field that needs attention.","items":{"type":"object","required":["path","message"],"properties":{"path":{"type":"string","description":"The field, for example `holder.address`."},"message":{"type":"string","description":"What to correct."}}}}}}}}}