{"openapi":"3.1.0","info":{"title":"CCDB API","version":"1.0.0","description":"Gestandaardiseerde constateringen voor SCIOS Scope 10 en 12. De GET-endpoints zijn open data (CC BY-SA 4.0) en werken zonder sleutel; een sleutel (Authorization: Bearer) verhoogt de limiet en ontsluit scopes. Antwoorden bevatten altijd version_no, approved_at en git_commit_sha."},"servers":[{"url":"https://ccdb.inspectiebedrijven.nl/api/v1"}],"x-rate-limits":{"per_key_per_minute":600,"per_ip_per_minute":60},"paths":{"/findings":{"get":{"summary":"Lijst van actuele goedgekeurde codes","parameters":[{"name":"scope","in":"query","schema":{"type":"string","enum":["S10","S12"]}},{"name":"domain","in":"query","schema":{"type":"string","pattern":"^[A-Z]{2}$"}},{"name":"updated_since","in":"query","description":"ISO 8601; alleen versies goedgekeurd op of na dit moment","schema":{"type":"string","format":"date-time"}},{"name":"page","in":"query","schema":{"type":"integer","minimum":1,"default":1}},{"name":"per_page","in":"query","schema":{"type":"integer","minimum":1,"maximum":200,"default":50}}],"responses":{"200":{"description":"Gepagineerde lijst","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FindingsList"}}}},"401":{"description":"Geen of ongeldige API-sleutel","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"De sleutel mist de vereiste scope","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Te veel verzoeken (zie X-RateLimit-*)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/findings/{code}":{"get":{"summary":"Actuele versie van een code","parameters":[{"name":"code","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"De code met normverwijzingen, classificatie, beslisregels en foto's","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FindingDetail"}}}},"401":{"description":"Geen of ongeldige API-sleutel","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"De sleutel mist de vereiste scope","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Onbekende code","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Te veel verzoeken (zie X-RateLimit-*)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/findings/{code}/versions/{n}":{"get":{"summary":"Een specifieke goedgekeurde versie","parameters":[{"name":"code","in":"path","required":true,"schema":{"type":"string"}},{"name":"n","in":"path","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"De versie zoals die gold","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FindingDetail"}}}},"401":{"description":"Geen of ongeldige API-sleutel","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"De sleutel mist de vereiste scope","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Onbekende code of versie","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Te veel verzoeken (zie X-RateLimit-*)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/photos/{id}":{"get":{"summary":"Metadata en publieke URL's van een goedgekeurde foto","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"De foto","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PhotoDetail"}}}},"401":{"description":"Geen of ongeldige API-sleutel","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"De sleutel mist de vereiste scope","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Onbekende foto","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Te veel verzoeken (zie X-RateLimit-*)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/mappings":{"get":{"summary":"Mappingtabel tussen classificatiemodellen","parameters":[{"name":"from","in":"query","schema":{"type":"string"},"example":"IB22"},{"name":"to","in":"query","schema":{"type":"string"},"example":"NTA8220"}],"responses":{"200":{"description":"Mappings","content":{"application/json":{"schema":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/Mapping"}}}}}}},"401":{"description":"Geen of ongeldige API-sleutel","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"De sleutel mist de vereiste scope","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Te veel verzoeken (zie X-RateLimit-*)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/publications":{"get":{"summary":"Kwartaaltags met commit-sha","responses":{"200":{"description":"Publicaties, nieuwste eerst","content":{"application/json":{"schema":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/Publication"}}}}}}},"401":{"description":"Geen of ongeldige API-sleutel","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"De sleutel mist de vereiste scope","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Te veel verzoeken (zie X-RateLimit-*)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/signals/free-text":{"post":{"summary":"Vrije constatering zonder code","description":"Kandidaat voor een nieuwe code. Nooit project-, adres- of klantgegevens; de software toont de inspecteur vooraf wat er verstuurd wordt.","security":[{"apiKey":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FreeTextSignal"}}}},"responses":{"201":{"description":"Signaal ontvangen; het staat in de triagewachtrij","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SignalCreated"}}}},"400":{"description":"Ongeldig verzoek (onbekend veld of schemafout)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Geen of ongeldige API-sleutel","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"De sleutel mist de vereiste scope","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Onbekende code of versie","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"Klantgegevens of een onbekende klasse","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Te veel verzoeken (zie X-RateLimit-*)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/signals/text-override":{"post":{"summary":"Code gekozen, tekst aangepast","description":"De standaardtekst wringt: code, versie en de aangepaste tekst.","security":[{"apiKey":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TextOverrideSignal"}}}},"responses":{"201":{"description":"Signaal ontvangen; het staat in de triagewachtrij","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SignalCreated"}}}},"400":{"description":"Ongeldig verzoek (onbekend veld of schemafout)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Geen of ongeldige API-sleutel","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"De sleutel mist de vereiste scope","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Onbekende code of versie","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"Klantgegevens of een onbekende klasse","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Te veel verzoeken (zie X-RateLimit-*)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/signals/class-override":{"post":{"summary":"Code gekozen, classificatie afwijkend","description":"Input voor de beslisregels: code, versie, gekozen klasse en reden.","security":[{"apiKey":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ClassOverrideSignal"}}}},"responses":{"201":{"description":"Signaal ontvangen; het staat in de triagewachtrij","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SignalCreated"}}}},"400":{"description":"Ongeldig verzoek (onbekend veld of schemafout)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Geen of ongeldige API-sleutel","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"De sleutel mist de vereiste scope","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Onbekende code of versie","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"Klantgegevens of een onbekende klasse","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Te veel verzoeken (zie X-RateLimit-*)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/usage":{"post":{"summary":"Gebruikstelling per code en versie, per maand","security":[{"apiKey":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Usage"}}}},"responses":{"202":{"description":"Tellingen verwerkt","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UsageAccepted"}}}},"400":{"description":"Ongeldig verzoek","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Geen of ongeldige API-sleutel","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"De sleutel mist de vereiste scope","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Onbekende code of versie","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Te veel verzoeken (zie X-RateLimit-*)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}}},"components":{"securitySchemes":{"apiKey":{"type":"http","scheme":"bearer","description":"API-sleutel per leverancier; scopes read, members, write staan op de sleutel."}},"schemas":{"FindingsList":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","pattern":"^[A-Z]{2}-\\d{4}$"},"version_no":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"title":{"type":"string"},"scopes":{"type":"array","items":{"type":"string","enum":["S10","S12"]}},"domain":{"type":"string"},"statement":{"type":"string"},"default_class":{"type":["string","null"]},"groups":{"anyOf":[{"type":"array","items":{"type":"string"}},{"type":"null"}]},"finding_status":{"type":"string","enum":["actief","vervallen"]},"approved_at":{"anyOf":[{"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|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},{"type":"null"}]},"git_commit_sha":{"type":["string","null"]}},"required":["code","version_no","title","scopes","domain","statement","default_class","groups","finding_status","approved_at","git_commit_sha"],"additionalProperties":false}},"page":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"per_page":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"total":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["items","page","per_page","total"],"additionalProperties":false},"FindingDetail":{"type":"object","properties":{"code":{"type":"string","pattern":"^[A-Z]{2}-\\d{4}$"},"version_no":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"title":{"type":"string"},"scopes":{"type":"array","items":{"type":"string","enum":["S10","S12"]}},"domain":{"type":"string"},"statement":{"type":"string"},"default_class":{"type":["string","null"]},"groups":{"anyOf":[{"type":"array","items":{"type":"string"}},{"type":"null"}]},"finding_status":{"type":"string","enum":["actief","vervallen"]},"approved_at":{"anyOf":[{"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|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},{"type":"null"}]},"git_commit_sha":{"type":["string","null"]},"is_current":{"type":"boolean"},"explanation":{"type":["string","null"]},"consequence":{"type":["string","null"]},"remedy":{"type":["string","null"]},"keywords":{"type":"array","items":{"type":"string"}},"related_codes":{"type":"array","items":{"type":"string","pattern":"^[A-Z]{2}-\\d{4}$"}},"change_reason":{"type":["string","null"]},"norm_references":{"type":"array","items":{"type":"object","properties":{"norm":{"type":"string"},"norm_slug":{"type":"string"},"edition":{"type":"string"},"article":{"type":"string"},"requirement_summary":{"type":"string"},"applicability":{"type":"string","enum":["afwijking","aanbeveling","nvt"]},"alt_statement":{"type":["string","null"]}},"required":["norm","norm_slug","edition","article","requirement_summary","applicability","alt_statement"],"additionalProperties":false}},"classification":{"anyOf":[{"type":"object","properties":{"model":{"type":"string"},"model_version":{"type":"string"},"groups":{"type":"array","items":{"type":"string"}},"default_class":{"type":"string"},"decision_rules":{"type":"array","items":{"type":"object","properties":{"condition":{"type":"string"},"resulting_class":{"type":"string"}},"required":["condition","resulting_class"],"additionalProperties":false}}},"required":["model","model_version","groups","default_class","decision_rules"],"additionalProperties":false},{"type":"null"}]},"photos":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","pattern":"^F-\\d{6}$"},"role":{"type":"string","enum":["overzicht","detail","referentie_goed"]},"primary_rank":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]},"bboxes":{"type":"array","items":{"type":"object","properties":{"x":{"type":"number"},"y":{"type":"number"},"w":{"type":"number"},"h":{"type":"number"}},"required":["x","y","w","h"],"additionalProperties":false}},"web_url":{"type":"string"},"thumb_url":{"type":"string"}},"required":["id","role","primary_rank","bboxes","web_url","thumb_url"],"additionalProperties":false}},"superseded_at":{"anyOf":[{"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|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},{"type":"null"}]},"versions":{"type":"array","items":{"type":"object","properties":{"version_no":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"approved_at":{"anyOf":[{"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|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},{"type":"null"}]},"superseded_at":{"anyOf":[{"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|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},{"type":"null"}]}},"required":["version_no","approved_at","superseded_at"],"additionalProperties":false}},"yaml_path":{"type":"string"},"yaml_url":{"type":["string","null"]},"commit_url":{"type":["string","null"]}},"required":["code","version_no","title","scopes","domain","statement","default_class","groups","finding_status","approved_at","git_commit_sha","is_current","explanation","consequence","remedy","keywords","related_codes","change_reason","norm_references","classification","photos","superseded_at","versions","yaml_path","yaml_url","commit_url"],"additionalProperties":false},"PhotoDetail":{"type":"object","properties":{"id":{"type":"string","pattern":"^F-\\d{6}$"},"codes":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","pattern":"^[A-Z]{2}-\\d{4}$"},"primary_rank":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]},"bboxes":{"type":"array","items":{"type":"object","properties":{"x":{"type":"number"},"y":{"type":"number"},"w":{"type":"number"},"h":{"type":"number"}},"required":["x","y","w","h"],"additionalProperties":false}}},"required":["code","primary_rank","bboxes"],"additionalProperties":false}},"role":{"type":"string","enum":["overzicht","detail","referentie_goed"]},"component":{"type":["string","null"]},"environment":{"type":["string","null"]},"capture_type":{"type":"string","enum":["visueel","thermografisch","meetscherm"]},"width":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"height":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"taken_month":{"anyOf":[{"type":"string","pattern":"^\\d{4}-(0[1-9]|1[0-2])$"},{"type":"null"}]},"licence":{"type":"string"},"credit":{"anyOf":[{"type":"object","properties":{"name":{"type":"string"},"organisation":{"type":"string"}},"additionalProperties":false},{"type":"null"}]},"web_url":{"type":"string"},"thumb_url":{"type":"string"},"approved_at":{"anyOf":[{"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|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},{"type":"null"}]},"git_commit_sha":{"type":["string","null"]}},"required":["id","codes","role","component","environment","capture_type","width","height","taken_month","licence","credit","web_url","thumb_url","approved_at","git_commit_sha"],"additionalProperties":false},"Mapping":{"type":"object","properties":{"from_model":{"type":"string"},"from_version":{"type":"string"},"to_model":{"type":"string"},"to_version":{"type":"string"},"rules":{"type":"array","items":{"type":"object","properties":{"from_class":{"type":"string"},"to_class":{"type":"string"}},"required":["from_class","to_class"],"additionalProperties":false}}},"required":["from_model","from_version","to_model","to_version","rules"],"additionalProperties":false},"Publication":{"type":"object","properties":{"tag":{"type":"string"},"commit_sha":{"type":"string"},"published_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|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"version_count":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["tag","commit_sha","published_at","version_count"],"additionalProperties":false},"FreeTextSignal":{"type":"object","properties":{"scope":{"type":"string","enum":["S10","S12"]},"text":{"type":"string","minLength":10,"maxLength":2000},"chosen_class":{"type":"string","minLength":1,"maxLength":40}},"required":["scope","text"],"additionalProperties":false},"TextOverrideSignal":{"type":"object","properties":{"code":{"type":"string","pattern":"^[A-Z]{2}-\\d{4}$"},"version_no":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},"text":{"type":"string","minLength":10,"maxLength":2000}},"required":["code","version_no","text"],"additionalProperties":false},"ClassOverrideSignal":{"type":"object","properties":{"code":{"type":"string","pattern":"^[A-Z]{2}-\\d{4}$"},"version_no":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},"chosen_class":{"type":"string","minLength":1,"maxLength":40},"reason":{"type":"string","minLength":3,"maxLength":1000}},"required":["code","version_no","chosen_class","reason"],"additionalProperties":false},"SignalCreated":{"type":"object","properties":{"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)$"},"kind":{"type":"string","enum":["free_text","text_override","class_override"]},"status":{"type":"string","const":"nieuw"}},"required":["id","kind","status"],"additionalProperties":false},"Usage":{"type":"object","properties":{"month":{"type":"string","pattern":"^\\d{4}-(0[1-9]|1[0-2])$"},"counts":{"minItems":1,"maxItems":5000,"type":"array","items":{"type":"object","properties":{"code":{"type":"string","pattern":"^[A-Z]{2}-\\d{4}$"},"version_no":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},"count":{"type":"integer","minimum":1,"maximum":9007199254740991}},"required":["code","version_no","count"],"additionalProperties":false}}},"required":["month","counts"],"additionalProperties":false},"UsageAccepted":{"type":"object","properties":{"accepted":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"month":{"type":"string","pattern":"^\\d{4}-(0[1-9]|1[0-2])$"}},"required":["accepted","month"],"additionalProperties":false},"Error":{"type":"object","properties":{"error":{"type":"string"},"message":{"type":"string"},"details":{}},"required":["error","message"],"additionalProperties":false}}}}