{"openapi":"3.0.1","info":{"title":"parameter-service API","version":"v1"},"servers":[{"url":"http://parameter-service.auth-testing.fit-connect.fitko.dev","description":"Generated server url"}],"paths":{"/registry/v1/anbindungen/{id}":{"get":{"tags":["Parameter-Registry"],"summary":"Abrufen einer Anbindung","operationId":"get","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int32"}},{"name":"Authorization","in":"header","required":true,"schema":{"type":"string"}}],"responses":{"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Anbindung"}}}}},"security":[{"bearerAuth":["https://schema.fitko.de/fit-connect/oauth/scopes/manage-all","https://schema.fitko.de/fit-connect/oauth/scopes/manage-destinations"]}]},"put":{"tags":["Parameter-Registry"],"summary":"Überschreiben einer Anbindung","operationId":"put","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int32"}},{"name":"Authorization","in":"header","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WriteAnbindungDTO"}}},"required":true},"responses":{"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Anbindung"}}}}},"security":[{"bearerAuth":["https://schema.fitko.de/fit-connect/oauth/scopes/manage-all","https://schema.fitko.de/fit-connect/oauth/scopes/manage-destinations"]}]},"delete":{"tags":["Parameter-Registry"],"summary":"Löschen einer Anbindung","operationId":"delete","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int32"}},{"name":"Authorization","in":"header","required":true,"schema":{"type":"string"}}],"responses":{"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}}},"200":{"description":"OK"}},"security":[{"bearerAuth":["https://schema.fitko.de/fit-connect/oauth/scopes/manage-all","https://schema.fitko.de/fit-connect/oauth/scopes/manage-destinations"]}]}},"/registry/v1/anbindungen/{id}/status":{"put":{"tags":["Parameter-Registry"],"summary":"Setzen des Status einer Anbindung","operationId":"putStatus","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int32"}},{"name":"Authorization","in":"header","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"type":"string","enum":["ENTWURF","REZENSION","PRODUKTIV","INAKTIV"]}}},"required":true},"responses":{"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Anbindung"}}}}},"security":[{"bearerAuth":["https://schema.fitko.de/fit-connect/oauth/scopes/manage-all","https://schema.fitko.de/fit-connect/oauth/scopes/manage-destinations"]}]}},"/registry/v1/anbindungen/{id}/onlinedienstparameter":{"get":{"tags":["Parameter-Registry"],"summary":"Abrufen der Onlinedienstparameter (offener Endpunkt)","description":"Die Antwort ist um die 'validierungsfehler' des gespeicherten Parametersatzes angereichert.","operationId":"getLatestOnlinedienstparameter","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int32"}}],"responses":{"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OnlinedienstParameter"}}}}}},"put":{"tags":["Parameter-Registry"],"summary":"Aktualisieren der Onlinedienstparameter","description":"Solange die Anbindung im Status ENTWURF ist, wird ein Parametersatz auch dann gespeichert, wenn er Vorgaben des Profils verletzt. Die Verstöße stehen als 'validierungsfehler' am jeweiligen Knoten.","operationId":"updateOnlinedienstparameter","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int32"}},{"name":"Authorization","in":"header","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OnlinedienstParameter"}}},"required":true},"responses":{"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}}},"200":{"description":"Der Parametersatz wurde gespeichert.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OnlinedienstParameter"}}}},"422":{"description":"Der Parametersatz verletzt Vorgaben des Profils und die Anbindung ist nicht im Status ENTWURF. Es wurde nichts gespeichert. Abweichend von den übrigen Fehlern ist der Body hier kein ProblemDetail, sondern der gesendete Parametersatz mit den 'validierungsfehler'.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OnlinedienstParameter"}}}}},"security":[{"bearerAuth":["https://schema.fitko.de/fit-connect/oauth/scopes/manage-all","https://schema.fitko.de/fit-connect/oauth/scopes/manage-destinations"]}]}},"/registry/v1/anbindungen":{"get":{"tags":["Parameter-Registry"],"summary":"Abrufen aller Anbindungen des Owners","operationId":"getList","parameters":[{"name":"offset","in":"query","required":false,"schema":{"maximum":2147483647,"minimum":0,"type":"integer","format":"int32","default":0}},{"name":"limit","in":"query","required":false,"schema":{"maximum":500,"minimum":1,"type":"integer","format":"int32","default":100}},{"name":"Authorization","in":"header","required":true,"schema":{"type":"string"}}],"responses":{"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Anbindung"}}}}}},"security":[{"bearerAuth":["https://schema.fitko.de/fit-connect/oauth/scopes/manage-all","https://schema.fitko.de/fit-connect/oauth/scopes/manage-destinations"]}]},"post":{"tags":["Parameter-Registry"],"summary":"Anlegen einer Anbindung","operationId":"post","parameters":[{"name":"Authorization","in":"header","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WriteAnbindungDTO"}}},"required":true},"responses":{"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Anbindung"}}}}},"security":[{"bearerAuth":["https://schema.fitko.de/fit-connect/oauth/scopes/manage-all","https://schema.fitko.de/fit-connect/oauth/scopes/manage-destinations"]}]}},"/registry/v1/profile/{id}":{"get":{"tags":["Parameter-Registry"],"summary":"Abrufen eines Profils","operationId":"getProfilById","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int32"}}],"responses":{"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Profil"}}}}}}}},"components":{"schemas":{"ProblemDetail":{"type":"object","properties":{"type":{"type":"string","format":"uri"},"title":{"type":"string"},"status":{"type":"integer","format":"int32"},"detail":{"type":"string"},"instance":{"type":"string","format":"uri"},"properties":{"type":"object","additionalProperties":{"type":"object"}}}},"AnbindungServiceDTO":{"required":["leikas","regions"],"type":"object","properties":{"leikas":{"minItems":1,"type":"array","items":{"pattern":"\\d{14}","type":"string"}},"regions":{"minItems":1,"type":"array","items":{"pattern":"\\d{12}","type":"string"}}}},"WriteAnbindungDTO":{"required":["profilId","sprachen"],"type":"object","properties":{"erbtVomStandardtemplateId":{"minimum":0,"type":"integer","format":"int32"},"onlinedienstparameterAktuell":{"type":"boolean"},"profilId":{"minimum":0,"type":"integer","format":"int32"},"sprachen":{"type":"array","items":{"type":"string"}},"destinationId":{"type":"string","format":"uuid"},"destinationService":{"$ref":"#/components/schemas/AnbindungServiceDTO"}}},"Anbindung":{"type":"object","properties":{"id":{"type":"integer","format":"int32"},"destinationId":{"type":"string","format":"uuid"},"erbtVomStandardtemplateId":{"type":"integer","format":"int32"},"status":{"type":"string","enum":["ENTWURF","REZENSION","PRODUKTIV","INAKTIV"]},"onlinedienstparameterAktuell":{"type":"boolean"},"onlinedienstanbieterId":{"type":"integer","format":"int32"},"profilId":{"type":"integer","format":"int32"},"importgebietsschluessel":{"type":"string"},"zustaendigkeitsgebietsschluessel":{"type":"array","items":{"type":"string"}},"importleistungsschluessel":{"type":"string"},"zustaendigkeitsleistungsschluessel":{"type":"array","items":{"type":"string"}},"sprachen":{"type":"array","items":{"type":"string"}}}},"ObjektInstanz":{"required":["name","objekttyp"],"type":"object","properties":{"name":{"type":"string"},"objekttyp":{"type":"string"},"attribute":{"type":"array","items":{"$ref":"#/components/schemas/ParameterAttribut"}}}},"OnlinedienstParameter":{"type":"object","properties":{"anbindungId":{"type":"integer","format":"int32"},"attribute":{"type":"array","items":{"$ref":"#/components/schemas/ParameterAttribut"}},"referenzen":{"type":"array","items":{"$ref":"#/components/schemas/ParameterReferenz"}},"validierungsfehler":{"type":"array","readOnly":true,"items":{"type":"string"}}}},"ParameterAttribut":{"required":["name","prioritaet"],"type":"object","properties":{"name":{"type":"string"},"prioritaet":{"type":"string","enum":["IMPORTUEBERSCHREIBBAR","MANUELLUEBERSCHREIBBAR","NICHTUEBERSCHREIBBAR"]},"attributwerte":{"type":"array","items":{"$ref":"#/components/schemas/ParameterAttributWert"}},"standardwerte":{"type":"array","items":{"$ref":"#/components/schemas/ParameterAttributWert"}},"validierungsfehler":{"type":"array","readOnly":true,"items":{"type":"string"}}}},"ParameterAttributWert":{"required":["wertherkunft"],"type":"object","properties":{"werte":{"type":"array","items":{"type":"string"}},"wertherkunft":{"type":"string","enum":["MANUELL","IMPORTIERT","VERERBT_PROFIL","VERERBT_TEMPLATE"]},"leika":{"type":"string"},"ars":{"type":"string"},"sprache":{"type":"string"},"validierungsfehler":{"type":"array","readOnly":true,"items":{"type":"string"}}}},"ParameterReferenz":{"required":["name","objekttyp"],"type":"object","properties":{"name":{"type":"string"},"objekttyp":{"type":"string"},"objektInstanzen":{"type":"array","items":{"$ref":"#/components/schemas/ObjektInstanz"}},"validierungsfehler":{"type":"array","readOnly":true,"items":{"type":"string"}}}},"AttributBoolean":{"required":["parameterTyp"],"type":"object","allOf":[{"$ref":"#/components/schemas/Parameter"},{"type":"object","properties":{"standardwert":{"type":"string"}}}]},"AttributDecimal":{"required":["parameterTyp"],"type":"object","allOf":[{"$ref":"#/components/schemas/Parameter"},{"type":"object","properties":{"standardwert":{"type":"string"},"minValue":{"type":"number"},"maxValue":{"type":"number"},"precision":{"type":"integer","format":"int32"}}}]},"AttributInteger":{"required":["parameterTyp"],"type":"object","allOf":[{"$ref":"#/components/schemas/Parameter"},{"type":"object","properties":{"standardwert":{"type":"string"},"minValue":{"type":"integer","format":"int64"},"maxValue":{"type":"integer","format":"int64"}}}]},"AttributString":{"required":["parameterTyp"],"type":"object","allOf":[{"$ref":"#/components/schemas/Parameter"},{"type":"object","properties":{"standardwert":{"type":"string"},"minLength":{"type":"integer","format":"int32"},"maxLength":{"type":"integer","format":"int32"},"pattern":{"type":"string"}}}]},"Entitaet":{"type":"object","properties":{"beschreibung":{"type":"string"},"parameter":{"type":"array","items":{"oneOf":[{"$ref":"#/components/schemas/AttributBoolean"},{"$ref":"#/components/schemas/AttributDecimal"},{"$ref":"#/components/schemas/AttributInteger"},{"$ref":"#/components/schemas/AttributString"},{"$ref":"#/components/schemas/Referenz"}]}}}},"Parameter":{"required":["parameterTyp"],"type":"object","properties":{"parameterTyp":{"type":"string","enum":["ATTRIBUT_STRING","ATTRIBUT_INTEGER","ATTRIBUT_DECIMAL","ATTRIBUT_BOOLEAN","REFERENZ"]},"name":{"type":"string"},"kurzbezeichnung":{"type":"string"},"beschreibung":{"type":"string"},"minItems":{"type":"integer","format":"int32"},"maxItems":{"type":"integer","format":"int32"}},"discriminator":{"propertyName":"parameterTyp"}},"Profil":{"type":"object","properties":{"id":{"type":"integer","format":"int32"},"name":{"type":"string"},"status":{"type":"string","enum":["ENTWURF","PRODUKTIV","ARCHIVIERT"]},"anbieter":{"type":"string"},"standard":{"type":"boolean"},"version":{"type":"string"},"onlinedienstparameter":{"type":"array","items":{"oneOf":[{"$ref":"#/components/schemas/AttributBoolean"},{"$ref":"#/components/schemas/AttributDecimal"},{"$ref":"#/components/schemas/AttributInteger"},{"$ref":"#/components/schemas/AttributString"},{"$ref":"#/components/schemas/Referenz"}]}},"schema":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/Entitaet"}}}},"Referenz":{"required":["parameterTyp"],"type":"object","allOf":[{"$ref":"#/components/schemas/Parameter"},{"type":"object","properties":{"zielEntitaet":{"type":"string"}}}]}},"securitySchemes":{"bearerAuth":{"type":"http","in":"header","scheme":"bearer","bearerFormat":"JWT","flows":{"clientCredentials":{"tokenUrl":"https://auth-testing.fit-connect.fitko.dev/token","scopes":{"https://schema.fitko.de/fit-connect/oauth/scopes/manage-all":"Erlaubt das Pflegen von Zustellpunkt-Parametern"}}}}}}}