{"openapi":"3.1.0","info":{"title":"AiZ-RVG — öffentliche Programmierschnittstelle","version":"1.0.0","description":"Ein Fremdsystem übergibt die Dokumente eines Falls und erhält die fertige Vergütungsberechnung nach dem RVG zurück (§ 28a der Spezifikation). Ein Aufruf, ein Ergebnis, kein Sitzungsaufbau, keine Oberfläche."},"servers":[{"url":"https://aaf9d38c4336:3000"}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"aizrvg_<praefix>_<geheimnis>","description":"Persönliches API-Token, verwaltet im Portal unter /profil/api-token (§ 28b)."}}},"paths":{"/api/v1/abrechnung":{"post":{"summary":"Der eine fachliche Endpunkt: Dokumente hinein, Berechnung und Rechnung heraus.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"auftragsdatum":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"},"externeReferenz":{"type":"string","minLength":1,"maxLength":200},"aktenzeichenKanzlei":{"type":"string","minLength":1,"maxLength":200},"mandant":{"type":"object","properties":{"name":{"type":"string","minLength":1},"strasse":{"type":"string"},"plz":{"type":"string"},"ort":{"type":"string"}},"required":["name"],"additionalProperties":false},"gegner":{"type":"object","properties":{"name":{"type":"string","minLength":1}},"required":["name"],"additionalProperties":false},"dateien":{"minItems":1,"maxItems":20,"type":"array","items":{"type":"object","properties":{"dateiname":{"type":"string","minLength":1},"mimeType":{"type":"string","minLength":1},"inhaltBase64":{"type":"string","minLength":1}},"required":["dateiname","mimeType","inhaltBase64"],"additionalProperties":false}},"angaben":{"type":"object","properties":{"erstberatung":{"type":"boolean"},"gegenstandswert":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"anzahlAuftraggeber":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"vorzeitigeBeendigung":{"type":"boolean"},"muendlicheVerhandlung":{"type":"boolean"},"nurVersaeumnisurteilstermin":{"type":"boolean"},"einigungAusserhalb":{"type":"boolean"},"einigungImVerfahren":{"type":"boolean"},"antragVollstreckungsbescheid":{"type":"boolean"},"kopienSchwarzweiss":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"entfernungKm":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"abwesenheitStunden":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"postentgelteCents":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"additionalProperties":false},"vorschuesseCents":{"type":"integer","minimum":0,"maximum":9007199254740991},"optionen":{"default":{"warten":true,"pdf":true,"trace":true,"finalisieren":false},"type":"object","properties":{"warten":{"default":true,"type":"boolean"},"pdf":{"default":true,"type":"boolean"},"trace":{"default":true,"type":"boolean"},"finalisieren":{"default":false,"type":"boolean"}},"required":["warten","pdf","trace","finalisieren"],"additionalProperties":false},"vorgangId":{"nullable":true,"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":["optionen"],"additionalProperties":false}}}},"responses":{"200":{"description":"ABGESCHLOSSEN — vollständige Berechnung und Rechnungsentwurf/-finalisierung.","content":{"application/json":{"schema":{"type":"object","properties":{"vorgangId":{"type":"string"},"status":{"type":"string","enum":["ABGESCHLOSSEN"]},"kanal":{"type":"string","enum":["API"]},"mandat":{"type":"object"},"rechtsstand":{"type":"object"},"rechnung":{"type":"object"},"berechnung":{"type":"object"},"dokumente":{"type":"array","items":{"type":"object"}},"hinweise":{"type":"array","items":{"type":"object"}},"nutzung":{"type":"object"},"dauerMs":{"type":"integer"},"requestId":{"type":"string"}}}}}},"202":{"description":"LAEUFT — der Vorgang läuft länger als das synchrone Zeitfenster, oder optionen.warten war false.","content":{"application/json":{"schema":{"type":"object","properties":{"vorgangId":{"type":"string"},"status":{"type":"string","enum":["LAEUFT"]},"pruefenAb":{"type":"string","format":"date-time"},"hinweisUrl":{"type":"string"}},"required":["vorgangId","status","hinweisUrl"]}}}},"400":{"description":"400 — mögliche `code`-Werte: ungueltige_anfrage, unbekannter_schluessel, dateien_bei_fortsetzung, invalid_base64","content":{"application/json":{"schema":{"type":"object","properties":{"fehler":{"type":"object","properties":{"code":{"type":"string"},"textDe":{"type":"string"},"details":{"type":"object"}},"required":["code","textDe"]},"vorgangId":{"type":"string","nullable":true},"requestId":{"type":"string"}},"required":["fehler","requestId"]}}}},"401":{"description":"401 — mögliche `code`-Werte: token_fehlt, token_ungueltig","content":{"application/json":{"schema":{"type":"object","properties":{"fehler":{"type":"object","properties":{"code":{"type":"string"},"textDe":{"type":"string"},"details":{"type":"object"}},"required":["code","textDe"]},"vorgangId":{"type":"string","nullable":true},"requestId":{"type":"string"}},"required":["fehler","requestId"]}}}},"402":{"description":"402 — mögliche `code`-Werte: kontingent_erschoepft","content":{"application/json":{"schema":{"type":"object","properties":{"fehler":{"type":"object","properties":{"code":{"type":"string"},"textDe":{"type":"string"},"details":{"type":"object"}},"required":["code","textDe"]},"vorgangId":{"type":"string","nullable":true},"requestId":{"type":"string"}},"required":["fehler","requestId"]}}}},"403":{"description":"403 — mögliche `code`-Werte: token_inaktiv, token_abgelaufen, token_widerrufen, benutzer_inaktiv, finalisieren_nicht_erlaubt","content":{"application/json":{"schema":{"type":"object","properties":{"fehler":{"type":"object","properties":{"code":{"type":"string"},"textDe":{"type":"string"},"details":{"type":"object"}},"required":["code","textDe"]},"vorgangId":{"type":"string","nullable":true},"requestId":{"type":"string"}},"required":["fehler","requestId"]}}}},"409":{"description":"409 — mögliche `code`-Werte: satz_unbestaetigt","content":{"application/json":{"schema":{"type":"object","properties":{"fehler":{"type":"object","properties":{"code":{"type":"string"},"textDe":{"type":"string"},"details":{"type":"object"}},"required":["code","textDe"]},"vorgangId":{"type":"string","nullable":true},"requestId":{"type":"string"}},"required":["fehler","requestId"]}}}},"410":{"description":"410 — mögliche `code`-Werte: vorgang_abgelaufen","content":{"application/json":{"schema":{"type":"object","properties":{"fehler":{"type":"object","properties":{"code":{"type":"string"},"textDe":{"type":"string"},"details":{"type":"object"}},"required":["code","textDe"]},"vorgangId":{"type":"string","nullable":true},"requestId":{"type":"string"}},"required":["fehler","requestId"]}}}},"413":{"description":"413 — mögliche `code`-Werte: datei_zu_gross, zu_viele_dateien, anfrage_zu_gross","content":{"application/json":{"schema":{"type":"object","properties":{"fehler":{"type":"object","properties":{"code":{"type":"string"},"textDe":{"type":"string"},"details":{"type":"object"}},"required":["code","textDe"]},"vorgangId":{"type":"string","nullable":true},"requestId":{"type":"string"}},"required":["fehler","requestId"]}}}},"415":{"description":"415 — mögliche `code`-Werte: nicht_unterstuetzter_dateityp","content":{"application/json":{"schema":{"type":"object","properties":{"fehler":{"type":"object","properties":{"code":{"type":"string"},"textDe":{"type":"string"},"details":{"type":"object"}},"required":["code","textDe"]},"vorgangId":{"type":"string","nullable":true},"requestId":{"type":"string"}},"required":["fehler","requestId"]}}}},"422":{"description":"422 — mögliche `code`-Werte: eingabe_fehlt","content":{"application/json":{"schema":{"type":"object","properties":{"fehler":{"type":"object","properties":{"code":{"type":"string"},"textDe":{"type":"string"},"details":{"type":"object"}},"required":["code","textDe"]},"vorgangId":{"type":"string","nullable":true},"requestId":{"type":"string"}},"required":["fehler","requestId"]}}}},"429":{"description":"429 — mögliche `code`-Werte: zu_viele_anfragen","content":{"application/json":{"schema":{"type":"object","properties":{"fehler":{"type":"object","properties":{"code":{"type":"string"},"textDe":{"type":"string"},"details":{"type":"object"}},"required":["code","textDe"]},"vorgangId":{"type":"string","nullable":true},"requestId":{"type":"string"}},"required":["fehler","requestId"]}}}},"500":{"description":"500 — mögliche `code`-Werte: interner_fehler","content":{"application/json":{"schema":{"type":"object","properties":{"fehler":{"type":"object","properties":{"code":{"type":"string"},"textDe":{"type":"string"},"details":{"type":"object"}},"required":["code","textDe"]},"vorgangId":{"type":"string","nullable":true},"requestId":{"type":"string"}},"required":["fehler","requestId"]}}}},"503":{"description":"503 — mögliche `code`-Werte: dienst_nicht_verfuegbar","content":{"application/json":{"schema":{"type":"object","properties":{"fehler":{"type":"object","properties":{"code":{"type":"string"},"textDe":{"type":"string"},"details":{"type":"object"}},"required":["code","textDe"]},"vorgangId":{"type":"string","nullable":true},"requestId":{"type":"string"}},"required":["fehler","requestId"]}}}}}}},"/api/v1/abrechnung/{vorgangId}":{"get":{"summary":"Status/Ergebnis eines Vorgangs abholen (Rückfallweg bei 202).","parameters":[{"name":"vorgangId","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"ABGESCHLOSSEN","content":{"application/json":{"schema":{"type":"object","properties":{"vorgangId":{"type":"string"},"status":{"type":"string","enum":["ABGESCHLOSSEN"]},"kanal":{"type":"string","enum":["API"]},"mandat":{"type":"object"},"rechtsstand":{"type":"object"},"rechnung":{"type":"object"},"berechnung":{"type":"object"},"dokumente":{"type":"array","items":{"type":"object"}},"hinweise":{"type":"array","items":{"type":"object"}},"nutzung":{"type":"object"},"dauerMs":{"type":"integer"},"requestId":{"type":"string"}}}}}},"202":{"description":"LAEUFT","content":{"application/json":{"schema":{"type":"object","properties":{"vorgangId":{"type":"string"},"status":{"type":"string","enum":["LAEUFT"]},"pruefenAb":{"type":"string","format":"date-time"},"hinweisUrl":{"type":"string"}},"required":["vorgangId","status","hinweisUrl"]}}}},"422":{"description":"422 — mögliche `code`-Werte: eingabe_fehlt","content":{"application/json":{"schema":{"type":"object","properties":{"fehler":{"type":"object","properties":{"code":{"type":"string"},"textDe":{"type":"string"},"details":{"type":"object"}},"required":["code","textDe"]},"vorgangId":{"type":"string","nullable":true},"requestId":{"type":"string"}},"required":["fehler","requestId"]}}}},"500":{"description":"500 — mögliche `code`-Werte: interner_fehler","content":{"application/json":{"schema":{"type":"object","properties":{"fehler":{"type":"object","properties":{"code":{"type":"string"},"textDe":{"type":"string"},"details":{"type":"object"}},"required":["code","textDe"]},"vorgangId":{"type":"string","nullable":true},"requestId":{"type":"string"}},"required":["fehler","requestId"]}}}}}}},"/api/v1/token":{"get":{"summary":"Selbstauskunft: Benutzer, Rechte, Kontingent. Führt keine Fachlogik aus und erzeugt keine Nutzung.","responses":{"200":{"description":"Auskunft über das verwendete Token."},"401":{"description":"401 — mögliche `code`-Werte: token_fehlt, token_ungueltig","content":{"application/json":{"schema":{"type":"object","properties":{"fehler":{"type":"object","properties":{"code":{"type":"string"},"textDe":{"type":"string"},"details":{"type":"object"}},"required":["code","textDe"]},"vorgangId":{"type":"string","nullable":true},"requestId":{"type":"string"}},"required":["fehler","requestId"]}}}},"403":{"description":"403 — mögliche `code`-Werte: token_inaktiv, token_abgelaufen, token_widerrufen, benutzer_inaktiv, finalisieren_nicht_erlaubt","content":{"application/json":{"schema":{"type":"object","properties":{"fehler":{"type":"object","properties":{"code":{"type":"string"},"textDe":{"type":"string"},"details":{"type":"object"}},"required":["code","textDe"]},"vorgangId":{"type":"string","nullable":true},"requestId":{"type":"string"}},"required":["fehler","requestId"]}}}}}}}}}