diff --git a/src/api-client/generated/api.ts b/src/api-client/generated/api.ts index 817d5904..de48da27 100644 --- a/src/api-client/generated/api.ts +++ b/src/api-client/generated/api.ts @@ -454,6 +454,12 @@ export interface DbiamCreatePersonWithContextBodyParams { * @memberof DbiamCreatePersonWithContextBodyParams */ 'vorname': string; + /** + * + * @type {string} + * @memberof DbiamCreatePersonWithContextBodyParams + */ + 'personalnummer'?: string; /** * * @type {string} diff --git a/src/api-client/openapispec.json b/src/api-client/openapispec.json index 002bb791..e3f8898a 100644 --- a/src/api-client/openapispec.json +++ b/src/api-client/openapispec.json @@ -1 +1 @@ -{"openapi":"3.0.0","paths":{"/api/auth/login":{"get":{"operationId":"AuthenticationController_login","summary":"Used to start OIDC authentication.","parameters":[{"required":false,"name":"redirectUrl","in":"query","schema":{"type":"string"}}],"responses":{"302":{"description":"Redirection to orchestrate OIDC flow."}},"tags":["auth"]}},"/api/auth/logout":{"get":{"operationId":"AuthenticationController_logout","summary":"Used to log out the current user.","parameters":[],"responses":{"302":{"description":"Redirect to logout."},"500":{"description":"Internal server error while trying to log out."}},"tags":["auth"],"security":[{"oauth2":["openid"]},{"bearer":[]}]}},"/api/auth/logininfo":{"get":{"operationId":"AuthenticationController_info","summary":"Info about logged in user.","parameters":[],"responses":{"200":{"description":"Returns info about the logged in user.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserinfoResponse"}}}},"401":{"description":"User is not logged in."}},"tags":["auth"],"security":[{"oauth2":["openid"]},{"bearer":[]}]}},"/api/auth/reset-password":{"get":{"operationId":"AuthenticationController_resetPassword","summary":"Redirect to Keycloak password reset.","parameters":[{"name":"redirectUrl","required":true,"in":"query","schema":{"type":"string"}},{"name":"login_hint","required":true,"in":"query","schema":{"type":"string"}}],"responses":{"302":{"description":"Redirect to Keycloak password reset page."}},"tags":["auth"]}},"/api/personen":{"post":{"operationId":"PersonController_createPerson","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreatePersonBodyParams"}}}},"responses":{"201":{"description":"The person was successfully created.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PersonendatensatzResponse"}}}},"400":{"description":"A username was given. Creation with username is not supported."},"401":{"description":"Not authorized to create the person."},"403":{"description":"Insufficient permissions to create the person."},"404":{"description":"Insufficient permissions to create the person."},"500":{"description":"Internal server error while creating the person."}},"tags":["personen"],"security":[{"oauth2":["openid"]},{"bearer":[]}]},"get":{"operationId":"PersonController_findPersons","parameters":[{"name":"offset","required":false,"in":"query","description":"The offset of the paginated list.","schema":{"type":"number"}},{"name":"limit","required":false,"in":"query","description":"The requested limit for the page size.","schema":{"type":"number"}},{"name":"referrer","required":false,"in":"query","schema":{"nullable":true,"type":"string"}},{"name":"familienname","required":false,"in":"query","schema":{"nullable":true,"type":"string"}},{"name":"vorname","required":false,"in":"query","schema":{"nullable":true,"type":"string"}},{"name":"sichtfreigabe","required":false,"in":"query","schema":{"nullable":true,"default":"nein","enum":["ja","nein"],"type":"string"}},{"name":"organisationIDs","required":false,"in":"query","description":"List of Organisation ID used to filter for Persons.","schema":{"type":"array","items":{"type":"string"}}},{"name":"rolleIDs","required":false,"in":"query","description":"List of Role ID used to filter for Persons.","schema":{"type":"array","items":{"type":"string"}}},{"name":"suchFilter","required":false,"in":"query","description":"Search filter used to filter for Persons. It could be the vorname, familienname, referrer or the personalnummer.","schema":{"nullable":true,"type":"string"}}],"responses":{"200":{"description":"The persons were successfully returned. WARNING: This endpoint returns all persons as default when no paging parameters were set.","headers":{"X-Paging-Offset":{"description":"The offset of the first item from the list. List starts with index 0."},"X-Paging-Limit":{"description":"The maximum amount of items returned in one request."},"X-Paging-Total":{"description":"The total amount of items in the list."}},"content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/PersonendatensatzResponse"}}}}},"401":{"description":"Not authorized to get persons."},"403":{"description":"Insufficient permissions to get persons."},"500":{"description":"Internal server error while getting all persons."}},"tags":["personen"],"security":[{"oauth2":["openid"]},{"bearer":[]}]}},"/api/personen/{personId}":{"delete":{"operationId":"PersonController_deletePersonById","parameters":[{"name":"personId","required":true,"in":"path","description":"The id for the account.","schema":{"nullable":false,"type":"string"}}],"responses":{"204":{"description":"The person and all their kontexte were successfully deleted."},"400":{"description":"Request has wrong format."},"401":{"description":"Request is not authorized."},"403":{"description":"Insufficient permissions to perform operation."},"404":{"description":"The person was not found."},"500":{"description":"An internal server error occurred."}},"tags":["personen"],"security":[{"oauth2":["openid"]},{"bearer":[]}]},"get":{"operationId":"PersonController_findPersonById","parameters":[{"name":"personId","required":true,"in":"path","description":"The id for the account.","schema":{"nullable":false,"type":"string"}}],"responses":{"200":{"description":"The person was successfully returned.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PersonendatensatzResponse"}}}},"400":{"description":"Person ID is required"},"401":{"description":"Not authorized to get the person."},"403":{"description":"Insufficient permissions to get the person."},"404":{"description":"The person does not exist or insufficient permissions."},"500":{"description":"Internal server error while getting the person."}},"tags":["personen"],"security":[{"oauth2":["openid"]},{"bearer":[]}]},"put":{"operationId":"PersonController_updatePerson","parameters":[{"name":"personId","required":true,"in":"path","description":"The id for the account.","schema":{"nullable":false,"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdatePersonBodyParams"}}}},"responses":{"200":{"description":"The person was successfully updated.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PersonendatensatzResponse"}}}},"400":{"description":"Request has wrong format."},"401":{"description":"Request is not authorized."},"403":{"description":"Insufficient permissions to perform operation."},"404":{"description":"The person was not found or insufficient permissions to update person."},"500":{"description":"An internal server error occurred."}},"tags":["personen"],"security":[{"oauth2":["openid"]},{"bearer":[]}]}},"/api/personen/{personId}/personenkontexte":{"post":{"operationId":"PersonController_createPersonenkontext","parameters":[{"name":"personId","required":true,"in":"path","description":"The id for the account.","schema":{"nullable":false,"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreatePersonenkontextBodyParams"}}}},"responses":{"200":{"description":"The personenkontext was successfully created."},"400":{"description":"The personenkontext already exists."},"401":{"description":"Not authorized to create the personenkontext."},"403":{"description":"Not permitted to create the personenkontext."},"404":{"description":"Insufficient permissions to create personenkontext for person."},"500":{"description":"Internal server error while creating the personenkontext."}},"tags":["personen"],"security":[{"oauth2":["openid"]},{"bearer":[]}]},"get":{"operationId":"PersonController_findPersonenkontexte","parameters":[{"name":"personId","required":true,"in":"path","description":"The id for the account.","schema":{"nullable":false,"type":"string"}},{"name":"offset","required":false,"in":"query","description":"The offset of the paginated list.","schema":{"type":"number"}},{"name":"limit","required":false,"in":"query","description":"The requested limit for the page size.","schema":{"type":"number"}},{"name":"personId","required":false,"in":"query","schema":{"nullable":true,"type":"string"}},{"name":"referrer","required":false,"in":"query","schema":{"nullable":true,"type":"string"}},{"name":"rolle","required":false,"in":"query","schema":{"$ref":"#/components/schemas/Rolle"}},{"name":"personenstatus","required":false,"in":"query","schema":{"$ref":"#/components/schemas/Personenstatus"}},{"name":"sichtfreigabe","required":false,"in":"query","schema":{"$ref":"#/components/schemas/Sichtfreigabe"}}],"responses":{"200":{"description":"The personenkontexte were successfully pulled.","headers":{"X-Paging-Offset":{"description":"The offset of the first item from the list. List starts with index 0."},"X-Paging-Limit":{"description":"The maximum amount of items returned in one request."},"X-Paging-Total":{"description":"The total amount of items in the list."}},"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/RawPagedResponse"},{"required":["items"],"properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/PersonenkontextResponse"}}}}]}}}},"401":{"description":"Not authorized to get personenkontexte."},"403":{"description":"Insufficient permissions to get personenkontexte."},"404":{"description":"No personenkontexte were found."},"500":{"description":"Internal server error while getting all personenkontexte."}},"tags":["personen"],"security":[{"oauth2":["openid"]},{"bearer":[]}]}},"/api/personen/{personId}/password":{"patch":{"operationId":"PersonController_resetPasswordByPersonId","parameters":[{"name":"personId","required":true,"in":"path","description":"The id for the account.","schema":{"nullable":false,"type":"string"}}],"responses":{"202":{"description":"Password for person was successfully reset.","content":{"application/json":{"schema":{"type":"string"}}}},"404":{"description":"The person does not exist or insufficient permissions to update person."},"500":{"description":"Internal server error."}},"tags":["personen"],"security":[{"oauth2":["openid"]},{"bearer":[]}]}},"/api/personen-frontend":{"get":{"operationId":"PersonFrontendController_findPersons","parameters":[{"name":"offset","required":false,"in":"query","description":"The offset of the paginated list.","schema":{"type":"number"}},{"name":"limit","required":false,"in":"query","description":"The requested limit for the page size.","schema":{"type":"number"}},{"name":"referrer","required":false,"in":"query","schema":{"nullable":true,"type":"string"}},{"name":"familienname","required":false,"in":"query","schema":{"nullable":true,"type":"string"}},{"name":"vorname","required":false,"in":"query","schema":{"nullable":true,"type":"string"}},{"name":"sichtfreigabe","required":false,"in":"query","schema":{"nullable":true,"default":"nein","enum":["ja","nein"],"type":"string"}},{"name":"organisationIDs","required":false,"in":"query","description":"List of Organisation ID used to filter for Persons.","schema":{"type":"array","items":{"type":"string"}}},{"name":"rolleIDs","required":false,"in":"query","description":"List of Role ID used to filter for Persons.","schema":{"type":"array","items":{"type":"string"}}},{"name":"suchFilter","required":false,"in":"query","description":"Search filter used to filter for Persons. It could be the vorname, familienname, referrer or the personalnummer.","schema":{"nullable":true,"type":"string"}}],"responses":{"200":{"description":"The persons were successfully returned. WARNING: This endpoint returns all persons as default when no paging parameters were set.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/RawPagedResponse"},{"required":["items"],"properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/PersonendatensatzResponse"}}}}]}}}},"401":{"description":"Not authorized to get persons."},"403":{"description":"Insufficient permissions to get persons."},"500":{"description":"Internal server error while getting all persons."}},"tags":["personen-frontend"],"security":[{"oauth2":["openid"]},{"bearer":[]}]}},"/api/dbiam/personenuebersicht":{"get":{"operationId":"DBiamPersonenuebersichtController_findPersonenuebersichten","parameters":[{"name":"offset","required":false,"in":"query","description":"The offset of the paginated list.","schema":{"type":"number"}},{"name":"limit","required":false,"in":"query","description":"The requested limit for the page size.","schema":{"type":"number"}}],"responses":{"200":{"description":"The personenuebersichten were successfully returned.","headers":{"X-Paging-Offset":{"description":"The offset of the first item from the list. List starts with index 0."},"X-Paging-Limit":{"description":"The maximum amount of items returned in one request."},"X-Paging-Total":{"description":"The total amount of items in the list."}},"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/RawPagedResponse"},{"required":["items"],"properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/DBiamPersonenuebersichtResponse"}}}}]}}}},"401":{"description":"Not authorized to get personenuebersichten."},"403":{"description":"Insufficient permission to get personenuebersichten."},"500":{"description":"Internal server error while getting personenuebersichten."}},"tags":["dbiam-personenuebersicht"],"security":[{"oauth2":["openid"]},{"bearer":[]}]}},"/api/dbiam/personenuebersicht/{personId}":{"get":{"operationId":"DBiamPersonenuebersichtController_findPersonenuebersichtenByPerson","parameters":[{"name":"personId","required":true,"in":"path","description":"The ID for the person.","schema":{"type":"string"}}],"responses":{"200":{"description":"The personenuebersichten were successfully returned.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DBiamPersonenuebersichtResponse"}}}},"401":{"description":"Not authorized to get personenuebersicht."},"403":{"description":"Insufficient permission to get personenuebersicht."},"500":{"description":"Internal server error while getting personenuebersicht."}},"tags":["dbiam-personenuebersicht"],"security":[{"oauth2":["openid"]},{"bearer":[]}]}},"/api/person-info":{"get":{"operationId":"PersonInfoController_info","summary":"Info about logged in person.","parameters":[],"responses":{"200":{"description":"Returns info about the person.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PersonInfoResponse"}}}},"401":{"description":"person is not logged in."}},"tags":["person-info"],"security":[{"oauth2":["openid"]},{"bearer":[]}]}},"/api/organisationen":{"post":{"operationId":"OrganisationController_createOrganisation","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateOrganisationBodyParams"}}}},"responses":{"201":{"description":"The organisation was successfully created.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrganisationResponse"}}}},"400":{"description":"The organisation already exists.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DbiamOrganisationError"}}}},"401":{"description":"Not authorized to create the organisation."},"403":{"description":"Not permitted to create the organisation."},"500":{"description":"Internal server error while creating the organisation."}},"tags":["organisationen"],"security":[{"oauth2":["openid"]},{"bearer":[]}]},"get":{"operationId":"OrganisationController_findOrganizations","parameters":[{"name":"offset","required":false,"in":"query","description":"The offset of the paginated list.","schema":{"type":"number"}},{"name":"limit","required":false,"in":"query","description":"The requested limit for the page size.","schema":{"type":"number"}},{"name":"kennung","required":false,"in":"query","schema":{"nullable":true,"type":"string"}},{"name":"name","required":false,"in":"query","schema":{"nullable":true,"type":"string"}},{"name":"searchString","required":false,"in":"query","schema":{"nullable":true,"type":"string"}},{"name":"typ","required":false,"in":"query","schema":{"$ref":"#/components/schemas/OrganisationsTyp"}},{"name":"systemrechte","required":false,"in":"query","schema":{"type":"array","items":{"$ref":"#/components/schemas/RollenSystemRecht"}}},{"name":"excludeTyp","required":false,"in":"query","schema":{"type":"array","items":{"$ref":"#/components/schemas/OrganisationsTyp"}}},{"name":"administriertVon","required":false,"in":"query","schema":{"type":"array","items":{"type":"string"}}}],"responses":{"200":{"description":"The organizations were successfully returned.","headers":{"X-Paging-Offset":{"description":"The offset of the first item from the list. List starts with index 0."},"X-Paging-Limit":{"description":"The maximum amount of items returned in one request."},"X-Paging-Total":{"description":"The total amount of items in the list."}},"content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/OrganisationResponse"}}}}},"401":{"description":"Not authorized to get organizations."},"403":{"description":"Insufficient permissions to get organizations."},"500":{"description":"Internal server error while getting all organizations."}},"tags":["organisationen"],"security":[{"oauth2":["openid"]},{"bearer":[]}]}},"/api/organisationen/{organisationId}":{"put":{"operationId":"OrganisationController_updateOrganisation","parameters":[{"name":"organisationId","required":true,"in":"path","description":"The id of an organization","schema":{"nullable":false,"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateOrganisationBodyParams"}}}},"responses":{"200":{"description":"The organisation was successfully updated.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrganisationResponse"}}}},"400":{"description":"Request has wrong format.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DbiamOrganisationError"}}}},"401":{"description":"Request is not authorized."},"403":{"description":"Insufficient permissions to perform operation."},"404":{"description":"The organisation was not found."},"500":{"description":"An internal server error occurred."}},"tags":["organisationen"],"security":[{"oauth2":["openid"]},{"bearer":[]}]},"get":{"operationId":"OrganisationController_findOrganisationById","parameters":[{"name":"organisationId","required":true,"in":"path","description":"The id of an organization","schema":{"nullable":false,"type":"string"}}],"responses":{"200":{"description":"The organization was successfully pulled.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrganisationResponse"}}}},"400":{"description":"Organization ID is required"},"401":{"description":"Not authorized to get the organization."},"403":{"description":"Insufficient permissions to get the organization."},"404":{"description":"The organization does not exist."},"500":{"description":"Internal server error while getting the organization."}},"tags":["organisationen"],"security":[{"oauth2":["openid"]},{"bearer":[]}]}},"/api/organisationen/root":{"get":{"operationId":"OrganisationController_getRootOrganisation","parameters":[],"responses":{"200":{"description":"The root organization was successfully retrieved.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrganisationResponse"}}}},"401":{"description":"Not authorized to get the root organization."},"403":{"description":"Insufficient permissions to get the root organization."},"404":{"description":"The root organization does not exist."},"500":{"description":"Internal server error while getting the root organization."}},"tags":["organisationen"],"security":[{"oauth2":["openid"]},{"bearer":[]}]}},"/api/organisationen/root/children":{"get":{"operationId":"OrganisationController_getRootChildren","parameters":[],"responses":{"200":{"description":"The root organizations were successfully pulled.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrganisationRootChildrenResponse"}}}},"401":{"description":"Not authorized to get the organizations."},"403":{"description":"Insufficient permissions to get the organizations."},"500":{"description":"Internal server error while getting the organization."}},"tags":["organisationen"],"security":[{"oauth2":["openid"]},{"bearer":[]}]}},"/api/organisationen/{organisationId}/administriert":{"get":{"operationId":"OrganisationController_getAdministrierteOrganisationen","parameters":[{"name":"organisationId","required":true,"in":"path","description":"The id of an organization","schema":{"nullable":false,"type":"string"}},{"name":"offset","required":false,"in":"query","description":"The offset of the paginated list.","schema":{"type":"number"}},{"name":"limit","required":false,"in":"query","description":"The requested limit for the page size.","schema":{"type":"number"}},{"name":"searchFilter","required":false,"in":"query","schema":{"nullable":true,"type":"string"}}],"responses":{"200":{"description":"The organizations were successfully returned.","headers":{"X-Paging-Offset":{"description":"The offset of the first item from the list. List starts with index 0."},"X-Paging-Limit":{"description":"The maximum amount of items returned in one request."},"X-Paging-Total":{"description":"The total amount of items in the list."}},"content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/OrganisationResponse"}}}}},"401":{"description":"Not authorized to get organizations."},"403":{"description":"Insufficient permissions to get organizations."},"500":{"description":"Internal server error while getting all organizations."}},"tags":["organisationen"],"security":[{"oauth2":["openid"]},{"bearer":[]}]},"post":{"operationId":"OrganisationController_addAdministrierteOrganisation","parameters":[{"name":"organisationId","required":true,"in":"path","description":"The id of an organization","schema":{"nullable":false,"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrganisationByIdBodyParams"}}}},"responses":{"201":{"description":"The organisation was successfully updated."},"400":{"description":"The organisation could not be modified.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DbiamOrganisationError"}}}},"401":{"description":"Not authorized to modify the organisation."},"403":{"description":"Not permitted to modify the organisation."},"500":{"description":"Internal server error while modifying the organisation."}},"tags":["organisationen"],"security":[{"oauth2":["openid"]},{"bearer":[]}]}},"/api/organisationen/{organisationId}/zugehoerig":{"get":{"operationId":"OrganisationController_getZugehoerigeOrganisationen","parameters":[{"name":"organisationId","required":true,"in":"path","description":"The id of an organization","schema":{"nullable":false,"type":"string"}}],"responses":{"200":{"description":"The organizations were successfully returned.","headers":{"X-Paging-Offset":{"description":"The offset of the first item from the list. List starts with index 0."},"X-Paging-Limit":{"description":"The maximum amount of items returned in one request."},"X-Paging-Total":{"description":"The total amount of items in the list."}},"content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/OrganisationResponse"}}}}},"401":{"description":"Not authorized to get organizations."},"403":{"description":"Insufficient permissions to get organizations."},"500":{"description":"Internal server error while getting all organizations."}},"tags":["organisationen"],"security":[{"oauth2":["openid"]},{"bearer":[]}]},"post":{"operationId":"OrganisationController_addZugehoerigeOrganisation","parameters":[{"name":"organisationId","required":true,"in":"path","description":"The id of an organization","schema":{"nullable":false,"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrganisationByIdBodyParams"}}}},"responses":{"201":{"description":"The organisation was successfully updated."},"400":{"description":"The organisation could not be modified.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DbiamOrganisationError"}}}},"401":{"description":"Not authorized to modify the organisation."},"403":{"description":"Not permitted to modify the organisation."},"500":{"description":"Internal server error while modifying the organisation."}},"tags":["organisationen"],"security":[{"oauth2":["openid"]},{"bearer":[]}]}},"/api/organisationen/{organisationId}/klasse":{"delete":{"operationId":"OrganisationController_deleteKlasse","summary":"","description":"Delete an organisation of type Klasse by id.","parameters":[{"name":"organisationId","required":true,"in":"path","description":"The id of an organization","schema":{"nullable":false,"type":"string"}}],"responses":{"204":{"description":"The organisation was deleted successfully."},"400":{"description":"The input was not valid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DbiamOrganisationError"}}}},"401":{"description":"Not authorized to delete the organisation."},"404":{"description":"The organisation that should be deleted does not exist."}},"tags":["organisationen"],"security":[{"oauth2":["openid"]},{"bearer":[]}]}},"/api/organisationen/{organisationId}/name":{"patch":{"operationId":"OrganisationController_updateOrganisationName","parameters":[{"name":"organisationId","required":true,"in":"path","description":"The id of an organization","schema":{"nullable":false,"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrganisationByNameBodyParams"}}}},"responses":{"200":{"description":"The organizations were successfully updated.","headers":{"X-Paging-Offset":{"description":"The offset of the first item from the list. List starts with index 0."},"X-Paging-Limit":{"description":"The maximum amount of items returned in one request."},"X-Paging-Total":{"description":"The total amount of items in the list."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrganisationResponseLegacy"}}}},"400":{"description":"The organisation could not be modified.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DbiamOrganisationError"}}}},"401":{"description":"Not authorized to modify the organisation."},"403":{"description":"Not permitted to modify the organisation."},"500":{"description":"Internal server error while modifying the organisation."}},"tags":["organisationen"],"security":[{"oauth2":["openid"]},{"bearer":[]}]}},"/api/rolle":{"get":{"operationId":"RolleController_findRollen","summary":"","description":"List all rollen.","parameters":[{"name":"offset","required":false,"in":"query","description":"The offset of the paginated list.","schema":{"type":"number"}},{"name":"limit","required":false,"in":"query","description":"The requested limit for the page size.","schema":{"type":"number"}},{"name":"searchStr","required":false,"in":"query","description":"The name for the role.","schema":{"nullable":false,"type":"string"}}],"responses":{"200":{"description":"The rollen were successfully returned","headers":{"X-Paging-Offset":{"description":"The offset of the first item from the list. List starts with index 0."},"X-Paging-Limit":{"description":"The maximum amount of items returned in one request."},"X-Paging-Total":{"description":"The total amount of items in the list."}},"content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/RolleWithServiceProvidersResponse"}}}}},"401":{"description":"Not authorized to get rollen."},"403":{"description":"Insufficient permissions to get rollen."},"500":{"description":"Internal server error while getting all rollen."}},"tags":["rolle"],"security":[{"oauth2":["openid"]},{"bearer":[]}]},"post":{"operationId":"RolleController_createRolle","summary":"","description":"Create a new rolle.","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateRolleBodyParams"}}}},"responses":{"201":{"description":"The rolle was successfully created.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RolleResponse"}}}},"400":{"description":"The input was not valid."},"401":{"description":"Not authorized to create the rolle."},"403":{"description":"Insufficient permissions to create the rolle."},"500":{"description":"Internal server error while creating the rolle."}},"tags":["rolle"],"security":[{"oauth2":["openid"]},{"bearer":[]}]}},"/api/rolle/{rolleId}":{"get":{"operationId":"RolleController_findRolleByIdWithServiceProviders","summary":"","description":"Get rolle by id.","parameters":[{"name":"rolleId","required":true,"in":"path","description":"The id for the rolle.","schema":{"nullable":false,"type":"string"}}],"responses":{"200":{"description":"The rolle was successfully returned.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RolleWithServiceProvidersResponse"}}}},"401":{"description":"Not authorized to get rolle by id."},"403":{"description":"Insufficient permission to get rolle by id."},"500":{"description":"Internal server error while getting rolle by id."}},"tags":["rolle"],"security":[{"oauth2":["openid"]},{"bearer":[]}]},"patch":{"operationId":"RolleController_addSystemRecht","summary":"","description":"Add systemrecht to a rolle.","parameters":[{"name":"rolleId","required":true,"in":"path","description":"The id for the rolle.","schema":{"nullable":false,"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AddSystemrechtBodyParams"}}}},"responses":{"200":{"description":"The systemrecht was successfully added to rolle."},"400":{"description":"The input was not valid."},"401":{"description":"Not authorized to create the rolle."},"403":{"description":"Insufficient permissions to create the rolle."},"500":{"description":"Internal server error while adding systemrecht to rolle."}},"tags":["rolle"],"security":[{"oauth2":["openid"]},{"bearer":[]}]},"put":{"operationId":"RolleController_updateRolle","summary":"","description":"Update rolle.","parameters":[{"name":"rolleId","required":true,"in":"path","description":"The id for the rolle.","schema":{"nullable":false,"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateRolleBodyParams"}}}},"responses":{"200":{"description":"The rolle was successfully updated.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RolleWithServiceProvidersResponse"}}}},"400":{"description":"The input was not valid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DbiamRolleError"}}}},"401":{"description":"Not authorized to update the rolle."},"403":{"description":"Insufficient permissions to update the rolle."},"500":{"description":"Internal server error while updating the rolle."}},"tags":["rolle"],"security":[{"oauth2":["openid"]},{"bearer":[]}]},"delete":{"operationId":"RolleController_deleteRolle","summary":"","description":"Delete a role by id.","parameters":[{"name":"rolleId","required":true,"in":"path","description":"The id for the rolle.","schema":{"nullable":false,"type":"string"}}],"responses":{"204":{"description":"Role was deleted successfully."},"400":{"description":"The input was not valid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DbiamRolleError"}}}},"401":{"description":"Not authorized to delete the role."},"404":{"description":"The rolle that should be deleted does not exist."}},"tags":["rolle"],"security":[{"oauth2":["openid"]},{"bearer":[]}]}},"/api/rolle/{rolleId}/serviceProviders":{"get":{"operationId":"RolleController_getRolleServiceProviderIds","summary":"","description":"Get service-providers for a rolle by its id.","parameters":[{"name":"rolleId","required":true,"in":"path","description":"The id for the rolle.","schema":{"nullable":false,"type":"string"}}],"responses":{"200":{"description":"Returns a list of service-provider ids.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RolleServiceProviderResponse"}}}},"401":{"description":"Not authorized to retrieve service-providers for rolle."},"404":{"description":"The rolle does not exist."}},"tags":["rolle"],"security":[{"oauth2":["openid"]},{"bearer":[]}]},"post":{"operationId":"RolleController_addServiceProviderById","summary":"","description":"Add a service-provider to a rolle by id.","parameters":[{"name":"rolleId","required":true,"in":"path","description":"The id for the rolle.","schema":{"nullable":false,"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RolleServiceProviderQueryParams"}}}},"responses":{"200":{"description":"Adding service-provider finished successfully.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceProviderResponse"}}}},"400":{"description":"The service-provider is already attached to rolle."},"401":{"description":"Not authorized to retrieve service-providers for rolle."},"404":{"description":"The rolle or the service-provider to add does not exist."},"500":{"description":"Internal server error, the service-provider may could not be found after attaching to rolle."}},"tags":["rolle"],"security":[{"oauth2":["openid"]},{"bearer":[]}]},"delete":{"operationId":"RolleController_removeServiceProviderById","summary":"","description":"Remove a service-provider from a rolle by id.","parameters":[{"name":"rolleId","required":true,"in":"path","description":"The id for the rolle.","schema":{"nullable":false,"type":"string"}},{"name":"serviceProviderId","required":true,"in":"query","description":"The id for the rolle.","schema":{"nullable":false,"type":"string"}}],"responses":{"200":{"description":"Removing service-provider finished successfully."},"401":{"description":"Not authorized to retrieve service-providers for rolle."},"404":{"description":"The rolle or the service-provider that should be removed does not exist."}},"tags":["rolle"],"security":[{"oauth2":["openid"]},{"bearer":[]}]}},"/api/provider/all":{"get":{"operationId":"ProviderController_getAllServiceProviders","summary":"","description":"Get all service-providers.","parameters":[],"responses":{"200":{"description":"The service-providers were successfully returned.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ServiceProviderResponse"}}}}},"401":{"description":"Not authorized to get available service providers."},"403":{"description":"Insufficient permissions to get service-providers."},"500":{"description":"Internal server error while getting all service-providers."}},"tags":["provider"],"security":[{"bearer":[]},{"oauth2":["openid"]}]}},"/api/provider":{"get":{"operationId":"ProviderController_getAvailableServiceProviders","summary":"","description":"Get service-providers available for logged-in user.","parameters":[],"responses":{"200":{"description":"The service-providers were successfully returned.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ServiceProviderResponse"}}}}},"401":{"description":"Not authorized to get available service providers."},"403":{"description":"Insufficient permissions to get service-providers."},"500":{"description":"Internal server error while getting all service-providers."}},"tags":["provider"],"security":[{"bearer":[]},{"oauth2":["openid"]}]}},"/api/provider/{angebotId}/logo":{"get":{"operationId":"ProviderController_getServiceProviderLogo","parameters":[{"name":"angebotId","required":true,"in":"path","description":"The id of the service provider","schema":{"nullable":false,"type":"string"}}],"responses":{"200":{"description":"The logo for the service provider was successfully returned.","content":{"image/*":{"schema":{"type":"file","format":"binary"}}}},"400":{"description":"Angebot ID is required."},"401":{"description":"Not authorized to get service provider logo."},"403":{"description":"Insufficient permissions to get the logo."},"404":{"description":"The service-provider does not exist or has no logo."},"500":{"description":"Internal server error while getting the logo."}},"tags":["provider"],"security":[{"bearer":[]},{"oauth2":["openid"]}]}},"/api/personenkontexte/{personenkontextId}":{"get":{"operationId":"PersonenkontextController_findPersonenkontextById","parameters":[{"name":"personenkontextId","required":true,"in":"path","description":"The id for the personenkontext.","schema":{"nullable":false,"type":"string"}}],"responses":{"200":{"description":"The personenkontext was successfully returned.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PersonendatensatzResponseAutomapper"}}}},"400":{"description":"Request has wrong format."},"401":{"description":"Request is not authorized."},"403":{"description":"Insufficient permissions to perform operation."},"404":{"description":"The personenkontext was not found."},"500":{"description":"An internal server error occurred."}},"tags":["personenkontexte"],"security":[{"oauth2":["openid"]},{"bearer":[]}]},"put":{"operationId":"PersonenkontextController_updatePersonenkontextWithId","parameters":[{"name":"personenkontextId","required":true,"in":"path","description":"The id for the personenkontext.","schema":{"nullable":false,"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdatePersonenkontextBodyParams"}}}},"responses":{"200":{"description":"The personenkontext was successfully updated.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PersonenkontextResponse"}}}},"400":{"description":"Request has wrong format."},"401":{"description":"Request is not authorized."},"403":{"description":"Insufficient permissions to perform operation."},"404":{"description":"The personenkontext was not found."},"500":{"description":"An internal server error occurred."}},"tags":["personenkontexte"],"security":[{"oauth2":["openid"]},{"bearer":[]}]},"delete":{"operationId":"PersonenkontextController_deletePersonenkontextById","parameters":[{"name":"personenkontextId","required":true,"in":"path","description":"The id for the personenkontext.","schema":{"nullable":false,"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DeleteRevisionBodyParams"}}}},"responses":{"204":{"description":"The personenkontext was successfully deleted."},"400":{"description":"Request has wrong format."},"401":{"description":"Request is not authorized."},"403":{"description":"Insufficient permissions to perform operation."},"404":{"description":"The personenkontext was not found."},"500":{"description":"An internal server error occurred."}},"tags":["personenkontexte"],"security":[{"oauth2":["openid"]},{"bearer":[]}]}},"/api/personenkontexte":{"get":{"operationId":"PersonenkontextController_findPersonenkontexte","parameters":[{"name":"offset","required":false,"in":"query","description":"The offset of the paginated list.","schema":{"type":"number"}},{"name":"limit","required":false,"in":"query","description":"The requested limit for the page size.","schema":{"type":"number"}},{"name":"personId","required":false,"in":"query","schema":{"nullable":true,"type":"string"}},{"name":"referrer","required":false,"in":"query","schema":{"nullable":true,"type":"string"}},{"name":"rolle","required":false,"in":"query","schema":{"$ref":"#/components/schemas/Rolle"}},{"name":"personenstatus","required":false,"in":"query","schema":{"$ref":"#/components/schemas/Personenstatus"}},{"name":"sichtfreigabe","required":false,"in":"query","schema":{"$ref":"#/components/schemas/Sichtfreigabe"}}],"responses":{"200":{"description":"The personenkontexte were successfully returned.","headers":{"X-Paging-Offset":{"description":"The offset of the first item from the list. List starts with index 0."},"X-Paging-Limit":{"description":"The maximum amount of items returned in one request."},"X-Paging-Total":{"description":"The total amount of items in the list."}},"content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/PersonenkontextdatensatzResponse"}}}}},"400":{"description":"Request has wrong format."},"401":{"description":"Request is not authorized."},"403":{"description":"Insufficient permissions to perform operation."},"404":{"description":"The personenkontexte were not found."},"500":{"description":"An internal server error occurred."}},"tags":["personenkontexte"],"security":[{"oauth2":["openid"]},{"bearer":[]}]}},"/api/personenkontexte/{personId}/hatSystemrecht":{"get":{"operationId":"PersonenkontextController_hatSystemRecht","parameters":[{"name":"personId","required":true,"in":"path","description":"The id for the account.","schema":{"nullable":false,"type":"string"}},{"name":"systemRecht","required":true,"in":"query","schema":{"$ref":"#/components/schemas/RollenSystemRecht"}}],"responses":{"200":{"description":"The SchulStrukturKnoten associated with this personId and systemrecht. Can return empty list","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SystemrechtResponse"}}}},"404":{"description":"The systemrecht could not be found (does not exist as type of systemrecht)."}},"tags":["personenkontexte"],"security":[{"oauth2":["openid"]},{"bearer":[]}]}},"/api/dbiam/personenkontext/{personId}":{"get":{"operationId":"DBiamPersonenkontextController_findPersonenkontextsByPerson","parameters":[{"name":"personId","required":true,"in":"path","description":"The ID for the person.","schema":{"type":"string"}}],"responses":{"200":{"description":"The personenkontexte were successfully returned.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/DBiamPersonenkontextResponse"}}}}},"401":{"description":"Not authorized to get available personenkontexte."},"403":{"description":"Insufficient permission to get personenkontexte for this user."},"500":{"description":"Internal server error while getting personenkontexte."}},"tags":["dbiam-personenkontexte"],"security":[{"oauth2":["openid"]},{"bearer":[]}]}},"/api/dbiam/personenkontext":{"post":{"operationId":"DBiamPersonenkontextController_createPersonenkontext","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DbiamPersonenkontextBodyParams"}}}},"responses":{"201":{"description":"Personenkontext was successfully created.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DBiamPersonenkontextResponse"}}}},"400":{"description":"The personenkontext could not be created, may due to unsatisfied specifications.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DbiamPersonenkontextError"}}}},"401":{"description":"Not authorized to create personenkontext."},"403":{"description":"Insufficient permission to create personenkontext."},"500":{"description":"Internal server error while creating personenkontext."}},"tags":["dbiam-personenkontexte"],"security":[{"oauth2":["openid"]},{"bearer":[]}]}},"/api/personenkontext-workflow/step":{"get":{"operationId":"DbiamPersonenkontextWorkflowController_processStep","parameters":[{"name":"organisationId","required":false,"in":"query","description":"ID of the organisation to filter the rollen later","schema":{"nullable":true,"type":"string"}},{"name":"rolleId","required":false,"in":"query","description":"ID of the rolle.","schema":{"nullable":true,"type":"string"}},{"name":"rolleName","required":false,"in":"query","description":"Rolle name used to filter for rollen in personenkontext.","schema":{"nullable":true,"type":"string"}},{"name":"organisationName","required":false,"in":"query","description":"Organisation/SSK name used to filter for schulstrukturknoten in personenkontext.","schema":{"nullable":true,"type":"string"}},{"name":"limit","required":false,"in":"query","description":"The limit of items for the request.","schema":{"nullable":false,"type":"number"}}],"responses":{"200":{"description":"Initialize or process data from the person creation form.\n Valid combinations:\n - Both organisationId and rolleId are undefined: Fetch all possible organisations.\n - organisationId is provided, but rolleId is undefined: Fetch Rollen for the given organisation.\n - Both organisationId and rolleId are provided: Check if the Rolle can be committed for the organisation.\n Note: Providing rolleId without organisationId is invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PersonenkontextWorkflowResponse"}}}},"401":{"description":"Not authorized to get available data for personenkontext."},"403":{"description":"Insufficient permission to get data for personenkontext."},"500":{"description":"Internal server error while getting data for personenkontext."}},"tags":["personenkontext"],"security":[{"oauth2":["openid"]},{"bearer":[]}]}},"/api/personenkontext-workflow/{personId}":{"put":{"operationId":"DbiamPersonenkontextWorkflowController_commit","parameters":[{"name":"personId","required":true,"in":"path","description":"The ID for the person.","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DbiamUpdatePersonenkontexteBodyParams"}}}},"responses":{"200":{"description":"Add or remove personenkontexte as one operation. Returns the Personenkontexte existing after update.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PersonenkontexteUpdateResponse"}}}},"400":{"description":"The personenkontexte could not be updated, may due to unsatisfied specifications.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DbiamPersonenkontexteUpdateError"}}}},"401":{"description":"Not authorized to update personenkontexte."},"403":{"description":"Insufficient permission to update personenkontexte."},"409":{"description":"Changes are conflicting with current state of personenkontexte."},"500":{"description":"Internal server error while updating personenkontexte."}},"tags":["personenkontext"],"security":[{"oauth2":["openid"]},{"bearer":[]}]}},"/api/personenkontext-workflow/schulstrukturknoten":{"get":{"operationId":"DbiamPersonenkontextWorkflowController_findSchulstrukturknoten","parameters":[{"name":"rolleId","required":true,"in":"query","description":"RolleId used to filter for schulstrukturknoten in personenkontext.","schema":{"nullable":false,"type":"string"}},{"name":"sskName","required":false,"in":"query","description":"Organisation/SSK name used to filter for schulstrukturknoten in personenkontext.","schema":{"nullable":true,"type":"string"}},{"name":"limit","required":false,"in":"query","description":"The limit of items for the request.","schema":{"nullable":false,"type":"number"}}],"responses":{"200":{"description":"The schulstrukturknoten for a personenkontext were successfully returned.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FindSchulstrukturknotenResponse"}}}},"401":{"description":"Not authorized to get available schulstrukturknoten for personenkontexte."},"403":{"description":"Insufficient permission to get schulstrukturknoten for personenkontext."},"500":{"description":"Internal server error while getting schulstrukturknoten for personenkontexte."}},"tags":["personenkontext"],"security":[{"oauth2":["openid"]},{"bearer":[]}]}},"/api/personenkontext-workflow":{"post":{"operationId":"DbiamPersonenkontextWorkflowController_createPersonWithKontext","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DbiamCreatePersonWithContextBodyParams"}}}},"responses":{"201":{"description":"Person with Personenkontext was successfully created.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DBiamPersonResponse"}}}},"400":{"description":"The person and the personenkontext could not be created, may due to unsatisfied specifications.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DbiamPersonenkontextError"}}}},"401":{"description":"Not authorized to create person with personenkontext."},"403":{"description":"Insufficient permission to create person with personenkontext."},"500":{"description":"Internal server error while creating person with personenkontext."}},"tags":["personenkontext"],"security":[{"oauth2":["openid"]},{"bearer":[]}]}},"/api/person-administration/rollen":{"get":{"operationId":"PersonAdministrationController_findRollen","parameters":[{"name":"rolleName","required":false,"in":"query","description":"Rolle name used to filter for rollen in personenkontext.","schema":{"nullable":false,"type":"string"}},{"name":"limit","required":false,"in":"query","description":"The limit of items for the request.","schema":{"nullable":false,"type":"number"}}],"responses":{"200":{"description":"The rollen for the logged-in user were successfully returned.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FindRollenResponse"}}}},"401":{"description":"Not authorized to get available rollen for the logged-in user."},"403":{"description":"Insufficient permission to get rollen for the logged-in user."},"500":{"description":"Internal server error while getting rollen for the logged-in user."}},"tags":["person-administration"],"security":[{"oauth2":["openid"]},{"bearer":[]}]}},"/api/2fa-token/init":{"post":{"operationId":"PrivacyIdeaAdministrationController_initializeSoftwareToken","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TokenInitBodyParams"}}}},"responses":{"201":{"description":"The token was successfully created.","content":{"application/json":{"schema":{"type":"string"}}}},"400":{"description":"A username was not given or not found."},"401":{"description":"Not authorized to create token."},"403":{"description":"Insufficient permissions to create token."},"404":{"description":"Insufficient permissions to create token."},"500":{"description":"Internal server error while creating a token."}},"tags":["2FA"],"security":[{"oauth2":["openid"]},{"bearer":[]}]}},"/api/2fa-token/state":{"get":{"operationId":"PrivacyIdeaAdministrationController_getTwoAuthState","parameters":[{"name":"personId","required":true,"in":"query","schema":{"type":"string"}}],"responses":{"201":{"description":"The token was successfully created.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TokenStateResponse"}}}},"400":{"description":"A username was not given or not found."},"401":{"description":"Not authorized to create token."},"403":{"description":"Insufficient permissions to create token."},"404":{"description":"Insufficient permissions to create token."},"500":{"description":"Internal server error while creating a token."}},"tags":["2FA"],"security":[{"oauth2":["openid"]},{"bearer":[]}]}}},"info":{"title":"dBildungs IAM","description":"The dBildungs IAM server API description","version":"1.0","contact":{}},"tags":[],"servers":[],"components":{"securitySchemes":{"oauth2":{"type":"oauth2","flows":{"authorizationCode":{"authorizationUrl":"https://spsh-926-keycloak.dev.spsh.dbildungsplattform.de/realms/SPSH/protocol/openid-connect/auth","tokenUrl":"https://spsh-926-keycloak.dev.spsh.dbildungsplattform.de/realms/SPSH/protocol/openid-connect/token","refreshUrl":"https://spsh-926-keycloak.dev.spsh.dbildungsplattform.de/realms/SPSH/protocol/openid-connect/token","scopes":{}}}},"bearer":{"scheme":"bearer","bearerFormat":"JWT","type":"http"}},"schemas":{"RollenSystemRechtServiceProviderIDResponse":{"type":"object","properties":{"systemrechte":{"type":"array","items":{"type":"string"}},"serviceProviderIds":{"type":"array","items":{"type":"string"}}},"required":["systemrechte","serviceProviderIds"]},"PersonenkontextRolleFieldsResponse":{"type":"object","properties":{"organisationsId":{"type":"string"},"rolle":{"$ref":"#/components/schemas/RollenSystemRechtServiceProviderIDResponse"}},"required":["organisationsId","rolle"]},"UserinfoResponse":{"type":"object","properties":{"sub":{"type":"string"},"personId":{"type":"string","nullable":true},"name":{"type":"string","nullable":true},"given_name":{"type":"string","nullable":true},"family_name":{"type":"string","nullable":true},"middle_name":{"type":"string","nullable":true},"nickname":{"type":"string","nullable":true},"preferred_username":{"type":"string","nullable":true},"profile":{"type":"string","nullable":true},"picture":{"type":"string","nullable":true},"website":{"type":"string","nullable":true},"email":{"type":"string","nullable":true},"email_verified":{"type":"boolean","nullable":true},"gender":{"type":"string","nullable":true},"birthdate":{"type":"string","nullable":true},"zoneinfo":{"type":"string","nullable":true},"locale":{"type":"string","nullable":true},"phone_number":{"type":"string","nullable":true},"updated_at":{"type":"number","nullable":true},"personenkontexte":{"type":"array","items":{"$ref":"#/components/schemas/PersonenkontextRolleFieldsResponse"}}},"required":["sub","personId","name","given_name","family_name","middle_name","nickname","preferred_username","profile","picture","website","email","email_verified","gender","birthdate","zoneinfo","locale","phone_number","updated_at","personenkontexte"]},"PersonNameParams":{"type":"object","properties":{"familienname":{"type":"string"},"vorname":{"type":"string"},"initialenfamilienname":{"type":"string"},"initialenvorname":{"type":"string"},"rufname":{"type":"string"},"titel":{"type":"string"},"anrede":{"type":"array","items":{"type":"string"}},"namenssuffix":{"type":"array","items":{"type":"string"}},"namenspraefix":{"type":"array","items":{"type":"string"}},"sortierindex":{"type":"string"}},"required":["familienname","vorname"]},"PersonBirthParams":{"type":"object","properties":{"datum":{"format":"date-time","type":"string"},"geburtsort":{"type":"string"}}},"Geschlecht":{"type":"string","enum":["m","w","d","x"]},"Vertrauensstufe":{"type":"string","enum":["KEIN","UNBE","TEIL","VOLL"]},"CreatePersonBodyParams":{"type":"object","properties":{"email":{"type":"string"},"referrer":{"type":"string"},"stammorganisation":{"type":"string"},"name":{"$ref":"#/components/schemas/PersonNameParams"},"geburt":{"$ref":"#/components/schemas/PersonBirthParams"},"geschlecht":{"$ref":"#/components/schemas/Geschlecht"},"lokalisierung":{"type":"string"},"vertrauensstufe":{"$ref":"#/components/schemas/Vertrauensstufe"},"auskunftssperre":{"type":"boolean"},"hashedPassword":{"type":"string"},"username":{"type":"string"},"personalnummer":{"type":"string"}},"required":["name"]},"PersonResponse":{"type":"object","properties":{"id":{"type":"string"},"referrer":{"type":"string","nullable":true},"mandant":{"type":"string"},"name":{"$ref":"#/components/schemas/PersonNameParams"},"geburt":{"nullable":true,"allOf":[{"$ref":"#/components/schemas/PersonBirthParams"}]},"stammorganisation":{"type":"string","nullable":true},"geschlecht":{"type":"string","nullable":true},"lokalisierung":{"type":"string","nullable":true},"vertrauensstufe":{"nullable":true,"$ref":"#/components/schemas/Vertrauensstufe"},"revision":{"type":"string"},"startpasswort":{"type":"string","description":"Initiales Benutzerpasswort, muss nach der ersten Anmeldung geändert werden"},"personalnummer":{"type":"string","nullable":true}},"required":["id","referrer","mandant","name","geburt","stammorganisation","geschlecht","lokalisierung","vertrauensstufe","revision","startpasswort","personalnummer"]},"PersonendatensatzResponse":{"type":"object","properties":{"person":{"$ref":"#/components/schemas/PersonResponse"}},"required":["person"]},"Rolle":{"type":"string","enum":["LERN","LEHR","EXTERN","ORGADMIN","LEIT","SYSADMIN"]},"Personenstatus":{"type":"string","description":"The new personenstatus of the personenkontext.","enum":["AKTIV"]},"Jahrgangsstufe":{"type":"string","description":"The new jahrgangsstufe of the personenkontext.","enum":["01","02","03","04","05","06","07","08","09","10"]},"CreatePersonenkontextBodyParams":{"type":"object","properties":{"referrer":{"type":"string"},"rolle":{"$ref":"#/components/schemas/Rolle"},"personenstatus":{"$ref":"#/components/schemas/Personenstatus"},"jahrgangsstufe":{"$ref":"#/components/schemas/Jahrgangsstufe"}},"required":["rolle"]},"RawPagedResponse":{"type":"object","properties":{"total":{"type":"number"},"offset":{"type":"number"},"limit":{"type":"number"},"items":{"type":"array","items":{"type":"string"}}},"required":["total","offset","limit","items"]},"CreatedPersonenkontextOrganisation":{"type":"object","properties":{}},"LoeschungResponse":{"type":"object","properties":{"zeitpunkt":{"format":"date-time","type":"string"}},"required":["zeitpunkt"]},"PersonenkontextResponse":{"type":"object","properties":{"id":{"type":"string"},"referrer":{"type":"string","nullable":true},"mandant":{"type":"string"},"organisation":{"$ref":"#/components/schemas/CreatedPersonenkontextOrganisation"},"roleName":{"type":"string","nullable":true},"personenstatus":{"type":"string","enum":["AKTIV"],"nullable":true},"jahrgangsstufe":{"type":"string","enum":["01","02","03","04","05","06","07","08","09","10"],"nullable":true},"sichtfreigabe":{"type":"string","enum":["ja","nein"],"nullable":true},"loeschung":{"nullable":true,"allOf":[{"$ref":"#/components/schemas/LoeschungResponse"}]},"revision":{"type":"string"}},"required":["id","referrer","mandant","organisation","roleName","personenstatus","jahrgangsstufe","sichtfreigabe","loeschung","revision"]},"Sichtfreigabe":{"type":"string","enum":["ja","nein"]},"UpdatePersonBodyParams":{"type":"object","properties":{"referrer":{"type":"string"},"stammorganisation":{"type":"string"},"name":{"$ref":"#/components/schemas/PersonNameParams"},"geburt":{"$ref":"#/components/schemas/PersonBirthParams"},"geschlecht":{"$ref":"#/components/schemas/Geschlecht"},"lokalisierung":{"type":"string"},"vertrauensstufe":{"$ref":"#/components/schemas/Vertrauensstufe"},"auskunftssperre":{"type":"boolean"},"revision":{"type":"string"}},"required":["name","revision"]},"OrganisationsTyp":{"type":"string","enum":["ROOT","LAND","TRAEGER","SCHULE","KLASSE","ANBIETER","SONSTIGE ORGANISATION / EINRICHTUNG","UNBESTAETIGT"]},"DBiamPersonenzuordnungResponse":{"type":"object","properties":{"sskId":{"type":"string"},"rolleId":{"type":"string"},"sskName":{"type":"string"},"sskDstNr":{"type":"string"},"rolle":{"type":"string"},"administriertVon":{"type":"string"},"typ":{"nullable":true,"$ref":"#/components/schemas/OrganisationsTyp"},"editable":{"type":"boolean"}},"required":["sskId","rolleId","sskName","sskDstNr","rolle","administriertVon","typ","editable"]},"DBiamPersonenuebersichtResponse":{"type":"object","properties":{"personId":{"type":"string"},"vorname":{"type":"string"},"nachname":{"type":"string"},"benutzername":{"type":"string"},"lastModifiedZuordnungen":{"format":"date-time","type":"string","nullable":true,"description":"Date of the most recent changed personenkontext in the Zuordnungen"},"zuordnungen":{"type":"array","items":{"$ref":"#/components/schemas/DBiamPersonenzuordnungResponse"}}},"required":["personId","vorname","nachname","benutzername","lastModifiedZuordnungen","zuordnungen"]},"PersonNameResponse":{"type":"object","properties":{"familiennamen":{"type":"string"},"vorname":{"type":"string"},"initialenfamilienname":{"type":"string","nullable":true},"initialenvorname":{"type":"string","nullable":true},"rufname":{"type":"string","nullable":true},"titel":{"type":"string","nullable":true},"anrede":{"nullable":true,"type":"array","items":{"type":"string"}},"namenspraefix":{"nullable":true,"type":"array","items":{"type":"string"}},"namenssuffix":{"nullable":true,"type":"array","items":{"type":"string"}},"sortierindex":{"type":"string","nullable":true}},"required":["familiennamen","vorname","initialenfamilienname","initialenvorname","rufname","titel","anrede","namenspraefix","namenssuffix","sortierindex"]},"PersonBirthResponse":{"type":"object","properties":{"datum":{"format":"date-time","type":"string","nullable":true},"geburtsort":{"type":"string","nullable":true}},"required":["datum","geburtsort"]},"Person":{"type":"object","properties":{"id":{"type":"string"},"referrer":{"type":"string","nullable":true},"mandant":{"type":"string"},"name":{"$ref":"#/components/schemas/PersonNameResponse"},"geburt":{"nullable":true,"allOf":[{"$ref":"#/components/schemas/PersonBirthResponse"}]},"stammorganisation":{"type":"string","nullable":true},"geschlecht":{"type":"string","nullable":true},"lokalisierung":{"type":"string","nullable":true},"vertrauensstufe":{"nullable":true,"$ref":"#/components/schemas/Vertrauensstufe"},"revision":{"type":"string"},"personalnummer":{"type":"string","nullable":true}},"required":["id","referrer","mandant","name","geburt","stammorganisation","geschlecht","lokalisierung","vertrauensstufe","revision","personalnummer"]},"PersonInfoResponse":{"type":"object","properties":{"pid":{"type":"string"},"person":{"$ref":"#/components/schemas/Person"},"personenkontexte":{"type":"array","items":{"$ref":"#/components/schemas/PersonenkontextResponse"}},"gruppen":{"type":"array","items":{"type":"string"}}},"required":["pid","person","personenkontexte","gruppen"]},"TraegerschaftTyp":{"type":"string","enum":["01","02","03","04","05","06"]},"CreateOrganisationBodyParams":{"type":"object","properties":{"administriertVon":{"type":"string"},"zugehoerigZu":{"type":"string"},"kennung":{"type":"string","description":"Required, if `typ` is equal to `SCHULE`"},"name":{"type":"string"},"namensergaenzung":{"type":"string"},"kuerzel":{"type":"string"},"typ":{"$ref":"#/components/schemas/OrganisationsTyp"},"traegerschaft":{"$ref":"#/components/schemas/TraegerschaftTyp"}},"required":["name","typ"]},"OrganisationResponse":{"type":"object","properties":{"id":{"type":"string"},"administriertVon":{"type":"string","nullable":true},"kennung":{"type":"string","nullable":true},"name":{"type":"string"},"namensergaenzung":{"type":"string","nullable":true},"kuerzel":{"type":"string"},"typ":{"$ref":"#/components/schemas/OrganisationsTyp"},"traegerschaft":{"$ref":"#/components/schemas/TraegerschaftTyp"}},"required":["id","administriertVon","kennung","name","namensergaenzung","kuerzel","typ","traegerschaft"]},"DbiamOrganisationError":{"type":"object","properties":{"i18nKey":{"type":"string","enum":["ORGANISATION_SPECIFICATION_ERROR","KENNUNG_REQUIRED_FOR_SCHULE","NAME_REQUIRED_FOR_SCHULE","SCHULE_KENNUNG_EINDEUTIG","SCHULE_UNTER_TRAEGER","TRAEGER_IN_TRAEGER","NUR_KLASSE_UNTER_SCHULE","ZYKLUS_IN_ORGANISATION","ROOT_ORGANISATION_IMMUTABLE","KLASSE_NUR_VON_SCHULE_ADMINISTRIERT","KLASSENNAME_AN_SCHULE_EINDEUTIG","ORGANISATION_IST_BEREITS_ZUGEWIESEN_ERROR","NAME_REQUIRED_FOR_KLASSE","NAME_ENTHAELT_LEERZEICHEN","KENNUNG_ENTHAELT_LEERZEICHEN"]},"code":{"type":"number","description":"Corresponds to HTTP Status code like 200, 404, 500"}},"required":["i18nKey","code"]},"UpdateOrganisationBodyParams":{"type":"object","properties":{"administriertVon":{"type":"string"},"zugehoerigZu":{"type":"string"},"kennung":{"type":"string","description":"Required, if `typ` is equal to `SCHULE`"},"name":{"type":"string"},"namensergaenzung":{"type":"string"},"kuerzel":{"type":"string"},"typ":{"$ref":"#/components/schemas/OrganisationsTyp"},"traegerschaft":{"$ref":"#/components/schemas/TraegerschaftTyp"}},"required":["name","typ"]},"OrganisationRootChildrenResponse":{"type":"object","properties":{"oeffentlich":{"$ref":"#/components/schemas/OrganisationResponse"},"ersatz":{"$ref":"#/components/schemas/OrganisationResponse"}},"required":["oeffentlich","ersatz"]},"RollenSystemRecht":{"type":"string","enum":["ROLLEN_VERWALTEN","PERSONEN_SOFORT_LOESCHEN","PERSONEN_VERWALTEN","SCHULEN_VERWALTEN","KLASSEN_VERWALTEN","SCHULTRAEGER_VERWALTEN","MIGRATION_DURCHFUEHREN"]},"OrganisationByIdBodyParams":{"type":"object","properties":{"organisationId":{"type":"string","description":"The id of an organization","nullable":false}},"required":["organisationId"]},"OrganisationByNameBodyParams":{"type":"object","properties":{"name":{"type":"string"}},"required":["name"]},"OrganisationResponseLegacy":{"type":"object","properties":{"id":{"type":"string"},"administriertVon":{"type":"string","nullable":true},"kennung":{"type":"string","nullable":true},"name":{"type":"string"},"namensergaenzung":{"type":"string","nullable":true},"kuerzel":{"type":"string"},"typ":{"$ref":"#/components/schemas/OrganisationsTyp"}},"required":["id","administriertVon","kennung","name","namensergaenzung","kuerzel","typ"]},"RollenArt":{"type":"string","enum":["LERN","LEHR","EXTERN","ORGADMIN","LEIT","SYSADMIN"]},"RollenMerkmal":{"type":"string","enum":["BEFRISTUNG_PFLICHT","KOPERS_PFLICHT"]},"ServiceProviderIdNameResponse":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"}},"required":["id","name"]},"RolleWithServiceProvidersResponse":{"type":"object","properties":{"id":{"type":"string"},"createdAt":{"format":"date-time","type":"string"},"updatedAt":{"format":"date-time","type":"string"},"name":{"type":"string"},"administeredBySchulstrukturknoten":{"type":"string"},"rollenart":{"$ref":"#/components/schemas/RollenArt"},"merkmale":{"type":"array","uniqueItems":true,"items":{"$ref":"#/components/schemas/RollenMerkmal"}},"systemrechte":{"type":"array","uniqueItems":true,"items":{"$ref":"#/components/schemas/RollenSystemRecht"}},"serviceProviders":{"type":"array","items":{"$ref":"#/components/schemas/ServiceProviderIdNameResponse"}}},"required":["id","createdAt","updatedAt","name","administeredBySchulstrukturknoten","rollenart","merkmale","systemrechte","serviceProviders"]},"CreateRolleBodyParams":{"type":"object","properties":{"name":{"type":"string"},"administeredBySchulstrukturknoten":{"type":"string"},"rollenart":{"$ref":"#/components/schemas/RollenArt"},"merkmale":{"type":"array","uniqueItems":true,"items":{"$ref":"#/components/schemas/RollenMerkmal"}},"systemrechte":{"type":"array","uniqueItems":true,"items":{"$ref":"#/components/schemas/RollenSystemRecht"}}},"required":["name","administeredBySchulstrukturknoten","rollenart","merkmale","systemrechte"]},"RolleResponse":{"type":"object","properties":{"id":{"type":"string"},"createdAt":{"format":"date-time","type":"string"},"updatedAt":{"format":"date-time","type":"string"},"name":{"type":"string"},"administeredBySchulstrukturknoten":{"type":"string"},"rollenart":{"$ref":"#/components/schemas/RollenArt"},"merkmale":{"type":"array","uniqueItems":true,"items":{"$ref":"#/components/schemas/RollenMerkmal"}},"systemrechte":{"type":"array","uniqueItems":true,"items":{"$ref":"#/components/schemas/RollenSystemRecht"}}},"required":["id","createdAt","updatedAt","name","administeredBySchulstrukturknoten","rollenart","merkmale","systemrechte"]},"AddSystemrechtBodyParams":{"type":"object","properties":{"systemRecht":{"$ref":"#/components/schemas/RollenSystemRecht"}},"required":["systemRecht"]},"RolleServiceProviderResponse":{"type":"object","properties":{"serviceProviderIds":{"type":"array","items":{"type":"string"}}},"required":["serviceProviderIds"]},"RolleServiceProviderQueryParams":{"type":"object","properties":{"serviceProviderId":{"type":"string","description":"The id for the rolle.","nullable":false}},"required":["serviceProviderId"]},"ServiceProviderTarget":{"type":"string","enum":["URL","EMAIL","SCHULPORTAL_ADMINISTRATION"]},"ServiceProviderKategorie":{"type":"string","enum":["EMAIL","UNTERRICHT","VERWALTUNG","HINWEISE","ANGEBOTE"]},"ServiceProviderResponse":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"target":{"$ref":"#/components/schemas/ServiceProviderTarget"},"url":{"type":"string","description":"Can be undefined, if `target` is not equal to `URL`"},"kategorie":{"$ref":"#/components/schemas/ServiceProviderKategorie"},"hasLogo":{"type":"boolean"}},"required":["id","name","target","url","kategorie","hasLogo"]},"UpdateRolleBodyParams":{"type":"object","properties":{"name":{"type":"string"},"merkmale":{"type":"array","uniqueItems":true,"items":{"$ref":"#/components/schemas/RollenMerkmal"}},"systemrechte":{"type":"array","uniqueItems":true,"items":{"$ref":"#/components/schemas/RollenSystemRecht"}},"serviceProviderIds":{"uniqueItems":true,"type":"array","items":{"type":"string"}}},"required":["name","merkmale","systemrechte","serviceProviderIds"]},"DbiamRolleError":{"type":"object","properties":{"i18nKey":{"type":"string","enum":["ROLLE_ERROR","ADD_SYSTEMRECHT_ERROR","ROLLE_HAT_PERSONENKONTEXTE_ERROR","UPDATE_MERKMALE_ERROR","ROLLENNAME_ENTHAELT_LEERZEICHEN"]},"code":{"type":"number","description":"Corresponds to HTTP Status code like 200, 404, 500"}},"required":["i18nKey","code"]},"PersonResponseAutomapper":{"type":"object","properties":{"id":{"type":"string"},"referrer":{"type":"string"},"mandant":{"type":"string"},"name":{"$ref":"#/components/schemas/PersonNameParams"},"geburt":{"$ref":"#/components/schemas/PersonBirthParams"},"stammorganisation":{"type":"string"},"geschlecht":{"type":"string"},"lokalisierung":{"type":"string"},"vertrauensstufe":{"$ref":"#/components/schemas/Vertrauensstufe"},"revision":{"type":"string"},"startpasswort":{"type":"string","description":"Initiales Benutzerpasswort, muss nach der ersten Anmeldung geändert werden"},"personalnummer":{"type":"string"}},"required":["id","referrer","mandant","name","geburt","stammorganisation","geschlecht","lokalisierung","vertrauensstufe","revision","startpasswort","personalnummer"]},"PersonendatensatzResponseAutomapper":{"type":"object","properties":{"person":{"$ref":"#/components/schemas/PersonResponseAutomapper"},"personenkontexte":{"type":"array","items":{"$ref":"#/components/schemas/PersonenkontextResponse"}}},"required":["person","personenkontexte"]},"PersonIdResponse":{"type":"object","properties":{"id":{"type":"string"}},"required":["id"]},"PersonenkontextdatensatzResponse":{"type":"object","properties":{"person":{"$ref":"#/components/schemas/PersonIdResponse"},"personenkontexte":{"type":"array","items":{"$ref":"#/components/schemas/PersonenkontextResponse"}}},"required":["person","personenkontexte"]},"SystemrechtResponse":{"type":"object","properties":{"ROLLEN_VERWALTEN":{"type":"array","items":{"$ref":"#/components/schemas/OrganisationResponseLegacy"}},"KLASSEN_VERWALTEN":{"type":"array","items":{"$ref":"#/components/schemas/OrganisationResponseLegacy"}},"SCHULEN_VERWALTEN":{"type":"array","items":{"$ref":"#/components/schemas/OrganisationResponseLegacy"}},"PERSONEN_VERWALTEN":{"type":"array","items":{"$ref":"#/components/schemas/OrganisationResponseLegacy"}},"SCHULTRAEGER_VERWALTEN":{"type":"array","items":{"$ref":"#/components/schemas/OrganisationResponseLegacy"}}},"required":["ROLLEN_VERWALTEN","KLASSEN_VERWALTEN","SCHULEN_VERWALTEN","PERSONEN_VERWALTEN","SCHULTRAEGER_VERWALTEN"]},"UpdatePersonenkontextBodyParams":{"type":"object","properties":{"referrer":{"type":"string","description":"The new referrer of the personenkontext."},"personenstatus":{"$ref":"#/components/schemas/Personenstatus"},"jahrgangsstufe":{"$ref":"#/components/schemas/Jahrgangsstufe"},"revision":{"type":"string","description":"The revision of the personenkontext."}},"required":["revision"]},"DeleteRevisionBodyParams":{"type":"object","properties":{"revision":{"type":"string","description":"The revision of a personenkontext.","nullable":false}},"required":["revision"]},"DBiamPersonenkontextResponse":{"type":"object","properties":{"personId":{"type":"string"},"organisationId":{"type":"string"},"rolleId":{"type":"string"}},"required":["personId","organisationId","rolleId"]},"DbiamPersonenkontextBodyParams":{"type":"object","properties":{"personId":{"type":"string"},"organisationId":{"type":"string"},"rolleId":{"type":"string"}},"required":["personId","organisationId","rolleId"]},"DbiamPersonenkontextError":{"type":"object","properties":{"i18nKey":{"type":"string","enum":["PERSONENKONTEXT_SPECIFICATION_ERROR","NUR_LEHR_UND_LERN_AN_KLASSE","GLEICHE_ROLLE_AN_KLASSE_WIE_SCHULE","ORGANISATION_MATCHES_ROLLENART","PERSONENKONTEXT_ANLAGE_ERROR","ROLLE_NUR_AN_PASSENDE_ORGANISATION"]},"code":{"type":"number","description":"Corresponds to HTTP Status code like 200, 404, 500"}},"required":["i18nKey","code"]},"PersonenkontextWorkflowResponse":{"type":"object","properties":{"organisations":{"description":"List of available organisations.","type":"array","items":{"$ref":"#/components/schemas/OrganisationResponseLegacy"}},"rollen":{"description":"List of available roles.","type":"array","items":{"$ref":"#/components/schemas/RolleResponse"}},"selectedOrganisation":{"type":"string","description":"Selected organisation.","nullable":true},"selectedRolle":{"type":"string","description":"Selected rolle.","nullable":true},"canCommit":{"type":"boolean","description":"Indicates whether the commit action can be performed."}},"required":["organisations","rollen","selectedOrganisation","selectedRolle","canCommit"]},"DbiamUpdatePersonenkontexteBodyParams":{"type":"object","properties":{"lastModified":{"format":"date-time","type":"string","nullable":true,"description":"Date of the most recent changed personenkontext"},"count":{"type":"number","nullable":false,"description":"The amount of personenkontexte"},"personenkontexte":{"nullable":false,"type":"array","items":{"$ref":"#/components/schemas/DbiamPersonenkontextBodyParams"}}},"required":["count","personenkontexte"]},"PersonenkontexteUpdateResponse":{"type":"object","properties":{"dBiamPersonenkontextResponses":{"type":"array","items":{"$ref":"#/components/schemas/DBiamPersonenkontextResponse"}}},"required":["dBiamPersonenkontextResponses"]},"DbiamPersonenkontexteUpdateError":{"type":"object","properties":{"i18nKey":{"type":"string","enum":["PERSONENKONTEXTE_UPDATE_ERROR","PERSONENKONTEXT_NOT_FOUND","COUNT_MISMATCHING","NEWER_VERSION_OF_PERSONENKONTEXTE_AVAILABLE","INVALID_LAST_MODIFIED_VALUE","PERSON_ID_MISMATCH","PERSON_NOT_FOUND"]},"code":{"type":"number","description":"Corresponds to HTTP Status code like 200, 404, 500"}},"required":["i18nKey","code"]},"FindSchulstrukturknotenResponse":{"type":"object","properties":{"moeglicheSsks":{"type":"array","items":{"$ref":"#/components/schemas/OrganisationResponseLegacy"}},"total":{"type":"number"}},"required":["moeglicheSsks","total"]},"DbiamCreatePersonWithContextBodyParams":{"type":"object","properties":{"familienname":{"type":"string"},"vorname":{"type":"string"},"organisationId":{"type":"string"},"rolleId":{"type":"string"}},"required":["familienname","vorname","organisationId","rolleId"]},"DBiamPersonResponse":{"type":"object","properties":{"person":{"$ref":"#/components/schemas/PersonResponse"},"DBiamPersonenkontextResponse":{"$ref":"#/components/schemas/DBiamPersonenkontextResponse"}},"required":["person","DBiamPersonenkontextResponse"]},"FindRollenResponse":{"type":"object","properties":{"moeglicheRollen":{"type":"array","items":{"$ref":"#/components/schemas/RolleResponse"}},"total":{"type":"number"}},"required":["moeglicheRollen","total"]},"TokenInitBodyParams":{"type":"object","properties":{"personId":{"type":"string"}},"required":["personId"]},"TokenStateResponse":{"type":"object","properties":{"hasToken":{"type":"boolean"},"tokenKind":{"type":"string"}},"required":["hasToken","tokenKind"]}}}} \ No newline at end of file +{"openapi":"3.0.0","paths":{"/api/auth/login":{"get":{"operationId":"AuthenticationController_login","summary":"Used to start OIDC authentication.","parameters":[{"required":false,"name":"redirectUrl","in":"query","schema":{"type":"string"}}],"responses":{"302":{"description":"Redirection to orchestrate OIDC flow."}},"tags":["auth"]}},"/api/auth/logout":{"get":{"operationId":"AuthenticationController_logout","summary":"Used to log out the current user.","parameters":[],"responses":{"302":{"description":"Redirect to logout."},"500":{"description":"Internal server error while trying to log out."}},"tags":["auth"],"security":[{"oauth2":["openid"]},{"bearer":[]}]}},"/api/auth/logininfo":{"get":{"operationId":"AuthenticationController_info","summary":"Info about logged in user.","parameters":[],"responses":{"200":{"description":"Returns info about the logged in user.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserinfoResponse"}}}},"401":{"description":"User is not logged in."}},"tags":["auth"],"security":[{"oauth2":["openid"]},{"bearer":[]}]}},"/api/auth/reset-password":{"get":{"operationId":"AuthenticationController_resetPassword","summary":"Redirect to Keycloak password reset.","parameters":[{"name":"redirectUrl","required":true,"in":"query","schema":{"type":"string"}},{"name":"login_hint","required":true,"in":"query","schema":{"type":"string"}}],"responses":{"302":{"description":"Redirect to Keycloak password reset page."}},"tags":["auth"]}},"/api/personen":{"post":{"operationId":"PersonController_createPerson","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreatePersonBodyParams"}}}},"responses":{"201":{"description":"The person was successfully created.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PersonendatensatzResponse"}}}},"400":{"description":"A username was given. Creation with username is not supported."},"401":{"description":"Not authorized to create the person."},"403":{"description":"Insufficient permissions to create the person."},"404":{"description":"Insufficient permissions to create the person."},"500":{"description":"Internal server error while creating the person."}},"tags":["personen"],"security":[{"oauth2":["openid"]},{"bearer":[]}]},"get":{"operationId":"PersonController_findPersons","parameters":[{"name":"offset","required":false,"in":"query","description":"The offset of the paginated list.","schema":{"type":"number"}},{"name":"limit","required":false,"in":"query","description":"The requested limit for the page size.","schema":{"type":"number"}},{"name":"referrer","required":false,"in":"query","schema":{"nullable":true,"type":"string"}},{"name":"familienname","required":false,"in":"query","schema":{"nullable":true,"type":"string"}},{"name":"vorname","required":false,"in":"query","schema":{"nullable":true,"type":"string"}},{"name":"sichtfreigabe","required":false,"in":"query","schema":{"nullable":true,"default":"nein","enum":["ja","nein"],"type":"string"}},{"name":"organisationIDs","required":false,"in":"query","description":"List of Organisation ID used to filter for Persons.","schema":{"type":"array","items":{"type":"string"}}},{"name":"rolleIDs","required":false,"in":"query","description":"List of Role ID used to filter for Persons.","schema":{"type":"array","items":{"type":"string"}}},{"name":"suchFilter","required":false,"in":"query","description":"Search filter used to filter for Persons. It could be the vorname, familienname, referrer or the personalnummer.","schema":{"nullable":true,"type":"string"}}],"responses":{"200":{"description":"The persons were successfully returned. WARNING: This endpoint returns all persons as default when no paging parameters were set.","headers":{"X-Paging-Offset":{"description":"The offset of the first item from the list. List starts with index 0."},"X-Paging-Limit":{"description":"The maximum amount of items returned in one request."},"X-Paging-Total":{"description":"The total amount of items in the list."}},"content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/PersonendatensatzResponse"}}}}},"401":{"description":"Not authorized to get persons."},"403":{"description":"Insufficient permissions to get persons."},"500":{"description":"Internal server error while getting all persons."}},"tags":["personen"],"security":[{"oauth2":["openid"]},{"bearer":[]}]}},"/api/personen/{personId}":{"delete":{"operationId":"PersonController_deletePersonById","parameters":[{"name":"personId","required":true,"in":"path","description":"The id for the account.","schema":{"nullable":false,"type":"string"}}],"responses":{"204":{"description":"The person and all their kontexte were successfully deleted."},"400":{"description":"Request has wrong format."},"401":{"description":"Request is not authorized."},"403":{"description":"Insufficient permissions to perform operation."},"404":{"description":"The person was not found."},"500":{"description":"An internal server error occurred."}},"tags":["personen"],"security":[{"oauth2":["openid"]},{"bearer":[]}]},"get":{"operationId":"PersonController_findPersonById","parameters":[{"name":"personId","required":true,"in":"path","description":"The id for the account.","schema":{"nullable":false,"type":"string"}}],"responses":{"200":{"description":"The person was successfully returned.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PersonendatensatzResponse"}}}},"400":{"description":"Person ID is required"},"401":{"description":"Not authorized to get the person."},"403":{"description":"Insufficient permissions to get the person."},"404":{"description":"The person does not exist or insufficient permissions."},"500":{"description":"Internal server error while getting the person."}},"tags":["personen"],"security":[{"oauth2":["openid"]},{"bearer":[]}]},"put":{"operationId":"PersonController_updatePerson","parameters":[{"name":"personId","required":true,"in":"path","description":"The id for the account.","schema":{"nullable":false,"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdatePersonBodyParams"}}}},"responses":{"200":{"description":"The person was successfully updated.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PersonendatensatzResponse"}}}},"400":{"description":"Request has wrong format."},"401":{"description":"Request is not authorized."},"403":{"description":"Insufficient permissions to perform operation."},"404":{"description":"The person was not found or insufficient permissions to update person."},"500":{"description":"An internal server error occurred."}},"tags":["personen"],"security":[{"oauth2":["openid"]},{"bearer":[]}]}},"/api/personen/{personId}/personenkontexte":{"post":{"operationId":"PersonController_createPersonenkontext","parameters":[{"name":"personId","required":true,"in":"path","description":"The id for the account.","schema":{"nullable":false,"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreatePersonenkontextBodyParams"}}}},"responses":{"200":{"description":"The personenkontext was successfully created."},"400":{"description":"The personenkontext already exists."},"401":{"description":"Not authorized to create the personenkontext."},"403":{"description":"Not permitted to create the personenkontext."},"404":{"description":"Insufficient permissions to create personenkontext for person."},"500":{"description":"Internal server error while creating the personenkontext."}},"tags":["personen"],"security":[{"oauth2":["openid"]},{"bearer":[]}]},"get":{"operationId":"PersonController_findPersonenkontexte","parameters":[{"name":"personId","required":true,"in":"path","description":"The id for the account.","schema":{"nullable":false,"type":"string"}},{"name":"offset","required":false,"in":"query","description":"The offset of the paginated list.","schema":{"type":"number"}},{"name":"limit","required":false,"in":"query","description":"The requested limit for the page size.","schema":{"type":"number"}},{"name":"personId","required":false,"in":"query","schema":{"nullable":true,"type":"string"}},{"name":"referrer","required":false,"in":"query","schema":{"nullable":true,"type":"string"}},{"name":"rolle","required":false,"in":"query","schema":{"$ref":"#/components/schemas/Rolle"}},{"name":"personenstatus","required":false,"in":"query","schema":{"$ref":"#/components/schemas/Personenstatus"}},{"name":"sichtfreigabe","required":false,"in":"query","schema":{"$ref":"#/components/schemas/Sichtfreigabe"}}],"responses":{"200":{"description":"The personenkontexte were successfully pulled.","headers":{"X-Paging-Offset":{"description":"The offset of the first item from the list. List starts with index 0."},"X-Paging-Limit":{"description":"The maximum amount of items returned in one request."},"X-Paging-Total":{"description":"The total amount of items in the list."}},"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/RawPagedResponse"},{"required":["items"],"properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/PersonenkontextResponse"}}}}]}}}},"401":{"description":"Not authorized to get personenkontexte."},"403":{"description":"Insufficient permissions to get personenkontexte."},"404":{"description":"No personenkontexte were found."},"500":{"description":"Internal server error while getting all personenkontexte."}},"tags":["personen"],"security":[{"oauth2":["openid"]},{"bearer":[]}]}},"/api/personen/{personId}/password":{"patch":{"operationId":"PersonController_resetPasswordByPersonId","parameters":[{"name":"personId","required":true,"in":"path","description":"The id for the account.","schema":{"nullable":false,"type":"string"}}],"responses":{"202":{"description":"Password for person was successfully reset.","content":{"application/json":{"schema":{"type":"string"}}}},"404":{"description":"The person does not exist or insufficient permissions to update person."},"500":{"description":"Internal server error."}},"tags":["personen"],"security":[{"oauth2":["openid"]},{"bearer":[]}]}},"/api/personen-frontend":{"get":{"operationId":"PersonFrontendController_findPersons","parameters":[{"name":"offset","required":false,"in":"query","description":"The offset of the paginated list.","schema":{"type":"number"}},{"name":"limit","required":false,"in":"query","description":"The requested limit for the page size.","schema":{"type":"number"}},{"name":"referrer","required":false,"in":"query","schema":{"nullable":true,"type":"string"}},{"name":"familienname","required":false,"in":"query","schema":{"nullable":true,"type":"string"}},{"name":"vorname","required":false,"in":"query","schema":{"nullable":true,"type":"string"}},{"name":"sichtfreigabe","required":false,"in":"query","schema":{"nullable":true,"default":"nein","enum":["ja","nein"],"type":"string"}},{"name":"organisationIDs","required":false,"in":"query","description":"List of Organisation ID used to filter for Persons.","schema":{"type":"array","items":{"type":"string"}}},{"name":"rolleIDs","required":false,"in":"query","description":"List of Role ID used to filter for Persons.","schema":{"type":"array","items":{"type":"string"}}},{"name":"suchFilter","required":false,"in":"query","description":"Search filter used to filter for Persons. It could be the vorname, familienname, referrer or the personalnummer.","schema":{"nullable":true,"type":"string"}}],"responses":{"200":{"description":"The persons were successfully returned. WARNING: This endpoint returns all persons as default when no paging parameters were set.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/RawPagedResponse"},{"required":["items"],"properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/PersonendatensatzResponse"}}}}]}}}},"401":{"description":"Not authorized to get persons."},"403":{"description":"Insufficient permissions to get persons."},"500":{"description":"Internal server error while getting all persons."}},"tags":["personen-frontend"],"security":[{"oauth2":["openid"]},{"bearer":[]}]}},"/api/dbiam/personenuebersicht":{"get":{"operationId":"DBiamPersonenuebersichtController_findPersonenuebersichten","parameters":[{"name":"offset","required":false,"in":"query","description":"The offset of the paginated list.","schema":{"type":"number"}},{"name":"limit","required":false,"in":"query","description":"The requested limit for the page size.","schema":{"type":"number"}}],"responses":{"200":{"description":"The personenuebersichten were successfully returned.","headers":{"X-Paging-Offset":{"description":"The offset of the first item from the list. List starts with index 0."},"X-Paging-Limit":{"description":"The maximum amount of items returned in one request."},"X-Paging-Total":{"description":"The total amount of items in the list."}},"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/RawPagedResponse"},{"required":["items"],"properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/DBiamPersonenuebersichtResponse"}}}}]}}}},"401":{"description":"Not authorized to get personenuebersichten."},"403":{"description":"Insufficient permission to get personenuebersichten."},"500":{"description":"Internal server error while getting personenuebersichten."}},"tags":["dbiam-personenuebersicht"],"security":[{"oauth2":["openid"]},{"bearer":[]}]}},"/api/dbiam/personenuebersicht/{personId}":{"get":{"operationId":"DBiamPersonenuebersichtController_findPersonenuebersichtenByPerson","parameters":[{"name":"personId","required":true,"in":"path","description":"The ID for the person.","schema":{"type":"string"}}],"responses":{"200":{"description":"The personenuebersichten were successfully returned.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DBiamPersonenuebersichtResponse"}}}},"401":{"description":"Not authorized to get personenuebersicht."},"403":{"description":"Insufficient permission to get personenuebersicht."},"500":{"description":"Internal server error while getting personenuebersicht."}},"tags":["dbiam-personenuebersicht"],"security":[{"oauth2":["openid"]},{"bearer":[]}]}},"/api/person-info":{"get":{"operationId":"PersonInfoController_info","summary":"Info about logged in person.","parameters":[],"responses":{"200":{"description":"Returns info about the person.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PersonInfoResponse"}}}},"401":{"description":"person is not logged in."}},"tags":["person-info"],"security":[{"oauth2":["openid"]},{"bearer":[]}]}},"/api/organisationen":{"post":{"operationId":"OrganisationController_createOrganisation","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateOrganisationBodyParams"}}}},"responses":{"201":{"description":"The organisation was successfully created.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrganisationResponse"}}}},"400":{"description":"The organisation already exists.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DbiamOrganisationError"}}}},"401":{"description":"Not authorized to create the organisation."},"403":{"description":"Not permitted to create the organisation."},"500":{"description":"Internal server error while creating the organisation."}},"tags":["organisationen"],"security":[{"oauth2":["openid"]},{"bearer":[]}]},"get":{"operationId":"OrganisationController_findOrganizations","parameters":[{"name":"offset","required":false,"in":"query","description":"The offset of the paginated list.","schema":{"type":"number"}},{"name":"limit","required":false,"in":"query","description":"The requested limit for the page size.","schema":{"type":"number"}},{"name":"kennung","required":false,"in":"query","schema":{"nullable":true,"type":"string"}},{"name":"name","required":false,"in":"query","schema":{"nullable":true,"type":"string"}},{"name":"searchString","required":false,"in":"query","schema":{"nullable":true,"type":"string"}},{"name":"typ","required":false,"in":"query","schema":{"$ref":"#/components/schemas/OrganisationsTyp"}},{"name":"systemrechte","required":false,"in":"query","schema":{"type":"array","items":{"$ref":"#/components/schemas/RollenSystemRecht"}}},{"name":"excludeTyp","required":false,"in":"query","schema":{"type":"array","items":{"$ref":"#/components/schemas/OrganisationsTyp"}}},{"name":"administriertVon","required":false,"in":"query","schema":{"type":"array","items":{"type":"string"}}}],"responses":{"200":{"description":"The organizations were successfully returned.","headers":{"X-Paging-Offset":{"description":"The offset of the first item from the list. List starts with index 0."},"X-Paging-Limit":{"description":"The maximum amount of items returned in one request."},"X-Paging-Total":{"description":"The total amount of items in the list."}},"content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/OrganisationResponse"}}}}},"401":{"description":"Not authorized to get organizations."},"403":{"description":"Insufficient permissions to get organizations."},"500":{"description":"Internal server error while getting all organizations."}},"tags":["organisationen"],"security":[{"oauth2":["openid"]},{"bearer":[]}]}},"/api/organisationen/{organisationId}":{"put":{"operationId":"OrganisationController_updateOrganisation","parameters":[{"name":"organisationId","required":true,"in":"path","description":"The id of an organization","schema":{"nullable":false,"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateOrganisationBodyParams"}}}},"responses":{"200":{"description":"The organisation was successfully updated.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrganisationResponse"}}}},"400":{"description":"Request has wrong format.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DbiamOrganisationError"}}}},"401":{"description":"Request is not authorized."},"403":{"description":"Insufficient permissions to perform operation."},"404":{"description":"The organisation was not found."},"500":{"description":"An internal server error occurred."}},"tags":["organisationen"],"security":[{"oauth2":["openid"]},{"bearer":[]}]},"get":{"operationId":"OrganisationController_findOrganisationById","parameters":[{"name":"organisationId","required":true,"in":"path","description":"The id of an organization","schema":{"nullable":false,"type":"string"}}],"responses":{"200":{"description":"The organization was successfully pulled.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrganisationResponse"}}}},"400":{"description":"Organization ID is required"},"401":{"description":"Not authorized to get the organization."},"403":{"description":"Insufficient permissions to get the organization."},"404":{"description":"The organization does not exist."},"500":{"description":"Internal server error while getting the organization."}},"tags":["organisationen"],"security":[{"oauth2":["openid"]},{"bearer":[]}]}},"/api/organisationen/root":{"get":{"operationId":"OrganisationController_getRootOrganisation","parameters":[],"responses":{"200":{"description":"The root organization was successfully retrieved.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrganisationResponse"}}}},"401":{"description":"Not authorized to get the root organization."},"403":{"description":"Insufficient permissions to get the root organization."},"404":{"description":"The root organization does not exist."},"500":{"description":"Internal server error while getting the root organization."}},"tags":["organisationen"],"security":[{"oauth2":["openid"]},{"bearer":[]}]}},"/api/organisationen/root/children":{"get":{"operationId":"OrganisationController_getRootChildren","parameters":[],"responses":{"200":{"description":"The root organizations were successfully pulled.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrganisationRootChildrenResponse"}}}},"401":{"description":"Not authorized to get the organizations."},"403":{"description":"Insufficient permissions to get the organizations."},"500":{"description":"Internal server error while getting the organization."}},"tags":["organisationen"],"security":[{"oauth2":["openid"]},{"bearer":[]}]}},"/api/organisationen/{organisationId}/administriert":{"get":{"operationId":"OrganisationController_getAdministrierteOrganisationen","parameters":[{"name":"organisationId","required":true,"in":"path","description":"The id of an organization","schema":{"nullable":false,"type":"string"}},{"name":"offset","required":false,"in":"query","description":"The offset of the paginated list.","schema":{"type":"number"}},{"name":"limit","required":false,"in":"query","description":"The requested limit for the page size.","schema":{"type":"number"}},{"name":"searchFilter","required":false,"in":"query","schema":{"nullable":true,"type":"string"}}],"responses":{"200":{"description":"The organizations were successfully returned.","headers":{"X-Paging-Offset":{"description":"The offset of the first item from the list. List starts with index 0."},"X-Paging-Limit":{"description":"The maximum amount of items returned in one request."},"X-Paging-Total":{"description":"The total amount of items in the list."}},"content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/OrganisationResponse"}}}}},"401":{"description":"Not authorized to get organizations."},"403":{"description":"Insufficient permissions to get organizations."},"500":{"description":"Internal server error while getting all organizations."}},"tags":["organisationen"],"security":[{"oauth2":["openid"]},{"bearer":[]}]},"post":{"operationId":"OrganisationController_addAdministrierteOrganisation","parameters":[{"name":"organisationId","required":true,"in":"path","description":"The id of an organization","schema":{"nullable":false,"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrganisationByIdBodyParams"}}}},"responses":{"201":{"description":"The organisation was successfully updated."},"400":{"description":"The organisation could not be modified.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DbiamOrganisationError"}}}},"401":{"description":"Not authorized to modify the organisation."},"403":{"description":"Not permitted to modify the organisation."},"500":{"description":"Internal server error while modifying the organisation."}},"tags":["organisationen"],"security":[{"oauth2":["openid"]},{"bearer":[]}]}},"/api/organisationen/{organisationId}/zugehoerig":{"get":{"operationId":"OrganisationController_getZugehoerigeOrganisationen","parameters":[{"name":"organisationId","required":true,"in":"path","description":"The id of an organization","schema":{"nullable":false,"type":"string"}}],"responses":{"200":{"description":"The organizations were successfully returned.","headers":{"X-Paging-Offset":{"description":"The offset of the first item from the list. List starts with index 0."},"X-Paging-Limit":{"description":"The maximum amount of items returned in one request."},"X-Paging-Total":{"description":"The total amount of items in the list."}},"content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/OrganisationResponse"}}}}},"401":{"description":"Not authorized to get organizations."},"403":{"description":"Insufficient permissions to get organizations."},"500":{"description":"Internal server error while getting all organizations."}},"tags":["organisationen"],"security":[{"oauth2":["openid"]},{"bearer":[]}]},"post":{"operationId":"OrganisationController_addZugehoerigeOrganisation","parameters":[{"name":"organisationId","required":true,"in":"path","description":"The id of an organization","schema":{"nullable":false,"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrganisationByIdBodyParams"}}}},"responses":{"201":{"description":"The organisation was successfully updated."},"400":{"description":"The organisation could not be modified.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DbiamOrganisationError"}}}},"401":{"description":"Not authorized to modify the organisation."},"403":{"description":"Not permitted to modify the organisation."},"500":{"description":"Internal server error while modifying the organisation."}},"tags":["organisationen"],"security":[{"oauth2":["openid"]},{"bearer":[]}]}},"/api/organisationen/{organisationId}/klasse":{"delete":{"operationId":"OrganisationController_deleteKlasse","summary":"","description":"Delete an organisation of type Klasse by id.","parameters":[{"name":"organisationId","required":true,"in":"path","description":"The id of an organization","schema":{"nullable":false,"type":"string"}}],"responses":{"204":{"description":"The organisation was deleted successfully."},"400":{"description":"The input was not valid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DbiamOrganisationError"}}}},"401":{"description":"Not authorized to delete the organisation."},"404":{"description":"The organisation that should be deleted does not exist."}},"tags":["organisationen"],"security":[{"oauth2":["openid"]},{"bearer":[]}]}},"/api/organisationen/{organisationId}/name":{"patch":{"operationId":"OrganisationController_updateOrganisationName","parameters":[{"name":"organisationId","required":true,"in":"path","description":"The id of an organization","schema":{"nullable":false,"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrganisationByNameBodyParams"}}}},"responses":{"200":{"description":"The organizations were successfully updated.","headers":{"X-Paging-Offset":{"description":"The offset of the first item from the list. List starts with index 0."},"X-Paging-Limit":{"description":"The maximum amount of items returned in one request."},"X-Paging-Total":{"description":"The total amount of items in the list."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrganisationResponseLegacy"}}}},"400":{"description":"The organisation could not be modified.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DbiamOrganisationError"}}}},"401":{"description":"Not authorized to modify the organisation."},"403":{"description":"Not permitted to modify the organisation."},"500":{"description":"Internal server error while modifying the organisation."}},"tags":["organisationen"],"security":[{"oauth2":["openid"]},{"bearer":[]}]}},"/api/rolle":{"get":{"operationId":"RolleController_findRollen","summary":"","description":"List all rollen.","parameters":[{"name":"offset","required":false,"in":"query","description":"The offset of the paginated list.","schema":{"type":"number"}},{"name":"limit","required":false,"in":"query","description":"The requested limit for the page size.","schema":{"type":"number"}},{"name":"searchStr","required":false,"in":"query","description":"The name for the role.","schema":{"nullable":false,"type":"string"}}],"responses":{"200":{"description":"The rollen were successfully returned","headers":{"X-Paging-Offset":{"description":"The offset of the first item from the list. List starts with index 0."},"X-Paging-Limit":{"description":"The maximum amount of items returned in one request."},"X-Paging-Total":{"description":"The total amount of items in the list."}},"content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/RolleWithServiceProvidersResponse"}}}}},"401":{"description":"Not authorized to get rollen."},"403":{"description":"Insufficient permissions to get rollen."},"500":{"description":"Internal server error while getting all rollen."}},"tags":["rolle"],"security":[{"oauth2":["openid"]},{"bearer":[]}]},"post":{"operationId":"RolleController_createRolle","summary":"","description":"Create a new rolle.","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateRolleBodyParams"}}}},"responses":{"201":{"description":"The rolle was successfully created.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RolleResponse"}}}},"400":{"description":"The input was not valid."},"401":{"description":"Not authorized to create the rolle."},"403":{"description":"Insufficient permissions to create the rolle."},"500":{"description":"Internal server error while creating the rolle."}},"tags":["rolle"],"security":[{"oauth2":["openid"]},{"bearer":[]}]}},"/api/rolle/{rolleId}":{"get":{"operationId":"RolleController_findRolleByIdWithServiceProviders","summary":"","description":"Get rolle by id.","parameters":[{"name":"rolleId","required":true,"in":"path","description":"The id for the rolle.","schema":{"nullable":false,"type":"string"}}],"responses":{"200":{"description":"The rolle was successfully returned.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RolleWithServiceProvidersResponse"}}}},"401":{"description":"Not authorized to get rolle by id."},"403":{"description":"Insufficient permission to get rolle by id."},"500":{"description":"Internal server error while getting rolle by id."}},"tags":["rolle"],"security":[{"oauth2":["openid"]},{"bearer":[]}]},"patch":{"operationId":"RolleController_addSystemRecht","summary":"","description":"Add systemrecht to a rolle.","parameters":[{"name":"rolleId","required":true,"in":"path","description":"The id for the rolle.","schema":{"nullable":false,"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AddSystemrechtBodyParams"}}}},"responses":{"200":{"description":"The systemrecht was successfully added to rolle."},"400":{"description":"The input was not valid."},"401":{"description":"Not authorized to create the rolle."},"403":{"description":"Insufficient permissions to create the rolle."},"500":{"description":"Internal server error while adding systemrecht to rolle."}},"tags":["rolle"],"security":[{"oauth2":["openid"]},{"bearer":[]}]},"put":{"operationId":"RolleController_updateRolle","summary":"","description":"Update rolle.","parameters":[{"name":"rolleId","required":true,"in":"path","description":"The id for the rolle.","schema":{"nullable":false,"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateRolleBodyParams"}}}},"responses":{"200":{"description":"The rolle was successfully updated.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RolleWithServiceProvidersResponse"}}}},"400":{"description":"The input was not valid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DbiamRolleError"}}}},"401":{"description":"Not authorized to update the rolle."},"403":{"description":"Insufficient permissions to update the rolle."},"500":{"description":"Internal server error while updating the rolle."}},"tags":["rolle"],"security":[{"oauth2":["openid"]},{"bearer":[]}]},"delete":{"operationId":"RolleController_deleteRolle","summary":"","description":"Delete a role by id.","parameters":[{"name":"rolleId","required":true,"in":"path","description":"The id for the rolle.","schema":{"nullable":false,"type":"string"}}],"responses":{"204":{"description":"Role was deleted successfully."},"400":{"description":"The input was not valid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DbiamRolleError"}}}},"401":{"description":"Not authorized to delete the role."},"404":{"description":"The rolle that should be deleted does not exist."}},"tags":["rolle"],"security":[{"oauth2":["openid"]},{"bearer":[]}]}},"/api/rolle/{rolleId}/serviceProviders":{"get":{"operationId":"RolleController_getRolleServiceProviderIds","summary":"","description":"Get service-providers for a rolle by its id.","parameters":[{"name":"rolleId","required":true,"in":"path","description":"The id for the rolle.","schema":{"nullable":false,"type":"string"}}],"responses":{"200":{"description":"Returns a list of service-provider ids.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RolleServiceProviderResponse"}}}},"401":{"description":"Not authorized to retrieve service-providers for rolle."},"404":{"description":"The rolle does not exist."}},"tags":["rolle"],"security":[{"oauth2":["openid"]},{"bearer":[]}]},"post":{"operationId":"RolleController_addServiceProviderById","summary":"","description":"Add a service-provider to a rolle by id.","parameters":[{"name":"rolleId","required":true,"in":"path","description":"The id for the rolle.","schema":{"nullable":false,"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RolleServiceProviderQueryParams"}}}},"responses":{"200":{"description":"Adding service-provider finished successfully.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceProviderResponse"}}}},"400":{"description":"The service-provider is already attached to rolle."},"401":{"description":"Not authorized to retrieve service-providers for rolle."},"404":{"description":"The rolle or the service-provider to add does not exist."},"500":{"description":"Internal server error, the service-provider may could not be found after attaching to rolle."}},"tags":["rolle"],"security":[{"oauth2":["openid"]},{"bearer":[]}]},"delete":{"operationId":"RolleController_removeServiceProviderById","summary":"","description":"Remove a service-provider from a rolle by id.","parameters":[{"name":"rolleId","required":true,"in":"path","description":"The id for the rolle.","schema":{"nullable":false,"type":"string"}},{"name":"serviceProviderId","required":true,"in":"query","description":"The id for the rolle.","schema":{"nullable":false,"type":"string"}}],"responses":{"200":{"description":"Removing service-provider finished successfully."},"401":{"description":"Not authorized to retrieve service-providers for rolle."},"404":{"description":"The rolle or the service-provider that should be removed does not exist."}},"tags":["rolle"],"security":[{"oauth2":["openid"]},{"bearer":[]}]}},"/api/provider/all":{"get":{"operationId":"ProviderController_getAllServiceProviders","summary":"","description":"Get all service-providers.","parameters":[],"responses":{"200":{"description":"The service-providers were successfully returned.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ServiceProviderResponse"}}}}},"401":{"description":"Not authorized to get available service providers."},"403":{"description":"Insufficient permissions to get service-providers."},"500":{"description":"Internal server error while getting all service-providers."}},"tags":["provider"],"security":[{"bearer":[]},{"oauth2":["openid"]}]}},"/api/provider":{"get":{"operationId":"ProviderController_getAvailableServiceProviders","summary":"","description":"Get service-providers available for logged-in user.","parameters":[],"responses":{"200":{"description":"The service-providers were successfully returned.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ServiceProviderResponse"}}}}},"401":{"description":"Not authorized to get available service providers."},"403":{"description":"Insufficient permissions to get service-providers."},"500":{"description":"Internal server error while getting all service-providers."}},"tags":["provider"],"security":[{"bearer":[]},{"oauth2":["openid"]}]}},"/api/provider/{angebotId}/logo":{"get":{"operationId":"ProviderController_getServiceProviderLogo","parameters":[{"name":"angebotId","required":true,"in":"path","description":"The id of the service provider","schema":{"nullable":false,"type":"string"}}],"responses":{"200":{"description":"The logo for the service provider was successfully returned.","content":{"image/*":{"schema":{"type":"file","format":"binary"}}}},"400":{"description":"Angebot ID is required."},"401":{"description":"Not authorized to get service provider logo."},"403":{"description":"Insufficient permissions to get the logo."},"404":{"description":"The service-provider does not exist or has no logo."},"500":{"description":"Internal server error while getting the logo."}},"tags":["provider"],"security":[{"bearer":[]},{"oauth2":["openid"]}]}},"/api/personenkontexte/{personenkontextId}":{"get":{"operationId":"PersonenkontextController_findPersonenkontextById","parameters":[{"name":"personenkontextId","required":true,"in":"path","description":"The id for the personenkontext.","schema":{"nullable":false,"type":"string"}}],"responses":{"200":{"description":"The personenkontext was successfully returned.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PersonendatensatzResponseAutomapper"}}}},"400":{"description":"Request has wrong format."},"401":{"description":"Request is not authorized."},"403":{"description":"Insufficient permissions to perform operation."},"404":{"description":"The personenkontext was not found."},"500":{"description":"An internal server error occurred."}},"tags":["personenkontexte"],"security":[{"oauth2":["openid"]},{"bearer":[]}]},"put":{"operationId":"PersonenkontextController_updatePersonenkontextWithId","parameters":[{"name":"personenkontextId","required":true,"in":"path","description":"The id for the personenkontext.","schema":{"nullable":false,"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdatePersonenkontextBodyParams"}}}},"responses":{"200":{"description":"The personenkontext was successfully updated.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PersonenkontextResponse"}}}},"400":{"description":"Request has wrong format."},"401":{"description":"Request is not authorized."},"403":{"description":"Insufficient permissions to perform operation."},"404":{"description":"The personenkontext was not found."},"500":{"description":"An internal server error occurred."}},"tags":["personenkontexte"],"security":[{"oauth2":["openid"]},{"bearer":[]}]},"delete":{"operationId":"PersonenkontextController_deletePersonenkontextById","parameters":[{"name":"personenkontextId","required":true,"in":"path","description":"The id for the personenkontext.","schema":{"nullable":false,"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DeleteRevisionBodyParams"}}}},"responses":{"204":{"description":"The personenkontext was successfully deleted."},"400":{"description":"Request has wrong format."},"401":{"description":"Request is not authorized."},"403":{"description":"Insufficient permissions to perform operation."},"404":{"description":"The personenkontext was not found."},"500":{"description":"An internal server error occurred."}},"tags":["personenkontexte"],"security":[{"oauth2":["openid"]},{"bearer":[]}]}},"/api/personenkontexte":{"get":{"operationId":"PersonenkontextController_findPersonenkontexte","parameters":[{"name":"offset","required":false,"in":"query","description":"The offset of the paginated list.","schema":{"type":"number"}},{"name":"limit","required":false,"in":"query","description":"The requested limit for the page size.","schema":{"type":"number"}},{"name":"personId","required":false,"in":"query","schema":{"nullable":true,"type":"string"}},{"name":"referrer","required":false,"in":"query","schema":{"nullable":true,"type":"string"}},{"name":"rolle","required":false,"in":"query","schema":{"$ref":"#/components/schemas/Rolle"}},{"name":"personenstatus","required":false,"in":"query","schema":{"$ref":"#/components/schemas/Personenstatus"}},{"name":"sichtfreigabe","required":false,"in":"query","schema":{"$ref":"#/components/schemas/Sichtfreigabe"}}],"responses":{"200":{"description":"The personenkontexte were successfully returned.","headers":{"X-Paging-Offset":{"description":"The offset of the first item from the list. List starts with index 0."},"X-Paging-Limit":{"description":"The maximum amount of items returned in one request."},"X-Paging-Total":{"description":"The total amount of items in the list."}},"content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/PersonenkontextdatensatzResponse"}}}}},"400":{"description":"Request has wrong format."},"401":{"description":"Request is not authorized."},"403":{"description":"Insufficient permissions to perform operation."},"404":{"description":"The personenkontexte were not found."},"500":{"description":"An internal server error occurred."}},"tags":["personenkontexte"],"security":[{"oauth2":["openid"]},{"bearer":[]}]}},"/api/personenkontexte/{personId}/hatSystemrecht":{"get":{"operationId":"PersonenkontextController_hatSystemRecht","parameters":[{"name":"personId","required":true,"in":"path","description":"The id for the account.","schema":{"nullable":false,"type":"string"}},{"name":"systemRecht","required":true,"in":"query","schema":{"$ref":"#/components/schemas/RollenSystemRecht"}}],"responses":{"200":{"description":"The SchulStrukturKnoten associated with this personId and systemrecht. Can return empty list","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SystemrechtResponse"}}}},"404":{"description":"The systemrecht could not be found (does not exist as type of systemrecht)."}},"tags":["personenkontexte"],"security":[{"oauth2":["openid"]},{"bearer":[]}]}},"/api/dbiam/personenkontext/{personId}":{"get":{"operationId":"DBiamPersonenkontextController_findPersonenkontextsByPerson","parameters":[{"name":"personId","required":true,"in":"path","description":"The ID for the person.","schema":{"type":"string"}}],"responses":{"200":{"description":"The personenkontexte were successfully returned.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/DBiamPersonenkontextResponse"}}}}},"401":{"description":"Not authorized to get available personenkontexte."},"403":{"description":"Insufficient permission to get personenkontexte for this user."},"500":{"description":"Internal server error while getting personenkontexte."}},"tags":["dbiam-personenkontexte"],"security":[{"oauth2":["openid"]},{"bearer":[]}]}},"/api/dbiam/personenkontext":{"post":{"operationId":"DBiamPersonenkontextController_createPersonenkontext","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DbiamPersonenkontextBodyParams"}}}},"responses":{"201":{"description":"Personenkontext was successfully created.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DBiamPersonenkontextResponse"}}}},"400":{"description":"The personenkontext could not be created, may due to unsatisfied specifications.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DbiamPersonenkontextError"}}}},"401":{"description":"Not authorized to create personenkontext."},"403":{"description":"Insufficient permission to create personenkontext."},"500":{"description":"Internal server error while creating personenkontext."}},"tags":["dbiam-personenkontexte"],"security":[{"oauth2":["openid"]},{"bearer":[]}]}},"/api/personenkontext-workflow/step":{"get":{"operationId":"DbiamPersonenkontextWorkflowController_processStep","parameters":[{"name":"organisationId","required":false,"in":"query","description":"ID of the organisation to filter the rollen later","schema":{"nullable":true,"type":"string"}},{"name":"rolleId","required":false,"in":"query","description":"ID of the rolle.","schema":{"nullable":true,"type":"string"}},{"name":"rolleName","required":false,"in":"query","description":"Rolle name used to filter for rollen in personenkontext.","schema":{"nullable":true,"type":"string"}},{"name":"organisationName","required":false,"in":"query","description":"Organisation/SSK name used to filter for schulstrukturknoten in personenkontext.","schema":{"nullable":true,"type":"string"}},{"name":"limit","required":false,"in":"query","description":"The limit of items for the request.","schema":{"nullable":false,"type":"number"}}],"responses":{"200":{"description":"Initialize or process data from the person creation form.\n Valid combinations:\n - Both organisationId and rolleId are undefined: Fetch all possible organisations.\n - organisationId is provided, but rolleId is undefined: Fetch Rollen for the given organisation.\n - Both organisationId and rolleId are provided: Check if the Rolle can be committed for the organisation.\n Note: Providing rolleId without organisationId is invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PersonenkontextWorkflowResponse"}}}},"401":{"description":"Not authorized to get available data for personenkontext."},"403":{"description":"Insufficient permission to get data for personenkontext."},"500":{"description":"Internal server error while getting data for personenkontext."}},"tags":["personenkontext"],"security":[{"oauth2":["openid"]},{"bearer":[]}]}},"/api/personenkontext-workflow/{personId}":{"put":{"operationId":"DbiamPersonenkontextWorkflowController_commit","parameters":[{"name":"personId","required":true,"in":"path","description":"The ID for the person.","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DbiamUpdatePersonenkontexteBodyParams"}}}},"responses":{"200":{"description":"Add or remove personenkontexte as one operation. Returns the Personenkontexte existing after update.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PersonenkontexteUpdateResponse"}}}},"400":{"description":"The personenkontexte could not be updated, may due to unsatisfied specifications.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DbiamPersonenkontexteUpdateError"}}}},"401":{"description":"Not authorized to update personenkontexte."},"403":{"description":"Insufficient permission to update personenkontexte."},"409":{"description":"Changes are conflicting with current state of personenkontexte."},"500":{"description":"Internal server error while updating personenkontexte."}},"tags":["personenkontext"],"security":[{"oauth2":["openid"]},{"bearer":[]}]}},"/api/personenkontext-workflow/schulstrukturknoten":{"get":{"operationId":"DbiamPersonenkontextWorkflowController_findSchulstrukturknoten","parameters":[{"name":"rolleId","required":true,"in":"query","description":"RolleId used to filter for schulstrukturknoten in personenkontext.","schema":{"nullable":false,"type":"string"}},{"name":"sskName","required":false,"in":"query","description":"Organisation/SSK name used to filter for schulstrukturknoten in personenkontext.","schema":{"nullable":true,"type":"string"}},{"name":"limit","required":false,"in":"query","description":"The limit of items for the request.","schema":{"nullable":false,"type":"number"}}],"responses":{"200":{"description":"The schulstrukturknoten for a personenkontext were successfully returned.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FindSchulstrukturknotenResponse"}}}},"401":{"description":"Not authorized to get available schulstrukturknoten for personenkontexte."},"403":{"description":"Insufficient permission to get schulstrukturknoten for personenkontext."},"500":{"description":"Internal server error while getting schulstrukturknoten for personenkontexte."}},"tags":["personenkontext"],"security":[{"oauth2":["openid"]},{"bearer":[]}]}},"/api/personenkontext-workflow":{"post":{"operationId":"DbiamPersonenkontextWorkflowController_createPersonWithKontext","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DbiamCreatePersonWithContextBodyParams"}}}},"responses":{"201":{"description":"Person with Personenkontext was successfully created.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DBiamPersonResponse"}}}},"400":{"description":"The person and the personenkontext could not be created, may due to unsatisfied specifications.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DbiamPersonenkontextError"}}}},"401":{"description":"Not authorized to create person with personenkontext."},"403":{"description":"Insufficient permission to create person with personenkontext."},"500":{"description":"Internal server error while creating person with personenkontext."}},"tags":["personenkontext"],"security":[{"oauth2":["openid"]},{"bearer":[]}]}},"/api/person-administration/rollen":{"get":{"operationId":"PersonAdministrationController_findRollen","parameters":[{"name":"rolleName","required":false,"in":"query","description":"Rolle name used to filter for rollen in personenkontext.","schema":{"nullable":false,"type":"string"}},{"name":"limit","required":false,"in":"query","description":"The limit of items for the request.","schema":{"nullable":false,"type":"number"}}],"responses":{"200":{"description":"The rollen for the logged-in user were successfully returned.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FindRollenResponse"}}}},"401":{"description":"Not authorized to get available rollen for the logged-in user."},"403":{"description":"Insufficient permission to get rollen for the logged-in user."},"500":{"description":"Internal server error while getting rollen for the logged-in user."}},"tags":["person-administration"],"security":[{"oauth2":["openid"]},{"bearer":[]}]}},"/api/2fa-token/init":{"post":{"operationId":"PrivacyIdeaAdministrationController_initializeSoftwareToken","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TokenInitBodyParams"}}}},"responses":{"201":{"description":"The token was successfully created.","content":{"application/json":{"schema":{"type":"string"}}}},"400":{"description":"A username was not given or not found."},"401":{"description":"Not authorized to create token."},"403":{"description":"Insufficient permissions to create token."},"404":{"description":"Insufficient permissions to create token."},"500":{"description":"Internal server error while creating a token."}},"tags":["2FA"],"security":[{"oauth2":["openid"]},{"bearer":[]}]}},"/api/2fa-token/state":{"get":{"operationId":"PrivacyIdeaAdministrationController_getTwoAuthState","parameters":[{"name":"personId","required":true,"in":"query","schema":{"type":"string"}}],"responses":{"201":{"description":"The token was successfully created.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TokenStateResponse"}}}},"400":{"description":"A username was not given or not found."},"401":{"description":"Not authorized to create token."},"403":{"description":"Insufficient permissions to create token."},"404":{"description":"Insufficient permissions to create token."},"500":{"description":"Internal server error while creating a token."}},"tags":["2FA"],"security":[{"oauth2":["openid"]},{"bearer":[]}]}}},"info":{"title":"dBildungs IAM","description":"The dBildungs IAM server API description","version":"1.0","contact":{}},"tags":[],"servers":[],"components":{"securitySchemes":{"oauth2":{"type":"oauth2","flows":{"authorizationCode":{"authorizationUrl":"http://localhost:8080/realms/SPSH/protocol/openid-connect/auth","tokenUrl":"http://localhost:8080/realms/SPSH/protocol/openid-connect/token","refreshUrl":"http://localhost:8080/realms/SPSH/protocol/openid-connect/token","scopes":{}}}},"bearer":{"scheme":"bearer","bearerFormat":"JWT","type":"http"}},"schemas":{"RollenSystemRechtServiceProviderIDResponse":{"type":"object","properties":{"systemrechte":{"type":"array","items":{"type":"string"}},"serviceProviderIds":{"type":"array","items":{"type":"string"}}},"required":["systemrechte","serviceProviderIds"]},"PersonenkontextRolleFieldsResponse":{"type":"object","properties":{"organisationsId":{"type":"string"},"rolle":{"$ref":"#/components/schemas/RollenSystemRechtServiceProviderIDResponse"}},"required":["organisationsId","rolle"]},"UserinfoResponse":{"type":"object","properties":{"sub":{"type":"string"},"personId":{"type":"string","nullable":true},"name":{"type":"string","nullable":true},"given_name":{"type":"string","nullable":true},"family_name":{"type":"string","nullable":true},"middle_name":{"type":"string","nullable":true},"nickname":{"type":"string","nullable":true},"preferred_username":{"type":"string","nullable":true},"profile":{"type":"string","nullable":true},"picture":{"type":"string","nullable":true},"website":{"type":"string","nullable":true},"email":{"type":"string","nullable":true},"email_verified":{"type":"boolean","nullable":true},"gender":{"type":"string","nullable":true},"birthdate":{"type":"string","nullable":true},"zoneinfo":{"type":"string","nullable":true},"locale":{"type":"string","nullable":true},"phone_number":{"type":"string","nullable":true},"updated_at":{"type":"number","nullable":true},"personenkontexte":{"type":"array","items":{"$ref":"#/components/schemas/PersonenkontextRolleFieldsResponse"}}},"required":["sub","personId","name","given_name","family_name","middle_name","nickname","preferred_username","profile","picture","website","email","email_verified","gender","birthdate","zoneinfo","locale","phone_number","updated_at","personenkontexte"]},"PersonNameParams":{"type":"object","properties":{"familienname":{"type":"string"},"vorname":{"type":"string"},"initialenfamilienname":{"type":"string"},"initialenvorname":{"type":"string"},"rufname":{"type":"string"},"titel":{"type":"string"},"anrede":{"type":"array","items":{"type":"string"}},"namenssuffix":{"type":"array","items":{"type":"string"}},"namenspraefix":{"type":"array","items":{"type":"string"}},"sortierindex":{"type":"string"}},"required":["familienname","vorname"]},"PersonBirthParams":{"type":"object","properties":{"datum":{"format":"date-time","type":"string"},"geburtsort":{"type":"string"}}},"Geschlecht":{"type":"string","enum":["m","w","d","x"]},"Vertrauensstufe":{"type":"string","enum":["KEIN","UNBE","TEIL","VOLL"]},"CreatePersonBodyParams":{"type":"object","properties":{"email":{"type":"string"},"referrer":{"type":"string"},"stammorganisation":{"type":"string"},"name":{"$ref":"#/components/schemas/PersonNameParams"},"geburt":{"$ref":"#/components/schemas/PersonBirthParams"},"geschlecht":{"$ref":"#/components/schemas/Geschlecht"},"lokalisierung":{"type":"string"},"vertrauensstufe":{"$ref":"#/components/schemas/Vertrauensstufe"},"auskunftssperre":{"type":"boolean"},"hashedPassword":{"type":"string"},"username":{"type":"string"},"personalnummer":{"type":"string"}},"required":["name"]},"PersonResponse":{"type":"object","properties":{"id":{"type":"string"},"referrer":{"type":"string","nullable":true},"mandant":{"type":"string"},"name":{"$ref":"#/components/schemas/PersonNameParams"},"geburt":{"nullable":true,"allOf":[{"$ref":"#/components/schemas/PersonBirthParams"}]},"stammorganisation":{"type":"string","nullable":true},"geschlecht":{"type":"string","nullable":true},"lokalisierung":{"type":"string","nullable":true},"vertrauensstufe":{"nullable":true,"$ref":"#/components/schemas/Vertrauensstufe"},"revision":{"type":"string"},"startpasswort":{"type":"string","description":"Initiales Benutzerpasswort, muss nach der ersten Anmeldung geändert werden"},"personalnummer":{"type":"string","nullable":true}},"required":["id","referrer","mandant","name","geburt","stammorganisation","geschlecht","lokalisierung","vertrauensstufe","revision","startpasswort","personalnummer"]},"PersonendatensatzResponse":{"type":"object","properties":{"person":{"$ref":"#/components/schemas/PersonResponse"}},"required":["person"]},"Rolle":{"type":"string","enum":["LERN","LEHR","EXTERN","ORGADMIN","LEIT","SYSADMIN"]},"Personenstatus":{"type":"string","description":"The new personenstatus of the personenkontext.","enum":["AKTIV"]},"Jahrgangsstufe":{"type":"string","description":"The new jahrgangsstufe of the personenkontext.","enum":["01","02","03","04","05","06","07","08","09","10"]},"CreatePersonenkontextBodyParams":{"type":"object","properties":{"referrer":{"type":"string"},"rolle":{"$ref":"#/components/schemas/Rolle"},"personenstatus":{"$ref":"#/components/schemas/Personenstatus"},"jahrgangsstufe":{"$ref":"#/components/schemas/Jahrgangsstufe"}},"required":["rolle"]},"RawPagedResponse":{"type":"object","properties":{"total":{"type":"number"},"offset":{"type":"number"},"limit":{"type":"number"},"items":{"type":"array","items":{"type":"string"}}},"required":["total","offset","limit","items"]},"CreatedPersonenkontextOrganisation":{"type":"object","properties":{}},"LoeschungResponse":{"type":"object","properties":{"zeitpunkt":{"format":"date-time","type":"string"}},"required":["zeitpunkt"]},"PersonenkontextResponse":{"type":"object","properties":{"id":{"type":"string"},"referrer":{"type":"string","nullable":true},"mandant":{"type":"string"},"organisation":{"$ref":"#/components/schemas/CreatedPersonenkontextOrganisation"},"roleName":{"type":"string","nullable":true},"personenstatus":{"type":"string","enum":["AKTIV"],"nullable":true},"jahrgangsstufe":{"type":"string","enum":["01","02","03","04","05","06","07","08","09","10"],"nullable":true},"sichtfreigabe":{"type":"string","enum":["ja","nein"],"nullable":true},"loeschung":{"nullable":true,"allOf":[{"$ref":"#/components/schemas/LoeschungResponse"}]},"revision":{"type":"string"}},"required":["id","referrer","mandant","organisation","roleName","personenstatus","jahrgangsstufe","sichtfreigabe","loeschung","revision"]},"Sichtfreigabe":{"type":"string","enum":["ja","nein"]},"UpdatePersonBodyParams":{"type":"object","properties":{"referrer":{"type":"string"},"stammorganisation":{"type":"string"},"name":{"$ref":"#/components/schemas/PersonNameParams"},"geburt":{"$ref":"#/components/schemas/PersonBirthParams"},"geschlecht":{"$ref":"#/components/schemas/Geschlecht"},"lokalisierung":{"type":"string"},"vertrauensstufe":{"$ref":"#/components/schemas/Vertrauensstufe"},"auskunftssperre":{"type":"boolean"},"revision":{"type":"string"}},"required":["name","revision"]},"OrganisationsTyp":{"type":"string","enum":["ROOT","LAND","TRAEGER","SCHULE","KLASSE","ANBIETER","SONSTIGE ORGANISATION / EINRICHTUNG","UNBESTAETIGT"]},"DBiamPersonenzuordnungResponse":{"type":"object","properties":{"sskId":{"type":"string"},"rolleId":{"type":"string"},"sskName":{"type":"string"},"sskDstNr":{"type":"string"},"rolle":{"type":"string"},"administriertVon":{"type":"string"},"typ":{"nullable":true,"$ref":"#/components/schemas/OrganisationsTyp"},"editable":{"type":"boolean"}},"required":["sskId","rolleId","sskName","sskDstNr","rolle","administriertVon","typ","editable"]},"DBiamPersonenuebersichtResponse":{"type":"object","properties":{"personId":{"type":"string"},"vorname":{"type":"string"},"nachname":{"type":"string"},"benutzername":{"type":"string"},"lastModifiedZuordnungen":{"format":"date-time","type":"string","nullable":true,"description":"Date of the most recent changed personenkontext in the Zuordnungen"},"zuordnungen":{"type":"array","items":{"$ref":"#/components/schemas/DBiamPersonenzuordnungResponse"}}},"required":["personId","vorname","nachname","benutzername","lastModifiedZuordnungen","zuordnungen"]},"PersonNameResponse":{"type":"object","properties":{"familiennamen":{"type":"string"},"vorname":{"type":"string"},"initialenfamilienname":{"type":"string","nullable":true},"initialenvorname":{"type":"string","nullable":true},"rufname":{"type":"string","nullable":true},"titel":{"type":"string","nullable":true},"anrede":{"nullable":true,"type":"array","items":{"type":"string"}},"namenspraefix":{"nullable":true,"type":"array","items":{"type":"string"}},"namenssuffix":{"nullable":true,"type":"array","items":{"type":"string"}},"sortierindex":{"type":"string","nullable":true}},"required":["familiennamen","vorname","initialenfamilienname","initialenvorname","rufname","titel","anrede","namenspraefix","namenssuffix","sortierindex"]},"PersonBirthResponse":{"type":"object","properties":{"datum":{"format":"date-time","type":"string","nullable":true},"geburtsort":{"type":"string","nullable":true}},"required":["datum","geburtsort"]},"Person":{"type":"object","properties":{"id":{"type":"string"},"referrer":{"type":"string","nullable":true},"mandant":{"type":"string"},"name":{"$ref":"#/components/schemas/PersonNameResponse"},"geburt":{"nullable":true,"allOf":[{"$ref":"#/components/schemas/PersonBirthResponse"}]},"stammorganisation":{"type":"string","nullable":true},"geschlecht":{"type":"string","nullable":true},"lokalisierung":{"type":"string","nullable":true},"vertrauensstufe":{"nullable":true,"$ref":"#/components/schemas/Vertrauensstufe"},"revision":{"type":"string"},"personalnummer":{"type":"string","nullable":true}},"required":["id","referrer","mandant","name","geburt","stammorganisation","geschlecht","lokalisierung","vertrauensstufe","revision","personalnummer"]},"PersonInfoResponse":{"type":"object","properties":{"pid":{"type":"string"},"person":{"$ref":"#/components/schemas/Person"},"personenkontexte":{"type":"array","items":{"$ref":"#/components/schemas/PersonenkontextResponse"}},"gruppen":{"type":"array","items":{"type":"string"}}},"required":["pid","person","personenkontexte","gruppen"]},"TraegerschaftTyp":{"type":"string","enum":["01","02","03","04","05","06"]},"CreateOrganisationBodyParams":{"type":"object","properties":{"administriertVon":{"type":"string"},"zugehoerigZu":{"type":"string"},"kennung":{"type":"string","description":"Required, if `typ` is equal to `SCHULE`"},"name":{"type":"string"},"namensergaenzung":{"type":"string"},"kuerzel":{"type":"string"},"typ":{"$ref":"#/components/schemas/OrganisationsTyp"},"traegerschaft":{"$ref":"#/components/schemas/TraegerschaftTyp"}},"required":["name","typ"]},"OrganisationResponse":{"type":"object","properties":{"id":{"type":"string"},"administriertVon":{"type":"string","nullable":true},"kennung":{"type":"string","nullable":true},"name":{"type":"string"},"namensergaenzung":{"type":"string","nullable":true},"kuerzel":{"type":"string"},"typ":{"$ref":"#/components/schemas/OrganisationsTyp"},"traegerschaft":{"$ref":"#/components/schemas/TraegerschaftTyp"}},"required":["id","administriertVon","kennung","name","namensergaenzung","kuerzel","typ","traegerschaft"]},"DbiamOrganisationError":{"type":"object","properties":{"i18nKey":{"type":"string","enum":["ORGANISATION_SPECIFICATION_ERROR","KENNUNG_REQUIRED_FOR_SCHULE","NAME_REQUIRED_FOR_SCHULE","SCHULE_KENNUNG_EINDEUTIG","SCHULE_UNTER_TRAEGER","TRAEGER_IN_TRAEGER","NUR_KLASSE_UNTER_SCHULE","ZYKLUS_IN_ORGANISATION","ROOT_ORGANISATION_IMMUTABLE","KLASSE_NUR_VON_SCHULE_ADMINISTRIERT","KLASSENNAME_AN_SCHULE_EINDEUTIG","ORGANISATION_IST_BEREITS_ZUGEWIESEN_ERROR","NAME_REQUIRED_FOR_KLASSE","NAME_ENTHAELT_LEERZEICHEN","KENNUNG_ENTHAELT_LEERZEICHEN"]},"code":{"type":"number","description":"Corresponds to HTTP Status code like 200, 404, 500"}},"required":["i18nKey","code"]},"UpdateOrganisationBodyParams":{"type":"object","properties":{"administriertVon":{"type":"string"},"zugehoerigZu":{"type":"string"},"kennung":{"type":"string","description":"Required, if `typ` is equal to `SCHULE`"},"name":{"type":"string"},"namensergaenzung":{"type":"string"},"kuerzel":{"type":"string"},"typ":{"$ref":"#/components/schemas/OrganisationsTyp"},"traegerschaft":{"$ref":"#/components/schemas/TraegerschaftTyp"}},"required":["name","typ"]},"OrganisationRootChildrenResponse":{"type":"object","properties":{"oeffentlich":{"$ref":"#/components/schemas/OrganisationResponse"},"ersatz":{"$ref":"#/components/schemas/OrganisationResponse"}},"required":["oeffentlich","ersatz"]},"RollenSystemRecht":{"type":"string","enum":["ROLLEN_VERWALTEN","PERSONEN_SOFORT_LOESCHEN","PERSONEN_VERWALTEN","SCHULEN_VERWALTEN","KLASSEN_VERWALTEN","SCHULTRAEGER_VERWALTEN","MIGRATION_DURCHFUEHREN"]},"OrganisationByIdBodyParams":{"type":"object","properties":{"organisationId":{"type":"string","description":"The id of an organization","nullable":false}},"required":["organisationId"]},"OrganisationByNameBodyParams":{"type":"object","properties":{"name":{"type":"string"}},"required":["name"]},"OrganisationResponseLegacy":{"type":"object","properties":{"id":{"type":"string"},"administriertVon":{"type":"string","nullable":true},"kennung":{"type":"string","nullable":true},"name":{"type":"string"},"namensergaenzung":{"type":"string","nullable":true},"kuerzel":{"type":"string"},"typ":{"$ref":"#/components/schemas/OrganisationsTyp"}},"required":["id","administriertVon","kennung","name","namensergaenzung","kuerzel","typ"]},"RollenArt":{"type":"string","enum":["LERN","LEHR","EXTERN","ORGADMIN","LEIT","SYSADMIN"]},"RollenMerkmal":{"type":"string","enum":["BEFRISTUNG_PFLICHT","KOPERS_PFLICHT"]},"ServiceProviderIdNameResponse":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"}},"required":["id","name"]},"RolleWithServiceProvidersResponse":{"type":"object","properties":{"id":{"type":"string"},"createdAt":{"format":"date-time","type":"string"},"updatedAt":{"format":"date-time","type":"string"},"name":{"type":"string"},"administeredBySchulstrukturknoten":{"type":"string"},"rollenart":{"$ref":"#/components/schemas/RollenArt"},"merkmale":{"type":"array","uniqueItems":true,"items":{"$ref":"#/components/schemas/RollenMerkmal"}},"systemrechte":{"type":"array","uniqueItems":true,"items":{"$ref":"#/components/schemas/RollenSystemRecht"}},"serviceProviders":{"type":"array","items":{"$ref":"#/components/schemas/ServiceProviderIdNameResponse"}}},"required":["id","createdAt","updatedAt","name","administeredBySchulstrukturknoten","rollenart","merkmale","systemrechte","serviceProviders"]},"CreateRolleBodyParams":{"type":"object","properties":{"name":{"type":"string"},"administeredBySchulstrukturknoten":{"type":"string"},"rollenart":{"$ref":"#/components/schemas/RollenArt"},"merkmale":{"type":"array","uniqueItems":true,"items":{"$ref":"#/components/schemas/RollenMerkmal"}},"systemrechte":{"type":"array","uniqueItems":true,"items":{"$ref":"#/components/schemas/RollenSystemRecht"}}},"required":["name","administeredBySchulstrukturknoten","rollenart","merkmale","systemrechte"]},"RolleResponse":{"type":"object","properties":{"id":{"type":"string"},"createdAt":{"format":"date-time","type":"string"},"updatedAt":{"format":"date-time","type":"string"},"name":{"type":"string"},"administeredBySchulstrukturknoten":{"type":"string"},"rollenart":{"$ref":"#/components/schemas/RollenArt"},"merkmale":{"type":"array","uniqueItems":true,"items":{"$ref":"#/components/schemas/RollenMerkmal"}},"systemrechte":{"type":"array","uniqueItems":true,"items":{"$ref":"#/components/schemas/RollenSystemRecht"}}},"required":["id","createdAt","updatedAt","name","administeredBySchulstrukturknoten","rollenart","merkmale","systemrechte"]},"AddSystemrechtBodyParams":{"type":"object","properties":{"systemRecht":{"$ref":"#/components/schemas/RollenSystemRecht"}},"required":["systemRecht"]},"RolleServiceProviderResponse":{"type":"object","properties":{"serviceProviderIds":{"type":"array","items":{"type":"string"}}},"required":["serviceProviderIds"]},"RolleServiceProviderQueryParams":{"type":"object","properties":{"serviceProviderId":{"type":"string","description":"The id for the rolle.","nullable":false}},"required":["serviceProviderId"]},"ServiceProviderTarget":{"type":"string","enum":["URL","EMAIL","SCHULPORTAL_ADMINISTRATION"]},"ServiceProviderKategorie":{"type":"string","enum":["EMAIL","UNTERRICHT","VERWALTUNG","HINWEISE","ANGEBOTE"]},"ServiceProviderResponse":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"target":{"$ref":"#/components/schemas/ServiceProviderTarget"},"url":{"type":"string","description":"Can be undefined, if `target` is not equal to `URL`"},"kategorie":{"$ref":"#/components/schemas/ServiceProviderKategorie"},"hasLogo":{"type":"boolean"}},"required":["id","name","target","url","kategorie","hasLogo"]},"UpdateRolleBodyParams":{"type":"object","properties":{"name":{"type":"string"},"merkmale":{"type":"array","uniqueItems":true,"items":{"$ref":"#/components/schemas/RollenMerkmal"}},"systemrechte":{"type":"array","uniqueItems":true,"items":{"$ref":"#/components/schemas/RollenSystemRecht"}},"serviceProviderIds":{"uniqueItems":true,"type":"array","items":{"type":"string"}}},"required":["name","merkmale","systemrechte","serviceProviderIds"]},"DbiamRolleError":{"type":"object","properties":{"i18nKey":{"type":"string","enum":["ROLLE_ERROR","ADD_SYSTEMRECHT_ERROR","ROLLE_HAT_PERSONENKONTEXTE_ERROR","UPDATE_MERKMALE_ERROR","ROLLENNAME_ENTHAELT_LEERZEICHEN"]},"code":{"type":"number","description":"Corresponds to HTTP Status code like 200, 404, 500"}},"required":["i18nKey","code"]},"PersonResponseAutomapper":{"type":"object","properties":{"id":{"type":"string"},"referrer":{"type":"string"},"mandant":{"type":"string"},"name":{"$ref":"#/components/schemas/PersonNameParams"},"geburt":{"$ref":"#/components/schemas/PersonBirthParams"},"stammorganisation":{"type":"string"},"geschlecht":{"type":"string"},"lokalisierung":{"type":"string"},"vertrauensstufe":{"$ref":"#/components/schemas/Vertrauensstufe"},"revision":{"type":"string"},"startpasswort":{"type":"string","description":"Initiales Benutzerpasswort, muss nach der ersten Anmeldung geändert werden"},"personalnummer":{"type":"string"}},"required":["id","referrer","mandant","name","geburt","stammorganisation","geschlecht","lokalisierung","vertrauensstufe","revision","startpasswort","personalnummer"]},"PersonendatensatzResponseAutomapper":{"type":"object","properties":{"person":{"$ref":"#/components/schemas/PersonResponseAutomapper"},"personenkontexte":{"type":"array","items":{"$ref":"#/components/schemas/PersonenkontextResponse"}}},"required":["person","personenkontexte"]},"PersonIdResponse":{"type":"object","properties":{"id":{"type":"string"}},"required":["id"]},"PersonenkontextdatensatzResponse":{"type":"object","properties":{"person":{"$ref":"#/components/schemas/PersonIdResponse"},"personenkontexte":{"type":"array","items":{"$ref":"#/components/schemas/PersonenkontextResponse"}}},"required":["person","personenkontexte"]},"SystemrechtResponse":{"type":"object","properties":{"ROLLEN_VERWALTEN":{"type":"array","items":{"$ref":"#/components/schemas/OrganisationResponseLegacy"}},"KLASSEN_VERWALTEN":{"type":"array","items":{"$ref":"#/components/schemas/OrganisationResponseLegacy"}},"SCHULEN_VERWALTEN":{"type":"array","items":{"$ref":"#/components/schemas/OrganisationResponseLegacy"}},"PERSONEN_VERWALTEN":{"type":"array","items":{"$ref":"#/components/schemas/OrganisationResponseLegacy"}},"SCHULTRAEGER_VERWALTEN":{"type":"array","items":{"$ref":"#/components/schemas/OrganisationResponseLegacy"}}},"required":["ROLLEN_VERWALTEN","KLASSEN_VERWALTEN","SCHULEN_VERWALTEN","PERSONEN_VERWALTEN","SCHULTRAEGER_VERWALTEN"]},"UpdatePersonenkontextBodyParams":{"type":"object","properties":{"referrer":{"type":"string","description":"The new referrer of the personenkontext."},"personenstatus":{"$ref":"#/components/schemas/Personenstatus"},"jahrgangsstufe":{"$ref":"#/components/schemas/Jahrgangsstufe"},"revision":{"type":"string","description":"The revision of the personenkontext."}},"required":["revision"]},"DeleteRevisionBodyParams":{"type":"object","properties":{"revision":{"type":"string","description":"The revision of a personenkontext.","nullable":false}},"required":["revision"]},"DBiamPersonenkontextResponse":{"type":"object","properties":{"personId":{"type":"string"},"organisationId":{"type":"string"},"rolleId":{"type":"string"}},"required":["personId","organisationId","rolleId"]},"DbiamPersonenkontextBodyParams":{"type":"object","properties":{"personId":{"type":"string"},"organisationId":{"type":"string"},"rolleId":{"type":"string"}},"required":["personId","organisationId","rolleId"]},"DbiamPersonenkontextError":{"type":"object","properties":{"i18nKey":{"type":"string","enum":["PERSONENKONTEXT_SPECIFICATION_ERROR","NUR_LEHR_UND_LERN_AN_KLASSE","GLEICHE_ROLLE_AN_KLASSE_WIE_SCHULE","ORGANISATION_MATCHES_ROLLENART","PERSONENKONTEXT_ANLAGE_ERROR","ROLLE_NUR_AN_PASSENDE_ORGANISATION"]},"code":{"type":"number","description":"Corresponds to HTTP Status code like 200, 404, 500"}},"required":["i18nKey","code"]},"PersonenkontextWorkflowResponse":{"type":"object","properties":{"organisations":{"description":"List of available organisations.","type":"array","items":{"$ref":"#/components/schemas/OrganisationResponseLegacy"}},"rollen":{"description":"List of available roles.","type":"array","items":{"$ref":"#/components/schemas/RolleResponse"}},"selectedOrganisation":{"type":"string","description":"Selected organisation.","nullable":true},"selectedRolle":{"type":"string","description":"Selected rolle.","nullable":true},"canCommit":{"type":"boolean","description":"Indicates whether the commit action can be performed."}},"required":["organisations","rollen","selectedOrganisation","selectedRolle","canCommit"]},"DbiamUpdatePersonenkontexteBodyParams":{"type":"object","properties":{"lastModified":{"format":"date-time","type":"string","nullable":true,"description":"Date of the most recent changed personenkontext"},"count":{"type":"number","nullable":false,"description":"The amount of personenkontexte"},"personenkontexte":{"nullable":false,"type":"array","items":{"$ref":"#/components/schemas/DbiamPersonenkontextBodyParams"}}},"required":["count","personenkontexte"]},"PersonenkontexteUpdateResponse":{"type":"object","properties":{"dBiamPersonenkontextResponses":{"type":"array","items":{"$ref":"#/components/schemas/DBiamPersonenkontextResponse"}}},"required":["dBiamPersonenkontextResponses"]},"DbiamPersonenkontexteUpdateError":{"type":"object","properties":{"i18nKey":{"type":"string","enum":["PERSONENKONTEXTE_UPDATE_ERROR","PERSONENKONTEXT_NOT_FOUND","COUNT_MISMATCHING","NEWER_VERSION_OF_PERSONENKONTEXTE_AVAILABLE","INVALID_LAST_MODIFIED_VALUE","PERSON_ID_MISMATCH","PERSON_NOT_FOUND"]},"code":{"type":"number","description":"Corresponds to HTTP Status code like 200, 404, 500"}},"required":["i18nKey","code"]},"FindSchulstrukturknotenResponse":{"type":"object","properties":{"moeglicheSsks":{"type":"array","items":{"$ref":"#/components/schemas/OrganisationResponseLegacy"}},"total":{"type":"number"}},"required":["moeglicheSsks","total"]},"DbiamCreatePersonWithContextBodyParams":{"type":"object","properties":{"familienname":{"type":"string"},"vorname":{"type":"string"},"personalnummer":{"type":"string"},"organisationId":{"type":"string"},"rolleId":{"type":"string"}},"required":["familienname","vorname","organisationId","rolleId"]},"DBiamPersonResponse":{"type":"object","properties":{"person":{"$ref":"#/components/schemas/PersonResponse"},"DBiamPersonenkontextResponse":{"$ref":"#/components/schemas/DBiamPersonenkontextResponse"}},"required":["person","DBiamPersonenkontextResponse"]},"FindRollenResponse":{"type":"object","properties":{"moeglicheRollen":{"type":"array","items":{"$ref":"#/components/schemas/RolleResponse"}},"total":{"type":"number"}},"required":["moeglicheRollen","total"]},"TokenInitBodyParams":{"type":"object","properties":{"personId":{"type":"string"}},"required":["personId"]},"TokenStateResponse":{"type":"object","properties":{"hasToken":{"type":"boolean"},"tokenKind":{"type":"string"}},"required":["hasToken","tokenKind"]}}}} \ No newline at end of file diff --git a/src/components/admin/personen/PersonenkontextCreate.spec.ts b/src/components/admin/personen/PersonenkontextCreate.spec.ts index e3ecc89d..675f483a 100644 --- a/src/components/admin/personen/PersonenkontextCreate.spec.ts +++ b/src/components/admin/personen/PersonenkontextCreate.spec.ts @@ -34,12 +34,13 @@ beforeEach(() => { { value: '54321', title: 'Lern', - Rollenart: RollenArt.Lern, + rollenart: RollenArt.Lern, }, { value: '54329', title: 'Lehr', - Rollenart: RollenArt.Lehr, + merkmale: new Set(['KOPERS_PFLICHT']), + rollenart: RollenArt.Lehr, }, ], klassen: [ @@ -142,6 +143,7 @@ describe('PersonenkontextCreate', () => { test('it renders the component', () => { expect(wrapper?.find('[data-testid="organisation-select"]').isVisible()).toBe(true); }); + test('it updates search and sets values selected rolle, organisation and klasse', async () => { const organisationAutocomplete: VueWrapper | undefined = wrapper?.findComponent({ ref: 'organisation-select' }); await organisationAutocomplete?.vm.$emit('update:search', '01'); @@ -306,6 +308,7 @@ describe('PersonenkontextCreate', () => { expect(rolleAutocomplete?.text()).toEqual(''); expect(personenkontextStore.processWorkflowStep).toHaveBeenCalledWith({ organisationId: '1133', limit: 25 }); }); + test('it sends a request if the newValue is empty and the selected Organisation is not defined', async () => { const organisationAutocomplete: VueWrapper | undefined = wrapper?.findComponent({ ref: 'organisation-select' }); @@ -323,6 +326,7 @@ describe('PersonenkontextCreate', () => { expect(organisationAutocomplete?.text()).toEqual(''); }); + test('it sends a request if the newValue is empty and the selected Organisation is defined', async () => { const organisationAutocomplete: VueWrapper | undefined = wrapper?.findComponent({ ref: 'organisation-select' }); @@ -337,6 +341,7 @@ describe('PersonenkontextCreate', () => { expect(organisationAutocomplete?.text()).toEqual('orga'); }); + test('Do nothing with Klassen if the orga was reset', async () => { const organisationAutocomplete: VueWrapper | undefined = wrapper?.findComponent({ ref: 'organisation-select' }); await organisationAutocomplete?.setValue('O1'); diff --git a/src/components/admin/personen/PersonenkontextCreate.vue b/src/components/admin/personen/PersonenkontextCreate.vue index afb3d605..c6ccc345 100644 --- a/src/components/admin/personen/PersonenkontextCreate.vue +++ b/src/components/admin/personen/PersonenkontextCreate.vue @@ -7,6 +7,7 @@ import { useOrganisationStore, type OrganisationStore } from '@/stores/OrganisationStore'; import { type TranslatedObject } from '@/types.d'; import type { BaseFieldProps } from 'vee-validate'; + import type { TranslatedRolleWithAttrs } from '@/composables/useRollen'; useI18n({ useScope: 'global' }); @@ -16,21 +17,14 @@ const timerId: Ref | undefined> = ref>(); const canCommit: Ref = ref(false); const hasAutoselectedSchule: Ref = ref(false); - const searchInputOrganisation: Ref = ref(''); const searchInputRolle: Ref = ref(''); let isSearching: boolean = false; - type RolleWithRollenart = { - value: string; - title: string; - Rollenart: RollenArt; - }; - type Props = { organisationen: TranslatedObject[] | undefined; - rollen: RolleWithRollenart[] | undefined; + rollen: TranslatedRolleWithAttrs[] | undefined; klassen: TranslatedObject[] | undefined; selectedOrganisationProps: BaseFieldProps & { error: boolean; 'error-messages': Array }; selectedRolleProps: BaseFieldProps & { error: boolean; 'error-messages': Array }; @@ -72,10 +66,10 @@ }); function isLernRolle(selectedRolleId: string | undefined): boolean { - const rolle: RolleWithRollenart | undefined = props.rollen?.find( - (r: RolleWithRollenart) => r.value === selectedRolleId, + const rolle: TranslatedRolleWithAttrs | undefined = props.rollen?.find( + (r: TranslatedRolleWithAttrs) => r.value === selectedRolleId, ); - return !!rolle && rolle.Rollenart === RollenArt.Lern; + return !!rolle && rolle.rollenart === RollenArt.Lern; } // Watcher for selectedOrganisation to fetch roles and classes @@ -309,6 +303,7 @@ v-model:search="searchInputRolle" > + type Props = { errorLabel: string | boolean; - labelForId: string; - isRequired?: boolean; label: string; + isRequired?: boolean; + labelForId: string; + noTopMargin?: boolean; }; defineProps();