diff --git a/DEPENDENCIES b/DEPENDENCIES index ecdca2db7b..01038dad74 100644 --- a/DEPENDENCIES +++ b/DEPENDENCIES @@ -51,11 +51,11 @@ nuget/nuget/-/Serilog/3.1.1, Apache-2.0, approved, #13978 nuget/nuget/-/SharpZipLib/1.4.2, MIT AND GFDL-1.3-or-later AND (Apache-2.0 AND MIT) AND WTFPL AND bzip2-1.0.6 AND LicenseRef-Permissive-license-with-conditions AND LicenseRef-Permission-Notice, approved, #10058 nuget/nuget/-/SshNet.Security.Cryptography/1.3.0, MIT, approved, clearlydefined nuget/nuget/-/Stubble.Core/1.10.8, MIT AND BSD-2-Clause, approved, #9297 -nuget/nuget/-/SwashBuckle.AspNetCore/6.5.0, MIT AND Apache-2.0, approved, #7159 -nuget/nuget/-/Swashbuckle.AspNetCore.Swagger/6.5.0, MIT AND Apache-2.0, approved, #7160 -nuget/nuget/-/Swashbuckle.AspNetCore.SwaggerGen/6.5.0, MIT AND Apache-2.0, approved, #7156 -nuget/nuget/-/Swashbuckle.AspNetCore.SwaggerUI/6.5.0, MIT AND Apache-2.0, approved, #7158 -nuget/nuget/-/Swashbuckle.AspNetCore/6.5.0, MIT AND Apache-2.0, approved, #7159 +nuget/nuget/-/SwashBuckle.AspNetCore/6.8.0, MIT AND Apache-2.0, approved, #16260 +nuget/nuget/-/Swashbuckle.AspNetCore.Swagger/6.8.0, MIT AND Apache-2.0, approved, #16262 +nuget/nuget/-/Swashbuckle.AspNetCore.SwaggerGen/6.8.0, MIT AND Apache-2.0, approved, #16259 +nuget/nuget/-/Swashbuckle.AspNetCore.SwaggerUI/6.8.0, MIT AND Apache-2.0, approved, #16261 +nuget/nuget/-/Swashbuckle.AspNetCore/6.8.0, MIT AND Apache-2.0, approved, #16260 nuget/nuget/-/Testcontainers.PostgreSql/3.7.0, MIT, approved, #13960 nuget/nuget/-/Testcontainers/3.7.0, MIT, approved, #13982 nuget/nuget/-/Xunit.Extensions.AssemblyFixture/2.4.1, MIT, approved, #3502 diff --git a/docs/api/Org.Eclipse.TractusX.Portal.Backend.Administration.Service.yaml b/docs/api/Org.Eclipse.TractusX.Portal.Backend.Administration.Service.yaml new file mode 100644 index 0000000000..4cd5b91aa9 --- /dev/null +++ b/docs/api/Org.Eclipse.TractusX.Portal.Backend.Administration.Service.yaml @@ -0,0 +1,7819 @@ +openapi: 3.0.1 +info: + title: Org.Eclipse.TractusX.Portal.Backend.Administration.Service + version: v2.3.0 +paths: + /api/administration/companydata/ownCompanyDetails: + get: + tags: + - CompanyData + summary: 'Gets the company with its address (Authorization required - Roles: view_company_data)' + description: 'Example: GET: api/administration/companydata/ownCompanyDetails' + responses: + '200': + description: Returns the company with its address. + content: + application/json: + schema: + $ref: '#/components/schemas/CompanyAddressDetailData' + '409': + description: user is not associated with company. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + /api/administration/companydata/preferredUseCases: + get: + tags: + - CompanyData + summary: 'Gets the CompanyAssigned UseCase details (Authorization required - Roles: view_use_cases)' + description: 'Example: GET: api/administration/companydata/preferredUseCases' + responses: + '200': + description: Returns the CompanyAssigned UseCase details. + content: + application/json: + schema: + $ref: '#/components/schemas/CompanyAssignedUseCaseData' + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + post: + tags: + - CompanyData + summary: 'Create the CompanyAssigned UseCase details (Authorization required - Roles: set_company_use_cases)' + description: 'Example: POST: api/administration/companydata/preferredUseCases' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/UseCaseIdDetails' + responses: + '201': + description: Created + '204': + description: NoContentResult + '409': + description: Company Status is Incorrect + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '208': + description: UseCaseId already existis + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + delete: + tags: + - CompanyData + summary: 'Remove the CompanyAssigned UseCase details by UseCaseId (Authorization required - Roles: set_company_use_cases)' + description: 'Example: DELETE: api/administration/companydata/preferredUseCases' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/UseCaseIdDetails' + responses: + '204': + description: NoContentResult + content: + application/json: + schema: + $ref: '#/components/schemas/NoContentResult' + '409': + description: "Company Status is Incorrect \n\r\nUseCaseId is not available" + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + /api/administration/companydata/companyRolesAndConsents: + get: + tags: + - CompanyData + summary: 'Gets the companyrole and ConsentAgreement Details (Authorization required - Roles: view_company_data)' + description: 'Example: GET: api/administration/companydata/companyRolesAndConsents' + parameters: + - name: languageShortName + in: query + schema: + type: string + responses: + '200': + description: Returns the Companyrole and Consent details. + content: + application/json: + schema: + $ref: '#/components/schemas/CompanyRoleConsentViewData' + '400': + description: languageShortName is not valid + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '404': + description: CompanyId does not exist in company + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '409': + description: No Companyrole or Incorrect Status + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + post: + tags: + - CompanyData + summary: 'Post the companyrole and Consent Details (Authorization required - Roles: view_company_data)' + description: 'Example: POST: api/administration/companydata/companyRolesAndConsents' + requestBody: + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/CompanyRoleConsentDetails' + responses: + '204': + description: Created the Companyrole and Consent details. + content: + application/json: + schema: + $ref: '#/components/schemas/NoContentResult' + '400': + description: "All agreement need to get signed as Active or InActive \n\r\nAgreements not associated with requested companyRoles" + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '409': + description: "Company does not exists \n\r\nCompany is in Incorrect state \n\r\nCompany can't unassign from all roles" + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + /api/administration/companydata/useCaseParticipation: + post: + tags: + - CompanyData + summary: 'Creates the use case participation request (Authorization required - Roles: request_ssicredential)' + description: 'Example: POST: api/administration/companydata/useCaseParticipation' + requestBody: + content: + multipart/form-data: + schema: + type: object + properties: + VerifiedCredentialExternalTypeDetailId: + type: string + format: uuid + CredentialType: + type: string + Document: + type: file + format: binary + encoding: + VerifiedCredentialExternalTypeDetailId: + style: form + CredentialType: + style: form + Document: + style: form + application/json: + schema: + type: object + properties: + VerifiedCredentialExternalTypeDetailId: + type: string + format: uuid + CredentialType: + type: string + Document: + type: file + format: binary + encoding: + VerifiedCredentialExternalTypeDetailId: + style: form + CredentialType: + style: form + Document: + style: form + responses: + '204': + description: Successfully created the use case participation request. + '400': + description: "VerifiedCredentialExternalTypeDetailId does not exist \n\r\nCredential request already exist" + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + /api/administration/companydata/companyCertificate: + post: + tags: + - CompanyData + summary: 'Creates the Company Certificate request (Authorization required - Roles: upload_certificates)' + description: 'Example: POST: api/administration/companydata/companyCertificate' + requestBody: + content: + multipart/form-data: + schema: + type: object + properties: + CertificateType: + $ref: '#/components/schemas/CompanyCertificateTypeId' + Document: + type: file + format: binary + ExternalCertificateNumber: + type: string + Sites: + type: array + items: + type: string + ValidFrom: + type: string + format: date-time + ValidTill: + type: string + format: date-time + Issuer: + type: string + encoding: + CertificateType: + style: form + Document: + style: form + ExternalCertificateNumber: + style: form + Sites: + style: form + ValidFrom: + style: form + ValidTill: + style: form + Issuer: + style: form + application/json: + schema: + type: object + properties: + CertificateType: + $ref: '#/components/schemas/CompanyCertificateTypeId' + Document: + type: file + format: binary + ExternalCertificateNumber: + type: string + Sites: + type: array + items: + type: string + ValidFrom: + type: string + format: date-time + ValidTill: + type: string + format: date-time + Issuer: + type: string + encoding: + CertificateType: + style: form + Document: + style: form + ExternalCertificateNumber: + style: form + Sites: + style: form + ValidFrom: + style: form + ValidTill: + style: form + Issuer: + style: form + responses: + '204': + description: Successfully created the Company certificate request. + '400': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + '/api/administration/companydata/company/{businessPartnerNumber}/companyCertificates': + get: + tags: + - CompanyData + summary: 'Gets the companyCertificates Details (Authorization required - Roles: view_certificates)' + description: 'Example: GET: api/administration/companydata/businessPartnerNumber}/companyCertificates' + parameters: + - name: businessPartnerNumber + in: path + required: true + schema: + type: string + responses: + '200': + description: Returns the companyCertificates details. + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/CompanyCertificateBpnData' + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '404': + description: Not Found + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '409': + description: Conflict + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + /api/administration/companydata/companyCertificates: + get: + tags: + - CompanyData + summary: 'Retrieves all company certificates with respect userId. (Authorization required - Roles: view_certificates)' + description: 'Example: GET /api/administration/companydata/companyCertificates' + parameters: + - name: page + in: query + description: Optional the page of company certificate. + schema: + type: integer + format: int32 + default: 0 + example: 0 + - name: size + in: query + description: 'Amount of company certificate, default is 15.' + schema: + type: integer + format: int32 + default: 15 + example: 15 + - name: sorting + in: query + description: Optional Sorting of the pagination + schema: + $ref: '#/components/schemas/CertificateSorting' + example: CertificateTypeAsc + - name: certificateStatus + in: query + description: Optional filter for company certificate status + schema: + $ref: '#/components/schemas/CompanyCertificateStatusId' + - name: certificateType + in: query + description: Optional filter for company certificate type + schema: + $ref: '#/components/schemas/CompanyCertificateTypeId' + responses: + '200': + description: Returns the list of all active company certificates. + content: + application/json: + schema: + $ref: '#/components/schemas/CompanyCertificateDataResponse' + '204': + description: No Content + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + '/api/administration/companydata/companyCertificates/{documentId}': + get: + tags: + - CompanyData + summary: 'Retrieves a specific company certificate document for the given documentid and companyuserid. (Authorization required - Roles: view_certificates)' + description: 'Example: GET /api/administration/companydata/companyCertificates/4ad087bb-80a1-49d3-9ba9-da0b175cd4e3' + parameters: + - name: documentId + in: path + description: Id of the document to get. + required: true + schema: + type: string + format: uuid + example: 4ad087bb-80a1-49d3-9ba9-da0b175cd4e3 + responses: + '200': + description: Returns the file. + content: + application/json: + schema: + type: string + format: binary + '404': + description: The document was not found. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '403': + description: Forbidden + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '503': + description: Service Unavailable + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + '/api/administration/companydata/companyCertificates/documents/{documentId}': + get: + tags: + - CompanyData + summary: 'Retrieves a specific company certificate document for the given id. (Authorization required - Roles: view_certificates)' + description: 'Example: GET /api/administration/companydata/companyCertificates/documents/4ad087bb-80a1-49d3-9ba9-da0b175cd4e3' + parameters: + - name: documentId + in: path + description: Id of the document to get. + required: true + schema: + type: string + format: uuid + example: 4ad087bb-80a1-49d3-9ba9-da0b175cd4e3 + responses: + '200': + description: Returns the file. + content: + application/json: + schema: + type: string + format: binary + '404': + description: The document was not found. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '403': + description: The document which is not in status "ACTIVE". + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '503': + description: document Content is null. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + '/api/administration/companydata/companyCertificate/document/{documentId}': + delete: + tags: + - CompanyData + summary: 'Deletes the company certificate with the given id (Authorization required - Roles: delete_certificates)' + description: 'Example: Delete: /api/administration/companydata/companyCertificate/document/{documentId}' + parameters: + - name: documentId + in: path + description: '' + required: true + schema: + type: string + format: uuid + example: 4ad087bb-80a1-49d3-9ba9-da0b175cd4e3 + responses: + '200': + description: Successfully deleted the company certificate + content: + application/json: + schema: + type: integer + format: int32 + '404': + description: Not Found + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '409': + description: Conflict + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '400': + description: Incorrect document state + '403': + description: The user is not assigned with the Company. + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + /api/administration/companydata/decentralidentity/urls: + get: + tags: + - CompanyData + summary: 'Rejects the given credential (Authorization required - Roles: view_company_data)' + description: 'Example: GET: api/administration/companydata/decentralidentity/urls' + responses: + '200': + description: Returns the dim urls. + content: + application/json: + schema: + $ref: '#/components/schemas/DimUrlsResponse' + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + /api/administration/companydata/missing-sd-document: + get: + tags: + - CompanyData + summary: 'Retrieves all active companies with missing sd document. (Authorization required - Roles: view_company_data)' + description: "Example: GET: /api/administration/companyData/missing-sd-document \n\r\nExample: GET: /api/administration/companyData/missing-sd-document?page=0&size=15" + parameters: + - name: page + in: query + description: Optional query parameter defining the requested page number. + schema: + type: integer + format: int32 + default: 0 + example: 0 + - name: size + in: query + description: Optional query parameter defining the number of companies listed per page. + schema: + type: integer + format: int32 + default: 15 + example: 15 + responses: + '200': + description: Returns a list of all active companies with missing sd document. + content: + application/json: + schema: + $ref: '#/components/schemas/CompanyMissingSdDocumentDataResponse' + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + /api/administration/companydata/trigger-self-description: + post: + tags: + - CompanyData + summary: 'Triggers the process to create the missing self description documents (Authorization required - Roles: approve_new_partner)' + responses: + '204': + description: Empty response on success. + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '404': + description: No Process found for the processId + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + /api/administration/companydata/retrigger-self-description: + post: + tags: + - CompanyData + summary: 'Retriggers the process to create the missing self description documents (Authorization required - Roles: approve_new_partner)' + parameters: + - name: processId + in: path + required: true + schema: + type: string + format: uuid + responses: + '204': + description: Empty response on success. + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '404': + description: No Process found for the processId + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + /api/administration/Connectors: + get: + tags: + - Connectors + summary: 'Retrieves all company registered own connectors and their status. (Authorization required - Roles: view_connectors)' + description: "Example: GET: /api/administration/connectors \n\r\nExample: GET: /api/administration/connectors?page=0&size=15" + parameters: + - name: page + in: query + description: Optional query parameter defining the requested page number. + schema: + type: integer + format: int32 + default: 0 + example: 0 + - name: size + in: query + description: Optional query parameter defining the number of connectors listed per page. + schema: + type: integer + format: int32 + default: 15 + example: 15 + responses: + '200': + description: Returns a list of all of the current user's company's connectors. + content: + application/json: + schema: + $ref: '#/components/schemas/ConnectorDataResponse' + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + post: + tags: + - Connectors + summary: 'Allows to register owned company connectors (self-hosted/-managed) inside the CX dataspace. (Authorization required - Roles: add_connectors)' + description: 'Example: POST: /api/administration/connectors/daps' + requestBody: + content: + multipart/form-data: + schema: + type: object + properties: + Name: + type: string + description: Display name of the connector. + ConnectorUrl: + type: string + description: ConnectorCatalogEndpoint. + Location: + type: string + description: Connector's location country code. + TechnicalUserId: + type: string + description: Id of the technical user. + format: uuid + encoding: + Name: + style: form + ConnectorUrl: + style: form + Location: + style: form + TechnicalUserId: + style: form + responses: + '201': + description: Returns a view model of the created connector. + content: + application/json: + schema: + type: string + format: uuid + '400': + description: Input parameter are invalid. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '503': + description: Access to SD factory failed with the given status code. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + /api/administration/Connectors/managed: + get: + tags: + - Connectors + summary: 'Retrieves all registered connectors which are managed connectors of company customers and their status. (Authorization required - Roles: view_connectors)' + description: "Example: GET: /api/administration/connectors/managed \n\r\nExample: GET: /api/administration/connectors/managed?page=0&size=15" + parameters: + - name: page + in: query + description: Optional query parameter defining the requested page number. + schema: + type: integer + format: int32 + default: 0 + example: 0 + - name: size + in: query + description: Optional query parameter defining the number of connectors listed per page. + schema: + type: integer + format: int32 + default: 15 + example: 15 + responses: + '200': + description: Returns a list of all of the current user's company's connectors. + content: + application/json: + schema: + $ref: '#/components/schemas/ConnectorDataResponse' + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + post: + tags: + - Connectors + summary: 'Allows to register managed connectors for 3rd parties/customers inside the CX dataspace. (Authorization required - Roles: add_connectors)' + description: 'Example: POST: /api/administration/connectors/managed' + requestBody: + content: + multipart/form-data: + schema: + type: object + properties: + Name: + type: string + description: Display name of the connector. + ConnectorUrl: + type: string + description: ConnectorCatalogEndpoint.. + Location: + type: string + description: Connector's location country code. + SubscriptionId: + type: string + description: Id of the offer subscription. + format: uuid + TechnicalUserId: + type: string + description: Id of the technical user. + format: uuid + encoding: + Name: + style: form + ConnectorUrl: + style: form + Location: + style: form + SubscriptionId: + style: form + TechnicalUserId: + style: form + responses: + '201': + description: Returns a view model of the created connector. + content: + application/json: + schema: + type: string + format: uuid + '400': + description: Input parameter are invalid. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '503': + description: Access to SD factory failed with the given status code. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + '/api/administration/Connectors/{connectorId}': + get: + tags: + - Connectors + summary: 'Retrieves connector information for a specific connector by its ID. Note: only company owned connectors can get called. (Authorization required - Roles: view_connectors)' + description: 'Example: GET: /api/administration/connectors/5636F9B9-C3DE-4BA5-8027-00D17A2FECFB' + operationId: GetCompanyConnectorByIdForCurrentUserAsync + parameters: + - name: connectorId + in: path + description: ID of the connector for which the details are to be displayed. + required: true + schema: + type: string + format: uuid + example: 5636F9B9-C3DE-4BA5-8027-00D17A2FECFB + responses: + '200': + description: Returns details of the requested connector. + content: + application/json: + schema: + $ref: '#/components/schemas/ConnectorData' + '403': + description: user does not belong to company of companyUserId. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '404': + description: Connector ID not found. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + delete: + tags: + - Connectors + summary: 'Removes a connector from persistence layer by id. (Authorization required - Roles: delete_connectors)' + description: 'Example: DELETE: /api/administration/connectors/{connectorId}?deleteServiceAccount=true' + parameters: + - name: connectorId + in: path + description: ID of the connector to be deleted. + required: true + schema: + type: string + format: uuid + example: 5636F9B9-C3DE-4BA5-8027-00D17A2FECFB + - name: deleteServiceAccount + in: query + description: 'if `true` the linked service account will be deleted, otherwise the connection to the connector will just be removed' + schema: + type: boolean + default: false + responses: + '204': + description: Empty response on success. + content: + application/json: + schema: + $ref: '#/components/schemas/IActionResult' + '404': + description: Record not found. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '409': + description: Connector status does not match a deletion scenario. Deletion declined. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + /api/administration/Connectors/discovery: + post: + tags: + - Connectors + summary: 'Retrieve dataspace registered connectors by their registered BPNL or retrieve them all by sending an empty array. (Authorization required - Roles: view_connectors)' + description: 'Example: POST: /api/administration/connectors/discovery' + requestBody: + description: Single or List of Business Partner Number of the company. + content: + application/json: + schema: + type: array + items: + type: string + text/json: + schema: + type: array + items: + type: string + application/*+json: + schema: + type: array + items: + type: string + responses: + '200': + description: Returns company connector per bpn. + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/ConnectorEndPointData' + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + /api/administration/Connectors/clearinghouse/selfDescription: + post: + tags: + - Connectors + summary: 'Asynchron callback endpoint for the clearinghouse provider to submit the connector SD document. (Authorization required - Roles: submit_connector_sd)' + requestBody: + description: The response data for the self description + content: + application/json: + schema: + $ref: '#/components/schemas/SelfDescriptionResponseData' + text/json: + schema: + $ref: '#/components/schemas/SelfDescriptionResponseData' + application/*+json: + schema: + $ref: '#/components/schemas/SelfDescriptionResponseData' + responses: + '204': + description: Empty response on success. + '409': + description: Connector has document assigned. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '404': + description: Record Not Found. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + '/api/administration/Connectors/{connectorId}/connectorUrl': + put: + tags: + - Connectors + summary: 'Updates the connector url (Authorization required - Roles: modify_connectors)' + description: 'Example: PUT: /api/administration/connectors/{connectorId}/connectorUrl' + parameters: + - name: connectorId + in: path + description: Id of the connector to trigger the daps call. + required: true + schema: + type: string + format: uuid + example: 5636F9B9-C3DE-4BA5-8027-00D17A2FECFB + requestBody: + description: The update data + content: + application/json: + schema: + $ref: '#/components/schemas/ConnectorUpdateRequest' + text/json: + schema: + $ref: '#/components/schemas/ConnectorUpdateRequest' + application/*+json: + schema: + $ref: '#/components/schemas/ConnectorUpdateRequest' + responses: + '204': + description: Url was successfully updated. + '400': + description: Input parameter are invalid. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '403': + description: user does not belong to host company of the connector. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '404': + description: Connector was not found. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '503': + description: Access to Daps failed with the given status code. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + /api/administration/Connectors/offerSubscriptions: + get: + tags: + - Connectors + summary: 'Retrieve the offer subscriptions for the company with the linked connectorIds. (Authorization required - Roles: view_connectors)' + description: 'Example: GET: /api/administration/connectors/offerSubscriptions' + parameters: + - name: connectorIdSet + in: query + description: "Optional: if `true` only respond with subscriptions where a link to a connector is given,\r\nif `false` it will only return subscriptions where no link to an connector exists." + schema: + type: boolean + example: false + responses: + '200': + description: Returns list of the offer subscriptions for the company. + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/ConnectorEndPointData' + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + /api/administration/Connectors/missing-sd-document: + get: + tags: + - Connectors + summary: 'Retrieves all active connectors with missing sd document. (Authorization required - Roles: view_connectors)' + description: "Example: GET: /api/administration/connectors/missing-sd-document \n\r\nExample: GET: /api/administration/connectors/missing-sd-document?page=0&size=15" + parameters: + - name: page + in: query + description: Optional query parameter defining the requested page number. + schema: + type: integer + format: int32 + default: 0 + example: 0 + - name: size + in: query + description: Optional query parameter defining the number of connectors listed per page. + schema: + type: integer + format: int32 + default: 15 + example: 15 + responses: + '200': + description: Returns a list of all active connectors with missing sd document. + content: + application/json: + schema: + $ref: '#/components/schemas/ConnectorMissingSdDocumentDataResponse' + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + /api/administration/Connectors/trigger-self-description: + post: + tags: + - Connectors + summary: 'Triggers the process to create the missing self description documents (Authorization required - Roles: approve_new_partner)' + responses: + '204': + description: Empty response on success. + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '404': + description: No Process found for the processId + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + /api/administration/Connectors/retrigger-self-description: + post: + tags: + - Connectors + summary: 'Retriggers the process to create the missing self description documents (Authorization required - Roles: approve_new_partner)' + parameters: + - name: processId + in: path + required: true + schema: + type: string + format: uuid + responses: + '204': + description: Empty response on success. + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '404': + description: No Process found for the processId + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + '/api/administration/Documents/{documentId}': + get: + tags: + - Documents + summary: 'Retrieves a specific document for the given id. (Authorization required - Roles: view_documents)' + description: 'Example: GET: /api/administration/documents/4ad087bb-80a1-49d3-9ba9-da0b175cd4e3' + parameters: + - name: documentId + in: path + description: Id of the document to get. + required: true + schema: + type: string + format: uuid + example: 4ad087bb-80a1-49d3-9ba9-da0b175cd4e3 + responses: + '200': + description: Returns the file. + content: + text/plain: + schema: + type: string + format: binary + application/json: + schema: + type: string + format: binary + text/json: + schema: + type: string + format: binary + '404': + description: The document was not found. + content: + text/plain: + schema: + $ref: '#/components/schemas/ErrorResponse' + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + text/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '403': + description: The user is not assigned with the Company. + content: + text/plain: + schema: + $ref: '#/components/schemas/ErrorResponse' + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + text/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '503': + description: document Content is null. + content: + text/plain: + schema: + $ref: '#/components/schemas/ErrorResponse' + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + text/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + delete: + tags: + - Documents + summary: 'Deletes the document with the given id (Authorization required - Roles: delete_documents)' + description: 'Example: Delete: /api/registration/documents/{documentId}' + parameters: + - name: documentId + in: path + description: '' + required: true + schema: + type: string + format: uuid + example: 4ad087bb-80a1-49d3-9ba9-da0b175cd4e3 + responses: + '200': + description: Successfully deleted the document + content: + application/json: + schema: + type: boolean + '400': + description: Incorrect document state + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '403': + description: The user is not assigned with the Company. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '404': + description: The document was not found. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + '/api/administration/Documents/selfDescription/{documentId}': + get: + tags: + - Documents + summary: 'Retrieves a specific document for the given id. (Authorization required - Roles: view_documents)' + description: 'Example: GET: /api/administration/documents/selfDescription/4ad087bb-80a1-49d3-9ba9-da0b175cd4e3' + parameters: + - name: documentId + in: path + description: Id of the document to get. + required: true + schema: + type: string + format: uuid + example: 4ad087bb-80a1-49d3-9ba9-da0b175cd4e3 + responses: + '200': + description: Returns the file. + content: + text/plain: + schema: + type: string + format: binary + application/json: + schema: + type: string + format: binary + text/json: + schema: + type: string + format: binary + '404': + description: The document was not found. + content: + text/plain: + schema: + $ref: '#/components/schemas/ErrorResponse' + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + text/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + '/api/administration/Documents/{documentId}/seeddata': + get: + tags: + - Documents + summary: 'Gets the json the seed data for a specific document (Authorization required - Roles: debug_download_documents)' + description: "Example: GET: /api/registration/documents/{documentId}/seeddata\r\n\nthis endpoint can only be used in the dev environment!" + parameters: + - name: documentId + in: path + description: '' + required: true + schema: + type: string + format: uuid + example: 4ad087bb-80a1-49d3-9ba9-da0b175cd4e3 + responses: + '200': + description: Successfully deleted the document + content: + application/json: + schema: + type: boolean + '403': + description: Call was made from a non dev environment + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '404': + description: The document was not found. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + '/api/administration/Documents/frameDocuments/{documentId}': + get: + tags: + - Documents + summary: 'Retrieve document of type CX_FRAME_CONTRACT (Authorization required - Roles: view_documents)' + description: 'Example: Get: /api/administration/documents/frameDocuments/4ad087bb-80a1-49d3-9ba9-da0b175cd4e3' + parameters: + - name: documentId + in: path + description: '' + required: true + schema: + type: string + format: uuid + responses: + '200': + description: Successfully fetched the document + content: + application/pdf: + schema: + $ref: '#/components/schemas/File' + application/json: + schema: + $ref: '#/components/schemas/File' + '404': + description: No document with the given id was found. + content: + application/pdf: + schema: + $ref: '#/components/schemas/ErrorResponse' + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + /api/administration/errormessage: + get: + tags: + - ErrorMessage + responses: + '200': + description: OK + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/ErrorMessageType' + '500': + description: Internal Server Error + /api/administration/identityprovider/owncompany/identityproviders: + get: + tags: + - IdentityProvider + summary: 'Gets the details of the own company identity provider (Authorization required - Roles: view_idp)' + description: 'Example: GET: api/administration/identityprovider/owncompany/identityproviders' + parameters: + - name: displayName + in: query + schema: + type: string + - name: alias + in: query + schema: + type: string + responses: + '200': + description: Returns a list of identityProviderDetails. + content: + text/plain: + schema: + type: array + items: + $ref: '#/components/schemas/IdentityProviderDetails' + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/IdentityProviderDetails' + text/json: + schema: + type: array + items: + $ref: '#/components/schemas/IdentityProviderDetails' + '502': + description: Bad Gateway Service Error. + content: + text/plain: + schema: + $ref: '#/components/schemas/ErrorResponse' + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + text/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + post: + tags: + - IdentityProvider + summary: 'Create an identity provider (Authorization required - Roles: add_idp)' + description: 'Example: POST: api/administration/identityprovider/owncompany/identityproviders' + parameters: + - name: protocol + in: query + description: Type of the protocol the identity provider should be created for + schema: + $ref: '#/components/schemas/IamIdentityProviderProtocol' + - name: typeId + in: query + description: IdentityProvider type (OWN or MANAGED) + schema: + $ref: '#/components/schemas/IdentityProviderTypeId' + - name: displayName + in: query + description: displayName of identityprovider to be set up (optional) + schema: + type: string + responses: + '200': + description: Returns a list of identityProviderDetails. + content: + text/plain: + schema: + $ref: '#/components/schemas/IdentityProviderDetails' + application/json: + schema: + $ref: '#/components/schemas/IdentityProviderDetails' + text/json: + schema: + $ref: '#/components/schemas/IdentityProviderDetails' + '400': + description: The protocol didn't match an expected value. + content: + text/plain: + schema: + $ref: '#/components/schemas/ErrorResponse' + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + text/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '502': + description: Bad Gateway Service Error. + content: + text/plain: + schema: + $ref: '#/components/schemas/ErrorResponse' + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + text/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + '/api/administration/identityprovider/network/identityproviders/managed/{identityProviderId}': + get: + tags: + - IdentityProvider + summary: 'Gets a specific identity provider with the connected Companies (Authorization required - Roles: view_managed_idp)' + description: 'Example: GET: api/administration/identityprovider/network/identityproviders/managed/{identityProviderId}' + parameters: + - name: identityProviderId + in: path + description: Id of the identity provider + required: true + schema: + type: string + format: uuid + responses: + '200': + description: Return the details of the identityProvider. + content: + text/plain: + schema: + $ref: '#/components/schemas/IdentityProviderDetailsWithConnectedCompanies' + application/json: + schema: + $ref: '#/components/schemas/IdentityProviderDetailsWithConnectedCompanies' + text/json: + schema: + $ref: '#/components/schemas/IdentityProviderDetailsWithConnectedCompanies' + '400': + description: The user is not associated with the owner company. + content: + text/plain: + schema: + $ref: '#/components/schemas/ErrorResponse' + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + text/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '500': + description: Unexpected value of protocol. + content: + text/plain: + schema: + $ref: '#/components/schemas/ErrorResponse' + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + text/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '502': + description: Bad Gateway Service Error. + content: + text/plain: + schema: + $ref: '#/components/schemas/ErrorResponse' + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + text/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '401': + description: The User is unauthorized + '/api/administration/identityprovider/owncompany/identityproviders/{identityProviderId}': + get: + tags: + - IdentityProvider + summary: 'Gets a specific identity provider (Authorization required - Roles: view_idp)' + description: 'Example: GET: api/administration/identityprovider/owncompany/identityproviders/6CFEEF93-CB37-405B-B65A-02BEEB81629F' + operationId: GetOwnCompanyIdentityProvider + parameters: + - name: identityProviderId + in: path + description: Id of the identity provider + required: true + schema: + type: string + format: uuid + responses: + '200': + description: Returns a list of identityProviderDetails. + content: + text/plain: + schema: + $ref: '#/components/schemas/IdentityProviderDetails' + application/json: + schema: + $ref: '#/components/schemas/IdentityProviderDetails' + text/json: + schema: + $ref: '#/components/schemas/IdentityProviderDetails' + '400': + description: The user is not associated with a company. + content: + text/plain: + schema: + $ref: '#/components/schemas/ErrorResponse' + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + text/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '500': + description: Unexpected value of protocol. + content: + text/plain: + schema: + $ref: '#/components/schemas/ErrorResponse' + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + text/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '502': + description: Bad Gateway Service Error. + content: + text/plain: + schema: + $ref: '#/components/schemas/ErrorResponse' + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + text/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '401': + description: The User is unauthorized + put: + tags: + - IdentityProvider + summary: 'Updates the details of the identity provider (Authorization required - Roles: setup_idp)' + description: 'Example: PUT: api/administration/identityprovider/owncompany/identityproviders/6CFEEF93-CB37-405B-B65A-02BEEB81629F' + parameters: + - name: identityProviderId + in: path + description: Id of the identity provider + required: true + schema: + type: string + format: uuid + requestBody: + description: possible changes for the identity provider + content: + application/json: + schema: + $ref: '#/components/schemas/IdentityProviderEditableDetails' + text/json: + schema: + $ref: '#/components/schemas/IdentityProviderEditableDetails' + application/*+json: + schema: + $ref: '#/components/schemas/IdentityProviderEditableDetails' + responses: + '200': + description: Returns a list of identityProviderDetails. + content: + text/plain: + schema: + $ref: '#/components/schemas/IdentityProviderDetails' + application/json: + schema: + $ref: '#/components/schemas/IdentityProviderDetails' + text/json: + schema: + $ref: '#/components/schemas/IdentityProviderDetails' + '400': + description: Unexpected value for category of identityProvider. + content: + text/plain: + schema: + $ref: '#/components/schemas/ErrorResponse' + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + text/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '403': + description: The identityProvider is not associated with company of user. + content: + text/plain: + schema: + $ref: '#/components/schemas/ErrorResponse' + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + text/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '404': + description: The identityProvider does not exist. + content: + text/plain: + schema: + $ref: '#/components/schemas/ErrorResponse' + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + text/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '500': + description: Unexpected value of protocol. + content: + text/plain: + schema: + $ref: '#/components/schemas/ErrorResponse' + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + text/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '502': + description: Bad Gateway Service Error. + content: + text/plain: + schema: + $ref: '#/components/schemas/ErrorResponse' + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + text/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '401': + description: The User is unauthorized + delete: + tags: + - IdentityProvider + summary: 'Deletes the identity provider with the given id (Authorization required - Roles: delete_idp)' + description: 'Example: DELETE: api/administration/identityprovider/owncompany/identityproviders/6CFEEF93-CB37-405B-B65A-02BEEB81629F' + parameters: + - name: identityProviderId + in: path + description: Id of the identity provider + required: true + schema: + type: string + format: uuid + responses: + '204': + description: No Content + '400': + description: Unexpected value for category of identityProvider. + content: + text/plain: + schema: + $ref: '#/components/schemas/ErrorResponse' + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + text/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '403': + description: The identityProvider is not associated with company of user. + content: + text/plain: + schema: + $ref: '#/components/schemas/ErrorResponse' + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + text/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '404': + description: The identityProvider does not exist. + content: + text/plain: + schema: + $ref: '#/components/schemas/ErrorResponse' + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + text/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '500': + description: Unexpected value of protocol. + content: + text/plain: + schema: + $ref: '#/components/schemas/ErrorResponse' + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + text/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '502': + description: Bad Gateway Service Error. + content: + text/plain: + schema: + $ref: '#/components/schemas/ErrorResponse' + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + text/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '200': + description: Returns a list of identityProviderDetails. + '401': + description: The User is unauthorized + '/api/administration/identityprovider/owncompany/identityproviders/{identityProviderId}/status': + post: + tags: + - IdentityProvider + summary: 'Sets the status of the given Identity Provider (Authorization required - Roles: disable_idp)' + description: 'Example: POST: api/administration/identityprovider/owncompany/identityproviders/6CFEEF93-CB37-405B-B65A-02BEEB81629F/status' + parameters: + - name: identityProviderId + in: path + description: Id of the identity provider + required: true + schema: + type: string + format: uuid + - name: enabled + in: query + description: 'true if the provider should be enabled, otherwise false' + schema: + type: boolean + responses: + '200': + description: Returns a list of identityProviderDetails. + content: + text/plain: + schema: + $ref: '#/components/schemas/IdentityProviderDetails' + application/json: + schema: + $ref: '#/components/schemas/IdentityProviderDetails' + text/json: + schema: + $ref: '#/components/schemas/IdentityProviderDetails' + '400': + description: Unexpected value for category of identityProvider. + content: + text/plain: + schema: + $ref: '#/components/schemas/ErrorResponse' + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + text/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '403': + description: The identityProvider is not associated with company of user. + content: + text/plain: + schema: + $ref: '#/components/schemas/ErrorResponse' + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + text/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '404': + description: The identityProvider does not exist. + content: + text/plain: + schema: + $ref: '#/components/schemas/ErrorResponse' + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + text/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '500': + description: Unexpected value of protocol. + content: + text/plain: + schema: + $ref: '#/components/schemas/ErrorResponse' + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + text/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '502': + description: Bad Gateway Service Error. + content: + text/plain: + schema: + $ref: '#/components/schemas/ErrorResponse' + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + text/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '401': + description: The User is unauthorized + /api/administration/identityprovider/owncompany/users: + get: + tags: + - IdentityProvider + summary: 'Gets the company users for the identity providers (Authorization required - Roles: view_user_management)' + description: 'Example: GET: api/administration/identityprovider/owncompany/users' + parameters: + - name: identityProviderIds + in: query + description: Ids of the identity providers + schema: + type: array + items: + type: string + format: uuid + - name: unlinkedUsersOnly + in: query + description: Only users that doesn't match the given ids + schema: + type: boolean + default: false + responses: + '200': + description: Returns a list of user identity provider data. + content: + text/plain: + schema: + type: array + items: + $ref: '#/components/schemas/UserIdentityProviderData' + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/UserIdentityProviderData' + text/json: + schema: + type: array + items: + $ref: '#/components/schemas/UserIdentityProviderData' + '400': + description: No identity provider was provided. + content: + text/plain: + schema: + $ref: '#/components/schemas/ErrorResponse' + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + text/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '502': + description: Bad Gateway Service Error. + content: + text/plain: + schema: + $ref: '#/components/schemas/ErrorResponse' + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + text/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + /api/administration/identityprovider/owncompany/usersfile: + get: + tags: + - IdentityProvider + summary: 'Gets the company users for the identity providers as a file (Authorization required - Roles: modify_user_account)' + description: 'Example: GET: api/administration/identityprovider/owncompany/usersfile' + parameters: + - name: identityProviderIds + in: query + description: Ids of the identity providers + schema: + type: array + items: + type: string + format: uuid + - name: unlinkedUsersOnly + in: query + description: Only users that doesn't match the given ids + schema: + type: boolean + default: false + responses: + '200': + description: Returns a file of users. + content: + text/plain: + schema: + type: string + format: binary + application/json: + schema: + type: string + format: binary + text/json: + schema: + type: string + format: binary + '400': + description: No identity provider was provided. + content: + text/plain: + schema: + $ref: '#/components/schemas/ErrorResponse' + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + text/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '502': + description: Bad Gateway Service Error. + content: + text/plain: + schema: + $ref: '#/components/schemas/ErrorResponse' + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + text/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + post: + tags: + - IdentityProvider + summary: 'Upload the users and adds them to the user provider (Authorization required - Roles: modify_user_account)' + description: 'Example: POST: api/administration/identityprovider/owncompany/usersfile' + requestBody: + content: + multipart/form-data: + schema: + type: object + properties: + document: + type: file + description: The file including the users + format: binary + encoding: + document: + style: form + responses: + '200': + description: Returns a file of users. + content: + text/plain: + schema: + $ref: '#/components/schemas/IdentityProviderUpdateStats' + application/json: + schema: + $ref: '#/components/schemas/IdentityProviderUpdateStats' + text/json: + schema: + $ref: '#/components/schemas/IdentityProviderUpdateStats' + '400': + description: user is not associated with a company. + content: + text/plain: + schema: + $ref: '#/components/schemas/ErrorResponse' + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + text/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '415': + description: Content type didn't match the expected value. + content: + text/plain: + schema: + $ref: '#/components/schemas/ErrorResponse' + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + text/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '502': + description: Bad Gateway Service Error. + content: + text/plain: + schema: + $ref: '#/components/schemas/ErrorResponse' + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + text/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + '/api/administration/identityprovider/owncompany/users/{companyUserId}/identityprovider/{identityProviderId}': + put: + tags: + - IdentityProvider + summary: 'Updates the given user for the given identity provider (Authorization required - Roles: modify_user_account)' + description: 'Example: PUT: api/administration/identityprovider/owncompany/users/A744E2AA-55AA-4511-9F42-80371220BE26/identityprovider/7DAAF6C3-BEB1-466B-A87A-98DB8CE194B2' + parameters: + - name: companyUserId + in: path + description: Id of the company user + required: true + schema: + type: string + format: uuid + - name: identityProviderId + in: path + description: Id of the identity provider + required: true + schema: + type: string + format: uuid + requestBody: + description: Data that should be updated + content: + application/json: + schema: + $ref: '#/components/schemas/UserLinkData' + text/json: + schema: + $ref: '#/components/schemas/UserLinkData' + application/*+json: + schema: + $ref: '#/components/schemas/UserLinkData' + responses: + '200': + description: Returns the link data. + content: + text/plain: + schema: + $ref: '#/components/schemas/UserIdentityProviderLinkData' + application/json: + schema: + $ref: '#/components/schemas/UserIdentityProviderLinkData' + text/json: + schema: + $ref: '#/components/schemas/UserIdentityProviderLinkData' + '400': + description: user is not associated with a company. + content: + text/plain: + schema: + $ref: '#/components/schemas/ErrorResponse' + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + text/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '403': + description: user does not belong to company of companyUserId. + content: + text/plain: + schema: + $ref: '#/components/schemas/ErrorResponse' + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + text/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '404': + description: companyUserId does not exist. + content: + text/plain: + schema: + $ref: '#/components/schemas/ErrorResponse' + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + text/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '500': + description: companyUserId is not linked to keycloak + content: + text/plain: + schema: + $ref: '#/components/schemas/ErrorResponse' + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + text/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '502': + description: Bad Gateway Service Error. + content: + text/plain: + schema: + $ref: '#/components/schemas/ErrorResponse' + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + text/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '401': + description: The User is unauthorized + get: + tags: + - IdentityProvider + summary: 'Gets the given user for the given identity provider (Authorization required - Roles: view_user_management)' + description: 'Example: GET: api/administration/identityprovider/owncompany/users/A744E2AA-55AA-4511-9F42-80371220BE26/identityprovider/7DAAF6C3-BEB1-466B-A87A-98DB8CE194B2' + operationId: GetOwnCompanyUserIdentityProviderDataAsync + parameters: + - name: companyUserId + in: path + description: Id of the company user + required: true + schema: + type: string + format: uuid + - name: identityProviderId + in: path + description: Id of the identity provider + required: true + schema: + type: string + format: uuid + responses: + '200': + description: Returns the link data. + content: + text/plain: + schema: + $ref: '#/components/schemas/UserIdentityProviderLinkData' + application/json: + schema: + $ref: '#/components/schemas/UserIdentityProviderLinkData' + text/json: + schema: + $ref: '#/components/schemas/UserIdentityProviderLinkData' + '400': + description: user is not associated with a company. + content: + text/plain: + schema: + $ref: '#/components/schemas/ErrorResponse' + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + text/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '403': + description: user does not belong to company of companyUserId. + content: + text/plain: + schema: + $ref: '#/components/schemas/ErrorResponse' + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + text/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '404': + description: companyUserId does not exist. + content: + text/plain: + schema: + $ref: '#/components/schemas/ErrorResponse' + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + text/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '500': + description: companyUserId is not linked to keycloak + content: + text/plain: + schema: + $ref: '#/components/schemas/ErrorResponse' + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + text/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '502': + description: Bad Gateway Service Error. + content: + text/plain: + schema: + $ref: '#/components/schemas/ErrorResponse' + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + text/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '401': + description: The User is unauthorized + delete: + tags: + - IdentityProvider + summary: 'Deletes the given user on the given identity provider (Authorization required - Roles: modify_user_account)' + description: 'Example: DELETE: api/administration/identityprovider/owncompany/users/A744E2AA-55AA-4511-9F42-80371220BE26/identityprovider/7DAAF6C3-BEB1-466B-A87A-98DB8CE194B2' + parameters: + - name: companyUserId + in: path + description: Id of the company user + required: true + schema: + type: string + format: uuid + - name: identityProviderId + in: path + description: Id of the identity provider + required: true + schema: + type: string + format: uuid + responses: + '200': + description: Returns the link data. + content: + text/plain: + schema: + $ref: '#/components/schemas/NoContentResult' + application/json: + schema: + $ref: '#/components/schemas/NoContentResult' + text/json: + schema: + $ref: '#/components/schemas/NoContentResult' + '400': + description: user is not associated with a company. + content: + text/plain: + schema: + $ref: '#/components/schemas/ErrorResponse' + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + text/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '403': + description: user does not belong to company of companyUserId. + content: + text/plain: + schema: + $ref: '#/components/schemas/ErrorResponse' + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + text/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '404': + description: companyUserId does not exist. + content: + text/plain: + schema: + $ref: '#/components/schemas/ErrorResponse' + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + text/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '500': + description: companyUserId is not linked to keycloak + content: + text/plain: + schema: + $ref: '#/components/schemas/ErrorResponse' + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + text/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '502': + description: Bad Gateway Service Error. + content: + text/plain: + schema: + $ref: '#/components/schemas/ErrorResponse' + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + text/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '401': + description: The User is unauthorized + /api/administration/invitation: + post: + tags: + - Invitation + summary: 'Executes the invitation (Authorization required - Roles: invite_new_partner)' + description: 'Example: POST: api/administration/invitation' + requestBody: + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/CompanyInvitationData' + responses: + '200': + description: Successfully executed the invitation. + content: + application/json: + schema: + $ref: '#/components/schemas/CompanyInvitationResponse' + '400': + description: 'Missing mandatory input values (e.g. email, organization name, etc.)' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '500': + description: Internal Server Error. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '502': + description: Bad Gateway Service Error. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '409': + description: user is not associated with company. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '401': + description: The User is unauthorized + '/api/administration/invitation/{processId}/retrigger-create-central-idp': + post: + tags: + - Invitation + summary: 'Retriggers the last failed step (Authorization required - Roles: invite_new_partner)' + parameters: + - name: processId + in: path + description: Id of the process that should be triggered + required: true + schema: + type: string + format: uuid + example: 251e4596-5ff0-4176-b544-840b04ebeb93 + responses: + '204': + description: Empty response on success. + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '404': + description: No registration found for the externalId. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + '/api/administration/invitation/{processId}/retrigger-create-shared-idp-sa': + post: + tags: + - Invitation + summary: 'Retriggers the last failed step (Authorization required - Roles: invite_new_partner)' + parameters: + - name: processId + in: path + description: Id of the process that should be triggered + required: true + schema: + type: string + format: uuid + example: 251e4596-5ff0-4176-b544-840b04ebeb93 + responses: + '204': + description: Empty response on success. + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '404': + description: No registration found for the externalId. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + '/api/administration/invitation/{processId}/retrigger-add-realm-role': + post: + tags: + - Invitation + summary: 'Retriggers the last failed step (Authorization required - Roles: invite_new_partner)' + parameters: + - name: processId + in: path + description: Id of the process that should be triggered + required: true + schema: + type: string + format: uuid + example: 251e4596-5ff0-4176-b544-840b04ebeb93 + responses: + '204': + description: Empty response on success. + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '404': + description: No registration found for the externalId. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + '/api/administration/invitation/{processId}/retrigger-update-central-idp-urls': + post: + tags: + - Invitation + summary: 'Retriggers the last failed step (Authorization required - Roles: invite_new_partner)' + parameters: + - name: processId + in: path + description: Id of the process that should be triggered + required: true + schema: + type: string + format: uuid + example: 251e4596-5ff0-4176-b544-840b04ebeb93 + responses: + '204': + description: Empty response on success. + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '404': + description: No registration found for the externalId. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + '/api/administration/invitation/{processId}/retrigger-create-central-idp-org-mapper': + post: + tags: + - Invitation + summary: 'Retriggers the last failed step (Authorization required - Roles: invite_new_partner)' + parameters: + - name: processId + in: path + description: Id of the process that should be triggered + required: true + schema: + type: string + format: uuid + example: 251e4596-5ff0-4176-b544-840b04ebeb93 + responses: + '204': + description: Empty response on success. + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '404': + description: No registration found for the externalId. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + '/api/administration/invitation/{processId}/retrigger-create-shared-realm-idp-client': + post: + tags: + - Invitation + summary: 'Retriggers the last failed step (Authorization required - Roles: invite_new_partner)' + parameters: + - name: processId + in: path + description: Id of the process that should be triggered + required: true + schema: + type: string + format: uuid + example: 251e4596-5ff0-4176-b544-840b04ebeb93 + responses: + '204': + description: Empty response on success. + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '404': + description: No registration found for the externalId. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + '/api/administration/invitation/{processId}/retrigger-enable-central-idp': + post: + tags: + - Invitation + summary: 'Retriggers the last failed step (Authorization required - Roles: invite_new_partner)' + parameters: + - name: processId + in: path + description: Id of the process that should be triggered + required: true + schema: + type: string + format: uuid + example: 251e4596-5ff0-4176-b544-840b04ebeb93 + responses: + '204': + description: Empty response on success. + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '404': + description: No registration found for the externalId. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + '/api/administration/invitation/{processId}/retrigger-create-database-idp': + post: + tags: + - Invitation + summary: 'Retriggers the last failed step (Authorization required - Roles: invite_new_partner)' + parameters: + - name: processId + in: path + description: Id of the process that should be triggered + required: true + schema: + type: string + format: uuid + example: 251e4596-5ff0-4176-b544-840b04ebeb93 + responses: + '204': + description: Empty response on success. + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '404': + description: No registration found for the externalId. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + '/api/administration/invitation/{processId}/retrigger-invite-shared-client': + post: + tags: + - Invitation + summary: 'Retriggers the last failed step (Authorization required - Roles: invite_new_partner)' + parameters: + - name: processId + in: path + description: Id of the process that should be triggered + required: true + schema: + type: string + format: uuid + example: 251e4596-5ff0-4176-b544-840b04ebeb93 + responses: + '204': + description: Empty response on success. + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '404': + description: No registration found for the externalId. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + '/api/administration/invitation/{processId}/retrigger-create-user': + post: + tags: + - Invitation + summary: 'Retriggers the last failed step (Authorization required - Roles: invite_new_partner)' + parameters: + - name: processId + in: path + description: Id of the process that should be triggered + required: true + schema: + type: string + format: uuid + example: 251e4596-5ff0-4176-b544-840b04ebeb93 + responses: + '204': + description: Empty response on success. + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '404': + description: No registration found for the externalId. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + /api/administration/Mail/ssi-credentials: + post: + tags: + - Mail + summary: 'Creates a mail from the given data (Authorization required - Roles: send_mail)' + description: 'Example: POST: /api/administration/mail/ssi-credentials' + requestBody: + description: Data for the mail + content: + application/json: + schema: + $ref: '#/components/schemas/MailData' + text/json: + schema: + $ref: '#/components/schemas/MailData' + application/*+json: + schema: + $ref: '#/components/schemas/MailData' + responses: + '204': + description: No Content + content: + application/json: + schema: + type: integer + format: int32 + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '403': + description: Forbidden + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + /api/administration/Mail/retrigger-send-mail: + post: + tags: + - Mail + summary: 'Retriggers the mail sending (Authorization required - Roles: retrigger_mail)' + description: 'Example: POST: /api/administration/mail/retrigger-send-mail' + parameters: + - name: processId + in: path + description: The mailing process id of the to retrigger + required: true + schema: + type: string + format: uuid + responses: + '204': + description: No Content + content: + application/json: + schema: + type: integer + format: int32 + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '403': + description: Forbidden + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + /api/administration/registration/Network/partnerRegistration: + post: + tags: + - Network + summary: 'Registers a partner company (Authorization required - Roles: create_partner_registration)' + requestBody: + description: Data for the registration + content: + application/json: + schema: + $ref: '#/components/schemas/PartnerRegistrationData' + responses: + '200': + description: Empty response on success. + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + '/api/administration/registration/Network/{externalId}/retrigger-synchronize-users': + post: + tags: + - Network + summary: 'Retriggers the last failed step (Authorization required - Roles: approve_new_partner)' + parameters: + - name: externalId + in: path + description: Id of the externalId that should be triggered + required: true + schema: + type: string + responses: + '204': + description: Empty response on success. + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '404': + description: No registration found for the externalId. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + '/api/administration/registration/Network/{externalId}/retrigger-callback-osp-approve': + post: + tags: + - Network + summary: 'Retriggers the last failed step (Authorization required - Roles: approve_new_partner)' + parameters: + - name: externalId + in: path + description: Id of the externalId that should be triggered + required: true + schema: + type: string + responses: + '204': + description: Empty response on success. + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '404': + description: No registration found for the externalId. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + '/api/administration/registration/Network/{externalId}/retrigger-callback-osp-decline': + post: + tags: + - Network + summary: 'Retriggers the last failed step (Authorization required - Roles: approve_new_partner)' + parameters: + - name: externalId + in: path + description: Id of the externalId that should be triggered + required: true + schema: + type: string + responses: + '204': + description: Empty response on success. + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '404': + description: No registration found for the externalId. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + '/api/administration/registration/Network/{externalId}/retrigger-callback-osp-submitted': + post: + tags: + - Network + summary: 'Retriggers the last failed step (Authorization required - Roles: approve_new_partner)' + parameters: + - name: externalId + in: path + description: Id of the externalId that should be triggered + required: true + schema: + type: string + responses: + '204': + description: Empty response on success. + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '404': + description: No registration found for the externalId. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + '/api/administration/registration/Network/{externalId}/retrigger-remove-keycloak-user': + post: + tags: + - Network + summary: 'Retriggers the last failed step (Authorization required - Roles: approve_new_partner)' + parameters: + - name: externalId + in: path + description: Id of the externalId that should be triggered + required: true + schema: + type: string + responses: + '204': + description: Empty response on success. + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '404': + description: No registration found for the externalId. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + /api/info: + get: + tags: + - OpenInformation + summary: ' (Authorization required)' + responses: + '200': + description: OK + content: + text/plain: + schema: + type: array + items: + $ref: '#/components/schemas/UrlInformation' + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/UrlInformation' + text/json: + schema: + type: array + items: + $ref: '#/components/schemas/UrlInformation' + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + /api/administration/PartnerNetwork/memberCompanies: + get: + tags: + - PartnerNetwork + summary: 'Get all member companies (Authorization required - Roles: view_membership)' + description: 'Example: GET: api/administration/partnernetwork/memberCompanies' + parameters: + - name: bpnIds + in: query + description: BPN Id's + schema: + type: array + items: + type: string + responses: + '200': + description: Returns all the active member companies bpn. + content: + application/json: + schema: + type: array + items: + type: string + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + '/api/administration/registration/application/{applicationId}/companyDetailsWithAddress': + get: + tags: + - Registration + summary: 'Gets the company with its address (Authorization required - Roles: view_submitted_applications)' + description: 'Example: GET: api/administration/registration/application/4f0146c6-32aa-4bb1-b844-df7e8babdcb4/companyDetailsWithAddress' + parameters: + - name: applicationId + in: path + description: '' + required: true + schema: + type: string + format: uuid + example: 4f0146c6-32aa-4bb1-b844-df7e8babdcb4 + responses: + '200': + description: Returns the company with its address. + content: + application/json: + schema: + $ref: '#/components/schemas/CompanyWithAddressData' + '400': + description: No applicationId was set. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '404': + description: Application ID not found. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + /api/administration/registration/applications: + get: + tags: + - Registration + summary: 'Get Application Detail by Company Name or Status (Authorization required - Roles: view_submitted_applications)' + description: "Example: GET: api/administration/registration/applications?companyName=Car&page=0&size=4&companyApplicationStatus=Closed \n\r\nExample: GET: api/administration/registration/applications?page=0&size=4" + parameters: + - name: page + in: query + description: page index start from 0 + schema: + type: integer + format: int32 + - name: size + in: query + description: size to get number of records + schema: + type: integer + format: int32 + - name: companyApplicationStatusFilter + in: query + description: Search by company applicationstatus + schema: + $ref: '#/components/schemas/CompanyApplicationStatusFilter' + - name: companyName + in: query + description: search by company name + schema: + type: string + responses: + '200': + description: Result as a Company Application Details + content: + application/json: + schema: + $ref: '#/components/schemas/CompanyApplicationDetailsResponse' + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + /api/administration/registration/applicationsWithStatus: + get: + tags: + - Registration + summary: 'fetch all applications details with company user details. (Authorization required - Roles: invite_new_partner)' + description: 'Example: GET: api/administration/registration/applicationsWithStatus?page=0&size=15' + parameters: + - name: page + in: query + description: Optional query parameter defining the page index start from 0 + schema: + type: integer + format: int32 + default: 0 + - name: size + in: query + description: Optional query parameter defining the size to get number of records + schema: + type: integer + format: int32 + default: 15 + - name: companyName + in: query + description: Optional query parameter defining the company name to get number of records as per company name + schema: + type: string + responses: + '200': + description: Result as a All Company Applications Details + content: + application/json: + schema: + $ref: '#/components/schemas/CompanyApplicationWithCompanyUserDetailsResponse' + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + '/api/administration/registration/application/{applicationId}/{bpn}/bpn': + post: + tags: + - Registration + summary: 'Update the BPN for a Company (Authorization required - Roles: approve_new_partner)' + description: 'Example: POST: /api/administration/registration/application/6126fdc8-f572-4a63-a5b3-d5e52cb58136/BPNL00000003CSGV/bpn' + parameters: + - name: applicationId + in: path + description: '' + required: true + schema: + type: string + format: uuid + - name: bpn + in: path + description: '' + required: true + schema: + type: string + responses: + '200': + description: Successfully Updated the BPN. + content: + application/json: + schema: + type: boolean + '400': + description: Bpn is not 16 character long or alphanumeric or does not start with BPNL + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '404': + description: application Id not found + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '409': + description: Bpn is already assigned or alphanumeric or application for company is not pending + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + '/api/administration/registration/applications/{applicationId}/approve': + post: + tags: + - Registration + summary: 'Approves the registration verification for the application with the given id (Authorization required - Roles: approve_new_partner)' + description: 'Example: POST: api/administration/registration/application/4f0146c6-32aa-4bb1-b844-df7e8babdcb4/approve' + parameters: + - name: applicationId + in: path + description: Id of the application that should be approved + required: true + schema: + type: string + format: uuid + responses: + '204': + description: Successfully approved the application + '400': + description: 'Either the CompanyApplication is not in status SUBMITTED, or there is no checklist entry of type Registration_Verification.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '404': + description: Application ID not found. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + '/api/administration/registration/applications/{applicationId}/decline': + post: + tags: + - Registration + summary: 'Declines the registration verification for the application with the given id (Authorization required - Roles: decline_new_partner)' + description: 'Example: POST: api/administration/registration/application/{applicationId}/decline' + parameters: + - name: applicationId + in: path + description: Id of the application that should be declined + required: true + schema: + type: string + format: uuid + requestBody: + description: Comment to explain why the application got declined + content: + application/json: + schema: + $ref: '#/components/schemas/RegistrationDeclineData' + responses: + '204': + description: Successfully declined the application + '400': + description: 'Either the CompanyApplication is not in status SUBMITTED, or there is no checklist entry of type Registration_Verification.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '404': + description: Application ID not found. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + /api/administration/registration/clearinghouse: + post: + tags: + - Registration + summary: 'Processes the clearinghouse response (Authorization required - Roles: update_application_checklist_value)' + requestBody: + description: Response data from clearinghouse + content: + application/json: + schema: + $ref: '#/components/schemas/ClearinghouseResponseData' + responses: + '204': + description: Empty response on success. + '400': + description: Either the CompanyApplication is not in status SUBMITTED or the clearing_house process is not in status IN_PROGRESS. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '404': + description: No application found for the bpn. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + '/api/administration/registration/dim/{bpn}': + post: + tags: + - Registration + summary: 'Processes the dim middlelayer response (Authorization required - Roles: store_didDocument)' + parameters: + - name: bpn + in: path + description: BusinessPartnerNumber for dim + required: true + schema: + type: string + requestBody: + description: Response data from dim + content: + application/json: + schema: + $ref: '#/components/schemas/DimWalletData' + responses: + '204': + description: Empty response on success. + '400': + description: Either the CompanyApplication is not in status SUBMITTED or the clearing_house process is not in status IN_PROGRESS. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '404': + description: No application found for the bpn. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + '/api/administration/registration/applications/{applicationId}/checklistDetails': + get: + tags: + - Registration + summary: 'Gets the information of an applications checklist (Authorization required - Roles: approve_new_partner)' + description: 'Example: GET: api/administration/registration/application/4f0146c6-32aa-4bb1-b844-df7e8babdcb4/checklistDetails' + parameters: + - name: applicationId + in: path + description: Id of the application the checklist should be provided for + required: true + schema: + type: string + format: uuid + responses: + '200': + description: The checklist information for the application + content: + application/json: + schema: + $ref: '#/components/schemas/ChecklistDetails' + '404': + description: Application ID not found. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + '/api/administration/registration/application/{applicationId}/override-clearinghouse': + post: + tags: + - Registration + summary: 'Retriggers the last failed to override the clearinghouse-result (Authorization required - Roles: approve_new_partner)' + parameters: + - name: applicationId + in: path + description: Id of the application that should be triggered + required: true + schema: + type: string + format: uuid + responses: + '204': + description: Empty response on success. + '400': + description: Either the CompanyApplication is not in status SUBMITTED or the next step can't automatically retriggered. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '404': + description: No application found for the applicationId. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + '/api/administration/registration/application/{applicationId}/retrigger-clearinghouse': + post: + tags: + - Registration + summary: 'Retriggers the last failed step (Authorization required - Roles: approve_new_partner)' + parameters: + - name: applicationId + in: path + description: Id of the application that should be triggered + required: true + schema: + type: string + format: uuid + responses: + '204': + description: Empty response on success. + '400': + description: Either the CompanyApplication is not in status SUBMITTED or the next step can't automatically retriggered. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '404': + description: No application found for the applicationId. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + '/api/administration/registration/application/{applicationId}/trigger-identity-wallet': + post: + tags: + - Registration + summary: 'Retriggers the last failed step (Authorization required - Roles: approve_new_partner)' + parameters: + - name: applicationId + in: path + description: Id of the application that should be triggered + required: true + schema: + type: string + format: uuid + responses: + '204': + description: Empty response on success. + '400': + description: Either the CompanyApplication is not in status SUBMITTED or the next step can't automatically retriggered. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '404': + description: No application found for the applicationId. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + '/api/administration/registration/application/{applicationId}/trigger-self-description': + post: + tags: + - Registration + summary: 'Retriggers the last failed step (Authorization required - Roles: approve_new_partner)' + parameters: + - name: applicationId + in: path + description: Id of the application that should be triggered + required: true + schema: + type: string + format: uuid + responses: + '204': + description: Empty response on success. + '400': + description: Either the CompanyApplication is not in status SUBMITTED or the next step can't automatically retriggered. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '404': + description: No application found for the applicationId. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + '/api/administration/registration/application/{applicationId}/trigger-bpn': + post: + tags: + - Registration + summary: 'Retriggers the last failed step (Authorization required - Roles: approve_new_partner)' + parameters: + - name: applicationId + in: path + description: Id of the application that should be triggered + required: true + schema: + type: string + format: uuid + - name: processTypeId + in: query + description: 'Optional: The process type id that should be retriggered' + schema: + $ref: '#/components/schemas/ProcessStepTypeId' + responses: + '204': + description: Empty response on success. + '400': + description: Either the CompanyApplication is not in status SUBMITTED or the next step can't automatically retriggered. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '404': + description: No application found for the applicationId. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + /api/administration/registration/clearinghouse/selfDescription: + post: + tags: + - Registration + summary: 'Processes the clearinghouse self description push (Authorization required - Roles: update_application_checklist_value)' + requestBody: + description: The response data for the self description + content: + application/json: + schema: + $ref: '#/components/schemas/SelfDescriptionResponseData' + responses: + '204': + description: Empty response on success. + '400': + description: The CompanyApplication is not in status SUBMITTED. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '404': + description: Record not found. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + '/api/administration/registration/documents/{documentId}': + get: + tags: + - Registration + summary: 'Retrieves a specific document for the given id. (Authorization required - Roles: approve_new_partner)' + description: 'Example: GET: /api/administration/registration/documents/4ad087bb-80a1-49d3-9ba9-da0b175cd4e3' + parameters: + - name: documentId + in: path + description: Id of the document to get. + required: true + schema: + type: string + format: uuid + example: 4ad087bb-80a1-49d3-9ba9-da0b175cd4e3 + responses: + '200': + description: Returns the file. + content: + application/json: + schema: + type: string + format: binary + '404': + description: Record not found. + content: + application/json: + schema: + type: string + format: binary + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + '/api/administration/registration/application/{applicationId}/retrigger-create-dim-wallet': + post: + tags: + - Registration + summary: 'Retriggers the last failed step (Authorization required - Roles: approve_new_partner)' + parameters: + - name: applicationId + in: path + description: Id of the application that should be triggered + required: true + schema: + type: string + format: uuid + responses: + '204': + description: Empty response on success. + '400': + description: Either the CompanyApplication is not in status SUBMITTED or the next step can't automatically retriggered. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '404': + description: No application found for the applicationId. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + '/api/administration/registration/application/{applicationId}/retrigger-validate-did': + post: + tags: + - Registration + summary: 'Retriggers the last failed step (Authorization required - Roles: approve_new_partner)' + parameters: + - name: applicationId + in: path + description: Id of the application that should be triggered + required: true + schema: + type: string + format: uuid + responses: + '204': + description: Empty response on success. + '400': + description: Either the CompanyApplication is not in status SUBMITTED or the next step can't automatically retriggered. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '404': + description: No application found for the applicationId. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + '/api/administration/registration/application/{applicationId}/retrigger-transmit-bpn-did': + post: + tags: + - Registration + summary: 'Retriggers the last failed step (Authorization required - Roles: approve_new_partner)' + parameters: + - name: applicationId + in: path + description: Id of the application that should be triggered + required: true + schema: + type: string + format: uuid + responses: + '204': + description: Empty response on success. + '400': + description: Either the CompanyApplication is not in status SUBMITTED or the next step can't automatically retriggered. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '404': + description: No application found for the applicationId. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + '/api/administration/registration/application/{applicationId}/retrigger-bpn-credential': + post: + tags: + - Registration + summary: 'Retriggers the last failed step (Authorization required - Roles: approve_new_partner)' + parameters: + - name: applicationId + in: path + description: Id of the application that should be triggered + required: true + schema: + type: string + format: uuid + responses: + '204': + description: Empty response on success. + '400': + description: Either the CompanyApplication is not in status SUBMITTED or the next step can't automatically retriggered. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '404': + description: No application found for the applicationId. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + '/api/administration/registration/application/{applicationId}/retrigger-membership-credential': + post: + tags: + - Registration + summary: 'Retriggers the last failed step (Authorization required - Roles: approve_new_partner)' + parameters: + - name: applicationId + in: path + description: Id of the application that should be triggered + required: true + schema: + type: string + format: uuid + responses: + '204': + description: Empty response on success. + '400': + description: Either the CompanyApplication is not in status SUBMITTED or the next step can't automatically retriggered. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '404': + description: No application found for the applicationId. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + /api/administration/registration/issuer/bpncredential: + post: + tags: + - Registration + summary: 'Processes the issuer bpn response (Authorization required - Roles: update_application_bpn_credential)' + requestBody: + description: Response data from the issuer component + content: + application/json: + schema: + $ref: '#/components/schemas/IssuerResponseData' + responses: + '204': + description: Empty response on success. + '400': + description: Either the CompanyApplication is not in status SUBMITTED or the bpn credential process is not in status IN_PROGRESS. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '404': + description: No application found for the external id. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + /api/administration/registration/issuer/membershipcredential: + post: + tags: + - Registration + summary: 'Processes the issuer membership response (Authorization required - Roles: update_application_membership_credential)' + requestBody: + description: Response data from the issuer component + content: + application/json: + schema: + $ref: '#/components/schemas/IssuerResponseData' + responses: + '204': + description: Empty response on success. + '400': + description: Either the CompanyApplication is not in status SUBMITTED or the membership credential process is not in status IN_PROGRESS. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '404': + description: No application found for the external id. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + '/api/administration/registration/{processId}/retrigger-delete-idpSharedRealm': + post: + tags: + - Registration + summary: 'Retriggers the last failed step (Authorization required - Roles: decline_new_partner)' + parameters: + - name: processId + in: path + description: Id of the process that should be triggered + required: true + schema: + type: string + format: uuid + example: 251e4596-5ff0-4176-b544-840b04ebeb93 + responses: + '204': + description: Empty response on success. + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '404': + description: No Process found for the processId + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + '/api/administration/registration/{processId}/retrigger-delete-idpSharedServiceAccount': + post: + tags: + - Registration + summary: 'Retriggers the last failed step (Authorization required - Roles: decline_new_partner)' + parameters: + - name: processId + in: path + description: Id of the process that should be triggered + required: true + schema: + type: string + format: uuid + example: 251e4596-5ff0-4176-b544-840b04ebeb93 + responses: + '204': + description: Empty response on success. + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '404': + description: No Process found for the processId + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + '/api/administration/registration/{processId}/retrigger-delete-centralIdentityProvider': + post: + tags: + - Registration + summary: 'Retriggers the last failed step (Authorization required - Roles: decline_new_partner)' + parameters: + - name: processId + in: path + description: Id of the process that should be triggered + required: true + schema: + type: string + format: uuid + example: 251e4596-5ff0-4176-b544-840b04ebeb93 + responses: + '204': + description: Empty response on success. + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '404': + description: No Process found for the processId + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + '/api/administration/registration/{processId}/retrigger-delete-centraluser': + post: + tags: + - Registration + summary: 'Retriggers the last failed step (Authorization required - Roles: decline_new_partner)' + parameters: + - name: processId + in: path + description: Id of the process that should be triggered + required: true + schema: + type: string + format: uuid + example: 251e4596-5ff0-4176-b544-840b04ebeb93 + responses: + '204': + description: Empty response on success. + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '404': + description: No Process found for the processId + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + /api/administration/registration/network/companies: + get: + tags: + - Registration + summary: 'Get OSP Company Application Detail by Company Name or Status (Authorization required - Roles: view_submitted_applications)' + description: "Example: GET: api/administration/registration/network/companies?companyName=Car&page=0&size=4&companyApplicationStatus=Closed \n\r\nExample: GET: api/administration/registration/network/companies?page=0&size=4" + parameters: + - name: page + in: query + description: page index start from 0 + schema: + type: integer + format: int32 + - name: size + in: query + description: size to get number of records + schema: + type: integer + format: int32 + - name: companyApplicationStatusFilter + in: query + description: Search by company applicationstatus + schema: + $ref: '#/components/schemas/CompanyApplicationStatusFilter' + - name: companyName + in: query + description: search by company name + schema: + type: string + - name: externalId + in: query + description: search by external Id + schema: + type: string + - name: dateCreatedOrderFilter + in: query + description: sort result by dateCreated ascending or descending + schema: + $ref: '#/components/schemas/DateCreatedOrderFilter' + responses: + '200': + description: Result as a OSP Company Application Details + content: + application/json: + schema: + $ref: '#/components/schemas/CompanyDetailsOspOnboardingResponse' + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + /api/administration/RegistrationStatus/callback: + get: + tags: + - RegistrationStatus + summary: 'Gets the callback address of the onboarding service provider (Authorization required - Roles: configure_partner_registration)' + description: 'Example: GET: api/administration/registrationstatus/callback' + responses: + '200': + description: Returns the company with its address. + content: + application/json: + schema: + $ref: '#/components/schemas/OnboardingServiceProviderCallbackRequestData' + '400': + description: Company is no onboarding service provider. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + post: + tags: + - RegistrationStatus + summary: 'Sets the callback address of the onboarding service provider (Authorization required - Roles: configure_partner_registration)' + description: 'Example: POST: api/administration/registrationstatus/callback' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/OnboardingServiceProviderCallbackRequestData' + responses: + '204': + description: Returns no content. + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + /api/administration/serviceaccount/owncompany/serviceaccounts: + post: + tags: + - ServiceAccount + summary: 'Creates a new technical user / service account with selected role under the same org as the requester (Authorization required - Roles: add_tech_user_management)' + description: 'Example: POST: api/administration/serviceaccount/owncompany/serviceaccounts' + requestBody: + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/ServiceAccountCreationInfo' + responses: + '200': + description: The service account was created. + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/ServiceAccountDetails' + '400': + description: Missing mandatory input values (e.g. name) or not supported authenticationType selected. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '404': + description: 'Record was not found. Possible reason: invalid user role, requester user invalid.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + get: + tags: + - ServiceAccount + summary: 'Gets the service account data as pagination (Authorization required - Roles: view_tech_user_management)' + description: 'Example: GET: api/administration/serviceaccount/owncompany/serviceaccounts' + parameters: + - name: page + in: query + description: the page of service account data + schema: + type: integer + format: int32 + - name: size + in: query + description: number of service account data + schema: + type: integer + format: int32 + - name: isOwner + in: query + description: isOwner either true or false + schema: + type: boolean + - name: clientId + in: query + description: clientId is string clientclientid + schema: + type: string + - name: filterForInactive + in: query + description: isUserStatusActive is True or False + schema: + type: boolean + default: false + - name: userStatus + in: query + description: 'userStatus is ACTIVE, INACTIVE, PENDING or DELETED (optional, multiple values allowed)' + schema: + type: array + items: + $ref: '#/components/schemas/UserStatusId' + responses: + '200': + description: Returns the specific number of service account data for the given page. + content: + application/json: + schema: + $ref: '#/components/schemas/CompanyServiceAccountDataResponse' + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + '/api/administration/serviceaccount/owncompany/serviceaccounts/{serviceAccountId}': + delete: + tags: + - ServiceAccount + summary: 'Deletes the service account with the given id (Authorization required - Roles: delete_tech_user_management)' + description: 'Example: DELETE: api/administration/serviceaccount/owncompany/serviceaccounts/7e85a0b8-0001-ab67-10d1-0ef508201000' + parameters: + - name: serviceAccountId + in: path + description: Id of the service account that should be deleted. + required: true + schema: + type: string + format: uuid + example: 7e85a0b8-0001-ab67-10d1-0ef508201000 + responses: + '200': + description: Successful if the service account was deleted. + content: + application/json: + schema: + type: integer + format: int32 + '404': + description: Record was not found. Service account is either not existing or not connected to the respective company. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '409': + description: Technical User is linked to an active connector. Change the link or deactivate the connector to delete the technical user. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + get: + tags: + - ServiceAccount + summary: 'Gets the service account details for the given id (Authorization required - Roles: view_tech_user_management)' + description: 'Example: GET: api/administration/serviceaccount/owncompany/serviceaccounts/7e85a0b8-0001-ab67-10d1-0ef508201000' + operationId: GetServiceAccountDetails + parameters: + - name: serviceAccountId + in: path + description: Id to get the service account details for. + required: true + schema: + type: string + format: uuid + responses: + '200': + description: Returns a list of service account details. + content: + application/json: + schema: + $ref: '#/components/schemas/ServiceAccountConnectorOfferData' + '404': + description: Record was not found. Service account is either not existing or not connected to the respective company. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '409': + description: Undefined client for service account. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + put: + tags: + - ServiceAccount + summary: 'Updates the service account details with the given id. (Authorization required - Roles: add_tech_user_management)' + description: 'Example: PUT: api/administration/serviceaccount/owncompany/serviceaccounts/7e85a0b8-0001-ab67-10d1-0ef508201000' + parameters: + - name: serviceAccountId + in: path + description: Id of the service account details that should be updated. + required: true + schema: + type: string + format: uuid + requestBody: + description: The new values for the details. + content: + application/json: + schema: + $ref: '#/components/schemas/ServiceAccountEditableDetails' + responses: + '200': + description: Returns the updated service account details. + content: + application/json: + schema: + $ref: '#/components/schemas/ServiceAccountDetails' + '400': + description: "Problem could be one of the following: \n\r\n- other authenticationType values than SECRET are not supported yet \n\r\n- serviceAccountId from path does not match the one in body \n\r\n- serviceAccount is already INACTIVE \n" + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '404': + description: Record was not found. Service account is either not existing or not connected to the respective company. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '409': + description: Undefined client for service account. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + '/api/administration/serviceaccount/owncompany/serviceaccounts/{serviceAccountId}/resetCredentials': + post: + tags: + - ServiceAccount + summary: 'Resets the service account credentials for the given service account Id. (Authorization required - Roles: add_tech_user_management)' + description: 'Example: POST: api/administration/serviceaccount/owncompany/serviceaccounts/7e85a0b8-0001-ab67-10d1-0ef508201000/resetCredentials' + parameters: + - name: serviceAccountId + in: path + description: Id of the service account. + required: true + schema: + type: string + format: uuid + responses: + '200': + description: Returns the service account details. + content: + application/json: + schema: + $ref: '#/components/schemas/ServiceAccountDetails' + '404': + description: Record was not found. Service account is either not existing or not connected to the respective company. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '409': + description: Undefined client for service account. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '502': + description: Bad Gateway Service Error. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + /api/administration/serviceaccount/user/roles: + get: + tags: + - ServiceAccount + summary: 'Get all service account roles (Authorization required - Roles: technical_roles_management)' + description: 'Example: GET: api/administration/serviceaccount/user/roles' + parameters: + - name: languageShortName + in: query + description: 'OPTIONAL: The language short name.' + schema: + type: string + responses: + '200': + description: returns all service account roles + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/UserRoleWithDescription' + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + '/api/administration/serviceaccount/callback/{processId}': + post: + tags: + - ServiceAccount + summary: 'Get all service account roles (Authorization required - Roles: technical_roles_management)' + description: 'Example: POST: api/administration/serviceaccount/callback/{externalId}' + parameters: + - name: processId + in: path + description: The processId that was passed as externalId with the request for creation of the technical user. + required: true + schema: + type: string + format: uuid + requestBody: + description: Information of the technical user which was created. + content: + application/json: + schema: + $ref: '#/components/schemas/AuthenticationDetail' + responses: + '200': + description: returns all service account roles + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + '/api/administration/serviceaccount/callback/{processId}/retrigger-create-dim-technical-user': + post: + tags: + - ServiceAccount + summary: 'Retriggers the create dim technical user (Authorization required - Roles: technical_roles_management)' + description: 'Example: POST: api/administration/serviceaccount/callback/{externalId}/retrigger-create-dim-technical-user' + parameters: + - name: processId + in: path + description: The processId of the dim technical user creation. + required: true + schema: + type: string + format: uuid + responses: + '200': + description: Ok + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + '/api/administration/serviceaccount/callback/{processId}/retrigger-delete-dim-technical-user': + post: + tags: + - ServiceAccount + summary: 'Retriggers the delete dim technical user (Authorization required - Roles: technical_roles_management)' + description: 'Example: POST: api/administration/serviceaccount/callback/{externalId}/retrigger-delete-dim-technical-user' + parameters: + - name: processId + in: path + description: The processId of the dim technical user deletion. + required: true + schema: + type: string + format: uuid + responses: + '200': + description: Ok + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + '/api/administration/serviceaccount/callback/{processId}/delete': + post: + tags: + - ServiceAccount + summary: 'Callback for the successful service account deletion (Authorization required - Roles: technical_roles_management)' + description: 'Example: POST: api/administration/serviceaccount/callback/{externalId}/delete' + parameters: + - name: processId + in: path + description: The processId that was passed as externalId with the request for deletion of the technical user. + required: true + schema: + type: string + format: uuid + responses: + '200': + description: Ok + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + /api/administration/staticdata/usecases: + get: + tags: + - StaticData + summary: 'Retrieves all Use Case Data (Authorization required - Roles: view_use_cases)' + description: 'Example: GET: /api/administration/staticdata/usecases' + responses: + '200': + description: Returns a list of all of the use case data. + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/UseCaseData' + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + /api/administration/staticdata/languagetags: + get: + tags: + - StaticData + summary: 'Retrieve all app language tags - short name (2digit) and long name (Authorization required - Roles: view_app_language)' + description: "Example: GET: /api/administration/staticdata/languagetags\r\nthe \"lang\" parameter is an optional parameter and if not set \"en\" will be used" + responses: + '200': + description: Returns a list of all of the Language i.e german and english + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/LanguageData' + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + /api/administration/staticdata/licenseType: + get: + tags: + - StaticData + summary: 'Retrieve all license types (Authorization required - Roles: view_license_types)' + description: 'Example: GET: /api/administration/staticdata/licenseType' + responses: + '200': + description: Returns a list of all the license type i.e COTS and FOSS + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/LicenseTypeData' + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + /api/administration/staticdata/operator-bpn: + get: + tags: + - StaticData + summary: Retrieve the bpns of the operator companies (Authorization required) + description: 'Example: GET: /api/administration/staticdata/operator-bpn' + responses: + '200': + description: Returns a list of all the operator bpns + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/OperatorBpnData' + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + /api/administration/staticdata/certificateTypes: + get: + tags: + - StaticData + summary: 'Retrieve all certificate types (Authorization required - Roles: view_certificates)' + description: 'Example: GET: /api/administration/staticdata/certificateTypes' + responses: + '200': + description: Returns a list of all of the Language i.e german and english + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/CompanyCertificateTypeData' + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + '/api/administration/staticdata/did/{bpn}/did.json': + get: + tags: + - StaticData + summary: Retrieve all certificate types + description: 'Example: GET: /api/administration/staticdata/did/{bpn}/did.json' + parameters: + - name: bpn + in: path + required: true + schema: + type: string + responses: + '200': + description: Returns a list of all of the Language i.e german and english + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/CompanyCertificateTypeData' + '500': + description: Internal Server Error + /api/administration/SubscriptionConfiguration/owncompany: + get: + tags: + - SubscriptionConfiguration + summary: 'get detail data of the calling users service provider (Authorization required - Roles: add_service_offering, add_apps)' + description: 'Example: GET: api/administration/subscriptionconfiguration/owncompany' + operationId: GetServiceProviderCompanyDetail + responses: + '200': + description: The service provider details. + content: + application/json: + schema: + $ref: '#/components/schemas/ProviderDetailReturnData' + '400': + description: The given data are incorrect. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '403': + description: The calling users company is not a service-provider + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '409': + description: User is not assigned to company. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + put: + tags: + - SubscriptionConfiguration + summary: 'Sets detail data to the calling users service provider (Authorization required - Roles: add_service_offering, add_apps)' + description: 'Example: PUT: api/administration/subscriptionconfiguration/owncompany' + requestBody: + description: Service provider detail data + content: + application/json: + schema: + $ref: '#/components/schemas/ProviderDetailData' + responses: + '204': + description: Empty response on success. + '400': + description: The given data are incorrect. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '403': + description: Forbidden + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '404': + description: Service Provider was not found. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + '/api/administration/SubscriptionConfiguration/process/offer-subscription/{offerSubscriptionId}': + get: + tags: + - SubscriptionConfiguration + summary: 'Gets the process steps for the given offer subscription id (Authorization required - Roles: view_autosetup_status)' + parameters: + - name: offerSubscriptionId + in: path + description: Id of the offer subscription that should be triggered + required: true + schema: + type: string + format: uuid + example: 22dbc488-8f90-40b4-9fbd-ea0b246e827b + responses: + '204': + description: No Content + '400': + description: Either the OfferSubscription is not in status PENDING or the next step can't automatically retriggered. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '404': + description: No OfferSubscription found for the offerSubscriptionId. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '200': + description: Returns the process steps. + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + '/api/administration/SubscriptionConfiguration/process/offer-subscription/{offerSubscriptionId}/retrigger-provider': + post: + tags: + - SubscriptionConfiguration + summary: 'Retriggers the provider for the given offer subscription id (Authorization required - Roles: retrigger_subscription, activate_subscription)' + parameters: + - name: offerSubscriptionId + in: path + description: Id of the offer subscription that should be triggered + required: true + schema: + type: string + format: uuid + example: 22dbc488-8f90-40b4-9fbd-ea0b246e827b + responses: + '204': + description: Empty response on success. + '400': + description: Either the OfferSubscription is not in status PENDING or the next step can't automatically retriggered. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '404': + description: No OfferSubscription found for the offerSubscriptionId. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + '/api/administration/SubscriptionConfiguration/process/offer-subscription/{offerSubscriptionId}/retrigger-create-client': + post: + tags: + - SubscriptionConfiguration + summary: 'Retriggers the client creation for the given offer subscription id (Authorization required - Roles: retrigger_subscription)' + parameters: + - name: offerSubscriptionId + in: path + description: Id of the offer subscription that should be triggered + required: true + schema: + type: string + format: uuid + example: 22dbc488-8f90-40b4-9fbd-ea0b246e827b + responses: + '204': + description: Empty response on success. + '400': + description: Either the OfferSubscription is not in status PENDING or the next step can't automatically retriggered. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '404': + description: No OfferSubscription found for the offerSubscriptionId. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + '/api/administration/SubscriptionConfiguration/process/offer-subscription/{offerSubscriptionId}/retrigger-create-technical-user': + post: + tags: + - SubscriptionConfiguration + summary: 'Retriggers the technical user creation for the given offer subscription id (Authorization required - Roles: retrigger_subscription)' + parameters: + - name: offerSubscriptionId + in: path + description: Id of the offer subscription that should be triggered + required: true + schema: + type: string + format: uuid + example: 22dbc488-8f90-40b4-9fbd-ea0b246e827b + responses: + '204': + description: Empty response on success. + '400': + description: Either the OfferSubscription is not in status PENDING or the next step can't automatically retriggered. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '404': + description: No OfferSubscription found for the offerSubscriptionId. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + '/api/administration/SubscriptionConfiguration/process/offer-subscription/{offerSubscriptionId}/retrigger-provider-callback': + post: + tags: + - SubscriptionConfiguration + summary: 'Retriggers the provider callback for the given offer subscription id (Authorization required - Roles: retrigger_subscription, activate_subscription)' + parameters: + - name: offerSubscriptionId + in: path + description: Id of the offer subscription that should be triggered + required: true + schema: + type: string + format: uuid + example: 22dbc488-8f90-40b4-9fbd-ea0b246e827b + responses: + '204': + description: Empty response on success. + '400': + description: Either the OfferSubscription is not in status ACTIVE or the next step can't automatically retriggered. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '404': + description: No OfferSubscription found for the offerSubscriptionId. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + '/api/administration/SubscriptionConfiguration/process/offer-subscription/{offerSubscriptionId}/retrigger-create-dim-technical-user': + post: + tags: + - SubscriptionConfiguration + summary: 'Retriggers the dim technical user creation for the given offer subscription id (Authorization required - Roles: retrigger_subscription)' + parameters: + - name: offerSubscriptionId + in: path + description: Id of the offer subscription that should be triggered + required: true + schema: + type: string + format: uuid + example: 22dbc488-8f90-40b4-9fbd-ea0b246e827b + responses: + '204': + description: Empty response on success. + '400': + description: Either the OfferSubscription is not in status PENDING or the next step can't automatically retriggered. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '404': + description: No OfferSubscription found for the offerSubscriptionId. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + /api/administration/user/owncompany/users: + post: + tags: + - User + summary: 'Creates new users for the company of the current user (Authorization required - Roles: add_user_account)' + description: 'Example: POST: api/administration/user/owncompany/users' + requestBody: + description: the users that should be created + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/UserCreationInfo' + responses: + '200': + description: User successfully created and invite email send + content: + application/json: + schema: + type: array + items: + type: string + '400': + description: Provided input is not sufficient. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + get: + tags: + - User + summary: 'Get Company User Data (Authorization required - Roles: view_user_management)' + description: 'Example: GET: api/administration/user/owncompany/users?page=0&size=5' + parameters: + - name: page + in: query + description: page index start from 0 + schema: + type: integer + format: int32 + - name: size + in: query + description: size to get number of records + schema: + type: integer + format: int32 + - name: companyUserId + in: query + description: Company User Id + schema: + type: string + format: uuid + - name: firstName + in: query + description: First Name of User + schema: + type: string + - name: lastName + in: query + description: Last Name of User + schema: + type: string + - name: email + in: query + description: Email Id of User + schema: + type: string + responses: + '200': + description: Result as a Company User Data + content: + application/json: + schema: + $ref: '#/components/schemas/CompanyUserDataResponse' + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + delete: + tags: + - User + summary: 'Deletes the users with the given ids. (Authorization required - Roles: delete_user_account)' + description: 'Example: DELETE: api/administration/user/owncompany/users' + requestBody: + description: The ids of the users that should be deleted. + content: + application/json: + schema: + type: array + items: + type: string + format: uuid + responses: + '200': + description: Users have successfully been deleted. + content: + application/json: + schema: + type: array + items: + type: string + format: uuid + '404': + description: Record was not found. User is either not existing or not connected to the respective company. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + /api/administration/user/owncompany/usersfile: + post: + tags: + - User + summary: 'Create new users for the companies shared identityprovider by upload of csv-file (Authorization required - Roles: add_user_account)' + description: 'Example: POST: api/administration/user/owncompany/usersfile' + requestBody: + content: + multipart/form-data: + schema: + type: object + properties: + document: + type: file + description: The file including the users + format: binary + encoding: + document: + style: form + application/json: + schema: + type: object + properties: + document: + type: file + description: The file including the users + format: binary + encoding: + document: + style: form + responses: + '200': + description: Returns a file of users. + content: + application/json: + schema: + $ref: '#/components/schemas/UserCreationStats' + '400': + description: user is not associated with a company. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '415': + description: Content type didn't match the expected value. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '502': + description: Bad Gateway Service Error. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + '/api/administration/user/owncompany/identityprovider/{identityProviderId}/users': + post: + tags: + - User + summary: 'Create a new user for a specific identityprovider (Authorization required - Roles: add_user_account)' + description: 'Example: POST: api/administration/user/owncompany/identityprovider/{identityProviderId}/users' + parameters: + - name: identityProviderId + in: path + description: the id of the identityprovider + required: true + schema: + type: string + format: uuid + requestBody: + description: properties and identityprovider link data for the user to create + content: + application/json: + schema: + $ref: '#/components/schemas/UserCreationInfoIdp' + responses: + '201': + description: Record Created Successfully + content: + application/json: + schema: + type: string + format: uuid + '400': + description: Input is incorrect. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '500': + description: Unexpected Error + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '404': + description: No Record Found. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '409': + description: Company Name is null. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '401': + description: The User is unauthorized + '/api/administration/user/owncompany/identityprovider/{identityProviderId}/usersfile': + post: + tags: + - User + summary: 'Create new users for a specific identityprovider by upload of csv-file (Authorization required - Roles: add_user_account)' + description: 'Example: POST: api/administration/user/owncompany/identityprovider/{identityProviderId}/usersfile' + parameters: + - name: identityProviderId + in: path + description: the id of the identityprovider + required: true + schema: + type: string + format: uuid + requestBody: + content: + multipart/form-data: + schema: + type: object + properties: + document: + type: file + description: The file including the users + format: binary + encoding: + document: + style: form + application/json: + schema: + type: object + properties: + document: + type: file + description: The file including the users + format: binary + encoding: + document: + style: form + responses: + '200': + description: Returns a file of users. + content: + application/json: + schema: + $ref: '#/components/schemas/UserCreationStats' + '400': + description: user is not associated with a company. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '415': + description: Content type didn't match the expected value. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '502': + description: Bad Gateway Service Error. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + '/api/administration/user/owncompany/users/{companyUserId}': + get: + tags: + - User + summary: 'Gets the user details for the given user Id (Authorization required - Roles: view_user_management)' + description: 'Example: GET: api/administration/user/owncompany/users/ac1cf001-7fbc-1f2f-817f-bce0575a0011' + operationId: GetOwnCompanyUserDetails + parameters: + - name: companyUserId + in: path + description: Id of the user to get the details for. + required: true + schema: + type: string + format: uuid + example: ac1cf001-7fbc-1f2f-817f-bce0575a0011 + responses: + '200': + description: Returns the company user details. + content: + application/json: + schema: + $ref: '#/components/schemas/CompanyUserDetailData' + '404': + description: User not found + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + '/api/administration/user/owncompany/users/{companyUserId}/coreoffers/{offerId}/roles': + put: + tags: + - User + summary: 'Updates the portal-roles for the user (Authorization required - Roles: modify_user_account)' + description: 'Example: PUT: api/administration/user/owncompany/users/{companyUserId}/coreoffers/{offerId}/roles' + parameters: + - name: companyUserId + in: path + description: '' + required: true + schema: + type: string + format: uuid + - name: offerId + in: path + description: '' + required: true + schema: + type: string + format: uuid + requestBody: + description: '' + content: + application/json: + schema: + type: array + items: + type: string + responses: + '200': + description: Roles got successfully updated user account. + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/UserRoleWithId' + '400': + description: Invalid User roles for client + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '404': + description: User not found + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + '/api/administration/user/owncompany/users/{companyUserId}/apps/{appId}/roles': + put: + tags: + - User + summary: 'Updates the app-roles for the user (Authorization required - Roles: modify_user_account)' + description: 'Example: PUT: api/administration/user/owncompany/users/{companyUserId}/apps/{appId}/roles' + parameters: + - name: companyUserId + in: path + description: '' + required: true + schema: + type: string + format: uuid + - name: appId + in: path + description: Id of the application + required: true + schema: + type: string + format: uuid + example: D3B1ECA2-6148-4008-9E6C-C1C2AEA5C645 + requestBody: + description: '' + content: + application/json: + schema: + type: array + items: + type: string + responses: + '200': + description: Roles got successfully updated user account. + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/UserRoleWithId' + '400': + description: Invalid User roles for client + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '404': + description: User not found + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + '/api/administration/user/owncompany/users/{companyUserId}/businessPartnerNumbers': + post: + tags: + - User + summary: 'Adds the given business partner numbers to the user for the given id. (Authorization required - Roles: modify_user_account)' + description: 'Example: POST: api/administration/user/owncompany/users/{companyUserId}/businessPartnerNumbers' + parameters: + - name: companyUserId + in: path + description: Id of the user to add the business partner numbers to. + required: true + schema: + type: string + format: uuid + example: ac1cf001-7fbc-1f2f-817f-bce0575a0011 + requestBody: + description: the business partner numbers that should be added. + content: + application/json: + schema: + type: array + items: + type: string + responses: + '200': + description: The business partner numbers have been added successfully. + content: + application/json: + schema: + type: integer + format: int32 + '400': + description: Business Partner Numbers must not exceed 20 characters. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '404': + description: User not found. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + '/api/administration/user/owncompany/users/{companyUserId}/businessPartnerNumbers/{businessPartnerNumber}': + put: + tags: + - User + summary: 'Adds the given business partner number to the user for the given id. (Authorization required - Roles: modify_user_account)' + description: 'Example: PUT: api/administration/user/owncompany/users/{companyUserId}/businessPartnerNumbers/{businessPartnerNumber}' + parameters: + - name: companyUserId + in: path + description: Id of the user to add the business partner numbers to. + required: true + schema: + type: string + format: uuid + example: ac1cf001-7fbc-1f2f-817f-bce0575a0011 + - name: businessPartnerNumber + in: path + description: the business partner number that should be added. + required: true + schema: + type: string + example: CAXSDUMMYCATENAZZ + responses: + '200': + description: The business partner number have been added successfully. + content: + application/json: + schema: + type: integer + format: int32 + '400': + description: Business Partner Numbers must not exceed 20 characters. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '404': + description: User is not existing. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '500': + description: Internal Server Error. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '502': + description: Bad Gateway Service Error. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '401': + description: The User is unauthorized + delete: + tags: + - User + summary: 'Delete BPN assigned to user from DB and Keycloack. (Authorization required - Roles: modify_user_account)' + description: 'Example: DELETE: /api/administration/user/owncompany/users/4f06431c-25ae-40ad-9cac-9dee8fe4754d/businessPartnerNumbers/CAXSDUMMYTESTCX1' + parameters: + - name: companyUserId + in: path + description: ID of the company user to be deleted. + required: true + schema: + type: string + format: uuid + example: 4f06431c-25ae-40ad-9cac-9dee8fe4754d + - name: businessPartnerNumber + in: path + description: BPN to be deleted. + required: true + schema: + type: string + example: CAXSDUMMYTESTCX1 + responses: + '200': + description: Empty response on success. + content: + application/json: + schema: + type: integer + format: int32 + '403': + description: ForbiddenException if both users does not belongs to same company + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '404': + description: Record not found. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '409': + description: User is not associated in keycloak. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + '/api/administration/user/owncompany/users/{companyUserId}/resetPassword': + put: + tags: + - User + summary: 'Resets the password for the given user (Authorization required - Roles: modify_user_account)' + description: 'Example: PUT: api/administration/user/owncompany/users/ac1cf001-7fbc-1f2f-817f-bce0575a0011/resetPassword' + parameters: + - name: companyUserId + in: path + description: Id of the user whose password should be reset. + required: true + schema: + type: string + format: uuid + example: ac1cf001-7fbc-1f2f-817f-bce0575a0011 + responses: + '200': + description: The password was successfully reset. + content: + application/json: + schema: + type: boolean + '400': + description: Maximum amount of password resets reached. Password reset function is locked for the user for a certain time. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '404': + description: User id not found. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '500': + description: 'Internal Server Error, e.g. the password reset failed.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '502': + description: Bad Gateway Service Error. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '401': + description: The User is unauthorized + /api/administration/user/owncompany/roles/coreoffers: + get: + tags: + - User + summary: 'Gets the core offer roles (Authorization required - Roles: view_client_roles)' + description: "Example: GET: api/administration/user/owncompany/roles/coreoffers \n\r\nExample: GET: api/administration/user/owncompany/roles/coreoffers?languageShortName=DE" + parameters: + - name: languageShortName + in: query + description: The shortname of the user role description" + schema: + type: string + example: DE + responses: + '200': + description: A list of OfferRoleInfos. + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/OfferRoleInfos' + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + '/api/administration/user/owncompany/roles/apps/{appId}': + get: + tags: + - User + summary: 'Gets the client roles for the given app. (Authorization required - Roles: view_client_roles)' + description: 'Example: GET: api/administration/user/owncompany/roles/apps/D3B1ECA2-6148-4008-9E6C-C1C2AEA5C645' + parameters: + - name: appId + in: path + description: Id of the app which roles should be returned. + required: true + schema: + type: string + format: uuid + example: D3B1ECA2-6148-4008-9E6C-C1C2AEA5C645 + - name: languageShortName + in: query + description: 'OPTIONAL: The language short name.' + schema: + type: string + responses: + '200': + description: Returns the client roles. + content: + application/json: + schema: + $ref: '#/components/schemas/OfferRoleInfos' + '400': + description: The language does not exist. + '404': + description: The app was not found. + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + /api/administration/user/ownUser: + get: + tags: + - User + summary: 'Gets the user details for the current user. (Authorization required - Roles: view_own_user_account)' + description: 'Example: GET: api/administration/user/ownUser' + responses: + '200': + description: Returns the company user details. + content: + application/json: + schema: + $ref: '#/components/schemas/CompanyOwnUserDetails' + '404': + description: User is not existing/found. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + '/api/administration/user/ownUser/{companyUserId}': + put: + tags: + - User + summary: 'Updates the user details for the given companyUserId. (Authorization required - Roles: change_own_user_account)' + description: 'Example: PUT: api/administration/user/ownUser/ac1cf001-7fbc-1f2f-817f-bce0575a0011' + parameters: + - name: companyUserId + in: path + description: Id of the user that should be updated. + required: true + schema: + type: string + format: uuid + example: ac1cf001-7fbc-1f2f-817f-bce0575a0011 + requestBody: + description: The new details for the user. + content: + application/json: + schema: + $ref: '#/components/schemas/OwnCompanyUserEditableDetails' + responses: + '200': + description: Returns the updated company user details. + content: + application/json: + schema: + $ref: '#/components/schemas/CompanyUserDetails' + '403': + description: Invalid companyUserId for user. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '404': + description: No shared realm userid found for the id in realm + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + delete: + tags: + - User + summary: 'Deletes the own user (Authorization required - Roles: delete_own_user_account)' + description: 'Example: DELETE: api/administration/user/ownUser/ac1cf001-7fbc-1f2f-817f-bce0575a0011' + parameters: + - name: companyUserId + in: path + description: Id of the user that should be deleted + required: true + schema: + type: string + format: uuid + example: ac1cf001-7fbc-1f2f-817f-bce0575a0011 + responses: + '200': + description: Successfully deleted the user. + content: + application/json: + schema: + type: integer + format: int32 + '403': + description: Invalid or not existing user id. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '409': + description: User is not associated with company. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + '/api/administration/user/owncompany/apps/{appId}/users': + get: + tags: + - User + summary: 'Get for given app id all the company assigned users (Authorization required - Roles: view_user_management)' + description: 'Example: GET: /api/administration/user/owncompany/apps/5cf74ef8-e0b7-4984-a872-474828beb5d3/users?page=0&size=15' + parameters: + - name: appId + in: path + description: Get company app users by appId + required: true + schema: + type: string + format: uuid + - name: page + in: query + description: page index start from 0 + schema: + type: integer + format: int32 + default: 0 + - name: size + in: query + description: size to get number of records + schema: + type: integer + format: int32 + default: 15 + - name: firstName + in: query + description: First Name of User + schema: + type: string + - name: lastName + in: query + description: Last Name of User + schema: + type: string + - name: email + in: query + description: Email Id of User + schema: + type: string + - name: roleName + in: query + description: User role name + schema: + type: string + - name: hasRole + in: query + description: Defines whether the users should be filtered with a app role + schema: + type: boolean + responses: + '200': + description: Result as a Company App Users Details + content: + application/json: + schema: + $ref: '#/components/schemas/CompanyAppUserDetailsResponse' + '500': + description: Internal Server Error + '401': + description: The User is unauthorized +components: + schemas: + AgreementConsentData: + type: object + properties: + agreementId: + type: string + description: '' + format: uuid + consentStatus: + $ref: '#/components/schemas/ConsentStatusId' + additionalProperties: false + description: '' + AgreementsRoleData: + type: object + properties: + companyRole: + $ref: '#/components/schemas/CompanyRoleId' + agreements: + type: array + items: + $ref: '#/components/schemas/AgreementConsentData' + description: '' + additionalProperties: false + description: '' + ApplicationChecklistEntryDetails: + type: object + properties: + typeId: + $ref: '#/components/schemas/ApplicationChecklistEntryTypeId' + statusId: + $ref: '#/components/schemas/ApplicationChecklistEntryStatusId' + additionalProperties: false + ApplicationChecklistEntryStatusId: + enum: + - TO_DO + - IN_PROGRESS + - DONE + - FAILED + - SKIPPED + type: string + ApplicationChecklistEntryTypeId: + enum: + - REGISTRATION_VERIFICATION + - BUSINESS_PARTNER_NUMBER + - IDENTITY_WALLET + - BPNL_CREDENTIAL + - MEMBERSHIP_CREDENTIAL + - CLEARING_HOUSE + - SELF_DESCRIPTION_LP + - APPLICATION_ACTIVATION + type: string + AuthenticationDetail: + type: object + properties: + authenticationServiceUrl: + type: string + clientID: + type: string + clientSecret: + type: string + additionalProperties: false + CertificateSorting: + enum: + - CertificateTypeAsc + - CertificateTypeDesc + - ExpiryDateAsc + - ExpiryDateDesc + type: string + CertificateTypeDescription: + type: object + properties: + languageShortName: + type: string + description: + type: string + additionalProperties: false + ChecklistDetails: + type: object + properties: + type: + $ref: '#/components/schemas/ApplicationChecklistEntryTypeId' + status: + $ref: '#/components/schemas/ApplicationChecklistEntryStatusId' + details: + type: string + nullable: true + retriggerableProcessSteps: + type: array + items: + $ref: '#/components/schemas/ProcessStepTypeId' + additionalProperties: false + ClearinghouseResponseData: + type: object + properties: + bpn: + type: string + status: + $ref: '#/components/schemas/ClearinghouseResponseStatus' + message: + type: string + nullable: true + additionalProperties: false + ClearinghouseResponseStatus: + enum: + - CONFIRM + - DECLINE + type: string + CompanyAddressDetailData: + type: object + properties: + companyId: + type: string + format: uuid + name: + type: string + bpn: + type: string + nullable: true + shortName: + type: string + nullable: true + city: + type: string + streetName: + type: string + countryAlpha2Code: + type: string + region: + type: string + nullable: true + streetAdditional: + type: string + nullable: true + streetNumber: + type: string + nullable: true + zipCode: + type: string + nullable: true + companyRole: + type: array + items: + $ref: '#/components/schemas/CompanyRoleId' + additionalProperties: false + CompanyAppUserDetails: + type: object + properties: + companyUserId: + type: string + format: uuid + status: + $ref: '#/components/schemas/UserStatusId' + firstName: + type: string + nullable: true + lastName: + type: string + nullable: true + email: + type: string + nullable: true + roles: + type: array + items: + type: string + additionalProperties: false + CompanyAppUserDetailsResponse: + type: object + properties: + meta: + $ref: '#/components/schemas/Metadata' + content: + type: array + items: + $ref: '#/components/schemas/CompanyAppUserDetails' + additionalProperties: false + CompanyApplicationDetails: + type: object + properties: + applicationId: + type: string + format: uuid + applicationStatus: + $ref: '#/components/schemas/CompanyApplicationStatusId' + dateCreated: + type: string + format: date-time + companyName: + type: string + companyRoles: + type: array + items: + $ref: '#/components/schemas/CompanyRoleId' + applicationChecklist: + type: array + items: + $ref: '#/components/schemas/ApplicationChecklistEntryDetails' + email: + type: string + nullable: true + bpn: + type: string + nullable: true + type: + $ref: '#/components/schemas/CompanyApplicationTypeId' + additionalProperties: false + CompanyApplicationDetailsResponse: + type: object + properties: + meta: + $ref: '#/components/schemas/Metadata' + content: + type: array + items: + $ref: '#/components/schemas/CompanyApplicationDetails' + additionalProperties: false + CompanyApplicationStatusFilter: + enum: + - Closed + - InReview + type: string + description: Filter operations for the CompanyApplicationStatus + CompanyApplicationStatusId: + enum: + - CREATED + - ADD_COMPANY_DATA + - INVITE_USER + - SELECT_COMPANY_ROLE + - UPLOAD_DOCUMENTS + - VERIFY + - SUBMITTED + - CONFIRMED + - DECLINED + - CANCELLED_BY_CUSTOMER + type: string + CompanyApplicationTypeId: + enum: + - INTERNAL + - EXTERNAL + type: string + CompanyApplicationWithCompanyUserDetails: + type: object + properties: + applicationId: + type: string + format: uuid + applicationStatus: + $ref: '#/components/schemas/CompanyApplicationStatusId' + dateCreated: + type: string + format: date-time + companyName: + type: string + email: + type: string + nullable: true + firstName: + type: string + nullable: true + lastName: + type: string + nullable: true + additionalProperties: false + CompanyApplicationWithCompanyUserDetailsResponse: + type: object + properties: + meta: + $ref: '#/components/schemas/Metadata' + content: + type: array + items: + $ref: '#/components/schemas/CompanyApplicationWithCompanyUserDetails' + additionalProperties: false + CompanyAssignedUseCaseData: + type: object + properties: + useCaseId: + type: string + format: uuid + name: + type: string + additionalProperties: false + CompanyCertificateBpnData: + type: object + properties: + companyCertificateType: + $ref: '#/components/schemas/CompanyCertificateTypeId' + companyCertificateStatus: + $ref: '#/components/schemas/CompanyCertificateStatusId' + documentId: + type: string + format: uuid + validFrom: + type: string + format: date-time + nullable: true + validTill: + type: string + format: date-time + nullable: true + externalCertificateNumber: + type: string + nullable: true + sites: + type: array + items: + type: string + nullable: true + issuer: + type: string + nullable: true + validator: + type: string + nullable: true + additionalProperties: false + CompanyCertificateData: + type: object + properties: + companyCertificateType: + $ref: '#/components/schemas/CompanyCertificateTypeId' + companyCertificateStatus: + $ref: '#/components/schemas/CompanyCertificateStatusId' + documentId: + type: string + format: uuid + validFrom: + type: string + format: date-time + nullable: true + validTill: + type: string + format: date-time + nullable: true + externalCertificateNumber: + type: string + nullable: true + sites: + type: array + items: + type: string + nullable: true + issuer: + type: string + nullable: true + validator: + type: string + nullable: true + additionalProperties: false + CompanyCertificateDataResponse: + type: object + properties: + meta: + $ref: '#/components/schemas/Metadata' + content: + type: array + items: + $ref: '#/components/schemas/CompanyCertificateData' + additionalProperties: false + CompanyCertificateStatusId: + enum: + - ACTIVE + - INACTIVE + type: string + CompanyCertificateTypeData: + type: object + properties: + certificateType: + $ref: '#/components/schemas/CompanyCertificateTypeId' + description: + type: array + items: + $ref: '#/components/schemas/CertificateTypeDescription' + additionalProperties: false + CompanyCertificateTypeId: + enum: + - AEO_CTPAT_Security_Declaration + - ISO_9001 + - IATF_16949 + - ISO_14001_EMAS_or_national_certification + - ISO_45001_OHSAS_18001_or_national_certification + - ISO_IEC_27001 + - ISO_50001_or_national_certification + - ISO_IEC_17025 + - ISO_15504_SPICE + - B_BBEE_Certificate_of_South_Africa + - IATF + - TISAX + type: string + CompanyDetailsOspOnboarding: + type: object + properties: + companyId: + type: string + format: uuid + externalId: + type: string + nullable: true + applicationId: + type: string + format: uuid + applicationStatus: + $ref: '#/components/schemas/CompanyApplicationStatusId' + applicationDateCreated: + type: string + format: date-time + dateCreated: + type: string + format: date-time + lastChangedDate: + type: string + format: date-time + nullable: true + companyName: + type: string + companyRoles: + type: array + items: + $ref: '#/components/schemas/CompanyRoleId' + identityProvider: + type: array + items: + $ref: '#/components/schemas/IdentityProvidersDetails' + bpn: + type: string + nullable: true + activeUsers: + type: integer + format: int32 + additionalProperties: false + CompanyDetailsOspOnboardingResponse: + type: object + properties: + meta: + $ref: '#/components/schemas/Metadata' + content: + type: array + items: + $ref: '#/components/schemas/CompanyDetailsOspOnboarding' + additionalProperties: false + CompanyInvitationData: + type: object + properties: + userName: + type: string + nullable: true + firstName: + pattern: ^.+$ + type: string + default: string + lastName: + pattern: ^.+$ + type: string + default: string + email: + type: string + format: email + default: string + organisationName: + type: string + additionalProperties: false + CompanyInvitationResponse: + type: object + properties: + applicationId: + type: string + format: uuid + companyId: + type: string + format: uuid + additionalProperties: false + CompanyMissingSdDocumentData: + type: object + properties: + companyId: + type: string + format: uuid + name: + type: string + additionalProperties: false + CompanyMissingSdDocumentDataResponse: + type: object + properties: + meta: + $ref: '#/components/schemas/Metadata' + content: + type: array + items: + $ref: '#/components/schemas/CompanyMissingSdDocumentData' + additionalProperties: false + CompanyOwnUserDetails: + type: object + properties: + companyUserId: + type: string + format: uuid + created: + type: string + format: date-time + bpn: + type: array + items: + type: string + company: + type: string + status: + $ref: '#/components/schemas/UserStatusId' + assignedRoles: + type: array + items: + $ref: '#/components/schemas/CompanyUserAssignedRoleDetails' + admin: + type: array + items: + $ref: '#/components/schemas/CompanyUserAdminDetails' + idpUserIds: + type: array + items: + $ref: '#/components/schemas/IdpUserId' + firstName: + type: string + nullable: true + lastName: + type: string + nullable: true + email: + type: string + nullable: true + additionalProperties: false + CompanyRoleConsentDetails: + type: object + properties: + companyRoles: + $ref: '#/components/schemas/CompanyRoleId' + agreements: + type: array + items: + $ref: '#/components/schemas/ConsentDetails' + additionalProperties: false + CompanyRoleConsentViewData: + type: object + properties: + companyRoles: + $ref: '#/components/schemas/CompanyRoleId' + roleDescription: + type: string + nullable: true + companyRolesActive: + type: boolean + agreements: + type: array + items: + $ref: '#/components/schemas/ConsentAgreementViewData' + additionalProperties: false + CompanyRoleId: + enum: + - ACTIVE_PARTICIPANT + - APP_PROVIDER + - SERVICE_PROVIDER + - OPERATOR + - ONBOARDING_SERVICE_PROVIDER + type: string + CompanyServiceAccountData: + type: object + properties: + serviceAccountId: + type: string + format: uuid + clientId: + type: string + nullable: true + name: + type: string + serviceAccountType: + $ref: '#/components/schemas/CompanyServiceAccountTypeId' + status: + $ref: '#/components/schemas/UserStatusId' + isOwner: + type: boolean + isProvider: + type: boolean + offerSubscriptionId: + type: string + format: uuid + nullable: true + connector: + $ref: '#/components/schemas/ConnectorResponseData' + offer: + $ref: '#/components/schemas/OfferResponseData' + additionalProperties: false + CompanyServiceAccountDataResponse: + type: object + properties: + meta: + $ref: '#/components/schemas/Metadata' + content: + type: array + items: + $ref: '#/components/schemas/CompanyServiceAccountData' + additionalProperties: false + CompanyServiceAccountKindId: + enum: + - INTERNAL + - EXTERNAL + type: string + CompanyServiceAccountTypeId: + enum: + - MANAGED + - OWN + type: string + CompanyUniqueIdData: + type: object + properties: + type: + $ref: '#/components/schemas/UniqueIdentifierId' + value: + type: string + additionalProperties: false + CompanyUserAdminDetails: + type: object + properties: + id: + type: string + format: uuid + email: + type: string + nullable: true + additionalProperties: false + CompanyUserAssignedRoleDetails: + type: object + properties: + appId: + type: string + format: uuid + roles: + type: array + items: + type: string + additionalProperties: false + CompanyUserData: + type: object + properties: + companyUserId: + type: string + format: uuid + status: + $ref: '#/components/schemas/UserStatusId' + firstName: + type: string + nullable: true + lastName: + type: string + nullable: true + email: + type: string + nullable: true + roles: + type: array + items: + $ref: '#/components/schemas/UserRoleData' + idpUserIds: + type: array + items: + $ref: '#/components/schemas/IdpUserId' + additionalProperties: false + CompanyUserDataResponse: + type: object + properties: + meta: + $ref: '#/components/schemas/Metadata' + content: + type: array + items: + $ref: '#/components/schemas/CompanyUserData' + additionalProperties: false + CompanyUserDetailData: + type: object + properties: + companyUserId: + type: string + format: uuid + created: + type: string + format: date-time + bpn: + type: array + items: + type: string + company: + type: string + status: + $ref: '#/components/schemas/UserStatusId' + assignedRoles: + type: array + items: + $ref: '#/components/schemas/CompanyUserAssignedRoleDetails' + idpUserIds: + type: array + items: + $ref: '#/components/schemas/IdpUserId' + firstName: + type: string + nullable: true + lastName: + type: string + nullable: true + email: + type: string + nullable: true + additionalProperties: false + CompanyUserDetails: + type: object + properties: + companyUserId: + type: string + format: uuid + created: + type: string + format: date-time + bpn: + type: array + items: + type: string + company: + type: string + status: + $ref: '#/components/schemas/UserStatusId' + assignedRoles: + type: array + items: + $ref: '#/components/schemas/CompanyUserAssignedRoleDetails' + firstName: + type: string + nullable: true + lastName: + type: string + nullable: true + email: + type: string + nullable: true + additionalProperties: false + CompanyWithAddressData: + type: object + properties: + companyId: + type: string + description: '' + format: uuid + name: + type: string + description: '' + shortName: + type: string + description: '' + bpn: + type: string + description: '' + city: + type: string + description: '' + streetName: + type: string + description: '' + countryAlpha2Code: + type: string + description: '' + region: + type: string + description: '' + streetAdditional: + type: string + description: '' + streetNumber: + type: string + description: '' + zipCode: + type: string + description: '' + companyRoles: + type: array + items: + $ref: '#/components/schemas/AgreementsRoleData' + description: '' + companyUser: + type: array + items: + $ref: '#/components/schemas/InvitedUserData' + description: '' + uniqueIds: + type: array + items: + $ref: '#/components/schemas/CompanyUniqueIdData' + description: '' + documents: + type: array + items: + $ref: '#/components/schemas/DocumentDetails' + description: '' + created: + type: string + description: '' + format: date-time + nullable: true + lastChanged: + type: string + description: '' + format: date-time + nullable: true + additionalProperties: false + description: '' + ConnectedCompanyData: + type: object + properties: + companyId: + type: string + format: uuid + companyName: + type: string + additionalProperties: false + ConnectorData: + type: object + properties: + name: + type: string + location: + type: string + id: + type: string + format: uuid + type: + $ref: '#/components/schemas/ConnectorTypeId' + status: + $ref: '#/components/schemas/ConnectorStatusId' + hostId: + type: string + format: uuid + nullable: true + hostCompanyName: + type: string + nullable: true + selfDescriptionDocumentId: + type: string + format: uuid + nullable: true + technicalUser: + $ref: '#/components/schemas/TechnicalUserData' + connectorUrl: + type: string + additionalProperties: false + ConnectorDataResponse: + type: object + properties: + meta: + $ref: '#/components/schemas/Metadata' + content: + type: array + items: + $ref: '#/components/schemas/ConnectorData' + additionalProperties: false + ConnectorEndPointData: + type: object + properties: + bpn: + type: string + description: '' + connectorEndpoint: + type: array + items: + type: string + description: '' + additionalProperties: false + description: '' + ConnectorMissingSdDocumentData: + type: object + properties: + connectorId: + type: string + format: uuid + name: + type: string + companyId: + type: string + format: uuid + companyName: + type: string + additionalProperties: false + ConnectorMissingSdDocumentDataResponse: + type: object + properties: + meta: + $ref: '#/components/schemas/Metadata' + content: + type: array + items: + $ref: '#/components/schemas/ConnectorMissingSdDocumentData' + additionalProperties: false + ConnectorResponseData: + type: object + properties: + id: + type: string + format: uuid + name: + type: string + additionalProperties: false + ConnectorStatusId: + enum: + - PENDING + - ACTIVE + - INACTIVE + type: string + ConnectorTypeId: + enum: + - COMPANY_CONNECTOR + - CONNECTOR_AS_A_SERVICE + type: string + ConnectorUpdateRequest: + type: object + properties: + connectorUrl: + type: string + additionalProperties: false + ConsentAgreementViewData: + type: object + properties: + agreementId: + type: string + format: uuid + agreementName: + type: string + documentId: + type: string + format: uuid + nullable: true + consentStatus: + $ref: '#/components/schemas/ConsentStatusId' + agreementLink: + type: string + nullable: true + mandatory: + type: boolean + additionalProperties: false + ConsentDetails: + type: object + properties: + agreementId: + type: string + format: uuid + consentStatus: + $ref: '#/components/schemas/ConsentStatusId' + additionalProperties: false + ConsentStatusId: + enum: + - ACTIVE + - INACTIVE + type: string + DateCreatedOrderFilter: + enum: + - ASC + - DESC + type: string + DimUrlsResponse: + type: object + properties: + trusted_issuer: + type: string + participant_id: + type: string + nullable: true + iatp_id: + type: string + nullable: true + did_resolver: + type: string + decentralIdentityManagementAuthUrl: + type: string + nullable: true + decentralIdentityManagementServiceUrl: + type: string + additionalProperties: false + DimWalletData: + type: object + properties: + did: + type: string + didDocument: { } + authenticationDetails: + $ref: '#/components/schemas/AuthenticationDetail' + additionalProperties: false + DocumentDetails: + type: object + properties: + documentId: + type: string + description: '' + format: uuid + documentType: + $ref: '#/components/schemas/DocumentTypeId' + additionalProperties: false + description: '' + DocumentTypeId: + enum: + - CX_FRAME_CONTRACT + - COMMERCIAL_REGISTER_EXTRACT + - APP_CONTRACT + - CONFORMITY_APPROVAL_REGISTRATION + - ADDITIONAL_DETAILS + - APP_LEADIMAGE + - APP_IMAGE + - SELF_DESCRIPTION + - APP_TECHNICAL_INFORMATION + - CONFORMITY_APPROVAL_CONNECTOR + - CONFORMITY_APPROVAL_BUSINESS_APPS + - CONFORMITY_APPROVAL_SERVICES + - SERVICE_LEADIMAGE + - PRESENTATION + - COMPANY_CERTIFICATE + type: string + ErrorDetails: + type: object + properties: + errorCode: + type: string + type: + type: string + message: + type: string + parameters: + type: array + items: + $ref: '#/components/schemas/ErrorParameter' + additionalProperties: false + ErrorMessageCode: + type: object + properties: + errorCode: + type: string + message: + type: string + additionalProperties: false + ErrorMessageType: + type: object + properties: + errorType: + type: string + errorMessages: + type: array + items: + $ref: '#/components/schemas/ErrorMessageCode' + additionalProperties: false + ErrorParameter: + type: object + properties: + name: + type: string + value: + type: string + additionalProperties: false + ErrorResponse: + type: object + properties: + type: + type: string + title: + type: string + status: + type: integer + format: int32 + errors: + type: object + additionalProperties: + type: array + items: + type: string + errorId: + type: string + details: + type: array + items: + $ref: '#/components/schemas/ErrorDetails' + nullable: true + additionalProperties: false + File: + type: object + additionalProperties: false + IActionResult: + type: object + additionalProperties: false + IamClientAuthMethod: + enum: + - JWT + - SECRET + - X509 + - SECRET_JWT + type: string + IamIdentityProviderClientAuthMethod: + enum: + - JWT + - SECRET_BASIC + - SECRET_POST + - SECRET_JWT + type: string + IamIdentityProviderProtocol: + enum: + - SAML + - OIDC + type: string + IamIdentityProviderSignatureAlgorithm: + enum: + - ES256 + - ES384 + - ES512 + - HS256 + - HS384 + - HS512 + - PS256 + - PS384 + - PS512 + - RS256 + - RS384 + - RS512 + type: string + IdentityProviderCategoryId: + enum: + - KEYCLOAK_OIDC + - KEYCLOAK_SAML + type: string + IdentityProviderDetails: + type: object + properties: + identityProviderId: + type: string + format: uuid + alias: + type: string + nullable: true + identityProviderCategoryId: + $ref: '#/components/schemas/IdentityProviderCategoryId' + identityProviderTypeId: + $ref: '#/components/schemas/IdentityProviderTypeId' + displayName: + type: string + nullable: true + redirectUrl: + type: string + nullable: true + enabled: + type: boolean + nullable: true + mappers: + type: array + items: + $ref: '#/components/schemas/IdentityProviderMapperModel' + nullable: true + oidc: + $ref: '#/components/schemas/IdentityProviderDetailsOidc' + saml: + $ref: '#/components/schemas/IdentityProviderDetailsSaml' + additionalProperties: false + IdentityProviderDetailsOidc: + type: object + properties: + metadataUrl: + type: string + nullable: true + authorizationUrl: + type: string + nullable: true + tokenUrl: + type: string + nullable: true + logoutUrl: + type: string + nullable: true + clientId: + type: string + nullable: true + hasClientSecret: + type: boolean + clientAuthMethod: + $ref: '#/components/schemas/IamIdentityProviderClientAuthMethod' + signatureAlgorithm: + $ref: '#/components/schemas/IamIdentityProviderSignatureAlgorithm' + additionalProperties: false + IdentityProviderDetailsSaml: + type: object + properties: + serviceProviderEntityId: + type: string + nullable: true + singleSignOnServiceUrl: + type: string + nullable: true + additionalProperties: false + IdentityProviderDetailsWithConnectedCompanies: + type: object + properties: + identityProviderId: + type: string + format: uuid + alias: + type: string + nullable: true + identityProviderCategoryId: + $ref: '#/components/schemas/IdentityProviderCategoryId' + identityProviderTypeId: + $ref: '#/components/schemas/IdentityProviderTypeId' + displayName: + type: string + nullable: true + redirectUrl: + type: string + nullable: true + enabled: + type: boolean + nullable: true + connectedCompanies: + type: array + items: + $ref: '#/components/schemas/ConnectedCompanyData' + additionalProperties: false + IdentityProviderEditableDetails: + type: object + properties: + displayName: + type: string + oidc: + $ref: '#/components/schemas/IdentityProviderEditableDetailsOidc' + saml: + $ref: '#/components/schemas/IdentityProviderEditableDetailsSaml' + additionalProperties: false + IdentityProviderEditableDetailsOidc: + type: object + properties: + metadataUrl: + type: string + clientAuthMethod: + $ref: '#/components/schemas/IamIdentityProviderClientAuthMethod' + clientId: + type: string + secret: + type: string + nullable: true + signatureAlgorithm: + $ref: '#/components/schemas/IamIdentityProviderSignatureAlgorithm' + additionalProperties: false + IdentityProviderEditableDetailsSaml: + type: object + properties: + serviceProviderEntityId: + type: string + singleSignOnServiceUrl: + type: string + additionalProperties: false + IdentityProviderMapperModel: + type: object + properties: + id: + type: string + name: + type: string + type: + $ref: '#/components/schemas/IdentityProviderMapperType' + config: + type: object + additionalProperties: + type: string + additionalProperties: false + IdentityProviderMapperType: + enum: + - HARDCODED_SESSION_ATTRIBUTE + - HARDCODED_ATTRIBUTE + - OIDC_ADVANCED_GROUP + - OIDC_USER_ATTRIBUTE + - OIDC_ADVANCED_ROLE + - OIDC_HARDCODED_ROLE + - OIDC_ROLE + - OIDC_USERNAME + - KEYCLOAK_OIDC_ROLE + type: string + IdentityProviderTypeId: + enum: + - OWN + - MANAGED + - SHARED + type: string + IdentityProviderUpdateStats: + type: object + properties: + updated: + type: integer + format: int32 + unchanged: + type: integer + format: int32 + error: + type: integer + format: int32 + total: + type: integer + format: int32 + errors: + type: array + items: + $ref: '#/components/schemas/UserUpdateError' + additionalProperties: false + IdentityProvidersDetails: + type: object + properties: + identityProviderId: + type: string + format: uuid + alias: + type: string + nullable: true + additionalProperties: false + IdpUserId: + type: object + properties: + idpDisplayName: + type: string + idpAlias: + type: string + userId: + type: string + additionalProperties: false + InvitedUserData: + type: object + properties: + userId: + type: string + description: '' + format: uuid + firstName: + type: string + description: '' + lastName: + type: string + description: '' + email: + type: string + description: '' + additionalProperties: false + description: '' + IssuerResponseData: + type: object + properties: + bpn: + type: string + status: + $ref: '#/components/schemas/IssuerResponseStatus' + message: + type: string + nullable: true + additionalProperties: false + IssuerResponseStatus: + enum: + - SUCCESSFUL + - UNSUCCESSFUL + type: string + LanguageData: + type: object + properties: + languageShortName: + type: string + languageLongNames: + type: array + items: + $ref: '#/components/schemas/LanguageDataLongName' + additionalProperties: false + LanguageDataLongName: + type: object + properties: + language: + type: string + longDescription: + type: string + additionalProperties: false + LicenseTypeData: + type: object + properties: + licenseTypeId: + type: integer + format: int32 + name: + type: string + additionalProperties: false + MailData: + type: object + properties: + requester: + type: string + format: uuid + template: + type: string + mailParameters: + type: array + items: + $ref: '#/components/schemas/MailParameter' + additionalProperties: false + MailParameter: + type: object + properties: + key: + type: string + value: + type: string + additionalProperties: false + Metadata: + type: object + properties: + totalElements: + type: integer + format: int32 + totalPages: + type: integer + format: int32 + page: + type: integer + format: int32 + contentSize: + type: integer + format: int32 + additionalProperties: false + NoContentResult: + type: object + properties: + statusCode: + type: integer + format: int32 + additionalProperties: false + OfferResponseData: + type: object + properties: + id: + type: string + format: uuid + type: + $ref: '#/components/schemas/OfferTypeId' + name: + type: string + nullable: true + subscriptionId: + type: string + format: uuid + nullable: true + additionalProperties: false + OfferRoleInfo: + type: object + properties: + roleId: + type: string + format: uuid + role: + type: string + description: + type: string + additionalProperties: false + OfferRoleInfos: + type: object + properties: + offerId: + type: string + format: uuid + roles: + type: array + items: + $ref: '#/components/schemas/OfferRoleInfo' + additionalProperties: false + OfferTypeId: + enum: + - APP + - CORE_COMPONENT + - SERVICE + type: string + OnboardingServiceProviderCallbackRequestData: + type: object + properties: + callbackUrl: + type: string + authUrl: + type: string + clientId: + type: string + clientSecret: + type: string + additionalProperties: false + OperatorBpnData: + type: object + properties: + operatorName: + type: string + bpn: + type: string + additionalProperties: false + OwnCompanyUserEditableDetails: + type: object + properties: + firstName: + pattern: ^.+$ + type: string + default: string + nullable: true + lastName: + pattern: ^.+$ + type: string + default: string + nullable: true + email: + type: string + format: email + default: string + nullable: true + additionalProperties: false + PartnerRegistrationData: + type: object + properties: + name: + type: string + city: + type: string + streetName: + type: string + countryAlpha2Code: + type: string + bpn: + type: string + nullable: true + shortName: + type: string + nullable: true + region: + type: string + nullable: true + streetAdditional: + type: string + nullable: true + streetNumber: + type: string + nullable: true + zipCode: + type: string + nullable: true + uniqueIds: + type: array + items: + $ref: '#/components/schemas/CompanyUniqueIdData' + externalId: + type: string + userDetails: + type: array + items: + $ref: '#/components/schemas/UserDetailData' + companyRoles: + type: array + items: + $ref: '#/components/schemas/CompanyRoleId' + additionalProperties: false + ProcessStepTypeId: + enum: + - MANUAL_VERIFY_REGISTRATION + - CREATE_BUSINESS_PARTNER_NUMBER_PUSH + - CREATE_BUSINESS_PARTNER_NUMBER_PULL + - CREATE_BUSINESS_PARTNER_NUMBER_MANUAL + - CREATE_IDENTITY_WALLET + - RETRIGGER_IDENTITY_WALLET + - START_CLEARING_HOUSE + - RETRIGGER_CLEARING_HOUSE + - AWAIT_CLEARING_HOUSE_RESPONSE + - START_SELF_DESCRIPTION_LP + - RETRIGGER_SELF_DESCRIPTION_LP + - ACTIVATE_APPLICATION + - RETRIGGER_BUSINESS_PARTNER_NUMBER_PUSH + - RETRIGGER_BUSINESS_PARTNER_NUMBER_PULL + - MANUAL_TRIGGER_OVERRIDE_CLEARING_HOUSE + - START_OVERRIDE_CLEARING_HOUSE + - AWAIT_SELF_DESCRIPTION_LP_RESPONSE + - MANUAL_DECLINE_APPLICATION + - CREATE_DIM_WALLET + - AWAIT_DIM_RESPONSE_RESPONSE + - RETRIGGER_CREATE_DIM_WALLET + - VALIDATE_DID_DOCUMENT + - RETRIGGER_VALIDATE_DID_DOCUMENT + - REQUEST_BPN_CREDENTIAL + - AWAIT_BPN_CREDENTIAL_RESPONSE + - REQUEST_MEMBERSHIP_CREDENTIAL + - AWAIT_MEMBERSHIP_CREDENTIAL_RESPONSE + - TRANSMIT_BPN_DID + - RETRIGGER_TRANSMIT_DID_BPN + - RETRIGGER_REQUEST_BPN_CREDENTIAL + - RETRIGGER_REQUEST_MEMBERSHIP_CREDENTIAL + - TRIGGER_PROVIDER + - AWAIT_START_AUTOSETUP + - OFFERSUBSCRIPTION_CLIENT_CREATION + - SINGLE_INSTANCE_SUBSCRIPTION_DETAILS_CREATION + - OFFERSUBSCRIPTION_TECHNICALUSER_CREATION + - ACTIVATE_SUBSCRIPTION + - TRIGGER_PROVIDER_CALLBACK + - RETRIGGER_PROVIDER + - RETRIGGER_OFFERSUBSCRIPTION_CLIENT_CREATION + - RETRIGGER_OFFERSUBSCRIPTION_TECHNICALUSER_CREATION + - RETRIGGER_PROVIDER_CALLBACK + - MANUAL_TRIGGER_ACTIVATE_SUBSCRIPTION + - OFFERSUBSCRIPTION_CREATE_DIM_TECHNICAL_USER + - RETRIGGER_OFFERSUBSCRIPTION_CREATE_DIM_TECHNICAL_USER + - SYNCHRONIZE_USER + - RETRIGGER_SYNCHRONIZE_USER + - TRIGGER_CALLBACK_OSP_SUBMITTED + - TRIGGER_CALLBACK_OSP_APPROVED + - TRIGGER_CALLBACK_OSP_DECLINED + - RETRIGGER_CALLBACK_OSP_SUBMITTED + - RETRIGGER_CALLBACK_OSP_APPROVED + - RETRIGGER_CALLBACK_OSP_DECLINED + - MANUAL_DECLINE_OSP + - REMOVE_KEYCLOAK_USERS + - RETRIGGER_REMOVE_KEYCLOAK_USERS + - SEND_MAIL + - RETRIGGER_SEND_MAIL + - INVITATION_CREATE_CENTRAL_IDP + - INVITATION_CREATE_SHARED_IDP_SERVICE_ACCOUNT + - INVITATION_ADD_REALM_ROLE + - INVITATION_CREATE_SHARED_REALM + - INVITATION_CREATE_CENTRAL_IDP_ORG_MAPPER + - INVITATION_UPDATE_CENTRAL_IDP_URLS + - INVITATION_CREATE_SHARED_CLIENT + - INVITATION_ENABLE_CENTRAL_IDP + - INVITATION_CREATE_DATABASE_IDP + - INVITATION_CREATE_USER + - RETRIGGER_INVITATION_CREATE_CENTRAL_IDP + - RETRIGGER_INVITATION_CREATE_SHARED_IDP_SERVICE_ACCOUNT + - RETRIGGER_INVITATION_ADD_REALM_ROLE + - RETRIGGER_INVITATION_CREATE_SHARED_REALM + - RETRIGGER_INVITATION_CREATE_CENTRAL_IDP_ORG_MAPPER + - RETRIGGER_INVITATION_UPDATE_CENTRAL_IDP_URLS + - RETRIGGER_INVITATION_CREATE_SHARED_CLIENT + - RETRIGGER_INVITATION_ENABLE_CENTRAL_IDP + - RETRIGGER_INVITATION_CREATE_USER + - RETRIGGER_INVITATION_CREATE_DATABASE_IDP + - CREATE_DIM_TECHNICAL_USER + - RETRIGGER_CREATE_DIM_TECHNICAL_USER + - AWAIT_CREATE_DIM_TECHNICAL_USER_RESPONSE + - DELETE_DIM_TECHNICAL_USER + - AWAIT_DELETE_DIM_TECHNICAL_USER_RESPONSE + - RETRIGGER_DELETE_DIM_TECHNICAL_USER + - DELETE_CENTRAL_USER + - RETRIGGER_DELETE_CENTRAL_USER + - DELETE_COMPANYUSER_ASSIGNED_PROCESS + - DELETE_IDP_SHARED_REALM + - RETRIGGER_DELETE_IDP_SHARED_REALM + - DELETE_IDP_SHARED_SERVICEACCOUNT + - RETRIGGER_DELETE_IDP_SHARED_SERVICEACCOUNT + - DELETE_CENTRAL_IDENTITY_PROVIDER + - RETRIGGER_DELETE_CENTRAL_IDENTITY_PROVIDER + - DELETE_IDENTITY_PROVIDER + - SELF_DESCRIPTION_CONNECTOR_CREATION + - SELF_DESCRIPTION_COMPANY_CREATION + - RETRIGGER_SELF_DESCRIPTION_CONNECTOR_CREATION + - RETRIGGER_SELF_DESCRIPTION_COMPANY_CREATION + type: string + ProviderDetailData: + type: object + properties: + url: + type: string + nullable: true + callbackUrl: + type: string + nullable: true + additionalProperties: false + ProviderDetailReturnData: + type: object + properties: + id: + type: string + format: uuid + nullable: true + companyId: + type: string + format: uuid + url: + type: string + nullable: true + additionalProperties: false + RegistrationDeclineData: + type: object + properties: + comment: + type: string + additionalProperties: false + SelfDescriptionResponseData: + type: object + properties: + externalId: + type: string + format: uuid + status: + $ref: '#/components/schemas/SelfDescriptionStatus' + message: + type: string + nullable: true + selfDescriptionDocument: + type: string + nullable: true + additionalProperties: false + SelfDescriptionStatus: + enum: + - Confirm + - Failed + type: string + ServiceAccountConnectorOfferData: + type: object + properties: + serviceAccountId: + type: string + format: uuid + clientId: + type: string + nullable: true + name: + type: string + description: + type: string + authenticationType: + $ref: '#/components/schemas/IamClientAuthMethod' + roles: + type: array + items: + $ref: '#/components/schemas/UserRoleData' + companyServiceAccountTypeId: + $ref: '#/components/schemas/CompanyServiceAccountTypeId' + usertype: + $ref: '#/components/schemas/CompanyServiceAccountKindId' + authenticationServiceUrl: + type: string + status: + $ref: '#/components/schemas/UserStatusId' + secret: + type: string + nullable: true + connector: + $ref: '#/components/schemas/ConnectorResponseData' + offer: + $ref: '#/components/schemas/OfferResponseData' + LastEditorName: + type: string + nullable: true + LastEditorCompanyName: + type: string + nullable: true + additionalProperties: false + ServiceAccountCreationInfo: + type: object + properties: + name: + type: string + description: + type: string + authenticationType: + $ref: '#/components/schemas/IamClientAuthMethod' + roleIds: + type: array + items: + type: string + format: uuid + additionalProperties: false + ServiceAccountDetails: + type: object + properties: + serviceAccountId: + type: string + format: uuid + clientId: + type: string + nullable: true + name: + type: string + description: + type: string + status: + $ref: '#/components/schemas/UserStatusId' + authenticationType: + $ref: '#/components/schemas/IamClientAuthMethod' + roles: + type: array + items: + $ref: '#/components/schemas/UserRoleData' + companyServiceAccountTypeId: + $ref: '#/components/schemas/CompanyServiceAccountTypeId' + secret: + type: string + nullable: true + subscriptionId: + type: string + format: uuid + nullable: true + additionalProperties: false + ServiceAccountEditableDetails: + type: object + properties: + serviceAccountId: + type: string + format: uuid + name: + type: string + description: + type: string + authenticationType: + $ref: '#/components/schemas/IamClientAuthMethod' + additionalProperties: false + TechnicalUserData: + type: object + properties: + id: + type: string + format: uuid + name: + type: string + clientId: + type: string + nullable: true + description: + type: string + additionalProperties: false + UniqueIdentifierId: + enum: + - COMMERCIAL_REG_NUMBER + - VAT_ID + - LEI_CODE + - VIES + - EORI + type: string + UrlInformation: + type: object + properties: + httpMethods: + type: string + url: + type: string + additionalProperties: false + UseCaseData: + type: object + properties: + useCaseId: + type: string + format: uuid + name: + type: string + shortname: + type: string + additionalProperties: false + UseCaseIdDetails: + type: object + properties: + useCaseId: + type: string + format: uuid + additionalProperties: false + UserCreationError: + type: object + properties: + line: + type: integer + format: int32 + message: + type: string + details: + type: array + items: + $ref: '#/components/schemas/ErrorDetails' + additionalProperties: false + UserCreationInfo: + type: object + properties: + userName: + type: string + nullable: true + email: + type: string + firstName: + type: string + nullable: true + lastName: + type: string + nullable: true + roles: + type: array + items: + type: string + additionalProperties: false + UserCreationInfoIdp: + type: object + properties: + firstName: + type: string + lastName: + type: string + email: + type: string + roles: + type: array + items: + type: string + userName: + type: string + userId: + type: string + additionalProperties: false + UserCreationStats: + type: object + properties: + created: + type: integer + format: int32 + error: + type: integer + format: int32 + total: + type: integer + format: int32 + errors: + type: array + items: + $ref: '#/components/schemas/UserCreationError' + additionalProperties: false + UserDetailData: + type: object + properties: + identityProviderId: + type: string + format: uuid + nullable: true + providerId: + type: string + username: + type: string + firstName: + type: string + lastName: + type: string + email: + type: string + additionalProperties: false + UserIdentityProviderData: + type: object + properties: + companyUserId: + type: string + format: uuid + firstName: + type: string + nullable: true + lastName: + type: string + nullable: true + email: + type: string + nullable: true + identityProviders: + type: array + items: + $ref: '#/components/schemas/UserIdentityProviderLinkData' + additionalProperties: false + UserIdentityProviderLinkData: + type: object + properties: + identityProviderId: + type: string + format: uuid + userId: + type: string + userName: + type: string + additionalProperties: false + UserLinkData: + type: object + properties: + userId: + type: string + userName: + type: string + additionalProperties: false + UserRoleData: + type: object + properties: + roleId: + type: string + format: uuid + clientId: + type: string + roleName: + type: string + additionalProperties: false + UserRoleWithDescription: + type: object + properties: + roleId: + type: string + format: uuid + roleName: + type: string + roleDescription: + type: string + nullable: true + additionalProperties: false + UserRoleWithId: + type: object + properties: + companyUserRoleText: + type: string + companyUserRoleId: + type: string + format: uuid + additionalProperties: false + UserStatusId: + enum: + - ACTIVE + - INACTIVE + - DELETED + - PENDING + - PENDING_DELETION + type: string + UserUpdateError: + type: object + properties: + line: + type: integer + format: int32 + message: + type: string + details: + type: array + items: + $ref: '#/components/schemas/ErrorDetails' + additionalProperties: false + securitySchemes: + Bearer: + type: apiKey + description: "JWT Authorization header using the Bearer scheme. \r\n\r\n Enter 'Bearer' [space] and then your token in the text input below.\r\n\r\nExample: \"Bearer 12345abcdef\"" + name: Authorization + in: header +security: + - Bearer: [ ] \ No newline at end of file diff --git a/docs/api/Org.Eclipse.TractusX.Portal.Backend.Apps.Service.yaml b/docs/api/Org.Eclipse.TractusX.Portal.Backend.Apps.Service.yaml new file mode 100644 index 0000000000..d30574955c --- /dev/null +++ b/docs/api/Org.Eclipse.TractusX.Portal.Backend.Apps.Service.yaml @@ -0,0 +1,3773 @@ +openapi: 3.0.1 +info: + title: Org.Eclipse.TractusX.Portal.Backend.Apps.Service + version: v2.3.0 +paths: + '/api/apps/AppChange/{appId}/role/activeapp': + post: + tags: + - AppChange + summary: 'update app roles and related description for "active" owned app offers (Authorization required - Roles: edit_apps)' + description: 'Example: POST: /api/apps/appchange/{appId}/role/activeapp' + parameters: + - name: appId + in: path + description: '' + required: true + schema: + type: string + format: uuid + requestBody: + description: '' + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/AppUserRole' + responses: + '200': + description: created role and role description successfully. + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/AppRoleData' + '400': + description: 'If sub claim is empty/invalid or user does not exist, or any other parameters are invalid.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '404': + description: App does not exist. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '403': + description: User not associated with provider company. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '409': + description: App provider company not set. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + '/api/apps/AppChange/{appId}/appupdate/description': + get: + tags: + - AppChange + summary: 'Get description of the app by Id. (Authorization required - Roles: edit_apps)' + description: 'Example: Get: /api/apps/appchange/092bdae3-a044-4314-94f4-85c65a09e31b/appupdate/description' + parameters: + - name: appId + in: path + description: Id for the app description to retrieve. + required: true + schema: + type: string + format: uuid + example: 092bdae3-a044-4314-94f4-85c65a09e31b + responses: + '200': + description: returns list of app descriptions + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/LocalizedDescription' + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '404': + description: Not Found + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '409': + description: Conflict + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + put: + tags: + - AppChange + summary: 'Create or Update description of the app by Id. (Authorization required - Roles: edit_apps)' + description: 'Example: Put: /api/apps/appchange/092bdae3-a044-4314-94f4-85c65a09e31b/appupdate/description' + parameters: + - name: appId + in: path + description: Id for the app description to create or update. + required: true + schema: + type: string + format: uuid + example: 092bdae3-a044-4314-94f4-85c65a09e31b + requestBody: + description: app description data to create or update. + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/LocalizedDescription' + responses: + '204': + description: The app description succesFully created or updated + content: + application/json: + schema: + $ref: '#/components/schemas/NoContentResult' + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '404': + description: Not Found + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '409': + description: Conflict + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + '/api/apps/AppChange/{appId}/appLeadImage': + post: + tags: + - AppChange + summary: 'Upload offerassigned AppLeadImage document for active apps for given appId for same company as user (Authorization required - Roles: edit_apps)' + description: 'Example: POST: /api/apps/appchange/{appId}/appLeadImage' + parameters: + - name: appId + in: path + description: '' + required: true + schema: + type: string + format: uuid + requestBody: + content: + multipart/form-data: + schema: + type: object + properties: + document: + type: file + description: '' + format: binary + encoding: + document: + style: form + application/json: + schema: + type: object + properties: + document: + type: file + description: '' + format: binary + encoding: + document: + style: form + responses: + '204': + description: Successfully uploaded the document + content: + application/json: + schema: + $ref: '#/components/schemas/NoContentResult' + '400': + description: 'If sub claim is empty/invalid or user does not exist, or any other parameters are invalid.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '403': + description: The user is not assigned with the app. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '415': + description: Only PNG and JPEG files are supported. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + '/api/apps/AppChange/{appId}/deactivateApp': + put: + tags: + - AppChange + summary: 'Deactivate the OfferStatus By appId (Authorization required - Roles: edit_apps)' + description: 'Example: PUT: /api/apps/appchanges/3c77a395-a7e7-40f2-a519-ac16498e0a79/deactivateApp' + parameters: + - name: appId + in: path + description: Id of the app that should be deactive + required: true + schema: + type: string + format: uuid + example: 3c77a395-a7e7-40f2-a519-ac16498e0a79 + responses: + '204': + description: The App Successfully Deactivated + '400': + description: invalid or user does not exist. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '404': + description: If app does not exists. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '403': + description: Missing Permission + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '409': + description: Offer is in incorrect state + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + '/api/apps/AppChange/{appId}/subscription/{subscriptionId}/tenantUrl': + put: + tags: + - AppChange + summary: 'Updates the url for a specific subscription (Authorization required - Roles: edit_apps)' + description: 'Example: Put: /api/apps/appchange/{appId}/subscription/{subscriptionId}/tenantUrl' + parameters: + - name: appId + in: path + description: Id of the app. + required: true + schema: + type: string + format: uuid + example: 092bdae3-a044-4314-94f4-85c65a09e31b + - name: subscriptionId + in: path + description: Id of the subscription. + required: true + schema: + type: string + format: uuid + example: 092bdae3-a044-4314-94f4-85c65a09e31b + requestBody: + description: new url for the subscription. + content: + application/json: + schema: + $ref: '#/components/schemas/UpdateTenantData' + responses: + '204': + description: The app description succesFully created or updated + content: + application/json: + schema: + $ref: '#/components/schemas/NoContentResult' + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '404': + description: Not Found + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '409': + description: Conflict + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + '/api/apps/AppChange/{appId}/documents': + get: + tags: + - AppChange + summary: 'Returns the Active App Documents (Authorization required - Roles: edit_apps)' + description: 'Example: GET /apps/appchange/{appId}/documents' + parameters: + - name: appId + in: path + description: Id of the app. + required: true + schema: + type: string + format: uuid + example: 092bdae3-a044-4314-94f4-85c65a09e31b + responses: + '200': + description: Gets the Active Apps documents + content: + application/json: + schema: + $ref: '#/components/schemas/ActiveAppDocumentData' + '404': + description: If App does not exists + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + '/api/apps/AppChange/{appId}/document/{documentId}': + delete: + tags: + - AppChange + summary: 'Delete Documet for an active app for given appId for same company as user (Authorization required - Roles: edit_apps)' + description: 'Example: DELETE: /api/apps/AppChange/{appId}/document/{documentId}' + parameters: + - name: appId + in: path + description: Id of the app. + required: true + schema: + type: string + format: uuid + example: 092bdae3-a044-4314-94f4-85c65a09e31b + - name: documentId + in: path + description: Id of the Document. + required: true + schema: + type: string + format: uuid + responses: + '204': + description: succesFully deleted document for an active app + content: + application/json: + schema: + $ref: '#/components/schemas/NoContentResult' + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '404': + description: Not Found + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '409': + description: Conflict + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + '/api/apps/AppChange/{appId}/documentType/{documentTypeId}/documents': + post: + tags: + - AppChange + summary: 'Upload document for an active apps for given appId for same company as user (Authorization required - Roles: edit_apps)' + description: 'Example: POST: /api/apps/AppChange/{appId}/documentType/{documentTypeId}/documents' + parameters: + - name: appId + in: path + description: '' + required: true + schema: + type: string + format: uuid + - name: documentTypeId + in: path + description: '' + required: true + schema: + $ref: '#/components/schemas/DocumentTypeId' + requestBody: + content: + multipart/form-data: + schema: + type: object + properties: + document: + type: file + description: '' + format: binary + encoding: + document: + style: form + application/json: + schema: + type: object + properties: + document: + type: file + description: '' + format: binary + encoding: + document: + style: form + responses: + '204': + description: Successfully uploaded the document + content: + application/json: + schema: + $ref: '#/components/schemas/NoContentResult' + '400': + description: 'If sub claim is empty/invalid or user does not exist, or any other parameters are invalid.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '404': + description: App does not exist. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '403': + description: The user is not assigned with the app. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '409': + description: Offer is in incorrect state. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '415': + description: Only PDF files are supported. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + '/api/apps/AppChange/{appId}/roles': + get: + tags: + - AppChange + summary: 'Gets the client roles for the given active app. (Authorization required - Roles: edit_apps)' + description: 'Example: GET: /api/apps/AppChange/D3B1ECA2-6148-4008-9E6C-C1C2AEA5C645/roles' + parameters: + - name: appId + in: path + description: Id of the app which roles should be returned. + required: true + schema: + type: string + format: uuid + example: D3B1ECA2-6148-4008-9E6C-C1C2AEA5C645 + - name: languageShortName + in: query + description: 'OPTIONAL: The language short name.' + schema: + type: string + responses: + '200': + description: Returns the client roles. + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/ActiveAppRoleDetails' + '400': + description: The language does not exist. + '404': + description: The app was not found. + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + '/api/apps/AppReleaseProcess/updateappdoc/{appId}/documentType/{documentTypeId}/documents': + put: + tags: + - AppReleaseProcess + summary: 'Upload document for apps in status CREATED and document in status PENDING in the marketplace for given appId for same company as user (Authorization required - Roles: app_management)' + description: 'Example: PUT: /api/apps/appreleaseprocess/updateappdoc/{appId}/documentType/{documentTypeId}/documents' + parameters: + - name: appId + in: path + description: '' + required: true + schema: + type: string + format: uuid + - name: documentTypeId + in: path + description: '' + required: true + schema: + $ref: '#/components/schemas/DocumentTypeId' + requestBody: + content: + multipart/form-data: + schema: + type: object + properties: + document: + type: file + description: '' + format: binary + encoding: + document: + style: form + application/json: + schema: + type: object + properties: + document: + type: file + description: '' + format: binary + encoding: + document: + style: form + responses: + '204': + description: Successfully uploaded the document + content: + application/json: + schema: + $ref: '#/components/schemas/NoContentResult' + '400': + description: 'If sub claim is empty/invalid or user does not exist, or any other parameters are invalid.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '404': + description: App does not exist. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '403': + description: The user is not assigned with the app. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '409': + description: Offer is in incorrect state. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '415': + description: Only PDF files are supported. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + '/api/apps/AppReleaseProcess/{appId}/role': + post: + tags: + - AppReleaseProcess + summary: 'Add role and role description for App (Authorization required - Roles: edit_apps)' + description: 'Example: POST: /api/apps/appreleaseprocess/{appId}/role' + parameters: + - name: appId + in: path + description: '' + required: true + schema: + type: string + format: uuid + requestBody: + description: '' + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/AppUserRole' + responses: + '200': + description: created role and role description successfully. + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/AppRoleData' + '400': + description: 'If sub claim is empty/invalid or user does not exist, or any other parameters are invalid.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '404': + description: App does not exist. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '403': + description: User not associated with provider company + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + /api/apps/AppReleaseProcess/agreementData: + get: + tags: + - AppReleaseProcess + summary: 'Return Agreement Data for offer_type_id App (Authorization required - Roles: edit_apps)' + description: 'Example: GET: /api/apps/appreleaseprocess/agreementData' + responses: + '200': + description: Returns the Cpllection of agreement data + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/AgreementDocumentData' + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + '/api/apps/AppReleaseProcess/consent/{appId}': + get: + tags: + - AppReleaseProcess + summary: 'Gets the agreement consent status for the given app id (Authorization required - Roles: edit_apps)' + description: 'Example: GET: /api/apps/appreleaseprocess/consent/{appId}' + parameters: + - name: appId + in: path + description: '' + required: true + schema: + type: string + format: uuid + responses: + '200': + description: Returns the Offer Agreement Consent data + content: + application/json: + schema: + $ref: '#/components/schemas/OfferAgreementConsent' + '404': + description: App does not exist. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '403': + description: User not associated with offer. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + '/api/apps/AppReleaseProcess/consent/{appId}/agreementConsents': + post: + tags: + - AppReleaseProcess + summary: 'Update or Insert Consent (Authorization required - Roles: edit_apps)' + description: 'Example: POST: /api/apps/appreleaseprocess/consent/{appId}/agreementConsents' + parameters: + - name: appId + in: path + description: '' + required: true + schema: + type: string + format: uuid + requestBody: + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/OfferAgreementConsent' + responses: + '200': + description: Successfully submitted consent to agreements + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/ConsentStatusData' + '404': + description: App does not exist. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '403': + description: Either the user was not found or the user is not assignable to the given application. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '400': + description: App Id is incorrect. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + '/api/apps/AppReleaseProcess/{appId}/appStatus': + get: + tags: + - AppReleaseProcess + summary: 'Return app detail with status (Authorization required - Roles: app_management)' + description: 'Example: GET: /api/apps/appreleaseprocess/{appId}/appStatus' + parameters: + - name: appId + in: path + description: '' + required: true + schema: + type: string + format: uuid + responses: + '200': + description: Return the Offer and status data + content: + application/json: + schema: + $ref: '#/components/schemas/AppProviderResponse' + '404': + description: App does not exist. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '403': + description: User not associated with provider company. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + '/api/apps/AppReleaseProcess/{appId}/role/{roleId}': + delete: + tags: + - AppReleaseProcess + summary: 'Removes a role from persistence layer by appId and roleId. (Authorization required - Roles: edit_apps)' + description: 'Example: DELETE: /api/apps/appreleaseprocess/{appId}/role/{roleId}' + parameters: + - name: appId + in: path + description: ID of the app to be deleted. + required: true + schema: + type: string + format: uuid + example: 5636F9B9-C3DE-4BA5-8027-00D17A2FECFB + - name: roleId + in: path + description: ID of the role to be deleted. + required: true + schema: + type: string + format: uuid + example: 5636F9B9-C3DE-4BA5-8027-00D17A2FECFB + responses: + '204': + description: Empty response on success. + content: + application/json: + schema: + $ref: '#/components/schemas/IActionResult' + '404': + description: Record not found. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '400': + description: Input is incorrect + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '403': + description: User is not associated with provider company + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + /api/apps/AppReleaseProcess/ownCompany/salesManager: + get: + tags: + - AppReleaseProcess + summary: 'Get All Users with Role of Sales Manager (Authorization required - Roles: add_apps)' + description: 'Example: GET: /api/apps/appreleaseprocess/ownCompany/salesManager' + responses: + '200': + description: Return the Users with Role of Sales Manager. + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/CompanyUserNameData' + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + /api/apps/AppReleaseProcess/createapp: + post: + tags: + - AppReleaseProcess + summary: 'Creates an app according to request model (Authorization required - Roles: add_apps)' + description: 'Example: POST: /api/apps/appreleaseprocess/createapp' + requestBody: + description: Request model for app creation. + content: + application/json: + schema: + $ref: '#/components/schemas/AppRequestModel' + responses: + '201': + description: Returns created app's ID. + content: + application/json: + schema: + type: string + format: uuid + '400': + description: Language Code or Use Case or CompanyId is incorrect + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '403': + description: User is not associated with provider company. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + '/api/apps/AppReleaseProcess/{appId}': + put: + tags: + - AppReleaseProcess + summary: 'Updates an app according to request model (Authorization required - Roles: edit_apps)' + description: 'Example: PUT: /api/apps/appreleaseprocess/15507472-dfdc-4885-b165-8d4a8970a3e2' + parameters: + - name: appId + in: path + description: Id of the app to update + required: true + schema: + type: string + format: uuid + example: 15507472-dfdc-4885-b165-8d4a8970a3e2 + requestBody: + description: Request model for app creation. + content: + application/json: + schema: + $ref: '#/components/schemas/AppRequestModel' + responses: + '204': + description: No Content + '400': + description: Language Code or Use Case or CompanyId is incorrect + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '404': + description: App does not exist + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '403': + description: User don't have permission to change the app. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '409': + description: Offer is in inCorrect State. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '201': + description: Returns created app's ID. + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + delete: + tags: + - AppReleaseProcess + summary: 'Delete App by Id (Authorization required - Roles: edit_apps)' + description: 'Example: DELETE: /api/apps/appreleaseprocess/{appId}' + parameters: + - name: appId + in: path + description: ID of the app to be deleted. + required: true + schema: + type: string + format: uuid + example: 5636F9B9-C3DE-4BA5-8027-00D17A2FECFB + responses: + '204': + description: Empty response on success. + '400': + description: Input is incorrect. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '403': + description: User is not associated with provider company. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '404': + description: Record not found. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + /api/apps/AppReleaseProcess/inReview: + get: + tags: + - AppReleaseProcess + summary: 'Retrieves all in review status apps in the marketplace . (Authorization required - Roles: approve_app_release,decline_app_release)' + description: 'Example: GET: /api/apps/appreleaseprocess/inReview' + parameters: + - name: page + in: query + description: page index start from 0 + schema: + type: integer + format: int32 + default: 0 + - name: size + in: query + description: size to get number of records + schema: + type: integer + format: int32 + default: 15 + - name: sorting + in: query + description: sort by + schema: + $ref: '#/components/schemas/OfferSorting' + - name: offerStatusIdFilter + in: query + description: Filter by offerStatusId + schema: + $ref: '#/components/schemas/OfferStatusIdFilter' + responses: + '200': + description: Returns the list of all in review status marketplace apps. + content: + application/json: + schema: + $ref: '#/components/schemas/InReviewAppDataResponse' + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + '/api/apps/AppReleaseProcess/{appId}/submit': + put: + tags: + - AppReleaseProcess + summary: 'Submit an app for release (Authorization required - Roles: add_apps)' + description: 'Example: PUT: /api/apps/appreleaseprocess/D3B1ECA2-6148-4008-9E6C-C1C2AEA5C645/submit' + parameters: + - name: appId + in: path + description: ID of the app. + required: true + schema: + type: string + format: uuid + example: D3B1ECA2-6148-4008-9E6C-C1C2AEA5C645 + responses: + '204': + description: The app was successfully submitted for release. + '400': + description: 'Either the sub claim is empty/invalid, user does not exist or the subscription might not have the correct status or the companyID is incorrect.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '404': + description: App does not exist. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '409': + description: User not associated with company + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + '/api/apps/AppReleaseProcess/{appId}/approveApp': + put: + tags: + - AppReleaseProcess + summary: 'Approve App to change status from IN_REVIEW to Active and create notification (Authorization required - Roles: approve_app_release)' + description: 'Example: PUT: /api/apps/appreleaseprocess/D3B1ECA2-6148-4008-9E6C-C1C2AEA5C645/approveApp' + parameters: + - name: appId + in: path + description: '' + required: true + schema: + type: string + format: uuid + responses: + '204': + description: The app was successfully submitted to Active State. + '404': + description: App does not exist. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '500': + description: Internal Server Error. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '409': + description: App is in InCorrect Status + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '401': + description: The User is unauthorized + /api/apps/AppReleaseProcess/privacyPolicies: + get: + tags: + - AppReleaseProcess + summary: 'Retrieve Privacy Policies (Authorization required - Roles: add_apps)' + description: 'Example: GET: /api/apps/appreleaseprocess/privacyPolicies' + responses: + '200': + description: Return the privacy policies + content: + application/json: + schema: + $ref: '#/components/schemas/PrivacyPolicyData' + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + '/api/apps/AppReleaseProcess/{appId}/declineApp': + put: + tags: + - AppReleaseProcess + summary: 'Declines the app request (Authorization required - Roles: decline_app_release)' + description: 'Example: PUT: /api/apps/appreleaseprocess/D3B1ECA2-6148-4008-9E6C-C1C2AEA5C645/declineApp' + parameters: + - name: appId + in: path + description: Id of the app that should be declined + required: true + schema: + type: string + format: uuid + example: D3B1ECA2-6148-4008-9E6C-C1C2AEA5C645 + requestBody: + description: the data of the decline request + content: + application/json: + schema: + $ref: '#/components/schemas/OfferDeclineRequest' + responses: + '204': + description: NoContent. + '400': + description: If sub claim is empty/invalid or user does not exist. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '404': + description: If app does not exists. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '403': + description: User does not have permission to change the app + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '409': + description: Offer is in incorrect state + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '500': + description: Internal Server Error + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '401': + description: The User is unauthorized + '/api/apps/AppReleaseProcess/inReview/{appId}': + get: + tags: + - AppReleaseProcess + summary: 'Gets InReview app details for an app referenced by id. (Authorization required - Roles: approve_app_release,decline_app_release)' + description: 'Example: GET: /api/apps/appreleaseprocess/inReview/D3B1ECA2-6148-4008-9E6C-C1C2AEA5C645' + parameters: + - name: appId + in: path + description: ID of the app to retrieve. + required: true + schema: + type: string + format: uuid + example: D3B1ECA2-6148-4008-9E6C-C1C2AEA5C645 + responses: + '200': + description: Returns the requested app details. + content: + application/json: + schema: + $ref: '#/components/schemas/InReviewAppDetails' + '400': + description: If sub claim is empty/invalid. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '404': + description: App not found. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + '/api/apps/AppReleaseProcess/documents/{documentId}': + delete: + tags: + - AppReleaseProcess + summary: 'Delete Document Assigned to Offer (Authorization required - Roles: edit_apps)' + description: 'Example: DELETE: /api/apps/appreleaseprocess/documents/{documentId}' + parameters: + - name: documentId + in: path + description: ID of the document to be deleted. + required: true + schema: + type: string + format: uuid + responses: + '204': + description: Empty response on success. + '404': + description: Record not found. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '403': + description: User is not allowed to delete the document + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '409': + description: Document or App is in InCorrect Status + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '400': + description: parameters are invalid. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + '/api/apps/AppReleaseProcess/instance-type/{appId}': + post: + tags: + - AppReleaseProcess + summary: 'Sets the instance type and all related data for the app (Authorization required - Roles: edit_apps)' + description: 'Example: PUT: /api/apps/appreleaseprocess/instance-type/{appId}' + parameters: + - name: appId + in: path + description: ID of the app to be deleted. + required: true + schema: + type: string + format: uuid + example: 5636F9B9-C3DE-4BA5-8027-00D17A2FECFB + requestBody: + description: Data needed for the instance setup + content: + application/json: + schema: + $ref: '#/components/schemas/AppInstanceSetupData' + responses: + '204': + description: Empty response on success. + '400': + description: Input is incorrect. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '403': + description: User is not associated with provider company. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '404': + description: Record not found. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + '/api/apps/AppReleaseProcess/{appId}/technical-user-profiles': + get: + tags: + - AppReleaseProcess + summary: 'Retrieve app specific stored technical user profile configured to get created if a related app subscription is getting activated. (Authorization required - Roles: add_apps)' + description: 'Example: GET: /api/apps/{appId}/appreleaseprocess/technical-user-profiles' + parameters: + - name: appId + in: path + description: id of the app to receive the technical user profiles for + required: true + schema: + type: string + format: uuid + responses: + '200': + description: Returns a list of profiles + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/TechnicalUserProfileInformation' + '403': + description: Requesting user is not part of the providing company for the service. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + put: + tags: + - AppReleaseProcess + summary: 'Creates and updates the technical user profiles (Authorization required - Roles: add_apps)' + description: 'Example: PUT: /api/apps/appreleaseprocess/{appId}/technical-user-profiles' + parameters: + - name: appId + in: path + description: id of the app to receive the technical user profiles for + required: true + schema: + type: string + format: uuid + requestBody: + description: The data for the update of the technical user profile + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/TechnicalUserProfileData' + responses: + '204': + description: No Content + content: + application/json: + schema: + $ref: '#/components/schemas/NoContentResult' + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '404': + description: Not Found + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '403': + description: Requesting user is not part of the providing company for the service. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '200': + description: Returns a list of profiles + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + '/api/apps/AppReleaseProcess/{appId}/roles': + get: + tags: + - AppReleaseProcess + summary: 'Gets the app providers an overview of configures app roles. (Authorization required - Roles: add_apps)' + description: 'Example: GET: /api/apps/AppChange/D3B1ECA2-6148-4008-9E6C-C1C2AEA5C645/roles' + parameters: + - name: appId + in: path + description: Id of the app which roles should be returned. + required: true + schema: + type: string + format: uuid + example: D3B1ECA2-6148-4008-9E6C-C1C2AEA5C645 + - name: languageShortName + in: query + description: 'OPTIONAL: The language short name.' + schema: + type: string + responses: + '200': + description: Returns the client roles. + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/ActiveAppRoleDetails' + '404': + description: The app was not found. + '403': + description: The app is not the provider of the company + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + /api/apps/active: + get: + tags: + - Apps + summary: 'Retrieves all active apps in the marketplace. (Authorization required - Roles: view_apps)' + description: 'Example: GET: /api/apps/active' + parameters: + - name: lang + in: query + description: Optional two character language specifier for the app description. Will be empty if not provided. + schema: + type: string + example: en + responses: + '200': + description: Returns the list of all active marketplace apps. + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/AppData' + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + /api/apps/business: + get: + tags: + - Apps + summary: 'Get all apps that currently logged in user has been assigned roles in. (Authorization required - Roles: view_apps)' + description: 'Example: GET: /api/apps/business' + responses: + '200': + description: Returns the list of the user's business apps. + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/BusinessAppData' + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + '/api/apps/{appId}': + get: + tags: + - Apps + summary: 'Retrieves app details for an app referenced by id. (Authorization required - Roles: view_apps)' + description: 'Example: GET: /api/apps/D3B1ECA2-6148-4008-9E6C-C1C2AEA5C645' + operationId: GetAppDetailsByIdAsync + parameters: + - name: appId + in: path + description: ID of the app to retrieve. + required: true + schema: + type: string + format: uuid + example: D3B1ECA2-6148-4008-9E6C-C1C2AEA5C645 + - name: lang + in: query + description: Optional two character language specifier for the app description. Will be empty if not provided. + schema: + type: string + example: en + responses: + '200': + description: Returns the requested app details. + content: + application/json: + schema: + $ref: '#/components/schemas/AppDetailResponse' + '404': + description: App not found. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + /api/apps/favourites: + get: + tags: + - Apps + summary: 'Retrieves IDs of all favourite apps of the current user (by sub claim). (Authorization required - Roles: view_apps)' + description: 'Example: GET: /api/apps/favourites' + responses: + '200': + description: Returns the list of favourite apps of current user. + content: + application/json: + schema: + type: array + items: + type: string + format: uuid + '400': + description: If sub claim is empty/invalid. + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + '/api/apps/{appId}/favourite': + post: + tags: + - Apps + summary: 'Adds an app to current user''s favourites. (Authorization required - Roles: view_apps)' + description: 'Example: POST: /api/apps/D3B1ECA2-6148-4008-9E6C-C1C2AEA5C645/favourite' + parameters: + - name: appId + in: path + description: ID of the app to add to user favourites. + required: true + schema: + type: string + format: uuid + example: D3B1ECA2-6148-4008-9E6C-C1C2AEA5C645 + responses: + '204': + description: Favourite app was successfully added to user. + '400': + description: If sub claim is empty/invalid or user does not exist. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + delete: + tags: + - Apps + summary: 'Removes an app from current user''s favourites. (Authorization required - Roles: view_apps)' + description: 'Example: DELETE: /api/apps/D3B1ECA2-6148-4008-9E6C-C1C2AEA5C645/favourite' + parameters: + - name: appId + in: path + description: ID of the app to remove from user favourites. + required: true + schema: + type: string + format: uuid + example: D3B1ECA2-6148-4008-9E6C-C1C2AEA5C645 + responses: + '204': + description: Favourite app was successfully removed from user. + '400': + description: If sub claim is empty/invalid or user does not exist. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + /api/apps/subscribed/subscription-status: + get: + tags: + - Apps + summary: 'Retrieves subscription statuses of apps. (Authorization required - Roles: view_subscription)' + description: 'Example: GET: /api/apps/subscribed/subscription-status' + parameters: + - name: page + in: query + description: The page that should be displayed + schema: + type: integer + format: int32 + default: 0 + - name: size + in: query + description: The size per page of elements that should be returned + schema: + type: integer + format: int32 + default: 15 + - name: status + in: query + description: 'Filter for the offer subscription status. If not set, all elements will be returned' + schema: + $ref: '#/components/schemas/OfferSubscriptionStatusId' + - name: name + in: query + description: An optional search query for the name + schema: + type: string + responses: + '200': + description: Returns list of applicable apps subscription statuses. + content: + application/json: + schema: + $ref: '#/components/schemas/OfferSubscriptionStatusDetailDataResponse' + '400': + description: If sub claim is empty/invalid or user does not exist. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + /api/apps/provided/subscription-status: + get: + tags: + - Apps + summary: 'Retrieves subscription statuses of provided apps of the currently logged in user''s company. (Authorization required - Roles: view_app_subscription)' + description: 'Example: GET: /api/apps/provided/subscription-status' + parameters: + - name: page + in: query + schema: + type: integer + format: int32 + default: 0 + - name: size + in: query + schema: + type: integer + format: int32 + default: 15 + - name: sorting + in: query + schema: + $ref: '#/components/schemas/SubscriptionStatusSorting' + - name: statusId + in: query + schema: + $ref: '#/components/schemas/OfferSubscriptionStatusId' + - name: offerId + in: query + schema: + type: string + format: uuid + - name: companyName + in: query + schema: + type: string + responses: + '200': + description: Returns list of applicable app subscription statuses. + content: + application/json: + schema: + $ref: '#/components/schemas/OfferCompanySubscriptionStatusResponseResponse' + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + '/api/apps/{appId}/subscribe': + post: + tags: + - Apps + summary: 'Adds an app to current user''s company''s subscriptions. (Authorization required - Roles: subscribe_apps)' + description: 'Example: POST: /api/apps/D3B1ECA2-6148-4008-9E6C-C1C2AEA5C645/subscribe' + parameters: + - name: appId + in: path + description: ID of the app to subscribe to. + required: true + schema: + type: string + format: uuid + example: D3B1ECA2-6148-4008-9E6C-C1C2AEA5C645 + requestBody: + description: The agreement consent data + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/OfferAgreementConsentData' + responses: + '204': + description: App was successfully subscribed to. + '400': + description: If sub claim is empty/invalid or user does not exist. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '404': + description: If appId does not exist. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '409': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '500': + description: Internal Server Error + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '401': + description: The User is unauthorized + '/api/apps/appAgreementData/{appId}': + get: + tags: + - Apps + summary: 'Retrieve all app marketplace agreements mandatory to be agreed before releasing an app on the CX marketplace (Authorization required - Roles: subscribe_apps)' + description: 'Example: GET: /api/apps/appAgreementData/D3B1ECA2-6148-4008-9E6C-C1C2AEA5C645' + parameters: + - name: appId + in: path + description: Id for the app consent to retrieve. + required: true + schema: + type: string + format: uuid + example: D3B1ECA2-6148-4008-9E6C-C1C2AEA5C645 + responses: + '200': + description: Returns the app agreement data. + content: + application/json: + schema: + $ref: '#/components/schemas/AgreementData' + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + '/api/apps/subscription/{subscriptionId}/activate': + put: + tags: + - Apps + summary: 'Activates a pending app subscription. (Authorization required - Roles: activate_subscription)' + description: 'Example: PUT: /api/apps/subscription/{subscriptiondId}/activate' + parameters: + - name: subscriptionId + in: path + description: ID of the subscription to activate. + required: true + schema: + type: string + format: uuid + example: D3B1ECA2-6148-4008-9E6C-C1C2AEA5C645 + responses: + '204': + description: App subscription was successfully activated. + '400': + description: 'If sub claim is empty/invalid or user does not exist, or any other parameters are invalid.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '404': + description: 'If sub claim is empty/invalid or user does not exist, or any other parameters are invalid.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '500': + description: Internal Server Error. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '401': + description: The User is unauthorized + '/api/apps/{subscriptionId}/unsubscribe': + put: + tags: + - Apps + summary: 'Unsubscribes an app from the current user''s company''s subscriptions. (Authorization required - Roles: unsubscribe_apps)' + description: 'Example: PUT: /api/apps/{subscriptionId}/unsubscribe' + parameters: + - name: subscriptionId + in: path + description: ID of the subscription to unsubscribe from. + required: true + schema: + type: string + format: uuid + example: D3B1ECA2-6148-4008-9E6C-C1C2AEA5C645 + responses: + '204': + description: The app was successfully unsubscribed from. + '400': + description: 'Either the sub claim is empty/invalid, user does not exist or the subscription might not have the correct status or the companyID is incorrect.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '404': + description: App does not exist. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + /api/apps/provided: + get: + tags: + - Apps + summary: 'Get all company owned apps. (Authorization required - Roles: app_management)' + description: 'Example: GET: /api/apps/provided' + parameters: + - name: page + in: query + schema: + type: integer + format: int32 + default: 0 + - name: size + in: query + schema: + type: integer + format: int32 + default: 15 + - name: sorting + in: query + schema: + $ref: '#/components/schemas/OfferSorting' + - name: offerName + in: query + schema: + type: string + - name: statusId + in: query + description: Filters the OfferStatusId information + schema: + $ref: '#/components/schemas/AppStatusIdFilter' + responses: + '200': + description: Returns list of apps provided by the user assigned company. + content: + application/json: + schema: + $ref: '#/components/schemas/AllOfferDataResponse' + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + /api/apps/autoSetup: + post: + tags: + - Apps + summary: 'Auto setup the app (Authorization required - Roles: activate_subscription)' + description: 'Example: POST: /api/apps/autoSetup' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/OfferAutoSetupData' + responses: + '200': + description: Returns the app agreement data. + content: + application/json: + schema: + $ref: '#/components/schemas/OfferAutoSetupResponseData' + '400': + description: Offer Subscription is pending or not the providing company. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '404': + description: Offer Subscription not found. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + deprecated: true + /api/apps/start-autoSetup: + post: + tags: + - Apps + summary: 'Auto setup the app (Authorization required - Roles: activate_subscription)' + description: 'Example: POST: /api/apps/start-autoSetup' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/OfferAutoSetupData' + responses: + '204': + description: The auto setup has successfully been started. + '400': + description: Offer Subscription is pending or not the providing company. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '404': + description: Offer Subscription not found. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + '/api/apps/subscription/{offerSubscriptionId}/activate-single-instance': + put: + tags: + - Apps + summary: 'Triggers the activation of a single instance app subscription (Authorization required - Roles: activate_subscription)' + description: 'Example: PUT: /api/apps/subscription/{offerSubscriptionId}/activate-single-instance' + parameters: + - name: offerSubscriptionId + in: path + required: true + schema: + type: string + format: uuid + responses: + '204': + description: The activation of the subscription has successfully been started. + '400': + description: Offer Subscription is pending or not the providing company. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '404': + description: Offer Subscription not found. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + '/api/apps/{appId}/appDocuments/{documentId}': + get: + tags: + - Apps + summary: 'Retrieve Document Content for document type "App Lead Image" and "App Image" by ID (Authorization required - Roles: view_documents)' + description: 'Example: GET: /api/apps/{appId}/appDocuments/{documentId}' + parameters: + - name: appId + in: path + description: '' + required: true + schema: + type: string + format: uuid + - name: documentId + in: path + description: '' + required: true + schema: + type: string + format: uuid + responses: + '200': + description: Returns the document Content + content: + image/jpeg: + schema: + type: string + format: binary + image/png: + schema: + type: string + format: binary + image/gif: + schema: + type: string + format: binary + image/svg+xml: + schema: + type: string + format: binary + image/tiff: + schema: + type: string + format: binary + application/pdf: + schema: + type: string + format: binary + application/json: + schema: + type: string + format: binary + '400': + description: Document / App id not found or document type not supported. + content: + image/jpeg: + schema: + $ref: '#/components/schemas/ErrorResponse' + image/png: + schema: + $ref: '#/components/schemas/ErrorResponse' + image/gif: + schema: + $ref: '#/components/schemas/ErrorResponse' + image/svg+xml: + schema: + $ref: '#/components/schemas/ErrorResponse' + image/tiff: + schema: + $ref: '#/components/schemas/ErrorResponse' + application/pdf: + schema: + $ref: '#/components/schemas/ErrorResponse' + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '404': + description: document not found. + content: + image/jpeg: + schema: + $ref: '#/components/schemas/ErrorResponse' + image/png: + schema: + $ref: '#/components/schemas/ErrorResponse' + image/gif: + schema: + $ref: '#/components/schemas/ErrorResponse' + image/svg+xml: + schema: + $ref: '#/components/schemas/ErrorResponse' + image/tiff: + schema: + $ref: '#/components/schemas/ErrorResponse' + application/pdf: + schema: + $ref: '#/components/schemas/ErrorResponse' + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '415': + description: UnSupported Media Type. + content: + image/jpeg: + schema: + $ref: '#/components/schemas/ErrorResponse' + image/png: + schema: + $ref: '#/components/schemas/ErrorResponse' + image/gif: + schema: + $ref: '#/components/schemas/ErrorResponse' + image/svg+xml: + schema: + $ref: '#/components/schemas/ErrorResponse' + image/tiff: + schema: + $ref: '#/components/schemas/ErrorResponse' + application/pdf: + schema: + $ref: '#/components/schemas/ErrorResponse' + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + '/api/apps/{appId}/subscription/{subscriptionId}/provider': + get: + tags: + - Apps + summary: 'Retrieves the details of a subscription (Authorization required - Roles: app_management)' + description: 'Example: GET: /api/apps/{appId}/subscription/{subscriptionId}/provider' + parameters: + - name: appId + in: path + description: id of the app to receive the details for + required: true + schema: + type: string + format: uuid + - name: subscriptionId + in: path + description: id of the subscription to receive the details for + required: true + schema: + type: string + format: uuid + responses: + '200': + description: Returns the subscription details for the provider + content: + application/json: + schema: + $ref: '#/components/schemas/AppProviderSubscriptionDetailData' + '403': + description: User's company does not provide the app. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '404': + description: No app or subscription found. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + '/api/apps/{appId}/subscription/{subscriptionId}/subscriber': + get: + tags: + - Apps + summary: 'Retrieves the details of a subscription (Authorization required - Roles: subscribe_apps)' + description: 'Example: GET: /api/apps/{appId}/subscription/{subscriptionId}/subscriber' + parameters: + - name: appId + in: path + description: id of the app to receive the details for + required: true + schema: + type: string + format: uuid + - name: subscriptionId + in: path + description: id of the subscription to receive the details for + required: true + schema: + type: string + format: uuid + responses: + '200': + description: Returns the subscription details for the subscriber + content: + application/json: + schema: + $ref: '#/components/schemas/SubscriberSubscriptionDetailData' + '403': + description: User's company does not provide the app. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '404': + description: No app or subscription found. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + /api/apps/subscribed/activesubscriptions: + get: + tags: + - Apps + summary: 'Retrieves Active subscription statuses of apps. (Authorization required - Roles: view_subscription)' + description: 'Example: GET: /api/apps/subscribed/activesubscriptions' + responses: + '200': + description: Returns list of applicable active apps subscription statuses. + content: + application/json: + schema: + $ref: '#/components/schemas/ActiveOfferSubscriptionStatusData' + '400': + description: If sub claim is empty/invalid or user does not exist. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + /api/apps/subscribed/subscriptions: + get: + tags: + - Apps + summary: 'Retrieves subscription statuses of apps. (Authorization required - Roles: view_subscription)' + description: 'Example: GET: /api/apps/subscribed/subscriptions' + responses: + '200': + description: Returns list of applicable active apps subscription statuses. + content: + application/json: + schema: + $ref: '#/components/schemas/OfferSubscriptionData' + '400': + description: If sub claim is empty/invalid or user does not exist. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + /api/apps/errormessage: + get: + tags: + - ErrorMessage + responses: + '200': + description: OK + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/ErrorMessageType' + '500': + description: Internal Server Error + /api/info: + get: + tags: + - OpenInformation + summary: ' (Authorization required)' + responses: + '200': + description: OK + content: + text/plain: + schema: + type: array + items: + $ref: '#/components/schemas/UrlInformation' + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/UrlInformation' + text/json: + schema: + type: array + items: + $ref: '#/components/schemas/UrlInformation' + '500': + description: Internal Server Error + '401': + description: The User is unauthorized +components: + schemas: + ActiveAppDocumentData: + type: object + properties: + documents: + type: object + properties: + CX_FRAME_CONTRACT: + type: array + items: + $ref: '#/components/schemas/DocumentData' + COMMERCIAL_REGISTER_EXTRACT: + type: array + items: + $ref: '#/components/schemas/DocumentData' + APP_CONTRACT: + type: array + items: + $ref: '#/components/schemas/DocumentData' + CONFORMITY_APPROVAL_REGISTRATION: + type: array + items: + $ref: '#/components/schemas/DocumentData' + ADDITIONAL_DETAILS: + type: array + items: + $ref: '#/components/schemas/DocumentData' + APP_LEADIMAGE: + type: array + items: + $ref: '#/components/schemas/DocumentData' + APP_IMAGE: + type: array + items: + $ref: '#/components/schemas/DocumentData' + SELF_DESCRIPTION: + type: array + items: + $ref: '#/components/schemas/DocumentData' + APP_TECHNICAL_INFORMATION: + type: array + items: + $ref: '#/components/schemas/DocumentData' + CONFORMITY_APPROVAL_CONNECTOR: + type: array + items: + $ref: '#/components/schemas/DocumentData' + CONFORMITY_APPROVAL_BUSINESS_APPS: + type: array + items: + $ref: '#/components/schemas/DocumentData' + CONFORMITY_APPROVAL_SERVICES: + type: array + items: + $ref: '#/components/schemas/DocumentData' + SERVICE_LEADIMAGE: + type: array + items: + $ref: '#/components/schemas/DocumentData' + PRESENTATION: + type: array + items: + $ref: '#/components/schemas/DocumentData' + COMPANY_CERTIFICATE: + type: array + items: + $ref: '#/components/schemas/DocumentData' + additionalProperties: false + description: Id of the App. + additionalProperties: false + description: View model of an Active App Documents + ActiveAppRoleDetails: + type: object + properties: + roleId: + type: string + format: uuid + role: + type: string + descriptions: + type: array + items: + $ref: '#/components/schemas/ActiveAppUserRoleDescription' + additionalProperties: false + ActiveAppUserRoleDescription: + type: object + properties: + languageCode: + type: string + description: + type: string + additionalProperties: false + ActiveOfferSubscriptionStatusData: + type: object + properties: + offerId: + type: string + format: uuid + name: + type: string + nullable: true + provider: + type: string + image: + type: string + format: uuid + nullable: true + subscriptionId: + type: string + format: uuid + additionalProperties: false + AgreementConsentStatus: + type: object + properties: + agreementId: + type: string + format: uuid + consentStatus: + $ref: '#/components/schemas/ConsentStatusId' + additionalProperties: false + AgreementData: + type: object + properties: + agreementId: + type: string + format: uuid + name: + type: string + mandatory: + type: boolean + additionalProperties: false + AgreementDocumentData: + type: object + properties: + agreementId: + type: string + format: uuid + name: + type: string + agreementLink: + type: string + nullable: true + documentId: + type: string + format: uuid + nullable: true + mandatory: + type: boolean + additionalProperties: false + AllOfferData: + type: object + properties: + id: + type: string + format: uuid + name: + type: string + nullable: true + leadPictureId: + type: string + format: uuid + provider: + type: string + status: + $ref: '#/components/schemas/OfferStatusId' + lastChanged: + type: string + format: date-time + nullable: true + additionalProperties: false + AllOfferDataResponse: + type: object + properties: + meta: + $ref: '#/components/schemas/Metadata' + content: + type: array + items: + $ref: '#/components/schemas/AllOfferData' + additionalProperties: false + AppData: + type: object + properties: + id: + type: string + description: Id of the App. + format: uuid + name: + type: string + description: Name of the app. + shortDescription: + type: string + description: Short description. + provider: + type: string + description: Provider. + licenseType: + $ref: '#/components/schemas/LicenseTypeId' + price: + type: string + description: Price. + leadPictureId: + type: string + description: Lead pircture Id. + format: uuid + useCases: + type: array + items: + type: string + description: The apps use cases. + additionalProperties: false + description: View model of an application's base data. + AppDetailResponse: + type: object + properties: + id: + type: string + description: ID of the app. + format: uuid + title: + type: string + description: Title or name of the app. + leadPictureId: + type: string + description: Uri to app's lead picture. + format: uuid + images: + type: array + items: + type: string + format: uuid + description: List of Images to app's secondary pictures. + providerUri: + type: string + description: Uri to provider's marketing presence. + provider: + type: string + description: Provider of the app. + contactEmail: + type: string + description: Email address of the app's primary contact. + nullable: true + contactNumber: + type: string + description: Phone number of the app's primary contact. + nullable: true + useCases: + type: array + items: + $ref: '#/components/schemas/AppUseCaseData' + description: Names of the app's use cases. + longDescription: + type: string + description: Long description of the app. + licenseType: + $ref: '#/components/schemas/LicenseTypeId' + price: + type: string + description: Pricing information of the app. + tags: + type: array + items: + type: string + description: Tags assigned to application. + isSubscribed: + $ref: '#/components/schemas/OfferSubscriptionStatusId' + languages: + type: array + items: + type: string + description: Languages that the app is available in. + documents: + type: object + properties: + CX_FRAME_CONTRACT: + type: array + items: + $ref: '#/components/schemas/DocumentData' + COMMERCIAL_REGISTER_EXTRACT: + type: array + items: + $ref: '#/components/schemas/DocumentData' + APP_CONTRACT: + type: array + items: + $ref: '#/components/schemas/DocumentData' + CONFORMITY_APPROVAL_REGISTRATION: + type: array + items: + $ref: '#/components/schemas/DocumentData' + ADDITIONAL_DETAILS: + type: array + items: + $ref: '#/components/schemas/DocumentData' + APP_LEADIMAGE: + type: array + items: + $ref: '#/components/schemas/DocumentData' + APP_IMAGE: + type: array + items: + $ref: '#/components/schemas/DocumentData' + SELF_DESCRIPTION: + type: array + items: + $ref: '#/components/schemas/DocumentData' + APP_TECHNICAL_INFORMATION: + type: array + items: + $ref: '#/components/schemas/DocumentData' + CONFORMITY_APPROVAL_CONNECTOR: + type: array + items: + $ref: '#/components/schemas/DocumentData' + CONFORMITY_APPROVAL_BUSINESS_APPS: + type: array + items: + $ref: '#/components/schemas/DocumentData' + CONFORMITY_APPROVAL_SERVICES: + type: array + items: + $ref: '#/components/schemas/DocumentData' + SERVICE_LEADIMAGE: + type: array + items: + $ref: '#/components/schemas/DocumentData' + PRESENTATION: + type: array + items: + $ref: '#/components/schemas/DocumentData' + COMPANY_CERTIFICATE: + type: array + items: + $ref: '#/components/schemas/DocumentData' + additionalProperties: false + description: documents assigned to offer + privacyPolicies: + type: array + items: + $ref: '#/components/schemas/PrivacyPolicyId' + description: Privacy Policies assigned to offer + isSingleInstance: + type: boolean + description: Defines whether the app is a single instance + technicalUserProfile: + type: object + additionalProperties: + type: array + items: + type: string + description: Technical User Profile for app + additionalProperties: false + description: View model of an application's detailed data. + AppInstanceSetupData: + type: object + properties: + isSingleInstance: + type: boolean + description: '`true` if the service is an single instance service, otherwise `false`' + instanceUrl: + type: string + description: Only required if is true + nullable: true + additionalProperties: false + description: Request Model to set or update the app instance type and all related data. + AppProviderResponse: + type: object + properties: + title: + type: string + description: title of the offer + nullable: true + provider: + type: string + description: provider name + leadPictureId: + type: string + description: id of the lead picture + format: uuid + providerName: + type: string + description: provider name + nullable: true + useCase: + type: array + items: + $ref: '#/components/schemas/AppUseCaseData' + description: list of use cases + descriptions: + type: array + items: + $ref: '#/components/schemas/LocalizedDescription' + description: the offer descriptions + agreements: + type: array + items: + $ref: '#/components/schemas/OfferAgreement' + description: the assigned agreements + supportedLanguageCodes: + type: array + items: + type: string + description: the supported language codes + price: + type: string + description: the app price + nullable: true + images: + type: array + items: + type: string + format: uuid + description: list of the images + providerUri: + type: string + description: the provider uri + nullable: true + contactEmail: + type: string + description: contact email + nullable: true + contactNumber: + type: string + description: contact number + nullable: true + documents: + type: object + properties: + CX_FRAME_CONTRACT: + type: array + items: + $ref: '#/components/schemas/DocumentData' + COMMERCIAL_REGISTER_EXTRACT: + type: array + items: + $ref: '#/components/schemas/DocumentData' + APP_CONTRACT: + type: array + items: + $ref: '#/components/schemas/DocumentData' + CONFORMITY_APPROVAL_REGISTRATION: + type: array + items: + $ref: '#/components/schemas/DocumentData' + ADDITIONAL_DETAILS: + type: array + items: + $ref: '#/components/schemas/DocumentData' + APP_LEADIMAGE: + type: array + items: + $ref: '#/components/schemas/DocumentData' + APP_IMAGE: + type: array + items: + $ref: '#/components/schemas/DocumentData' + SELF_DESCRIPTION: + type: array + items: + $ref: '#/components/schemas/DocumentData' + APP_TECHNICAL_INFORMATION: + type: array + items: + $ref: '#/components/schemas/DocumentData' + CONFORMITY_APPROVAL_CONNECTOR: + type: array + items: + $ref: '#/components/schemas/DocumentData' + CONFORMITY_APPROVAL_BUSINESS_APPS: + type: array + items: + $ref: '#/components/schemas/DocumentData' + CONFORMITY_APPROVAL_SERVICES: + type: array + items: + $ref: '#/components/schemas/DocumentData' + SERVICE_LEADIMAGE: + type: array + items: + $ref: '#/components/schemas/DocumentData' + PRESENTATION: + type: array + items: + $ref: '#/components/schemas/DocumentData' + COMPANY_CERTIFICATE: + type: array + items: + $ref: '#/components/schemas/DocumentData' + additionalProperties: false + description: list of linked documents + salesManagerId: + type: string + description: id of the salesmanager + format: uuid + nullable: true + privacyPolicies: + type: array + items: + $ref: '#/components/schemas/PrivacyPolicyId' + description: the privacy policies + technicalUserProfile: + type: object + additionalProperties: + type: array + items: + type: string + description: the technicalUser Profile + additionalProperties: false + description: Response for the app creation + AppProviderSubscriptionDetailData: + type: object + properties: + id: + type: string + format: uuid + offerSubscriptionStatus: + $ref: '#/components/schemas/OfferSubscriptionStatusId' + name: + type: string + nullable: true + customer: + type: string + bpn: + type: string + nullable: true + contact: + type: array + items: + type: string + technicalUserData: + type: array + items: + $ref: '#/components/schemas/SubscriptionTechnicalUserData' + connectorData: + type: array + items: + $ref: '#/components/schemas/SubscriptionAssignedConnectorData' + tenantUrl: + type: string + nullable: true + appInstanceId: + type: string + processStepTypeId: + $ref: '#/components/schemas/ProcessStepTypeId' + externalService: + $ref: '#/components/schemas/SubscriptionExternalServiceData' + additionalProperties: false + AppRequestModel: + type: object + properties: + title: + type: string + description: Title + nullable: true + salesManagerId: + type: string + description: SalesManagerId + format: uuid + nullable: true + useCaseIds: + type: array + items: + type: string + format: uuid + description: UseCaseIds + descriptions: + type: array + items: + $ref: '#/components/schemas/LocalizedDescription' + description: Descriptions + supportedLanguageCodes: + type: array + items: + type: string + description: SupportedLanguageCodes + price: + type: string + description: Price + privacyPolicies: + type: array + items: + $ref: '#/components/schemas/PrivacyPolicyId' + description: Price + providerUri: + type: string + description: Price + nullable: true + contactEmail: + type: string + description: Price + nullable: true + contactNumber: + type: string + description: Price + nullable: true + additionalProperties: false + description: Request Model for App Creation. + AppRoleData: + type: object + properties: + roleId: + type: string + description: '' + format: uuid + roleName: + type: string + description: '' + additionalProperties: false + description: Model for Role Data + AppStatusIdFilter: + enum: + - Active + - Inactive + - WIP + - All + type: string + description: Filters the OfferStatusId information + AppUseCaseData: + type: object + properties: + id: + type: string + format: uuid + label: + type: string + additionalProperties: false + AppUserRole: + type: object + properties: + role: + type: string + description: '' + descriptions: + type: array + items: + $ref: '#/components/schemas/AppUserRoleDescription' + description: '' + additionalProperties: false + description: Model for Input Role + AppUserRoleDescription: + type: object + properties: + languageCode: + type: string + description: '' + description: + type: string + description: '' + additionalProperties: false + description: Model for Role Description + BusinessAppData: + type: object + properties: + id: + type: string + format: uuid + subscriptionId: + type: string + format: uuid + name: + type: string + uri: + type: string + leadPictureId: + type: string + format: uuid + provider: + type: string + additionalProperties: false + ClientInfoData: + type: object + properties: + clientId: + type: string + clientUrl: + type: string + additionalProperties: false + CompanySubscriptionStatus: + type: object + properties: + companyId: + type: string + format: uuid + companyName: + type: string + subscriptionId: + type: string + format: uuid + offerSubscriptionStatus: + $ref: '#/components/schemas/OfferSubscriptionStatusId' + country: + type: string + nullable: true + bpnNumber: + type: string + nullable: true + email: + type: string + nullable: true + technicalUser: + type: boolean + processStepTypeId: + $ref: '#/components/schemas/ProcessStepTypeId' + additionalProperties: false + CompanyUserNameData: + type: object + properties: + userId: + type: string + format: uuid + firstName: + type: string + nullable: true + lastName: + type: string + nullable: true + additionalProperties: false + ConsentStatusData: + type: object + properties: + agreementId: + type: string + format: uuid + consentStatus: + $ref: '#/components/schemas/ConsentStatusId' + additionalProperties: false + ConsentStatusId: + enum: + - ACTIVE + - INACTIVE + type: string + DocumentData: + type: object + properties: + documentId: + type: string + format: uuid + documentName: + type: string + additionalProperties: false + DocumentTypeId: + enum: + - CX_FRAME_CONTRACT + - COMMERCIAL_REGISTER_EXTRACT + - APP_CONTRACT + - CONFORMITY_APPROVAL_REGISTRATION + - ADDITIONAL_DETAILS + - APP_LEADIMAGE + - APP_IMAGE + - SELF_DESCRIPTION + - APP_TECHNICAL_INFORMATION + - CONFORMITY_APPROVAL_CONNECTOR + - CONFORMITY_APPROVAL_BUSINESS_APPS + - CONFORMITY_APPROVAL_SERVICES + - SERVICE_LEADIMAGE + - PRESENTATION + - COMPANY_CERTIFICATE + type: string + ErrorDetails: + type: object + properties: + errorCode: + type: string + type: + type: string + message: + type: string + parameters: + type: array + items: + $ref: '#/components/schemas/ErrorParameter' + additionalProperties: false + ErrorMessageCode: + type: object + properties: + errorCode: + type: string + message: + type: string + additionalProperties: false + ErrorMessageType: + type: object + properties: + errorType: + type: string + errorMessages: + type: array + items: + $ref: '#/components/schemas/ErrorMessageCode' + additionalProperties: false + ErrorParameter: + type: object + properties: + name: + type: string + value: + type: string + additionalProperties: false + ErrorResponse: + type: object + properties: + type: + type: string + title: + type: string + status: + type: integer + format: int32 + errors: + type: object + additionalProperties: + type: array + items: + type: string + errorId: + type: string + details: + type: array + items: + $ref: '#/components/schemas/ErrorDetails' + nullable: true + additionalProperties: false + IActionResult: + type: object + additionalProperties: false + InReviewAppData: + type: object + properties: + appId: + type: string + format: uuid + name: + type: string + nullable: true + provider: + type: string + status: + $ref: '#/components/schemas/OfferStatusId' + additionalProperties: false + InReviewAppDataResponse: + type: object + properties: + meta: + $ref: '#/components/schemas/Metadata' + content: + type: array + items: + $ref: '#/components/schemas/InReviewAppData' + additionalProperties: false + InReviewAppDetails: + type: object + properties: + id: + type: string + description: ID of the app. + format: uuid + title: + type: string + description: Title or name of the app. + leadPictureId: + type: string + description: Uri to app's lead picture. + format: uuid + images: + type: array + items: + type: string + format: uuid + description: List of Images to app's secondary pictures. + provider: + type: string + description: Provider of the app. + useCases: + type: array + items: + type: string + description: Names of the app's use cases. + description: + type: array + items: + $ref: '#/components/schemas/LocalizedDescription' + description: description of the app. + documents: + type: object + properties: + CX_FRAME_CONTRACT: + type: array + items: + $ref: '#/components/schemas/DocumentData' + COMMERCIAL_REGISTER_EXTRACT: + type: array + items: + $ref: '#/components/schemas/DocumentData' + APP_CONTRACT: + type: array + items: + $ref: '#/components/schemas/DocumentData' + CONFORMITY_APPROVAL_REGISTRATION: + type: array + items: + $ref: '#/components/schemas/DocumentData' + ADDITIONAL_DETAILS: + type: array + items: + $ref: '#/components/schemas/DocumentData' + APP_LEADIMAGE: + type: array + items: + $ref: '#/components/schemas/DocumentData' + APP_IMAGE: + type: array + items: + $ref: '#/components/schemas/DocumentData' + SELF_DESCRIPTION: + type: array + items: + $ref: '#/components/schemas/DocumentData' + APP_TECHNICAL_INFORMATION: + type: array + items: + $ref: '#/components/schemas/DocumentData' + CONFORMITY_APPROVAL_CONNECTOR: + type: array + items: + $ref: '#/components/schemas/DocumentData' + CONFORMITY_APPROVAL_BUSINESS_APPS: + type: array + items: + $ref: '#/components/schemas/DocumentData' + CONFORMITY_APPROVAL_SERVICES: + type: array + items: + $ref: '#/components/schemas/DocumentData' + SERVICE_LEADIMAGE: + type: array + items: + $ref: '#/components/schemas/DocumentData' + PRESENTATION: + type: array + items: + $ref: '#/components/schemas/DocumentData' + COMPANY_CERTIFICATE: + type: array + items: + $ref: '#/components/schemas/DocumentData' + additionalProperties: false + description: documents assigned to offer + roles: + type: array + items: + type: string + description: Roles assigned to offer + languages: + type: array + items: + type: string + description: Languages that the app is available in. + providerUri: + type: string + description: Uri to provider's marketing presence. + contactEmail: + type: string + description: Email address of the app's primary contact. + nullable: true + contactNumber: + type: string + description: Phone number of the app's primary contact. + nullable: true + licenseType: + $ref: '#/components/schemas/LicenseTypeId' + price: + type: string + description: Pricing information of the app. + tags: + type: array + items: + type: string + description: Tags assigned to application. + privacyPolicies: + type: array + items: + $ref: '#/components/schemas/PrivacyPolicyId' + description: Privacy policy assigned to app. + offerStatusId: + $ref: '#/components/schemas/OfferStatusId' + technicalUserProfile: + type: object + additionalProperties: + type: array + items: + type: string + description: TechnicalUserProfile of the User. + additionalProperties: false + description: View model of an application's detailed data. + LicenseTypeId: + enum: + - COTS + - FOSS + type: string + LocalizedDescription: + type: object + properties: + languageCode: + type: string + longDescription: + type: string + shortDescription: + type: string + additionalProperties: false + Metadata: + type: object + properties: + totalElements: + type: integer + format: int32 + totalPages: + type: integer + format: int32 + page: + type: integer + format: int32 + contentSize: + type: integer + format: int32 + additionalProperties: false + NoContentResult: + type: object + properties: + statusCode: + type: integer + format: int32 + additionalProperties: false + OfferAgreement: + type: object + properties: + id: + type: string + format: uuid + nullable: true + name: + type: string + nullable: true + consentStatus: + type: string + nullable: true + additionalProperties: false + OfferAgreementConsent: + type: object + properties: + agreements: + type: array + items: + $ref: '#/components/schemas/AgreementConsentStatus' + additionalProperties: false + OfferAgreementConsentData: + type: object + properties: + agreementId: + type: string + format: uuid + consentStatusId: + $ref: '#/components/schemas/ConsentStatusId' + additionalProperties: false + OfferAutoSetupData: + type: object + properties: + requestId: + type: string + format: uuid + offerUrl: + type: string + additionalProperties: false + OfferAutoSetupResponseData: + type: object + properties: + technicalUserInfo: + type: array + items: + $ref: '#/components/schemas/TechnicalUserInfoData' + clientInfo: + $ref: '#/components/schemas/ClientInfoData' + additionalProperties: false + OfferCompanySubscriptionStatusResponse: + type: object + properties: + offerId: + type: string + format: uuid + offerName: + type: string + nullable: true + companySubscriptionStatuses: + type: array + items: + $ref: '#/components/schemas/CompanySubscriptionStatus' + image: + type: string + format: uuid + nullable: true + additionalProperties: false + OfferCompanySubscriptionStatusResponseResponse: + type: object + properties: + meta: + $ref: '#/components/schemas/Metadata' + content: + type: array + items: + $ref: '#/components/schemas/OfferCompanySubscriptionStatusResponse' + additionalProperties: false + OfferDeclineRequest: + type: object + properties: + message: + type: string + additionalProperties: false + OfferSorting: + enum: + - DateAsc + - DateDesc + - NameAsc + - NameDesc + type: string + OfferStatusId: + enum: + - CREATED + - IN_REVIEW + - ACTIVE + - INACTIVE + type: string + OfferStatusIdFilter: + enum: + - InReview + - All + type: string + description: Filters the OfferStatusId information + OfferSubscriptionData: + type: object + properties: + offerId: + type: string + format: uuid + status: + $ref: '#/components/schemas/OfferSubscriptionStatusId' + additionalProperties: false + OfferSubscriptionStatusDetailData: + type: object + properties: + offerId: + type: string + format: uuid + name: + type: string + nullable: true + provider: + type: string + status: + $ref: '#/components/schemas/OfferSubscriptionStatusId' + subscriptionId: + type: string + format: uuid + image: + type: string + format: uuid + nullable: true + additionalProperties: false + OfferSubscriptionStatusDetailDataResponse: + type: object + properties: + meta: + $ref: '#/components/schemas/Metadata' + content: + type: array + items: + $ref: '#/components/schemas/OfferSubscriptionStatusDetailData' + additionalProperties: false + OfferSubscriptionStatusId: + enum: + - PENDING + - ACTIVE + - INACTIVE + type: string + PrivacyPolicyData: + type: object + properties: + privacyPolicies: + type: array + items: + $ref: '#/components/schemas/PrivacyPolicyId' + description: Privacy Policy. + additionalProperties: false + description: model of Privacy Policy data. + PrivacyPolicyId: + enum: + - COMPANY_DATA + - USER_DATA + - LOCATION + - BROWSER_HISTORY + - NONE + type: string + ProcessStepTypeId: + enum: + - MANUAL_VERIFY_REGISTRATION + - CREATE_BUSINESS_PARTNER_NUMBER_PUSH + - CREATE_BUSINESS_PARTNER_NUMBER_PULL + - CREATE_BUSINESS_PARTNER_NUMBER_MANUAL + - CREATE_IDENTITY_WALLET + - RETRIGGER_IDENTITY_WALLET + - START_CLEARING_HOUSE + - RETRIGGER_CLEARING_HOUSE + - AWAIT_CLEARING_HOUSE_RESPONSE + - START_SELF_DESCRIPTION_LP + - RETRIGGER_SELF_DESCRIPTION_LP + - ACTIVATE_APPLICATION + - RETRIGGER_BUSINESS_PARTNER_NUMBER_PUSH + - RETRIGGER_BUSINESS_PARTNER_NUMBER_PULL + - MANUAL_TRIGGER_OVERRIDE_CLEARING_HOUSE + - START_OVERRIDE_CLEARING_HOUSE + - AWAIT_SELF_DESCRIPTION_LP_RESPONSE + - MANUAL_DECLINE_APPLICATION + - CREATE_DIM_WALLET + - AWAIT_DIM_RESPONSE_RESPONSE + - RETRIGGER_CREATE_DIM_WALLET + - VALIDATE_DID_DOCUMENT + - RETRIGGER_VALIDATE_DID_DOCUMENT + - REQUEST_BPN_CREDENTIAL + - AWAIT_BPN_CREDENTIAL_RESPONSE + - REQUEST_MEMBERSHIP_CREDENTIAL + - AWAIT_MEMBERSHIP_CREDENTIAL_RESPONSE + - TRANSMIT_BPN_DID + - RETRIGGER_TRANSMIT_DID_BPN + - RETRIGGER_REQUEST_BPN_CREDENTIAL + - RETRIGGER_REQUEST_MEMBERSHIP_CREDENTIAL + - TRIGGER_PROVIDER + - AWAIT_START_AUTOSETUP + - OFFERSUBSCRIPTION_CLIENT_CREATION + - SINGLE_INSTANCE_SUBSCRIPTION_DETAILS_CREATION + - OFFERSUBSCRIPTION_TECHNICALUSER_CREATION + - ACTIVATE_SUBSCRIPTION + - TRIGGER_PROVIDER_CALLBACK + - RETRIGGER_PROVIDER + - RETRIGGER_OFFERSUBSCRIPTION_CLIENT_CREATION + - RETRIGGER_OFFERSUBSCRIPTION_TECHNICALUSER_CREATION + - RETRIGGER_PROVIDER_CALLBACK + - MANUAL_TRIGGER_ACTIVATE_SUBSCRIPTION + - OFFERSUBSCRIPTION_CREATE_DIM_TECHNICAL_USER + - RETRIGGER_OFFERSUBSCRIPTION_CREATE_DIM_TECHNICAL_USER + - SYNCHRONIZE_USER + - RETRIGGER_SYNCHRONIZE_USER + - TRIGGER_CALLBACK_OSP_SUBMITTED + - TRIGGER_CALLBACK_OSP_APPROVED + - TRIGGER_CALLBACK_OSP_DECLINED + - RETRIGGER_CALLBACK_OSP_SUBMITTED + - RETRIGGER_CALLBACK_OSP_APPROVED + - RETRIGGER_CALLBACK_OSP_DECLINED + - MANUAL_DECLINE_OSP + - REMOVE_KEYCLOAK_USERS + - RETRIGGER_REMOVE_KEYCLOAK_USERS + - SEND_MAIL + - RETRIGGER_SEND_MAIL + - INVITATION_CREATE_CENTRAL_IDP + - INVITATION_CREATE_SHARED_IDP_SERVICE_ACCOUNT + - INVITATION_ADD_REALM_ROLE + - INVITATION_CREATE_SHARED_REALM + - INVITATION_CREATE_CENTRAL_IDP_ORG_MAPPER + - INVITATION_UPDATE_CENTRAL_IDP_URLS + - INVITATION_CREATE_SHARED_CLIENT + - INVITATION_ENABLE_CENTRAL_IDP + - INVITATION_CREATE_DATABASE_IDP + - INVITATION_CREATE_USER + - RETRIGGER_INVITATION_CREATE_CENTRAL_IDP + - RETRIGGER_INVITATION_CREATE_SHARED_IDP_SERVICE_ACCOUNT + - RETRIGGER_INVITATION_ADD_REALM_ROLE + - RETRIGGER_INVITATION_CREATE_SHARED_REALM + - RETRIGGER_INVITATION_CREATE_CENTRAL_IDP_ORG_MAPPER + - RETRIGGER_INVITATION_UPDATE_CENTRAL_IDP_URLS + - RETRIGGER_INVITATION_CREATE_SHARED_CLIENT + - RETRIGGER_INVITATION_ENABLE_CENTRAL_IDP + - RETRIGGER_INVITATION_CREATE_USER + - RETRIGGER_INVITATION_CREATE_DATABASE_IDP + - CREATE_DIM_TECHNICAL_USER + - RETRIGGER_CREATE_DIM_TECHNICAL_USER + - AWAIT_CREATE_DIM_TECHNICAL_USER_RESPONSE + - DELETE_DIM_TECHNICAL_USER + - AWAIT_DELETE_DIM_TECHNICAL_USER_RESPONSE + - RETRIGGER_DELETE_DIM_TECHNICAL_USER + - DELETE_CENTRAL_USER + - RETRIGGER_DELETE_CENTRAL_USER + - DELETE_COMPANYUSER_ASSIGNED_PROCESS + - DELETE_IDP_SHARED_REALM + - RETRIGGER_DELETE_IDP_SHARED_REALM + - DELETE_IDP_SHARED_SERVICEACCOUNT + - RETRIGGER_DELETE_IDP_SHARED_SERVICEACCOUNT + - DELETE_CENTRAL_IDENTITY_PROVIDER + - RETRIGGER_DELETE_CENTRAL_IDENTITY_PROVIDER + - DELETE_IDENTITY_PROVIDER + - SELF_DESCRIPTION_CONNECTOR_CREATION + - SELF_DESCRIPTION_COMPANY_CREATION + - RETRIGGER_SELF_DESCRIPTION_CONNECTOR_CREATION + - RETRIGGER_SELF_DESCRIPTION_COMPANY_CREATION + type: string + SubscriberSubscriptionDetailData: + type: object + properties: + id: + type: string + format: uuid + offerSubscriptionStatus: + $ref: '#/components/schemas/OfferSubscriptionStatusId' + name: + type: string + nullable: true + provider: + type: string + contact: + type: array + items: + type: string + technicalUserData: + type: array + items: + $ref: '#/components/schemas/SubscriptionTechnicalUserData' + connectorData: + type: array + items: + $ref: '#/components/schemas/SubscriptionAssignedConnectorData' + additionalProperties: false + SubscriptionAssignedConnectorData: + type: object + properties: + id: + type: string + format: uuid + name: + type: string + endpoint: + type: string + additionalProperties: false + SubscriptionExternalServiceData: + type: object + properties: + trusted_issuer: + type: string + participant_id: + type: string + nullable: true + iatp_id: + type: string + nullable: true + did_resolver: + type: string + decentralIdentityManagementAuthUrl: + type: string + decentralIdentityManagementServiceUrl: + type: string + nullable: true + additionalProperties: false + SubscriptionStatusSorting: + enum: + - CompanyNameAsc + - CompanyNameDesc + - OfferIdAsc + - OfferIdDesc + type: string + SubscriptionTechnicalUserData: + type: object + properties: + id: + type: string + format: uuid + name: + type: string + nullable: true + permissions: + type: array + items: + type: string + additionalProperties: false + TechnicalUserInfoData: + type: object + properties: + technicalUserId: + type: string + format: uuid + technicalUserPermissions: + type: array + items: + type: string + technicalUserSecret: + type: string + nullable: true + technicalClientId: + type: string + nullable: true + additionalProperties: false + TechnicalUserProfileData: + type: object + properties: + technicalUserProfileId: + type: string + format: uuid + nullable: true + userRoleIds: + type: array + items: + type: string + format: uuid + additionalProperties: false + TechnicalUserProfileInformation: + type: object + properties: + technicalUserProfileId: + type: string + format: uuid + userRoles: + type: array + items: + $ref: '#/components/schemas/UserRoleInformation' + additionalProperties: false + UpdateTenantData: + type: object + properties: + url: + type: string + description: The new url + additionalProperties: false + description: Data to update the offer subscription url + UrlInformation: + type: object + properties: + httpMethods: + type: string + url: + type: string + additionalProperties: false + UserRoleInformation: + type: object + properties: + roleId: + type: string + format: uuid + roleName: + type: string + additionalProperties: false + securitySchemes: + Bearer: + type: apiKey + description: "JWT Authorization header using the Bearer scheme. \r\n\r\n Enter 'Bearer' [space] and then your token in the text input below.\r\n\r\nExample: \"Bearer 12345abcdef\"" + name: Authorization + in: header +security: + - Bearer: [ ] \ No newline at end of file diff --git a/docs/api/Org.Eclipse.TractusX.Portal.Backend.Notifications.Service.yaml b/docs/api/Org.Eclipse.TractusX.Portal.Backend.Notifications.Service.yaml new file mode 100644 index 0000000000..4e296c989d --- /dev/null +++ b/docs/api/Org.Eclipse.TractusX.Portal.Backend.Notifications.Service.yaml @@ -0,0 +1,532 @@ +openapi: 3.0.1 +info: + title: Org.Eclipse.TractusX.Portal.Backend.Notifications.Service + version: v2.3.0 +paths: + /api/notification/errormessage: + get: + tags: + - ErrorMessage + responses: + '200': + description: OK + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/ErrorMessageType' + '500': + description: Internal Server Error + /api/notification: + get: + tags: + - Notification + summary: 'Gets all notifications for the logged in user (Authorization required - Roles: view_notifications)' + description: 'Example: Get: /api/notification/' + operationId: GetNotifications + parameters: + - name: searchTypeIds + in: query + description: 'OPTIONAL: types for the search' + schema: + type: array + items: + $ref: '#/components/schemas/NotificationTypeId' + - name: page + in: query + description: The page to get + schema: + type: integer + format: int32 + default: 0 + - name: size + in: query + description: Amount of entries + schema: + type: integer + format: int32 + default: 15 + - name: searchSemantic + in: query + description: 'OPTIONAL: choose AND or OR semantics (defaults to AND)' + schema: + $ref: '#/components/schemas/SearchSemanticTypeId' + - name: isRead + in: query + description: 'OPTIONAL: Filter for read or unread notifications' + schema: + type: boolean + - name: notificationTypeId + in: query + description: 'OPTIONAL: Type of the notifications' + schema: + $ref: '#/components/schemas/NotificationTypeId' + - name: notificationTopicId + in: query + description: 'OPTIONAL: Topic of the notifications' + schema: + $ref: '#/components/schemas/NotificationTopicId' + - name: onlyDueDate + in: query + description: 'OPTIONAL: If true only notifications with a due date will be returned' + schema: + type: boolean + default: false + - name: sorting + in: query + description: Defines the sorting of the list + schema: + $ref: '#/components/schemas/NotificationSorting' + - name: doneState + in: query + description: 'OPTIONAL: Defines the done state' + schema: + type: boolean + - name: searchQuery + in: query + description: 'OPTIONAL: a search query' + schema: + type: string + responses: + '200': + description: Collection of the unread notifications for the user. + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/NotificationDetailData' + '400': + description: NotificationType or NotificationStatus don't exist. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + '/api/notification/{notificationId}': + get: + tags: + - Notification + summary: 'Gets a notification for the logged in user (Authorization required - Roles: view_notifications)' + description: 'Example: Get: /api/notification/f22f2b57-426a-4ac3-b3af-7924a1c61590' + operationId: GetNotification + parameters: + - name: notificationId + in: path + description: is of the notification + required: true + schema: + type: string + format: uuid + responses: + '200': + description: notifications for the user. + content: + application/json: + schema: + $ref: '#/components/schemas/NotificationDetailData' + '400': + description: notification doesn't exist. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '403': + description: User is not assigned. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + delete: + tags: + - Notification + summary: 'Delete the (Authorization required - Roles: view_notifications)' + description: 'Example: DELETE: /api/notification/f22f2b57-426a-4ac3-b3af-7924a1c615901' + parameters: + - name: notificationId + in: path + description: Id of the notification + required: true + schema: + type: string + format: uuid + example: f22f2b57-426a-4ac3-b3af-7924a1c615901 + responses: + '204': + description: Count of the notifications. + content: + application/json: + schema: + type: integer + format: int32 + '400': + description: NotificationStatus does not exist. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '403': + description: IamUserId is not assigned. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + /api/notification/count: + get: + tags: + - Notification + summary: 'Gets the notification count for the current logged in user (Authorization required - Roles: view_notifications)' + description: 'Example: Get: /api/notification/count' + parameters: + - name: isRead + in: query + description: 'OPTIONAL: Filter for read or unread notifications' + schema: + type: boolean + example: true + responses: + '200': + description: Count of the notifications. + content: + application/json: + schema: + type: integer + format: int32 + '400': + description: NotificationStatus does not exist. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '403': + description: IamUserId is not assigned. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + /api/notification/count-details: + get: + tags: + - Notification + summary: 'Gets the notification count for the current logged in user (Authorization required - Roles: view_notifications)' + description: 'Example: Get: /api/notification/count-details' + responses: + '200': + description: Count of the notifications. + content: + application/json: + schema: + $ref: '#/components/schemas/NotificationCountDetails' + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + '/api/notification/{notificationId}/read': + put: + tags: + - Notification + summary: 'Changes the read status of a notification (Authorization required - Roles: view_notifications)' + description: 'Example: PUT: /api/notification/read/f22f2b57-426a-4ac3-b3af-7924a1c61590/read' + parameters: + - name: notificationId + in: path + description: 'OPTIONAL: Id of the notification status' + required: true + schema: + type: string + format: uuid + example: f22f2b57-426a-4ac3-b3af-7924a1c61590 + - name: isRead + in: query + description: 'OPTIONAL: `true` if the notification is read, otherwise `false`' + schema: + type: boolean + default: true + example: false + responses: + '204': + description: The Read status was updated. + '400': + description: NotificationStatus does not exist. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '403': + description: IamUserId is not assigned. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + /api/notification/ssi-credentials: + post: + tags: + - Notification + summary: 'Creates a notification with the given data (Authorization required - Roles: create_ssi_notifications)' + description: 'Example: POST: /api/notification/ssi-credentials' + requestBody: + description: Data for the notification + content: + application/json: + schema: + $ref: '#/components/schemas/NotificationRequest' + responses: + '204': + description: Count of the notifications. + content: + application/json: + schema: + type: integer + format: int32 + '400': + description: NotificationStatus does not exist. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '403': + description: IamUserId is not assigned. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + /api/info: + get: + tags: + - OpenInformation + summary: ' (Authorization required)' + responses: + '200': + description: OK + content: + text/plain: + schema: + type: array + items: + $ref: '#/components/schemas/UrlInformation' + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/UrlInformation' + text/json: + schema: + type: array + items: + $ref: '#/components/schemas/UrlInformation' + '500': + description: Internal Server Error + '401': + description: The User is unauthorized +components: + schemas: + ErrorDetails: + type: object + properties: + errorCode: + type: string + type: + type: string + message: + type: string + parameters: + type: array + items: + $ref: '#/components/schemas/ErrorParameter' + additionalProperties: false + ErrorMessageCode: + type: object + properties: + errorCode: + type: string + message: + type: string + additionalProperties: false + ErrorMessageType: + type: object + properties: + errorType: + type: string + errorMessages: + type: array + items: + $ref: '#/components/schemas/ErrorMessageCode' + additionalProperties: false + ErrorParameter: + type: object + properties: + name: + type: string + value: + type: string + additionalProperties: false + ErrorResponse: + type: object + properties: + type: + type: string + title: + type: string + status: + type: integer + format: int32 + errors: + type: object + additionalProperties: + type: array + items: + type: string + errorId: + type: string + details: + type: array + items: + $ref: '#/components/schemas/ErrorDetails' + nullable: true + additionalProperties: false + NotificationCountDetails: + type: object + properties: + read: + type: integer + format: int32 + unread: + type: integer + format: int32 + infoUnread: + type: integer + format: int32 + offerUnread: + type: integer + format: int32 + actionRequired: + type: integer + format: int32 + unreadActionRequired: + type: integer + format: int32 + additionalProperties: false + NotificationDetailData: + type: object + properties: + id: + type: string + format: uuid + created: + type: string + format: date-time + typeId: + $ref: '#/components/schemas/NotificationTypeId' + notificationTopic: + $ref: '#/components/schemas/NotificationTopicId' + isRead: + type: boolean + content: + type: string + nullable: true + dueDate: + type: string + format: date-time + nullable: true + done: + type: boolean + nullable: true + additionalProperties: false + NotificationRequest: + type: object + properties: + receiver: + type: string + format: uuid + content: + type: string + notificationTypeId: + $ref: '#/components/schemas/NotificationTypeId' + additionalProperties: false + NotificationSorting: + enum: + - DateAsc + - DateDesc + - ReadStatusAsc + - ReadStatusDesc + type: string + NotificationTopicId: + enum: + - INFO + - ACTION + - OFFER + type: string + NotificationTypeId: + enum: + - INFO + - ACTION + - WELCOME + - WELCOME_USE_CASES + - WELCOME_SERVICE_PROVIDER + - WELCOME_CONNECTOR_REGISTRATION + - WELCOME_APP_MARKETPLACE + - APP_SUBSCRIPTION_REQUEST + - APP_SUBSCRIPTION_ACTIVATION + - CONNECTOR_REGISTERED + - APP_RELEASE_REQUEST + - TECHNICAL_USER_CREATION + - SERVICE_REQUEST + - SERVICE_ACTIVATION + - APP_ROLE_ADDED + - APP_RELEASE_APPROVAL + - SERVICE_RELEASE_REQUEST + - SERVICE_RELEASE_APPROVAL + - APP_RELEASE_REJECTION + - SERVICE_RELEASE_REJECTION + - ROLE_UPDATE_CORE_OFFER + - ROLE_UPDATE_APP_OFFER + - SUBSCRIPTION_URL_UPDATE + - CREDENTIAL_APPROVAL + - CREDENTIAL_REJECTED + - CREDENTIAL_EXPIRY + type: string + SearchSemanticTypeId: + enum: + - OR + - AND + type: string + UrlInformation: + type: object + properties: + httpMethods: + type: string + url: + type: string + additionalProperties: false + securitySchemes: + Bearer: + type: apiKey + description: "JWT Authorization header using the Bearer scheme. \r\n\r\n Enter 'Bearer' [space] and then your token in the text input below.\r\n\r\nExample: \"Bearer 12345abcdef\"" + name: Authorization + in: header +security: + - Bearer: [ ] \ No newline at end of file diff --git a/docs/api/Org.Eclipse.TractusX.Portal.Backend.Registration.Service.yaml b/docs/api/Org.Eclipse.TractusX.Portal.Backend.Registration.Service.yaml new file mode 100644 index 0000000000..2dff99dc55 --- /dev/null +++ b/docs/api/Org.Eclipse.TractusX.Portal.Backend.Registration.Service.yaml @@ -0,0 +1,1681 @@ +openapi: 3.0.1 +info: + title: Org.Eclipse.TractusX.Portal.Backend.Registration.Service + version: v2.3.0 +paths: + /api/registration/errormessage: + get: + tags: + - ErrorMessage + responses: + '200': + description: OK + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/ErrorMessageType' + '500': + description: Internal Server Error + /api/registration/Network/partnerRegistration/submit: + post: + tags: + - Network + summary: 'Submits the application (Authorization required - Roles: submit_registration)' + requestBody: + description: The agreements for the companyRoles + content: + application/json: + schema: + $ref: '#/components/schemas/PartnerSubmitData' + responses: + '204': + description: Empty response on success. + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '404': + description: No registration found for the externalId. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + /api/registration/Network/decline: + post: + tags: + - Network + summary: 'Declines the osp registration (Authorization required - Roles: decline_partner_registration)' + parameters: + - name: applicationId + in: path + description: Id of the company application + required: true + schema: + type: string + format: uuid + requestBody: + description: Data with the information to decline + content: + application/json: + schema: + $ref: '#/components/schemas/DeclineOspData' + responses: + '200': + description: Empty response on success. + '404': + description: No registration found for the externalId. + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + /api/info: + get: + tags: + - OpenInformation + summary: ' (Authorization required)' + responses: + '200': + description: OK + content: + text/plain: + schema: + type: array + items: + $ref: '#/components/schemas/UrlInformation' + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/UrlInformation' + text/json: + schema: + type: array + items: + $ref: '#/components/schemas/UrlInformation' + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + '/api/registration/legalEntityAddress/{bpn}': + get: + tags: + - Registration + summary: 'Gets legal entity and address data from bpdm by its bpn (Authorization required - Roles: add_company_data)' + description: 'Example: Get: /api/registration/legalEntityAddress/BPNL000000055EPN' + parameters: + - name: bpn + in: path + description: The bpn to get the company for + required: true + schema: + type: string + example: BPNL000000055EPN + responses: + '200': + description: Returns the company + content: + application/json: + schema: + $ref: '#/components/schemas/BpdmLegalAddressDto' + '400': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '503': + description: The requested service responded with the given error. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '409': + description: Conflict + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + '/api/registration/application/{applicationId}/documentType/{documentTypeId}/documents': + post: + tags: + - Registration + summary: 'Uploads a document (Authorization required - Roles: upload_documents)' + description: 'Example: Post: /api/registration/application/{applicationId}/documentType/{documentTypeId}/documents' + parameters: + - name: applicationId + in: path + description: '' + required: true + schema: + type: string + format: uuid + example: D3B1ECA2-6148-4008-9E6C-C1C2AEA5C645 + - name: documentTypeId + in: path + description: '' + required: true + schema: + $ref: '#/components/schemas/DocumentTypeId' + example: '1' + requestBody: + content: + multipart/form-data: + schema: + type: object + properties: + document: + type: file + description: '' + format: binary + encoding: + document: + style: form + application/json: + schema: + type: object + properties: + document: + type: file + description: '' + format: binary + encoding: + document: + style: form + responses: + '204': + description: Successfully uploaded the document + '403': + description: The user is not assigned with the CompanyApplication. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '400': + description: Input is incorrect. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '415': + description: Only PDF files are supported. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + get: + tags: + - Registration + summary: 'Gets documents for a specific document type and application (Authorization required - Roles: view_registration)' + description: 'Example: Get: /api/registration/application/{applicationId}/documentType/{documentTypeId}/documents' + parameters: + - name: applicationId + in: path + description: The application to get the documents from. + required: true + schema: + type: string + format: uuid + example: D3B1ECA2-6148-4008-9E6C-C1C2AEA5C645 + - name: documentTypeId + in: path + description: Type of the documents to get. + required: true + schema: + $ref: '#/components/schemas/DocumentTypeId' + example: '1' + responses: + '200': + description: Returns a list of documents + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/UploadDocuments' + '403': + description: The user is not associated with invitation + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '404': + description: Application not found + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + '/api/registration/documents/{documentId}': + get: + tags: + - Registration + summary: 'Gets a specific document by its id (Authorization required - Roles: view_documents)' + description: 'Example: Get: /api/registration/documents/4ad087bb-80a1-49d3-9ba9-da0b175cd4e3' + parameters: + - name: documentId + in: path + description: '' + required: true + schema: + type: string + format: uuid + example: 4ad087bb-80a1-49d3-9ba9-da0b175cd4e3 + responses: + '200': + description: Successfully uploaded the document + content: + application/pdf: + schema: + $ref: '#/components/schemas/File' + application/json: + schema: + $ref: '#/components/schemas/File' + '403': + description: User does not have the relevant rights to request for the document. + content: + application/pdf: + schema: + $ref: '#/components/schemas/ErrorResponse' + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '404': + description: No document with the given id was found. + content: + application/pdf: + schema: + $ref: '#/components/schemas/ErrorResponse' + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + delete: + tags: + - Registration + summary: 'Deletes the document with the given id (Authorization required - Roles: delete_documents)' + description: 'Example: Delete: /api/registration/documents/{documentId}' + parameters: + - name: documentId + in: path + description: '' + required: true + schema: + type: string + format: uuid + example: 4ad087bb-80a1-49d3-9ba9-da0b175cd4e3 + responses: + '200': + description: Successfully deleted the document + content: + application/json: + schema: + type: boolean + '400': + description: Incorrect document state + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '403': + description: The user is not assigned with the Company Application. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '404': + description: The document was not found. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '409': + description: Document deletion not allowed. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + /api/registration/rolesComposite: + get: + tags: + - Registration + summary: 'Get all composite client roles (Authorization required - Roles: view_registration)' + description: 'Example: Get: /api/registration/rolesComposite' + responses: + '200': + description: returns all composite client roles + content: + application/json: + schema: + type: array + items: + type: string + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + /api/registration/applications: + get: + tags: + - Registration + summary: 'Gets the applications with each status (Authorization required - Roles: view_registration)' + description: 'Example: Get: /api/registration/applications' + responses: + '200': + description: Returns a list of company applications + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/CompanyApplicationWithStatus' + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + /api/registration/applications/declinedata: + get: + tags: + - Registration + summary: 'Gets the applications with each status, company-name and linked users (Authorization required - Roles: view_registration)' + description: 'Example: Get: /api/registration/applications/declinedata' + responses: + '200': + description: Returns a list of company applications + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/CompanyApplicationDeclineData' + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + '/api/registration/application/{applicationId}/status': + put: + tags: + - Registration + summary: 'Sets the status of a specific application. (Authorization required - Roles: submit_registration)' + description: 'Example: Put: /api/registration/application/{applicationId}/status' + parameters: + - name: applicationId + in: path + description: Id of the application which status should be set. + required: true + schema: + type: string + format: uuid + example: 4f0146c6-32aa-4bb1-b844-df7e8babdcb4 + - name: status + in: query + description: The status that should be set + schema: + $ref: '#/components/schemas/CompanyApplicationStatusId' + example: '8' + responses: + '200': + description: Successfully set the status + content: + application/json: + schema: + type: integer + format: int32 + '400': + description: Status must be null. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '404': + description: CompanyApplication was not found for the given id. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '403': + description: User Not associated wit application + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + get: + tags: + - Registration + summary: 'Gets the status of an application for the given id (Authorization required - Roles: view_registration)' + description: 'Example: Get: /api/registration/application/4f0146c6-32aa-4bb1-b844-df7e8babdcb4/status' + parameters: + - name: applicationId + in: path + description: Id of the application to get the status from + required: true + schema: + type: string + format: uuid + example: 4f0146c6-32aa-4bb1-b844-df7e8babdcb4 + responses: + '200': + description: Returns the company application status + content: + application/json: + schema: + $ref: '#/components/schemas/CompanyApplicationStatusId' + '404': + description: CompanyApplication was not found for the given id. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '403': + description: User is not associated with application. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + '/api/registration/application/{applicationId}/companyDetailsWithAddress': + get: + tags: + - Registration + summary: 'Gets the company of a specific application with its address (Authorization required - Roles: view_registration)' + description: 'Example: Get: /api/registration/application/4f0146c6-32aa-4bb1-b844-df7e8babdcb4/companyDetailsWithAddress' + parameters: + - name: applicationId + in: path + description: Id of the application to get the company to. + required: true + schema: + type: string + format: uuid + example: 4f0146c6-32aa-4bb1-b844-df7e8babdcb4 + responses: + '200': + description: Returns the company with its address + content: + application/json: + schema: + $ref: '#/components/schemas/CompanyDetailData' + '404': + description: CompanyApplication was not found for the given id. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '403': + description: User is not associated with company application. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + post: + tags: + - Registration + summary: 'Sets the company with its address for the given application id (Authorization required - Roles: add_company_data)' + description: 'Example: Post: /api/registration/application/{applicationId}/companyDetailsWithAddress' + parameters: + - name: applicationId + in: path + description: Id of the application to set the company for. + required: true + schema: + type: string + format: uuid + example: 4f0146c6-32aa-4bb1-b844-df7e8babdcb4 + requestBody: + description: The company with its address + content: + application/json: + schema: + $ref: '#/components/schemas/CompanyDetailData' + responses: + '200': + description: Successfully set the company with its address + '400': + description: A request parameter was incorrect. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '404': + description: CompanyApplication was not found for the given id. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '403': + description: User is not associated with company application or application status is invalid + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + '/api/registration/application/{applicationId}/inviteNewUser': + post: + tags: + - Registration + summary: 'Invites the given user to the given application (Authorization required - Roles: invite_user)' + description: 'Example: Post: /api/registration/application/4f0146c6-32aa-4bb1-b844-df7e8babdcb4/inviteNewUser' + parameters: + - name: applicationId + in: path + description: Id of the application a user should be invited to + required: true + schema: + type: string + format: uuid + example: 4f0146c6-32aa-4bb1-b844-df7e8babdcb4 + requestBody: + description: The information of the user that should be invited + content: + application/json: + schema: + $ref: '#/components/schemas/UserCreationInfoWithMessage' + responses: + '200': + description: Successfully invited the user. + content: + application/json: + schema: + type: integer + format: int32 + '400': + description: The user with the given email does already exist. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '500': + description: Internal Server Error + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '502': + description: Service Unavailable. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '401': + description: The User is unauthorized + '/api/registration/application/{applicationId}/companyRoleAgreementConsents': + post: + tags: + - Registration + summary: 'Post the agreement consent status for the given application. (Authorization required - Roles: sign_consent)' + description: 'Example: Post: /api/registration/application/4f0146c6-32aa-4bb1-b844-df7e8babdcb4/companyRoleAgreementConsents' + parameters: + - name: applicationId + in: path + description: '' + required: true + schema: + type: string + format: uuid + example: 4f0146c6-32aa-4bb1-b844-df7e8babdcb4 + requestBody: + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/CompanyRoleAgreementConsents' + responses: + '200': + description: Successfully submitted consent to agreements + content: + application/json: + schema: + type: integer + format: int32 + '403': + description: Either the user was not found or the user is not assignable to the given application. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '404': + description: Application does not exist. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '400': + description: Input is incorrect. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + get: + tags: + - Registration + summary: 'Gets the agreement consent statuses for the given application (Authorization required - Roles: view_registration)' + description: 'Example: Get: /api/registration/application/4f0146c6-32aa-4bb1-b844-df7e8babdcb4/companyRoleAgreementConsents' + parameters: + - name: applicationId + in: path + description: Id of the application to get the agreement consent statuses for + required: true + schema: + type: string + format: uuid + example: 4f0146c6-32aa-4bb1-b844-df7e8babdcb4 + responses: + '200': + description: Return the company role agreement consents + content: + application/json: + schema: + $ref: '#/components/schemas/CompanyRoleAgreementConsents' + '403': + description: The user is not assignable to the given application. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + /api/registration/companyRoleAgreementData: + get: + tags: + - Registration + summary: 'Gets the company role agreement data (Authorization required - Roles: view_registration)' + description: 'Example: Get: /api/registration/companyRoleAgreementData' + responses: + '200': + description: Returns the Company role agreement data + content: + application/json: + schema: + $ref: '#/components/schemas/CompanyRoleAgreementData' + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + '/api/registration/application/{applicationId}/submitRegistration': + post: + tags: + - Registration + summary: 'Submits a registration (Authorization required - Roles: submit_registration)' + description: 'Example: Post: /api/registration/application/4f0146c6-32aa-4bb1-b844-df7e8babdcb4/submitRegistration' + parameters: + - name: applicationId + in: path + description: Id of the application to submit registration + required: true + schema: + type: string + format: uuid + example: 4f0146c6-32aa-4bb1-b844-df7e8babdcb4 + responses: + '200': + description: Successfully submitted the registration + content: + application/json: + schema: + type: boolean + '404': + description: Application does not exist + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '403': + description: User is not associated with company application or Application status is not fitting to the pre-requisite or Application is already closed + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '500': + description: Internal Server Error. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '401': + description: The User is unauthorized + '/api/registration/application/{applicationId}/invitedusers': + get: + tags: + - Registration + summary: 'Gets all invited users for a given application (Authorization required - Roles: view_registration)' + description: 'Example: Get: /api/registration/application/4f0146c6-32aa-4bb1-b844-df7e8babdcb4/invitedusers' + parameters: + - name: applicationId + in: path + description: Id of the application + required: true + schema: + type: string + format: uuid + example: 4f0146c6-32aa-4bb1-b844-df7e8babdcb4 + responses: + '200': + description: Returns all invited users + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/InvitedUser' + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + /api/registration/invitation/status: + put: + tags: + - Registration + summary: 'Sets the invitation status (Authorization required - Roles: view_registration)' + description: 'Example: Put: /api/registration/invitation/status' + responses: + '200': + description: Successfully sets the invitation status + content: + application/json: + schema: + type: integer + format: int32 + '403': + description: The user id is not associated with invitation. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + '/api/registration/application/{applicationId}/registrationData': + get: + tags: + - Registration + summary: 'Gets the registration data for the given application id (Authorization required - Roles: view_registration)' + description: 'Example: Get: /api/registration/application/4f0146c6-32aa-4bb1-b844-df7e8babdcb4/registrationData' + parameters: + - name: applicationId + in: path + description: The application id to get the registration data for. + required: true + schema: + type: string + format: uuid + example: 4f0146c6-32aa-4bb1-b844-df7e8babdcb4 + responses: + '200': + description: Returns the registration data + content: + application/json: + schema: + $ref: '#/components/schemas/CompanyRegistrationData' + '404': + description: The application does not exist. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '403': + description: The user id is not associated with CompanyApplication. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '503': + description: Registration data null. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + /api/registration/company/companyRoles: + get: + tags: + - Registration + summary: 'Gets the company roles and roles description (Authorization required - Roles: view_company_roles)' + description: 'Example: Get: /api/registration/company/companyRoles' + parameters: + - name: languageShortName + in: query + description: Optional two character language specifier for the roles description. Will be empty if not provided. + schema: + type: string + example: en + responses: + '200': + description: Returns the Company roles data + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/CompanyRolesDetails' + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + '/api/registration/company/country/{alpha2Code}/uniqueidentifiers': + get: + tags: + - Registration + summary: 'Gets the company Identifier for Country Alpha2Code (Authorization required - Roles: view_registration)' + description: 'Example: Get: /api/registration/company/country/{alpha2Code}/uniqueidentifiers' + parameters: + - name: alpha2Code + in: path + description: Country Alpha2Code + required: true + schema: + type: string + responses: + '200': + description: Returns the Company Identifier data + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/UniqueIdentifierData' + '404': + description: The Unique Identifier for Country was not found. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + '/api/registration/registrationDocuments/{documentId}': + get: + tags: + - Registration + summary: 'Retrieve Registration document of type CX_FRAME_CONTRACT (Authorization required - Roles: view_documents)' + description: 'Example: Get: /api/registration/registrationDocuments/4ad087bb-80a1-49d3-9ba9-da0b175cd4e3' + parameters: + - name: documentId + in: path + description: '' + required: true + schema: + type: string + format: uuid + responses: + '200': + description: Successfully fetched the document + content: + application/pdf: + schema: + $ref: '#/components/schemas/File' + application/json: + schema: + $ref: '#/components/schemas/File' + '404': + description: No document with the given id was found. + content: + application/pdf: + schema: + $ref: '#/components/schemas/ErrorResponse' + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + '/api/registration/applications/{applicationId}/declineregistration': + post: + tags: + - Registration + summary: 'Declines the registration verification for the application with the given id (Authorization required - Roles: view_registration)' + description: 'Example: POST: /api/registration/application/{applicationId}/declineregistration' + parameters: + - name: applicationId + in: path + description: Id of the application that should be declined + required: true + schema: + type: string + format: uuid + responses: + '204': + description: Successfully declined the application + '404': + description: Application ID not found. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + /api/registration/StaticData/countrylist: + get: + tags: + - StaticData + summary: Retrieve all app countries - short name (2digit) and countries long name + description: 'Example: GET: /api/registration/staticdata/countrylist' + responses: + '200': + description: Returns a list of all countries long name with language code i.e german and english + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/CountryLongNameData' + '500': + description: Internal Server Error +components: + schemas: + AgreementConsentData: + type: object + properties: + agreementId: + type: string + description: '' + format: uuid + consentStatus: + $ref: '#/components/schemas/ConsentStatusId' + additionalProperties: false + description: '' + AgreementConsentStatus: + type: object + properties: + agreementId: + type: string + format: uuid + consentStatus: + $ref: '#/components/schemas/ConsentStatusId' + additionalProperties: false + AgreementConsentStatusForRegistrationData: + type: object + properties: + agreementId: + type: string + format: uuid + consentStatus: + $ref: '#/components/schemas/ConsentStatusId' + additionalProperties: false + AgreementDocumentData: + type: object + properties: + agreementId: + type: string + format: uuid + name: + type: string + agreementLink: + type: string + nullable: true + documentId: + type: string + format: uuid + nullable: true + mandatory: + type: boolean + additionalProperties: false + ApplicationChecklistData: + type: object + properties: + typeId: + $ref: '#/components/schemas/ApplicationChecklistEntryTypeId' + statusId: + $ref: '#/components/schemas/ApplicationChecklistEntryStatusId' + additionalProperties: false + ApplicationChecklistEntryStatusId: + enum: + - TO_DO + - IN_PROGRESS + - DONE + - FAILED + - SKIPPED + type: string + ApplicationChecklistEntryTypeId: + enum: + - REGISTRATION_VERIFICATION + - BUSINESS_PARTNER_NUMBER + - IDENTITY_WALLET + - BPNL_CREDENTIAL + - MEMBERSHIP_CREDENTIAL + - CLEARING_HOUSE + - SELF_DESCRIPTION_LP + - APPLICATION_ACTIVATION + type: string + BpdmAddressVersionDto: + type: object + properties: + characterSet: + $ref: '#/components/schemas/BpdmDataDto' + language: + $ref: '#/components/schemas/BpdmDataDto' + additionalProperties: false + BpdmAdministrativeAreaDto: + type: object + properties: + value: + type: string + shortName: + type: string + fipsCode: + type: string + type: + $ref: '#/components/schemas/BpdmTechnicalKey' + language: + $ref: '#/components/schemas/BpdmDataDto' + additionalProperties: false + BpdmDataDto: + type: object + properties: + technicalKey: + type: string + name: + type: string + additionalProperties: false + BpdmGeographicCoordinatesDto: + type: object + properties: + longitude: + type: number + format: double + latitude: + type: number + format: double + altitude: + type: number + format: double + nullable: true + additionalProperties: false + BpdmLegalAddressDto: + type: object + properties: + version: + $ref: '#/components/schemas/BpdmAddressVersionDto' + careOf: + type: string + contexts: + type: array + items: + type: string + country: + $ref: '#/components/schemas/BpdmDataDto' + administrativeAreas: + type: array + items: + $ref: '#/components/schemas/BpdmAdministrativeAreaDto' + postCodes: + type: array + items: + $ref: '#/components/schemas/BpdmPostCodeDto' + localities: + type: array + items: + $ref: '#/components/schemas/BpdmLocalityDto' + thoroughfares: + type: array + items: + $ref: '#/components/schemas/BpdmThoroughfareDto' + premises: + type: array + items: + $ref: '#/components/schemas/BpdmPremiseDto' + postalDeliveryPoints: + type: array + items: + $ref: '#/components/schemas/BpdmPostalDeliveryPointDto' + geographicCoordinates: + $ref: '#/components/schemas/BpdmGeographicCoordinatesDto' + types: + type: array + items: + $ref: '#/components/schemas/BpdmTechnicalKey' + additionalProperties: false + BpdmLocalityDto: + type: object + properties: + value: + type: string + shortName: + type: string + type: + $ref: '#/components/schemas/BpdmTechnicalKey' + language: + $ref: '#/components/schemas/BpdmDataDto' + additionalProperties: false + BpdmPostCodeDto: + type: object + properties: + value: + type: string + type: + $ref: '#/components/schemas/BpdmTechnicalKey' + additionalProperties: false + BpdmPostalDeliveryPointDto: + type: object + properties: + value: + type: string + shortName: + type: string + number: + type: string + type: + $ref: '#/components/schemas/BpdmTechnicalKey' + language: + $ref: '#/components/schemas/BpdmDataDto' + additionalProperties: false + BpdmPremiseDto: + type: object + properties: + value: + type: string + shortName: + type: string + number: + type: string + type: + $ref: '#/components/schemas/BpdmTechnicalKey' + language: + $ref: '#/components/schemas/BpdmDataDto' + additionalProperties: false + BpdmTechnicalKey: + type: object + properties: + technicalKey: + type: string + name: + type: string + additionalProperties: false + BpdmThoroughfareDto: + type: object + properties: + value: + type: string + name: + type: string + shortName: + type: string + number: + type: string + direction: + type: string + type: + $ref: '#/components/schemas/BpdmTechnicalKey' + language: + $ref: '#/components/schemas/BpdmDataDto' + additionalProperties: false + CompanyApplicationDeclineData: + type: object + properties: + applicationId: + type: string + format: uuid + applicationStatus: + $ref: '#/components/schemas/CompanyApplicationStatusId' + user: + type: string + companyName: + type: string + users: + type: array + items: + type: string + additionalProperties: false + CompanyApplicationStatusId: + enum: + - CREATED + - ADD_COMPANY_DATA + - INVITE_USER + - SELECT_COMPANY_ROLE + - UPLOAD_DOCUMENTS + - VERIFY + - SUBMITTED + - CONFIRMED + - DECLINED + - CANCELLED_BY_CUSTOMER + type: string + CompanyApplicationTypeId: + enum: + - INTERNAL + - EXTERNAL + type: string + CompanyApplicationWithStatus: + type: object + properties: + applicationId: + type: string + format: uuid + applicationStatus: + $ref: '#/components/schemas/CompanyApplicationStatusId' + applicationType: + $ref: '#/components/schemas/CompanyApplicationTypeId' + applicationChecklist: + type: array + items: + $ref: '#/components/schemas/ApplicationChecklistData' + additionalProperties: false + CompanyDetailData: + type: object + properties: + name: + type: string + city: + type: string + streetName: + type: string + countryAlpha2Code: + type: string + bpn: + type: string + nullable: true + shortName: + type: string + nullable: true + region: + type: string + nullable: true + streetAdditional: + type: string + nullable: true + streetNumber: + type: string + nullable: true + zipCode: + type: string + nullable: true + uniqueIds: + type: array + items: + $ref: '#/components/schemas/CompanyUniqueIdData' + companyId: + type: string + format: uuid + additionalProperties: false + CompanyRegistrationData: + type: object + properties: + companyId: + type: string + format: uuid + name: + type: string + bpn: + type: string + nullable: true + shortName: + type: string + nullable: true + city: + type: string + nullable: true + region: + type: string + nullable: true + streetAdditional: + type: string + nullable: true + streetName: + type: string + nullable: true + streetNumber: + type: string + nullable: true + zipCode: + type: string + nullable: true + countryAlpha2Code: + type: string + nullable: true + companyRoles: + type: array + items: + $ref: '#/components/schemas/CompanyRoleId' + agreements: + type: array + items: + $ref: '#/components/schemas/AgreementConsentStatusForRegistrationData' + documents: + type: array + items: + $ref: '#/components/schemas/RegistrationDocumentNames' + uniqueIds: + type: array + items: + $ref: '#/components/schemas/CompanyUniqueIdData' + additionalProperties: false + CompanyRoleAgreementConsents: + type: object + properties: + companyRoles: + type: array + items: + $ref: '#/components/schemas/CompanyRoleId' + agreements: + type: array + items: + $ref: '#/components/schemas/AgreementConsentStatus' + additionalProperties: false + CompanyRoleAgreementData: + type: object + properties: + companyRoles: + type: array + items: + $ref: '#/components/schemas/CompanyRoleData' + agreements: + type: array + items: + $ref: '#/components/schemas/AgreementDocumentData' + additionalProperties: false + CompanyRoleData: + type: object + properties: + companyRole: + $ref: '#/components/schemas/CompanyRoleId' + descriptions: + type: object + additionalProperties: + type: string + agreementIds: + type: array + items: + type: string + format: uuid + additionalProperties: false + CompanyRoleId: + enum: + - ACTIVE_PARTICIPANT + - APP_PROVIDER + - SERVICE_PROVIDER + - OPERATOR + - ONBOARDING_SERVICE_PROVIDER + type: string + CompanyRolesDetails: + type: object + properties: + companyRole: + type: string + roleDescription: + type: string + additionalProperties: false + CompanyUniqueIdData: + type: object + properties: + type: + $ref: '#/components/schemas/UniqueIdentifierId' + value: + type: string + additionalProperties: false + ConsentStatusId: + enum: + - ACTIVE + - INACTIVE + type: string + CountryLongNameData: + type: object + properties: + alpha2Code: + type: string + countryName: + type: array + items: + $ref: '#/components/schemas/CountryName' + additionalProperties: false + CountryName: + type: object + properties: + language: + type: string + value: + type: string + additionalProperties: false + DeclineOspData: + type: object + properties: + declineReason: + $ref: '#/components/schemas/OspDeclineReason' + message: + type: string + nullable: true + additionalProperties: false + DocumentTypeId: + enum: + - CX_FRAME_CONTRACT + - COMMERCIAL_REGISTER_EXTRACT + - APP_CONTRACT + - CONFORMITY_APPROVAL_REGISTRATION + - ADDITIONAL_DETAILS + - APP_LEADIMAGE + - APP_IMAGE + - SELF_DESCRIPTION + - APP_TECHNICAL_INFORMATION + - CONFORMITY_APPROVAL_CONNECTOR + - CONFORMITY_APPROVAL_BUSINESS_APPS + - CONFORMITY_APPROVAL_SERVICES + - SERVICE_LEADIMAGE + - PRESENTATION + - COMPANY_CERTIFICATE + type: string + ErrorDetails: + type: object + properties: + errorCode: + type: string + type: + type: string + message: + type: string + parameters: + type: array + items: + $ref: '#/components/schemas/ErrorParameter' + additionalProperties: false + ErrorMessageCode: + type: object + properties: + errorCode: + type: string + message: + type: string + additionalProperties: false + ErrorMessageType: + type: object + properties: + errorType: + type: string + errorMessages: + type: array + items: + $ref: '#/components/schemas/ErrorMessageCode' + additionalProperties: false + ErrorParameter: + type: object + properties: + name: + type: string + value: + type: string + additionalProperties: false + ErrorResponse: + type: object + properties: + type: + type: string + title: + type: string + status: + type: integer + format: int32 + errors: + type: object + additionalProperties: + type: array + items: + type: string + errorId: + type: string + details: + type: array + items: + $ref: '#/components/schemas/ErrorDetails' + nullable: true + additionalProperties: false + File: + type: object + additionalProperties: false + InvitationStatusId: + enum: + - CREATED + - PENDING + - ACCEPTED + - DECLINED + type: string + InvitedUser: + type: object + properties: + invitationStatus: + $ref: '#/components/schemas/InvitationStatusId' + emailId: + type: string + nullable: true + invitedUserRoles: + type: array + items: + type: string + additionalProperties: false + OspDeclineReason: + enum: + - REGISTRATION_NOT_REQUESTED + - OPINION_CHANGED + - INACCAPTABLE_DATASPACE_RULES + - OTHERS + type: string + PartnerSubmitData: + type: object + properties: + companyRoles: + type: array + items: + $ref: '#/components/schemas/CompanyRoleId' + agreements: + type: array + items: + $ref: '#/components/schemas/AgreementConsentData' + additionalProperties: false + RegistrationDocumentNames: + type: object + properties: + documentName: + type: string + additionalProperties: false + UniqueIdentifierData: + type: object + properties: + id: + type: integer + format: int32 + label: + $ref: '#/components/schemas/UniqueIdentifierId' + additionalProperties: false + UniqueIdentifierId: + enum: + - COMMERCIAL_REG_NUMBER + - VAT_ID + - LEI_CODE + - VIES + - EORI + type: string + UploadDocuments: + type: object + properties: + documentId: + type: string + format: uuid + documentName: + type: string + additionalProperties: false + UrlInformation: + type: object + properties: + httpMethods: + type: string + url: + type: string + additionalProperties: false + UserCreationInfoWithMessage: + type: object + properties: + userName: + type: string + nullable: true + email: + type: string + firstName: + type: string + nullable: true + lastName: + type: string + nullable: true + roles: + type: array + items: + type: string + message: + type: string + nullable: true + additionalProperties: false + securitySchemes: + Bearer: + type: apiKey + description: "JWT Authorization header using the Bearer scheme. \r\n\r\n Enter 'Bearer' [space] and then your token in the text input below.\r\n\r\nExample: \"Bearer 12345abcdef\"" + name: Authorization + in: header +security: + - Bearer: [ ] \ No newline at end of file diff --git a/docs/api/Org.Eclipse.TractusX.Portal.Backend.Services.Service.yaml b/docs/api/Org.Eclipse.TractusX.Portal.Backend.Services.Service.yaml new file mode 100644 index 0000000000..ab9914fb4a --- /dev/null +++ b/docs/api/Org.Eclipse.TractusX.Portal.Backend.Services.Service.yaml @@ -0,0 +1,2835 @@ +openapi: 3.0.1 +info: + title: Org.Eclipse.TractusX.Portal.Backend.Services.Service + version: v2.3.0 +paths: + /api/services/errormessage: + get: + tags: + - ErrorMessage + responses: + '200': + description: OK + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/ErrorMessageType' + '500': + description: Internal Server Error + /api/info: + get: + tags: + - OpenInformation + summary: ' (Authorization required)' + responses: + '200': + description: OK + content: + text/plain: + schema: + type: array + items: + $ref: '#/components/schemas/UrlInformation' + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/UrlInformation' + text/json: + schema: + type: array + items: + $ref: '#/components/schemas/UrlInformation' + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + '/api/services/ServiceChange/{serviceId}/deactivateService': + put: + tags: + - ServiceChange + summary: 'Deactivate the OfferStatus By serviceId (Authorization required - Roles: update_service_offering)' + description: 'Example: PUT: /api/service/servicechanges/3c77a395-a7e7-40f2-a519-ac16498e0a79/deactivateService' + parameters: + - name: serviceId + in: path + description: Id of the service that should be deactive + required: true + schema: + type: string + format: uuid + example: 3c77a395-a7e7-40f2-a519-ac16498e0a79 + responses: + '204': + description: The Service Successfully Deactivated + '400': + description: invalid or user does not exist. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '404': + description: If service does not exists. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '403': + description: Missing Permission + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '409': + description: Offer is in incorrect state + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + /api/services/ServiceRelease/agreementData: + get: + tags: + - ServiceRelease + summary: 'Return Agreement Data for offer_type_id Service (Authorization required - Roles: add_service_offering)' + description: 'Example: GET: /api/services/servicerelease/agreementData' + responses: + '200': + description: Returns the Cpllection of agreement data + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/AgreementDocumentData' + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + '/api/services/ServiceRelease/inReview/{serviceId}': + get: + tags: + - ServiceRelease + summary: 'Retrieves service details for an offer referenced by id. (Authorization required - Roles: approve_service_release,decline_service_release)' + description: 'Example: GET: /api/services/servicerelease/inReview/D3B1ECA2-6148-4008-9E6C-C1C2AEA5C645' + operationId: GetServiceDetailsByIdAsync + parameters: + - name: serviceId + in: path + description: ID of the offer to retrieve. + required: true + schema: + type: string + format: uuid + example: D3B1ECA2-6148-4008-9E6C-C1C2AEA5C645 + responses: + '200': + description: Returns the requested service details. + content: + application/json: + schema: + $ref: '#/components/schemas/ServiceData' + '404': + description: service not found. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '409': + description: service is inCorrect Status. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + /api/services/ServiceRelease/serviceTypes: + get: + tags: + - ServiceRelease + summary: 'Retrieve Service Type Data (Authorization required - Roles: add_service_offering)' + description: 'Example: GET: /api/services/servicerelease/serviceTypes' + responses: + '200': + description: Returns the Service Type. + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/ServiceTypeData' + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + '/api/services/ServiceRelease/consent/{serviceId}': + get: + tags: + - ServiceRelease + summary: 'Gets the agreement consent status for the given service id (Authorization required - Roles: add_service_offering)' + description: 'Example: GET: /api/services/servicerelease/consent/{serviceId}' + parameters: + - name: serviceId + in: path + description: '' + required: true + schema: + type: string + format: uuid + responses: + '200': + description: Returns the offer Agreement Consent data + content: + application/json: + schema: + $ref: '#/components/schemas/OfferAgreementConsent' + '404': + description: offer does not exist. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '403': + description: User not associated with offer. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + '/api/services/ServiceRelease/{serviceId}/serviceStatus': + get: + tags: + - ServiceRelease + summary: 'Return app detail with status (Authorization required - Roles: add_service_offering)' + description: 'Example: GET: /api/services/servicerelease/{serviceId}/serviceStatus' + operationId: GetServiceDetailsForStatusAsync + parameters: + - name: serviceId + in: path + description: '' + required: true + schema: + type: string + format: uuid + responses: + '200': + description: Return the Offer and status data + content: + application/json: + schema: + $ref: '#/components/schemas/ServiceProviderResponse' + '404': + description: App does not exist. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '403': + description: User not associated with provider company. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + '/api/services/ServiceRelease/consent/{serviceId}/agreementConsents': + post: + tags: + - ServiceRelease + summary: 'Update or Insert Consent (Authorization required - Roles: add_service_offering)' + description: 'Example: POST: /api/services/servicerelease/consent/{serviceId}/agreementConsents' + parameters: + - name: serviceId + in: path + description: Id of the service + required: true + schema: + type: string + format: uuid + requestBody: + description: agreement consent data + content: + application/json: + schema: + $ref: '#/components/schemas/OfferAgreementConsent' + responses: + '200': + description: Successfully submitted consent to agreements + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/ConsentStatusData' + '404': + description: Service does not exist. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '403': + description: Either the user was not found or the user is not assignable to the given application. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '400': + description: Service Id is incorrect. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + /api/services/ServiceRelease/inReview: + get: + tags: + - ServiceRelease + summary: 'Retrieves all in review status service in the marketplace . (Authorization required - Roles: approve_service_release,decline_service_release)' + description: 'Example: GET: /api/services/servicerelease/inReview' + parameters: + - name: page + in: query + description: page index start from 0 + schema: + type: integer + format: int32 + default: 0 + - name: size + in: query + description: size to get number of records + schema: + type: integer + format: int32 + default: 15 + - name: sorting + in: query + description: sort by + schema: + $ref: '#/components/schemas/OfferSorting' + - name: serviceName + in: query + description: search by service name + schema: + type: string + - name: languageShortName + in: query + description: Filter by language shortname + schema: + type: string + - name: status + in: query + description: Filter by status + schema: + $ref: '#/components/schemas/ServiceReleaseStatusIdFilter' + responses: + '200': + description: Returns the list of all in review status marketplace service. + content: + application/json: + schema: + $ref: '#/components/schemas/InReviewServiceDataResponse' + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + '/api/services/ServiceRelease/documents/{documentId}': + delete: + tags: + - ServiceRelease + summary: 'Delete Document Assigned to Offer (Authorization required - Roles: add_service_offering)' + description: 'Example: DELETE: /api/services/servicerelease/documents/{documentId}' + parameters: + - name: documentId + in: path + description: ID of the document to be deleted. + required: true + schema: + type: string + format: uuid + responses: + '204': + description: Empty response on success. + '404': + description: Record not found. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '403': + description: User is not allowed to delete the document + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '409': + description: Document or App is in InCorrect Status + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '400': + description: parameters are invalid. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + /api/services/ServiceRelease/addservice: + post: + tags: + - ServiceRelease + summary: 'Creates a new service offering. (Authorization required - Roles: add_service_offering)' + description: 'Example: POST: /api/services/servicerelease/addservice' + requestBody: + description: The data for the new service offering. + content: + application/json: + schema: + $ref: '#/components/schemas/ServiceOfferingData' + responses: + '201': + description: Returns the newly created service id. + content: + application/json: + schema: + $ref: '#/components/schemas/OfferProviderResponse' + '400': + description: The given service offering data were invalid i.e At lease one Service Type Id is missing or Title is less than three character or IamUser is not assignable to company user or SalesManager does not exist. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + '/api/services/ServiceRelease/{serviceId}': + put: + tags: + - ServiceRelease + summary: 'Updates the service (Authorization required - Roles: update_service_offering)' + description: 'Example: PUT: /api/services/servicerelease/{serviceId}' + parameters: + - name: serviceId + in: path + description: Id for the service to update. + required: true + schema: + type: string + format: uuid + example: D3B1ECA2-6148-4008-9E6C-C1C2AEA5C645 + requestBody: + description: The request data to update the service + content: + application/json: + schema: + $ref: '#/components/schemas/ServiceUpdateRequestData' + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/NoContentResult' + '400': + description: Offer Subscription is not in state created or user is not in the same company. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '404': + description: Offer Subscription not found. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '403': + description: User don't have permission to change the service. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '409': + description: Service is in inCorrect state + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '204': + description: Service was successfully updated. + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + '/api/services/ServiceRelease/{serviceId}/submit': + put: + tags: + - ServiceRelease + summary: 'Submit an Service for release (Authorization required - Roles: add_service_offering)' + description: 'Example: PUT: /api/services/servicerelease/D3B1ECA2-6148-4008-9E6C-C1C2AEA5C645/submit' + parameters: + - name: serviceId + in: path + description: ID of the service. + required: true + schema: + type: string + format: uuid + example: D3B1ECA2-6148-4008-9E6C-C1C2AEA5C645 + responses: + '204': + description: The service was successfully submitted for release. + '400': + description: 'Either the sub claim is empty/invalid, user does not exist or the subscription might not have the correct status or the companyID is incorrect.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '404': + description: service does not exist. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '409': + description: Conflict + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + '/api/services/ServiceRelease/{serviceId}/approveService': + put: + tags: + - ServiceRelease + summary: 'Approve Service to change status from IN_REVIEW to Active and create notification (Authorization required - Roles: approve_service_release)' + description: 'Example: PUT: /api/services/servicerelease/D3B1ECA2-6148-4008-9E6C-C1C2AEA5C645/approveService' + parameters: + - name: serviceId + in: path + description: '' + required: true + schema: + type: string + format: uuid + responses: + '204': + description: The service was successfully submitted to Active State. + '404': + description: service does not exist. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '409': + description: Service is in InCorrect Status + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '500': + description: Internal server error + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '401': + description: The User is unauthorized + '/api/services/ServiceRelease/{serviceId}/declineService': + put: + tags: + - ServiceRelease + summary: 'Declines the service request (Authorization required - Roles: decline_service_release)' + description: 'Example: PUT: /api/services/servicerelease/D3B1ECA2-6148-4008-9E6C-C1C2AEA5C645/decline' + parameters: + - name: serviceId + in: path + description: Id of the service that should be declined + required: true + schema: + type: string + format: uuid + example: D3B1ECA2-6148-4008-9E6C-C1C2AEA5C645 + requestBody: + description: the data of the decline request + content: + application/json: + schema: + $ref: '#/components/schemas/OfferDeclineRequest' + responses: + '204': + description: NoContent. + '400': + description: If sub claim is empty/invalid or user does not exist. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '404': + description: If service does not exists. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '403': + description: User doest not have permission to change + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '409': + description: Offer Type is in inCorrect state. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '500': + description: Internal Server Error. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '401': + description: The User is unauthorized + '/api/services/ServiceRelease/updateservicedoc/{serviceId}/documentType/{documentTypeId}/documents': + put: + tags: + - ServiceRelease + summary: 'Upload document for active service in the marketplace for given serviceId for same company as user (Authorization required - Roles: add_service_offering)' + description: 'Example: PUT: /api/services/servicerelease/updateservicedoc/{serviceId}/documentType/{documentTypeId}/documents' + parameters: + - name: serviceId + in: path + description: '' + required: true + schema: + type: string + format: uuid + - name: documentTypeId + in: path + description: '' + required: true + schema: + $ref: '#/components/schemas/DocumentTypeId' + requestBody: + content: + multipart/form-data: + schema: + type: object + properties: + document: + type: file + description: '' + format: binary + encoding: + document: + style: form + application/json: + schema: + type: object + properties: + document: + type: file + description: '' + format: binary + encoding: + document: + style: form + responses: + '204': + description: Successfully uploaded the document + content: + application/json: + schema: + $ref: '#/components/schemas/NoContentResult' + '400': + description: 'If sub claim is empty/invalid or user does not exist, or any other parameters are invalid.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '404': + description: service does not exist. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '403': + description: The user is not assigned with the service. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '409': + description: Offer is in inCorrect State. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '415': + description: Only PDF files are supported. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + '/api/services/ServiceRelease/{serviceId}/technical-user-profiles': + get: + tags: + - ServiceRelease + summary: 'Retrieve service specific stored technical user profile configured to get created if a related service subscription is getting activated. (Authorization required - Roles: add_service_offering)' + description: 'Example: GET: /api/services/servicerelease/{serviceId}/technical-user-profiles' + parameters: + - name: serviceId + in: path + description: id of the service to receive the technical user profiles for + required: true + schema: + type: string + format: uuid + responses: + '200': + description: Returns a list of Technical User profiles + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/TechnicalUserProfileInformation' + '403': + description: Requesting user is not part of the providing company for the service. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + put: + tags: + - ServiceRelease + summary: 'Creates and updates the technical user profiles (Authorization required - Roles: add_service_offering)' + description: 'Example: PUT: /api/services/servicerelease/{serviceId}/technical-user-profiles' + parameters: + - name: serviceId + in: path + description: id of the service to receive the technical user profiles for + required: true + schema: + type: string + format: uuid + requestBody: + description: The data for the update of the technical user profile + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/TechnicalUserProfileData' + responses: + '204': + description: No Content + content: + application/json: + schema: + $ref: '#/components/schemas/NoContentResult' + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '404': + description: Not Found + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '403': + description: Requesting user is not part of the providing company for the service. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '200': + description: Returns a list of profiles + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + /api/services/active: + get: + tags: + - Services + summary: 'Retrieves all active services in the marketplace. (Authorization required - Roles: view_service_offering)' + description: 'Example: GET: /api/services/active' + parameters: + - name: page + in: query + description: Optional the page of the services. + schema: + type: integer + format: int32 + default: 0 + example: 0 + - name: size + in: query + description: 'Amount of services that should be returned, default is 15.' + schema: + type: integer + format: int32 + default: 15 + example: 15 + - name: sorting + in: query + description: Optional Sorting of the pagination + schema: + $ref: '#/components/schemas/ServiceOverviewSorting' + example: ProviderAsc + - name: serviceTypeId + in: query + description: Optional filter for service type ids + schema: + $ref: '#/components/schemas/ServiceTypeId' + responses: + '200': + description: Returns the list of all active services. + content: + application/json: + schema: + $ref: '#/components/schemas/ServiceOverviewDataResponse' + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + '/api/services/{serviceId}/subscribe': + post: + tags: + - Services + summary: 'Adds a new service subscription. (Authorization required - Roles: subscribe_service)' + description: 'Example: POST: /api/services/D3B1ECA2-6148-4008-9E6C-C1C2AEA5C645/subscribe' + parameters: + - name: serviceId + in: path + description: Id for the service the user wants to subscribe to. + required: true + schema: + type: string + format: uuid + example: D3B1ECA2-6148-4008-9E6C-C1C2AEA5C645 + requestBody: + description: The agreement consent data + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/OfferAgreementConsentData' + responses: + '201': + description: Returns success + content: + application/json: + schema: + type: string + format: uuid + '400': + description: Company or company user wasn't assigned to the user. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '404': + description: No Service was found for the given id. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + '/api/services/subscription/{subscriptionId}': + get: + tags: + - Services + summary: 'Gets the Subscription Detail Data (Authorization required - Roles: view_service_offering)' + description: 'Example: Get: /api/services/subscription/D3B1ECA2-6148-4008-9E6C-C1C2AEA5C646' + operationId: GetSubscriptionDetail + parameters: + - name: subscriptionId + in: path + description: Id for the subscription the wants to retrieve. + required: true + schema: + type: string + format: uuid + example: D3B1ECA2-6148-4008-9E6C-C1C2AEA5C646 + responses: + '200': + description: Returns the subscription details. + content: + application/json: + schema: + $ref: '#/components/schemas/SubscriptionDetailData' + '404': + description: Service was not found. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + '/api/services/{serviceId}': + get: + tags: + - Services + summary: 'Retrieves service offer details for the respective service id. (Authorization required - Roles: view_service_offering)' + description: 'Example: Get: /api/services/D3B1ECA2-6148-4008-9E6C-C1C2AEA5C645' + operationId: GetServiceDetails + parameters: + - name: serviceId + in: path + description: Id for the service the wants to retrieve. + required: true + schema: + type: string + format: uuid + example: D3B1ECA2-6148-4008-9E6C-C1C2AEA5C645 + - name: lang + in: query + description: 'OPTIONAL: Optional two character language specifier for the service description. Default response is set to english.' + schema: + type: string + default: en + example: de + responses: + '200': + description: Returns the service details. + content: + application/json: + schema: + $ref: '#/components/schemas/ServiceDetailResponse' + '404': + description: Service was not found. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + '/api/services/serviceConsent/{serviceConsentId}': + get: + tags: + - Services + summary: 'Gets the service agreement consent details. (Authorization required - Roles: view_service_offering)' + description: 'Example: Get: /api/services/serviceConsent/D3B1ECA2-6148-4008-9E6C-C1C2AEA5C645' + operationId: GetServiceAgreementConsentDetail + parameters: + - name: serviceConsentId + in: path + description: Id for the service consent to retrieve. + required: true + schema: + type: string + format: uuid + example: D3B1ECA2-6148-4008-9E6C-C1C2AEA5C645 + responses: + '200': + description: Returns the service consent details. + content: + application/json: + schema: + $ref: '#/components/schemas/ConsentDetailData' + '404': + description: Consent was not found. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + '/api/services/serviceAgreementData/{serviceId}': + get: + tags: + - Services + summary: 'Gets all agreements (Authorization required - Roles: subscribe_service)' + description: 'Example: GET: /api/services/serviceAgreementData/D3B1ECA2-6148-4008-9E6C-C1C2AEA5C645' + parameters: + - name: serviceId + in: path + description: Id for the service consent to retrieve. + required: true + schema: + type: string + format: uuid + example: D3B1ECA2-6148-4008-9E6C-C1C2AEA5C645 + responses: + '200': + description: Returns the service agreement data. + content: + application/json: + schema: + $ref: '#/components/schemas/AgreementData' + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + /api/services/autoSetup: + post: + tags: + - Services + summary: 'Auto setup the service (Authorization required - Roles: activate_subscription)' + description: 'Example: POST: /api/services/autoSetup' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/OfferAutoSetupData' + responses: + '200': + description: Returns the service agreement data. + content: + application/json: + schema: + $ref: '#/components/schemas/OfferAutoSetupResponseData' + '400': + description: Offer Subscription is pending or not the providing company. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '404': + description: Offer Subscription not found. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + deprecated: true + /api/services/start-autoSetup: + post: + tags: + - Services + summary: 'Auto setup the app (Authorization required - Roles: activate_subscription)' + description: 'Example: POST: /api/apps/start-autoSetup' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/OfferAutoSetupData' + responses: + '204': + description: The auto setup has successfully been started. + '400': + description: Offer Subscription is pending or not the providing company. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '404': + description: Offer Subscription not found. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + /api/services/provided/subscription-status: + get: + tags: + - Services + summary: 'Retrieves subscription statuses of provided services of the currently logged in user''s company. (Authorization required - Roles: view_service_subscriptions)' + description: 'Example: GET: /api/services/provided/subscription-status' + parameters: + - name: page + in: query + schema: + type: integer + format: int32 + default: 0 + - name: size + in: query + schema: + type: integer + format: int32 + default: 15 + - name: sorting + in: query + schema: + $ref: '#/components/schemas/SubscriptionStatusSorting' + - name: statusId + in: query + schema: + $ref: '#/components/schemas/OfferSubscriptionStatusId' + - name: offerId + in: query + schema: + type: string + format: uuid + - name: companyName + in: query + schema: + type: string + responses: + '200': + description: Returns list of applicable service subscription statuses. + content: + application/json: + schema: + $ref: '#/components/schemas/OfferCompanySubscriptionStatusResponseResponse' + '400': + description: If sub claim is empty/invalid or user does not exist. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + '/api/services/{serviceId}/serviceDocuments/{documentId}': + get: + tags: + - Services + summary: 'Retrieve Document Content for Service by ID (Authorization required - Roles: view_documents)' + description: 'Example: GET: /api/services/{serviceId}/serviceDocuments/{documentId}' + parameters: + - name: serviceId + in: path + description: '' + required: true + schema: + type: string + format: uuid + - name: documentId + in: path + description: '' + required: true + schema: + type: string + format: uuid + responses: + '200': + description: Returns the document Content + content: + image/jpeg: + schema: + type: string + format: binary + image/png: + schema: + type: string + format: binary + image/gif: + schema: + type: string + format: binary + image/svg+xml: + schema: + type: string + format: binary + image/tiff: + schema: + type: string + format: binary + application/pdf: + schema: + type: string + format: binary + application/json: + schema: + type: string + format: binary + '400': + description: Document / Service id not found or document type not supported. + content: + image/jpeg: + schema: + $ref: '#/components/schemas/ErrorResponse' + image/png: + schema: + $ref: '#/components/schemas/ErrorResponse' + image/gif: + schema: + $ref: '#/components/schemas/ErrorResponse' + image/svg+xml: + schema: + $ref: '#/components/schemas/ErrorResponse' + image/tiff: + schema: + $ref: '#/components/schemas/ErrorResponse' + application/pdf: + schema: + $ref: '#/components/schemas/ErrorResponse' + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '404': + description: document not found. + content: + image/jpeg: + schema: + $ref: '#/components/schemas/ErrorResponse' + image/png: + schema: + $ref: '#/components/schemas/ErrorResponse' + image/gif: + schema: + $ref: '#/components/schemas/ErrorResponse' + image/svg+xml: + schema: + $ref: '#/components/schemas/ErrorResponse' + image/tiff: + schema: + $ref: '#/components/schemas/ErrorResponse' + application/pdf: + schema: + $ref: '#/components/schemas/ErrorResponse' + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '415': + description: UnSupported Media Type. + content: + image/jpeg: + schema: + $ref: '#/components/schemas/ErrorResponse' + image/png: + schema: + $ref: '#/components/schemas/ErrorResponse' + image/gif: + schema: + $ref: '#/components/schemas/ErrorResponse' + image/svg+xml: + schema: + $ref: '#/components/schemas/ErrorResponse' + image/tiff: + schema: + $ref: '#/components/schemas/ErrorResponse' + application/pdf: + schema: + $ref: '#/components/schemas/ErrorResponse' + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + /api/services/provided: + get: + tags: + - Services + summary: 'Retrieves all in review status service in the marketplace . (Authorization required - Roles: add_service_offering)' + description: 'Example: GET: /api/services/provided' + parameters: + - name: page + in: query + description: page index start from 0 + schema: + type: integer + format: int32 + default: 0 + - name: size + in: query + description: size to get number of records + schema: + type: integer + format: int32 + default: 15 + - name: sorting + in: query + description: sort by + schema: + $ref: '#/components/schemas/OfferSorting' + - name: offerName + in: query + description: search by status Id + schema: + type: string + - name: statusId + in: query + description: search by status Id + schema: + $ref: '#/components/schemas/ServiceStatusIdFilter' + responses: + '200': + description: Returns the list of service filtered by offer status Id. + content: + application/json: + schema: + $ref: '#/components/schemas/AllOfferStatusDataResponse' + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + '/api/services/{serviceId}/subscription/{subscriptionId}/provider': + get: + tags: + - Services + summary: 'Retrieves the details of a subscription (Authorization required - Roles: service_management)' + description: 'Example: GET: /api/services/{serviceId}/subscription/{subscriptionId}/provider' + parameters: + - name: serviceId + in: path + description: id of the service to receive the details for + required: true + schema: + type: string + format: uuid + - name: subscriptionId + in: path + description: id of the subscription to receive the details for + required: true + schema: + type: string + format: uuid + responses: + '200': + description: Returns the subscription details for the provider + content: + application/json: + schema: + $ref: '#/components/schemas/ProviderSubscriptionDetailData' + '403': + description: User's company does not provide the service. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '404': + description: No service or subscription found. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + '/api/services/{serviceId}/subscription/{subscriptionId}/subscriber': + get: + tags: + - Services + summary: 'Retrieves the details of a subscription (Authorization required - Roles: subscribe_service)' + description: 'Example: GET: /api/services/{serviceId}/subscription/{subscriptionId}/subscriber' + parameters: + - name: serviceId + in: path + description: id of the service to receive the details for + required: true + schema: + type: string + format: uuid + - name: subscriptionId + in: path + description: id of the subscription to receive the details for + required: true + schema: + type: string + format: uuid + responses: + '200': + description: Returns the subscription details for the subscriber + content: + application/json: + schema: + $ref: '#/components/schemas/SubscriberSubscriptionDetailData' + '403': + description: User's company does not provide the service. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '404': + description: No service or subscription found. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + /api/services/subscribed/subscription-status: + get: + tags: + - Services + summary: 'Retrieves subscription statuses of services. (Authorization required - Roles: view_service_subscriptions)' + description: 'Example: GET: /api/services/subscribed/subscription-status' + parameters: + - name: page + in: query + description: The page that should be displayed + schema: + type: integer + format: int32 + default: 0 + - name: size + in: query + description: The size per page of elements that should be returned + schema: + type: integer + format: int32 + default: 15 + - name: status + in: query + description: 'Filter for the offer subscription status. If not set, all elements will be returned' + schema: + $ref: '#/components/schemas/OfferSubscriptionStatusId' + - name: name + in: query + description: Optional search query to filter for the name + schema: + type: string + responses: + '200': + description: Returns list of applicable service subscription statuses. + content: + application/json: + schema: + $ref: '#/components/schemas/OfferSubscriptionStatusDetailDataResponse' + '400': + description: If sub claim is empty/invalid or user does not exist. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + '/api/services/{subscriptionId}/unsubscribe': + put: + tags: + - Services + summary: 'Unsubscribes an service from the current user''s company''s subscriptions. (Authorization required - Roles: unsubscribe_services)' + description: 'Example: PUT: /api/service/{subscriptionId}/unsubscribe' + parameters: + - name: subscriptionId + in: path + description: ID of the subscription to unsubscribe from. + required: true + schema: + type: string + format: uuid + example: D3B1ECA2-6148-4008-9E6C-C1C2AEA5C645 + responses: + '204': + description: The service was successfully unsubscribed from. + '400': + description: 'Either the sub claim is empty/invalid, user does not exist or the subscription might not have the correct status or the companyID is incorrect.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '404': + description: Service does not exist. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + '/subscription/{subscriptionId}/activate': + put: + tags: + - Services + summary: 'Activates a pending service subscription. (Authorization required - Roles: activate_subscription)' + description: 'Example: PUT: /api/services/supscription/{subscriptiondId}/activate' + parameters: + - name: subscriptionId + in: path + description: ID of the subscription to activate. + required: true + schema: + type: string + format: uuid + example: D3B1ECA2-6148-4008-9E6C-C1C2AEA5C645 + responses: + '204': + description: Service subscription was successfully activated. + '400': + description: 'If sub claim is empty/invalid or user does not exist, or any other parameters are invalid.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '404': + description: Not Found + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '409': + description: Conflict + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '500': + description: Internal Server Error. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '401': + description: The User is unauthorized +components: + schemas: + AgreementConsentStatus: + type: object + properties: + agreementId: + type: string + format: uuid + consentStatus: + $ref: '#/components/schemas/ConsentStatusId' + additionalProperties: false + AgreementData: + type: object + properties: + agreementId: + type: string + format: uuid + name: + type: string + mandatory: + type: boolean + additionalProperties: false + AgreementDocumentData: + type: object + properties: + agreementId: + type: string + format: uuid + name: + type: string + agreementLink: + type: string + nullable: true + documentId: + type: string + format: uuid + nullable: true + mandatory: + type: boolean + additionalProperties: false + AllOfferStatusData: + type: object + properties: + id: + type: string + format: uuid + name: + type: string + nullable: true + leadPictureId: + type: string + format: uuid + nullable: true + provider: + type: string + status: + $ref: '#/components/schemas/OfferStatusId' + lastChanged: + type: string + format: date-time + nullable: true + additionalProperties: false + AllOfferStatusDataResponse: + type: object + properties: + meta: + $ref: '#/components/schemas/Metadata' + content: + type: array + items: + $ref: '#/components/schemas/AllOfferStatusData' + additionalProperties: false + AppUseCaseData: + type: object + properties: + id: + type: string + format: uuid + label: + type: string + additionalProperties: false + ClientInfoData: + type: object + properties: + clientId: + type: string + clientUrl: + type: string + additionalProperties: false + CompanySubscriptionStatus: + type: object + properties: + companyId: + type: string + format: uuid + companyName: + type: string + subscriptionId: + type: string + format: uuid + offerSubscriptionStatus: + $ref: '#/components/schemas/OfferSubscriptionStatusId' + country: + type: string + nullable: true + bpnNumber: + type: string + nullable: true + email: + type: string + nullable: true + technicalUser: + type: boolean + processStepTypeId: + $ref: '#/components/schemas/ProcessStepTypeId' + additionalProperties: false + ConsentDetailData: + type: object + properties: + id: + type: string + format: uuid + companyName: + type: string + companyUserId: + type: string + format: uuid + consentStatus: + $ref: '#/components/schemas/ConsentStatusId' + agreementName: + type: string + additionalProperties: false + ConsentStatusData: + type: object + properties: + agreementId: + type: string + format: uuid + consentStatus: + $ref: '#/components/schemas/ConsentStatusId' + additionalProperties: false + ConsentStatusId: + enum: + - ACTIVE + - INACTIVE + type: string + DocumentData: + type: object + properties: + documentId: + type: string + format: uuid + documentName: + type: string + additionalProperties: false + DocumentTypeId: + enum: + - CX_FRAME_CONTRACT + - COMMERCIAL_REGISTER_EXTRACT + - APP_CONTRACT + - CONFORMITY_APPROVAL_REGISTRATION + - ADDITIONAL_DETAILS + - APP_LEADIMAGE + - APP_IMAGE + - SELF_DESCRIPTION + - APP_TECHNICAL_INFORMATION + - CONFORMITY_APPROVAL_CONNECTOR + - CONFORMITY_APPROVAL_BUSINESS_APPS + - CONFORMITY_APPROVAL_SERVICES + - SERVICE_LEADIMAGE + - PRESENTATION + - COMPANY_CERTIFICATE + type: string + ErrorDetails: + type: object + properties: + errorCode: + type: string + type: + type: string + message: + type: string + parameters: + type: array + items: + $ref: '#/components/schemas/ErrorParameter' + additionalProperties: false + ErrorMessageCode: + type: object + properties: + errorCode: + type: string + message: + type: string + additionalProperties: false + ErrorMessageType: + type: object + properties: + errorType: + type: string + errorMessages: + type: array + items: + $ref: '#/components/schemas/ErrorMessageCode' + additionalProperties: false + ErrorParameter: + type: object + properties: + name: + type: string + value: + type: string + additionalProperties: false + ErrorResponse: + type: object + properties: + type: + type: string + title: + type: string + status: + type: integer + format: int32 + errors: + type: object + additionalProperties: + type: array + items: + type: string + errorId: + type: string + details: + type: array + items: + $ref: '#/components/schemas/ErrorDetails' + nullable: true + additionalProperties: false + InReviewServiceData: + type: object + properties: + id: + type: string + format: uuid + title: + type: string + nullable: true + status: + $ref: '#/components/schemas/OfferStatusId' + provider: + type: string + description: + type: string + additionalProperties: false + InReviewServiceDataResponse: + type: object + properties: + meta: + $ref: '#/components/schemas/Metadata' + content: + type: array + items: + $ref: '#/components/schemas/InReviewServiceData' + additionalProperties: false + LicenseTypeId: + enum: + - COTS + - FOSS + type: string + LocalizedDescription: + type: object + properties: + languageCode: + type: string + longDescription: + type: string + shortDescription: + type: string + additionalProperties: false + Metadata: + type: object + properties: + totalElements: + type: integer + format: int32 + totalPages: + type: integer + format: int32 + page: + type: integer + format: int32 + contentSize: + type: integer + format: int32 + additionalProperties: false + NoContentResult: + type: object + properties: + statusCode: + type: integer + format: int32 + additionalProperties: false + OfferAgreement: + type: object + properties: + id: + type: string + format: uuid + nullable: true + name: + type: string + nullable: true + consentStatus: + type: string + nullable: true + additionalProperties: false + OfferAgreementConsent: + type: object + properties: + agreements: + type: array + items: + $ref: '#/components/schemas/AgreementConsentStatus' + additionalProperties: false + OfferAgreementConsentData: + type: object + properties: + agreementId: + type: string + format: uuid + consentStatusId: + $ref: '#/components/schemas/ConsentStatusId' + additionalProperties: false + OfferAutoSetupData: + type: object + properties: + requestId: + type: string + format: uuid + offerUrl: + type: string + additionalProperties: false + OfferAutoSetupResponseData: + type: object + properties: + technicalUserInfo: + type: array + items: + $ref: '#/components/schemas/TechnicalUserInfoData' + clientInfo: + $ref: '#/components/schemas/ClientInfoData' + additionalProperties: false + OfferCompanySubscriptionStatusResponse: + type: object + properties: + offerId: + type: string + format: uuid + offerName: + type: string + nullable: true + companySubscriptionStatuses: + type: array + items: + $ref: '#/components/schemas/CompanySubscriptionStatus' + image: + type: string + format: uuid + nullable: true + additionalProperties: false + OfferCompanySubscriptionStatusResponseResponse: + type: object + properties: + meta: + $ref: '#/components/schemas/Metadata' + content: + type: array + items: + $ref: '#/components/schemas/OfferCompanySubscriptionStatusResponse' + additionalProperties: false + OfferDeclineRequest: + type: object + properties: + message: + type: string + additionalProperties: false + OfferProviderResponse: + type: object + properties: + title: + type: string + nullable: true + provider: + type: string + leadPictureId: + type: string + format: uuid + providerName: + type: string + nullable: true + useCase: + type: array + items: + $ref: '#/components/schemas/AppUseCaseData' + nullable: true + descriptions: + type: array + items: + $ref: '#/components/schemas/LocalizedDescription' + agreements: + type: array + items: + $ref: '#/components/schemas/OfferAgreement' + supportedLanguageCodes: + type: array + items: + type: string + price: + type: string + nullable: true + images: + type: array + items: + type: string + format: uuid + providerUri: + type: string + nullable: true + contactEmail: + type: string + nullable: true + contactNumber: + type: string + nullable: true + documents: + type: object + properties: + CX_FRAME_CONTRACT: + type: array + items: + $ref: '#/components/schemas/DocumentData' + COMMERCIAL_REGISTER_EXTRACT: + type: array + items: + $ref: '#/components/schemas/DocumentData' + APP_CONTRACT: + type: array + items: + $ref: '#/components/schemas/DocumentData' + CONFORMITY_APPROVAL_REGISTRATION: + type: array + items: + $ref: '#/components/schemas/DocumentData' + ADDITIONAL_DETAILS: + type: array + items: + $ref: '#/components/schemas/DocumentData' + APP_LEADIMAGE: + type: array + items: + $ref: '#/components/schemas/DocumentData' + APP_IMAGE: + type: array + items: + $ref: '#/components/schemas/DocumentData' + SELF_DESCRIPTION: + type: array + items: + $ref: '#/components/schemas/DocumentData' + APP_TECHNICAL_INFORMATION: + type: array + items: + $ref: '#/components/schemas/DocumentData' + CONFORMITY_APPROVAL_CONNECTOR: + type: array + items: + $ref: '#/components/schemas/DocumentData' + CONFORMITY_APPROVAL_BUSINESS_APPS: + type: array + items: + $ref: '#/components/schemas/DocumentData' + CONFORMITY_APPROVAL_SERVICES: + type: array + items: + $ref: '#/components/schemas/DocumentData' + SERVICE_LEADIMAGE: + type: array + items: + $ref: '#/components/schemas/DocumentData' + PRESENTATION: + type: array + items: + $ref: '#/components/schemas/DocumentData' + COMPANY_CERTIFICATE: + type: array + items: + $ref: '#/components/schemas/DocumentData' + additionalProperties: false + salesManagerId: + type: string + format: uuid + nullable: true + privacyPolicies: + type: array + items: + $ref: '#/components/schemas/PrivacyPolicyId' + serviceTypeIds: + type: array + items: + $ref: '#/components/schemas/ServiceTypeId' + nullable: true + technicalUserProfile: + type: object + additionalProperties: + type: array + items: + type: string + additionalProperties: false + OfferSorting: + enum: + - DateAsc + - DateDesc + - NameAsc + - NameDesc + type: string + OfferStatusId: + enum: + - CREATED + - IN_REVIEW + - ACTIVE + - INACTIVE + type: string + OfferSubscriptionStateDetailData: + type: object + properties: + offerSubscriptionId: + type: string + format: uuid + offerSubscriptionStatus: + $ref: '#/components/schemas/OfferSubscriptionStatusId' + additionalProperties: false + OfferSubscriptionStatusDetailData: + type: object + properties: + offerId: + type: string + format: uuid + name: + type: string + nullable: true + provider: + type: string + status: + $ref: '#/components/schemas/OfferSubscriptionStatusId' + subscriptionId: + type: string + format: uuid + image: + type: string + format: uuid + nullable: true + additionalProperties: false + OfferSubscriptionStatusDetailDataResponse: + type: object + properties: + meta: + $ref: '#/components/schemas/Metadata' + content: + type: array + items: + $ref: '#/components/schemas/OfferSubscriptionStatusDetailData' + additionalProperties: false + OfferSubscriptionStatusId: + enum: + - PENDING + - ACTIVE + - INACTIVE + type: string + PrivacyPolicyId: + enum: + - COMPANY_DATA + - USER_DATA + - LOCATION + - BROWSER_HISTORY + - NONE + type: string + ProcessStepTypeId: + enum: + - MANUAL_VERIFY_REGISTRATION + - CREATE_BUSINESS_PARTNER_NUMBER_PUSH + - CREATE_BUSINESS_PARTNER_NUMBER_PULL + - CREATE_BUSINESS_PARTNER_NUMBER_MANUAL + - CREATE_IDENTITY_WALLET + - RETRIGGER_IDENTITY_WALLET + - START_CLEARING_HOUSE + - RETRIGGER_CLEARING_HOUSE + - AWAIT_CLEARING_HOUSE_RESPONSE + - START_SELF_DESCRIPTION_LP + - RETRIGGER_SELF_DESCRIPTION_LP + - ACTIVATE_APPLICATION + - RETRIGGER_BUSINESS_PARTNER_NUMBER_PUSH + - RETRIGGER_BUSINESS_PARTNER_NUMBER_PULL + - MANUAL_TRIGGER_OVERRIDE_CLEARING_HOUSE + - START_OVERRIDE_CLEARING_HOUSE + - AWAIT_SELF_DESCRIPTION_LP_RESPONSE + - MANUAL_DECLINE_APPLICATION + - CREATE_DIM_WALLET + - AWAIT_DIM_RESPONSE_RESPONSE + - RETRIGGER_CREATE_DIM_WALLET + - VALIDATE_DID_DOCUMENT + - RETRIGGER_VALIDATE_DID_DOCUMENT + - REQUEST_BPN_CREDENTIAL + - AWAIT_BPN_CREDENTIAL_RESPONSE + - REQUEST_MEMBERSHIP_CREDENTIAL + - AWAIT_MEMBERSHIP_CREDENTIAL_RESPONSE + - TRANSMIT_BPN_DID + - RETRIGGER_TRANSMIT_DID_BPN + - RETRIGGER_REQUEST_BPN_CREDENTIAL + - RETRIGGER_REQUEST_MEMBERSHIP_CREDENTIAL + - TRIGGER_PROVIDER + - AWAIT_START_AUTOSETUP + - OFFERSUBSCRIPTION_CLIENT_CREATION + - SINGLE_INSTANCE_SUBSCRIPTION_DETAILS_CREATION + - OFFERSUBSCRIPTION_TECHNICALUSER_CREATION + - ACTIVATE_SUBSCRIPTION + - TRIGGER_PROVIDER_CALLBACK + - RETRIGGER_PROVIDER + - RETRIGGER_OFFERSUBSCRIPTION_CLIENT_CREATION + - RETRIGGER_OFFERSUBSCRIPTION_TECHNICALUSER_CREATION + - RETRIGGER_PROVIDER_CALLBACK + - MANUAL_TRIGGER_ACTIVATE_SUBSCRIPTION + - OFFERSUBSCRIPTION_CREATE_DIM_TECHNICAL_USER + - RETRIGGER_OFFERSUBSCRIPTION_CREATE_DIM_TECHNICAL_USER + - SYNCHRONIZE_USER + - RETRIGGER_SYNCHRONIZE_USER + - TRIGGER_CALLBACK_OSP_SUBMITTED + - TRIGGER_CALLBACK_OSP_APPROVED + - TRIGGER_CALLBACK_OSP_DECLINED + - RETRIGGER_CALLBACK_OSP_SUBMITTED + - RETRIGGER_CALLBACK_OSP_APPROVED + - RETRIGGER_CALLBACK_OSP_DECLINED + - MANUAL_DECLINE_OSP + - REMOVE_KEYCLOAK_USERS + - RETRIGGER_REMOVE_KEYCLOAK_USERS + - SEND_MAIL + - RETRIGGER_SEND_MAIL + - INVITATION_CREATE_CENTRAL_IDP + - INVITATION_CREATE_SHARED_IDP_SERVICE_ACCOUNT + - INVITATION_ADD_REALM_ROLE + - INVITATION_CREATE_SHARED_REALM + - INVITATION_CREATE_CENTRAL_IDP_ORG_MAPPER + - INVITATION_UPDATE_CENTRAL_IDP_URLS + - INVITATION_CREATE_SHARED_CLIENT + - INVITATION_ENABLE_CENTRAL_IDP + - INVITATION_CREATE_DATABASE_IDP + - INVITATION_CREATE_USER + - RETRIGGER_INVITATION_CREATE_CENTRAL_IDP + - RETRIGGER_INVITATION_CREATE_SHARED_IDP_SERVICE_ACCOUNT + - RETRIGGER_INVITATION_ADD_REALM_ROLE + - RETRIGGER_INVITATION_CREATE_SHARED_REALM + - RETRIGGER_INVITATION_CREATE_CENTRAL_IDP_ORG_MAPPER + - RETRIGGER_INVITATION_UPDATE_CENTRAL_IDP_URLS + - RETRIGGER_INVITATION_CREATE_SHARED_CLIENT + - RETRIGGER_INVITATION_ENABLE_CENTRAL_IDP + - RETRIGGER_INVITATION_CREATE_USER + - RETRIGGER_INVITATION_CREATE_DATABASE_IDP + - CREATE_DIM_TECHNICAL_USER + - RETRIGGER_CREATE_DIM_TECHNICAL_USER + - AWAIT_CREATE_DIM_TECHNICAL_USER_RESPONSE + - DELETE_DIM_TECHNICAL_USER + - AWAIT_DELETE_DIM_TECHNICAL_USER_RESPONSE + - RETRIGGER_DELETE_DIM_TECHNICAL_USER + - DELETE_CENTRAL_USER + - RETRIGGER_DELETE_CENTRAL_USER + - DELETE_COMPANYUSER_ASSIGNED_PROCESS + - DELETE_IDP_SHARED_REALM + - RETRIGGER_DELETE_IDP_SHARED_REALM + - DELETE_IDP_SHARED_SERVICEACCOUNT + - RETRIGGER_DELETE_IDP_SHARED_SERVICEACCOUNT + - DELETE_CENTRAL_IDENTITY_PROVIDER + - RETRIGGER_DELETE_CENTRAL_IDENTITY_PROVIDER + - DELETE_IDENTITY_PROVIDER + - SELF_DESCRIPTION_CONNECTOR_CREATION + - SELF_DESCRIPTION_COMPANY_CREATION + - RETRIGGER_SELF_DESCRIPTION_CONNECTOR_CREATION + - RETRIGGER_SELF_DESCRIPTION_COMPANY_CREATION + type: string + ProviderSubscriptionDetailData: + type: object + properties: + id: + type: string + format: uuid + offerSubscriptionStatus: + $ref: '#/components/schemas/OfferSubscriptionStatusId' + name: + type: string + nullable: true + customer: + type: string + bpn: + type: string + nullable: true + contact: + type: array + items: + type: string + technicalUserData: + type: array + items: + $ref: '#/components/schemas/SubscriptionTechnicalUserData' + additionalProperties: false + ServiceData: + type: object + properties: + id: + type: string + description: ID of the service. + format: uuid + title: + type: string + description: Title or name of the service. + serviceTypes: + type: array + items: + $ref: '#/components/schemas/ServiceTypeId' + description: Collection of the assigned serviceTypeIds + provider: + type: string + description: Provider of the service. + descriptions: + type: array + items: + $ref: '#/components/schemas/LocalizedDescription' + description: The description of the service. + documents: + type: object + properties: + CX_FRAME_CONTRACT: + type: array + items: + $ref: '#/components/schemas/DocumentData' + COMMERCIAL_REGISTER_EXTRACT: + type: array + items: + $ref: '#/components/schemas/DocumentData' + APP_CONTRACT: + type: array + items: + $ref: '#/components/schemas/DocumentData' + CONFORMITY_APPROVAL_REGISTRATION: + type: array + items: + $ref: '#/components/schemas/DocumentData' + ADDITIONAL_DETAILS: + type: array + items: + $ref: '#/components/schemas/DocumentData' + APP_LEADIMAGE: + type: array + items: + $ref: '#/components/schemas/DocumentData' + APP_IMAGE: + type: array + items: + $ref: '#/components/schemas/DocumentData' + SELF_DESCRIPTION: + type: array + items: + $ref: '#/components/schemas/DocumentData' + APP_TECHNICAL_INFORMATION: + type: array + items: + $ref: '#/components/schemas/DocumentData' + CONFORMITY_APPROVAL_CONNECTOR: + type: array + items: + $ref: '#/components/schemas/DocumentData' + CONFORMITY_APPROVAL_BUSINESS_APPS: + type: array + items: + $ref: '#/components/schemas/DocumentData' + CONFORMITY_APPROVAL_SERVICES: + type: array + items: + $ref: '#/components/schemas/DocumentData' + SERVICE_LEADIMAGE: + type: array + items: + $ref: '#/components/schemas/DocumentData' + PRESENTATION: + type: array + items: + $ref: '#/components/schemas/DocumentData' + COMPANY_CERTIFICATE: + type: array + items: + $ref: '#/components/schemas/DocumentData' + additionalProperties: false + description: documents assigned to service. + providerUri: + type: string + description: Provider Uri of the service + contactEmail: + type: string + description: Contact Email of the service. + nullable: true + contactNumber: + type: string + description: Contact Number of the service. + nullable: true + licenseType: + $ref: '#/components/schemas/LicenseTypeId' + offerStatus: + $ref: '#/components/schemas/OfferStatusId' + technicalUserProfile: + type: object + additionalProperties: + type: array + items: + type: string + description: Status of the offer + additionalProperties: false + description: View model of an application's detailed data specific for service. + ServiceDetailResponse: + type: object + properties: + id: + type: string + description: ID of the app. + format: uuid + title: + type: string + description: Title or name of the app. + nullable: true + provider: + type: string + description: Provider of the app. + contactEmail: + type: string + description: Contact email address. + nullable: true + description: + type: string + description: The description of the service. + nullable: true + licenseType: + $ref: '#/components/schemas/LicenseTypeId' + price: + type: string + description: Pricing information of the app. + offerSubscriptionDetailData: + type: array + items: + $ref: '#/components/schemas/OfferSubscriptionStateDetailData' + description: Detail Data of the offer subscription + serviceTypes: + type: array + items: + $ref: '#/components/schemas/ServiceTypeId' + description: Collection of the assigned serviceTypeIds. + documents: + type: object + properties: + CX_FRAME_CONTRACT: + type: array + items: + $ref: '#/components/schemas/DocumentData' + COMMERCIAL_REGISTER_EXTRACT: + type: array + items: + $ref: '#/components/schemas/DocumentData' + APP_CONTRACT: + type: array + items: + $ref: '#/components/schemas/DocumentData' + CONFORMITY_APPROVAL_REGISTRATION: + type: array + items: + $ref: '#/components/schemas/DocumentData' + ADDITIONAL_DETAILS: + type: array + items: + $ref: '#/components/schemas/DocumentData' + APP_LEADIMAGE: + type: array + items: + $ref: '#/components/schemas/DocumentData' + APP_IMAGE: + type: array + items: + $ref: '#/components/schemas/DocumentData' + SELF_DESCRIPTION: + type: array + items: + $ref: '#/components/schemas/DocumentData' + APP_TECHNICAL_INFORMATION: + type: array + items: + $ref: '#/components/schemas/DocumentData' + CONFORMITY_APPROVAL_CONNECTOR: + type: array + items: + $ref: '#/components/schemas/DocumentData' + CONFORMITY_APPROVAL_BUSINESS_APPS: + type: array + items: + $ref: '#/components/schemas/DocumentData' + CONFORMITY_APPROVAL_SERVICES: + type: array + items: + $ref: '#/components/schemas/DocumentData' + SERVICE_LEADIMAGE: + type: array + items: + $ref: '#/components/schemas/DocumentData' + PRESENTATION: + type: array + items: + $ref: '#/components/schemas/DocumentData' + COMPANY_CERTIFICATE: + type: array + items: + $ref: '#/components/schemas/DocumentData' + additionalProperties: false + description: documents assigned to offer + technicalUserProfile: + type: object + additionalProperties: + type: array + items: + type: string + description: Technical User Profile + additionalProperties: false + description: View model of an application's detailed data specific for service. + ServiceOfferingData: + type: object + properties: + title: + type: string + price: + type: string + contactEmail: + type: string + nullable: true + salesManager: + type: string + format: uuid + nullable: true + descriptions: + type: array + items: + $ref: '#/components/schemas/LocalizedDescription' + serviceTypeIds: + type: array + items: + $ref: '#/components/schemas/ServiceTypeId' + providerUri: + type: string + nullable: true + additionalProperties: false + ServiceOverviewData: + type: object + properties: + id: + type: string + format: uuid + title: + type: string + nullable: true + provider: + type: string + contactEmail: + type: string + nullable: true + description: + type: string + nullable: true + licenseType: + $ref: '#/components/schemas/LicenseTypeId' + price: + type: string + serviceTypeIds: + type: array + items: + $ref: '#/components/schemas/ServiceTypeId' + additionalProperties: false + ServiceOverviewDataResponse: + type: object + properties: + meta: + $ref: '#/components/schemas/Metadata' + content: + type: array + items: + $ref: '#/components/schemas/ServiceOverviewData' + additionalProperties: false + ServiceOverviewSorting: + enum: + - ProviderAsc + - ProviderDesc + - ReleaseDateAsc + - ReleaseDateDesc + type: string + ServiceProviderResponse: + type: object + properties: + title: + type: string + description: title of the offer + nullable: true + leadPictureId: + type: string + description: id of the lead picture + format: uuid + descriptions: + type: array + items: + $ref: '#/components/schemas/LocalizedDescription' + description: the offer descriptions + agreements: + type: array + items: + $ref: '#/components/schemas/OfferAgreement' + description: the assigned agreements + price: + type: string + description: the offer price + nullable: true + images: + type: array + items: + type: string + format: uuid + description: list of the images + providerUri: + type: string + description: the provider uri + nullable: true + contactEmail: + type: string + description: contact email + nullable: true + contactNumber: + type: string + description: contact number + nullable: true + documents: + type: object + properties: + CX_FRAME_CONTRACT: + type: array + items: + $ref: '#/components/schemas/DocumentData' + COMMERCIAL_REGISTER_EXTRACT: + type: array + items: + $ref: '#/components/schemas/DocumentData' + APP_CONTRACT: + type: array + items: + $ref: '#/components/schemas/DocumentData' + CONFORMITY_APPROVAL_REGISTRATION: + type: array + items: + $ref: '#/components/schemas/DocumentData' + ADDITIONAL_DETAILS: + type: array + items: + $ref: '#/components/schemas/DocumentData' + APP_LEADIMAGE: + type: array + items: + $ref: '#/components/schemas/DocumentData' + APP_IMAGE: + type: array + items: + $ref: '#/components/schemas/DocumentData' + SELF_DESCRIPTION: + type: array + items: + $ref: '#/components/schemas/DocumentData' + APP_TECHNICAL_INFORMATION: + type: array + items: + $ref: '#/components/schemas/DocumentData' + CONFORMITY_APPROVAL_CONNECTOR: + type: array + items: + $ref: '#/components/schemas/DocumentData' + CONFORMITY_APPROVAL_BUSINESS_APPS: + type: array + items: + $ref: '#/components/schemas/DocumentData' + CONFORMITY_APPROVAL_SERVICES: + type: array + items: + $ref: '#/components/schemas/DocumentData' + SERVICE_LEADIMAGE: + type: array + items: + $ref: '#/components/schemas/DocumentData' + PRESENTATION: + type: array + items: + $ref: '#/components/schemas/DocumentData' + COMPANY_CERTIFICATE: + type: array + items: + $ref: '#/components/schemas/DocumentData' + additionalProperties: false + description: list of linked documents + salesManagerId: + type: string + description: id of the salesmanager + format: uuid + nullable: true + serviceTypeIds: + type: array + items: + $ref: '#/components/schemas/ServiceTypeId' + description: ids of the service types + technicalUserProfile: + type: object + additionalProperties: + type: array + items: + type: string + description: ids of the service types + additionalProperties: false + description: Response for the service creation + ServiceReleaseStatusIdFilter: + enum: + - InReview + - All + type: string + description: Filters the OfferStatusId information + ServiceStatusIdFilter: + enum: + - Active + - Inactive + - InReview + - WIP + - All + type: string + description: Filters the OfferStatusId information + ServiceTypeData: + type: object + properties: + serviceTypeId: + type: integer + format: int32 + name: + type: string + additionalProperties: false + ServiceTypeId: + enum: + - DATASPACE_SERVICE + - CONSULTANCY_SERVICE + type: string + ServiceUpdateRequestData: + type: object + properties: + title: + type: string + descriptions: + type: array + items: + $ref: '#/components/schemas/LocalizedDescription' + serviceTypeIds: + type: array + items: + $ref: '#/components/schemas/ServiceTypeId' + price: + type: string + contactEmail: + type: string + salesManager: + type: string + format: uuid + nullable: true + providerUri: + type: string + nullable: true + additionalProperties: false + SubscriberSubscriptionDetailData: + type: object + properties: + id: + type: string + format: uuid + offerSubscriptionStatus: + $ref: '#/components/schemas/OfferSubscriptionStatusId' + name: + type: string + nullable: true + provider: + type: string + contact: + type: array + items: + type: string + technicalUserData: + type: array + items: + $ref: '#/components/schemas/SubscriptionTechnicalUserData' + connectorData: + type: array + items: + $ref: '#/components/schemas/SubscriptionAssignedConnectorData' + additionalProperties: false + SubscriptionAssignedConnectorData: + type: object + properties: + id: + type: string + format: uuid + name: + type: string + endpoint: + type: string + additionalProperties: false + SubscriptionDetailData: + type: object + properties: + offerId: + type: string + format: uuid + offerName: + type: string + status: + $ref: '#/components/schemas/OfferSubscriptionStatusId' + additionalProperties: false + SubscriptionStatusSorting: + enum: + - CompanyNameAsc + - CompanyNameDesc + - OfferIdAsc + - OfferIdDesc + type: string + SubscriptionTechnicalUserData: + type: object + properties: + id: + type: string + format: uuid + name: + type: string + nullable: true + permissions: + type: array + items: + type: string + additionalProperties: false + TechnicalUserInfoData: + type: object + properties: + technicalUserId: + type: string + format: uuid + technicalUserPermissions: + type: array + items: + type: string + technicalUserSecret: + type: string + nullable: true + technicalClientId: + type: string + nullable: true + additionalProperties: false + TechnicalUserProfileData: + type: object + properties: + technicalUserProfileId: + type: string + format: uuid + nullable: true + userRoleIds: + type: array + items: + type: string + format: uuid + additionalProperties: false + TechnicalUserProfileInformation: + type: object + properties: + technicalUserProfileId: + type: string + format: uuid + userRoles: + type: array + items: + $ref: '#/components/schemas/UserRoleInformation' + additionalProperties: false + UrlInformation: + type: object + properties: + httpMethods: + type: string + url: + type: string + additionalProperties: false + UserRoleInformation: + type: object + properties: + roleId: + type: string + format: uuid + roleName: + type: string + additionalProperties: false + securitySchemes: + Bearer: + type: apiKey + description: "JWT Authorization header using the Bearer scheme. \r\n\r\n Enter 'Bearer' [space] and then your token in the text input below.\r\n\r\nExample: \"Bearer 12345abcdef\"" + name: Authorization + in: header +security: + - Bearer: [ ] \ No newline at end of file diff --git a/src/administration/Administration.Service/.config/dotnet-tools.json b/src/administration/Administration.Service/.config/dotnet-tools.json new file mode 100644 index 0000000000..ba9187cc34 --- /dev/null +++ b/src/administration/Administration.Service/.config/dotnet-tools.json @@ -0,0 +1,13 @@ +{ + "version": 1, + "isRoot": true, + "tools": { + "swashbuckle.aspnetcore.cli": { + "version": "6.8.0", + "commands": [ + "swagger" + ], + "rollForward": false + } + } +} \ No newline at end of file diff --git a/src/administration/Administration.Service/Administration.Service.csproj b/src/administration/Administration.Service/Administration.Service.csproj index b65072ca07..9e5f29fd51 100644 --- a/src/administration/Administration.Service/Administration.Service.csproj +++ b/src/administration/Administration.Service/Administration.Service.csproj @@ -32,6 +32,16 @@ CS1591 + + + + + + + + + + all diff --git a/src/administration/Administration.Service/Controllers/IdentityProviderController.cs b/src/administration/Administration.Service/Controllers/IdentityProviderController.cs index c29c4518f8..fa11b2811e 100644 --- a/src/administration/Administration.Service/Controllers/IdentityProviderController.cs +++ b/src/administration/Administration.Service/Controllers/IdentityProviderController.cs @@ -284,7 +284,7 @@ public IActionResult GetOwnCompanyUsersIdentityProviderFileAsync([FromQuery] IEn [ProducesResponseType(typeof(ErrorResponse), StatusCodes.Status400BadRequest)] [ProducesResponseType(typeof(ErrorResponse), StatusCodes.Status415UnsupportedMediaType)] [ProducesResponseType(typeof(ErrorResponse), StatusCodes.Status502BadGateway)] - public ValueTask UploadOwnCompanyUsersIdentityProviderFileAsync([FromForm(Name = "document")] IFormFile document, CancellationToken cancellationToken) => + public ValueTask UploadOwnCompanyUsersIdentityProviderFileAsync(IFormFile document, CancellationToken cancellationToken) => businessLogic.UploadOwnCompanyUsersIdentityProviderLinkDataAsync(document, cancellationToken); /// diff --git a/src/administration/Administration.Service/Controllers/UserController.cs b/src/administration/Administration.Service/Controllers/UserController.cs index bae5cdc75a..3d2198c1c9 100644 --- a/src/administration/Administration.Service/Controllers/UserController.cs +++ b/src/administration/Administration.Service/Controllers/UserController.cs @@ -96,7 +96,7 @@ public IAsyncEnumerable CreateOwnCompanyUsers([FromBody] IEnumerable UploadOwnCompanySharedIdpUsersFileAsync([FromForm(Name = "document")] IFormFile document, CancellationToken cancellationToken) => + public ValueTask UploadOwnCompanySharedIdpUsersFileAsync(IFormFile document, CancellationToken cancellationToken) => _uploadLogic.UploadOwnCompanySharedIdpUsersAsync(document, cancellationToken); /// @@ -154,7 +154,7 @@ public async Task CreateOwnIdpOwnCompanyUser([FromBody] Us [ProducesResponseType(typeof(ErrorResponse), StatusCodes.Status400BadRequest)] [ProducesResponseType(typeof(ErrorResponse), StatusCodes.Status415UnsupportedMediaType)] [ProducesResponseType(typeof(ErrorResponse), StatusCodes.Status502BadGateway)] - public ValueTask UploadOwnCompanyUsersIdentityProviderFileAsync([FromRoute] Guid identityProviderId, [FromForm(Name = "document")] IFormFile document, CancellationToken cancellationToken) => + public ValueTask UploadOwnCompanyUsersIdentityProviderFileAsync([FromRoute] Guid identityProviderId, IFormFile document, CancellationToken cancellationToken) => _uploadLogic.UploadOwnCompanyIdpUsersAsync(identityProviderId, document, cancellationToken); /// diff --git a/src/administration/Administration.Service/Org.Eclipse.TractusX.Portal.Backend.Administration.Service.yaml b/src/administration/Administration.Service/Org.Eclipse.TractusX.Portal.Backend.Administration.Service.yaml new file mode 100644 index 0000000000..4cd5b91aa9 --- /dev/null +++ b/src/administration/Administration.Service/Org.Eclipse.TractusX.Portal.Backend.Administration.Service.yaml @@ -0,0 +1,7819 @@ +openapi: 3.0.1 +info: + title: Org.Eclipse.TractusX.Portal.Backend.Administration.Service + version: v2.3.0 +paths: + /api/administration/companydata/ownCompanyDetails: + get: + tags: + - CompanyData + summary: 'Gets the company with its address (Authorization required - Roles: view_company_data)' + description: 'Example: GET: api/administration/companydata/ownCompanyDetails' + responses: + '200': + description: Returns the company with its address. + content: + application/json: + schema: + $ref: '#/components/schemas/CompanyAddressDetailData' + '409': + description: user is not associated with company. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + /api/administration/companydata/preferredUseCases: + get: + tags: + - CompanyData + summary: 'Gets the CompanyAssigned UseCase details (Authorization required - Roles: view_use_cases)' + description: 'Example: GET: api/administration/companydata/preferredUseCases' + responses: + '200': + description: Returns the CompanyAssigned UseCase details. + content: + application/json: + schema: + $ref: '#/components/schemas/CompanyAssignedUseCaseData' + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + post: + tags: + - CompanyData + summary: 'Create the CompanyAssigned UseCase details (Authorization required - Roles: set_company_use_cases)' + description: 'Example: POST: api/administration/companydata/preferredUseCases' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/UseCaseIdDetails' + responses: + '201': + description: Created + '204': + description: NoContentResult + '409': + description: Company Status is Incorrect + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '208': + description: UseCaseId already existis + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + delete: + tags: + - CompanyData + summary: 'Remove the CompanyAssigned UseCase details by UseCaseId (Authorization required - Roles: set_company_use_cases)' + description: 'Example: DELETE: api/administration/companydata/preferredUseCases' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/UseCaseIdDetails' + responses: + '204': + description: NoContentResult + content: + application/json: + schema: + $ref: '#/components/schemas/NoContentResult' + '409': + description: "Company Status is Incorrect \n\r\nUseCaseId is not available" + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + /api/administration/companydata/companyRolesAndConsents: + get: + tags: + - CompanyData + summary: 'Gets the companyrole and ConsentAgreement Details (Authorization required - Roles: view_company_data)' + description: 'Example: GET: api/administration/companydata/companyRolesAndConsents' + parameters: + - name: languageShortName + in: query + schema: + type: string + responses: + '200': + description: Returns the Companyrole and Consent details. + content: + application/json: + schema: + $ref: '#/components/schemas/CompanyRoleConsentViewData' + '400': + description: languageShortName is not valid + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '404': + description: CompanyId does not exist in company + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '409': + description: No Companyrole or Incorrect Status + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + post: + tags: + - CompanyData + summary: 'Post the companyrole and Consent Details (Authorization required - Roles: view_company_data)' + description: 'Example: POST: api/administration/companydata/companyRolesAndConsents' + requestBody: + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/CompanyRoleConsentDetails' + responses: + '204': + description: Created the Companyrole and Consent details. + content: + application/json: + schema: + $ref: '#/components/schemas/NoContentResult' + '400': + description: "All agreement need to get signed as Active or InActive \n\r\nAgreements not associated with requested companyRoles" + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '409': + description: "Company does not exists \n\r\nCompany is in Incorrect state \n\r\nCompany can't unassign from all roles" + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + /api/administration/companydata/useCaseParticipation: + post: + tags: + - CompanyData + summary: 'Creates the use case participation request (Authorization required - Roles: request_ssicredential)' + description: 'Example: POST: api/administration/companydata/useCaseParticipation' + requestBody: + content: + multipart/form-data: + schema: + type: object + properties: + VerifiedCredentialExternalTypeDetailId: + type: string + format: uuid + CredentialType: + type: string + Document: + type: file + format: binary + encoding: + VerifiedCredentialExternalTypeDetailId: + style: form + CredentialType: + style: form + Document: + style: form + application/json: + schema: + type: object + properties: + VerifiedCredentialExternalTypeDetailId: + type: string + format: uuid + CredentialType: + type: string + Document: + type: file + format: binary + encoding: + VerifiedCredentialExternalTypeDetailId: + style: form + CredentialType: + style: form + Document: + style: form + responses: + '204': + description: Successfully created the use case participation request. + '400': + description: "VerifiedCredentialExternalTypeDetailId does not exist \n\r\nCredential request already exist" + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + /api/administration/companydata/companyCertificate: + post: + tags: + - CompanyData + summary: 'Creates the Company Certificate request (Authorization required - Roles: upload_certificates)' + description: 'Example: POST: api/administration/companydata/companyCertificate' + requestBody: + content: + multipart/form-data: + schema: + type: object + properties: + CertificateType: + $ref: '#/components/schemas/CompanyCertificateTypeId' + Document: + type: file + format: binary + ExternalCertificateNumber: + type: string + Sites: + type: array + items: + type: string + ValidFrom: + type: string + format: date-time + ValidTill: + type: string + format: date-time + Issuer: + type: string + encoding: + CertificateType: + style: form + Document: + style: form + ExternalCertificateNumber: + style: form + Sites: + style: form + ValidFrom: + style: form + ValidTill: + style: form + Issuer: + style: form + application/json: + schema: + type: object + properties: + CertificateType: + $ref: '#/components/schemas/CompanyCertificateTypeId' + Document: + type: file + format: binary + ExternalCertificateNumber: + type: string + Sites: + type: array + items: + type: string + ValidFrom: + type: string + format: date-time + ValidTill: + type: string + format: date-time + Issuer: + type: string + encoding: + CertificateType: + style: form + Document: + style: form + ExternalCertificateNumber: + style: form + Sites: + style: form + ValidFrom: + style: form + ValidTill: + style: form + Issuer: + style: form + responses: + '204': + description: Successfully created the Company certificate request. + '400': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + '/api/administration/companydata/company/{businessPartnerNumber}/companyCertificates': + get: + tags: + - CompanyData + summary: 'Gets the companyCertificates Details (Authorization required - Roles: view_certificates)' + description: 'Example: GET: api/administration/companydata/businessPartnerNumber}/companyCertificates' + parameters: + - name: businessPartnerNumber + in: path + required: true + schema: + type: string + responses: + '200': + description: Returns the companyCertificates details. + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/CompanyCertificateBpnData' + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '404': + description: Not Found + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '409': + description: Conflict + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + /api/administration/companydata/companyCertificates: + get: + tags: + - CompanyData + summary: 'Retrieves all company certificates with respect userId. (Authorization required - Roles: view_certificates)' + description: 'Example: GET /api/administration/companydata/companyCertificates' + parameters: + - name: page + in: query + description: Optional the page of company certificate. + schema: + type: integer + format: int32 + default: 0 + example: 0 + - name: size + in: query + description: 'Amount of company certificate, default is 15.' + schema: + type: integer + format: int32 + default: 15 + example: 15 + - name: sorting + in: query + description: Optional Sorting of the pagination + schema: + $ref: '#/components/schemas/CertificateSorting' + example: CertificateTypeAsc + - name: certificateStatus + in: query + description: Optional filter for company certificate status + schema: + $ref: '#/components/schemas/CompanyCertificateStatusId' + - name: certificateType + in: query + description: Optional filter for company certificate type + schema: + $ref: '#/components/schemas/CompanyCertificateTypeId' + responses: + '200': + description: Returns the list of all active company certificates. + content: + application/json: + schema: + $ref: '#/components/schemas/CompanyCertificateDataResponse' + '204': + description: No Content + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + '/api/administration/companydata/companyCertificates/{documentId}': + get: + tags: + - CompanyData + summary: 'Retrieves a specific company certificate document for the given documentid and companyuserid. (Authorization required - Roles: view_certificates)' + description: 'Example: GET /api/administration/companydata/companyCertificates/4ad087bb-80a1-49d3-9ba9-da0b175cd4e3' + parameters: + - name: documentId + in: path + description: Id of the document to get. + required: true + schema: + type: string + format: uuid + example: 4ad087bb-80a1-49d3-9ba9-da0b175cd4e3 + responses: + '200': + description: Returns the file. + content: + application/json: + schema: + type: string + format: binary + '404': + description: The document was not found. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '403': + description: Forbidden + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '503': + description: Service Unavailable + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + '/api/administration/companydata/companyCertificates/documents/{documentId}': + get: + tags: + - CompanyData + summary: 'Retrieves a specific company certificate document for the given id. (Authorization required - Roles: view_certificates)' + description: 'Example: GET /api/administration/companydata/companyCertificates/documents/4ad087bb-80a1-49d3-9ba9-da0b175cd4e3' + parameters: + - name: documentId + in: path + description: Id of the document to get. + required: true + schema: + type: string + format: uuid + example: 4ad087bb-80a1-49d3-9ba9-da0b175cd4e3 + responses: + '200': + description: Returns the file. + content: + application/json: + schema: + type: string + format: binary + '404': + description: The document was not found. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '403': + description: The document which is not in status "ACTIVE". + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '503': + description: document Content is null. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + '/api/administration/companydata/companyCertificate/document/{documentId}': + delete: + tags: + - CompanyData + summary: 'Deletes the company certificate with the given id (Authorization required - Roles: delete_certificates)' + description: 'Example: Delete: /api/administration/companydata/companyCertificate/document/{documentId}' + parameters: + - name: documentId + in: path + description: '' + required: true + schema: + type: string + format: uuid + example: 4ad087bb-80a1-49d3-9ba9-da0b175cd4e3 + responses: + '200': + description: Successfully deleted the company certificate + content: + application/json: + schema: + type: integer + format: int32 + '404': + description: Not Found + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '409': + description: Conflict + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '400': + description: Incorrect document state + '403': + description: The user is not assigned with the Company. + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + /api/administration/companydata/decentralidentity/urls: + get: + tags: + - CompanyData + summary: 'Rejects the given credential (Authorization required - Roles: view_company_data)' + description: 'Example: GET: api/administration/companydata/decentralidentity/urls' + responses: + '200': + description: Returns the dim urls. + content: + application/json: + schema: + $ref: '#/components/schemas/DimUrlsResponse' + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + /api/administration/companydata/missing-sd-document: + get: + tags: + - CompanyData + summary: 'Retrieves all active companies with missing sd document. (Authorization required - Roles: view_company_data)' + description: "Example: GET: /api/administration/companyData/missing-sd-document \n\r\nExample: GET: /api/administration/companyData/missing-sd-document?page=0&size=15" + parameters: + - name: page + in: query + description: Optional query parameter defining the requested page number. + schema: + type: integer + format: int32 + default: 0 + example: 0 + - name: size + in: query + description: Optional query parameter defining the number of companies listed per page. + schema: + type: integer + format: int32 + default: 15 + example: 15 + responses: + '200': + description: Returns a list of all active companies with missing sd document. + content: + application/json: + schema: + $ref: '#/components/schemas/CompanyMissingSdDocumentDataResponse' + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + /api/administration/companydata/trigger-self-description: + post: + tags: + - CompanyData + summary: 'Triggers the process to create the missing self description documents (Authorization required - Roles: approve_new_partner)' + responses: + '204': + description: Empty response on success. + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '404': + description: No Process found for the processId + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + /api/administration/companydata/retrigger-self-description: + post: + tags: + - CompanyData + summary: 'Retriggers the process to create the missing self description documents (Authorization required - Roles: approve_new_partner)' + parameters: + - name: processId + in: path + required: true + schema: + type: string + format: uuid + responses: + '204': + description: Empty response on success. + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '404': + description: No Process found for the processId + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + /api/administration/Connectors: + get: + tags: + - Connectors + summary: 'Retrieves all company registered own connectors and their status. (Authorization required - Roles: view_connectors)' + description: "Example: GET: /api/administration/connectors \n\r\nExample: GET: /api/administration/connectors?page=0&size=15" + parameters: + - name: page + in: query + description: Optional query parameter defining the requested page number. + schema: + type: integer + format: int32 + default: 0 + example: 0 + - name: size + in: query + description: Optional query parameter defining the number of connectors listed per page. + schema: + type: integer + format: int32 + default: 15 + example: 15 + responses: + '200': + description: Returns a list of all of the current user's company's connectors. + content: + application/json: + schema: + $ref: '#/components/schemas/ConnectorDataResponse' + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + post: + tags: + - Connectors + summary: 'Allows to register owned company connectors (self-hosted/-managed) inside the CX dataspace. (Authorization required - Roles: add_connectors)' + description: 'Example: POST: /api/administration/connectors/daps' + requestBody: + content: + multipart/form-data: + schema: + type: object + properties: + Name: + type: string + description: Display name of the connector. + ConnectorUrl: + type: string + description: ConnectorCatalogEndpoint. + Location: + type: string + description: Connector's location country code. + TechnicalUserId: + type: string + description: Id of the technical user. + format: uuid + encoding: + Name: + style: form + ConnectorUrl: + style: form + Location: + style: form + TechnicalUserId: + style: form + responses: + '201': + description: Returns a view model of the created connector. + content: + application/json: + schema: + type: string + format: uuid + '400': + description: Input parameter are invalid. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '503': + description: Access to SD factory failed with the given status code. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + /api/administration/Connectors/managed: + get: + tags: + - Connectors + summary: 'Retrieves all registered connectors which are managed connectors of company customers and their status. (Authorization required - Roles: view_connectors)' + description: "Example: GET: /api/administration/connectors/managed \n\r\nExample: GET: /api/administration/connectors/managed?page=0&size=15" + parameters: + - name: page + in: query + description: Optional query parameter defining the requested page number. + schema: + type: integer + format: int32 + default: 0 + example: 0 + - name: size + in: query + description: Optional query parameter defining the number of connectors listed per page. + schema: + type: integer + format: int32 + default: 15 + example: 15 + responses: + '200': + description: Returns a list of all of the current user's company's connectors. + content: + application/json: + schema: + $ref: '#/components/schemas/ConnectorDataResponse' + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + post: + tags: + - Connectors + summary: 'Allows to register managed connectors for 3rd parties/customers inside the CX dataspace. (Authorization required - Roles: add_connectors)' + description: 'Example: POST: /api/administration/connectors/managed' + requestBody: + content: + multipart/form-data: + schema: + type: object + properties: + Name: + type: string + description: Display name of the connector. + ConnectorUrl: + type: string + description: ConnectorCatalogEndpoint.. + Location: + type: string + description: Connector's location country code. + SubscriptionId: + type: string + description: Id of the offer subscription. + format: uuid + TechnicalUserId: + type: string + description: Id of the technical user. + format: uuid + encoding: + Name: + style: form + ConnectorUrl: + style: form + Location: + style: form + SubscriptionId: + style: form + TechnicalUserId: + style: form + responses: + '201': + description: Returns a view model of the created connector. + content: + application/json: + schema: + type: string + format: uuid + '400': + description: Input parameter are invalid. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '503': + description: Access to SD factory failed with the given status code. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + '/api/administration/Connectors/{connectorId}': + get: + tags: + - Connectors + summary: 'Retrieves connector information for a specific connector by its ID. Note: only company owned connectors can get called. (Authorization required - Roles: view_connectors)' + description: 'Example: GET: /api/administration/connectors/5636F9B9-C3DE-4BA5-8027-00D17A2FECFB' + operationId: GetCompanyConnectorByIdForCurrentUserAsync + parameters: + - name: connectorId + in: path + description: ID of the connector for which the details are to be displayed. + required: true + schema: + type: string + format: uuid + example: 5636F9B9-C3DE-4BA5-8027-00D17A2FECFB + responses: + '200': + description: Returns details of the requested connector. + content: + application/json: + schema: + $ref: '#/components/schemas/ConnectorData' + '403': + description: user does not belong to company of companyUserId. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '404': + description: Connector ID not found. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + delete: + tags: + - Connectors + summary: 'Removes a connector from persistence layer by id. (Authorization required - Roles: delete_connectors)' + description: 'Example: DELETE: /api/administration/connectors/{connectorId}?deleteServiceAccount=true' + parameters: + - name: connectorId + in: path + description: ID of the connector to be deleted. + required: true + schema: + type: string + format: uuid + example: 5636F9B9-C3DE-4BA5-8027-00D17A2FECFB + - name: deleteServiceAccount + in: query + description: 'if `true` the linked service account will be deleted, otherwise the connection to the connector will just be removed' + schema: + type: boolean + default: false + responses: + '204': + description: Empty response on success. + content: + application/json: + schema: + $ref: '#/components/schemas/IActionResult' + '404': + description: Record not found. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '409': + description: Connector status does not match a deletion scenario. Deletion declined. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + /api/administration/Connectors/discovery: + post: + tags: + - Connectors + summary: 'Retrieve dataspace registered connectors by their registered BPNL or retrieve them all by sending an empty array. (Authorization required - Roles: view_connectors)' + description: 'Example: POST: /api/administration/connectors/discovery' + requestBody: + description: Single or List of Business Partner Number of the company. + content: + application/json: + schema: + type: array + items: + type: string + text/json: + schema: + type: array + items: + type: string + application/*+json: + schema: + type: array + items: + type: string + responses: + '200': + description: Returns company connector per bpn. + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/ConnectorEndPointData' + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + /api/administration/Connectors/clearinghouse/selfDescription: + post: + tags: + - Connectors + summary: 'Asynchron callback endpoint for the clearinghouse provider to submit the connector SD document. (Authorization required - Roles: submit_connector_sd)' + requestBody: + description: The response data for the self description + content: + application/json: + schema: + $ref: '#/components/schemas/SelfDescriptionResponseData' + text/json: + schema: + $ref: '#/components/schemas/SelfDescriptionResponseData' + application/*+json: + schema: + $ref: '#/components/schemas/SelfDescriptionResponseData' + responses: + '204': + description: Empty response on success. + '409': + description: Connector has document assigned. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '404': + description: Record Not Found. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + '/api/administration/Connectors/{connectorId}/connectorUrl': + put: + tags: + - Connectors + summary: 'Updates the connector url (Authorization required - Roles: modify_connectors)' + description: 'Example: PUT: /api/administration/connectors/{connectorId}/connectorUrl' + parameters: + - name: connectorId + in: path + description: Id of the connector to trigger the daps call. + required: true + schema: + type: string + format: uuid + example: 5636F9B9-C3DE-4BA5-8027-00D17A2FECFB + requestBody: + description: The update data + content: + application/json: + schema: + $ref: '#/components/schemas/ConnectorUpdateRequest' + text/json: + schema: + $ref: '#/components/schemas/ConnectorUpdateRequest' + application/*+json: + schema: + $ref: '#/components/schemas/ConnectorUpdateRequest' + responses: + '204': + description: Url was successfully updated. + '400': + description: Input parameter are invalid. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '403': + description: user does not belong to host company of the connector. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '404': + description: Connector was not found. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '503': + description: Access to Daps failed with the given status code. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + /api/administration/Connectors/offerSubscriptions: + get: + tags: + - Connectors + summary: 'Retrieve the offer subscriptions for the company with the linked connectorIds. (Authorization required - Roles: view_connectors)' + description: 'Example: GET: /api/administration/connectors/offerSubscriptions' + parameters: + - name: connectorIdSet + in: query + description: "Optional: if `true` only respond with subscriptions where a link to a connector is given,\r\nif `false` it will only return subscriptions where no link to an connector exists." + schema: + type: boolean + example: false + responses: + '200': + description: Returns list of the offer subscriptions for the company. + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/ConnectorEndPointData' + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + /api/administration/Connectors/missing-sd-document: + get: + tags: + - Connectors + summary: 'Retrieves all active connectors with missing sd document. (Authorization required - Roles: view_connectors)' + description: "Example: GET: /api/administration/connectors/missing-sd-document \n\r\nExample: GET: /api/administration/connectors/missing-sd-document?page=0&size=15" + parameters: + - name: page + in: query + description: Optional query parameter defining the requested page number. + schema: + type: integer + format: int32 + default: 0 + example: 0 + - name: size + in: query + description: Optional query parameter defining the number of connectors listed per page. + schema: + type: integer + format: int32 + default: 15 + example: 15 + responses: + '200': + description: Returns a list of all active connectors with missing sd document. + content: + application/json: + schema: + $ref: '#/components/schemas/ConnectorMissingSdDocumentDataResponse' + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + /api/administration/Connectors/trigger-self-description: + post: + tags: + - Connectors + summary: 'Triggers the process to create the missing self description documents (Authorization required - Roles: approve_new_partner)' + responses: + '204': + description: Empty response on success. + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '404': + description: No Process found for the processId + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + /api/administration/Connectors/retrigger-self-description: + post: + tags: + - Connectors + summary: 'Retriggers the process to create the missing self description documents (Authorization required - Roles: approve_new_partner)' + parameters: + - name: processId + in: path + required: true + schema: + type: string + format: uuid + responses: + '204': + description: Empty response on success. + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '404': + description: No Process found for the processId + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + '/api/administration/Documents/{documentId}': + get: + tags: + - Documents + summary: 'Retrieves a specific document for the given id. (Authorization required - Roles: view_documents)' + description: 'Example: GET: /api/administration/documents/4ad087bb-80a1-49d3-9ba9-da0b175cd4e3' + parameters: + - name: documentId + in: path + description: Id of the document to get. + required: true + schema: + type: string + format: uuid + example: 4ad087bb-80a1-49d3-9ba9-da0b175cd4e3 + responses: + '200': + description: Returns the file. + content: + text/plain: + schema: + type: string + format: binary + application/json: + schema: + type: string + format: binary + text/json: + schema: + type: string + format: binary + '404': + description: The document was not found. + content: + text/plain: + schema: + $ref: '#/components/schemas/ErrorResponse' + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + text/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '403': + description: The user is not assigned with the Company. + content: + text/plain: + schema: + $ref: '#/components/schemas/ErrorResponse' + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + text/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '503': + description: document Content is null. + content: + text/plain: + schema: + $ref: '#/components/schemas/ErrorResponse' + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + text/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + delete: + tags: + - Documents + summary: 'Deletes the document with the given id (Authorization required - Roles: delete_documents)' + description: 'Example: Delete: /api/registration/documents/{documentId}' + parameters: + - name: documentId + in: path + description: '' + required: true + schema: + type: string + format: uuid + example: 4ad087bb-80a1-49d3-9ba9-da0b175cd4e3 + responses: + '200': + description: Successfully deleted the document + content: + application/json: + schema: + type: boolean + '400': + description: Incorrect document state + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '403': + description: The user is not assigned with the Company. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '404': + description: The document was not found. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + '/api/administration/Documents/selfDescription/{documentId}': + get: + tags: + - Documents + summary: 'Retrieves a specific document for the given id. (Authorization required - Roles: view_documents)' + description: 'Example: GET: /api/administration/documents/selfDescription/4ad087bb-80a1-49d3-9ba9-da0b175cd4e3' + parameters: + - name: documentId + in: path + description: Id of the document to get. + required: true + schema: + type: string + format: uuid + example: 4ad087bb-80a1-49d3-9ba9-da0b175cd4e3 + responses: + '200': + description: Returns the file. + content: + text/plain: + schema: + type: string + format: binary + application/json: + schema: + type: string + format: binary + text/json: + schema: + type: string + format: binary + '404': + description: The document was not found. + content: + text/plain: + schema: + $ref: '#/components/schemas/ErrorResponse' + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + text/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + '/api/administration/Documents/{documentId}/seeddata': + get: + tags: + - Documents + summary: 'Gets the json the seed data for a specific document (Authorization required - Roles: debug_download_documents)' + description: "Example: GET: /api/registration/documents/{documentId}/seeddata\r\n\nthis endpoint can only be used in the dev environment!" + parameters: + - name: documentId + in: path + description: '' + required: true + schema: + type: string + format: uuid + example: 4ad087bb-80a1-49d3-9ba9-da0b175cd4e3 + responses: + '200': + description: Successfully deleted the document + content: + application/json: + schema: + type: boolean + '403': + description: Call was made from a non dev environment + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '404': + description: The document was not found. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + '/api/administration/Documents/frameDocuments/{documentId}': + get: + tags: + - Documents + summary: 'Retrieve document of type CX_FRAME_CONTRACT (Authorization required - Roles: view_documents)' + description: 'Example: Get: /api/administration/documents/frameDocuments/4ad087bb-80a1-49d3-9ba9-da0b175cd4e3' + parameters: + - name: documentId + in: path + description: '' + required: true + schema: + type: string + format: uuid + responses: + '200': + description: Successfully fetched the document + content: + application/pdf: + schema: + $ref: '#/components/schemas/File' + application/json: + schema: + $ref: '#/components/schemas/File' + '404': + description: No document with the given id was found. + content: + application/pdf: + schema: + $ref: '#/components/schemas/ErrorResponse' + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + /api/administration/errormessage: + get: + tags: + - ErrorMessage + responses: + '200': + description: OK + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/ErrorMessageType' + '500': + description: Internal Server Error + /api/administration/identityprovider/owncompany/identityproviders: + get: + tags: + - IdentityProvider + summary: 'Gets the details of the own company identity provider (Authorization required - Roles: view_idp)' + description: 'Example: GET: api/administration/identityprovider/owncompany/identityproviders' + parameters: + - name: displayName + in: query + schema: + type: string + - name: alias + in: query + schema: + type: string + responses: + '200': + description: Returns a list of identityProviderDetails. + content: + text/plain: + schema: + type: array + items: + $ref: '#/components/schemas/IdentityProviderDetails' + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/IdentityProviderDetails' + text/json: + schema: + type: array + items: + $ref: '#/components/schemas/IdentityProviderDetails' + '502': + description: Bad Gateway Service Error. + content: + text/plain: + schema: + $ref: '#/components/schemas/ErrorResponse' + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + text/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + post: + tags: + - IdentityProvider + summary: 'Create an identity provider (Authorization required - Roles: add_idp)' + description: 'Example: POST: api/administration/identityprovider/owncompany/identityproviders' + parameters: + - name: protocol + in: query + description: Type of the protocol the identity provider should be created for + schema: + $ref: '#/components/schemas/IamIdentityProviderProtocol' + - name: typeId + in: query + description: IdentityProvider type (OWN or MANAGED) + schema: + $ref: '#/components/schemas/IdentityProviderTypeId' + - name: displayName + in: query + description: displayName of identityprovider to be set up (optional) + schema: + type: string + responses: + '200': + description: Returns a list of identityProviderDetails. + content: + text/plain: + schema: + $ref: '#/components/schemas/IdentityProviderDetails' + application/json: + schema: + $ref: '#/components/schemas/IdentityProviderDetails' + text/json: + schema: + $ref: '#/components/schemas/IdentityProviderDetails' + '400': + description: The protocol didn't match an expected value. + content: + text/plain: + schema: + $ref: '#/components/schemas/ErrorResponse' + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + text/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '502': + description: Bad Gateway Service Error. + content: + text/plain: + schema: + $ref: '#/components/schemas/ErrorResponse' + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + text/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + '/api/administration/identityprovider/network/identityproviders/managed/{identityProviderId}': + get: + tags: + - IdentityProvider + summary: 'Gets a specific identity provider with the connected Companies (Authorization required - Roles: view_managed_idp)' + description: 'Example: GET: api/administration/identityprovider/network/identityproviders/managed/{identityProviderId}' + parameters: + - name: identityProviderId + in: path + description: Id of the identity provider + required: true + schema: + type: string + format: uuid + responses: + '200': + description: Return the details of the identityProvider. + content: + text/plain: + schema: + $ref: '#/components/schemas/IdentityProviderDetailsWithConnectedCompanies' + application/json: + schema: + $ref: '#/components/schemas/IdentityProviderDetailsWithConnectedCompanies' + text/json: + schema: + $ref: '#/components/schemas/IdentityProviderDetailsWithConnectedCompanies' + '400': + description: The user is not associated with the owner company. + content: + text/plain: + schema: + $ref: '#/components/schemas/ErrorResponse' + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + text/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '500': + description: Unexpected value of protocol. + content: + text/plain: + schema: + $ref: '#/components/schemas/ErrorResponse' + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + text/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '502': + description: Bad Gateway Service Error. + content: + text/plain: + schema: + $ref: '#/components/schemas/ErrorResponse' + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + text/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '401': + description: The User is unauthorized + '/api/administration/identityprovider/owncompany/identityproviders/{identityProviderId}': + get: + tags: + - IdentityProvider + summary: 'Gets a specific identity provider (Authorization required - Roles: view_idp)' + description: 'Example: GET: api/administration/identityprovider/owncompany/identityproviders/6CFEEF93-CB37-405B-B65A-02BEEB81629F' + operationId: GetOwnCompanyIdentityProvider + parameters: + - name: identityProviderId + in: path + description: Id of the identity provider + required: true + schema: + type: string + format: uuid + responses: + '200': + description: Returns a list of identityProviderDetails. + content: + text/plain: + schema: + $ref: '#/components/schemas/IdentityProviderDetails' + application/json: + schema: + $ref: '#/components/schemas/IdentityProviderDetails' + text/json: + schema: + $ref: '#/components/schemas/IdentityProviderDetails' + '400': + description: The user is not associated with a company. + content: + text/plain: + schema: + $ref: '#/components/schemas/ErrorResponse' + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + text/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '500': + description: Unexpected value of protocol. + content: + text/plain: + schema: + $ref: '#/components/schemas/ErrorResponse' + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + text/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '502': + description: Bad Gateway Service Error. + content: + text/plain: + schema: + $ref: '#/components/schemas/ErrorResponse' + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + text/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '401': + description: The User is unauthorized + put: + tags: + - IdentityProvider + summary: 'Updates the details of the identity provider (Authorization required - Roles: setup_idp)' + description: 'Example: PUT: api/administration/identityprovider/owncompany/identityproviders/6CFEEF93-CB37-405B-B65A-02BEEB81629F' + parameters: + - name: identityProviderId + in: path + description: Id of the identity provider + required: true + schema: + type: string + format: uuid + requestBody: + description: possible changes for the identity provider + content: + application/json: + schema: + $ref: '#/components/schemas/IdentityProviderEditableDetails' + text/json: + schema: + $ref: '#/components/schemas/IdentityProviderEditableDetails' + application/*+json: + schema: + $ref: '#/components/schemas/IdentityProviderEditableDetails' + responses: + '200': + description: Returns a list of identityProviderDetails. + content: + text/plain: + schema: + $ref: '#/components/schemas/IdentityProviderDetails' + application/json: + schema: + $ref: '#/components/schemas/IdentityProviderDetails' + text/json: + schema: + $ref: '#/components/schemas/IdentityProviderDetails' + '400': + description: Unexpected value for category of identityProvider. + content: + text/plain: + schema: + $ref: '#/components/schemas/ErrorResponse' + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + text/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '403': + description: The identityProvider is not associated with company of user. + content: + text/plain: + schema: + $ref: '#/components/schemas/ErrorResponse' + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + text/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '404': + description: The identityProvider does not exist. + content: + text/plain: + schema: + $ref: '#/components/schemas/ErrorResponse' + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + text/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '500': + description: Unexpected value of protocol. + content: + text/plain: + schema: + $ref: '#/components/schemas/ErrorResponse' + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + text/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '502': + description: Bad Gateway Service Error. + content: + text/plain: + schema: + $ref: '#/components/schemas/ErrorResponse' + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + text/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '401': + description: The User is unauthorized + delete: + tags: + - IdentityProvider + summary: 'Deletes the identity provider with the given id (Authorization required - Roles: delete_idp)' + description: 'Example: DELETE: api/administration/identityprovider/owncompany/identityproviders/6CFEEF93-CB37-405B-B65A-02BEEB81629F' + parameters: + - name: identityProviderId + in: path + description: Id of the identity provider + required: true + schema: + type: string + format: uuid + responses: + '204': + description: No Content + '400': + description: Unexpected value for category of identityProvider. + content: + text/plain: + schema: + $ref: '#/components/schemas/ErrorResponse' + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + text/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '403': + description: The identityProvider is not associated with company of user. + content: + text/plain: + schema: + $ref: '#/components/schemas/ErrorResponse' + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + text/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '404': + description: The identityProvider does not exist. + content: + text/plain: + schema: + $ref: '#/components/schemas/ErrorResponse' + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + text/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '500': + description: Unexpected value of protocol. + content: + text/plain: + schema: + $ref: '#/components/schemas/ErrorResponse' + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + text/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '502': + description: Bad Gateway Service Error. + content: + text/plain: + schema: + $ref: '#/components/schemas/ErrorResponse' + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + text/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '200': + description: Returns a list of identityProviderDetails. + '401': + description: The User is unauthorized + '/api/administration/identityprovider/owncompany/identityproviders/{identityProviderId}/status': + post: + tags: + - IdentityProvider + summary: 'Sets the status of the given Identity Provider (Authorization required - Roles: disable_idp)' + description: 'Example: POST: api/administration/identityprovider/owncompany/identityproviders/6CFEEF93-CB37-405B-B65A-02BEEB81629F/status' + parameters: + - name: identityProviderId + in: path + description: Id of the identity provider + required: true + schema: + type: string + format: uuid + - name: enabled + in: query + description: 'true if the provider should be enabled, otherwise false' + schema: + type: boolean + responses: + '200': + description: Returns a list of identityProviderDetails. + content: + text/plain: + schema: + $ref: '#/components/schemas/IdentityProviderDetails' + application/json: + schema: + $ref: '#/components/schemas/IdentityProviderDetails' + text/json: + schema: + $ref: '#/components/schemas/IdentityProviderDetails' + '400': + description: Unexpected value for category of identityProvider. + content: + text/plain: + schema: + $ref: '#/components/schemas/ErrorResponse' + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + text/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '403': + description: The identityProvider is not associated with company of user. + content: + text/plain: + schema: + $ref: '#/components/schemas/ErrorResponse' + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + text/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '404': + description: The identityProvider does not exist. + content: + text/plain: + schema: + $ref: '#/components/schemas/ErrorResponse' + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + text/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '500': + description: Unexpected value of protocol. + content: + text/plain: + schema: + $ref: '#/components/schemas/ErrorResponse' + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + text/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '502': + description: Bad Gateway Service Error. + content: + text/plain: + schema: + $ref: '#/components/schemas/ErrorResponse' + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + text/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '401': + description: The User is unauthorized + /api/administration/identityprovider/owncompany/users: + get: + tags: + - IdentityProvider + summary: 'Gets the company users for the identity providers (Authorization required - Roles: view_user_management)' + description: 'Example: GET: api/administration/identityprovider/owncompany/users' + parameters: + - name: identityProviderIds + in: query + description: Ids of the identity providers + schema: + type: array + items: + type: string + format: uuid + - name: unlinkedUsersOnly + in: query + description: Only users that doesn't match the given ids + schema: + type: boolean + default: false + responses: + '200': + description: Returns a list of user identity provider data. + content: + text/plain: + schema: + type: array + items: + $ref: '#/components/schemas/UserIdentityProviderData' + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/UserIdentityProviderData' + text/json: + schema: + type: array + items: + $ref: '#/components/schemas/UserIdentityProviderData' + '400': + description: No identity provider was provided. + content: + text/plain: + schema: + $ref: '#/components/schemas/ErrorResponse' + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + text/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '502': + description: Bad Gateway Service Error. + content: + text/plain: + schema: + $ref: '#/components/schemas/ErrorResponse' + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + text/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + /api/administration/identityprovider/owncompany/usersfile: + get: + tags: + - IdentityProvider + summary: 'Gets the company users for the identity providers as a file (Authorization required - Roles: modify_user_account)' + description: 'Example: GET: api/administration/identityprovider/owncompany/usersfile' + parameters: + - name: identityProviderIds + in: query + description: Ids of the identity providers + schema: + type: array + items: + type: string + format: uuid + - name: unlinkedUsersOnly + in: query + description: Only users that doesn't match the given ids + schema: + type: boolean + default: false + responses: + '200': + description: Returns a file of users. + content: + text/plain: + schema: + type: string + format: binary + application/json: + schema: + type: string + format: binary + text/json: + schema: + type: string + format: binary + '400': + description: No identity provider was provided. + content: + text/plain: + schema: + $ref: '#/components/schemas/ErrorResponse' + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + text/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '502': + description: Bad Gateway Service Error. + content: + text/plain: + schema: + $ref: '#/components/schemas/ErrorResponse' + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + text/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + post: + tags: + - IdentityProvider + summary: 'Upload the users and adds them to the user provider (Authorization required - Roles: modify_user_account)' + description: 'Example: POST: api/administration/identityprovider/owncompany/usersfile' + requestBody: + content: + multipart/form-data: + schema: + type: object + properties: + document: + type: file + description: The file including the users + format: binary + encoding: + document: + style: form + responses: + '200': + description: Returns a file of users. + content: + text/plain: + schema: + $ref: '#/components/schemas/IdentityProviderUpdateStats' + application/json: + schema: + $ref: '#/components/schemas/IdentityProviderUpdateStats' + text/json: + schema: + $ref: '#/components/schemas/IdentityProviderUpdateStats' + '400': + description: user is not associated with a company. + content: + text/plain: + schema: + $ref: '#/components/schemas/ErrorResponse' + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + text/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '415': + description: Content type didn't match the expected value. + content: + text/plain: + schema: + $ref: '#/components/schemas/ErrorResponse' + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + text/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '502': + description: Bad Gateway Service Error. + content: + text/plain: + schema: + $ref: '#/components/schemas/ErrorResponse' + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + text/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + '/api/administration/identityprovider/owncompany/users/{companyUserId}/identityprovider/{identityProviderId}': + put: + tags: + - IdentityProvider + summary: 'Updates the given user for the given identity provider (Authorization required - Roles: modify_user_account)' + description: 'Example: PUT: api/administration/identityprovider/owncompany/users/A744E2AA-55AA-4511-9F42-80371220BE26/identityprovider/7DAAF6C3-BEB1-466B-A87A-98DB8CE194B2' + parameters: + - name: companyUserId + in: path + description: Id of the company user + required: true + schema: + type: string + format: uuid + - name: identityProviderId + in: path + description: Id of the identity provider + required: true + schema: + type: string + format: uuid + requestBody: + description: Data that should be updated + content: + application/json: + schema: + $ref: '#/components/schemas/UserLinkData' + text/json: + schema: + $ref: '#/components/schemas/UserLinkData' + application/*+json: + schema: + $ref: '#/components/schemas/UserLinkData' + responses: + '200': + description: Returns the link data. + content: + text/plain: + schema: + $ref: '#/components/schemas/UserIdentityProviderLinkData' + application/json: + schema: + $ref: '#/components/schemas/UserIdentityProviderLinkData' + text/json: + schema: + $ref: '#/components/schemas/UserIdentityProviderLinkData' + '400': + description: user is not associated with a company. + content: + text/plain: + schema: + $ref: '#/components/schemas/ErrorResponse' + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + text/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '403': + description: user does not belong to company of companyUserId. + content: + text/plain: + schema: + $ref: '#/components/schemas/ErrorResponse' + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + text/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '404': + description: companyUserId does not exist. + content: + text/plain: + schema: + $ref: '#/components/schemas/ErrorResponse' + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + text/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '500': + description: companyUserId is not linked to keycloak + content: + text/plain: + schema: + $ref: '#/components/schemas/ErrorResponse' + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + text/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '502': + description: Bad Gateway Service Error. + content: + text/plain: + schema: + $ref: '#/components/schemas/ErrorResponse' + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + text/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '401': + description: The User is unauthorized + get: + tags: + - IdentityProvider + summary: 'Gets the given user for the given identity provider (Authorization required - Roles: view_user_management)' + description: 'Example: GET: api/administration/identityprovider/owncompany/users/A744E2AA-55AA-4511-9F42-80371220BE26/identityprovider/7DAAF6C3-BEB1-466B-A87A-98DB8CE194B2' + operationId: GetOwnCompanyUserIdentityProviderDataAsync + parameters: + - name: companyUserId + in: path + description: Id of the company user + required: true + schema: + type: string + format: uuid + - name: identityProviderId + in: path + description: Id of the identity provider + required: true + schema: + type: string + format: uuid + responses: + '200': + description: Returns the link data. + content: + text/plain: + schema: + $ref: '#/components/schemas/UserIdentityProviderLinkData' + application/json: + schema: + $ref: '#/components/schemas/UserIdentityProviderLinkData' + text/json: + schema: + $ref: '#/components/schemas/UserIdentityProviderLinkData' + '400': + description: user is not associated with a company. + content: + text/plain: + schema: + $ref: '#/components/schemas/ErrorResponse' + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + text/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '403': + description: user does not belong to company of companyUserId. + content: + text/plain: + schema: + $ref: '#/components/schemas/ErrorResponse' + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + text/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '404': + description: companyUserId does not exist. + content: + text/plain: + schema: + $ref: '#/components/schemas/ErrorResponse' + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + text/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '500': + description: companyUserId is not linked to keycloak + content: + text/plain: + schema: + $ref: '#/components/schemas/ErrorResponse' + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + text/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '502': + description: Bad Gateway Service Error. + content: + text/plain: + schema: + $ref: '#/components/schemas/ErrorResponse' + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + text/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '401': + description: The User is unauthorized + delete: + tags: + - IdentityProvider + summary: 'Deletes the given user on the given identity provider (Authorization required - Roles: modify_user_account)' + description: 'Example: DELETE: api/administration/identityprovider/owncompany/users/A744E2AA-55AA-4511-9F42-80371220BE26/identityprovider/7DAAF6C3-BEB1-466B-A87A-98DB8CE194B2' + parameters: + - name: companyUserId + in: path + description: Id of the company user + required: true + schema: + type: string + format: uuid + - name: identityProviderId + in: path + description: Id of the identity provider + required: true + schema: + type: string + format: uuid + responses: + '200': + description: Returns the link data. + content: + text/plain: + schema: + $ref: '#/components/schemas/NoContentResult' + application/json: + schema: + $ref: '#/components/schemas/NoContentResult' + text/json: + schema: + $ref: '#/components/schemas/NoContentResult' + '400': + description: user is not associated with a company. + content: + text/plain: + schema: + $ref: '#/components/schemas/ErrorResponse' + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + text/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '403': + description: user does not belong to company of companyUserId. + content: + text/plain: + schema: + $ref: '#/components/schemas/ErrorResponse' + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + text/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '404': + description: companyUserId does not exist. + content: + text/plain: + schema: + $ref: '#/components/schemas/ErrorResponse' + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + text/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '500': + description: companyUserId is not linked to keycloak + content: + text/plain: + schema: + $ref: '#/components/schemas/ErrorResponse' + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + text/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '502': + description: Bad Gateway Service Error. + content: + text/plain: + schema: + $ref: '#/components/schemas/ErrorResponse' + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + text/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '401': + description: The User is unauthorized + /api/administration/invitation: + post: + tags: + - Invitation + summary: 'Executes the invitation (Authorization required - Roles: invite_new_partner)' + description: 'Example: POST: api/administration/invitation' + requestBody: + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/CompanyInvitationData' + responses: + '200': + description: Successfully executed the invitation. + content: + application/json: + schema: + $ref: '#/components/schemas/CompanyInvitationResponse' + '400': + description: 'Missing mandatory input values (e.g. email, organization name, etc.)' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '500': + description: Internal Server Error. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '502': + description: Bad Gateway Service Error. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '409': + description: user is not associated with company. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '401': + description: The User is unauthorized + '/api/administration/invitation/{processId}/retrigger-create-central-idp': + post: + tags: + - Invitation + summary: 'Retriggers the last failed step (Authorization required - Roles: invite_new_partner)' + parameters: + - name: processId + in: path + description: Id of the process that should be triggered + required: true + schema: + type: string + format: uuid + example: 251e4596-5ff0-4176-b544-840b04ebeb93 + responses: + '204': + description: Empty response on success. + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '404': + description: No registration found for the externalId. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + '/api/administration/invitation/{processId}/retrigger-create-shared-idp-sa': + post: + tags: + - Invitation + summary: 'Retriggers the last failed step (Authorization required - Roles: invite_new_partner)' + parameters: + - name: processId + in: path + description: Id of the process that should be triggered + required: true + schema: + type: string + format: uuid + example: 251e4596-5ff0-4176-b544-840b04ebeb93 + responses: + '204': + description: Empty response on success. + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '404': + description: No registration found for the externalId. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + '/api/administration/invitation/{processId}/retrigger-add-realm-role': + post: + tags: + - Invitation + summary: 'Retriggers the last failed step (Authorization required - Roles: invite_new_partner)' + parameters: + - name: processId + in: path + description: Id of the process that should be triggered + required: true + schema: + type: string + format: uuid + example: 251e4596-5ff0-4176-b544-840b04ebeb93 + responses: + '204': + description: Empty response on success. + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '404': + description: No registration found for the externalId. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + '/api/administration/invitation/{processId}/retrigger-update-central-idp-urls': + post: + tags: + - Invitation + summary: 'Retriggers the last failed step (Authorization required - Roles: invite_new_partner)' + parameters: + - name: processId + in: path + description: Id of the process that should be triggered + required: true + schema: + type: string + format: uuid + example: 251e4596-5ff0-4176-b544-840b04ebeb93 + responses: + '204': + description: Empty response on success. + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '404': + description: No registration found for the externalId. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + '/api/administration/invitation/{processId}/retrigger-create-central-idp-org-mapper': + post: + tags: + - Invitation + summary: 'Retriggers the last failed step (Authorization required - Roles: invite_new_partner)' + parameters: + - name: processId + in: path + description: Id of the process that should be triggered + required: true + schema: + type: string + format: uuid + example: 251e4596-5ff0-4176-b544-840b04ebeb93 + responses: + '204': + description: Empty response on success. + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '404': + description: No registration found for the externalId. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + '/api/administration/invitation/{processId}/retrigger-create-shared-realm-idp-client': + post: + tags: + - Invitation + summary: 'Retriggers the last failed step (Authorization required - Roles: invite_new_partner)' + parameters: + - name: processId + in: path + description: Id of the process that should be triggered + required: true + schema: + type: string + format: uuid + example: 251e4596-5ff0-4176-b544-840b04ebeb93 + responses: + '204': + description: Empty response on success. + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '404': + description: No registration found for the externalId. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + '/api/administration/invitation/{processId}/retrigger-enable-central-idp': + post: + tags: + - Invitation + summary: 'Retriggers the last failed step (Authorization required - Roles: invite_new_partner)' + parameters: + - name: processId + in: path + description: Id of the process that should be triggered + required: true + schema: + type: string + format: uuid + example: 251e4596-5ff0-4176-b544-840b04ebeb93 + responses: + '204': + description: Empty response on success. + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '404': + description: No registration found for the externalId. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + '/api/administration/invitation/{processId}/retrigger-create-database-idp': + post: + tags: + - Invitation + summary: 'Retriggers the last failed step (Authorization required - Roles: invite_new_partner)' + parameters: + - name: processId + in: path + description: Id of the process that should be triggered + required: true + schema: + type: string + format: uuid + example: 251e4596-5ff0-4176-b544-840b04ebeb93 + responses: + '204': + description: Empty response on success. + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '404': + description: No registration found for the externalId. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + '/api/administration/invitation/{processId}/retrigger-invite-shared-client': + post: + tags: + - Invitation + summary: 'Retriggers the last failed step (Authorization required - Roles: invite_new_partner)' + parameters: + - name: processId + in: path + description: Id of the process that should be triggered + required: true + schema: + type: string + format: uuid + example: 251e4596-5ff0-4176-b544-840b04ebeb93 + responses: + '204': + description: Empty response on success. + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '404': + description: No registration found for the externalId. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + '/api/administration/invitation/{processId}/retrigger-create-user': + post: + tags: + - Invitation + summary: 'Retriggers the last failed step (Authorization required - Roles: invite_new_partner)' + parameters: + - name: processId + in: path + description: Id of the process that should be triggered + required: true + schema: + type: string + format: uuid + example: 251e4596-5ff0-4176-b544-840b04ebeb93 + responses: + '204': + description: Empty response on success. + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '404': + description: No registration found for the externalId. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + /api/administration/Mail/ssi-credentials: + post: + tags: + - Mail + summary: 'Creates a mail from the given data (Authorization required - Roles: send_mail)' + description: 'Example: POST: /api/administration/mail/ssi-credentials' + requestBody: + description: Data for the mail + content: + application/json: + schema: + $ref: '#/components/schemas/MailData' + text/json: + schema: + $ref: '#/components/schemas/MailData' + application/*+json: + schema: + $ref: '#/components/schemas/MailData' + responses: + '204': + description: No Content + content: + application/json: + schema: + type: integer + format: int32 + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '403': + description: Forbidden + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + /api/administration/Mail/retrigger-send-mail: + post: + tags: + - Mail + summary: 'Retriggers the mail sending (Authorization required - Roles: retrigger_mail)' + description: 'Example: POST: /api/administration/mail/retrigger-send-mail' + parameters: + - name: processId + in: path + description: The mailing process id of the to retrigger + required: true + schema: + type: string + format: uuid + responses: + '204': + description: No Content + content: + application/json: + schema: + type: integer + format: int32 + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '403': + description: Forbidden + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + /api/administration/registration/Network/partnerRegistration: + post: + tags: + - Network + summary: 'Registers a partner company (Authorization required - Roles: create_partner_registration)' + requestBody: + description: Data for the registration + content: + application/json: + schema: + $ref: '#/components/schemas/PartnerRegistrationData' + responses: + '200': + description: Empty response on success. + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + '/api/administration/registration/Network/{externalId}/retrigger-synchronize-users': + post: + tags: + - Network + summary: 'Retriggers the last failed step (Authorization required - Roles: approve_new_partner)' + parameters: + - name: externalId + in: path + description: Id of the externalId that should be triggered + required: true + schema: + type: string + responses: + '204': + description: Empty response on success. + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '404': + description: No registration found for the externalId. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + '/api/administration/registration/Network/{externalId}/retrigger-callback-osp-approve': + post: + tags: + - Network + summary: 'Retriggers the last failed step (Authorization required - Roles: approve_new_partner)' + parameters: + - name: externalId + in: path + description: Id of the externalId that should be triggered + required: true + schema: + type: string + responses: + '204': + description: Empty response on success. + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '404': + description: No registration found for the externalId. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + '/api/administration/registration/Network/{externalId}/retrigger-callback-osp-decline': + post: + tags: + - Network + summary: 'Retriggers the last failed step (Authorization required - Roles: approve_new_partner)' + parameters: + - name: externalId + in: path + description: Id of the externalId that should be triggered + required: true + schema: + type: string + responses: + '204': + description: Empty response on success. + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '404': + description: No registration found for the externalId. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + '/api/administration/registration/Network/{externalId}/retrigger-callback-osp-submitted': + post: + tags: + - Network + summary: 'Retriggers the last failed step (Authorization required - Roles: approve_new_partner)' + parameters: + - name: externalId + in: path + description: Id of the externalId that should be triggered + required: true + schema: + type: string + responses: + '204': + description: Empty response on success. + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '404': + description: No registration found for the externalId. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + '/api/administration/registration/Network/{externalId}/retrigger-remove-keycloak-user': + post: + tags: + - Network + summary: 'Retriggers the last failed step (Authorization required - Roles: approve_new_partner)' + parameters: + - name: externalId + in: path + description: Id of the externalId that should be triggered + required: true + schema: + type: string + responses: + '204': + description: Empty response on success. + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '404': + description: No registration found for the externalId. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + /api/info: + get: + tags: + - OpenInformation + summary: ' (Authorization required)' + responses: + '200': + description: OK + content: + text/plain: + schema: + type: array + items: + $ref: '#/components/schemas/UrlInformation' + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/UrlInformation' + text/json: + schema: + type: array + items: + $ref: '#/components/schemas/UrlInformation' + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + /api/administration/PartnerNetwork/memberCompanies: + get: + tags: + - PartnerNetwork + summary: 'Get all member companies (Authorization required - Roles: view_membership)' + description: 'Example: GET: api/administration/partnernetwork/memberCompanies' + parameters: + - name: bpnIds + in: query + description: BPN Id's + schema: + type: array + items: + type: string + responses: + '200': + description: Returns all the active member companies bpn. + content: + application/json: + schema: + type: array + items: + type: string + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + '/api/administration/registration/application/{applicationId}/companyDetailsWithAddress': + get: + tags: + - Registration + summary: 'Gets the company with its address (Authorization required - Roles: view_submitted_applications)' + description: 'Example: GET: api/administration/registration/application/4f0146c6-32aa-4bb1-b844-df7e8babdcb4/companyDetailsWithAddress' + parameters: + - name: applicationId + in: path + description: '' + required: true + schema: + type: string + format: uuid + example: 4f0146c6-32aa-4bb1-b844-df7e8babdcb4 + responses: + '200': + description: Returns the company with its address. + content: + application/json: + schema: + $ref: '#/components/schemas/CompanyWithAddressData' + '400': + description: No applicationId was set. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '404': + description: Application ID not found. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + /api/administration/registration/applications: + get: + tags: + - Registration + summary: 'Get Application Detail by Company Name or Status (Authorization required - Roles: view_submitted_applications)' + description: "Example: GET: api/administration/registration/applications?companyName=Car&page=0&size=4&companyApplicationStatus=Closed \n\r\nExample: GET: api/administration/registration/applications?page=0&size=4" + parameters: + - name: page + in: query + description: page index start from 0 + schema: + type: integer + format: int32 + - name: size + in: query + description: size to get number of records + schema: + type: integer + format: int32 + - name: companyApplicationStatusFilter + in: query + description: Search by company applicationstatus + schema: + $ref: '#/components/schemas/CompanyApplicationStatusFilter' + - name: companyName + in: query + description: search by company name + schema: + type: string + responses: + '200': + description: Result as a Company Application Details + content: + application/json: + schema: + $ref: '#/components/schemas/CompanyApplicationDetailsResponse' + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + /api/administration/registration/applicationsWithStatus: + get: + tags: + - Registration + summary: 'fetch all applications details with company user details. (Authorization required - Roles: invite_new_partner)' + description: 'Example: GET: api/administration/registration/applicationsWithStatus?page=0&size=15' + parameters: + - name: page + in: query + description: Optional query parameter defining the page index start from 0 + schema: + type: integer + format: int32 + default: 0 + - name: size + in: query + description: Optional query parameter defining the size to get number of records + schema: + type: integer + format: int32 + default: 15 + - name: companyName + in: query + description: Optional query parameter defining the company name to get number of records as per company name + schema: + type: string + responses: + '200': + description: Result as a All Company Applications Details + content: + application/json: + schema: + $ref: '#/components/schemas/CompanyApplicationWithCompanyUserDetailsResponse' + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + '/api/administration/registration/application/{applicationId}/{bpn}/bpn': + post: + tags: + - Registration + summary: 'Update the BPN for a Company (Authorization required - Roles: approve_new_partner)' + description: 'Example: POST: /api/administration/registration/application/6126fdc8-f572-4a63-a5b3-d5e52cb58136/BPNL00000003CSGV/bpn' + parameters: + - name: applicationId + in: path + description: '' + required: true + schema: + type: string + format: uuid + - name: bpn + in: path + description: '' + required: true + schema: + type: string + responses: + '200': + description: Successfully Updated the BPN. + content: + application/json: + schema: + type: boolean + '400': + description: Bpn is not 16 character long or alphanumeric or does not start with BPNL + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '404': + description: application Id not found + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '409': + description: Bpn is already assigned or alphanumeric or application for company is not pending + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + '/api/administration/registration/applications/{applicationId}/approve': + post: + tags: + - Registration + summary: 'Approves the registration verification for the application with the given id (Authorization required - Roles: approve_new_partner)' + description: 'Example: POST: api/administration/registration/application/4f0146c6-32aa-4bb1-b844-df7e8babdcb4/approve' + parameters: + - name: applicationId + in: path + description: Id of the application that should be approved + required: true + schema: + type: string + format: uuid + responses: + '204': + description: Successfully approved the application + '400': + description: 'Either the CompanyApplication is not in status SUBMITTED, or there is no checklist entry of type Registration_Verification.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '404': + description: Application ID not found. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + '/api/administration/registration/applications/{applicationId}/decline': + post: + tags: + - Registration + summary: 'Declines the registration verification for the application with the given id (Authorization required - Roles: decline_new_partner)' + description: 'Example: POST: api/administration/registration/application/{applicationId}/decline' + parameters: + - name: applicationId + in: path + description: Id of the application that should be declined + required: true + schema: + type: string + format: uuid + requestBody: + description: Comment to explain why the application got declined + content: + application/json: + schema: + $ref: '#/components/schemas/RegistrationDeclineData' + responses: + '204': + description: Successfully declined the application + '400': + description: 'Either the CompanyApplication is not in status SUBMITTED, or there is no checklist entry of type Registration_Verification.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '404': + description: Application ID not found. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + /api/administration/registration/clearinghouse: + post: + tags: + - Registration + summary: 'Processes the clearinghouse response (Authorization required - Roles: update_application_checklist_value)' + requestBody: + description: Response data from clearinghouse + content: + application/json: + schema: + $ref: '#/components/schemas/ClearinghouseResponseData' + responses: + '204': + description: Empty response on success. + '400': + description: Either the CompanyApplication is not in status SUBMITTED or the clearing_house process is not in status IN_PROGRESS. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '404': + description: No application found for the bpn. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + '/api/administration/registration/dim/{bpn}': + post: + tags: + - Registration + summary: 'Processes the dim middlelayer response (Authorization required - Roles: store_didDocument)' + parameters: + - name: bpn + in: path + description: BusinessPartnerNumber for dim + required: true + schema: + type: string + requestBody: + description: Response data from dim + content: + application/json: + schema: + $ref: '#/components/schemas/DimWalletData' + responses: + '204': + description: Empty response on success. + '400': + description: Either the CompanyApplication is not in status SUBMITTED or the clearing_house process is not in status IN_PROGRESS. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '404': + description: No application found for the bpn. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + '/api/administration/registration/applications/{applicationId}/checklistDetails': + get: + tags: + - Registration + summary: 'Gets the information of an applications checklist (Authorization required - Roles: approve_new_partner)' + description: 'Example: GET: api/administration/registration/application/4f0146c6-32aa-4bb1-b844-df7e8babdcb4/checklistDetails' + parameters: + - name: applicationId + in: path + description: Id of the application the checklist should be provided for + required: true + schema: + type: string + format: uuid + responses: + '200': + description: The checklist information for the application + content: + application/json: + schema: + $ref: '#/components/schemas/ChecklistDetails' + '404': + description: Application ID not found. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + '/api/administration/registration/application/{applicationId}/override-clearinghouse': + post: + tags: + - Registration + summary: 'Retriggers the last failed to override the clearinghouse-result (Authorization required - Roles: approve_new_partner)' + parameters: + - name: applicationId + in: path + description: Id of the application that should be triggered + required: true + schema: + type: string + format: uuid + responses: + '204': + description: Empty response on success. + '400': + description: Either the CompanyApplication is not in status SUBMITTED or the next step can't automatically retriggered. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '404': + description: No application found for the applicationId. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + '/api/administration/registration/application/{applicationId}/retrigger-clearinghouse': + post: + tags: + - Registration + summary: 'Retriggers the last failed step (Authorization required - Roles: approve_new_partner)' + parameters: + - name: applicationId + in: path + description: Id of the application that should be triggered + required: true + schema: + type: string + format: uuid + responses: + '204': + description: Empty response on success. + '400': + description: Either the CompanyApplication is not in status SUBMITTED or the next step can't automatically retriggered. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '404': + description: No application found for the applicationId. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + '/api/administration/registration/application/{applicationId}/trigger-identity-wallet': + post: + tags: + - Registration + summary: 'Retriggers the last failed step (Authorization required - Roles: approve_new_partner)' + parameters: + - name: applicationId + in: path + description: Id of the application that should be triggered + required: true + schema: + type: string + format: uuid + responses: + '204': + description: Empty response on success. + '400': + description: Either the CompanyApplication is not in status SUBMITTED or the next step can't automatically retriggered. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '404': + description: No application found for the applicationId. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + '/api/administration/registration/application/{applicationId}/trigger-self-description': + post: + tags: + - Registration + summary: 'Retriggers the last failed step (Authorization required - Roles: approve_new_partner)' + parameters: + - name: applicationId + in: path + description: Id of the application that should be triggered + required: true + schema: + type: string + format: uuid + responses: + '204': + description: Empty response on success. + '400': + description: Either the CompanyApplication is not in status SUBMITTED or the next step can't automatically retriggered. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '404': + description: No application found for the applicationId. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + '/api/administration/registration/application/{applicationId}/trigger-bpn': + post: + tags: + - Registration + summary: 'Retriggers the last failed step (Authorization required - Roles: approve_new_partner)' + parameters: + - name: applicationId + in: path + description: Id of the application that should be triggered + required: true + schema: + type: string + format: uuid + - name: processTypeId + in: query + description: 'Optional: The process type id that should be retriggered' + schema: + $ref: '#/components/schemas/ProcessStepTypeId' + responses: + '204': + description: Empty response on success. + '400': + description: Either the CompanyApplication is not in status SUBMITTED or the next step can't automatically retriggered. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '404': + description: No application found for the applicationId. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + /api/administration/registration/clearinghouse/selfDescription: + post: + tags: + - Registration + summary: 'Processes the clearinghouse self description push (Authorization required - Roles: update_application_checklist_value)' + requestBody: + description: The response data for the self description + content: + application/json: + schema: + $ref: '#/components/schemas/SelfDescriptionResponseData' + responses: + '204': + description: Empty response on success. + '400': + description: The CompanyApplication is not in status SUBMITTED. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '404': + description: Record not found. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + '/api/administration/registration/documents/{documentId}': + get: + tags: + - Registration + summary: 'Retrieves a specific document for the given id. (Authorization required - Roles: approve_new_partner)' + description: 'Example: GET: /api/administration/registration/documents/4ad087bb-80a1-49d3-9ba9-da0b175cd4e3' + parameters: + - name: documentId + in: path + description: Id of the document to get. + required: true + schema: + type: string + format: uuid + example: 4ad087bb-80a1-49d3-9ba9-da0b175cd4e3 + responses: + '200': + description: Returns the file. + content: + application/json: + schema: + type: string + format: binary + '404': + description: Record not found. + content: + application/json: + schema: + type: string + format: binary + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + '/api/administration/registration/application/{applicationId}/retrigger-create-dim-wallet': + post: + tags: + - Registration + summary: 'Retriggers the last failed step (Authorization required - Roles: approve_new_partner)' + parameters: + - name: applicationId + in: path + description: Id of the application that should be triggered + required: true + schema: + type: string + format: uuid + responses: + '204': + description: Empty response on success. + '400': + description: Either the CompanyApplication is not in status SUBMITTED or the next step can't automatically retriggered. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '404': + description: No application found for the applicationId. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + '/api/administration/registration/application/{applicationId}/retrigger-validate-did': + post: + tags: + - Registration + summary: 'Retriggers the last failed step (Authorization required - Roles: approve_new_partner)' + parameters: + - name: applicationId + in: path + description: Id of the application that should be triggered + required: true + schema: + type: string + format: uuid + responses: + '204': + description: Empty response on success. + '400': + description: Either the CompanyApplication is not in status SUBMITTED or the next step can't automatically retriggered. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '404': + description: No application found for the applicationId. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + '/api/administration/registration/application/{applicationId}/retrigger-transmit-bpn-did': + post: + tags: + - Registration + summary: 'Retriggers the last failed step (Authorization required - Roles: approve_new_partner)' + parameters: + - name: applicationId + in: path + description: Id of the application that should be triggered + required: true + schema: + type: string + format: uuid + responses: + '204': + description: Empty response on success. + '400': + description: Either the CompanyApplication is not in status SUBMITTED or the next step can't automatically retriggered. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '404': + description: No application found for the applicationId. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + '/api/administration/registration/application/{applicationId}/retrigger-bpn-credential': + post: + tags: + - Registration + summary: 'Retriggers the last failed step (Authorization required - Roles: approve_new_partner)' + parameters: + - name: applicationId + in: path + description: Id of the application that should be triggered + required: true + schema: + type: string + format: uuid + responses: + '204': + description: Empty response on success. + '400': + description: Either the CompanyApplication is not in status SUBMITTED or the next step can't automatically retriggered. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '404': + description: No application found for the applicationId. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + '/api/administration/registration/application/{applicationId}/retrigger-membership-credential': + post: + tags: + - Registration + summary: 'Retriggers the last failed step (Authorization required - Roles: approve_new_partner)' + parameters: + - name: applicationId + in: path + description: Id of the application that should be triggered + required: true + schema: + type: string + format: uuid + responses: + '204': + description: Empty response on success. + '400': + description: Either the CompanyApplication is not in status SUBMITTED or the next step can't automatically retriggered. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '404': + description: No application found for the applicationId. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + /api/administration/registration/issuer/bpncredential: + post: + tags: + - Registration + summary: 'Processes the issuer bpn response (Authorization required - Roles: update_application_bpn_credential)' + requestBody: + description: Response data from the issuer component + content: + application/json: + schema: + $ref: '#/components/schemas/IssuerResponseData' + responses: + '204': + description: Empty response on success. + '400': + description: Either the CompanyApplication is not in status SUBMITTED or the bpn credential process is not in status IN_PROGRESS. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '404': + description: No application found for the external id. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + /api/administration/registration/issuer/membershipcredential: + post: + tags: + - Registration + summary: 'Processes the issuer membership response (Authorization required - Roles: update_application_membership_credential)' + requestBody: + description: Response data from the issuer component + content: + application/json: + schema: + $ref: '#/components/schemas/IssuerResponseData' + responses: + '204': + description: Empty response on success. + '400': + description: Either the CompanyApplication is not in status SUBMITTED or the membership credential process is not in status IN_PROGRESS. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '404': + description: No application found for the external id. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + '/api/administration/registration/{processId}/retrigger-delete-idpSharedRealm': + post: + tags: + - Registration + summary: 'Retriggers the last failed step (Authorization required - Roles: decline_new_partner)' + parameters: + - name: processId + in: path + description: Id of the process that should be triggered + required: true + schema: + type: string + format: uuid + example: 251e4596-5ff0-4176-b544-840b04ebeb93 + responses: + '204': + description: Empty response on success. + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '404': + description: No Process found for the processId + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + '/api/administration/registration/{processId}/retrigger-delete-idpSharedServiceAccount': + post: + tags: + - Registration + summary: 'Retriggers the last failed step (Authorization required - Roles: decline_new_partner)' + parameters: + - name: processId + in: path + description: Id of the process that should be triggered + required: true + schema: + type: string + format: uuid + example: 251e4596-5ff0-4176-b544-840b04ebeb93 + responses: + '204': + description: Empty response on success. + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '404': + description: No Process found for the processId + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + '/api/administration/registration/{processId}/retrigger-delete-centralIdentityProvider': + post: + tags: + - Registration + summary: 'Retriggers the last failed step (Authorization required - Roles: decline_new_partner)' + parameters: + - name: processId + in: path + description: Id of the process that should be triggered + required: true + schema: + type: string + format: uuid + example: 251e4596-5ff0-4176-b544-840b04ebeb93 + responses: + '204': + description: Empty response on success. + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '404': + description: No Process found for the processId + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + '/api/administration/registration/{processId}/retrigger-delete-centraluser': + post: + tags: + - Registration + summary: 'Retriggers the last failed step (Authorization required - Roles: decline_new_partner)' + parameters: + - name: processId + in: path + description: Id of the process that should be triggered + required: true + schema: + type: string + format: uuid + example: 251e4596-5ff0-4176-b544-840b04ebeb93 + responses: + '204': + description: Empty response on success. + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '404': + description: No Process found for the processId + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + /api/administration/registration/network/companies: + get: + tags: + - Registration + summary: 'Get OSP Company Application Detail by Company Name or Status (Authorization required - Roles: view_submitted_applications)' + description: "Example: GET: api/administration/registration/network/companies?companyName=Car&page=0&size=4&companyApplicationStatus=Closed \n\r\nExample: GET: api/administration/registration/network/companies?page=0&size=4" + parameters: + - name: page + in: query + description: page index start from 0 + schema: + type: integer + format: int32 + - name: size + in: query + description: size to get number of records + schema: + type: integer + format: int32 + - name: companyApplicationStatusFilter + in: query + description: Search by company applicationstatus + schema: + $ref: '#/components/schemas/CompanyApplicationStatusFilter' + - name: companyName + in: query + description: search by company name + schema: + type: string + - name: externalId + in: query + description: search by external Id + schema: + type: string + - name: dateCreatedOrderFilter + in: query + description: sort result by dateCreated ascending or descending + schema: + $ref: '#/components/schemas/DateCreatedOrderFilter' + responses: + '200': + description: Result as a OSP Company Application Details + content: + application/json: + schema: + $ref: '#/components/schemas/CompanyDetailsOspOnboardingResponse' + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + /api/administration/RegistrationStatus/callback: + get: + tags: + - RegistrationStatus + summary: 'Gets the callback address of the onboarding service provider (Authorization required - Roles: configure_partner_registration)' + description: 'Example: GET: api/administration/registrationstatus/callback' + responses: + '200': + description: Returns the company with its address. + content: + application/json: + schema: + $ref: '#/components/schemas/OnboardingServiceProviderCallbackRequestData' + '400': + description: Company is no onboarding service provider. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + post: + tags: + - RegistrationStatus + summary: 'Sets the callback address of the onboarding service provider (Authorization required - Roles: configure_partner_registration)' + description: 'Example: POST: api/administration/registrationstatus/callback' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/OnboardingServiceProviderCallbackRequestData' + responses: + '204': + description: Returns no content. + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + /api/administration/serviceaccount/owncompany/serviceaccounts: + post: + tags: + - ServiceAccount + summary: 'Creates a new technical user / service account with selected role under the same org as the requester (Authorization required - Roles: add_tech_user_management)' + description: 'Example: POST: api/administration/serviceaccount/owncompany/serviceaccounts' + requestBody: + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/ServiceAccountCreationInfo' + responses: + '200': + description: The service account was created. + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/ServiceAccountDetails' + '400': + description: Missing mandatory input values (e.g. name) or not supported authenticationType selected. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '404': + description: 'Record was not found. Possible reason: invalid user role, requester user invalid.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + get: + tags: + - ServiceAccount + summary: 'Gets the service account data as pagination (Authorization required - Roles: view_tech_user_management)' + description: 'Example: GET: api/administration/serviceaccount/owncompany/serviceaccounts' + parameters: + - name: page + in: query + description: the page of service account data + schema: + type: integer + format: int32 + - name: size + in: query + description: number of service account data + schema: + type: integer + format: int32 + - name: isOwner + in: query + description: isOwner either true or false + schema: + type: boolean + - name: clientId + in: query + description: clientId is string clientclientid + schema: + type: string + - name: filterForInactive + in: query + description: isUserStatusActive is True or False + schema: + type: boolean + default: false + - name: userStatus + in: query + description: 'userStatus is ACTIVE, INACTIVE, PENDING or DELETED (optional, multiple values allowed)' + schema: + type: array + items: + $ref: '#/components/schemas/UserStatusId' + responses: + '200': + description: Returns the specific number of service account data for the given page. + content: + application/json: + schema: + $ref: '#/components/schemas/CompanyServiceAccountDataResponse' + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + '/api/administration/serviceaccount/owncompany/serviceaccounts/{serviceAccountId}': + delete: + tags: + - ServiceAccount + summary: 'Deletes the service account with the given id (Authorization required - Roles: delete_tech_user_management)' + description: 'Example: DELETE: api/administration/serviceaccount/owncompany/serviceaccounts/7e85a0b8-0001-ab67-10d1-0ef508201000' + parameters: + - name: serviceAccountId + in: path + description: Id of the service account that should be deleted. + required: true + schema: + type: string + format: uuid + example: 7e85a0b8-0001-ab67-10d1-0ef508201000 + responses: + '200': + description: Successful if the service account was deleted. + content: + application/json: + schema: + type: integer + format: int32 + '404': + description: Record was not found. Service account is either not existing or not connected to the respective company. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '409': + description: Technical User is linked to an active connector. Change the link or deactivate the connector to delete the technical user. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + get: + tags: + - ServiceAccount + summary: 'Gets the service account details for the given id (Authorization required - Roles: view_tech_user_management)' + description: 'Example: GET: api/administration/serviceaccount/owncompany/serviceaccounts/7e85a0b8-0001-ab67-10d1-0ef508201000' + operationId: GetServiceAccountDetails + parameters: + - name: serviceAccountId + in: path + description: Id to get the service account details for. + required: true + schema: + type: string + format: uuid + responses: + '200': + description: Returns a list of service account details. + content: + application/json: + schema: + $ref: '#/components/schemas/ServiceAccountConnectorOfferData' + '404': + description: Record was not found. Service account is either not existing or not connected to the respective company. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '409': + description: Undefined client for service account. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + put: + tags: + - ServiceAccount + summary: 'Updates the service account details with the given id. (Authorization required - Roles: add_tech_user_management)' + description: 'Example: PUT: api/administration/serviceaccount/owncompany/serviceaccounts/7e85a0b8-0001-ab67-10d1-0ef508201000' + parameters: + - name: serviceAccountId + in: path + description: Id of the service account details that should be updated. + required: true + schema: + type: string + format: uuid + requestBody: + description: The new values for the details. + content: + application/json: + schema: + $ref: '#/components/schemas/ServiceAccountEditableDetails' + responses: + '200': + description: Returns the updated service account details. + content: + application/json: + schema: + $ref: '#/components/schemas/ServiceAccountDetails' + '400': + description: "Problem could be one of the following: \n\r\n- other authenticationType values than SECRET are not supported yet \n\r\n- serviceAccountId from path does not match the one in body \n\r\n- serviceAccount is already INACTIVE \n" + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '404': + description: Record was not found. Service account is either not existing or not connected to the respective company. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '409': + description: Undefined client for service account. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + '/api/administration/serviceaccount/owncompany/serviceaccounts/{serviceAccountId}/resetCredentials': + post: + tags: + - ServiceAccount + summary: 'Resets the service account credentials for the given service account Id. (Authorization required - Roles: add_tech_user_management)' + description: 'Example: POST: api/administration/serviceaccount/owncompany/serviceaccounts/7e85a0b8-0001-ab67-10d1-0ef508201000/resetCredentials' + parameters: + - name: serviceAccountId + in: path + description: Id of the service account. + required: true + schema: + type: string + format: uuid + responses: + '200': + description: Returns the service account details. + content: + application/json: + schema: + $ref: '#/components/schemas/ServiceAccountDetails' + '404': + description: Record was not found. Service account is either not existing or not connected to the respective company. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '409': + description: Undefined client for service account. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '502': + description: Bad Gateway Service Error. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + /api/administration/serviceaccount/user/roles: + get: + tags: + - ServiceAccount + summary: 'Get all service account roles (Authorization required - Roles: technical_roles_management)' + description: 'Example: GET: api/administration/serviceaccount/user/roles' + parameters: + - name: languageShortName + in: query + description: 'OPTIONAL: The language short name.' + schema: + type: string + responses: + '200': + description: returns all service account roles + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/UserRoleWithDescription' + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + '/api/administration/serviceaccount/callback/{processId}': + post: + tags: + - ServiceAccount + summary: 'Get all service account roles (Authorization required - Roles: technical_roles_management)' + description: 'Example: POST: api/administration/serviceaccount/callback/{externalId}' + parameters: + - name: processId + in: path + description: The processId that was passed as externalId with the request for creation of the technical user. + required: true + schema: + type: string + format: uuid + requestBody: + description: Information of the technical user which was created. + content: + application/json: + schema: + $ref: '#/components/schemas/AuthenticationDetail' + responses: + '200': + description: returns all service account roles + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + '/api/administration/serviceaccount/callback/{processId}/retrigger-create-dim-technical-user': + post: + tags: + - ServiceAccount + summary: 'Retriggers the create dim technical user (Authorization required - Roles: technical_roles_management)' + description: 'Example: POST: api/administration/serviceaccount/callback/{externalId}/retrigger-create-dim-technical-user' + parameters: + - name: processId + in: path + description: The processId of the dim technical user creation. + required: true + schema: + type: string + format: uuid + responses: + '200': + description: Ok + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + '/api/administration/serviceaccount/callback/{processId}/retrigger-delete-dim-technical-user': + post: + tags: + - ServiceAccount + summary: 'Retriggers the delete dim technical user (Authorization required - Roles: technical_roles_management)' + description: 'Example: POST: api/administration/serviceaccount/callback/{externalId}/retrigger-delete-dim-technical-user' + parameters: + - name: processId + in: path + description: The processId of the dim technical user deletion. + required: true + schema: + type: string + format: uuid + responses: + '200': + description: Ok + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + '/api/administration/serviceaccount/callback/{processId}/delete': + post: + tags: + - ServiceAccount + summary: 'Callback for the successful service account deletion (Authorization required - Roles: technical_roles_management)' + description: 'Example: POST: api/administration/serviceaccount/callback/{externalId}/delete' + parameters: + - name: processId + in: path + description: The processId that was passed as externalId with the request for deletion of the technical user. + required: true + schema: + type: string + format: uuid + responses: + '200': + description: Ok + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + /api/administration/staticdata/usecases: + get: + tags: + - StaticData + summary: 'Retrieves all Use Case Data (Authorization required - Roles: view_use_cases)' + description: 'Example: GET: /api/administration/staticdata/usecases' + responses: + '200': + description: Returns a list of all of the use case data. + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/UseCaseData' + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + /api/administration/staticdata/languagetags: + get: + tags: + - StaticData + summary: 'Retrieve all app language tags - short name (2digit) and long name (Authorization required - Roles: view_app_language)' + description: "Example: GET: /api/administration/staticdata/languagetags\r\nthe \"lang\" parameter is an optional parameter and if not set \"en\" will be used" + responses: + '200': + description: Returns a list of all of the Language i.e german and english + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/LanguageData' + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + /api/administration/staticdata/licenseType: + get: + tags: + - StaticData + summary: 'Retrieve all license types (Authorization required - Roles: view_license_types)' + description: 'Example: GET: /api/administration/staticdata/licenseType' + responses: + '200': + description: Returns a list of all the license type i.e COTS and FOSS + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/LicenseTypeData' + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + /api/administration/staticdata/operator-bpn: + get: + tags: + - StaticData + summary: Retrieve the bpns of the operator companies (Authorization required) + description: 'Example: GET: /api/administration/staticdata/operator-bpn' + responses: + '200': + description: Returns a list of all the operator bpns + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/OperatorBpnData' + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + /api/administration/staticdata/certificateTypes: + get: + tags: + - StaticData + summary: 'Retrieve all certificate types (Authorization required - Roles: view_certificates)' + description: 'Example: GET: /api/administration/staticdata/certificateTypes' + responses: + '200': + description: Returns a list of all of the Language i.e german and english + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/CompanyCertificateTypeData' + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + '/api/administration/staticdata/did/{bpn}/did.json': + get: + tags: + - StaticData + summary: Retrieve all certificate types + description: 'Example: GET: /api/administration/staticdata/did/{bpn}/did.json' + parameters: + - name: bpn + in: path + required: true + schema: + type: string + responses: + '200': + description: Returns a list of all of the Language i.e german and english + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/CompanyCertificateTypeData' + '500': + description: Internal Server Error + /api/administration/SubscriptionConfiguration/owncompany: + get: + tags: + - SubscriptionConfiguration + summary: 'get detail data of the calling users service provider (Authorization required - Roles: add_service_offering, add_apps)' + description: 'Example: GET: api/administration/subscriptionconfiguration/owncompany' + operationId: GetServiceProviderCompanyDetail + responses: + '200': + description: The service provider details. + content: + application/json: + schema: + $ref: '#/components/schemas/ProviderDetailReturnData' + '400': + description: The given data are incorrect. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '403': + description: The calling users company is not a service-provider + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '409': + description: User is not assigned to company. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + put: + tags: + - SubscriptionConfiguration + summary: 'Sets detail data to the calling users service provider (Authorization required - Roles: add_service_offering, add_apps)' + description: 'Example: PUT: api/administration/subscriptionconfiguration/owncompany' + requestBody: + description: Service provider detail data + content: + application/json: + schema: + $ref: '#/components/schemas/ProviderDetailData' + responses: + '204': + description: Empty response on success. + '400': + description: The given data are incorrect. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '403': + description: Forbidden + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '404': + description: Service Provider was not found. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + '/api/administration/SubscriptionConfiguration/process/offer-subscription/{offerSubscriptionId}': + get: + tags: + - SubscriptionConfiguration + summary: 'Gets the process steps for the given offer subscription id (Authorization required - Roles: view_autosetup_status)' + parameters: + - name: offerSubscriptionId + in: path + description: Id of the offer subscription that should be triggered + required: true + schema: + type: string + format: uuid + example: 22dbc488-8f90-40b4-9fbd-ea0b246e827b + responses: + '204': + description: No Content + '400': + description: Either the OfferSubscription is not in status PENDING or the next step can't automatically retriggered. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '404': + description: No OfferSubscription found for the offerSubscriptionId. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '200': + description: Returns the process steps. + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + '/api/administration/SubscriptionConfiguration/process/offer-subscription/{offerSubscriptionId}/retrigger-provider': + post: + tags: + - SubscriptionConfiguration + summary: 'Retriggers the provider for the given offer subscription id (Authorization required - Roles: retrigger_subscription, activate_subscription)' + parameters: + - name: offerSubscriptionId + in: path + description: Id of the offer subscription that should be triggered + required: true + schema: + type: string + format: uuid + example: 22dbc488-8f90-40b4-9fbd-ea0b246e827b + responses: + '204': + description: Empty response on success. + '400': + description: Either the OfferSubscription is not in status PENDING or the next step can't automatically retriggered. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '404': + description: No OfferSubscription found for the offerSubscriptionId. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + '/api/administration/SubscriptionConfiguration/process/offer-subscription/{offerSubscriptionId}/retrigger-create-client': + post: + tags: + - SubscriptionConfiguration + summary: 'Retriggers the client creation for the given offer subscription id (Authorization required - Roles: retrigger_subscription)' + parameters: + - name: offerSubscriptionId + in: path + description: Id of the offer subscription that should be triggered + required: true + schema: + type: string + format: uuid + example: 22dbc488-8f90-40b4-9fbd-ea0b246e827b + responses: + '204': + description: Empty response on success. + '400': + description: Either the OfferSubscription is not in status PENDING or the next step can't automatically retriggered. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '404': + description: No OfferSubscription found for the offerSubscriptionId. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + '/api/administration/SubscriptionConfiguration/process/offer-subscription/{offerSubscriptionId}/retrigger-create-technical-user': + post: + tags: + - SubscriptionConfiguration + summary: 'Retriggers the technical user creation for the given offer subscription id (Authorization required - Roles: retrigger_subscription)' + parameters: + - name: offerSubscriptionId + in: path + description: Id of the offer subscription that should be triggered + required: true + schema: + type: string + format: uuid + example: 22dbc488-8f90-40b4-9fbd-ea0b246e827b + responses: + '204': + description: Empty response on success. + '400': + description: Either the OfferSubscription is not in status PENDING or the next step can't automatically retriggered. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '404': + description: No OfferSubscription found for the offerSubscriptionId. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + '/api/administration/SubscriptionConfiguration/process/offer-subscription/{offerSubscriptionId}/retrigger-provider-callback': + post: + tags: + - SubscriptionConfiguration + summary: 'Retriggers the provider callback for the given offer subscription id (Authorization required - Roles: retrigger_subscription, activate_subscription)' + parameters: + - name: offerSubscriptionId + in: path + description: Id of the offer subscription that should be triggered + required: true + schema: + type: string + format: uuid + example: 22dbc488-8f90-40b4-9fbd-ea0b246e827b + responses: + '204': + description: Empty response on success. + '400': + description: Either the OfferSubscription is not in status ACTIVE or the next step can't automatically retriggered. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '404': + description: No OfferSubscription found for the offerSubscriptionId. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + '/api/administration/SubscriptionConfiguration/process/offer-subscription/{offerSubscriptionId}/retrigger-create-dim-technical-user': + post: + tags: + - SubscriptionConfiguration + summary: 'Retriggers the dim technical user creation for the given offer subscription id (Authorization required - Roles: retrigger_subscription)' + parameters: + - name: offerSubscriptionId + in: path + description: Id of the offer subscription that should be triggered + required: true + schema: + type: string + format: uuid + example: 22dbc488-8f90-40b4-9fbd-ea0b246e827b + responses: + '204': + description: Empty response on success. + '400': + description: Either the OfferSubscription is not in status PENDING or the next step can't automatically retriggered. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '404': + description: No OfferSubscription found for the offerSubscriptionId. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + /api/administration/user/owncompany/users: + post: + tags: + - User + summary: 'Creates new users for the company of the current user (Authorization required - Roles: add_user_account)' + description: 'Example: POST: api/administration/user/owncompany/users' + requestBody: + description: the users that should be created + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/UserCreationInfo' + responses: + '200': + description: User successfully created and invite email send + content: + application/json: + schema: + type: array + items: + type: string + '400': + description: Provided input is not sufficient. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + get: + tags: + - User + summary: 'Get Company User Data (Authorization required - Roles: view_user_management)' + description: 'Example: GET: api/administration/user/owncompany/users?page=0&size=5' + parameters: + - name: page + in: query + description: page index start from 0 + schema: + type: integer + format: int32 + - name: size + in: query + description: size to get number of records + schema: + type: integer + format: int32 + - name: companyUserId + in: query + description: Company User Id + schema: + type: string + format: uuid + - name: firstName + in: query + description: First Name of User + schema: + type: string + - name: lastName + in: query + description: Last Name of User + schema: + type: string + - name: email + in: query + description: Email Id of User + schema: + type: string + responses: + '200': + description: Result as a Company User Data + content: + application/json: + schema: + $ref: '#/components/schemas/CompanyUserDataResponse' + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + delete: + tags: + - User + summary: 'Deletes the users with the given ids. (Authorization required - Roles: delete_user_account)' + description: 'Example: DELETE: api/administration/user/owncompany/users' + requestBody: + description: The ids of the users that should be deleted. + content: + application/json: + schema: + type: array + items: + type: string + format: uuid + responses: + '200': + description: Users have successfully been deleted. + content: + application/json: + schema: + type: array + items: + type: string + format: uuid + '404': + description: Record was not found. User is either not existing or not connected to the respective company. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + /api/administration/user/owncompany/usersfile: + post: + tags: + - User + summary: 'Create new users for the companies shared identityprovider by upload of csv-file (Authorization required - Roles: add_user_account)' + description: 'Example: POST: api/administration/user/owncompany/usersfile' + requestBody: + content: + multipart/form-data: + schema: + type: object + properties: + document: + type: file + description: The file including the users + format: binary + encoding: + document: + style: form + application/json: + schema: + type: object + properties: + document: + type: file + description: The file including the users + format: binary + encoding: + document: + style: form + responses: + '200': + description: Returns a file of users. + content: + application/json: + schema: + $ref: '#/components/schemas/UserCreationStats' + '400': + description: user is not associated with a company. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '415': + description: Content type didn't match the expected value. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '502': + description: Bad Gateway Service Error. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + '/api/administration/user/owncompany/identityprovider/{identityProviderId}/users': + post: + tags: + - User + summary: 'Create a new user for a specific identityprovider (Authorization required - Roles: add_user_account)' + description: 'Example: POST: api/administration/user/owncompany/identityprovider/{identityProviderId}/users' + parameters: + - name: identityProviderId + in: path + description: the id of the identityprovider + required: true + schema: + type: string + format: uuid + requestBody: + description: properties and identityprovider link data for the user to create + content: + application/json: + schema: + $ref: '#/components/schemas/UserCreationInfoIdp' + responses: + '201': + description: Record Created Successfully + content: + application/json: + schema: + type: string + format: uuid + '400': + description: Input is incorrect. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '500': + description: Unexpected Error + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '404': + description: No Record Found. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '409': + description: Company Name is null. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '401': + description: The User is unauthorized + '/api/administration/user/owncompany/identityprovider/{identityProviderId}/usersfile': + post: + tags: + - User + summary: 'Create new users for a specific identityprovider by upload of csv-file (Authorization required - Roles: add_user_account)' + description: 'Example: POST: api/administration/user/owncompany/identityprovider/{identityProviderId}/usersfile' + parameters: + - name: identityProviderId + in: path + description: the id of the identityprovider + required: true + schema: + type: string + format: uuid + requestBody: + content: + multipart/form-data: + schema: + type: object + properties: + document: + type: file + description: The file including the users + format: binary + encoding: + document: + style: form + application/json: + schema: + type: object + properties: + document: + type: file + description: The file including the users + format: binary + encoding: + document: + style: form + responses: + '200': + description: Returns a file of users. + content: + application/json: + schema: + $ref: '#/components/schemas/UserCreationStats' + '400': + description: user is not associated with a company. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '415': + description: Content type didn't match the expected value. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '502': + description: Bad Gateway Service Error. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + '/api/administration/user/owncompany/users/{companyUserId}': + get: + tags: + - User + summary: 'Gets the user details for the given user Id (Authorization required - Roles: view_user_management)' + description: 'Example: GET: api/administration/user/owncompany/users/ac1cf001-7fbc-1f2f-817f-bce0575a0011' + operationId: GetOwnCompanyUserDetails + parameters: + - name: companyUserId + in: path + description: Id of the user to get the details for. + required: true + schema: + type: string + format: uuid + example: ac1cf001-7fbc-1f2f-817f-bce0575a0011 + responses: + '200': + description: Returns the company user details. + content: + application/json: + schema: + $ref: '#/components/schemas/CompanyUserDetailData' + '404': + description: User not found + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + '/api/administration/user/owncompany/users/{companyUserId}/coreoffers/{offerId}/roles': + put: + tags: + - User + summary: 'Updates the portal-roles for the user (Authorization required - Roles: modify_user_account)' + description: 'Example: PUT: api/administration/user/owncompany/users/{companyUserId}/coreoffers/{offerId}/roles' + parameters: + - name: companyUserId + in: path + description: '' + required: true + schema: + type: string + format: uuid + - name: offerId + in: path + description: '' + required: true + schema: + type: string + format: uuid + requestBody: + description: '' + content: + application/json: + schema: + type: array + items: + type: string + responses: + '200': + description: Roles got successfully updated user account. + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/UserRoleWithId' + '400': + description: Invalid User roles for client + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '404': + description: User not found + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + '/api/administration/user/owncompany/users/{companyUserId}/apps/{appId}/roles': + put: + tags: + - User + summary: 'Updates the app-roles for the user (Authorization required - Roles: modify_user_account)' + description: 'Example: PUT: api/administration/user/owncompany/users/{companyUserId}/apps/{appId}/roles' + parameters: + - name: companyUserId + in: path + description: '' + required: true + schema: + type: string + format: uuid + - name: appId + in: path + description: Id of the application + required: true + schema: + type: string + format: uuid + example: D3B1ECA2-6148-4008-9E6C-C1C2AEA5C645 + requestBody: + description: '' + content: + application/json: + schema: + type: array + items: + type: string + responses: + '200': + description: Roles got successfully updated user account. + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/UserRoleWithId' + '400': + description: Invalid User roles for client + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '404': + description: User not found + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + '/api/administration/user/owncompany/users/{companyUserId}/businessPartnerNumbers': + post: + tags: + - User + summary: 'Adds the given business partner numbers to the user for the given id. (Authorization required - Roles: modify_user_account)' + description: 'Example: POST: api/administration/user/owncompany/users/{companyUserId}/businessPartnerNumbers' + parameters: + - name: companyUserId + in: path + description: Id of the user to add the business partner numbers to. + required: true + schema: + type: string + format: uuid + example: ac1cf001-7fbc-1f2f-817f-bce0575a0011 + requestBody: + description: the business partner numbers that should be added. + content: + application/json: + schema: + type: array + items: + type: string + responses: + '200': + description: The business partner numbers have been added successfully. + content: + application/json: + schema: + type: integer + format: int32 + '400': + description: Business Partner Numbers must not exceed 20 characters. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '404': + description: User not found. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + '/api/administration/user/owncompany/users/{companyUserId}/businessPartnerNumbers/{businessPartnerNumber}': + put: + tags: + - User + summary: 'Adds the given business partner number to the user for the given id. (Authorization required - Roles: modify_user_account)' + description: 'Example: PUT: api/administration/user/owncompany/users/{companyUserId}/businessPartnerNumbers/{businessPartnerNumber}' + parameters: + - name: companyUserId + in: path + description: Id of the user to add the business partner numbers to. + required: true + schema: + type: string + format: uuid + example: ac1cf001-7fbc-1f2f-817f-bce0575a0011 + - name: businessPartnerNumber + in: path + description: the business partner number that should be added. + required: true + schema: + type: string + example: CAXSDUMMYCATENAZZ + responses: + '200': + description: The business partner number have been added successfully. + content: + application/json: + schema: + type: integer + format: int32 + '400': + description: Business Partner Numbers must not exceed 20 characters. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '404': + description: User is not existing. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '500': + description: Internal Server Error. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '502': + description: Bad Gateway Service Error. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '401': + description: The User is unauthorized + delete: + tags: + - User + summary: 'Delete BPN assigned to user from DB and Keycloack. (Authorization required - Roles: modify_user_account)' + description: 'Example: DELETE: /api/administration/user/owncompany/users/4f06431c-25ae-40ad-9cac-9dee8fe4754d/businessPartnerNumbers/CAXSDUMMYTESTCX1' + parameters: + - name: companyUserId + in: path + description: ID of the company user to be deleted. + required: true + schema: + type: string + format: uuid + example: 4f06431c-25ae-40ad-9cac-9dee8fe4754d + - name: businessPartnerNumber + in: path + description: BPN to be deleted. + required: true + schema: + type: string + example: CAXSDUMMYTESTCX1 + responses: + '200': + description: Empty response on success. + content: + application/json: + schema: + type: integer + format: int32 + '403': + description: ForbiddenException if both users does not belongs to same company + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '404': + description: Record not found. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '409': + description: User is not associated in keycloak. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + '/api/administration/user/owncompany/users/{companyUserId}/resetPassword': + put: + tags: + - User + summary: 'Resets the password for the given user (Authorization required - Roles: modify_user_account)' + description: 'Example: PUT: api/administration/user/owncompany/users/ac1cf001-7fbc-1f2f-817f-bce0575a0011/resetPassword' + parameters: + - name: companyUserId + in: path + description: Id of the user whose password should be reset. + required: true + schema: + type: string + format: uuid + example: ac1cf001-7fbc-1f2f-817f-bce0575a0011 + responses: + '200': + description: The password was successfully reset. + content: + application/json: + schema: + type: boolean + '400': + description: Maximum amount of password resets reached. Password reset function is locked for the user for a certain time. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '404': + description: User id not found. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '500': + description: 'Internal Server Error, e.g. the password reset failed.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '502': + description: Bad Gateway Service Error. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '401': + description: The User is unauthorized + /api/administration/user/owncompany/roles/coreoffers: + get: + tags: + - User + summary: 'Gets the core offer roles (Authorization required - Roles: view_client_roles)' + description: "Example: GET: api/administration/user/owncompany/roles/coreoffers \n\r\nExample: GET: api/administration/user/owncompany/roles/coreoffers?languageShortName=DE" + parameters: + - name: languageShortName + in: query + description: The shortname of the user role description" + schema: + type: string + example: DE + responses: + '200': + description: A list of OfferRoleInfos. + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/OfferRoleInfos' + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + '/api/administration/user/owncompany/roles/apps/{appId}': + get: + tags: + - User + summary: 'Gets the client roles for the given app. (Authorization required - Roles: view_client_roles)' + description: 'Example: GET: api/administration/user/owncompany/roles/apps/D3B1ECA2-6148-4008-9E6C-C1C2AEA5C645' + parameters: + - name: appId + in: path + description: Id of the app which roles should be returned. + required: true + schema: + type: string + format: uuid + example: D3B1ECA2-6148-4008-9E6C-C1C2AEA5C645 + - name: languageShortName + in: query + description: 'OPTIONAL: The language short name.' + schema: + type: string + responses: + '200': + description: Returns the client roles. + content: + application/json: + schema: + $ref: '#/components/schemas/OfferRoleInfos' + '400': + description: The language does not exist. + '404': + description: The app was not found. + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + /api/administration/user/ownUser: + get: + tags: + - User + summary: 'Gets the user details for the current user. (Authorization required - Roles: view_own_user_account)' + description: 'Example: GET: api/administration/user/ownUser' + responses: + '200': + description: Returns the company user details. + content: + application/json: + schema: + $ref: '#/components/schemas/CompanyOwnUserDetails' + '404': + description: User is not existing/found. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + '/api/administration/user/ownUser/{companyUserId}': + put: + tags: + - User + summary: 'Updates the user details for the given companyUserId. (Authorization required - Roles: change_own_user_account)' + description: 'Example: PUT: api/administration/user/ownUser/ac1cf001-7fbc-1f2f-817f-bce0575a0011' + parameters: + - name: companyUserId + in: path + description: Id of the user that should be updated. + required: true + schema: + type: string + format: uuid + example: ac1cf001-7fbc-1f2f-817f-bce0575a0011 + requestBody: + description: The new details for the user. + content: + application/json: + schema: + $ref: '#/components/schemas/OwnCompanyUserEditableDetails' + responses: + '200': + description: Returns the updated company user details. + content: + application/json: + schema: + $ref: '#/components/schemas/CompanyUserDetails' + '403': + description: Invalid companyUserId for user. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '404': + description: No shared realm userid found for the id in realm + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + delete: + tags: + - User + summary: 'Deletes the own user (Authorization required - Roles: delete_own_user_account)' + description: 'Example: DELETE: api/administration/user/ownUser/ac1cf001-7fbc-1f2f-817f-bce0575a0011' + parameters: + - name: companyUserId + in: path + description: Id of the user that should be deleted + required: true + schema: + type: string + format: uuid + example: ac1cf001-7fbc-1f2f-817f-bce0575a0011 + responses: + '200': + description: Successfully deleted the user. + content: + application/json: + schema: + type: integer + format: int32 + '403': + description: Invalid or not existing user id. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '409': + description: User is not associated with company. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '500': + description: Internal Server Error + '401': + description: The User is unauthorized + '/api/administration/user/owncompany/apps/{appId}/users': + get: + tags: + - User + summary: 'Get for given app id all the company assigned users (Authorization required - Roles: view_user_management)' + description: 'Example: GET: /api/administration/user/owncompany/apps/5cf74ef8-e0b7-4984-a872-474828beb5d3/users?page=0&size=15' + parameters: + - name: appId + in: path + description: Get company app users by appId + required: true + schema: + type: string + format: uuid + - name: page + in: query + description: page index start from 0 + schema: + type: integer + format: int32 + default: 0 + - name: size + in: query + description: size to get number of records + schema: + type: integer + format: int32 + default: 15 + - name: firstName + in: query + description: First Name of User + schema: + type: string + - name: lastName + in: query + description: Last Name of User + schema: + type: string + - name: email + in: query + description: Email Id of User + schema: + type: string + - name: roleName + in: query + description: User role name + schema: + type: string + - name: hasRole + in: query + description: Defines whether the users should be filtered with a app role + schema: + type: boolean + responses: + '200': + description: Result as a Company App Users Details + content: + application/json: + schema: + $ref: '#/components/schemas/CompanyAppUserDetailsResponse' + '500': + description: Internal Server Error + '401': + description: The User is unauthorized +components: + schemas: + AgreementConsentData: + type: object + properties: + agreementId: + type: string + description: '' + format: uuid + consentStatus: + $ref: '#/components/schemas/ConsentStatusId' + additionalProperties: false + description: '' + AgreementsRoleData: + type: object + properties: + companyRole: + $ref: '#/components/schemas/CompanyRoleId' + agreements: + type: array + items: + $ref: '#/components/schemas/AgreementConsentData' + description: '' + additionalProperties: false + description: '' + ApplicationChecklistEntryDetails: + type: object + properties: + typeId: + $ref: '#/components/schemas/ApplicationChecklistEntryTypeId' + statusId: + $ref: '#/components/schemas/ApplicationChecklistEntryStatusId' + additionalProperties: false + ApplicationChecklistEntryStatusId: + enum: + - TO_DO + - IN_PROGRESS + - DONE + - FAILED + - SKIPPED + type: string + ApplicationChecklistEntryTypeId: + enum: + - REGISTRATION_VERIFICATION + - BUSINESS_PARTNER_NUMBER + - IDENTITY_WALLET + - BPNL_CREDENTIAL + - MEMBERSHIP_CREDENTIAL + - CLEARING_HOUSE + - SELF_DESCRIPTION_LP + - APPLICATION_ACTIVATION + type: string + AuthenticationDetail: + type: object + properties: + authenticationServiceUrl: + type: string + clientID: + type: string + clientSecret: + type: string + additionalProperties: false + CertificateSorting: + enum: + - CertificateTypeAsc + - CertificateTypeDesc + - ExpiryDateAsc + - ExpiryDateDesc + type: string + CertificateTypeDescription: + type: object + properties: + languageShortName: + type: string + description: + type: string + additionalProperties: false + ChecklistDetails: + type: object + properties: + type: + $ref: '#/components/schemas/ApplicationChecklistEntryTypeId' + status: + $ref: '#/components/schemas/ApplicationChecklistEntryStatusId' + details: + type: string + nullable: true + retriggerableProcessSteps: + type: array + items: + $ref: '#/components/schemas/ProcessStepTypeId' + additionalProperties: false + ClearinghouseResponseData: + type: object + properties: + bpn: + type: string + status: + $ref: '#/components/schemas/ClearinghouseResponseStatus' + message: + type: string + nullable: true + additionalProperties: false + ClearinghouseResponseStatus: + enum: + - CONFIRM + - DECLINE + type: string + CompanyAddressDetailData: + type: object + properties: + companyId: + type: string + format: uuid + name: + type: string + bpn: + type: string + nullable: true + shortName: + type: string + nullable: true + city: + type: string + streetName: + type: string + countryAlpha2Code: + type: string + region: + type: string + nullable: true + streetAdditional: + type: string + nullable: true + streetNumber: + type: string + nullable: true + zipCode: + type: string + nullable: true + companyRole: + type: array + items: + $ref: '#/components/schemas/CompanyRoleId' + additionalProperties: false + CompanyAppUserDetails: + type: object + properties: + companyUserId: + type: string + format: uuid + status: + $ref: '#/components/schemas/UserStatusId' + firstName: + type: string + nullable: true + lastName: + type: string + nullable: true + email: + type: string + nullable: true + roles: + type: array + items: + type: string + additionalProperties: false + CompanyAppUserDetailsResponse: + type: object + properties: + meta: + $ref: '#/components/schemas/Metadata' + content: + type: array + items: + $ref: '#/components/schemas/CompanyAppUserDetails' + additionalProperties: false + CompanyApplicationDetails: + type: object + properties: + applicationId: + type: string + format: uuid + applicationStatus: + $ref: '#/components/schemas/CompanyApplicationStatusId' + dateCreated: + type: string + format: date-time + companyName: + type: string + companyRoles: + type: array + items: + $ref: '#/components/schemas/CompanyRoleId' + applicationChecklist: + type: array + items: + $ref: '#/components/schemas/ApplicationChecklistEntryDetails' + email: + type: string + nullable: true + bpn: + type: string + nullable: true + type: + $ref: '#/components/schemas/CompanyApplicationTypeId' + additionalProperties: false + CompanyApplicationDetailsResponse: + type: object + properties: + meta: + $ref: '#/components/schemas/Metadata' + content: + type: array + items: + $ref: '#/components/schemas/CompanyApplicationDetails' + additionalProperties: false + CompanyApplicationStatusFilter: + enum: + - Closed + - InReview + type: string + description: Filter operations for the CompanyApplicationStatus + CompanyApplicationStatusId: + enum: + - CREATED + - ADD_COMPANY_DATA + - INVITE_USER + - SELECT_COMPANY_ROLE + - UPLOAD_DOCUMENTS + - VERIFY + - SUBMITTED + - CONFIRMED + - DECLINED + - CANCELLED_BY_CUSTOMER + type: string + CompanyApplicationTypeId: + enum: + - INTERNAL + - EXTERNAL + type: string + CompanyApplicationWithCompanyUserDetails: + type: object + properties: + applicationId: + type: string + format: uuid + applicationStatus: + $ref: '#/components/schemas/CompanyApplicationStatusId' + dateCreated: + type: string + format: date-time + companyName: + type: string + email: + type: string + nullable: true + firstName: + type: string + nullable: true + lastName: + type: string + nullable: true + additionalProperties: false + CompanyApplicationWithCompanyUserDetailsResponse: + type: object + properties: + meta: + $ref: '#/components/schemas/Metadata' + content: + type: array + items: + $ref: '#/components/schemas/CompanyApplicationWithCompanyUserDetails' + additionalProperties: false + CompanyAssignedUseCaseData: + type: object + properties: + useCaseId: + type: string + format: uuid + name: + type: string + additionalProperties: false + CompanyCertificateBpnData: + type: object + properties: + companyCertificateType: + $ref: '#/components/schemas/CompanyCertificateTypeId' + companyCertificateStatus: + $ref: '#/components/schemas/CompanyCertificateStatusId' + documentId: + type: string + format: uuid + validFrom: + type: string + format: date-time + nullable: true + validTill: + type: string + format: date-time + nullable: true + externalCertificateNumber: + type: string + nullable: true + sites: + type: array + items: + type: string + nullable: true + issuer: + type: string + nullable: true + validator: + type: string + nullable: true + additionalProperties: false + CompanyCertificateData: + type: object + properties: + companyCertificateType: + $ref: '#/components/schemas/CompanyCertificateTypeId' + companyCertificateStatus: + $ref: '#/components/schemas/CompanyCertificateStatusId' + documentId: + type: string + format: uuid + validFrom: + type: string + format: date-time + nullable: true + validTill: + type: string + format: date-time + nullable: true + externalCertificateNumber: + type: string + nullable: true + sites: + type: array + items: + type: string + nullable: true + issuer: + type: string + nullable: true + validator: + type: string + nullable: true + additionalProperties: false + CompanyCertificateDataResponse: + type: object + properties: + meta: + $ref: '#/components/schemas/Metadata' + content: + type: array + items: + $ref: '#/components/schemas/CompanyCertificateData' + additionalProperties: false + CompanyCertificateStatusId: + enum: + - ACTIVE + - INACTIVE + type: string + CompanyCertificateTypeData: + type: object + properties: + certificateType: + $ref: '#/components/schemas/CompanyCertificateTypeId' + description: + type: array + items: + $ref: '#/components/schemas/CertificateTypeDescription' + additionalProperties: false + CompanyCertificateTypeId: + enum: + - AEO_CTPAT_Security_Declaration + - ISO_9001 + - IATF_16949 + - ISO_14001_EMAS_or_national_certification + - ISO_45001_OHSAS_18001_or_national_certification + - ISO_IEC_27001 + - ISO_50001_or_national_certification + - ISO_IEC_17025 + - ISO_15504_SPICE + - B_BBEE_Certificate_of_South_Africa + - IATF + - TISAX + type: string + CompanyDetailsOspOnboarding: + type: object + properties: + companyId: + type: string + format: uuid + externalId: + type: string + nullable: true + applicationId: + type: string + format: uuid + applicationStatus: + $ref: '#/components/schemas/CompanyApplicationStatusId' + applicationDateCreated: + type: string + format: date-time + dateCreated: + type: string + format: date-time + lastChangedDate: + type: string + format: date-time + nullable: true + companyName: + type: string + companyRoles: + type: array + items: + $ref: '#/components/schemas/CompanyRoleId' + identityProvider: + type: array + items: + $ref: '#/components/schemas/IdentityProvidersDetails' + bpn: + type: string + nullable: true + activeUsers: + type: integer + format: int32 + additionalProperties: false + CompanyDetailsOspOnboardingResponse: + type: object + properties: + meta: + $ref: '#/components/schemas/Metadata' + content: + type: array + items: + $ref: '#/components/schemas/CompanyDetailsOspOnboarding' + additionalProperties: false + CompanyInvitationData: + type: object + properties: + userName: + type: string + nullable: true + firstName: + pattern: ^.+$ + type: string + default: string + lastName: + pattern: ^.+$ + type: string + default: string + email: + type: string + format: email + default: string + organisationName: + type: string + additionalProperties: false + CompanyInvitationResponse: + type: object + properties: + applicationId: + type: string + format: uuid + companyId: + type: string + format: uuid + additionalProperties: false + CompanyMissingSdDocumentData: + type: object + properties: + companyId: + type: string + format: uuid + name: + type: string + additionalProperties: false + CompanyMissingSdDocumentDataResponse: + type: object + properties: + meta: + $ref: '#/components/schemas/Metadata' + content: + type: array + items: + $ref: '#/components/schemas/CompanyMissingSdDocumentData' + additionalProperties: false + CompanyOwnUserDetails: + type: object + properties: + companyUserId: + type: string + format: uuid + created: + type: string + format: date-time + bpn: + type: array + items: + type: string + company: + type: string + status: + $ref: '#/components/schemas/UserStatusId' + assignedRoles: + type: array + items: + $ref: '#/components/schemas/CompanyUserAssignedRoleDetails' + admin: + type: array + items: + $ref: '#/components/schemas/CompanyUserAdminDetails' + idpUserIds: + type: array + items: + $ref: '#/components/schemas/IdpUserId' + firstName: + type: string + nullable: true + lastName: + type: string + nullable: true + email: + type: string + nullable: true + additionalProperties: false + CompanyRoleConsentDetails: + type: object + properties: + companyRoles: + $ref: '#/components/schemas/CompanyRoleId' + agreements: + type: array + items: + $ref: '#/components/schemas/ConsentDetails' + additionalProperties: false + CompanyRoleConsentViewData: + type: object + properties: + companyRoles: + $ref: '#/components/schemas/CompanyRoleId' + roleDescription: + type: string + nullable: true + companyRolesActive: + type: boolean + agreements: + type: array + items: + $ref: '#/components/schemas/ConsentAgreementViewData' + additionalProperties: false + CompanyRoleId: + enum: + - ACTIVE_PARTICIPANT + - APP_PROVIDER + - SERVICE_PROVIDER + - OPERATOR + - ONBOARDING_SERVICE_PROVIDER + type: string + CompanyServiceAccountData: + type: object + properties: + serviceAccountId: + type: string + format: uuid + clientId: + type: string + nullable: true + name: + type: string + serviceAccountType: + $ref: '#/components/schemas/CompanyServiceAccountTypeId' + status: + $ref: '#/components/schemas/UserStatusId' + isOwner: + type: boolean + isProvider: + type: boolean + offerSubscriptionId: + type: string + format: uuid + nullable: true + connector: + $ref: '#/components/schemas/ConnectorResponseData' + offer: + $ref: '#/components/schemas/OfferResponseData' + additionalProperties: false + CompanyServiceAccountDataResponse: + type: object + properties: + meta: + $ref: '#/components/schemas/Metadata' + content: + type: array + items: + $ref: '#/components/schemas/CompanyServiceAccountData' + additionalProperties: false + CompanyServiceAccountKindId: + enum: + - INTERNAL + - EXTERNAL + type: string + CompanyServiceAccountTypeId: + enum: + - MANAGED + - OWN + type: string + CompanyUniqueIdData: + type: object + properties: + type: + $ref: '#/components/schemas/UniqueIdentifierId' + value: + type: string + additionalProperties: false + CompanyUserAdminDetails: + type: object + properties: + id: + type: string + format: uuid + email: + type: string + nullable: true + additionalProperties: false + CompanyUserAssignedRoleDetails: + type: object + properties: + appId: + type: string + format: uuid + roles: + type: array + items: + type: string + additionalProperties: false + CompanyUserData: + type: object + properties: + companyUserId: + type: string + format: uuid + status: + $ref: '#/components/schemas/UserStatusId' + firstName: + type: string + nullable: true + lastName: + type: string + nullable: true + email: + type: string + nullable: true + roles: + type: array + items: + $ref: '#/components/schemas/UserRoleData' + idpUserIds: + type: array + items: + $ref: '#/components/schemas/IdpUserId' + additionalProperties: false + CompanyUserDataResponse: + type: object + properties: + meta: + $ref: '#/components/schemas/Metadata' + content: + type: array + items: + $ref: '#/components/schemas/CompanyUserData' + additionalProperties: false + CompanyUserDetailData: + type: object + properties: + companyUserId: + type: string + format: uuid + created: + type: string + format: date-time + bpn: + type: array + items: + type: string + company: + type: string + status: + $ref: '#/components/schemas/UserStatusId' + assignedRoles: + type: array + items: + $ref: '#/components/schemas/CompanyUserAssignedRoleDetails' + idpUserIds: + type: array + items: + $ref: '#/components/schemas/IdpUserId' + firstName: + type: string + nullable: true + lastName: + type: string + nullable: true + email: + type: string + nullable: true + additionalProperties: false + CompanyUserDetails: + type: object + properties: + companyUserId: + type: string + format: uuid + created: + type: string + format: date-time + bpn: + type: array + items: + type: string + company: + type: string + status: + $ref: '#/components/schemas/UserStatusId' + assignedRoles: + type: array + items: + $ref: '#/components/schemas/CompanyUserAssignedRoleDetails' + firstName: + type: string + nullable: true + lastName: + type: string + nullable: true + email: + type: string + nullable: true + additionalProperties: false + CompanyWithAddressData: + type: object + properties: + companyId: + type: string + description: '' + format: uuid + name: + type: string + description: '' + shortName: + type: string + description: '' + bpn: + type: string + description: '' + city: + type: string + description: '' + streetName: + type: string + description: '' + countryAlpha2Code: + type: string + description: '' + region: + type: string + description: '' + streetAdditional: + type: string + description: '' + streetNumber: + type: string + description: '' + zipCode: + type: string + description: '' + companyRoles: + type: array + items: + $ref: '#/components/schemas/AgreementsRoleData' + description: '' + companyUser: + type: array + items: + $ref: '#/components/schemas/InvitedUserData' + description: '' + uniqueIds: + type: array + items: + $ref: '#/components/schemas/CompanyUniqueIdData' + description: '' + documents: + type: array + items: + $ref: '#/components/schemas/DocumentDetails' + description: '' + created: + type: string + description: '' + format: date-time + nullable: true + lastChanged: + type: string + description: '' + format: date-time + nullable: true + additionalProperties: false + description: '' + ConnectedCompanyData: + type: object + properties: + companyId: + type: string + format: uuid + companyName: + type: string + additionalProperties: false + ConnectorData: + type: object + properties: + name: + type: string + location: + type: string + id: + type: string + format: uuid + type: + $ref: '#/components/schemas/ConnectorTypeId' + status: + $ref: '#/components/schemas/ConnectorStatusId' + hostId: + type: string + format: uuid + nullable: true + hostCompanyName: + type: string + nullable: true + selfDescriptionDocumentId: + type: string + format: uuid + nullable: true + technicalUser: + $ref: '#/components/schemas/TechnicalUserData' + connectorUrl: + type: string + additionalProperties: false + ConnectorDataResponse: + type: object + properties: + meta: + $ref: '#/components/schemas/Metadata' + content: + type: array + items: + $ref: '#/components/schemas/ConnectorData' + additionalProperties: false + ConnectorEndPointData: + type: object + properties: + bpn: + type: string + description: '' + connectorEndpoint: + type: array + items: + type: string + description: '' + additionalProperties: false + description: '' + ConnectorMissingSdDocumentData: + type: object + properties: + connectorId: + type: string + format: uuid + name: + type: string + companyId: + type: string + format: uuid + companyName: + type: string + additionalProperties: false + ConnectorMissingSdDocumentDataResponse: + type: object + properties: + meta: + $ref: '#/components/schemas/Metadata' + content: + type: array + items: + $ref: '#/components/schemas/ConnectorMissingSdDocumentData' + additionalProperties: false + ConnectorResponseData: + type: object + properties: + id: + type: string + format: uuid + name: + type: string + additionalProperties: false + ConnectorStatusId: + enum: + - PENDING + - ACTIVE + - INACTIVE + type: string + ConnectorTypeId: + enum: + - COMPANY_CONNECTOR + - CONNECTOR_AS_A_SERVICE + type: string + ConnectorUpdateRequest: + type: object + properties: + connectorUrl: + type: string + additionalProperties: false + ConsentAgreementViewData: + type: object + properties: + agreementId: + type: string + format: uuid + agreementName: + type: string + documentId: + type: string + format: uuid + nullable: true + consentStatus: + $ref: '#/components/schemas/ConsentStatusId' + agreementLink: + type: string + nullable: true + mandatory: + type: boolean + additionalProperties: false + ConsentDetails: + type: object + properties: + agreementId: + type: string + format: uuid + consentStatus: + $ref: '#/components/schemas/ConsentStatusId' + additionalProperties: false + ConsentStatusId: + enum: + - ACTIVE + - INACTIVE + type: string + DateCreatedOrderFilter: + enum: + - ASC + - DESC + type: string + DimUrlsResponse: + type: object + properties: + trusted_issuer: + type: string + participant_id: + type: string + nullable: true + iatp_id: + type: string + nullable: true + did_resolver: + type: string + decentralIdentityManagementAuthUrl: + type: string + nullable: true + decentralIdentityManagementServiceUrl: + type: string + additionalProperties: false + DimWalletData: + type: object + properties: + did: + type: string + didDocument: { } + authenticationDetails: + $ref: '#/components/schemas/AuthenticationDetail' + additionalProperties: false + DocumentDetails: + type: object + properties: + documentId: + type: string + description: '' + format: uuid + documentType: + $ref: '#/components/schemas/DocumentTypeId' + additionalProperties: false + description: '' + DocumentTypeId: + enum: + - CX_FRAME_CONTRACT + - COMMERCIAL_REGISTER_EXTRACT + - APP_CONTRACT + - CONFORMITY_APPROVAL_REGISTRATION + - ADDITIONAL_DETAILS + - APP_LEADIMAGE + - APP_IMAGE + - SELF_DESCRIPTION + - APP_TECHNICAL_INFORMATION + - CONFORMITY_APPROVAL_CONNECTOR + - CONFORMITY_APPROVAL_BUSINESS_APPS + - CONFORMITY_APPROVAL_SERVICES + - SERVICE_LEADIMAGE + - PRESENTATION + - COMPANY_CERTIFICATE + type: string + ErrorDetails: + type: object + properties: + errorCode: + type: string + type: + type: string + message: + type: string + parameters: + type: array + items: + $ref: '#/components/schemas/ErrorParameter' + additionalProperties: false + ErrorMessageCode: + type: object + properties: + errorCode: + type: string + message: + type: string + additionalProperties: false + ErrorMessageType: + type: object + properties: + errorType: + type: string + errorMessages: + type: array + items: + $ref: '#/components/schemas/ErrorMessageCode' + additionalProperties: false + ErrorParameter: + type: object + properties: + name: + type: string + value: + type: string + additionalProperties: false + ErrorResponse: + type: object + properties: + type: + type: string + title: + type: string + status: + type: integer + format: int32 + errors: + type: object + additionalProperties: + type: array + items: + type: string + errorId: + type: string + details: + type: array + items: + $ref: '#/components/schemas/ErrorDetails' + nullable: true + additionalProperties: false + File: + type: object + additionalProperties: false + IActionResult: + type: object + additionalProperties: false + IamClientAuthMethod: + enum: + - JWT + - SECRET + - X509 + - SECRET_JWT + type: string + IamIdentityProviderClientAuthMethod: + enum: + - JWT + - SECRET_BASIC + - SECRET_POST + - SECRET_JWT + type: string + IamIdentityProviderProtocol: + enum: + - SAML + - OIDC + type: string + IamIdentityProviderSignatureAlgorithm: + enum: + - ES256 + - ES384 + - ES512 + - HS256 + - HS384 + - HS512 + - PS256 + - PS384 + - PS512 + - RS256 + - RS384 + - RS512 + type: string + IdentityProviderCategoryId: + enum: + - KEYCLOAK_OIDC + - KEYCLOAK_SAML + type: string + IdentityProviderDetails: + type: object + properties: + identityProviderId: + type: string + format: uuid + alias: + type: string + nullable: true + identityProviderCategoryId: + $ref: '#/components/schemas/IdentityProviderCategoryId' + identityProviderTypeId: + $ref: '#/components/schemas/IdentityProviderTypeId' + displayName: + type: string + nullable: true + redirectUrl: + type: string + nullable: true + enabled: + type: boolean + nullable: true + mappers: + type: array + items: + $ref: '#/components/schemas/IdentityProviderMapperModel' + nullable: true + oidc: + $ref: '#/components/schemas/IdentityProviderDetailsOidc' + saml: + $ref: '#/components/schemas/IdentityProviderDetailsSaml' + additionalProperties: false + IdentityProviderDetailsOidc: + type: object + properties: + metadataUrl: + type: string + nullable: true + authorizationUrl: + type: string + nullable: true + tokenUrl: + type: string + nullable: true + logoutUrl: + type: string + nullable: true + clientId: + type: string + nullable: true + hasClientSecret: + type: boolean + clientAuthMethod: + $ref: '#/components/schemas/IamIdentityProviderClientAuthMethod' + signatureAlgorithm: + $ref: '#/components/schemas/IamIdentityProviderSignatureAlgorithm' + additionalProperties: false + IdentityProviderDetailsSaml: + type: object + properties: + serviceProviderEntityId: + type: string + nullable: true + singleSignOnServiceUrl: + type: string + nullable: true + additionalProperties: false + IdentityProviderDetailsWithConnectedCompanies: + type: object + properties: + identityProviderId: + type: string + format: uuid + alias: + type: string + nullable: true + identityProviderCategoryId: + $ref: '#/components/schemas/IdentityProviderCategoryId' + identityProviderTypeId: + $ref: '#/components/schemas/IdentityProviderTypeId' + displayName: + type: string + nullable: true + redirectUrl: + type: string + nullable: true + enabled: + type: boolean + nullable: true + connectedCompanies: + type: array + items: + $ref: '#/components/schemas/ConnectedCompanyData' + additionalProperties: false + IdentityProviderEditableDetails: + type: object + properties: + displayName: + type: string + oidc: + $ref: '#/components/schemas/IdentityProviderEditableDetailsOidc' + saml: + $ref: '#/components/schemas/IdentityProviderEditableDetailsSaml' + additionalProperties: false + IdentityProviderEditableDetailsOidc: + type: object + properties: + metadataUrl: + type: string + clientAuthMethod: + $ref: '#/components/schemas/IamIdentityProviderClientAuthMethod' + clientId: + type: string + secret: + type: string + nullable: true + signatureAlgorithm: + $ref: '#/components/schemas/IamIdentityProviderSignatureAlgorithm' + additionalProperties: false + IdentityProviderEditableDetailsSaml: + type: object + properties: + serviceProviderEntityId: + type: string + singleSignOnServiceUrl: + type: string + additionalProperties: false + IdentityProviderMapperModel: + type: object + properties: + id: + type: string + name: + type: string + type: + $ref: '#/components/schemas/IdentityProviderMapperType' + config: + type: object + additionalProperties: + type: string + additionalProperties: false + IdentityProviderMapperType: + enum: + - HARDCODED_SESSION_ATTRIBUTE + - HARDCODED_ATTRIBUTE + - OIDC_ADVANCED_GROUP + - OIDC_USER_ATTRIBUTE + - OIDC_ADVANCED_ROLE + - OIDC_HARDCODED_ROLE + - OIDC_ROLE + - OIDC_USERNAME + - KEYCLOAK_OIDC_ROLE + type: string + IdentityProviderTypeId: + enum: + - OWN + - MANAGED + - SHARED + type: string + IdentityProviderUpdateStats: + type: object + properties: + updated: + type: integer + format: int32 + unchanged: + type: integer + format: int32 + error: + type: integer + format: int32 + total: + type: integer + format: int32 + errors: + type: array + items: + $ref: '#/components/schemas/UserUpdateError' + additionalProperties: false + IdentityProvidersDetails: + type: object + properties: + identityProviderId: + type: string + format: uuid + alias: + type: string + nullable: true + additionalProperties: false + IdpUserId: + type: object + properties: + idpDisplayName: + type: string + idpAlias: + type: string + userId: + type: string + additionalProperties: false + InvitedUserData: + type: object + properties: + userId: + type: string + description: '' + format: uuid + firstName: + type: string + description: '' + lastName: + type: string + description: '' + email: + type: string + description: '' + additionalProperties: false + description: '' + IssuerResponseData: + type: object + properties: + bpn: + type: string + status: + $ref: '#/components/schemas/IssuerResponseStatus' + message: + type: string + nullable: true + additionalProperties: false + IssuerResponseStatus: + enum: + - SUCCESSFUL + - UNSUCCESSFUL + type: string + LanguageData: + type: object + properties: + languageShortName: + type: string + languageLongNames: + type: array + items: + $ref: '#/components/schemas/LanguageDataLongName' + additionalProperties: false + LanguageDataLongName: + type: object + properties: + language: + type: string + longDescription: + type: string + additionalProperties: false + LicenseTypeData: + type: object + properties: + licenseTypeId: + type: integer + format: int32 + name: + type: string + additionalProperties: false + MailData: + type: object + properties: + requester: + type: string + format: uuid + template: + type: string + mailParameters: + type: array + items: + $ref: '#/components/schemas/MailParameter' + additionalProperties: false + MailParameter: + type: object + properties: + key: + type: string + value: + type: string + additionalProperties: false + Metadata: + type: object + properties: + totalElements: + type: integer + format: int32 + totalPages: + type: integer + format: int32 + page: + type: integer + format: int32 + contentSize: + type: integer + format: int32 + additionalProperties: false + NoContentResult: + type: object + properties: + statusCode: + type: integer + format: int32 + additionalProperties: false + OfferResponseData: + type: object + properties: + id: + type: string + format: uuid + type: + $ref: '#/components/schemas/OfferTypeId' + name: + type: string + nullable: true + subscriptionId: + type: string + format: uuid + nullable: true + additionalProperties: false + OfferRoleInfo: + type: object + properties: + roleId: + type: string + format: uuid + role: + type: string + description: + type: string + additionalProperties: false + OfferRoleInfos: + type: object + properties: + offerId: + type: string + format: uuid + roles: + type: array + items: + $ref: '#/components/schemas/OfferRoleInfo' + additionalProperties: false + OfferTypeId: + enum: + - APP + - CORE_COMPONENT + - SERVICE + type: string + OnboardingServiceProviderCallbackRequestData: + type: object + properties: + callbackUrl: + type: string + authUrl: + type: string + clientId: + type: string + clientSecret: + type: string + additionalProperties: false + OperatorBpnData: + type: object + properties: + operatorName: + type: string + bpn: + type: string + additionalProperties: false + OwnCompanyUserEditableDetails: + type: object + properties: + firstName: + pattern: ^.+$ + type: string + default: string + nullable: true + lastName: + pattern: ^.+$ + type: string + default: string + nullable: true + email: + type: string + format: email + default: string + nullable: true + additionalProperties: false + PartnerRegistrationData: + type: object + properties: + name: + type: string + city: + type: string + streetName: + type: string + countryAlpha2Code: + type: string + bpn: + type: string + nullable: true + shortName: + type: string + nullable: true + region: + type: string + nullable: true + streetAdditional: + type: string + nullable: true + streetNumber: + type: string + nullable: true + zipCode: + type: string + nullable: true + uniqueIds: + type: array + items: + $ref: '#/components/schemas/CompanyUniqueIdData' + externalId: + type: string + userDetails: + type: array + items: + $ref: '#/components/schemas/UserDetailData' + companyRoles: + type: array + items: + $ref: '#/components/schemas/CompanyRoleId' + additionalProperties: false + ProcessStepTypeId: + enum: + - MANUAL_VERIFY_REGISTRATION + - CREATE_BUSINESS_PARTNER_NUMBER_PUSH + - CREATE_BUSINESS_PARTNER_NUMBER_PULL + - CREATE_BUSINESS_PARTNER_NUMBER_MANUAL + - CREATE_IDENTITY_WALLET + - RETRIGGER_IDENTITY_WALLET + - START_CLEARING_HOUSE + - RETRIGGER_CLEARING_HOUSE + - AWAIT_CLEARING_HOUSE_RESPONSE + - START_SELF_DESCRIPTION_LP + - RETRIGGER_SELF_DESCRIPTION_LP + - ACTIVATE_APPLICATION + - RETRIGGER_BUSINESS_PARTNER_NUMBER_PUSH + - RETRIGGER_BUSINESS_PARTNER_NUMBER_PULL + - MANUAL_TRIGGER_OVERRIDE_CLEARING_HOUSE + - START_OVERRIDE_CLEARING_HOUSE + - AWAIT_SELF_DESCRIPTION_LP_RESPONSE + - MANUAL_DECLINE_APPLICATION + - CREATE_DIM_WALLET + - AWAIT_DIM_RESPONSE_RESPONSE + - RETRIGGER_CREATE_DIM_WALLET + - VALIDATE_DID_DOCUMENT + - RETRIGGER_VALIDATE_DID_DOCUMENT + - REQUEST_BPN_CREDENTIAL + - AWAIT_BPN_CREDENTIAL_RESPONSE + - REQUEST_MEMBERSHIP_CREDENTIAL + - AWAIT_MEMBERSHIP_CREDENTIAL_RESPONSE + - TRANSMIT_BPN_DID + - RETRIGGER_TRANSMIT_DID_BPN + - RETRIGGER_REQUEST_BPN_CREDENTIAL + - RETRIGGER_REQUEST_MEMBERSHIP_CREDENTIAL + - TRIGGER_PROVIDER + - AWAIT_START_AUTOSETUP + - OFFERSUBSCRIPTION_CLIENT_CREATION + - SINGLE_INSTANCE_SUBSCRIPTION_DETAILS_CREATION + - OFFERSUBSCRIPTION_TECHNICALUSER_CREATION + - ACTIVATE_SUBSCRIPTION + - TRIGGER_PROVIDER_CALLBACK + - RETRIGGER_PROVIDER + - RETRIGGER_OFFERSUBSCRIPTION_CLIENT_CREATION + - RETRIGGER_OFFERSUBSCRIPTION_TECHNICALUSER_CREATION + - RETRIGGER_PROVIDER_CALLBACK + - MANUAL_TRIGGER_ACTIVATE_SUBSCRIPTION + - OFFERSUBSCRIPTION_CREATE_DIM_TECHNICAL_USER + - RETRIGGER_OFFERSUBSCRIPTION_CREATE_DIM_TECHNICAL_USER + - SYNCHRONIZE_USER + - RETRIGGER_SYNCHRONIZE_USER + - TRIGGER_CALLBACK_OSP_SUBMITTED + - TRIGGER_CALLBACK_OSP_APPROVED + - TRIGGER_CALLBACK_OSP_DECLINED + - RETRIGGER_CALLBACK_OSP_SUBMITTED + - RETRIGGER_CALLBACK_OSP_APPROVED + - RETRIGGER_CALLBACK_OSP_DECLINED + - MANUAL_DECLINE_OSP + - REMOVE_KEYCLOAK_USERS + - RETRIGGER_REMOVE_KEYCLOAK_USERS + - SEND_MAIL + - RETRIGGER_SEND_MAIL + - INVITATION_CREATE_CENTRAL_IDP + - INVITATION_CREATE_SHARED_IDP_SERVICE_ACCOUNT + - INVITATION_ADD_REALM_ROLE + - INVITATION_CREATE_SHARED_REALM + - INVITATION_CREATE_CENTRAL_IDP_ORG_MAPPER + - INVITATION_UPDATE_CENTRAL_IDP_URLS + - INVITATION_CREATE_SHARED_CLIENT + - INVITATION_ENABLE_CENTRAL_IDP + - INVITATION_CREATE_DATABASE_IDP + - INVITATION_CREATE_USER + - RETRIGGER_INVITATION_CREATE_CENTRAL_IDP + - RETRIGGER_INVITATION_CREATE_SHARED_IDP_SERVICE_ACCOUNT + - RETRIGGER_INVITATION_ADD_REALM_ROLE + - RETRIGGER_INVITATION_CREATE_SHARED_REALM + - RETRIGGER_INVITATION_CREATE_CENTRAL_IDP_ORG_MAPPER + - RETRIGGER_INVITATION_UPDATE_CENTRAL_IDP_URLS + - RETRIGGER_INVITATION_CREATE_SHARED_CLIENT + - RETRIGGER_INVITATION_ENABLE_CENTRAL_IDP + - RETRIGGER_INVITATION_CREATE_USER + - RETRIGGER_INVITATION_CREATE_DATABASE_IDP + - CREATE_DIM_TECHNICAL_USER + - RETRIGGER_CREATE_DIM_TECHNICAL_USER + - AWAIT_CREATE_DIM_TECHNICAL_USER_RESPONSE + - DELETE_DIM_TECHNICAL_USER + - AWAIT_DELETE_DIM_TECHNICAL_USER_RESPONSE + - RETRIGGER_DELETE_DIM_TECHNICAL_USER + - DELETE_CENTRAL_USER + - RETRIGGER_DELETE_CENTRAL_USER + - DELETE_COMPANYUSER_ASSIGNED_PROCESS + - DELETE_IDP_SHARED_REALM + - RETRIGGER_DELETE_IDP_SHARED_REALM + - DELETE_IDP_SHARED_SERVICEACCOUNT + - RETRIGGER_DELETE_IDP_SHARED_SERVICEACCOUNT + - DELETE_CENTRAL_IDENTITY_PROVIDER + - RETRIGGER_DELETE_CENTRAL_IDENTITY_PROVIDER + - DELETE_IDENTITY_PROVIDER + - SELF_DESCRIPTION_CONNECTOR_CREATION + - SELF_DESCRIPTION_COMPANY_CREATION + - RETRIGGER_SELF_DESCRIPTION_CONNECTOR_CREATION + - RETRIGGER_SELF_DESCRIPTION_COMPANY_CREATION + type: string + ProviderDetailData: + type: object + properties: + url: + type: string + nullable: true + callbackUrl: + type: string + nullable: true + additionalProperties: false + ProviderDetailReturnData: + type: object + properties: + id: + type: string + format: uuid + nullable: true + companyId: + type: string + format: uuid + url: + type: string + nullable: true + additionalProperties: false + RegistrationDeclineData: + type: object + properties: + comment: + type: string + additionalProperties: false + SelfDescriptionResponseData: + type: object + properties: + externalId: + type: string + format: uuid + status: + $ref: '#/components/schemas/SelfDescriptionStatus' + message: + type: string + nullable: true + selfDescriptionDocument: + type: string + nullable: true + additionalProperties: false + SelfDescriptionStatus: + enum: + - Confirm + - Failed + type: string + ServiceAccountConnectorOfferData: + type: object + properties: + serviceAccountId: + type: string + format: uuid + clientId: + type: string + nullable: true + name: + type: string + description: + type: string + authenticationType: + $ref: '#/components/schemas/IamClientAuthMethod' + roles: + type: array + items: + $ref: '#/components/schemas/UserRoleData' + companyServiceAccountTypeId: + $ref: '#/components/schemas/CompanyServiceAccountTypeId' + usertype: + $ref: '#/components/schemas/CompanyServiceAccountKindId' + authenticationServiceUrl: + type: string + status: + $ref: '#/components/schemas/UserStatusId' + secret: + type: string + nullable: true + connector: + $ref: '#/components/schemas/ConnectorResponseData' + offer: + $ref: '#/components/schemas/OfferResponseData' + LastEditorName: + type: string + nullable: true + LastEditorCompanyName: + type: string + nullable: true + additionalProperties: false + ServiceAccountCreationInfo: + type: object + properties: + name: + type: string + description: + type: string + authenticationType: + $ref: '#/components/schemas/IamClientAuthMethod' + roleIds: + type: array + items: + type: string + format: uuid + additionalProperties: false + ServiceAccountDetails: + type: object + properties: + serviceAccountId: + type: string + format: uuid + clientId: + type: string + nullable: true + name: + type: string + description: + type: string + status: + $ref: '#/components/schemas/UserStatusId' + authenticationType: + $ref: '#/components/schemas/IamClientAuthMethod' + roles: + type: array + items: + $ref: '#/components/schemas/UserRoleData' + companyServiceAccountTypeId: + $ref: '#/components/schemas/CompanyServiceAccountTypeId' + secret: + type: string + nullable: true + subscriptionId: + type: string + format: uuid + nullable: true + additionalProperties: false + ServiceAccountEditableDetails: + type: object + properties: + serviceAccountId: + type: string + format: uuid + name: + type: string + description: + type: string + authenticationType: + $ref: '#/components/schemas/IamClientAuthMethod' + additionalProperties: false + TechnicalUserData: + type: object + properties: + id: + type: string + format: uuid + name: + type: string + clientId: + type: string + nullable: true + description: + type: string + additionalProperties: false + UniqueIdentifierId: + enum: + - COMMERCIAL_REG_NUMBER + - VAT_ID + - LEI_CODE + - VIES + - EORI + type: string + UrlInformation: + type: object + properties: + httpMethods: + type: string + url: + type: string + additionalProperties: false + UseCaseData: + type: object + properties: + useCaseId: + type: string + format: uuid + name: + type: string + shortname: + type: string + additionalProperties: false + UseCaseIdDetails: + type: object + properties: + useCaseId: + type: string + format: uuid + additionalProperties: false + UserCreationError: + type: object + properties: + line: + type: integer + format: int32 + message: + type: string + details: + type: array + items: + $ref: '#/components/schemas/ErrorDetails' + additionalProperties: false + UserCreationInfo: + type: object + properties: + userName: + type: string + nullable: true + email: + type: string + firstName: + type: string + nullable: true + lastName: + type: string + nullable: true + roles: + type: array + items: + type: string + additionalProperties: false + UserCreationInfoIdp: + type: object + properties: + firstName: + type: string + lastName: + type: string + email: + type: string + roles: + type: array + items: + type: string + userName: + type: string + userId: + type: string + additionalProperties: false + UserCreationStats: + type: object + properties: + created: + type: integer + format: int32 + error: + type: integer + format: int32 + total: + type: integer + format: int32 + errors: + type: array + items: + $ref: '#/components/schemas/UserCreationError' + additionalProperties: false + UserDetailData: + type: object + properties: + identityProviderId: + type: string + format: uuid + nullable: true + providerId: + type: string + username: + type: string + firstName: + type: string + lastName: + type: string + email: + type: string + additionalProperties: false + UserIdentityProviderData: + type: object + properties: + companyUserId: + type: string + format: uuid + firstName: + type: string + nullable: true + lastName: + type: string + nullable: true + email: + type: string + nullable: true + identityProviders: + type: array + items: + $ref: '#/components/schemas/UserIdentityProviderLinkData' + additionalProperties: false + UserIdentityProviderLinkData: + type: object + properties: + identityProviderId: + type: string + format: uuid + userId: + type: string + userName: + type: string + additionalProperties: false + UserLinkData: + type: object + properties: + userId: + type: string + userName: + type: string + additionalProperties: false + UserRoleData: + type: object + properties: + roleId: + type: string + format: uuid + clientId: + type: string + roleName: + type: string + additionalProperties: false + UserRoleWithDescription: + type: object + properties: + roleId: + type: string + format: uuid + roleName: + type: string + roleDescription: + type: string + nullable: true + additionalProperties: false + UserRoleWithId: + type: object + properties: + companyUserRoleText: + type: string + companyUserRoleId: + type: string + format: uuid + additionalProperties: false + UserStatusId: + enum: + - ACTIVE + - INACTIVE + - DELETED + - PENDING + - PENDING_DELETION + type: string + UserUpdateError: + type: object + properties: + line: + type: integer + format: int32 + message: + type: string + details: + type: array + items: + $ref: '#/components/schemas/ErrorDetails' + additionalProperties: false + securitySchemes: + Bearer: + type: apiKey + description: "JWT Authorization header using the Bearer scheme. \r\n\r\n Enter 'Bearer' [space] and then your token in the text input below.\r\n\r\nExample: \"Bearer 12345abcdef\"" + name: Authorization + in: header +security: + - Bearer: [ ] \ No newline at end of file diff --git a/src/administration/Administration.Service/Program.cs b/src/administration/Administration.Service/Program.cs index 55a4fcc492..20067c6ed1 100644 --- a/src/administration/Administration.Service/Program.cs +++ b/src/administration/Administration.Service/Program.cs @@ -21,7 +21,6 @@ using Org.Eclipse.TractusX.Portal.Backend.Administration.Service.DependencyInjection; using Org.Eclipse.TractusX.Portal.Backend.Administration.Service.ErrorHandling; using Org.Eclipse.TractusX.Portal.Backend.Bpdm.Library.DependencyInjection; -using Org.Eclipse.TractusX.Portal.Backend.Framework.ErrorHandling; using Org.Eclipse.TractusX.Portal.Backend.Framework.ErrorHandling.Service; using Org.Eclipse.TractusX.Portal.Backend.Framework.Models; using Org.Eclipse.TractusX.Portal.Backend.IssuerComponent.Library.DependencyInjection; @@ -37,8 +36,9 @@ using Org.Eclipse.TractusX.Portal.Backend.Provisioning.Library.Service; using Org.Eclipse.TractusX.Portal.Backend.Web.Initialization; using Org.Eclipse.TractusX.Portal.Backend.Web.PublicInfos.DependencyInjection; +using System.Reflection; -var VERSION = "v2"; +var VERSION = $"v{Assembly.GetExecutingAssembly().GetName().Version!.ToString(3)}"; await WebAppHelper .BuildAndRunWebApplicationAsync(args, "administration", VERSION, builder => diff --git a/src/administration/Administration.Service/appsettings.Swagger.json b/src/administration/Administration.Service/appsettings.Swagger.json new file mode 100644 index 0000000000..ea91fbfd8e --- /dev/null +++ b/src/administration/Administration.Service/appsettings.Swagger.json @@ -0,0 +1,433 @@ +{ + "JwtBearerOptions": { + "RequireHttpsMetadata": true, + "MetadataAddress": "", + "SaveToken": true, + "TokenValidationParameters": { + "ValidateIssuer": true, + "ValidIssuer": "", + "ValidateIssuerSigningKey": true, + "ValidAudience": "", + "ValidateAudience": true, + "ValidateLifetime": true, + "ClockSkew": "00:05:00" + } + }, + "Provisioning": { + "CentralRealm": "test", + "CentralRealmId": "", + "IdpPrefix": "idp", + "MappedBpnAttribute": "bpn", + "MappedCompanyAttribute": "organisation", + "UserNameMapperTemplate": "${ALIAS}.${CLAIM.sub}", + "CentralIdentityProvider": { + "providerId": "keycloak-oidc", + "enabled": false, + "updateProfileFirstLoginMode": "on", + "trustEmail": "", + "storeToken": "", + "addReadTokenRoleOnCreate": "", + "authenticateByDefault": false, + "linkOnly": "", + "postBrokerLoginFlowAlias": "", + "firstBrokerLoginFlowAlias": "first broker login", + "config": { + "clientId": "", + "acceptsPromptNoneForwardFromClient": "", + "authorizationUrl": "https://null", + "backchannelSupported": "", + "clientAssertionSigningAlg": "RS256", + "clientAuthMethod": "private_key_jwt", + "disableUserInfo": "", + "hideOnLoginPage": "true", + "loginHint": "", + "pkceEnabled": "", + "syncMode": "FORCE", + "tokenUrl": "https://null", + "uiLocales": "", + "useJwksUrl": "true", + "validateSignature": "true", + "jwksUrl": "https://null" + } + }, + "ClientProtocolMapper": { + "protocol": "openid-connect", + "name": "BPN", + "_ProtocolMapper": "oidc-usermodel-attribute-mapper", + "config": { + "userAttribute": "bpn", + "claimName": "bpn", + "jsonTypelabel": "String", + "idTokenClaim": "true", + "accessTokenClaim": "true", + "userInfoTokenClaim": "true", + "attributeName": "true", + "multivalued": "" + } + }, + "OidcIdentityProvider": { + "providerId": "oidc", + "enabled": false, + "updateProfileFirstLoginMode": "on", + "trustEmail": "", + "storeToken": "", + "addReadTokenRoleOnCreate": "", + "authenticateByDefault": false, + "linkOnly": "", + "postBrokerLoginFlowAlias": "", + "firstBrokerLoginFlowAlias": "first broker login", + "config": { + "clientId": "", + "acceptsPromptNoneForwardFromClient": "", + "authorizationUrl": "https://null", + "backchannelSupported": "", + "clientAssertionSigningAlg": "RS256", + "clientAuthMethod": "client_secret_basic", + "disableUserInfo": "", + "hideOnLoginPage": "true", + "loginHint": "", + "pkceEnabled": "", + "syncMode": "FORCE", + "tokenUrl": "https://null", + "uiLocales": "", + "useJwksUrl": "false", + "validateSignature": "true", + "jwksUrl": "" + } + }, + "SamlIdentityProvider": { + "providerId": "saml", + "enabled": false, + "updateProfileFirstLoginMode": "on", + "trustEmail": "", + "storeToken": "", + "addReadTokenRoleOnCreate": "", + "authenticateByDefault": false, + "linkOnly": "", + "postBrokerLoginFlowAlias": "", + "firstBrokerLoginFlowAlias": "first broker login", + "config":{ + "useJwksUrl":"false", + "syncMode":"FORCE", + "nameIDPolicyFormat":"urn:oasis:names:tc:SAML:2.0:nameid-format:persistent", + "principalType":"SUBJECT", + "signatureAlgorithm":"RSA_SHA256", + "xmlSigKeyInfoKeyNameTransformer":"KEY_ID", + "allowCreate":"true", + "entityId":"https://example.org/iamcentral/auth/realms/CX-Central", + "authnContextComparisonType":"exact", + "hideOnLoginPage":"", + "backchannelSupported":"", + "postBindingResponse":"", + "postBindingAuthnRequest":"", + "postBindingLogout":"", + "wantAuthnRequestsSigned":"", + "wantAssertionsSigned":"", + "wantAssertionsEncrypted":"", + "forceAuthn":"", + "validateSignature":"", + "signSpMetadata":"", + "loginHint":"", + "singleSignOnServiceUrl":"https://null", + "allowedClockSkew":"", + "attributeConsumingServiceIndex":"" + } + }, + "SharedRealmClient": { + "clientId": "", + "enabled": true, + "clientAuthenticatorType": "client-jwt", + "redirectUris": [ + "https://null" + ], + "webOrigins": [ + "+" + ], + "publicClient": false, + "protocol": "openid-connect", + "attributes": { + "jwks.url": "https://null", + "use.jwks.url": "true", + "token.endpoint.auth.signing.alg": "RS256" + } + }, + "SharedRealm": { + "enabled": true, + "resetPasswordAllowed": true, + "bruteForceProtected": true, + "failureFactor": 10, + "passwordPolicy": "length(15) and forceExpiredPasswordChange(90) and lowerCase(1) and digits(1) and notUsername(undefined) and notEmail(undefined)", + "smtpServer": { + "port": "", + "host": "", + "ssl": "", + "starttls": "", + "auth": "", + "from": "", + "replyTo": "", + "user": "", + "password": "" + } + }, + "SharedUser": { + "enabled": true, + "emailVerified": true, + "requiredActions": [ + "UPDATE_PASSWORD" + ] + }, + "CentralUser": { + "enabled": true, + "emailVerified": true + }, + "ServiceAccountClientPrefix": "sa", + "ServiceAccountClient": { + "clientId": "", + "enabled": true, + "redirectUris": [ + "https://null" + ], + "webOrigins": [ + "+" + ], + "directAccessGrantsEnabled": false, + "serviceAccountsEnabled": true, + "standardFlowEnabled": false, + "publicClient": false, + "protocol": "openid-connect" + }, + "DimUserRoles": [ + { + "ClientId": "technical_roles_management", + "UserRoleNames": [ + "Identity Wallet Management" + ] + } + ] + }, + "ServiceAccount": { + "ClientId": "test", + "EncryptionConfigIndex": 1, + "EncryptionConfigs": [ + { + "Index": 1, + "EncryptionKey": "deadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeef", + "CipherMode": "CBC", + "PaddingMode": "PKCS7" + } + ], + "AuthServiceUrl": "https://auth.test/auth" + }, + "Connectors": { + "MaxPageSize": 20, + "ValidCertificationContentTypes": [ + "application/x-pem-file", + "application/x-x509-ca-cert", + "application/pkix-cert" + ] + }, + "Registration": { + "ApplicationsMaxPageSize": 20, + "DocumentTypeIds": [ + "COMMERCIAL_REGISTER_EXTRACT" + ], + "HelpAddress": "https://test.com/help" + }, + "UserManagement": { + "ApplicationsMaxPageSize": 20, + "CompanyUserStatusIds": ["ACTIVE","INACTIVE"], + "PasswordReset": { + "NoOfHours": 24, + "MaxNoOfReset": 10 + }, + "Portal": { + "KeycloakClientID": "test", + "BasePortalAddress": "https://test-portal.azurewebsites.net" + }, + "UserAdminRoles": [ + { + "ClientId": "Cl2-CX-Portal", + "UserRoleNames": [ + "Company Admin", + "IT Admin" + ] + } + ] + }, + "ApplicationChecklist": { + "Custodian": { + "MembershipErrorMessage": "Credential of type MembershipCredential is already existing", + "Username": "test", + "Password": "test", + "ClientId": "test", + "GrantType": "test", + "ClientSecret": "test", + "Scope": "test", + "TokenAddress": "test", + "BaseAddress": "test" + }, + "Bpdm": { + "Username": "test", + "Password": "test", + "ClientId": "test", + "GrantType": "test", + "ClientSecret": "test", + "Scope": "test", + "TokenAddress": "test", + "BaseAddress": "test", + "UseDimWallet": false, + "StartSharingStateAsReady": false + }, + "Clearinghouse": { + "Username": "test", + "Password": "test", + "ClientId": "test", + "GrantType": "test", + "ClientSecret": "test", + "Scope": "test", + "TokenAddress": "test", + "BaseAddress": "test", + "UseDimWallet": false, + "RetriggerEndClearinghouseIntervalInDays": 30 + }, + "SdFactory":{ + "Username": "test", + "Password": "test", + "ClientId": "test", + "GrantType": "test", + "ClientSecret": "test", + "Scope": "test", + "TokenAddress": "test", + "SdFactoryUrl": "test", + "SdFactoryIssuerBpn": "test" + }, + "Dim": { + "Username": "test", + "Password": "test", + "ClientId": "test", + "GrantType": "test", + "ClientSecret": "test", + "Scope": "test", + "TokenAddress": "test", + "BaseAddress": "test", + "UniversalResolverAddress": "test", + "DidDocumentBaseLocation": "test", + "MaxValidationTimeInDays": 7, + "EncryptionConfigIndex": 1, + "EncryptionConfigs": [ + { + "Index": 1, + "EncryptionKey": "deadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeef", + "CipherMode": "CBC", + "PaddingMode": "PKCS7" + } + ] + }, + "IssuerComponent": { + "Username": "test", + "Password": "test", + "ClientId": "test", + "GrantType": "test", + "ClientSecret": "test", + "Scope": "test", + "TokenAddress": "test", + "BaseAddress": "test", + "CallbackBaseUrl": "test", + "EncryptionConfigIndex": 1, + "EncryptionConfigs": [ + { + "Index": 1, + "EncryptionKey": "deadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeef", + "CipherMode": "CBC", + "PaddingMode": "PKCS7" + } + ] + }, + "BpnDidResolver": { + "BaseAddress": "test", + "ApiKey": "test" + } + }, + "IdentityProviderAdmin": { + "CSVSettings" : { + "FileName": "test", + "ContentType": "test", + "Charset": "UTF-8", + "Separator": "test", + "HeaderUserId": "test", + "HeaderFirstName": "test", + "HeaderLastName": "test", + "HeaderEmail": "test", + "HeaderProviderAlias": "test", + "HeaderProviderUserId": "test", + "HeaderProviderUserName": "test" + }, + "DeactivateIdpRoles": [ + { + "ClientId": "test", + "UserRoleNames": ["Company Admin"] + } + ], + "DeleteIdpRoles": [ + { + "ClientId": "test", + "UserRoleNames": ["Company Admin"] + } + ] + }, + "Document": { + "FrameDocumentTypeIds": [ + "CX_FRAME_CONTRACT" + ] + }, + "Seeding": { + "TestDataEnvironments": [ + "test" + ] + }, + "CompanyData": { + "UseCaseParticipationMediaTypes": [ + "PDF" + ], + "SsiCertificateMediaTypes": [ + "PDF" + ], + "CompanyCertificateMediaTypes": [ + "PDF" + ], + "DecentralIdentityManagementAuthUrl": "https://auth.test/auth", + "IssuerDid": "did:web:test", + "BpnDidResolverUrl": "https://example.org/bdrs" + }, + "Network2Network": { + "InitialRoles": [ + { + "ClientId": "Cl2-CX-Portal", + "UserRoleNames": [ + "Company Admin" + ] + } + ] + }, + "OnboardingServiceProvider": { + "Username": "test", + "Password": "test", + "ClientId": "test", + "GrantType": "test", + "ClientSecret": "test", + "Scope": "test", + "TokenAddress": "test", + "EncryptionConfigIndex": 1, + "EncryptionConfigs": [ + { + "Index": 1, + "EncryptionKey": "deadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeef", + "CipherMode": "CBC", + "PaddingMode": "PKCS7" + } + ] + }, + "BpnAccess": { + "BaseAddress": "https://test.example.org" + } +} diff --git a/src/framework/Framework.Async/Directory.Build.props b/src/framework/Framework.Async/Directory.Build.props index e909f97822..e23d9cab37 100644 --- a/src/framework/Framework.Async/Directory.Build.props +++ b/src/framework/Framework.Async/Directory.Build.props @@ -19,7 +19,7 @@ - 2.8.0 + 2.9.0 diff --git a/src/framework/Framework.Cors/Directory.Build.props b/src/framework/Framework.Cors/Directory.Build.props index e909f97822..e23d9cab37 100644 --- a/src/framework/Framework.Cors/Directory.Build.props +++ b/src/framework/Framework.Cors/Directory.Build.props @@ -19,7 +19,7 @@ - 2.8.0 + 2.9.0 diff --git a/src/framework/Framework.DBAccess/Directory.Build.props b/src/framework/Framework.DBAccess/Directory.Build.props index e909f97822..e23d9cab37 100644 --- a/src/framework/Framework.DBAccess/Directory.Build.props +++ b/src/framework/Framework.DBAccess/Directory.Build.props @@ -19,7 +19,7 @@ - 2.8.0 + 2.9.0 diff --git a/src/framework/Framework.DateTimeProvider/Directory.Build.props b/src/framework/Framework.DateTimeProvider/Directory.Build.props index e909f97822..e23d9cab37 100644 --- a/src/framework/Framework.DateTimeProvider/Directory.Build.props +++ b/src/framework/Framework.DateTimeProvider/Directory.Build.props @@ -19,7 +19,7 @@ - 2.8.0 + 2.9.0 diff --git a/src/framework/Framework.DependencyInjection/Directory.Build.props b/src/framework/Framework.DependencyInjection/Directory.Build.props index e909f97822..e23d9cab37 100644 --- a/src/framework/Framework.DependencyInjection/Directory.Build.props +++ b/src/framework/Framework.DependencyInjection/Directory.Build.props @@ -19,7 +19,7 @@ - 2.8.0 + 2.9.0 diff --git a/src/framework/Framework.ErrorHandling.Controller/Directory.Build.props b/src/framework/Framework.ErrorHandling.Controller/Directory.Build.props index e909f97822..e23d9cab37 100644 --- a/src/framework/Framework.ErrorHandling.Controller/Directory.Build.props +++ b/src/framework/Framework.ErrorHandling.Controller/Directory.Build.props @@ -19,7 +19,7 @@ - 2.8.0 + 2.9.0 diff --git a/src/framework/Framework.ErrorHandling.Web/Directory.Build.props b/src/framework/Framework.ErrorHandling.Web/Directory.Build.props index e909f97822..e23d9cab37 100644 --- a/src/framework/Framework.ErrorHandling.Web/Directory.Build.props +++ b/src/framework/Framework.ErrorHandling.Web/Directory.Build.props @@ -19,7 +19,7 @@ - 2.8.0 + 2.9.0 diff --git a/src/framework/Framework.ErrorHandling/Directory.Build.props b/src/framework/Framework.ErrorHandling/Directory.Build.props index e909f97822..e23d9cab37 100644 --- a/src/framework/Framework.ErrorHandling/Directory.Build.props +++ b/src/framework/Framework.ErrorHandling/Directory.Build.props @@ -19,7 +19,7 @@ - 2.8.0 + 2.9.0 diff --git a/src/framework/Framework.HttpClientExtensions/Directory.Build.props b/src/framework/Framework.HttpClientExtensions/Directory.Build.props index e909f97822..e23d9cab37 100644 --- a/src/framework/Framework.HttpClientExtensions/Directory.Build.props +++ b/src/framework/Framework.HttpClientExtensions/Directory.Build.props @@ -19,7 +19,7 @@ - 2.8.0 + 2.9.0 diff --git a/src/framework/Framework.IO/Directory.Build.props b/src/framework/Framework.IO/Directory.Build.props index e909f97822..e23d9cab37 100644 --- a/src/framework/Framework.IO/Directory.Build.props +++ b/src/framework/Framework.IO/Directory.Build.props @@ -19,7 +19,7 @@ - 2.8.0 + 2.9.0 diff --git a/src/framework/Framework.Linq/Directory.Build.props b/src/framework/Framework.Linq/Directory.Build.props index e909f97822..e23d9cab37 100644 --- a/src/framework/Framework.Linq/Directory.Build.props +++ b/src/framework/Framework.Linq/Directory.Build.props @@ -19,7 +19,7 @@ - 2.8.0 + 2.9.0 diff --git a/src/framework/Framework.Logging/Directory.Build.props b/src/framework/Framework.Logging/Directory.Build.props index e909f97822..e23d9cab37 100644 --- a/src/framework/Framework.Logging/Directory.Build.props +++ b/src/framework/Framework.Logging/Directory.Build.props @@ -19,7 +19,7 @@ - 2.8.0 + 2.9.0 diff --git a/src/framework/Framework.Models/Directory.Build.props b/src/framework/Framework.Models/Directory.Build.props index e909f97822..e23d9cab37 100644 --- a/src/framework/Framework.Models/Directory.Build.props +++ b/src/framework/Framework.Models/Directory.Build.props @@ -19,7 +19,7 @@ - 2.8.0 + 2.9.0 diff --git a/src/framework/Framework.Seeding/Directory.Build.props b/src/framework/Framework.Seeding/Directory.Build.props index e909f97822..e23d9cab37 100644 --- a/src/framework/Framework.Seeding/Directory.Build.props +++ b/src/framework/Framework.Seeding/Directory.Build.props @@ -19,7 +19,7 @@ - 2.8.0 + 2.9.0 diff --git a/src/framework/Framework.Swagger/Directory.Build.props b/src/framework/Framework.Swagger/Directory.Build.props index e909f97822..e23d9cab37 100644 --- a/src/framework/Framework.Swagger/Directory.Build.props +++ b/src/framework/Framework.Swagger/Directory.Build.props @@ -19,7 +19,7 @@ - 2.8.0 + 2.9.0 diff --git a/src/framework/Framework.Swagger/Framework.Swagger.csproj b/src/framework/Framework.Swagger/Framework.Swagger.csproj index 0ec4214d8b..581b91267f 100644 --- a/src/framework/Framework.Swagger/Framework.Swagger.csproj +++ b/src/framework/Framework.Swagger/Framework.Swagger.csproj @@ -62,7 +62,7 @@ - + diff --git a/src/framework/Framework.Token/Directory.Build.props b/src/framework/Framework.Token/Directory.Build.props index e909f97822..e23d9cab37 100644 --- a/src/framework/Framework.Token/Directory.Build.props +++ b/src/framework/Framework.Token/Directory.Build.props @@ -19,7 +19,7 @@ - 2.8.0 + 2.9.0 diff --git a/src/framework/Framework.Web/Directory.Build.props b/src/framework/Framework.Web/Directory.Build.props index e909f97822..e23d9cab37 100644 --- a/src/framework/Framework.Web/Directory.Build.props +++ b/src/framework/Framework.Web/Directory.Build.props @@ -19,7 +19,7 @@ - 2.8.0 + 2.9.0 diff --git a/src/marketplace/Apps.Service/.config/dotnet-tools.json b/src/marketplace/Apps.Service/.config/dotnet-tools.json new file mode 100644 index 0000000000..ba9187cc34 --- /dev/null +++ b/src/marketplace/Apps.Service/.config/dotnet-tools.json @@ -0,0 +1,13 @@ +{ + "version": 1, + "isRoot": true, + "tools": { + "swashbuckle.aspnetcore.cli": { + "version": "6.8.0", + "commands": [ + "swagger" + ], + "rollForward": false + } + } +} \ No newline at end of file diff --git a/src/marketplace/Apps.Service/Apps.Service.csproj b/src/marketplace/Apps.Service/Apps.Service.csproj index 084d6c2092..530ff4f559 100644 --- a/src/marketplace/Apps.Service/Apps.Service.csproj +++ b/src/marketplace/Apps.Service/Apps.Service.csproj @@ -28,6 +28,17 @@ ..\..\.. True + + + + + + + + + + + all @@ -64,4 +75,9 @@ Program.cs + + + Always + + diff --git a/src/marketplace/Apps.Service/Controllers/AppChangeController.cs b/src/marketplace/Apps.Service/Controllers/AppChangeController.cs index 83bae8be28..99880af4e5 100644 --- a/src/marketplace/Apps.Service/Controllers/AppChangeController.cs +++ b/src/marketplace/Apps.Service/Controllers/AppChangeController.cs @@ -134,7 +134,7 @@ public async Task CreateOrUpdateAppDescriptionsByIdAsync([FromR [ProducesResponseType(typeof(ErrorResponse), StatusCodes.Status400BadRequest)] [ProducesResponseType(typeof(ErrorResponse), StatusCodes.Status403Forbidden)] [ProducesResponseType(typeof(ErrorResponse), StatusCodes.Status415UnsupportedMediaType)] - public async Task UploadOfferAssignedAppLeadImageDocumentByIdAsync([FromRoute] Guid appId, [FromForm(Name = "document")] IFormFile document, CancellationToken cancellationToken) + public async Task UploadOfferAssignedAppLeadImageDocumentByIdAsync([FromRoute] Guid appId, IFormFile document, CancellationToken cancellationToken) { await _businessLogic.UploadOfferAssignedAppLeadImageDocumentByIdAsync(appId, document, cancellationToken); return NoContent(); @@ -251,7 +251,7 @@ public async Task DeleteMulitipleActiveAppDocumentsAsync([FromR [ProducesResponseType(typeof(ErrorResponse), StatusCodes.Status403Forbidden)] [ProducesResponseType(typeof(ErrorResponse), StatusCodes.Status409Conflict)] [ProducesResponseType(typeof(ErrorResponse), StatusCodes.Status415UnsupportedMediaType)] - public async Task CreateActiveAppDocumentAsync([FromRoute] Guid appId, [FromRoute] DocumentTypeId documentTypeId, [FromForm(Name = "document")] IFormFile document, CancellationToken cancellationToken) + public async Task CreateActiveAppDocumentAsync([FromRoute] Guid appId, [FromRoute] DocumentTypeId documentTypeId, IFormFile document, CancellationToken cancellationToken) { await _businessLogic.CreateActiveAppDocumentAsync(appId, documentTypeId, document, cancellationToken).ConfigureAwait(ConfigureAwaitOptions.None); return NoContent(); diff --git a/src/marketplace/Apps.Service/Controllers/AppReleaseProcessController.cs b/src/marketplace/Apps.Service/Controllers/AppReleaseProcessController.cs index dba63d921a..01d4a1babb 100644 --- a/src/marketplace/Apps.Service/Controllers/AppReleaseProcessController.cs +++ b/src/marketplace/Apps.Service/Controllers/AppReleaseProcessController.cs @@ -78,7 +78,7 @@ public AppReleaseProcessController(IAppReleaseBusinessLogic appReleaseBusinessLo [ProducesResponseType(typeof(ErrorResponse), StatusCodes.Status403Forbidden)] [ProducesResponseType(typeof(ErrorResponse), StatusCodes.Status409Conflict)] [ProducesResponseType(typeof(ErrorResponse), StatusCodes.Status415UnsupportedMediaType)] - public async Task UpdateAppDocumentAsync([FromRoute] Guid appId, [FromRoute] DocumentTypeId documentTypeId, [FromForm(Name = "document")] IFormFile document, CancellationToken cancellationToken) + public async Task UpdateAppDocumentAsync([FromRoute] Guid appId, [FromRoute] DocumentTypeId documentTypeId, IFormFile document, CancellationToken cancellationToken) { await _appReleaseBusinessLogic.CreateAppDocumentAsync(appId, documentTypeId, document, cancellationToken); return NoContent(); diff --git a/src/marketplace/Apps.Service/Program.cs b/src/marketplace/Apps.Service/Program.cs index a2be778650..6baf2652c2 100644 --- a/src/marketplace/Apps.Service/Program.cs +++ b/src/marketplace/Apps.Service/Program.cs @@ -31,8 +31,9 @@ using Org.Eclipse.TractusX.Portal.Backend.Provisioning.Library; using Org.Eclipse.TractusX.Portal.Backend.Web.Initialization; using Org.Eclipse.TractusX.Portal.Backend.Web.PublicInfos.DependencyInjection; +using System.Reflection; -var VERSION = "v2"; +var VERSION = $"v{Assembly.GetExecutingAssembly().GetName().Version!.ToString(3)}"; await WebAppHelper .BuildAndRunWebApplicationAsync(args, "apps", VERSION, builder => diff --git a/src/marketplace/Apps.Service/appsettings.Swagger.json b/src/marketplace/Apps.Service/appsettings.Swagger.json new file mode 100644 index 0000000000..8facdd4070 --- /dev/null +++ b/src/marketplace/Apps.Service/appsettings.Swagger.json @@ -0,0 +1,258 @@ +{ + "JwtBearerOptions": { + "RequireHttpsMetadata": true, + "MetadataAddress": "", + "SaveToken": true, + "TokenValidationParameters": { + "ValidateIssuer": true, + "ValidIssuer": "", + "ValidateIssuerSigningKey": true, + "ValidAudience": "", + "ValidateAudience": true, + "ValidateLifetime": true, + "ClockSkew": "00:05:00" + } + }, + "ConnectionStrings": { + "PortalDb": "justaplaceholder", + "ProvisioningDB": "justaplaceholder" + }, + "AppMarketPlace": { + "CatenaAdminRoles": [ + { + "ClientId": "Cl2-CX-Portal", + "UserRoleNames": [ + "CX Admin" + ] + } + ], + "SubmitAppNotificationTypeIds": [ + "APP_RELEASE_REQUEST" + ], + "BasePortalAddress": "http://localhost:3000", + "AppOverviewAddress": "http://localhost:3000/appoverview", + "ActivationPortalAddress": "http://localhost:3000", + "SalesManagerRoles": [ + { + "ClientId": "Cl2-CX-Portal", + "UserRoleNames": [ + "Sales Manager" + ] + } + ], + "ServiceManagerRoles": [ + { + "ClientId": "Cl2-CX-Portal", + "UserRoleNames": [ + "App Manager" + ] + } + ], + "SubscriptionManagerRoles": [ + { + "ClientId": "Cl2-CX-Portal", + "UserRoleNames": [ + "App Manager", + "Sales Manager" + ] + } + ], + "ActivationUserRoles": [ + { + "ClientId": "Cl2-CX-Portal", + "UserRoleNames": [ + "Sales Manager", + "App Manager" + ] + } + ], + "OfferStatusIds": [ + "IN_REVIEW", + "ACTIVE" + ], + "ActiveAppCompanyAdminRoles": [ + { + "ClientId": "Cl2-CX-Portal", + "UserRoleNames": [ + "IT Admin", + "Company Admin" + ] + } + ], + "ActiveAppNotificationTypeIds": [ + "APP_ROLE_ADDED" + ], + "ApproveAppNotificationTypeIds": [ + "APP_RELEASE_APPROVAL" + ], + "ApproveAppUserRoles": [ + { + "ClientId": "Cl2-CX-Portal", + "UserRoleNames": [ + "Sales Manager", + "Service Manager" + ] + } + ], + "ApplicationsMaxPageSize": 20, + "AppImageDocumentTypeIds": [ + "APP_LEADIMAGE", + "APP_IMAGE", + "APP_CONTRACT", + "ADDITIONAL_DETAILS", + "APP_TECHNICAL_INFORMATION", + "CONFORMITY_APPROVAL_BUSINESS_APPS" + ], + "ActiveAppDocumentTypeIds": [ + "APP_IMAGE", + "APP_TECHNICAL_INFORMATION", + "APP_CONTRACT", + "ADDITIONAL_DETAILS" + ], + "DeleteActiveAppDocumentTypeIds": [ + "APP_IMAGE", + "APP_TECHNICAL_INFORMATION", + "APP_CONTRACT", + "ADDITIONAL_DETAILS" + ], + "UploadActiveAppDocumentTypeIds": [ + { + "DocumentTypeId": "APP_IMAGE", + "MediaTypes": [ + "JPEG", + "PNG" + ] + }, + { + "DocumentTypeId": "APP_TECHNICAL_INFORMATION", + "MediaTypes": [ + "PDF" + ] + }, + { + "DocumentTypeId": "APP_CONTRACT", + "MediaTypes": [ + "PDF" + ] + }, + { + "DocumentTypeId": "ADDITIONAL_DETAILS", + "MediaTypes": [ + "PDF" + ] + } + ], + "ITAdminRoles": [ + { + "ClientId": "Cl2-CX-Portal", + "UserRoleNames": [ + "IT Admin" + ] + } + ], + "UserManagementAddress": "http://localhost:3000/usermanagement", + "DeleteDocumentTypeIds": [ + "APP_CONTRACT", + "ADDITIONAL_DETAILS", + "APP_TECHNICAL_INFORMATION", + "APP_LEADIMAGE", + "APP_IMAGE", + "CONFORMITY_APPROVAL_BUSINESS_APPS" + ], + "SubmitAppDocumentTypeIds": [ + "APP_LEADIMAGE", + "APP_IMAGE", + "CONFORMITY_APPROVAL_BUSINESS_APPS" + ], + "UploadAppDocumentTypeIds": [ + { + "DocumentTypeId": "APP_TECHNICAL_INFORMATION", + "MediaTypes": [ + "PDF" + ] + }, + { + "DocumentTypeId": "APP_LEADIMAGE", + "MediaTypes": [ + "PDF" + ] + }, + { + "DocumentTypeId": "APP_IMAGE", + "MediaTypes": [ + "PDF" + ] + }, + { + "DocumentTypeId": "APP_CONTRACT", + "MediaTypes": [ + "JPEG", + "PNG", + "SVG" + ] + }, + { + "DocumentTypeId": "ADDITIONAL_DETAILS", + "MediaTypes": [ + "JPEG", + "PNG", + "SVG" + ] + }, + { + "DocumentTypeId": "CONFORMITY_APPROVAL_BUSINESS_APPS", + "MediaTypes": [ + "PDF" + ] + } + ], + "TechnicalUserProfileClient": "technical_roles_management", + "CompanyAdminRoles": [ + { + "ClientId": "Cl2-CX-Portal", + "UserRoleNames": [ + "Company Admin" + ] + } + ], + "OfferSubscriptionAddress": "https://test.de", + "OfferDetailAddress": "https://detail.de", + "DecentralIdentityManagementAuthUrl": "https://test.org/auth", + "IssuerDid": "did:web:example.org:test123", + "BpnDidResolverUrl": "https://test.org/bpn-did" + }, + "Provisioning": { + "CentralRealm": "CX-Central", + "CentralRealmId": "CX-Central", + "DimUserRoles": [ + { + "ClientId": "technical_roles_management", + "UserRoleNames": [ + "Identity Wallet Management" + ] + } + ] + }, + "Dim": { + "Username": "empty", + "Password": "empty", + "ClientId": "test", + "GrantType": "client_credentials", + "ClientSecret": "test1234test", + "Scope": "openid", + "TokenAddress": "https://test.de", + "BaseAddress": "https://test.de", + "UniversalResolverAddress": "https://test.de", + "DidDocumentBaseLocation": "https://test.de", + "MaxValidationTimeInDays": 7, + "EncryptionConfigIndex": 0, + "EncryptionConfigs": [ + { + "Index": 0, + "EncryptionKey": "9b1503084ab5638260079cb61b8ed2d1fde462b5a7608556516a1659aeb3f541", + "CipherMode": "CBC", + "PaddingMode": "PKCS7" + } + ] + } +} diff --git a/src/marketplace/Services.Service/.config/dotnet-tools.json b/src/marketplace/Services.Service/.config/dotnet-tools.json new file mode 100644 index 0000000000..ba9187cc34 --- /dev/null +++ b/src/marketplace/Services.Service/.config/dotnet-tools.json @@ -0,0 +1,13 @@ +{ + "version": 1, + "isRoot": true, + "tools": { + "swashbuckle.aspnetcore.cli": { + "version": "6.8.0", + "commands": [ + "swagger" + ], + "rollForward": false + } + } +} \ No newline at end of file diff --git a/src/marketplace/Services.Service/Controllers/ServiceReleaseController.cs b/src/marketplace/Services.Service/Controllers/ServiceReleaseController.cs index 87029ff464..3c04df6d7d 100644 --- a/src/marketplace/Services.Service/Controllers/ServiceReleaseController.cs +++ b/src/marketplace/Services.Service/Controllers/ServiceReleaseController.cs @@ -342,7 +342,7 @@ public async Task DeclineServiceRequest([FromRoute] Guid servic [ProducesResponseType(typeof(ErrorResponse), StatusCodes.Status403Forbidden)] [ProducesResponseType(typeof(ErrorResponse), StatusCodes.Status409Conflict)] [ProducesResponseType(typeof(ErrorResponse), StatusCodes.Status415UnsupportedMediaType)] - public async Task UpdateServiceDocumentAsync([FromRoute] Guid serviceId, [FromRoute] DocumentTypeId documentTypeId, [FromForm(Name = "document")] IFormFile document, CancellationToken cancellationToken) + public async Task UpdateServiceDocumentAsync([FromRoute] Guid serviceId, [FromRoute] DocumentTypeId documentTypeId, IFormFile document, CancellationToken cancellationToken) { await _serviceReleaseBusinessLogic.CreateServiceDocumentAsync(serviceId, documentTypeId, document, cancellationToken); return NoContent(); diff --git a/src/marketplace/Services.Service/Program.cs b/src/marketplace/Services.Service/Program.cs index 3ed8f2ef65..79aead5998 100644 --- a/src/marketplace/Services.Service/Program.cs +++ b/src/marketplace/Services.Service/Program.cs @@ -31,8 +31,9 @@ using Org.Eclipse.TractusX.Portal.Backend.Services.Service.DependencyInjection; using Org.Eclipse.TractusX.Portal.Backend.Web.Initialization; using Org.Eclipse.TractusX.Portal.Backend.Web.PublicInfos.DependencyInjection; +using System.Reflection; -var VERSION = "v2"; +var VERSION = $"v{Assembly.GetExecutingAssembly().GetName().Version!.ToString(3)}"; await WebAppHelper .BuildAndRunWebApplicationAsync(args, "services", VERSION, builder => diff --git a/src/marketplace/Services.Service/Services.Service.csproj b/src/marketplace/Services.Service/Services.Service.csproj index cb4b7f5a90..a9196811fb 100644 --- a/src/marketplace/Services.Service/Services.Service.csproj +++ b/src/marketplace/Services.Service/Services.Service.csproj @@ -31,6 +31,16 @@ True CS1591 + + + + + + + + + + @@ -62,4 +72,10 @@ + + + Always + + + diff --git a/src/marketplace/Services.Service/appsettings.Swagger.json b/src/marketplace/Services.Service/appsettings.Swagger.json new file mode 100644 index 0000000000..065184e552 --- /dev/null +++ b/src/marketplace/Services.Service/appsettings.Swagger.json @@ -0,0 +1,166 @@ +{ + "JwtBearerOptions": { + "RequireHttpsMetadata": true, + "MetadataAddress": "", + "SaveToken": true, + "TokenValidationParameters": { + "ValidateIssuer": true, + "ValidIssuer": "", + "ValidateIssuerSigningKey": true, + "ValidAudience": "", + "ValidateAudience": true, + "ValidateLifetime": true, + "ClockSkew": "00:05:00" + } + }, + "ConnectionStrings": { + "PortalDb": "justaplaceholder", + "ProvisioningDB": "justaplaceholder" + }, + "Provisioning": { + "CentralRealm": "CX-Central", + "CentralRealmId": "CX-Central", + "DimUserRoles": [ + { + "ClientId": "technical_roles_management", + "UserRoleNames": [ + "Identity Wallet Management" + ] + } + ] + }, + "Services":{ + "BasePortalAddress": "http://localhost:3000", + "ActivationPortalAddress": "http://localhost:3000", + "UserManagementAddress": "http://localhost:3000/usermanagement", + "ServiceOverviewAddress": "http://localhost:3000/serviceoverview", + "CatenaAdminRoles": { + "Cl2-CX-Portal": [ + "CX Admin" + ] + }, + "CompanyAdminRoles": { + "Cl2-CX-Portal": [ + "IT Admin" + ] + }, + "ServiceAccountRoles": { + "technical_roles_management": [ + "Digital Twin Management" + ] + }, + "ServiceManagerRoles": { + "Cl2-CX-Portal": [ + "Service Manager" + ] + }, + "SalesManagerRoles": { + "Cl2-CX-Portal": [ + "Sales Manager" + ] + }, + "SubscriptionManagerRoles": [ + { + "ClientId": "Cl2-CX-Portal", + "UserRoleNames": [ + "Service Manager", + "Sales Manager" + ] + } + ], + "ActivationUserRoles": [ + { + "ClientId": "Cl2-CX-Portal", + "UserRoleNames": [ + "Sales Manager", + "Service Manager" + ] + } + ], + "DocumentTypeIds": [ + "ADDITIONAL_DETAILS" + ], + "ContentTypeSettings": [ + "application/pdf" + ], + "SubmitServiceNotificationTypeIds": [ + "SERVICE_RELEASE_REQUEST" + ], + "ApproveServiceNotificationTypeIds": [ + "SERVICE_RELEASE_APPROVAL" + ], + "ApproveServiceUserRoles": { + "Cl2-CX-Portal": [ + "Sales Manager", + "Service Manager" + ] + }, + "ITAdminRoles": { + "Cl2-CX-Portal": [ + "IT Admin" + ] + }, + "TechnicalUserProfileClient": "technical_roles_management", + "ServiceImageDocumentTypeIds": [ + "SERVICE_LEADIMAGE" + ], + "DeleteDocumentTypeIds": [ + "APP_CONTRACT", + "DATA_CONTRACT", + "ADDITIONAL_DETAILS", + "APP_LEADIMAGE", + "APP_IMAGE" + ], + "UploadServiceDocumentTypeIds": { + "APP_CONTRACT": [ + "application/pdf" + ], + "ADDITIONAL_DETAILS": [ + "application/pdf" + ], + "APP_TECHNICAL_INFORMATION": [ + "application/pdf" + ], + "APP_LEADIMAGE": [ + "image/jpeg", + "image/png", + "image/svg+xml" + ], + "APP_IMAGE": [ + "image/jpeg", + "image/png", + "image/svg+xml" + ], + "CONFORMITY_APPROVAL_BUSINESS_APPS": [ + "application/pdf" + ] + }, + "OfferStatusIds": [ + "IN_REVIEW" + ], + "OfferSubscriptionAddress": "https://test.de", + "OfferDetailAddress": "https://detail.de" + }, + "Dim": { + "Username": "empty", + "Password": "empty", + "ClientId": "test", + "GrantType": "client_credentials", + "ClientSecret": "test1234test", + "Scope": "openid", + "TokenAddress": "https://test.de", + "BaseAddress": "https://test.de", + "UniversalResolverAddress": "https://test.de", + "DidDocumentBaseLocation": "https://test.de", + "MaxValidationTimeInDays": 7, + "EncryptionConfigIndex": 0, + "EncryptionConfigs": [ + { + "Index": 0, + "EncryptionKey": "9b1503084ab5638260079cb61b8ed2d1fde462b5a7608556516a1659aeb3f541", + "CipherMode": "CBC", + "PaddingMode": "PKCS7" + } + ] + } +} diff --git a/src/notifications/Notifications.Service/.config/dotnet-tools.json b/src/notifications/Notifications.Service/.config/dotnet-tools.json new file mode 100644 index 0000000000..ba9187cc34 --- /dev/null +++ b/src/notifications/Notifications.Service/.config/dotnet-tools.json @@ -0,0 +1,13 @@ +{ + "version": 1, + "isRoot": true, + "tools": { + "swashbuckle.aspnetcore.cli": { + "version": "6.8.0", + "commands": [ + "swagger" + ], + "rollForward": false + } + } +} \ No newline at end of file diff --git a/src/notifications/Notifications.Service/Notifications.Service.csproj b/src/notifications/Notifications.Service/Notifications.Service.csproj index def8abac32..2d5775d7ed 100644 --- a/src/notifications/Notifications.Service/Notifications.Service.csproj +++ b/src/notifications/Notifications.Service/Notifications.Service.csproj @@ -30,6 +30,16 @@ 53be9d36-5a45-441f-8f48-772ae6e64ca2 Org.Eclipse.TractusX.Portal.Backend.Notifications.Service + + + + + + + + + + @@ -60,4 +70,10 @@ + + + Always + + + diff --git a/src/notifications/Notifications.Service/Program.cs b/src/notifications/Notifications.Service/Program.cs index 809b488973..6b092fee19 100644 --- a/src/notifications/Notifications.Service/Program.cs +++ b/src/notifications/Notifications.Service/Program.cs @@ -22,8 +22,9 @@ using Org.Eclipse.TractusX.Portal.Backend.PortalBackend.DBAccess; using Org.Eclipse.TractusX.Portal.Backend.Web.Initialization; using Org.Eclipse.TractusX.Portal.Backend.Web.PublicInfos.DependencyInjection; +using System.Reflection; -var VERSION = "v2"; +var VERSION = $"v{Assembly.GetExecutingAssembly().GetName().Version!.ToString(3)}"; await WebAppHelper .BuildAndRunWebApplicationAsync(args, "notification", VERSION, builder => diff --git a/src/notifications/Notifications.Service/appsettings.Swagger.json b/src/notifications/Notifications.Service/appsettings.Swagger.json new file mode 100644 index 0000000000..c9ff154b24 --- /dev/null +++ b/src/notifications/Notifications.Service/appsettings.Swagger.json @@ -0,0 +1,20 @@ +{ + "SwaggerEnabled": "true", + "JwtBearerOptions": { + "RequireHttpsMetadata": true, + "MetadataAddress": "", + "SaveToken": true, + "TokenValidationParameters": { + "ValidateIssuer": true, + "ValidIssuer": "", + "ValidateIssuerSigningKey": true, + "ValidAudience": "", + "ValidateAudience": true, + "ValidateLifetime": true, + "ClockSkew": "00:05:00" + } + }, + "Notifications": { + "MaxPageSize": 20 + } +} diff --git a/src/registration/Registration.Service/.config/dotnet-tools.json b/src/registration/Registration.Service/.config/dotnet-tools.json new file mode 100644 index 0000000000..ba9187cc34 --- /dev/null +++ b/src/registration/Registration.Service/.config/dotnet-tools.json @@ -0,0 +1,13 @@ +{ + "version": 1, + "isRoot": true, + "tools": { + "swashbuckle.aspnetcore.cli": { + "version": "6.8.0", + "commands": [ + "swagger" + ], + "rollForward": false + } + } +} \ No newline at end of file diff --git a/src/registration/Registration.Service/Controllers/RegistrationController.cs b/src/registration/Registration.Service/Controllers/RegistrationController.cs index 79e30e4cd1..e9a8690872 100644 --- a/src/registration/Registration.Service/Controllers/RegistrationController.cs +++ b/src/registration/Registration.Service/Controllers/RegistrationController.cs @@ -38,19 +38,9 @@ namespace Org.Eclipse.TractusX.Portal.Backend.Registration.Service.Controllers [EnvironmentRoute("MVC_ROUTING_BASEPATH")] [Produces("application/json")] [Consumes("application/json")] - public class RegistrationController : ControllerBase + public class RegistrationController(IRegistrationBusinessLogic registrationBusinessLogic) + : ControllerBase { - private readonly IRegistrationBusinessLogic _registrationBusinessLogic; - - /// - /// Creates a new instance of - /// - /// Access to the business logic - public RegistrationController(IRegistrationBusinessLogic registrationBusinessLogic) - { - _registrationBusinessLogic = registrationBusinessLogic; - } - /// /// Gets legal entity and address data from bpdm by its bpn /// @@ -69,7 +59,7 @@ public RegistrationController(IRegistrationBusinessLogic registrationBusinessLog [ProducesResponseType(typeof(ErrorResponse), StatusCodes.Status503ServiceUnavailable)] [ProducesResponseType(typeof(ErrorResponse), StatusCodes.Status409Conflict)] public Task GetCompanyBpdmDetailDataAsync([FromRoute] string bpn, CancellationToken cancellationToken) => - this.WithBearerToken(token => _registrationBusinessLogic.GetCompanyBpdmDetailDataByBusinessPartnerNumber(bpn, token, cancellationToken)); + this.WithBearerToken(token => registrationBusinessLogic.GetCompanyBpdmDetailDataByBusinessPartnerNumber(bpn, token, cancellationToken)); /// /// Uploads a document @@ -95,9 +85,9 @@ public Task GetCompanyBpdmDetailDataAsync([FromRoute] str [ProducesResponseType(typeof(ErrorResponse), StatusCodes.Status403Forbidden)] [ProducesResponseType(typeof(ErrorResponse), StatusCodes.Status400BadRequest)] [ProducesResponseType(typeof(ErrorResponse), StatusCodes.Status415UnsupportedMediaType)] - public async Task UploadDocumentAsync([FromRoute] Guid applicationId, [FromRoute] DocumentTypeId documentTypeId, [FromForm(Name = "document")] IFormFile document, CancellationToken cancellationToken) + public async Task UploadDocumentAsync([FromRoute] Guid applicationId, [FromRoute] DocumentTypeId documentTypeId, IFormFile document, CancellationToken cancellationToken) { - await _registrationBusinessLogic.UploadDocumentAsync(applicationId, document, documentTypeId, + await registrationBusinessLogic.UploadDocumentAsync(applicationId, document, documentTypeId, cancellationToken).ConfigureAwait(ConfigureAwaitOptions.None); return NoContent(); } @@ -121,7 +111,7 @@ await _registrationBusinessLogic.UploadDocumentAsync(applicationId, document, do [ProducesResponseType(typeof(ErrorResponse), StatusCodes.Status404NotFound)] public async Task GetDocumentContentFileAsync([FromRoute] Guid documentId) { - var (fileName, content, mediaType) = await _registrationBusinessLogic.GetDocumentContentAsync(documentId); + var (fileName, content, mediaType) = await registrationBusinessLogic.GetDocumentContentAsync(documentId); return File(content, mediaType, fileName); } @@ -143,7 +133,7 @@ public async Task GetDocumentContentFileAsync([FromRoute] Guid doc [ProducesResponseType(typeof(ErrorResponse), StatusCodes.Status403Forbidden)] [ProducesResponseType(typeof(ErrorResponse), StatusCodes.Status404NotFound)] public Task> GetUploadedDocumentsAsync([FromRoute] Guid applicationId, [FromRoute] DocumentTypeId documentTypeId) => - _registrationBusinessLogic.GetUploadedDocumentsAsync(applicationId, documentTypeId); + registrationBusinessLogic.GetUploadedDocumentsAsync(applicationId, documentTypeId); /// /// Get all composite client roles @@ -156,7 +146,7 @@ public Task> GetUploadedDocumentsAsync([FromRoute] [Route("rolesComposite")] [ProducesResponseType(typeof(List), (int)HttpStatusCode.OK)] public IAsyncEnumerable GetClientRolesComposite() => - _registrationBusinessLogic.GetClientRolesCompositeAsync(); + registrationBusinessLogic.GetClientRolesCompositeAsync(); /// /// Gets the applications with each status @@ -170,7 +160,7 @@ public IAsyncEnumerable GetClientRolesComposite() => [Route("applications")] [ProducesResponseType(typeof(IAsyncEnumerable), StatusCodes.Status200OK)] public IAsyncEnumerable GetApplicationsWithStatusAsync() => - _registrationBusinessLogic.GetAllApplicationsForUserWithStatus(); + registrationBusinessLogic.GetAllApplicationsForUserWithStatus(); /// /// Gets the applications with each status, company-name and linked users @@ -184,7 +174,7 @@ public IAsyncEnumerable GetApplicationsWithStatusA [Route("applications/declinedata")] [ProducesResponseType(typeof(IAsyncEnumerable), StatusCodes.Status200OK)] public Task> GetApplicationsDeclineData() => - _registrationBusinessLogic.GetApplicationsDeclineData(); + registrationBusinessLogic.GetApplicationsDeclineData(); /// /// Sets the status of a specific application. @@ -206,7 +196,7 @@ public Task> GetApplicationsDeclineDa [ProducesResponseType(typeof(ErrorResponse), StatusCodes.Status404NotFound)] [ProducesResponseType(typeof(ErrorResponse), StatusCodes.Status403Forbidden)] public Task SetApplicationStatusAsync([FromRoute] Guid applicationId, [FromQuery] CompanyApplicationStatusId status) => - _registrationBusinessLogic.SetOwnCompanyApplicationStatusAsync(applicationId, status); + registrationBusinessLogic.SetOwnCompanyApplicationStatusAsync(applicationId, status); /// /// Gets the status of an application for the given id @@ -225,7 +215,7 @@ public Task SetApplicationStatusAsync([FromRoute] Guid applicationId, [From [ProducesResponseType(typeof(ErrorResponse), StatusCodes.Status404NotFound)] [ProducesResponseType(typeof(ErrorResponse), StatusCodes.Status403Forbidden)] public Task GetApplicationStatusAsync([FromRoute] Guid applicationId) => - _registrationBusinessLogic.GetOwnCompanyApplicationStatusAsync(applicationId); + registrationBusinessLogic.GetOwnCompanyApplicationStatusAsync(applicationId); /// /// Gets the company of a specific application with its address @@ -244,7 +234,7 @@ public Task GetApplicationStatusAsync([FromRoute] Gu [ProducesResponseType(typeof(ErrorResponse), StatusCodes.Status404NotFound)] [ProducesResponseType(typeof(ErrorResponse), StatusCodes.Status403Forbidden)] public Task GetCompanyDetailDataAsync([FromRoute] Guid applicationId) => - _registrationBusinessLogic.GetCompanyDetailData(applicationId); + registrationBusinessLogic.GetCompanyDetailData(applicationId); /// /// Sets the company with its address for the given application id @@ -265,7 +255,7 @@ public Task GetCompanyDetailDataAsync([FromRoute] Guid applic [ProducesResponseType(typeof(ErrorResponse), StatusCodes.Status404NotFound)] [ProducesResponseType(typeof(ErrorResponse), StatusCodes.Status403Forbidden)] public Task SetCompanyDetailDataAsync([FromRoute] Guid applicationId, [FromBody] CompanyDetailData companyDetailData) => - _registrationBusinessLogic.SetCompanyDetailDataAsync(applicationId, companyDetailData); + registrationBusinessLogic.SetCompanyDetailDataAsync(applicationId, companyDetailData); /// /// Invites the given user to the given application @@ -288,7 +278,7 @@ public Task SetCompanyDetailDataAsync([FromRoute] Guid applicationId, [FromBody] [ProducesResponseType(typeof(ErrorResponse), StatusCodes.Status500InternalServerError)] [ProducesResponseType(typeof(ErrorResponse), StatusCodes.Status502BadGateway)] public Task InviteNewUserAsync([FromRoute] Guid applicationId, [FromBody] UserCreationInfoWithMessage userCreationInfo) => - _registrationBusinessLogic.InviteNewUserAsync(applicationId, userCreationInfo); + registrationBusinessLogic.InviteNewUserAsync(applicationId, userCreationInfo); /// /// Post the agreement consent status for the given application. @@ -311,7 +301,7 @@ public Task InviteNewUserAsync([FromRoute] Guid applicationId, [FromBody] U [ProducesResponseType(typeof(ErrorResponse), StatusCodes.Status404NotFound)] [ProducesResponseType(typeof(ErrorResponse), StatusCodes.Status400BadRequest)] public Task SubmitCompanyRoleConsentToAgreementsAsync([FromRoute] Guid applicationId, [FromBody] CompanyRoleAgreementConsents companyRolesAgreementConsents) => - _registrationBusinessLogic.SubmitRoleConsentAsync(applicationId, companyRolesAgreementConsents); + registrationBusinessLogic.SubmitRoleConsentAsync(applicationId, companyRolesAgreementConsents); /// /// Gets the agreement consent statuses for the given application @@ -328,7 +318,7 @@ public Task SubmitCompanyRoleConsentToAgreementsAsync([FromRoute] Guid appl [ProducesResponseType(typeof(CompanyRoleAgreementConsents), StatusCodes.Status200OK)] [ProducesResponseType(typeof(ErrorResponse), StatusCodes.Status403Forbidden)] public Task GetAgreementConsentStatusesAsync([FromRoute] Guid applicationId) => - _registrationBusinessLogic.GetRoleAgreementConsentsAsync(applicationId); + registrationBusinessLogic.GetRoleAgreementConsentsAsync(applicationId); /// /// Gets the company role agreement data @@ -341,7 +331,7 @@ public Task GetAgreementConsentStatusesAsync([From [Route("companyRoleAgreementData")] [ProducesResponseType(typeof(CompanyRoleAgreementData), StatusCodes.Status200OK)] public Task GetCompanyRoleAgreementDataAsync() => - _registrationBusinessLogic.GetCompanyRoleAgreementDataAsync(); + registrationBusinessLogic.GetCompanyRoleAgreementDataAsync(); /// /// Submits a registration @@ -363,7 +353,7 @@ public Task GetCompanyRoleAgreementDataAsync() => [ProducesResponseType(typeof(ErrorResponse), StatusCodes.Status403Forbidden)] [ProducesResponseType(typeof(ErrorResponse), StatusCodes.Status500InternalServerError)] public Task SubmitRegistrationAsync([FromRoute] Guid applicationId) => - _registrationBusinessLogic.SubmitRegistrationAsync(applicationId); + registrationBusinessLogic.SubmitRegistrationAsync(applicationId); /// /// Gets all invited users for a given application @@ -377,7 +367,7 @@ public Task SubmitRegistrationAsync([FromRoute] Guid applicationId) => [Route("application/{applicationId}/invitedusers")] [ProducesResponseType(typeof(IAsyncEnumerable), StatusCodes.Status200OK)] public IAsyncEnumerable GetInvitedUsersAsync([FromRoute] Guid applicationId) => - _registrationBusinessLogic.GetInvitedUsersAsync(applicationId); + registrationBusinessLogic.GetInvitedUsersAsync(applicationId); /// /// Sets the invitation status @@ -393,7 +383,7 @@ public IAsyncEnumerable GetInvitedUsersAsync([FromRoute] Guid appli [ProducesResponseType(typeof(int), StatusCodes.Status200OK)] [ProducesResponseType(typeof(ErrorResponse), StatusCodes.Status403Forbidden)] public Task SetInvitationStatusAsync() => - _registrationBusinessLogic.SetInvitationStatusAsync(); + registrationBusinessLogic.SetInvitationStatusAsync(); /// /// Gets the registration data for the given application id @@ -414,7 +404,7 @@ public Task SetInvitationStatusAsync() => [ProducesResponseType(typeof(ErrorResponse), StatusCodes.Status403Forbidden)] [ProducesResponseType(typeof(ErrorResponse), StatusCodes.Status503ServiceUnavailable)] public Task GetRegistrationDataAsync([FromRoute] Guid applicationId) => - _registrationBusinessLogic.GetRegistrationDataAsync(applicationId); + registrationBusinessLogic.GetRegistrationDataAsync(applicationId); /// /// Gets the company roles and roles description @@ -428,7 +418,7 @@ public Task GetRegistrationDataAsync([FromRoute] Guid a [Route("company/companyRoles")] [ProducesResponseType(typeof(IAsyncEnumerable), StatusCodes.Status200OK)] public IAsyncEnumerable GetCompanyRolesAsync([FromQuery] string? languageShortName = null) => - _registrationBusinessLogic.GetCompanyRoles(languageShortName); + registrationBusinessLogic.GetCompanyRoles(languageShortName); /// /// Deletes the document with the given id @@ -452,7 +442,7 @@ public IAsyncEnumerable GetCompanyRolesAsync([FromQuery] st [ProducesResponseType(typeof(ErrorResponse), StatusCodes.Status409Conflict)] public async Task DeleteRegistrationDocument([FromRoute] Guid documentId) { - await _registrationBusinessLogic.DeleteRegistrationDocumentAsync(documentId); + await registrationBusinessLogic.DeleteRegistrationDocumentAsync(documentId); return NoContent(); } @@ -470,7 +460,7 @@ public async Task DeleteRegistrationDocument([FromRoute] Guid doc [ProducesResponseType(typeof(IEnumerable), StatusCodes.Status200OK)] [ProducesResponseType(typeof(ErrorResponse), StatusCodes.Status404NotFound)] public Task> GetCompanyIdentifiers([FromRoute] string alpha2Code) => - _registrationBusinessLogic.GetCompanyIdentifiers(alpha2Code); + registrationBusinessLogic.GetCompanyIdentifiers(alpha2Code); /// /// Retrieve Registration document of type CX_FRAME_CONTRACT @@ -488,7 +478,7 @@ public Task> GetCompanyIdentifiers([FromRoute] [ProducesResponseType(typeof(ErrorResponse), StatusCodes.Status404NotFound)] public async Task GetRegistrationDocumentAsync([FromRoute] Guid documentId) { - var (fileName, content, mediaType) = await _registrationBusinessLogic.GetRegistrationDocumentAsync(documentId); + var (fileName, content, mediaType) = await registrationBusinessLogic.GetRegistrationDocumentAsync(documentId); return File(content, mediaType, fileName); } @@ -510,7 +500,7 @@ public async Task GetRegistrationDocumentAsync([FromRoute] Guid do [ProducesResponseType(typeof(ErrorResponse), StatusCodes.Status404NotFound)] public async Task DeclineApplicationRegistrationAsync([FromRoute] Guid applicationId) { - await _registrationBusinessLogic.DeclineApplicationRegistrationAsync(applicationId).ConfigureAwait(false); + await registrationBusinessLogic.DeclineApplicationRegistrationAsync(applicationId).ConfigureAwait(false); return NoContent(); } } diff --git a/src/registration/Registration.Service/Program.cs b/src/registration/Registration.Service/Program.cs index 6b5652ac04..10c1242fb7 100644 --- a/src/registration/Registration.Service/Program.cs +++ b/src/registration/Registration.Service/Program.cs @@ -28,8 +28,9 @@ using Org.Eclipse.TractusX.Portal.Backend.Registration.Service.BusinessLogic; using Org.Eclipse.TractusX.Portal.Backend.Web.Initialization; using Org.Eclipse.TractusX.Portal.Backend.Web.PublicInfos.DependencyInjection; +using System.Reflection; -var VERSION = "v2"; +var VERSION = $"v{Assembly.GetExecutingAssembly().GetName().Version!.ToString(3)}"; await WebAppHelper .BuildAndRunWebApplicationAsync(args, "registration", VERSION, builder => diff --git a/src/registration/Registration.Service/Registration.Service.csproj b/src/registration/Registration.Service/Registration.Service.csproj index 40b3a4fdfa..d37d4880b7 100644 --- a/src/registration/Registration.Service/Registration.Service.csproj +++ b/src/registration/Registration.Service/Registration.Service.csproj @@ -33,6 +33,16 @@ Org.Eclipse.TractusX.Portal.Backend.Registration.Service + + + + + + + + + + runtime; build; native; contentfiles; analyzers; buildtransitive diff --git a/src/registration/Registration.Service/appsettings.Swagger.json b/src/registration/Registration.Service/appsettings.Swagger.json new file mode 100644 index 0000000000..dfde11a8cb --- /dev/null +++ b/src/registration/Registration.Service/appsettings.Swagger.json @@ -0,0 +1,85 @@ +{ + "SwaggerEnabled": "true", + "Registration": { + "BasePortalAddress": "https://portal.example.org/registration", + "KeycloakClientID": "Cl1-CX-Registration", + "DocumentTypeIds": [ + "CX_FRAME_CONTRACT", + "COMMERCIAL_REGISTER_EXTRACT" + ], + "ApplicationStatusIds": [ + "SUBMITTED", + "DECLINED", + "CONFIRMED" + ], + "RegistrationDocumentTypeIds": [ + "CX_FRAME_CONTRACT" + ], + "SubmitDocumentTypeIds": [ + "CX_FRAME_CONTRACT", + "COMMERCIAL_REGISTER_EXTRACT" + ], + "ApplicationDeclineStatusIds": [ + "CREATED", + "ADD_COMPANY_DATA", + "INVITE_USER", + "SELECT_COMPANY_ROLE" + ], + "PasswordResendAddress": "https://example.org/resend" + }, + "BpnAccess": { + "BaseAddress": "https://portal.example.org" + }, + "JwtBearerOptions": { + "RequireHttpsMetadata": false, + "MetadataAddress": "", + "SaveToken": true, + "TokenValidationParameters": { + "ValidateIssuer": true, + "ValidIssuer": "", + "ValidateIssuerSigningKey": true, + "ValidAudience": "", + "ValidateAudience": true, + "ValidateLifetime": true, + "ClockSkew": "00:05:00" + } + }, + "Provisioning": { + "CentralRealm": "", + "MappedBpnAttribute": "bpn", + "MappedCompanyAttribute": "organisation", + "UserNameMapperTemplate": "${ALIAS}.${CLAIM.sub}", + "ServiceAccountClientPrefix": "example", + "DimUserRoles": [ + { + "ClientId": "technical_roles_management", + "UserRoleNames": [ + "Identity Wallet Management" + ] + } + ], + "SharedUser": { + "enabled":true, + "emailVerified":true, + "requiredActions":["UPDATE_PASSWORD"] + }, + "CentralUser": { + "enabled":true, + "emailVerified":true + } + }, + "MailingProcessCreation": { + "EncryptionConfigIndex": 0, + "EncryptionConfigs": [ + { + "Index": 0, + "EncryptionKey": "9b1503084ab5638260079cb61b8ed2d1fde462b5a7608556516a1659aeb3f541", + "CipherMode": "CBC", + "PaddingMode": "PKCS7" + } + ] + }, + "ApplicationCreation": { + "UseDimWallet": false + } +} diff --git a/src/registration/Registration.Service/appsettings.json b/src/registration/Registration.Service/appsettings.json index 66058d357b..0c89fb26e4 100644 --- a/src/registration/Registration.Service/appsettings.json +++ b/src/registration/Registration.Service/appsettings.json @@ -33,7 +33,8 @@ "ApplicationDeclineStatusIds": [], "DocumentTypeIds": [], "RegistrationDocumentTypeIds": [], - "SubmitDocumentTypeIds": [] + "SubmitDocumentTypeIds": [], + "PasswordResendAddress": "" }, "BpnAccess": { "BaseAddress": "" @@ -74,6 +75,7 @@ "MappedCompanyAttribute": "organisation", "UserNameMapperTemplate": "${ALIAS}.${CLAIM.sub}", "ServiceAccountClientPrefix": "", + "DimUserRoles": [], "SharedUser": { "enabled":true, "emailVerified":true, @@ -85,7 +87,7 @@ } }, "MailingProcessCreation": { - "EncrptionConfigIndex": 0, + "EncryptionConfigIndex": 0, "EncryptionConfigs": [ { "Index": 0,