openapi: 3.0.1 info: title: ESOS API Documentation description: ESOS API Documentation version: uk-esos-app-api 0.81.0-SNAPSHOT servers: - url: http://localhost:8080/api description: Generated server url security: - bearerAuth: [] paths: /v1.0/verifier-users/registration/enable-from-invitation: put: tags: - Verifier users registration summary: Enable a new verifier user from invitation operationId: acceptAndEnableVerifierInvitedUser requestBody: content: application/json: schema: $ref: '#/components/schemas/InvitedUserEnableDTO' required: true responses: '204': description: No Content '400': description: "Bad Request\t\n Error Code | Description \t\nFORM1001 | Form validation failed \t\n EMAIL1001 | The verification link has expired \t\n TOKEN1001 | Invalid Token \t\n USER1004 | User status is not valid " content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' security: [] /v1.0/verification-bodies: get: tags: - Verification Bodies summary: Retrieves all verification bodies operationId: getVerificationBodies responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/VerificationBodyInfoResponseDTO' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' put: tags: - Verification Bodies summary: Update the verification body operationId: updateVerificationBody requestBody: content: application/json: schema: $ref: '#/components/schemas/VerificationBodyUpdateDTO' required: true responses: '200': description: OK '400': description: "Bad Request\t\n Error Code | Description \t\nFORM1001 | Form validation failed \t\n VERBODY1001 | Accreditation reference number already exists " content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' post: tags: - Verification Bodies summary: Creates a verification body operationId: createVerificationBody requestBody: content: application/json: schema: $ref: '#/components/schemas/VerificationBodyCreationDTO' required: true responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/VerificationBodyInfoDTO' '400': description: "Bad Request\t\n Error Code | Description \t\nFORM1001 | Form validation failed \t\n USER1001 | User is already registered \t\n AUTHORITY1005 | User status cannot be updated " content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' patch: tags: - Verification Bodies summary: Update the verification bodies status operationId: updateVerificationBodiesStatus requestBody: content: application/json: schema: type: array description: The verification bodies status dto to update items: $ref: '#/components/schemas/VerificationBodyUpdateStatusDTO' required: true responses: '200': description: OK '400': description: "Bad Request\t\n Error Code | Description \t\nFORM1001 | Form validation failed \t\n VERBODY1002 | Verification body status is not valid" content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' /v1.0/request-notes/{id}: get: tags: - Request Notes summary: Get a request note operationId: getRequestNote parameters: - name: id in: path description: The note id required: true schema: type: integer format: int64 responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/RequestNoteDto' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' put: tags: - Request Notes summary: Update a request note operationId: updateRequestNote parameters: - name: id in: path description: The note id required: true schema: type: integer format: int64 requestBody: content: application/json: schema: $ref: '#/components/schemas/NoteRequest' required: true responses: '204': description: No Content '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' delete: tags: - Request Notes summary: Delete a request note operationId: deleteRequestNote parameters: - name: id in: path description: The note id required: true schema: type: integer format: int64 responses: '204': description: No Content '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' /v1.0/notification-templates/{id}: get: tags: - Notification Templates summary: Retrieves the notification template with the provided id operationId: getNotificationTemplateById parameters: - name: id in: path description: The notification template id required: true schema: type: integer format: int64 responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/NotificationTemplateDTO' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' put: tags: - Notification Templates summary: Updates the notification template with the provided id operationId: updateNotificationTemplate parameters: - name: id in: path description: The notification template id required: true schema: type: integer format: int64 requestBody: content: application/json: schema: $ref: '#/components/schemas/NotificationTemplateUpdateDTO' required: true responses: '200': description: No Content '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' /v1.0/account-notes/{id}: get: tags: - Account Notes summary: Get an account note operationId: getAccountNote parameters: - name: id in: path description: The note id required: true schema: type: integer format: int64 responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/AccountNoteDto' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' put: tags: - Account Notes summary: Update an account note operationId: updateAccountNote parameters: - name: id in: path description: The note id required: true schema: type: integer format: int64 requestBody: content: application/json: schema: $ref: '#/components/schemas/NoteRequest' required: true responses: '200': description: OK '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' delete: tags: - Account Notes summary: Delete an account note operationId: deleteAccountNote parameters: - name: id in: path description: The note id required: true schema: type: integer format: int64 responses: '200': description: OK '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' /v1.0/{accountType}/vb-site-contacts: get: tags: - VB site contacts summary: Retrieves the accounts and verification body site contact of the accounts operationId: getVbSiteContacts parameters: - name: accountType in: path description: The account type required: true schema: type: string enum: - ORGANISATION - name: page in: query description: The page number starting from zero required: true schema: minimum: 0 type: integer format: int32 - name: size in: query description: The page size required: true schema: minimum: 1 type: integer format: int32 responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/AccountContactVbInfoResponse' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' post: tags: - VB site contacts summary: Updates verification body site contacts operationId: updateVbSiteContacts parameters: - name: accountType in: path description: The account type required: true schema: type: string enum: - ORGANISATION requestBody: content: application/json: schema: type: array description: The accounts with updated verification body site contacts items: $ref: '#/components/schemas/AccountContactDTO' required: true responses: '204': description: No Content '400': description: "Bad Request\t\n Error Code | Description \t\nAUTHORITY1006 | User is not related to verification body \t\n ACCOUNT1005 | Account is not related to verification body \t\n FORM1001 | Form validation failed" content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' /v1.0/{accountType}/mireports: post: tags: - MiReports summary: Generates the report identified by the provided report type operationId: generateReport parameters: - name: accountType in: path description: The account type required: true schema: type: string enum: - ORGANISATION requestBody: content: application/json: schema: description: The parameters based on which the report will be generated oneOf: - $ref: '#/components/schemas/CustomMiReportParams' - $ref: '#/components/schemas/EmptyMiReportParams' - $ref: '#/components/schemas/ExecutedRequestActionsMiReportParams' - $ref: '#/components/schemas/OutstandingRegulatorRequestTasksMiReportParams' required: true responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/MiReportResult' '400': description: "Bad Request\t\n Error Code | Description \t\nMIREPORT1000 | Invalid MI Report type" content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' /v1.0/{accountType}/mireports/custom: post: tags: - MiReports summary: Generates custom report operationId: generateCustomReport parameters: - name: accountType in: path description: The account type required: true schema: type: string enum: - ORGANISATION requestBody: content: application/json: schema: description: The parameters based on which the report will be generated oneOf: - $ref: '#/components/schemas/CustomMiReportParams' - $ref: '#/components/schemas/EmptyMiReportParams' - $ref: '#/components/schemas/ExecutedRequestActionsMiReportParams' - $ref: '#/components/schemas/OutstandingRegulatorRequestTasksMiReportParams' required: true responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/MiReportResult' '400': description: "Bad Request\t\n Error Code | Description \t\nMIREPORT1000 | Invalid MI Report type" content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' /v1.0/{accountType}/ca-site-contacts: get: tags: - Ca site contacts summary: Retrieves the accounts and competent authority site contact of the accounts operationId: getCaSiteContacts parameters: - name: accountType in: path description: The account type required: true schema: type: string enum: - ORGANISATION - name: page in: query description: The page number starting from zero required: true schema: minimum: 0 type: integer format: int32 - name: size in: query description: The page size required: true schema: minimum: 1 type: integer format: int32 responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/AccountContactInfoResponse' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' post: tags: - Ca site contacts summary: Updates competent authority site contacts operationId: updateCaSiteContacts parameters: - name: accountType in: path description: The account type required: true schema: type: string enum: - ORGANISATION requestBody: content: application/json: schema: type: array description: The accounts with updated competent authority site contacts items: $ref: '#/components/schemas/AccountContactDTO' required: true responses: '204': description: No Content '400': description: "Bad Request\t\n Error Code | Description \t\nAUTHORITY1003 | User is not related to competent authority \t\n ACCOUNT1004 | Account is not related to competent authority \t\n FORM1001 | Form validation failed" content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' /v1.0/verifier-users/registration/accept-invitation: post: tags: - Verifier users registration summary: Accept invitation for verifier user operationId: acceptVerifierInvitation requestBody: content: application/json: schema: $ref: '#/components/schemas/TokenDTO' required: true responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/InvitedUserInfoDTO' '400': description: "Bad Request\t\n Error Code | Description \t\nEMAIL1001 | The verification link has expired \t\n TOKEN1001 | Invalid Token \t\n USER1004 | User status is not valid " content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' security: [] /v1.0/verifier-users/invite: post: tags: - Verifier Users Invitation summary: Invite new verifier user to the verification body operationId: inviteVerifierUser requestBody: content: application/json: schema: $ref: '#/components/schemas/VerifierUserInvitationDTO' required: true responses: '204': description: No Content '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '404': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' /v1.0/verifier-users/invite/vb/{id}: post: tags: - Verifier Users Invitation summary: Invite new admin verifier user to the verification body operationId: inviteVerifierAdminUserByVerificationBodyId parameters: - name: id in: path description: The verification body id required: true schema: type: integer format: int64 requestBody: content: application/json: schema: $ref: '#/components/schemas/AdminVerifierUserInvitationDTO' required: true responses: '204': description: No Content '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '404': description: "Bad Request\t\n Error Code | Description \t\nFORM1001 | Form validation failed \t\n NOTFOUND1001 | Resource not found \t\n USER1001 | User is already registered " content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' /v1.0/verifier-authorities: get: tags: - Verifier authorities summary: Retrieves the list of verifier authorities related to the verification body to which I have been assigned to operationId: getVerifierAuthorities responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/UsersAuthoritiesInfoDTO' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' post: tags: - Verifier authorities summary: Updates the verifier authorities operationId: updateVerifierAuthorities requestBody: content: application/json: schema: type: array description: The verifier authorities to update items: $ref: '#/components/schemas/VerifierAuthorityUpdateDTO' required: true responses: '204': description: No Content '400': description: "Bad Request\t\n Error Code | Description \t\nAUTHORITY1007 | Active verifier admin should exist \t\n AUTHORITY1008 | Authority status in not valid" content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' delete: tags: - Verifier authorities summary: Delete the current verifier user operationId: deleteCurrentVerifierAuthority responses: '204': description: No Content '400': description: "Bad Request\t\n Error Code | Description \t\nAUTHORITY1006 | User is not related to verification body \t\n AUTHORITY1007 | Active verifier admin should exist" content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' /v1.0/verifier-authorities/vb/{id}: get: tags: - Verifier authorities summary: Retrieves the list of verifier authorities related to the verification body operationId: getVerifierAuthoritiesByVerificationBodyId parameters: - name: id in: path description: The verification body id required: true schema: type: integer format: int64 responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/UsersAuthoritiesInfoDTO' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' post: tags: - Verifier authorities summary: Updates the verifier authorities of the specified verification body operationId: updateVerifierAuthoritiesByVerificationBodyId parameters: - name: id in: path description: The verification body id required: true schema: type: integer format: int64 requestBody: content: application/json: schema: type: array description: The verifier authorities to update items: $ref: '#/components/schemas/VerifierAuthorityUpdateDTO' required: true responses: '204': description: No Content '400': description: "Bad Request\t\n Error Code | Description \t\nAUTHORITY1007 | Active verifier admin should exist \t\n AUTHORITY1008 | Authority status in not valid" content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' /v1.0/users/token/resolve-email: post: tags: - User token summary: Verifies the JWT token and returns the email operationId: resolveEmailByToken requestBody: content: application/json: schema: $ref: '#/components/schemas/InvitationTokenDTO' required: true responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/EmailDTO' '400': description: "Bad Request\t\n Error Code | Description \t\nUSER1001 | User is already registered \t\n EMAIL1001 | The verification link has expired \t\n TOKEN1001 | Invalid Token \t\n FORM1001 | Form validation failed" content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' security: [] /v1.0/users/security-setup/2fa/reset-2fa: post: tags: - Users Security Setup summary: Resets user's 2fa operationId: requestToReset2fa requestBody: content: application/json: schema: $ref: '#/components/schemas/EmailDTO' required: true responses: '204': description: No Content '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' /v1.0/users/security-setup/2fa/request-change: post: tags: - Users Security Setup summary: Requests the update of the two factor authentication operationId: requestTwoFactorAuthChange requestBody: content: application/json: schema: $ref: '#/components/schemas/OneTimePasswordDTO' required: true responses: '204': description: No Content '400': description: "Bad Request\t\n Error Code | Description \t\nOTP1001 | Invalid OTP \t\n FORM1001 | Form validation failed" content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' deprecated: true /v1.0/users/forgot-password/token-verification: post: tags: - Forgot Password summary: Verifies the JWT token provided in the email operationId: verifyToken requestBody: content: application/json: schema: $ref: '#/components/schemas/TokenDTO' required: true responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/EmailDTO' '400': description: "Bad Request\t\n Error Code | Description \t\nEMAIL1001 | The verification link has expired \t\n TOKEN1001 | Invalid Token" content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' /v1.0/users/forgot-password/reset-password: post: tags: - Forgot Password summary: Resets user's password operationId: resetPassword requestBody: content: application/json: schema: $ref: '#/components/schemas/ResetPasswordDTO' required: true responses: '204': description: No Content '400': description: "Bad Request\t\n Error Code | Description \t\nTOKEN1001 | Invalid Token \t\n USER1005 | User not exist \t\n USER1004 | User status is not valid \t\n OTP1001 | Invalid OTP \t\n FORM1001 | Form validation failed" content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' /v1.0/users/forgot-password/reset-password-email: post: tags: - Forgot Password summary: Sends a reset password email operationId: sendResetPasswordEmail requestBody: content: application/json: schema: $ref: '#/components/schemas/EmailDTO' required: true responses: '204': description: No Content '400': description: "Bad Request\t\n Error Code | Description \t\nOTP1001 | Invalid OTP \t\n FORM1001 | Form validation failed" content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' /v1.0/users/feedback: post: tags: - Users summary: Provides the feedback about the service for the logged in user operationId: provideUserFeedback requestBody: content: application/json: schema: $ref: '#/components/schemas/UserFeedbackDto' required: true responses: '204': description: No Content '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' /v1.0/tasks/actions: post: tags: - Tasks summary: Processes a request task action operationId: processRequestTaskAction requestBody: content: application/json: schema: $ref: '#/components/schemas/RequestTaskActionProcessDTO' required: true responses: '204': description: No Content '400': description: "Bad Request\t\n Error Code | Description \t\nFORM1001 | Form validation failed \t\n FORM1002 | Attachment not found \t\n REQUEST_TASK_ACTION1000 | Request task action cannot proceed \t\n REQUEST_TASK_ACTION1001 | User is not the assignee of the request task \t\n ACCOUNT1001 | Account registration number already exists \t\n ACCOUNT1009 | Account status is not valid \t\n PERMIT1001 | Permit is in invalid state \t\n PERMIT1002 | Invalid Permit review \t\n PERMIT1003 | Invalid Permit \t\n PERMIT1004 | Invalid Permit Variation Review \t\n PERMITSURRENDER1001 | Invalid Permit surrender \t\n " content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '503': description: "Service unavailable\t\n Error Code | Description \t\nCOMPANYINFO1001 | Companies House API is currently unavailable \t\n COMPANYINFO1002 | Companies House API authorization failed \t\n COMPANYINFO1003 | Companies House API rate limiting reached" content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' /v1.0/tasks-assignment/assign: post: tags: - Tasks Assignment summary: Assigns a task to a user operationId: assignTask requestBody: content: application/json: schema: $ref: '#/components/schemas/RequestTaskAssignmentDTO' required: true responses: '204': description: No Content '400': description: "Bad Request\t\n Error Code | Description \t\nITEM1000 | Can not assign request to the provided user \t\nITEM1001 | Request task is not assignable" content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' /v1.0/task-attachments/upload: post: tags: - Request task attachments handling summary: Upload a request task attachment operationId: uploadRequestTaskAttachment requestBody: content: multipart/form-data: schema: required: - attachment - requestTaskActionDetails type: object properties: requestTaskActionDetails: $ref: '#/components/schemas/RequestTaskAttachmentActionProcessDTO' attachment: type: string description: The request task source file attachment format: binary responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/FileUuidDTO' '400': description: "Bad Request\t\n Error Code | Description \t\nPERMIT1001 | Permit is in invalid state \t\n FILE1001 | Virus found in input stream \t\n FILE1002 | File size is less than minimum \t\n FILE1003 | File size is greater than maximum \t\nFILE1004 | File upload failed" content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' /v1.0/requests: post: tags: - Requests summary: Processes a request create action operationId: processRequestCreateAction parameters: - name: accountId in: query description: The account id required: false schema: type: integer format: int64 requestBody: content: application/json: schema: $ref: '#/components/schemas/RequestCreateActionProcessDTO' required: true responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/RequestCreateActionProcessResponseDTO' '400': description: "Bad Request\t\n Error Code | Description \t\nFORM1001 | Form validation failed \t\n REQUEST_CREATE_ACTION1000 | Request create action not allowed \t\n ACCOUNT1001 | Account registration number already exists \t\n " content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '503': description: "Service unavailable\t\n Error Code | Description \t\nCOMPANYINFO1001 | Companies House API is currently unavailable \t\n COMPANYINFO1002 | Companies House API authorization failed \t\n COMPANYINFO1003 | Companies House API rate limiting reached" content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' /v1.0/requests/workflows: post: tags: - Requests summary: Get the workflows for the given search criteria operationId: getRequestDetailsByAccountId requestBody: content: application/json: schema: $ref: '#/components/schemas/RequestSearchByAccountCriteria' required: true responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/RequestDetailsSearchResults' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' /v1.0/request-notes: get: tags: - Request Notes summary: Retrieves the notes for request id operationId: getNotesByRequestId parameters: - name: requestId in: query description: The request id required: true schema: type: string - name: page in: query description: The page number starting from zero required: true schema: minimum: 0 type: integer format: int32 - name: size in: query description: The page size required: true schema: minimum: 1 type: integer format: int32 responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/RequestNoteResponse' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' post: tags: - Request Notes summary: Creates a new request note operationId: createRequestNote requestBody: content: application/json: schema: $ref: '#/components/schemas/RequestNoteRequest' required: true responses: '204': description: No Content '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' /v1.0/request-notes/upload/request/{requestId}: post: tags: - Request Notes summary: Upload a note file operationId: uploadRequestNoteFile parameters: - name: requestId in: path description: The request id required: true schema: type: string requestBody: content: multipart/form-data: schema: required: - file type: object properties: file: type: string description: The note file format: binary responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/FileUuidDTO' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' /v1.0/regulator-users: post: tags: - Regulator Users summary: Updates the current regulator user operationId: updateCurrentRegulatorUser requestBody: content: multipart/form-data: schema: required: - regulatorUserUpdateDTO type: object properties: regulatorUserUpdateDTO: $ref: '#/components/schemas/RegulatorUserUpdateDTO' signature: type: string description: The signature file format: binary responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/RegulatorUserUpdateDTO' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' /v1.0/regulator-users/{userId}: get: tags: - Regulator Users summary: Retrieves the user of type REGULATOR that corresponds to the provided user id operationId: getRegulatorUserByCaAndId parameters: - name: userId in: path description: The regulator user id required: true schema: type: string responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/RegulatorUserDTO' '400': description: "Bad Request\t\n Error Code | Description \t\nAUTHORITY1003 | User is not related to competent authority" content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' post: tags: - Regulator Users summary: Updates the user of type REGULATOR that corresponds to the provided user id operationId: updateRegulatorUserByCaAndId parameters: - name: userId in: path description: The regulator user id to update required: true schema: type: string requestBody: content: multipart/form-data: schema: required: - regulatorUserUpdateDTO type: object properties: regulatorUserUpdateDTO: $ref: '#/components/schemas/RegulatorUserUpdateDTO' signature: type: string description: The signature file format: binary responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/RegulatorUserUpdateDTO' '400': description: "Bad Request\t\n Error Code | Description \t\nAUTHORITY1003 | User is not related to competent authority \t\n INVALID_IMAGE_DIMENSIONSIMAGE1001 | Image dimensions are not valid \t\n FILE1002 | File size is less than minimum \t\n FILE1003 | File size is greater than maximum \t\n FILE1005 | File type is not accepted \t\n FORM1001 | Form validation failed" content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' /v1.0/regulator-users/{userId}/reset-2fa: post: tags: - Regulator Users summary: Resets the 2FA device for the user of type REGULATOR that corresponds to the provided user id operationId: resetRegulator2Fa parameters: - name: userId in: path description: Regulator's user id to reset 2FA required: true schema: type: string responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/RegulatorUserUpdateDTO' '400': description: "Bad Request\t\n Error Code | Description \t\nAUTHORITY1003 | User is not related to competent authority" content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' deprecated: true /v1.0/regulator-users/registration/accept-invitation-and-register: post: tags: - Regulator users registration summary: Accept invitation and register for regulator user operationId: acceptRegulatorInvitationAndRegister requestBody: content: application/json: schema: $ref: '#/components/schemas/TokenDTO' required: true responses: '204': description: No Content '400': description: "Bad Request\t\n Error Code | Description \t\nEMAIL1001 | The verification link has expired \t\n TOKEN1001 | Invalid Token \t\n TOKEN1002 | Invalid Token - User is not the invitee \t\n USER1004 | User status is not valid " content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' security: [] /v1.0/regulator-users/invite: post: tags: - Regulator Users summary: Invite new regulator user operationId: inviteRegulatorUserToCA requestBody: content: multipart/form-data: schema: required: - regulatorInvitedUser type: object properties: regulatorInvitedUser: $ref: '#/components/schemas/RegulatorInvitedUserDTO' signature: type: string description: The signature file format: binary responses: '204': description: No Content '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' /v1.0/regulator-authorities: get: tags: - Regulator Authorities summary: Retrieves the users of type REGULATOR operationId: getCaRegulators responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/RegulatorUsersAuthoritiesInfoDTO' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' post: tags: - Regulator Authorities summary: Updates regulator users status operationId: updateCompetentAuthorityRegulatorUsersStatus requestBody: content: application/json: schema: type: array description: The regulator users to update items: $ref: '#/components/schemas/RegulatorUserUpdateStatusDTO' required: true responses: '204': description: No Content '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' delete: tags: - Regulator Authorities summary: Delete the current regulator user operationId: deleteCurrentRegulatorUserByCompetentAuthority responses: '204': description: No Content '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' /v1.0/organisation/accounts/{id}: post: tags: - Organisation account update summary: Update the organisation account operationId: updateOrganisationAccount parameters: - name: id in: path description: The account id required: true schema: type: integer format: int64 requestBody: content: application/json: schema: $ref: '#/components/schemas/OrganisationAccountUpdateDTO' required: true responses: '204': description: No Content '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' /v1.0/organisation/account-onboarding: post: tags: - Organisation account onboarding registries summary: Adds list of verified organisation accounts in the onboarding registry operationId: addOrganisationAccountOnboardingRegistries requestBody: content: application/json: schema: type: array description: The verified accounts to be added items: $ref: '#/components/schemas/OrganisationAccountOnboardingRegistryDTO' required: true responses: '204': description: No Content '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 content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' /v1.0/organisation/account-onboarding/registration-numbers: post: tags: - Organisation account onboarding registries summary: Retrieves registration numbers that already exist in onboarding registry operationId: getExistingVerifiedRegistrationNumbers requestBody: content: application/json: schema: $ref: '#/components/schemas/OnboardingRegistrationNumbersDTO' required: true responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/OnboardingRegistrationNumbersDTO' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' /v1.0/organisation/account-onboarding/emails: post: tags: - Organisation account onboarding registries summary: Retrieves email addresses that already exist in onboarding registry operationId: getExistingVerifiedEmails requestBody: content: application/json: schema: $ref: '#/components/schemas/OnboardingEmailsDTO' required: true responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/OnboardingEmailsDTO' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' /v1.0/operator-users/registration/register: post: tags: - Operator users registration summary: Register a new operator user operationId: registerCurrentOperatorUser requestBody: content: application/json: schema: $ref: '#/components/schemas/OperatorUserRegistrationDTO' required: true responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/OperatorUserDTO' '400': description: "Bad Request\t\n Error Code | Description \t\nFORM1001 | Form validation failed" content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' security: [] /v1.0/operator-users/registration/accept-invitation: post: tags: - Operator users registration summary: Accept invitation for operator user operationId: acceptOperatorInvitation requestBody: content: application/json: schema: $ref: '#/components/schemas/TokenDTO' required: true responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/OperatorInvitedUserInfoDTO' '400': description: "Bad Request\t\n Error Code | Description \t\nEMAIL1001 | The verification link has expired \t\n TOKEN1001 | Invalid Token \t\n TOKEN1002 | Invalid Token - User is not the invitee \t\n USER1002 | User is deleted \t\n NOTFOUND1001 | Resource not found \t\n AUTHORITY1009 | User is not operator \t\n " content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' security: [] /v1.0/operator-users/registration/accept-invitation-and-register: post: tags: - Operator users registration summary: Accept invitation and register for operator user operationId: acceptOperatorInvitationAndRegister requestBody: content: application/json: schema: $ref: '#/components/schemas/OperatorUserInviteAndRegisterDTO' required: true responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/OperatorInvitedUserInfoDTO' '400': description: "Bad Request\t\n Error Code | Description \t\nEMAIL1001 | The verification link has expired \t\n TOKEN1001 | Invalid Token \t\n TOKEN1002 | Invalid Token - User is not the invitee \t\n USER1002 | User is deleted \t\n NOTFOUND1001 | Resource not found \t\n AUTHORITY1009 | User is not operator \t\n " content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' security: [] /v1.0/operator-users/invite/account/{accountId}: post: tags: - Operator Users invitation summary: Adds a new operator user to an account with a specified role. operationId: inviteOperatorUserToAccount parameters: - name: accountId in: path description: The account id required: true schema: type: integer format: int64 requestBody: content: application/json: schema: $ref: '#/components/schemas/OperatorUserInvitationDTO' required: true responses: '204': description: No Content '400': description: "Bad Request\t\n Error Code | Description \t\nFORM1001 | Form validation failed \t\n AUTHORITY1000 | Can not assign authority. Another role is already assigned to user \t\n AUTHORITY1005 | User status cannot be updated \t\n AUTHORITY1011 | Regulator user can only add operator administrator users to an account \t\n USER1000 | User registration failed \t\n USER1001 | User is already registered" content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' /v1.0/operator-authorities/account/{accountId}: get: tags: - Operator Authorities summary: Retrieves the authorities of type OPERATOR for the given account id along with the account contact types operationId: getAccountOperatorAuthorities parameters: - name: accountId in: path description: The account id required: true schema: type: integer format: int64 responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/AccountOperatorsUsersAuthoritiesInfoDTO' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' post: tags: - Operator Authorities summary: Updates authorities for users of type OPERATOR for the given account id operationId: updateAccountOperatorAuthorities parameters: - name: accountId in: path description: The account id required: true schema: type: integer format: int64 requestBody: content: application/json: schema: $ref: '#/components/schemas/AccountOperatorAuthorityUpdateWrapperDTO' required: true responses: '204': description: No Content '400': description: "Bad Request\t\n Error Code | Description \t\nROLE1000 | Invalid operator role code \t\n AUTHORITY1001 | At least one operator admin should exist in account \t\n AUTHORITY1004 | User is not related to account \t\n AUTHORITY1008 | Authority status in not valid \t\n AUTHORITY1012 | User role can not be modified \t\nACCOUNT_CONTACT1001 | You must have a primary contact on your account \t\nACCOUNT_CONTACT1002 | You must have a financial contact on your account \t\nACCOUNT_CONTACT1003 | You must have a service contact on your account \t\nACCOUNT_CONTACT1004 | You cannot assign the same user as a primary and secondary contact on your account \t\nACCOUNT_CONTACT1005 | You cannot assign a Restricted user as primary contact on your account \t\nACCOUNT_CONTACT1006 | You cannot assign a Restricted user as secondary contact on your account" content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' delete: tags: - Operator Authorities summary: Deletes logged in authority from the account operationId: deleteCurrentUserAccountOperatorAuthority parameters: - name: accountId in: path description: The account id required: true schema: type: integer format: int64 responses: '204': description: No Content '400': description: "Bad Request\t\n Error Code | Description \t\nAUTHORITY1001 | At least one operator admin should exist in account \t\n AUTHORITY1004 | User is not related to account" content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' /v1.0/document-templates/{id}: get: tags: - Document Templates summary: Retrieves the document template with the provided id operationId: getDocumentTemplateById parameters: - name: id in: path description: The document template id required: true schema: type: integer format: int64 responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/DocumentTemplateDTO' '400': description: "Bad Request\t\n Error Code | Description \t\nNOTIF1001 | File does not exist for document template" content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' post: tags: - Document Templates summary: Updates the document template with the provided id operationId: updateDocumentTemplate parameters: - name: id in: path description: The document template id required: true schema: type: integer format: int64 requestBody: content: multipart/form-data: schema: required: - file type: object properties: file: type: string description: The document template source file format: binary responses: '200': description: No Content '400': description: "Bad Request\t\n Error Code | Description \t\nNOTIF1001 | File does not exist for document template" content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' /v1.0/ca-external-contacts: get: tags: - Ca external contacts summary: Retrieves the current regulator external contacts operationId: getCaExternalContacts responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/CaExternalContactsDTO' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' post: tags: - Ca external contacts summary: Creates a new ca external contact operationId: createCaExternalContact requestBody: content: application/json: schema: $ref: '#/components/schemas/CaExternalContactRegistrationDTO' required: true responses: '204': description: No Content '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 content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' /v1.0/accounts/{id}/appoint-verification-body: post: tags: - Account verification body summary: Appoint verification body to account operationId: appointVerificationBodyToAccount parameters: - name: id in: path description: The account id required: true schema: type: integer format: int64 requestBody: content: application/json: schema: $ref: '#/components/schemas/AppointVerificationBodyDTO' required: true responses: '204': description: No Content '400': description: "Bad Request\t\n Error Code | Description \t\nACCOUNT1006 | A verification body has already been appointed to the Installation account \t\n ACCOUNT1008 | The verification body is not accredited to the account's emission trading scheme \t\n ACCOUNT1009 | Account status is not valid \t\n ACCOUNT1010 | Verification body is attached on open tasks \t\n NOTIF1000 | Template processing failed \t\n NOTFOUND1001 | Resource not found \t\n FORM1001 | Form validation failed" content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' patch: tags: - Account verification body summary: Reappoint verification body to account operationId: replaceVerificationBodyToAccount parameters: - name: id in: path description: The account id required: true schema: type: integer format: int64 requestBody: content: application/json: schema: $ref: '#/components/schemas/AppointVerificationBodyDTO' required: true responses: '204': description: No Content '400': description: "Bad Request\t\n Error Code | Description \t\nACCOUNT1006 | A verification body has already been appointed to the Installation account \t\n ACCOUNT1007 | A verification body has not been appointed to the Installation account \t\n ACCOUNT1009 | Account status is not valid \t\n ACCOUNT1008 | The verification body is not accredited to the account's emission trading scheme \t\n ACCOUNT1010 | Verification body is attached on open tasks \t\n NOTIF1000 | Template processing failed \t\n NOTFOUND1001 | Resource not found \t\n FORM1001 | Form validation failed" content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' /v1.0/account-notes: get: tags: - Account Notes summary: Retrieves the notes for account id operationId: getNotesByAccountId parameters: - name: accountId in: query description: The account id required: true schema: type: integer format: int64 - name: page in: query description: The page number starting from zero required: true schema: minimum: 0 type: integer format: int32 - name: size in: query description: The page size required: true schema: minimum: 1 type: integer format: int32 responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/AccountNoteResponse' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' post: tags: - Account Notes summary: Creates a new account note operationId: createAccountNote requestBody: content: application/json: schema: $ref: '#/components/schemas/AccountNoteRequest' required: true responses: '204': description: No Content '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 content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' /v1.0/account-notes/upload/account/{accountId}: post: tags: - Account Notes summary: Upload a note file operationId: uploadAccountNoteFile parameters: - name: accountId in: path description: The account id required: true schema: type: integer format: int64 requestBody: content: multipart/form-data: schema: required: - file type: object properties: file: type: string description: The note file format: binary responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/FileUuidDTO' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' /v1.0/verifier-users/{userId}: get: tags: - Verifier Users summary: Retrieves the user of type VERIFIER for the given user id operationId: getVerifierUserById parameters: - name: userId in: path description: The verifier user id required: true schema: type: string responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/VerifierUserDTO' '400': description: "Bad Request\t\n Error Code | Description \t\nAUTHORITY1013 | User is not verifier \t\n AUTHORITY1006 | User is not related to verification body" content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' patch: tags: - Verifier Users summary: Updates verifier user by user id operationId: updateVerifierUserById parameters: - name: userId in: path description: The verifier user id required: true schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/VerifierUserDTO' required: true responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/VerifierUserDTO' '400': description: "Bad Request\t\n Error Code | Description \t\nAUTHORITY1013 | User is not verifier \t\n AUTHORITY1006 | User is not related to verification body" content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' /v1.0/verifier-users/{userId}/reset-2fa: patch: tags: - Verifier Users summary: Resets the 2FA device for a verifier user by user id operationId: resetVerifier2Fa parameters: - name: userId in: path description: The verifier user id required: true schema: type: string responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/VerifierUserDTO' '400': description: "Bad Request\t\n Error Code | Description \t\nAUTHORITY1013 | User is not verifier \t\n AUTHORITY1006 | User is not related to verification body" content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' deprecated: true /v1.0/verifier-users/verifier: patch: tags: - Verifier Users summary: Updates logged in verifier user operationId: updateCurrentVerifierUser requestBody: content: application/json: schema: $ref: '#/components/schemas/VerifierUserDTO' required: true responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/VerifierUserDTO' '400': description: "Bad Request\t\n Error Code | Description \t\nAUTHORITY1006 | User is not related to verification body" content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' /v1.0/users/terms-and-conditions: patch: tags: - Users summary: Updates accepted terms and conditions of the logged in user operationId: editUserTerms requestBody: content: application/json: schema: $ref: '#/components/schemas/UpdateTermsDTO' required: true responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/UpdateTermsDTO' '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' /v1.0/users/security-setup/2fa/delete: patch: tags: - Users Security Setup summary: Delete the two factor authentication operationId: deleteOtpCredentials requestBody: content: application/json: schema: $ref: '#/components/schemas/TokenDTO' required: true responses: '204': description: No Content '400': description: "Bad Request\t\n Error Code | Description \t\nTOKEN1001 | Invalid Token \t\n EMAIL1001 | The verification link has expired \t\n USER1005 | User not exist \t\n FORM1001 | Form validation failed" content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' deprecated: true security: [] /v1.0/operator-users/operator: patch: tags: - Operator Users summary: Updates logged in operator user operationId: updateCurrentOperatorUser requestBody: content: application/json: schema: $ref: '#/components/schemas/OperatorUserDTO' required: true responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/OperatorUserDTO' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' /v1.0/operator-users/account/{accountId}/{userId}: get: tags: - Operator Users summary: Retrieves info of operator user by account and user id operationId: getOperatorUserById parameters: - name: accountId in: path description: The account id required: true schema: type: integer format: int64 - name: userId in: path description: The operator user id required: true schema: type: string responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/OperatorUserDTO' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' patch: tags: - Operator Users summary: Updates operator user by account and user id operationId: updateOperatorUserById parameters: - name: accountId in: path description: The account id required: true schema: type: integer format: int64 - name: userId in: path description: The operator user id required: true schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/OperatorUserDTO' required: true responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/OperatorUserDTO' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' /v1.0/operator-users/account/{accountId}/{userId}/reset-2fa: patch: tags: - Operator Users summary: Resets the 2FA device for an operator user by account and user id operationId: resetOperator2Fa parameters: - name: accountId in: path description: The account id required: true schema: type: integer format: int64 - name: userId in: path description: The operator user id required: true schema: type: string responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/OperatorUserDTO' '400': description: "Bad Request\t\n Error Code | Description \t\nAUTHORITY1004 | User is not related to account" content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' deprecated: true /v1.0/ca-external-contacts/{id}: get: tags: - Ca external contacts summary: Returns the ca external contact with specified id operationId: getCaExternalContactById parameters: - name: id in: path description: The ca external contact id required: true schema: type: integer format: int64 responses: '200': description: OK content: '*/*': schema: $ref: '#/components/schemas/CaExternalContactDTO' '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 content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' delete: tags: - Ca external contacts summary: Deletes the ca external contact with specified id operationId: deleteCaExternalContactById parameters: - name: id in: path description: The ca external contact id required: true schema: type: integer format: int64 responses: '204': description: No Content '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 content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' patch: tags: - Ca external contacts summary: Edits the ca external contact with specified id operationId: editCaExternalContact parameters: - name: id in: path description: The ca external contact id required: true schema: type: integer format: int64 requestBody: content: application/json: schema: $ref: '#/components/schemas/CaExternalContactRegistrationDTO' required: true responses: '204': description: No Content '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 content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' /v1.0/{accountType}/notification-templates: get: tags: - Notification Templates summary: Retrieves the notification templates associated with current user operationId: getCurrentUserNotificationTemplates parameters: - name: accountType in: path description: The account type required: true schema: type: string enum: - ORGANISATION - name: role in: query description: The role type required: true schema: type: string enum: - OPERATOR - VERIFIER - REGULATOR - name: term in: query description: The term to search required: false schema: maxLength: 256 minLength: 3 type: string - name: page in: query description: The page number starting from zero required: true schema: minimum: 0 type: integer format: int64 - name: size in: query description: The page size required: true schema: minimum: 1 type: integer format: int64 responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/TemplateSearchResults' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' /v1.0/{accountType}/mireports/types: get: tags: - MiReports summary: Retrieves the mi report types for current user operationId: getCurrentUserMiReports parameters: - name: accountType in: path description: The account type required: true schema: type: string enum: - ORGANISATION responses: '200': description: OK content: application/json: schema: type: array items: $ref: '#/components/schemas/MiReportSearchResult' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' /v1.0/{accountType}/mireports/request-task-types: get: tags: - MiReports summary: Get regulator related request task types operationId: getRegulatorRequestTaskTypes parameters: - name: accountType in: path description: The account type required: true schema: type: string enum: - ORGANISATION responses: '200': description: OK content: application/json: schema: type: array items: type: string enum: - ORGANISATION_ACCOUNT_OPENING_APPLICATION_REVIEW - NOTIFICATION_OF_COMPLIANCE_P3_APPLICATION_SUBMIT - NOTIFICATION_OF_COMPLIANCE_P3_APPLICATION_EDIT - NOTIFICATION_OF_COMPLIANCE_P3_WAIT_FOR_EDIT - ACTION_PLAN_P3_APPLICATION_SUBMIT - ACCOUNT_CLOSURE_SUBMIT - PROGRESS_UPDATE_1_P3_APPLICATION_SUBMIT - PROGRESS_UPDATE_2_P3_APPLICATION_SUBMIT '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' /v1.0/{accountType}/mireports/noc/phase-3: get: tags: - NOC Reports summary: Retrieves the report for all submitted noc operationId: generateNocP3Report parameters: - name: accountType in: path description: The account type required: true schema: type: string enum: - ORGANISATION - name: page in: query description: The page number starting from zero required: true schema: minimum: 0 type: integer format: int64 - name: size in: query description: The page size required: true schema: minimum: 1 type: integer format: int64 responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/NotificationOfCompliancesP3MiReportResult' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' /v1.0/{accountType}/items/unassigned: get: tags: - Unassigned Items summary: Retrieves the unassigned items operationId: getUnassignedItems parameters: - name: accountType in: path description: The account type required: true schema: type: string enum: - ORGANISATION - name: page in: query description: The page number starting from zero required: true schema: minimum: 0 type: integer format: int64 - name: size in: query description: The page size required: true schema: minimum: 1 type: integer format: int64 responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/ItemDTOResponse' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' /v1.0/{accountType}/items/assigned-to-others: get: tags: - Items Assigned To Others summary: Retrieves the items assigned to users different than the logged-in user of the same role type who participate in the same accounts operationId: getAssignedToOthersItems parameters: - name: accountType in: path description: The account type required: true schema: type: string enum: - ORGANISATION - name: page in: query description: The page number starting from zero required: true schema: minimum: 0 type: integer format: int64 - name: size in: query description: The page size required: true schema: minimum: 1 type: integer format: int64 responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/ItemDTOResponse' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' /v1.0/{accountType}/items/assigned-to-me: get: tags: - Items Assigned To Me summary: Retrieves the items assigned to the logged-in user operationId: getAssignedItems parameters: - name: accountType in: path description: The account type required: true schema: type: string enum: - ORGANISATION - name: page in: query description: The page number starting from zero required: true schema: minimum: 0 type: integer format: int64 - name: size in: query description: The page size required: true schema: minimum: 1 type: integer format: int64 responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/ItemDTOResponse' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' /v1.0/{accountType}/document-templates: get: tags: - Document Templates summary: Retrieves the document templates associated with current user operationId: getCurrentUserDocumentTemplates parameters: - name: accountType in: path description: The account type required: true schema: type: string enum: - ORGANISATION - name: term in: query description: The term to search required: false schema: maxLength: 256 minLength: 3 type: string - name: page in: query description: The page number starting from zero required: true schema: minimum: 0 type: integer format: int64 - name: size in: query description: The page size required: true schema: minimum: 1 type: integer format: int64 responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/TemplateSearchResults' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' /v1.0/verification-bodies/{id}: get: tags: - Verification Bodies summary: Get the verification body with the provided id operationId: getVerificationBodyById parameters: - name: id in: path description: The verification body id required: true schema: type: integer format: int64 responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/VerificationBodyDTO' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' delete: tags: - Verification Bodies summary: Delete the verification body with the provided id operationId: deleteVerificationBodyById parameters: - name: id in: path description: The verification body id required: true schema: type: integer format: int64 responses: '200': description: No Content '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' /v1.0/users: get: tags: - Users summary: Retrieves info of the logged in user operationId: getCurrentUser responses: '200': description: OK content: application/json: schema: oneOf: - $ref: '#/components/schemas/ApplicationUserDTO' - $ref: '#/components/schemas/OperatorUserDTO' - $ref: '#/components/schemas/RegulatorUserDTO' - $ref: '#/components/schemas/VerifierUserDTO' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' /v1.0/users/signature: get: tags: - Users summary: Generate the token to get the signature of the current user operationId: generateGetCurrentUserSignatureToken parameters: - name: signatureUuid in: query description: The signature uuid required: true schema: type: string format: uuid responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/FileToken' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' /v1.0/user-signatures/{token}: get: tags: - User signatures summary: Get the user signature resource for the provided file token operationId: getSignature parameters: - name: token in: path description: The signature token required: true schema: type: string responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' security: [] /v1.0/terms: get: tags: - Terms and conditions summary: Retrieves the latest version of terms and conditions operationId: getLatestTerms responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/TermsDTO' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' /v1.0/tasks/{id}: get: tags: - Tasks summary: Get task item info by id operationId: getTaskItemInfoById parameters: - name: id in: path description: The task id required: true schema: type: integer format: int64 responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/RequestTaskItemDTO' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' /v1.0/tasks-assignment/{taskId}/candidate-assignees: get: tags: - Tasks Assignment summary: 'Returns all users to whom can be assigned the provided task ' operationId: getCandidateAssigneesByTaskId parameters: - name: taskId in: path description: The task id required: true schema: type: integer format: int64 responses: '200': description: OK content: application/json: schema: type: array items: $ref: '#/components/schemas/AssigneeUserInfoDTO' '400': description: "Bad Request\t\n Error Code | Description \t\nITEM1001 | Request task is not assignable" content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' /v1.0/tasks-assignment/{taskId}/candidate-assignees/{taskType}: get: tags: - Tasks Assignment summary: Returns all users to whom can be assigned the provided task type operationId: getCandidateAssigneesByTaskType parameters: - name: taskId in: path description: The current task id that user works on. Not related to the task type for which we search candidate assignees required: true schema: type: integer format: int64 - name: taskType in: path description: The task type for which you need to retrieve candidate assignees required: true schema: type: string enum: - ORGANISATION_ACCOUNT_OPENING_APPLICATION_REVIEW - NOTIFICATION_OF_COMPLIANCE_P3_APPLICATION_SUBMIT - NOTIFICATION_OF_COMPLIANCE_P3_APPLICATION_EDIT - NOTIFICATION_OF_COMPLIANCE_P3_WAIT_FOR_EDIT - ACTION_PLAN_P3_APPLICATION_SUBMIT - ACCOUNT_CLOSURE_SUBMIT - PROGRESS_UPDATE_1_P3_APPLICATION_SUBMIT - PROGRESS_UPDATE_2_P3_APPLICATION_SUBMIT responses: '200': description: OK content: application/json: schema: type: array items: $ref: '#/components/schemas/AssigneeUserInfoDTO' '400': description: "Bad Request\t\n Error Code | Description \t\nITEM1001 | Request task is not assignable" content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' /v1.0/task-attachments/{id}: get: tags: - Request task attachments handling summary: Generate the token to get the file with the provided uuid that belongs to the provided task operationId: generateRequestTaskGetFileAttachmentToken parameters: - name: id in: path description: The request task id required: true schema: type: integer format: int64 - name: attachmentUuid in: query description: The attachment uuid required: true schema: type: string format: uuid responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/FileToken' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' /v1.0/requests/{id}: get: tags: - Requests summary: Get request details by id operationId: getRequestDetailsById parameters: - name: id in: path description: The request id required: true schema: type: string responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/RequestDetailsDTO' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' /v1.0/requests/available-workflows/reporting/related-actions/{requestId}: get: tags: - Requests summary: Get workflows to start a task operationId: getAvailableRequestWorkflows parameters: - name: requestId in: path description: The request id required: true schema: type: string responses: '200': description: OK content: '*/*': schema: type: object additionalProperties: $ref: '#/components/schemas/RequestCreateValidationResult' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' /v1.0/requests/available-workflows/permit/{accountId}: get: tags: - Requests summary: Get workflows to start a task operationId: getAvailableAccountWorkflows parameters: - name: accountId in: path description: The account id required: true schema: type: integer format: int64 responses: '200': description: OK content: '*/*': schema: type: object additionalProperties: $ref: '#/components/schemas/RequestCreateValidationResult' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' /v1.0/request-notes/{requestId}/files: get: tags: - Request Notes summary: Generate the token to get the file that belongs to the provided request note id operationId: generateGetRequestFileNoteToken parameters: - name: requestId in: path description: The request id required: true schema: type: string - name: uuid in: query description: The note file uuid required: true schema: type: string format: uuid responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/FileToken' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' /v1.0/request-actions: get: tags: - Request actions summary: Retrieves the actions associated with the request operationId: getRequestActionsByRequestId parameters: - name: requestId in: query description: The request id required: true schema: type: string responses: '200': description: OK content: application/json: schema: type: array items: $ref: '#/components/schemas/RequestActionInfoDTO' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' /v1.0/request-actions/{id}: get: tags: - Request actions summary: Get request action by id operationId: getRequestActionById parameters: - name: id in: path description: The request action id required: true schema: type: integer format: int64 responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/RequestActionDTO' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' /v1.0/request-action-file-documents/{id}: get: tags: - Request action file documents handling summary: Generate the token to get the file document with the provided uuid that belongs to the provided request action operationId: generateRequestActionGetFileDocumentToken parameters: - name: id in: path description: The request action id required: true schema: type: integer format: int64 - name: fileDocumentUuid in: query description: The file document uuid required: true schema: type: string format: uuid responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/FileToken' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' /v1.0/request-action-attachments/{id}: get: tags: - Request action attachments handling summary: Generate the token to get the file with the provided uuid that belongs to the provided request action operationId: generateRequestActionGetFileAttachmentToken parameters: - name: id in: path description: The request action id required: true schema: type: integer format: int64 - name: attachmentUuid in: query description: The attachment uuid required: true schema: type: string format: uuid responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/FileToken' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' /v1.0/regulator-users/{userId}/signature: get: tags: - Regulator Users summary: Generate the token to get the signature of the user with the provided user id operationId: generateGetRegulatorSignatureToken parameters: - name: userId in: path description: The regulator user id the signature belongs to required: true schema: type: string - name: signatureUuid in: query description: The signature uuid required: true schema: type: string format: uuid responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/FileToken' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' /v1.0/regulator-authorities/permissions: get: tags: - Regulator Authorities summary: Retrieves the current regulator user's permissions operationId: getCurrentRegulatorUserPermissionsByCa responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/AuthorityManagePermissionDTO' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' /v1.0/regulator-authorities/permissions/{userId}: get: tags: - Regulator Authorities summary: Retrieves the regulator user's permissions operationId: getRegulatorUserPermissionsByCaAndId parameters: - name: userId in: path description: The regulator user id required: true schema: type: string responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/AuthorityManagePermissionDTO' '400': description: "Bad Request\t\n Error Code | Description \t\nAUTHORITY1003 | User is not related to competent authority" content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' /v1.0/regulator-authorities/permissions/group-levels: get: tags: - Regulator Authorities summary: Retrieves the regulator permissions group levels operationId: getRegulatorPermissionGroupLevels responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/AuthorityManagePermissionDTO' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' /v1.0/organisation/accounts: get: tags: - Organisation accounts summary: Retrieves the current user associated organisation accounts operationId: getCurrentUserOrganisationAccounts parameters: - name: term in: query description: The term to search required: false schema: maxLength: 256 minLength: 3 type: string - name: page in: query description: The page number starting from zero required: true schema: minimum: 0 type: integer format: int64 - name: size in: query description: The page size required: true schema: minimum: 1 type: integer format: int64 responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/AccountSearchResults' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' /v1.0/organisation/accounts/registration-number: get: tags: - Organisation accounts summary: Checks if exists active account with the provided registration number operationId: isExistingAccountRegistrationNumber parameters: - name: reg_nbr in: query description: The registration number required: true schema: type: string responses: '200': description: OK content: application/json: schema: type: boolean '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' /v1.0/organisation/account/{id}: get: tags: - Organisation account view summary: Get the organisation account with the provided id operationId: getOrganisationAccountById parameters: - name: id in: path description: The account id required: true schema: type: integer format: int64 responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/OrganisationAccountDTO' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' /v1.0/organisation/account-onboarding/registration-number: get: tags: - Organisation account onboarding registries summary: Retrieve the registration number that corresponds to the given email (if exists) operationId: getCurrentUserVerifiedRegistrationNumber responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/OnboardingRegistrationNumberDTO' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' /v1.0/items/{request-id}: get: tags: - Request items summary: Retrieves the items by request operationId: getItemsByRequest parameters: - name: request-id in: path description: The request id required: true schema: type: string responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/ItemDTOResponse' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' /v1.0/file-notes/{token}: get: tags: - File Notes summary: Get the file note resource for the provided file token operationId: getFileNote parameters: - name: token in: path description: The file note token required: true schema: type: string responses: '200': description: OK content: application/json: schema: type: string format: binary '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' /v1.0/file-documents/{token}: get: tags: - File Documents summary: Get the file document resource for the provided file token operationId: getFileDocument parameters: - name: token in: path description: The file document token required: true schema: type: string responses: '200': description: OK content: application/json: schema: type: string format: binary '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' security: [] /v1.0/file-document-templates/{token}: get: tags: - File Document Templates summary: Get the file document template resource for the provided file token operationId: getFileDocumentTemplate parameters: - name: token in: path description: The file document token required: true schema: type: string responses: '200': description: OK content: application/json: schema: type: string format: binary '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' security: [] /v1.0/file-attachments/{token}: get: tags: - File Attachments summary: Get the file attachment resource for the provided file attachment token operationId: getFileAttachment parameters: - name: token in: path description: The file attachment token required: true schema: type: string responses: '200': description: OK content: application/json: schema: type: string format: binary '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' security: [] /v1.0/document-template-files/{id}: get: tags: - Document Template Files summary: Generates the token to get the file with the provided uuid that belongs to the provided document template operationId: generateGetDocumentTemplateFileToken parameters: - name: id in: path description: The document template id required: true schema: type: integer format: int64 - name: fileUuid in: query description: The file uuid required: true schema: type: string format: uuid responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/FileToken' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' /v1.0/data: get: tags: - Reference Data summary: Retrieves reference data by type operationId: getReferenceData parameters: - name: types in: query description: The reference data types. required: true schema: type: array items: type: string enum: - COUNTRIES - COUNTIES responses: '200': description: OK content: '*/*': schema: type: object additionalProperties: type: array items: $ref: '#/components/schemas/ReferenceDataDTO' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' security: [] /v1.0/company-information/{registrationNumber}: get: tags: - Companies information summary: Retrieves information about the company that corresponds to the provided registration number operationId: getCompanyProfileByRegistrationNumber parameters: - name: registrationNumber in: path description: The registration number required: true schema: maxLength: 8 minLength: 8 type: string responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/CompanyProfileDTO' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '503': description: "Service unavailable\t\n Error Code | Description \t\nCOMPANYINFO1001 | Companies House API is currently unavailable \t\n COMPANYINFO1002 | Companies House API authorization failed \t\n COMPANYINFO1003 | Companies House API rate limiting reached" content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' /v1.0/authorities/verifier-role-codes: get: tags: - Authorities summary: Retrieves the verifier role codes operationId: getVerifierRoleCodes responses: '200': description: OK content: application/json: schema: type: array items: $ref: '#/components/schemas/RoleDTO' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' /v1.0/authorities/regulator-roles: get: tags: - Authorities summary: Returns all regulator roles operationId: getRegulatorRoles responses: '200': description: OK content: application/json: schema: type: array items: $ref: '#/components/schemas/RegulatorRolePermissionsDTO' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' /v1.0/authorities/current-user-state: get: tags: - Authorities summary: Retrieves the status of the logged in user operationId: getCurrentUserState responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/UserStateDTO' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' /v1.0/authorities/account/{accountId}/operator-role-codes: get: tags: - Authorities summary: Retrieves the operator roles operationId: getOperatorRoleCodes parameters: - name: accountId in: path description: The account id required: true schema: type: integer format: int64 responses: '200': description: OK content: application/json: schema: type: array items: $ref: '#/components/schemas/RoleDTO' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' /v1.0/accounts/{id}/verification-body: get: tags: - Account verification body summary: Get the verification body of the account (if exists) operationId: getVerificationBodyOfAccount parameters: - name: id in: path description: The account id required: true schema: type: integer format: int64 responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/VerificationBodyNameInfoDTO' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' /v1.0/accounts/{id}/active-verification-bodies: get: tags: - Account verification body summary: Get all active verification bodies operationId: getActiveVerificationBodies parameters: - name: id in: path description: The account id required: true schema: type: integer format: int64 responses: '200': description: OK content: application/json: schema: type: array items: $ref: '#/components/schemas/VerificationBodyNameInfoDTO' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' /v1.0/account-notes/{accountId}/files: get: tags: - Account Notes summary: Generate the token to get the file that belongs to the provided account note id operationId: generateGetAccountFileNoteToken parameters: - name: accountId in: path description: The account id required: true schema: type: integer format: int64 - name: uuid in: query description: The note file uuid required: true schema: type: string format: uuid responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/FileToken' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' /ui-configuration: get: tags: - UI Configuration summary: Retrieves configuration for UI features operationId: getUIFlags responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/UIPropertiesDTO' security: [] /v1.0/verifier-authorities/{userId}: delete: tags: - Verifier authorities summary: Delete the verifier user that corresponds to the provided user id operationId: deleteVerifierAuthority parameters: - name: userId in: path description: The regulator to be deleted required: true schema: type: string responses: '204': description: No Content '400': description: "Bad Request\t\n Error Code | Description \t\nAUTHORITY1013 | User is not verifier \t\n AUTHORITY1006 | User is not related to verification body \t\n AUTHORITY1007 | Active verifier admin should exist" content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' /v1.0/tasks-assignment/release/{taskId}: delete: tags: - Tasks Release summary: Releases a task operationId: releaseTask parameters: - name: taskId in: path description: The task id to be released required: true schema: type: integer format: int64 responses: '204': description: No Content '400': description: "Bad Request\t\n Error Code | Description \t\nITEM1000 | Can not assign request to the provided user \t\nITEM1001 | Request task is not assignable" content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' /v1.0/regulator-authorities/{userId}: delete: tags: - Regulator Authorities summary: Delete the regulator user that corresponds to the provided user id operationId: deleteRegulatorUserByCompetentAuthority parameters: - name: userId in: path description: The regulator to be deleted required: true schema: type: string responses: '204': description: No Content '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' /v1.0/operator-authorities/account/{accountId}/{userId}: delete: tags: - Operator Authorities summary: Deletes authority from the account operationId: deleteAccountOperatorAuthority parameters: - name: accountId in: path description: The account id required: true schema: type: integer format: int64 - name: userId in: path description: The user id required: true schema: type: string responses: '204': description: No Content '400': description: "Bad Request\t\n Error Code | Description \t\nAUTHORITY1001 | At least one operator admin should exist in account \t\n AUTHORITY1004 | User is not related to account" content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' components: schemas: InvitedUserEnableDTO: required: - invitationToken - password type: object properties: invitationToken: type: string password: type: string description: The verifier user ErrorResponse: type: object properties: code: type: string message: type: string security: type: boolean data: type: array items: type: object AddressDTO: required: - city - country - line1 - postcode type: object properties: line1: maxLength: 255 minLength: 0 type: string line2: maxLength: 255 minLength: 0 type: string city: maxLength: 255 minLength: 0 type: string country: type: string postcode: maxLength: 64 minLength: 0 type: string VerificationBodyUpdateDTO: required: - accreditationReferenceNumber - address - emissionTradingSchemes - id - name type: object properties: id: type: integer format: int64 name: maxLength: 100 minLength: 0 type: string accreditationReferenceNumber: maxLength: 25 minLength: 0 type: string address: $ref: '#/components/schemas/AddressDTO' emissionTradingSchemes: uniqueItems: true type: array items: type: string enum: - UK_ETS_INSTALLATIONS - EU_ETS_INSTALLATIONS - UK_ETS_AVIATION - CORSIA description: The verification body dto to update NoteRequest: required: - note type: object properties: note: maxLength: 10000 minLength: 0 type: string files: uniqueItems: true type: array items: type: string format: uuid description: The note request NotificationTemplateUpdateDTO: required: - subject - text type: object properties: subject: maxLength: 255 minLength: 0 type: string text: maxLength: 10000 minLength: 0 type: string description: The data to update the notification template AccountContactDTO: required: - accountId type: object properties: accountId: type: integer format: int64 userId: type: string CustomMiReportParams: required: - sqlQuery type: object allOf: - $ref: '#/components/schemas/MiReportParams' - type: object properties: sqlQuery: type: string EmptyMiReportParams: type: object allOf: - $ref: '#/components/schemas/MiReportParams' ExecutedRequestActionsMiReportParams: required: - fromDate type: object allOf: - $ref: '#/components/schemas/MiReportParams' - type: object properties: fromDate: type: string format: date toDate: type: string format: date MiReportParams: type: object properties: reportType: type: string enum: - LIST_OF_ACCOUNTS_USERS_CONTACTS - COMPLETED_WORK - REGULATOR_OUTSTANDING_REQUEST_TASKS - LIST_OF_ACCOUNTS_ASSIGNED_REGULATOR_SITE_CONTACTS - LIST_OF_VERIFICATION_BODY_USERS - NOC_SUBMITTED_DATA_P3 - CUSTOM - ACTION_PLAN_SUBMITTED_DATA_P3 - PROGRESS_UPDATE_1_SUBMITTED_DATA_P3 - PROGRESS_UPDATE_2_SUBMITTED_DATA_P3 discriminator: propertyName: reportType OutstandingRegulatorRequestTasksMiReportParams: type: object allOf: - $ref: '#/components/schemas/MiReportParams' - type: object properties: requestTaskTypes: uniqueItems: true type: array items: type: string enum: - ORGANISATION_ACCOUNT_OPENING_APPLICATION_REVIEW - NOTIFICATION_OF_COMPLIANCE_P3_APPLICATION_SUBMIT - NOTIFICATION_OF_COMPLIANCE_P3_APPLICATION_EDIT - NOTIFICATION_OF_COMPLIANCE_P3_WAIT_FOR_EDIT - ACTION_PLAN_P3_APPLICATION_SUBMIT - ACCOUNT_CLOSURE_SUBMIT - PROGRESS_UPDATE_1_P3_APPLICATION_SUBMIT - PROGRESS_UPDATE_2_P3_APPLICATION_SUBMIT userIds: uniqueItems: true type: array items: type: string AccountAssignedRegulatorSiteContact: type: object properties: userId: type: string Account ID: type: string Account type: type: string Account name: type: string Account status: type: string User status: type: string Assigned regulator: type: string AccountAssignedRegulatorSiteContactsMiReportResult: required: - columnNames - reportType type: object allOf: - $ref: '#/components/schemas/MiReportResult' - type: object properties: results: type: array items: $ref: '#/components/schemas/AccountAssignedRegulatorSiteContact' AccountUserContact: type: object properties: userId: type: string Account registration number: type: string Account ID: type: string Account name: type: string Account status: type: string Is User Primary contact?: type: boolean Is User Secondary contact?: type: boolean User status: type: string Name: type: string Telephone: type: string Last logon: type: string Email: type: string User role: type: string Location of registered office: type: string AccountsUsersContactsMiReportResult: required: - columnNames - reportType type: object allOf: - $ref: '#/components/schemas/MiReportResult' - type: object properties: results: type: array items: $ref: '#/components/schemas/AccountUserContact' CustomMiReportResult: required: - columnNames - reportType type: object allOf: - $ref: '#/components/schemas/MiReportResult' - type: object properties: results: type: array items: type: object additionalProperties: type: object ExecutedRequestAction: type: object properties: Account ID: type: string Account type: type: string enum: - ORGANISATION Account name: type: string Account status: type: string Workflow ID: type: string Workflow type: type: string enum: - ORGANISATION_ACCOUNT_OPENING - NOTIFICATION_OF_COMPLIANCE_P3 - ACTION_PLAN_P3 - ACCOUNT_CLOSURE - PROGRESS_UPDATE_1_P3 - PROGRESS_UPDATE_2_P3 Workflow status: type: string enum: - IN_PROGRESS - COMPLETED - CANCELLED - WITHDRAWN - APPROVED - REJECTED - CLOSED - EXEMPT - TERMINATED Timeline event type: type: string enum: - ORGANISATION_ACCOUNT_OPENING_APPLICATION_SUBMITTED - ORGANISATION_ACCOUNT_OPENING_APPROVED - ORGANISATION_ACCOUNT_OPENING_REJECTED - ORGANISATION_ACCOUNT_OPENING_CREATED - NOTIFICATION_OF_COMPLIANCE_P3_APPLICATION_SENT_TO_EDIT - NOTIFICATION_OF_COMPLIANCE_P3_APPLICATION_SUBMITTED - NOTIFICATION_OF_COMPLIANCE_P3_APPLICATION_RETURNED_TO_SUBMIT - NOTIFICATION_OF_COMPLIANCE_P3_APPLICATION_RE_INITIATED - RFI_SUBMITTED - RFI_CANCELLED - RFI_EXPIRED - RFI_RESPONSE_SUBMITTED - RDE_SUBMITTED - RDE_ACCEPTED - RDE_REJECTED - RDE_FORCE_ACCEPTED - RDE_FORCE_REJECTED - RDE_EXPIRED - RDE_CANCELLED - PAYMENT_MARKED_AS_PAID - PAYMENT_MARKED_AS_RECEIVED - PAYMENT_COMPLETED - PAYMENT_CANCELLED - REQUEST_TERMINATED - VERIFICATION_STATEMENT_CANCELLED - ACTION_PLAN_P3_APPLICATION_SUBMITTED - ACTION_PLAN_P3_APPLICATION_RE_INITIATED - ACTION_PLAN_APPLICATION_CANCELLED - ACCOUNT_CLOSURE_APPLICATION_SUBMITTED - ACCOUNT_CLOSURE_APPLICATION_CANCELLED - PROGRESS_UPDATE_1_P3_APPLICATION_SUBMITTED - PROGRESS_UPDATE_1_APPLICATION_CANCELLED - PROGRESS_UPDATE_1_P3_APPLICATION_RE_INITIATED - PROGRESS_UPDATE_2_P3_APPLICATION_SUBMITTED - PROGRESS_UPDATE_2_APPLICATION_CANCELLED - PROGRESS_UPDATE_2_P3_APPLICATION_RE_INITIATED Timeline event Completed by: type: string Timeline event Date Completed: type: string format: date-time ExecutedRequestActionsMiReportResult: required: - columnNames - reportType type: object allOf: - $ref: '#/components/schemas/MiReportResult' - type: object properties: results: type: array items: $ref: '#/components/schemas/ExecutedRequestAction' MiReportResult: required: - columnNames - reportType type: object properties: reportType: type: string enum: - LIST_OF_ACCOUNTS_USERS_CONTACTS - COMPLETED_WORK - REGULATOR_OUTSTANDING_REQUEST_TASKS - LIST_OF_ACCOUNTS_ASSIGNED_REGULATOR_SITE_CONTACTS - LIST_OF_VERIFICATION_BODY_USERS - NOC_SUBMITTED_DATA_P3 - CUSTOM - ACTION_PLAN_SUBMITTED_DATA_P3 - PROGRESS_UPDATE_1_SUBMITTED_DATA_P3 - PROGRESS_UPDATE_2_SUBMITTED_DATA_P3 columnNames: type: array items: type: string discriminator: propertyName: reportType mapping: LIST_OF_ACCOUNTS_USERS_CONTACTS: '#/components/schemas/AccountsUsersContactsMiReportResult' COMPLETED_WORK: '#/components/schemas/ExecutedRequestActionsMiReportResult' REGULATOR_OUTSTANDING_REQUEST_TASKS: '#/components/schemas/OutstandingRequestTasksMiReportResult' LIST_OF_ACCOUNTS_ASSIGNED_REGULATOR_SITE_CONTACTS: '#/components/schemas/AccountAssignedRegulatorSiteContactsMiReportResult' CUSTOM: '#/components/schemas/CustomMiReportResult' OutstandingRequestTask: type: object properties: requestTaskAssignee: type: string Account ID: type: string Account type: type: string enum: - ORGANISATION Account name: type: string Legal Entity name: type: string Workflow ID: type: string Workflow type: type: string enum: - ORGANISATION_ACCOUNT_OPENING - NOTIFICATION_OF_COMPLIANCE_P3 - ACTION_PLAN_P3 - ACCOUNT_CLOSURE - PROGRESS_UPDATE_1_P3 - PROGRESS_UPDATE_2_P3 Workflow task name: type: string enum: - ORGANISATION_ACCOUNT_OPENING_APPLICATION_REVIEW - NOTIFICATION_OF_COMPLIANCE_P3_APPLICATION_SUBMIT - NOTIFICATION_OF_COMPLIANCE_P3_APPLICATION_EDIT - NOTIFICATION_OF_COMPLIANCE_P3_WAIT_FOR_EDIT - ACTION_PLAN_P3_APPLICATION_SUBMIT - ACCOUNT_CLOSURE_SUBMIT - PROGRESS_UPDATE_1_P3_APPLICATION_SUBMIT - PROGRESS_UPDATE_2_P3_APPLICATION_SUBMIT Workflow task assignee: type: string Workflow task due date: type: string format: date Workflow task days remaining: type: integer format: int64 OutstandingRequestTasksMiReportResult: required: - columnNames - reportType type: object allOf: - $ref: '#/components/schemas/MiReportResult' - type: object properties: results: type: array items: $ref: '#/components/schemas/OutstandingRequestTask' TokenDTO: required: - token type: object properties: token: type: string description: The change 2FA token InvitedUserInfoDTO: type: object properties: email: type: string VerifierUserInvitationDTO: required: - email - firstName - lastName - phoneNumber type: object properties: email: maxLength: 255 minLength: 0 type: string firstName: maxLength: 255 minLength: 0 type: string lastName: maxLength: 255 minLength: 0 type: string roleCode: type: string phoneNumber: maxLength: 255 minLength: 0 type: string mobileNumber: maxLength: 255 minLength: 0 type: string description: The verifier user information AdminVerifierUserInvitationDTO: required: - email - firstName - lastName - phoneNumber type: object properties: email: maxLength: 255 minLength: 0 type: string firstName: maxLength: 255 minLength: 0 type: string lastName: maxLength: 255 minLength: 0 type: string phoneNumber: maxLength: 255 minLength: 0 type: string mobileNumber: maxLength: 255 minLength: 0 type: string description: The verifier user information VerifierAuthorityUpdateDTO: required: - authorityStatus - userId type: object properties: userId: type: string authorityStatus: type: string enum: - PENDING - TEMP_DISABLED_PENDING - ACTIVE - DISABLED - ACCEPTED - TEMP_DISABLED roleCode: type: string VerificationBodyCreationDTO: required: - accreditationReferenceNumber - address - adminVerifierUserInvitation - emissionTradingSchemes - name type: object properties: name: maxLength: 100 minLength: 0 type: string accreditationReferenceNumber: maxLength: 25 minLength: 0 type: string address: $ref: '#/components/schemas/AddressDTO' emissionTradingSchemes: uniqueItems: true type: array items: type: string enum: - UK_ETS_INSTALLATIONS - EU_ETS_INSTALLATIONS - UK_ETS_AVIATION - CORSIA adminVerifierUserInvitation: $ref: '#/components/schemas/AdminVerifierUserInvitationDTO' description: The verification body creation dto VerificationBodyInfoDTO: type: object properties: id: type: integer format: int64 name: type: string status: type: string enum: - ACTIVE - PENDING - DISABLED InvitationTokenDTO: required: - token - type type: object properties: token: type: string type: type: string enum: - USER_REGISTRATION - OPERATOR_INVITATION - REGULATOR_INVITATION - VERIFIER_INVITATION - CHANGE_2FA - GET_FILE - RESET_PASSWORD description: The verification token EmailDTO: type: object properties: email: maxLength: 255 minLength: 0 type: string description: The user email OneTimePasswordDTO: required: - password type: object properties: password: type: string description: The one time authenticator code ResetPasswordDTO: required: - otp - password - token type: object properties: token: type: string otp: pattern: \d{6} type: string password: type: string description: The new password UserFeedbackDto: required: - creatingAccountRate - onBoardingRate - onlineGuidanceRate - satisfactionRate - tasksRate - userRegistrationRate type: object properties: satisfactionRate: type: string enum: - VERY_SATISFIED - SATISFIED - NEITHER_SATISFIED_NOR_DISSATISFIED - DISSATISFIED - VERY_DISSATISFIED - NOT_APPLICABLE_NOT_USED_YET satisfactionRateReason: maxLength: 1200 minLength: 0 type: string userRegistrationRate: type: string enum: - VERY_SATISFIED - SATISFIED - NEITHER_SATISFIED_NOR_DISSATISFIED - DISSATISFIED - VERY_DISSATISFIED - NOT_APPLICABLE_NOT_USED_YET userRegistrationRateReason: maxLength: 1200 minLength: 0 type: string onlineGuidanceRate: type: string enum: - VERY_SATISFIED - SATISFIED - NEITHER_SATISFIED_NOR_DISSATISFIED - DISSATISFIED - VERY_DISSATISFIED - NOT_APPLICABLE_NOT_USED_YET onlineGuidanceRateReason: maxLength: 1200 minLength: 0 type: string creatingAccountRate: type: string enum: - VERY_SATISFIED - SATISFIED - NEITHER_SATISFIED_NOR_DISSATISFIED - DISSATISFIED - VERY_DISSATISFIED - NOT_APPLICABLE_NOT_USED_YET creatingAccountRateReason: maxLength: 1200 minLength: 0 type: string onBoardingRate: type: string enum: - VERY_SATISFIED - SATISFIED - NEITHER_SATISFIED_NOR_DISSATISFIED - DISSATISFIED - VERY_DISSATISFIED - NOT_APPLICABLE_NOT_USED_YET onBoardingRateReason: maxLength: 1200 minLength: 0 type: string tasksRate: type: string enum: - VERY_SATISFIED - SATISFIED - NEITHER_SATISFIED_NOR_DISSATISFIED - DISSATISFIED - VERY_DISSATISFIED - NOT_APPLICABLE_NOT_USED_YET tasksRateReason: maxLength: 1200 minLength: 0 type: string improvementSuggestion: maxLength: 1200 minLength: 0 type: string description: The user feedback AccountClosure: required: - reason type: object properties: reason: maxLength: 10000 minLength: 0 type: string AccountClosureSaveApplicationRequestTaskActionPayload: type: object allOf: - $ref: '#/components/schemas/RequestTaskActionPayload' - type: object properties: accountClosure: $ref: '#/components/schemas/AccountClosure' AccountOpeningDecisionPayload: required: - decision - reason type: object properties: decision: type: string enum: - APPROVED - REJECTED reason: maxLength: 255 minLength: 0 type: string ActionPlanEnergyEfficiencyMeasure: required: - haveEnergyEfficiencyMeasures type: object properties: haveEnergyEfficiencyMeasures: type: boolean noMeasureContext: maxLength: 10000 minLength: 0 type: string energyEfficiencyMeasures: maxItems: 100 minItems: 0 type: array items: $ref: '#/components/schemas/EnergyEfficiencyMeasure' ActionPlanP3: required: - energyEfficiencyMeasure type: object properties: energyEfficiencyMeasure: $ref: '#/components/schemas/ActionPlanEnergyEfficiencyMeasure' responsibleOfficerConfirmation: uniqueItems: true type: array items: type: string enum: - ESOS_ASSESSMENT_NOTIFICATION - ESTIMATION_METHOD_DESCRIPTION ActionPlanP3SaveApplicationRequestTaskActionPayload: type: object allOf: - $ref: '#/components/schemas/RequestTaskActionPayload' - type: object properties: actionPlanP3: $ref: '#/components/schemas/ActionPlanP3' actionPlanSectionsCompleted: type: object additionalProperties: type: string AlternativeComplianceRoutes: type: object properties: totalEnergyConsumptionReduction: $ref: '#/components/schemas/TotalEnergyConsumptionReduction' energyConsumptionReduction: $ref: '#/components/schemas/EnergyConsumptionPotentialReduction' energyConsumptionReductionCategories: $ref: '#/components/schemas/EnergySavingsCategoriesPotentialReduction' assets: $ref: '#/components/schemas/Assets' iso50001CertificateDetails: $ref: '#/components/schemas/CertificateDetails' decCertificatesDetails: $ref: '#/components/schemas/CertificatesDetails' gdaCertificatesDetails: $ref: '#/components/schemas/CertificatesDetails' AssessmentPersonnel: type: object properties: personnel: type: array items: $ref: '#/components/schemas/PersonnelDetails' Assets: type: object properties: iso50001: maxLength: 10000 minLength: 0 type: string dec: maxLength: 10000 minLength: 0 type: string gda: maxLength: 10000 minLength: 0 type: string CertificateDetails: type: object properties: certificateNumber: maxLength: 10000 minLength: 0 type: string validFrom: type: string format: date validUntil: type: string format: date CertificatesDetails: required: - certificateDetails type: object properties: certificateDetails: type: array items: $ref: '#/components/schemas/CertificateDetails' ClassificationCodes: required: - codes - type type: object properties: type: type: string enum: - SIC - OTHER otherTypeName: maxLength: 255 minLength: 0 type: string codes: maxItems: 4 minItems: 1 type: array items: maxLength: 255 minLength: 0 type: string ClassificationCodesDetails: required: - areSameAsRU type: object properties: areSameAsRU: type: boolean codes: $ref: '#/components/schemas/ClassificationCodes' ComplianceRoute: required: - areEstimationMethodsRecorded - estimatedCalculationTypes - partsProhibitedFromDisclosingExist type: object properties: estimatedCalculationTypes: uniqueItems: true type: array items: type: string enum: - TOTAL_OR_SIGNIFICANT_ENERGY_CONSUMPTION - CONVERSION_OF_TOTAL_OR_SIGNIFICANT_ENERGY_CONSUMPTION - AMOUNT_OF_TOTAL_OR_SIGNIFICANT_ENERGY_CONSUMPTION - ENERGY_CONSUMPTION_OVER_TWELVE_MONTHS - NONE_OF_THE_ABOVE areTwelveMonthsVerifiableDataUsed: type: boolean twelveMonthsVerifiableDataUsedReason: maxLength: 10000 minLength: 0 type: string areEstimationMethodsRecorded: type: string enum: - 'YES' - 'NO' - SKIP_QUESTION energyConsumptionProfilingUsed: type: string enum: - 'YES' - 'NO' - NOT_APPLICABLE areEnergyConsumptionProfilingMethodsRecorded: type: string enum: - 'YES' - 'NO' - SKIP_QUESTION isEnergyConsumptionProfilingNotUsedRecorded: type: string enum: - 'YES' - 'NO' - SKIP_QUESTION energyAudits: type: array items: $ref: '#/components/schemas/EnergyAudit' partsProhibitedFromDisclosingExist: type: boolean partsProhibitedFromDisclosing: maxLength: 10000 minLength: 0 type: string partsProhibitedFromDisclosingReason: maxLength: 10000 minLength: 0 type: string ComplianceRouteDistribution: required: - displayEnergyCertificatePct - energyAuditsPct - energyNotAuditedPct - greenDealAssessmentPct - iso50001Pct - totalPct type: object properties: iso50001Pct: maximum: 100 minimum: 0 type: integer format: int32 displayEnergyCertificatePct: maximum: 100 minimum: 0 type: integer format: int32 greenDealAssessmentPct: maximum: 100 minimum: 0 type: integer format: int32 energyAuditsPct: maximum: 100 minimum: 0 type: integer format: int32 energyNotAuditedPct: maximum: 5 minimum: 0 type: integer format: int32 totalPct: maximum: 100 minimum: 100 type: integer format: int32 Confirmations: required: - responsibleOfficerDetails type: object properties: responsibilityAssessmentTypes: uniqueItems: true type: array items: type: string enum: - SATISFIED_WITH_ORGANISATION_WITHIN_SCOPE_OF_THE_SCHEME - SATISFIED_WITH_ORGANISATION_COMPLIANT_WITH_SCOPE_OF_THE_SCHEME - SATISFIED_WITH_INFORMATION_PROVIDED_UNLESS_THERE_IS_A_DECLARED_REASON - SATISFIED_WITH_INFORMATION_PROVIDED noEnergyResponsibilityAssessmentTypes: uniqueItems: true type: array items: type: string enum: - SATISFIED_WITH_ORGANISATION_WITHIN_SCOPE_OF_THE_SCHEME - SATISFIED_WITH_ORGANISATION_COMPLIANT_WITH_SCOPE_OF_THE_SCHEME - SATISFIED_WITH_INFORMATION_PROVIDED_UNLESS_THERE_IS_A_DECLARED_REASON - SATISFIED_WITH_INFORMATION_PROVIDED responsibleOfficerDetails: $ref: '#/components/schemas/ContactPerson' reviewAssessmentDate: type: string format: date secondResponsibleOfficerEnergyTypes: uniqueItems: true type: array items: type: string enum: - SATISFIED_WITH_ORGANISATION_WITHIN_SCOPE_OF_THE_SCHEME - SATISFIED_WITH_ORGANISATION_COMPLIANT_WITH_SCOPE_OF_THE_SCHEME - SATISFIED_WITH_INFORMATION_PROVIDED_UNLESS_THERE_IS_A_DECLARED_REASON - SATISFIED_WITH_INFORMATION_PROVIDED secondResponsibleOfficerDetails: $ref: '#/components/schemas/ContactPerson' ContactPerson: required: - city - email - firstName - lastName - line1 - postcode type: object properties: firstName: maxLength: 255 minLength: 0 type: string lastName: maxLength: 255 minLength: 0 type: string jobTitle: maxLength: 255 minLength: 0 type: string phoneNumber: $ref: '#/components/schemas/PhoneNumberDTO' mobileNumber: $ref: '#/components/schemas/PhoneNumberDTO' email: maxLength: 255 minLength: 0 type: string line1: maxLength: 255 minLength: 0 type: string line2: maxLength: 255 minLength: 0 type: string city: maxLength: 255 minLength: 0 type: string county: maxLength: 255 minLength: 0 type: string postcode: maxLength: 64 minLength: 0 type: string ContactPersons: required: - hasSecondaryContact - primaryContact type: object properties: primaryContact: $ref: '#/components/schemas/ContactPerson' hasSecondaryContact: type: boolean secondaryContact: $ref: '#/components/schemas/ContactPerson' CountyAddressDTO: required: - city - line1 - postcode type: object properties: line1: maxLength: 255 minLength: 0 type: string line2: maxLength: 255 minLength: 0 type: string city: maxLength: 255 minLength: 0 type: string county: maxLength: 255 minLength: 0 type: string postcode: maxLength: 64 minLength: 0 type: string EnergyAudit: required: - description - numberOfSitesVisited - reason type: object properties: description: maxLength: 10000 minLength: 0 type: string numberOfSitesCovered: type: integer format: int32 numberOfSitesVisited: type: integer format: int32 reason: maxLength: 10000 minLength: 0 type: string EnergyConsumption: type: object properties: buildings: minimum: 0 type: integer format: int64 transport: minimum: 0 type: integer format: int64 industrialProcesses: minimum: 0 type: integer format: int64 otherProcesses: minimum: 0 type: integer format: int64 total: type: integer format: int64 EnergyConsumptionDetails: required: - additionalInformationExists - energyIntensityRatioData - significantEnergyConsumptionExists - totalEnergyConsumption type: object properties: totalEnergyConsumption: $ref: '#/components/schemas/EnergyConsumption' significantEnergyConsumptionExists: type: boolean significantEnergyConsumption: $ref: '#/components/schemas/SignificantEnergyConsumption' energyIntensityRatioData: $ref: '#/components/schemas/OrganisationalEnergyIntensityRatioData' additionalInformationExists: type: boolean additionalInformation: maxLength: 10000 minLength: 0 type: string EnergyConsumptionPotentialReduction: type: object properties: buildings: $ref: '#/components/schemas/PotentialReductionPair' transport: $ref: '#/components/schemas/PotentialReductionPair' industrialProcesses: $ref: '#/components/schemas/PotentialReductionPair' otherProcesses: $ref: '#/components/schemas/PotentialReductionPair' energyConsumptionTotal: type: integer format: int64 energyCostTotal: type: string format: decimal EnergyEfficiencyMeasure: required: - energySavingsEstimateCalculatedType - implementationDateForMeasure - isEnergySavingsOpportunityReportedInAudit - measureName type: object properties: measureName: maxLength: 255 minLength: 0 type: string isEnergySavingsOpportunityReportedInAudit: type: boolean measureScheme: uniqueItems: true type: array items: type: string enum: - CLIMATE_CHANGE_AGREEMENTS_CCA - STREAMLINED_ENERGY_AND_CARBON_REPORTING_SECR - UK_EMISSIONS_TRADING_SCHEME_ETS - UN_RACE_TO_ZERO - SCIENCE_BASED_TARGETS_INITIATIVE_SBTI - CARBON_REDUCTION_PLANS - OTHER otherMeasureSchemeName: maxLength: 255 minLength: 0 type: string totalEnergySavingsExpected: $ref: '#/components/schemas/TotalEnergySavingsExpected' implementationDateForMeasure: type: string format: date energySavingsEstimateCalculatedType: type: string enum: - ENERGY_AUDIT - ALTERNATIVE_COMPLIANCE_METHOD - OTHER_REASONABLE_ESTIMATION_METHOD estimationMethodDescription: maxLength: 10000 minLength: 0 type: string measureContext: maxLength: 10000 minLength: 0 type: string EnergyIntensityRatio: required: - ratio - unit type: object properties: ratio: type: string format: decimal unit: maxLength: 255 minLength: 0 type: string EnergyIntensityRatioDetails: required: - energyIntensityRatios type: object properties: energyIntensityRatios: type: array items: $ref: '#/components/schemas/EnergyIntensityRatio' additionalInformation: maxLength: 10000 minLength: 0 type: string EnergySavingsAchieved: required: - energySavingsRecommendationsExist type: object properties: energySavingsEstimation: $ref: '#/components/schemas/EnergyConsumption' energySavingCategoriesExist: type: string enum: - 'YES' - 'NO' - SKIP_QUESTION energySavingsCategories: $ref: '#/components/schemas/EnergySavingsCategories' totalEnergySavingsEstimation: minimum: 0 type: integer format: int64 energySavingsRecommendationsExist: type: string enum: - 'YES' - 'NO' - SKIP_QUESTION energySavingsRecommendations: $ref: '#/components/schemas/EnergySavingsRecommendations' details: maxLength: 10000 minLength: 0 type: string EnergySavingsCategories: type: object properties: energyManagementPractices: minimum: 0 type: integer format: int64 behaviourChangeInterventions: minimum: 0 type: integer format: int64 training: minimum: 0 type: integer format: int64 controlsImprovements: minimum: 0 type: integer format: int64 capitalInvestments: minimum: 0 type: integer format: int64 otherMeasures: minimum: 0 type: integer format: int64 total: type: integer format: int64 EnergySavingsCategoriesPotentialReduction: type: object properties: energyManagementPractices: $ref: '#/components/schemas/PotentialReductionPair' behaviourChangeInterventions: $ref: '#/components/schemas/PotentialReductionPair' training: $ref: '#/components/schemas/PotentialReductionPair' controlsImprovements: $ref: '#/components/schemas/PotentialReductionPair' capitalInvestments: $ref: '#/components/schemas/PotentialReductionPair' otherMeasures: $ref: '#/components/schemas/PotentialReductionPair' energyConsumptionTotal: type: integer format: int64 energyCostTotal: type: string format: decimal EnergySavingsOpportunities: type: object properties: implementationEnergyConsumption: $ref: '#/components/schemas/PotentialReductionPair' energyConsumption: $ref: '#/components/schemas/EnergyConsumptionPotentialReduction' energySavingsCategories: $ref: '#/components/schemas/EnergySavingsCategoriesPotentialReduction' EnergySavingsRecommendations: type: object properties: energyAudits: maximum: 100 minimum: 0 type: integer format: int32 alternativeComplianceRoutes: maximum: 100 minimum: 0 type: integer format: int32 other: maximum: 100 minimum: 0 type: integer format: int32 total: minimum: 0 type: integer format: int32 FirstCompliancePeriod: required: - informationExists type: object properties: informationExists: type: string enum: - 'YES' - 'NO' - SKIP_QUESTION firstCompliancePeriodDetails: $ref: '#/components/schemas/FirstCompliancePeriodDetails' FirstCompliancePeriodDetails: type: object properties: organisationalEnergyConsumption: minimum: 0 type: integer format: int64 organisationalEnergyConsumptionBreakdown: $ref: '#/components/schemas/EnergyConsumption' significantEnergyConsumption: $ref: '#/components/schemas/SignificantEnergyConsumption' explanation: maxLength: 10000 minLength: 0 type: string potentialReduction: $ref: '#/components/schemas/EnergyConsumption' GroupChange: type: object properties: otherResponsibleUndertakingName: maxLength: 255 minLength: 0 type: string otherResponsibleUndertakingCrn: maxLength: 255 minLength: 0 type: string LeadAssessor: required: - hasLeadAssessorConfirmation - leadAssessorDetails - leadAssessorType type: object properties: leadAssessorType: type: string enum: - INTERNAL - EXTERNAL hasLeadAssessorConfirmation: type: boolean leadAssessorDetails: $ref: '#/components/schemas/LeadAssessorDetails' LeadAssessorDetails: required: - email - firstName - lastName - membershipNumber - professionalBody type: object properties: firstName: maxLength: 255 minLength: 0 type: string lastName: maxLength: 255 minLength: 0 type: string email: maxLength: 255 minLength: 0 type: string professionalBody: type: string enum: - ASSOCIATION_OF_ENERGY_ENGINEERS - CIBSE_THE_CHARTERED_INSTITUTION_OF_BUILDING_SERVICES_ENGINEERS - ELMHURST_ENERGY_SYSTEMS - ENERGY_INSTITUTE - ENERGY_MANAGERS_ASSOCIATION - INSTITUTION_OF_CHEMICAL_ENGINEERS - INSTITUTE_OF_ENVIRONMENTAL_MANAGEMENT_AND_ASSESSMENT - QUIDOS - STROMA_CERTIFICATION_LTD membershipNumber: maxLength: 255 minLength: 0 type: string NocP3: required: - reportingObligation type: object properties: reportingObligation: $ref: '#/components/schemas/ReportingObligation' responsibleUndertaking: $ref: '#/components/schemas/ResponsibleUndertaking' contactPersons: $ref: '#/components/schemas/ContactPersons' organisationStructure: $ref: '#/components/schemas/OrganisationStructure' complianceRoute: $ref: '#/components/schemas/ComplianceRoute' energyConsumptionDetails: $ref: '#/components/schemas/EnergyConsumptionDetails' energySavingsOpportunities: $ref: '#/components/schemas/EnergySavingsOpportunities' alternativeComplianceRoutes: $ref: '#/components/schemas/AlternativeComplianceRoutes' energySavingsAchieved: $ref: '#/components/schemas/EnergySavingsAchieved' leadAssessor: $ref: '#/components/schemas/LeadAssessor' assessmentPersonnel: $ref: '#/components/schemas/AssessmentPersonnel' secondCompliancePeriod: $ref: '#/components/schemas/SecondCompliancePeriod' firstCompliancePeriod: $ref: '#/components/schemas/FirstCompliancePeriod' confirmations: $ref: '#/components/schemas/Confirmations' NotificationOfComplianceP3SaveApplicationRequestTaskActionPayload: type: object allOf: - $ref: '#/components/schemas/RequestTaskActionPayload' - type: object properties: noc: $ref: '#/components/schemas/NocP3' nocSectionsCompleted: type: object additionalProperties: type: string OrganisationAccountOpeningAmendApplicationRequestTaskActionPayload: required: - city - codes - line1 - name - postcode - type type: object allOf: - $ref: '#/components/schemas/RequestTaskActionPayload' - type: object properties: name: maxLength: 255 minLength: 0 type: string line1: maxLength: 255 minLength: 0 type: string line2: maxLength: 255 minLength: 0 type: string city: maxLength: 255 minLength: 0 type: string county: maxLength: 255 minLength: 0 type: string postcode: maxLength: 64 minLength: 0 type: string type: type: string enum: - SIC - OTHER otherTypeName: maxLength: 255 minLength: 0 type: string codes: maxItems: 4 minItems: 1 type: array items: maxLength: 255 minLength: 0 type: string OrganisationAccountOpeningSubmitDecisionRequestTaskActionPayload: required: - decision - reason type: object allOf: - $ref: '#/components/schemas/RequestTaskActionPayload' - type: object properties: decision: type: string enum: - APPROVED - REJECTED reason: maxLength: 255 minLength: 0 type: string OrganisationAssociatedWithRU: required: - classificationCodesDetails - hasCeasedToBePartOfGroup - isParentOfResponsibleUndertaking - isPartOfArrangement - isPartOfFranchise - isSubsidiaryOfResponsibleUndertaking - organisationName - registrationNumberExist type: object properties: registrationNumberExist: type: boolean registrationNumber: pattern: ^(?:\d{8}|[A-Z]\d{7}|[A-Z]{2}\d{5}[A-Z0-9])$ type: string organisationName: maxLength: 255 minLength: 0 type: string isPartOfArrangement: type: boolean isParentOfResponsibleUndertaking: type: boolean isSubsidiaryOfResponsibleUndertaking: type: boolean isPartOfFranchise: type: boolean hasCeasedToBePartOfGroup: type: boolean classificationCodesDetails: $ref: '#/components/schemas/ClassificationCodesDetails' OrganisationContactDetails: required: - email - phoneNumber type: object properties: email: maxLength: 255 minLength: 0 type: string phoneNumber: $ref: '#/components/schemas/PhoneNumberDTO' OrganisationStructure: required: - isGroupStructureChartProvided - isHighestParent - isNonComplyingUndertakingsIncluded type: object properties: isHighestParent: type: boolean isNonComplyingUndertakingsIncluded: type: boolean organisationUndertakingDetails: uniqueItems: true type: array items: $ref: '#/components/schemas/OrganisationUndertakingDetails' organisationsAssociatedWithRU: uniqueItems: true type: array items: $ref: '#/components/schemas/OrganisationAssociatedWithRU' isGroupStructureChartProvided: type: boolean OrganisationUndertakingDetails: required: - organisationName type: object properties: organisationName: maxLength: 255 minLength: 0 type: string registrationNumber: maxLength: 255 minLength: 0 type: string OrganisationalEnergyIntensityRatioData: type: object properties: buildings: $ref: '#/components/schemas/EnergyIntensityRatioDetails' transport: $ref: '#/components/schemas/EnergyIntensityRatioDetails' industrialProcesses: $ref: '#/components/schemas/EnergyIntensityRatioDetails' otherProcesses: $ref: '#/components/schemas/EnergyIntensityRatioDetails' OverseasParentDetails: required: - name type: object properties: name: maxLength: 255 minLength: 0 type: string tradingName: maxLength: 255 minLength: 0 type: string PaymentCancelRequestTaskActionPayload: required: - reason type: object allOf: - $ref: '#/components/schemas/RequestTaskActionPayload' - type: object properties: reason: type: string PaymentMarkAsReceivedRequestTaskActionPayload: required: - receivedDate type: object allOf: - $ref: '#/components/schemas/RequestTaskActionPayload' - type: object properties: receivedDate: type: string format: date PersonnelDetails: required: - firstName - lastName - type type: object properties: firstName: maxLength: 255 minLength: 0 type: string lastName: maxLength: 255 minLength: 0 type: string type: type: string enum: - INTERNAL - EXTERNAL PhoneNumberDTO: type: object properties: countryCode: type: string number: maxLength: 255 minLength: 0 type: string PotentialReductionPair: type: object properties: energyConsumption: type: integer format: int64 energyCost: type: string format: decimal ProgressUpdate1P3AddedMeasure: required: - estimationMethodType - measureName - reductionEnergyConsumption2024To2025 type: object properties: measureName: maxLength: 255 minLength: 0 type: string measureScheme: uniqueItems: true type: array items: type: string enum: - CLIMATE_CHANGE_AGREEMENTS_CCA - STREAMLINED_ENERGY_AND_CARBON_REPORTING_SECR - UK_EMISSIONS_TRADING_SCHEME_ETS - UN_RACE_TO_ZERO - SCIENCE_BASED_TARGETS_INITIATIVE_SBTI - CARBON_REDUCTION_PLANS - OTHER otherMeasureSchemeName: maxLength: 255 minLength: 0 type: string reductionEnergyConsumption2024To2025: type: integer format: int64 reductionEnergyConsumption2023To2024: type: integer format: int64 estimationMethodType: type: string enum: - ENERGY_AUDIT - OTHER_METHOD - NO_METHOD_USED estimationMethodDescription: maxLength: 10000 minLength: 0 type: string measureContext: maxLength: 10000 minLength: 0 type: string ProgressUpdate1P3EnergyEfficiencyMeasure: type: object properties: measureIsImplemented: type: boolean measureImplementedByTheDateInActionPlan: type: boolean reductionEnergyConsumption2024To2025: type: integer format: int64 reductionEnergyConsumption2023To2024: type: integer format: int64 estimationMethodType: type: string enum: - ENERGY_AUDIT - ACTION_PLAN_ESTIMATE - OTHER_METHOD - NO_METHOD_USED estimationMethodDescription: maxLength: 10000 minLength: 0 type: string providedContext: maxLength: 10000 minLength: 0 type: string reportReduction2024To2025: type: boolean reportReduction2023To2024: type: boolean ProgressUpdate1P3MeasuresUpdatePayload: type: object properties: progressUpdate1P3Measures: maxItems: 100 minItems: 0 type: array items: $ref: '#/components/schemas/ProgressUpdate1P3UpdatedMeasurePayload' progressUpdate1P3AddedMeasure: maxItems: 50 minItems: 0 type: array items: $ref: '#/components/schemas/ProgressUpdate1P3AddedMeasure' ProgressUpdate1P3Payload: type: object properties: groupChange: $ref: '#/components/schemas/GroupChange' progressUpdate1P3MeasuresUpdate: $ref: '#/components/schemas/ProgressUpdate1P3MeasuresUpdatePayload' responsibleOfficerConfirmation: uniqueItems: true type: array items: type: string enum: - ESOS_ACTION_PLAN_COMPLIANCE - ESTIMATION_METHOD_DOCUMENTED ProgressUpdate1P3SaveApplicationRequestTaskActionPayload: type: object allOf: - $ref: '#/components/schemas/RequestTaskActionPayload' - type: object properties: progressUpdate1P3: $ref: '#/components/schemas/ProgressUpdate1P3Payload' progressUpdate1P3SectionsCompleted: type: object additionalProperties: type: string ProgressUpdate1P3UpdatedMeasurePayload: required: - progressUpdate1P3EnergyEfficiencyMeasure - uuId type: object properties: uuId: type: string format: uuid progressUpdate1P3EnergyEfficiencyMeasure: $ref: '#/components/schemas/ProgressUpdate1P3EnergyEfficiencyMeasure' ProgressUpdate2P3AddedMeasure: required: - estimationMethodType - measureName - reductionEnergyConsumption2025To2026 type: object properties: measureName: maxLength: 255 minLength: 0 type: string measureScheme: uniqueItems: true type: array items: type: string enum: - CLIMATE_CHANGE_AGREEMENTS_CCA - STREAMLINED_ENERGY_AND_CARBON_REPORTING_SECR - UK_EMISSIONS_TRADING_SCHEME_ETS - UN_RACE_TO_ZERO - SCIENCE_BASED_TARGETS_INITIATIVE_SBTI - CARBON_REDUCTION_PLANS - OTHER otherMeasureSchemeName: maxLength: 255 minLength: 0 type: string reductionEnergyConsumption2025To2026: type: integer format: int64 estimationMethodType: type: string enum: - ENERGY_AUDIT - OTHER_METHOD - NO_METHOD_USED estimationMethodDescription: maxLength: 10000 minLength: 0 type: string measureContext: maxLength: 10000 minLength: 0 type: string ProgressUpdate2P3EnergyEfficiencyMeasure: type: object properties: measureIsImplemented: type: boolean measureImplementedByTheDateInActionPlan: type: boolean reportReduction2025To2026: type: boolean reductionEnergyConsumption2025To2026: type: integer format: int64 estimationMethodType: type: string enum: - ENERGY_AUDIT - ACTION_PLAN_ESTIMATE - OTHER_METHOD - NO_METHOD_USED estimationMethodDescription: maxLength: 10000 minLength: 0 type: string providedContext: maxLength: 10000 minLength: 0 type: string ProgressUpdate2P3MeasuresUpdatePayload: type: object properties: progressUpdate2P3Measures: maxItems: 100 minItems: 0 type: array items: $ref: '#/components/schemas/ProgressUpdate2P3UpdatedMeasurePayload' progressUpdate2P3AddedMeasure: maxItems: 50 minItems: 0 type: array items: $ref: '#/components/schemas/ProgressUpdate2P3AddedMeasure' ProgressUpdate2P3Payload: type: object properties: groupChange: $ref: '#/components/schemas/GroupChange' progressUpdate2P3MeasuresUpdate: $ref: '#/components/schemas/ProgressUpdate2P3MeasuresUpdatePayload' responsibleOfficerConfirmation: uniqueItems: true type: array items: type: string enum: - ESOS_ACTION_PLAN_COMPLIANCE - ESTIMATION_METHOD_DOCUMENTED ProgressUpdate2P3SaveApplicationRequestTaskActionPayload: type: object allOf: - $ref: '#/components/schemas/RequestTaskActionPayload' - type: object properties: progressUpdate2P3: $ref: '#/components/schemas/ProgressUpdate2P3Payload' progressUpdate2P3SectionsCompleted: type: object additionalProperties: type: string ProgressUpdate2P3UpdatedMeasurePayload: required: - uuId type: object properties: uuId: type: string format: uuid progressUpdate2P3EnergyEfficiencyMeasure: $ref: '#/components/schemas/ProgressUpdate2P3EnergyEfficiencyMeasure' RdeDecisionPayload: required: - decision type: object properties: decision: type: string enum: - ACCEPTED - REJECTED reason: maxLength: 10000 minLength: 0 type: string RdeForceDecisionPayload: required: - decision - evidence type: object properties: decision: type: string enum: - ACCEPTED - REJECTED evidence: maxLength: 10000 minLength: 0 type: string files: uniqueItems: true type: array items: type: string format: uuid RdeForceDecisionRequestTaskActionPayload: required: - rdeForceDecisionPayload type: object allOf: - $ref: '#/components/schemas/RequestTaskActionPayload' - type: object properties: rdeForceDecisionPayload: $ref: '#/components/schemas/RdeForceDecisionPayload' RdePayload: required: - deadline - extensionDate - signatory type: object properties: extensionDate: type: string format: date deadline: type: string format: date operators: uniqueItems: true type: array items: type: string signatory: type: string RdeResponseSubmitRequestTaskActionPayload: required: - rdeDecisionPayload type: object allOf: - $ref: '#/components/schemas/RequestTaskActionPayload' - type: object properties: rdeDecisionPayload: $ref: '#/components/schemas/RdeDecisionPayload' RdeSubmitRequestTaskActionPayload: required: - rdePayload type: object allOf: - $ref: '#/components/schemas/RequestTaskActionPayload' - type: object properties: rdePayload: $ref: '#/components/schemas/RdePayload' ReportingObligation: required: - qualificationType type: object properties: qualificationType: type: string enum: - QUALIFY - NOT_QUALIFY noQualificationReason: maxLength: 10000 minLength: 0 type: string reportingObligationDetails: $ref: '#/components/schemas/ReportingObligationDetails' ReportingObligationDetails: required: - energyResponsibilityType - qualificationReasonType type: object properties: qualificationReasonType: type: string enum: - TURNOVER_MORE_THAN_44M - STAFF_MEMBERS_MORE_THAN_250 - TURNOVER_MORE_THAN_44M_AND_STAFF_MEMBERS_MORE_THAN_250 - CONDITIONS_NOT_MET energyResponsibilityType: type: string enum: - RESPONSIBLE - NOT_RESPONSIBLE - RESPONSIBLE_BUT_LESS_THAN_40000_KWH complianceRouteDistribution: $ref: '#/components/schemas/ComplianceRouteDistribution' RequestTaskActionEmptyPayload: type: object allOf: - $ref: '#/components/schemas/RequestTaskActionPayload' RequestTaskActionPayload: type: object properties: payloadType: type: string enum: - ORGANISATION_ACCOUNT_OPENING_AMEND_APPLICATION_PAYLOAD - ORGANISATION_ACCOUNT_OPENING_SUBMIT_DECISION_PAYLOAD - NOTIFICATION_OF_COMPLIANCE_P3_SAVE_APPLICATION_SUBMIT_PAYLOAD - NOTIFICATION_OF_COMPLIANCE_P3_SEND_TO_EDIT_PAYLOAD - NOTIFICATION_OF_COMPLIANCE_P3_SAVE_APPLICATION_EDIT_PAYLOAD - RFI_SUBMIT_PAYLOAD - RFI_RESPONSE_SUBMIT_PAYLOAD - RDE_SUBMIT_PAYLOAD - RDE_RESPONSE_SUBMIT_PAYLOAD - RDE_FORCE_DECISION_PAYLOAD - PAYMENT_MARK_AS_RECEIVED_PAYLOAD - PAYMENT_CANCEL_PAYLOAD - ACTION_PLAN_P3_SAVE_APPLICATION_SUBMIT_PAYLOAD - ACCOUNT_CLOSURE_SAVE_APPLICATION_SUBMIT_PAYLOAD - PROGRESS_UPDATE_1_P3_SAVE_APPLICATION_SUBMIT_PAYLOAD - PROGRESS_UPDATE_2_P3_SAVE_APPLICATION_SUBMIT_PAYLOAD - EMPTY_PAYLOAD discriminator: propertyName: payloadType RequestTaskActionProcessDTO: required: - requestTaskActionPayload - requestTaskActionType - requestTaskId type: object properties: requestTaskActionType: type: string enum: - ORGANISATION_ACCOUNT_OPENING_AMEND_APPLICATION - ORGANISATION_ACCOUNT_OPENING_SUBMIT_DECISION - NOTIFICATION_OF_COMPLIANCE_P3_SAVE_APPLICATION_SUBMIT - NOTIFICATION_OF_COMPLIANCE_P3_UPLOAD_ATTACHMENT - NOTIFICATION_OF_COMPLIANCE_P3_SEND_TO_EDIT - NOTIFICATION_OF_COMPLIANCE_P3_SUBMIT_APPLICATION - NOTIFICATION_OF_COMPLIANCE_P3_SAVE_APPLICATION_EDIT - NOTIFICATION_OF_COMPLIANCE_P3_RETURN_TO_SUBMIT - RFI_SUBMIT - RFI_UPLOAD_ATTACHMENT - RFI_RESPONSE_SUBMIT - RFI_CANCEL - RDE_SUBMIT - RDE_RESPONSE_SUBMIT - RDE_FORCE_DECISION - RDE_UPLOAD_ATTACHMENT - PAYMENT_MARK_AS_PAID - PAYMENT_MARK_AS_RECEIVED - PAYMENT_PAY_BY_CARD - PAYMENT_CANCEL - ACTION_PLAN_P3_SUBMIT_APPLICATION - ACTION_PLAN_P3_SAVE_APPLICATION_SUBMIT - ACTION_PLAN_CANCEL_APPLICATION - ACCOUNT_CLOSURE_SUBMIT_APPLICATION - ACCOUNT_CLOSURE_SAVE_APPLICATION_SUBMIT - ACCOUNT_CLOSURE_CANCEL_APPLICATION - PROGRESS_UPDATE_1_P3_SUBMIT_APPLICATION - PROGRESS_UPDATE_1_P3_SAVE_APPLICATION_SUBMIT - PROGRESS_UPDATE_1_CANCEL_APPLICATION - PROGRESS_UPDATE_2_P3_SUBMIT_APPLICATION - PROGRESS_UPDATE_2_P3_SAVE_APPLICATION_SUBMIT - PROGRESS_UPDATE_2_CANCEL_APPLICATION requestTaskActionPayload: oneOf: - $ref: '#/components/schemas/AccountClosureSaveApplicationRequestTaskActionPayload' - $ref: '#/components/schemas/ActionPlanP3SaveApplicationRequestTaskActionPayload' - $ref: '#/components/schemas/NotificationOfComplianceP3SaveApplicationRequestTaskActionPayload' - $ref: '#/components/schemas/OrganisationAccountOpeningAmendApplicationRequestTaskActionPayload' - $ref: '#/components/schemas/OrganisationAccountOpeningSubmitDecisionRequestTaskActionPayload' - $ref: '#/components/schemas/PaymentCancelRequestTaskActionPayload' - $ref: '#/components/schemas/PaymentMarkAsReceivedRequestTaskActionPayload' - $ref: '#/components/schemas/ProgressUpdate1P3SaveApplicationRequestTaskActionPayload' - $ref: '#/components/schemas/ProgressUpdate2P3SaveApplicationRequestTaskActionPayload' - $ref: '#/components/schemas/RdeForceDecisionRequestTaskActionPayload' - $ref: '#/components/schemas/RdeResponseSubmitRequestTaskActionPayload' - $ref: '#/components/schemas/RdeSubmitRequestTaskActionPayload' - $ref: '#/components/schemas/RequestTaskActionEmptyPayload' - $ref: '#/components/schemas/RfiResponseSubmitRequestTaskActionPayload' - $ref: '#/components/schemas/RfiSubmitRequestTaskActionPayload' - $ref: '#/components/schemas/SendToEditRequestTaskActionPayload' requestTaskId: type: integer format: int64 description: The request task action body ResponsibleUndertaking: required: - hasOverseasParentDetails - isBehalfOfTrust - organisationContactDetails - organisationDetails - tradingDetails type: object properties: organisationDetails: $ref: '#/components/schemas/ReviewOrganisationDetails' tradingDetails: $ref: '#/components/schemas/TradingDetails' organisationContactDetails: $ref: '#/components/schemas/OrganisationContactDetails' isBehalfOfTrust: type: boolean trustName: maxLength: 255 minLength: 0 type: string hasOverseasParentDetails: type: boolean overseasParentDetails: $ref: '#/components/schemas/OverseasParentDetails' ReviewOrganisationDetails: required: - city - codes - line1 - name - postcode - registrationNumberExist - type type: object properties: name: maxLength: 255 minLength: 0 type: string registrationNumberExist: type: boolean registrationNumber: maxLength: 255 minLength: 0 type: string line1: maxLength: 255 minLength: 0 type: string line2: maxLength: 255 minLength: 0 type: string city: maxLength: 255 minLength: 0 type: string county: maxLength: 255 minLength: 0 type: string postcode: maxLength: 64 minLength: 0 type: string type: type: string enum: - SIC - OTHER otherTypeName: maxLength: 255 minLength: 0 type: string codes: maxItems: 4 minItems: 1 type: array items: maxLength: 255 minLength: 0 type: string RfiQuestionPayload: required: - questions type: object properties: questions: type: array items: maxLength: 10000 minLength: 0 type: string files: uniqueItems: true type: array items: type: string format: uuid RfiResponsePayload: required: - answers type: object properties: answers: type: array items: maxLength: 10000 minLength: 0 type: string files: uniqueItems: true type: array items: type: string format: uuid RfiResponseSubmitRequestTaskActionPayload: required: - rfiResponsePayload type: object allOf: - $ref: '#/components/schemas/RequestTaskActionPayload' - type: object properties: rfiResponsePayload: $ref: '#/components/schemas/RfiResponsePayload' RfiSubmitPayload: required: - deadline - questions - signatory type: object properties: questions: type: array items: maxLength: 10000 minLength: 0 type: string files: uniqueItems: true type: array items: type: string format: uuid deadline: type: string format: date operators: uniqueItems: true type: array items: type: string signatory: type: string RfiSubmitRequestTaskActionPayload: required: - rfiSubmitPayload type: object allOf: - $ref: '#/components/schemas/RequestTaskActionPayload' - type: object properties: rfiSubmitPayload: $ref: '#/components/schemas/RfiSubmitPayload' SecondCompliancePeriod: required: - informationExists type: object properties: informationExists: type: string enum: - 'YES' - 'NO' - SKIP_QUESTION firstCompliancePeriodDetails: $ref: '#/components/schemas/FirstCompliancePeriodDetails' reductionAchieved: $ref: '#/components/schemas/EnergyConsumption' SendToEditRequestTaskActionPayload: required: - supportingOperator type: object allOf: - $ref: '#/components/schemas/RequestTaskActionPayload' - type: object properties: supportingOperator: type: string SignificantEnergyConsumption: type: object properties: buildings: minimum: 0 type: integer format: int64 transport: minimum: 0 type: integer format: int64 industrialProcesses: minimum: 0 type: integer format: int64 otherProcesses: minimum: 0 type: integer format: int64 total: type: integer format: int64 significantEnergyConsumptionPct: minimum: 0 type: integer format: int64 TotalEnergyConsumptionReduction: type: object properties: energyConsumption: type: integer format: int64 energyCost: type: string format: decimal TotalEnergySavingsExpected: type: object properties: buildings: minimum: 0 type: integer format: int64 transport: minimum: 0 type: integer format: int64 industrialProcesses: minimum: 0 type: integer format: int64 otherProcesses: minimum: 0 type: integer format: int64 total: type: integer format: int64 TradingDetails: required: - exist type: object properties: exist: type: boolean tradingName: maxLength: 255 minLength: 0 type: string RequestTaskAssignmentDTO: required: - taskId - userId type: object properties: taskId: type: integer format: int64 userId: type: string description: The request task assignment body RequestTaskAttachmentActionProcessDTO: required: - requestTaskActionType - requestTaskId type: object properties: requestTaskId: type: integer format: int64 requestTaskActionType: type: string enum: - ORGANISATION_ACCOUNT_OPENING_AMEND_APPLICATION - ORGANISATION_ACCOUNT_OPENING_SUBMIT_DECISION - NOTIFICATION_OF_COMPLIANCE_P3_SAVE_APPLICATION_SUBMIT - NOTIFICATION_OF_COMPLIANCE_P3_UPLOAD_ATTACHMENT - NOTIFICATION_OF_COMPLIANCE_P3_SEND_TO_EDIT - NOTIFICATION_OF_COMPLIANCE_P3_SUBMIT_APPLICATION - NOTIFICATION_OF_COMPLIANCE_P3_SAVE_APPLICATION_EDIT - NOTIFICATION_OF_COMPLIANCE_P3_RETURN_TO_SUBMIT - RFI_SUBMIT - RFI_UPLOAD_ATTACHMENT - RFI_RESPONSE_SUBMIT - RFI_CANCEL - RDE_SUBMIT - RDE_RESPONSE_SUBMIT - RDE_FORCE_DECISION - RDE_UPLOAD_ATTACHMENT - PAYMENT_MARK_AS_PAID - PAYMENT_MARK_AS_RECEIVED - PAYMENT_PAY_BY_CARD - PAYMENT_CANCEL - ACTION_PLAN_P3_SUBMIT_APPLICATION - ACTION_PLAN_P3_SAVE_APPLICATION_SUBMIT - ACTION_PLAN_CANCEL_APPLICATION - ACCOUNT_CLOSURE_SUBMIT_APPLICATION - ACCOUNT_CLOSURE_SAVE_APPLICATION_SUBMIT - ACCOUNT_CLOSURE_CANCEL_APPLICATION - PROGRESS_UPDATE_1_P3_SUBMIT_APPLICATION - PROGRESS_UPDATE_1_P3_SAVE_APPLICATION_SUBMIT - PROGRESS_UPDATE_1_CANCEL_APPLICATION - PROGRESS_UPDATE_2_P3_SUBMIT_APPLICATION - PROGRESS_UPDATE_2_P3_SAVE_APPLICATION_SUBMIT - PROGRESS_UPDATE_2_CANCEL_APPLICATION description: The request task attachment properties FileUuidDTO: type: object properties: uuid: type: string OrganisationAccountOpeningSubmitApplicationCreateActionPayload: required: - city - codes - competentAuthority - line1 - name - postcode - type type: object allOf: - $ref: '#/components/schemas/RequestCreateActionPayload' - type: object properties: registrationNumber: maxLength: 255 minLength: 0 type: string name: maxLength: 255 minLength: 0 type: string competentAuthority: type: string enum: - ENGLAND - NORTHERN_IRELAND - OPRED - SCOTLAND - WALES line1: maxLength: 255 minLength: 0 type: string line2: maxLength: 255 minLength: 0 type: string city: maxLength: 255 minLength: 0 type: string county: maxLength: 255 minLength: 0 type: string postcode: maxLength: 64 minLength: 0 type: string type: type: string enum: - SIC - OTHER otherTypeName: maxLength: 255 minLength: 0 type: string codes: maxItems: 4 minItems: 1 type: array items: maxLength: 255 minLength: 0 type: string OrganisationAccountPayload: required: - city - codes - competentAuthority - line1 - name - postcode - type type: object properties: registrationNumber: maxLength: 255 minLength: 0 type: string name: maxLength: 255 minLength: 0 type: string competentAuthority: type: string enum: - ENGLAND - NORTHERN_IRELAND - OPRED - SCOTLAND - WALES line1: maxLength: 255 minLength: 0 type: string line2: maxLength: 255 minLength: 0 type: string city: maxLength: 255 minLength: 0 type: string county: maxLength: 255 minLength: 0 type: string postcode: maxLength: 64 minLength: 0 type: string type: type: string enum: - SIC - OTHER otherTypeName: maxLength: 255 minLength: 0 type: string codes: maxItems: 4 minItems: 1 type: array items: maxLength: 255 minLength: 0 type: string ProgressUpdate1RequestCreateActionPayload: required: - isDisaggregateUndertaking type: object allOf: - $ref: '#/components/schemas/RequestCreateActionPayload' - type: object properties: isDisaggregateUndertaking: type: boolean ProgressUpdate2RequestCreateActionPayload: required: - isDisaggregateUndertaking type: object allOf: - $ref: '#/components/schemas/RequestCreateActionPayload' - type: object properties: isDisaggregateUndertaking: type: boolean ReportRelatedRequestCreateActionPayload: required: - requestId type: object allOf: - $ref: '#/components/schemas/RequestCreateActionPayload' - type: object properties: requestId: type: string RequestCreateActionEmptyPayload: type: object allOf: - $ref: '#/components/schemas/RequestCreateActionPayload' RequestCreateActionPayload: type: object properties: payloadType: type: string enum: - ORGANISATION_ACCOUNT_OPENING_SUBMIT_APPLICATION_PAYLOAD - REPORT_RELATED_REQUEST_CREATE_ACTION_PAYLOAD - EMPTY_PAYLOAD - PROGRESS_UPDATE_1_CREATE_ACTION_PAYLOAD - PROGRESS_UPDATE_2_CREATE_ACTION_PAYLOAD discriminator: propertyName: payloadType RequestCreateActionProcessDTO: required: - requestCreateActionPayload - requestCreateActionType type: object properties: requestCreateActionType: type: string enum: - ORGANISATION_ACCOUNT_OPENING_SUBMIT_APPLICATION - NOTIFICATION_OF_COMPLIANCE_P3 - RE_INITIATE_NOTIFICATION_OF_COMPLIANCE_P3 - ACTION_PLAN_P3 - RE_INITIATE_ACTION_PLAN_P3 - ACCOUNT_CLOSURE - PROGRESS_UPDATE_1_P3 - RE_INITIATE_PROGRESS_UPDATE_1_P3 - PROGRESS_UPDATE_2_P3 - RE_INITIATE_PROGRESS_UPDATE_2_P3 requestCreateActionPayload: oneOf: - $ref: '#/components/schemas/OrganisationAccountOpeningSubmitApplicationCreateActionPayload' - $ref: '#/components/schemas/ProgressUpdate1RequestCreateActionPayload' - $ref: '#/components/schemas/ProgressUpdate2RequestCreateActionPayload' - $ref: '#/components/schemas/ReportRelatedRequestCreateActionPayload' - $ref: '#/components/schemas/RequestCreateActionEmptyPayload' description: The request create action body RequestCreateActionProcessResponseDTO: type: object properties: requestId: type: string RequestSearchByAccountCriteria: required: - accountId - category - pageNumber - pageSize type: object properties: accountId: type: integer format: int64 requestTypes: uniqueItems: true type: array items: type: string enum: - ORGANISATION_ACCOUNT_OPENING - NOTIFICATION_OF_COMPLIANCE_P3 - ACTION_PLAN_P3 - ACCOUNT_CLOSURE - PROGRESS_UPDATE_1_P3 - PROGRESS_UPDATE_2_P3 requestStatuses: uniqueItems: true type: array items: type: string enum: - IN_PROGRESS - COMPLETED - CANCELLED - WITHDRAWN - APPROVED - REJECTED - CLOSED - EXEMPT - TERMINATED category: type: string enum: - PERMIT - REPORTING - CA pageNumber: minimum: 0 type: integer format: int64 pageSize: minimum: 1 type: integer format: int64 description: The search criteria ActionPlanP3RequestMetadata: type: object allOf: - $ref: '#/components/schemas/RequestMetadata' - type: object properties: phase: type: string enum: - PHASE_3 NotificationOfComplianceP3RequestMetadata: type: object allOf: - $ref: '#/components/schemas/RequestMetadata' - type: object properties: phase: type: string enum: - PHASE_3 ProgressUpdate1P3RequestMetadata: type: object allOf: - $ref: '#/components/schemas/RequestMetadata' - type: object properties: phase: type: string enum: - PHASE_3 ProgressUpdate2P3RequestMetadata: type: object allOf: - $ref: '#/components/schemas/RequestMetadata' - type: object properties: phase: type: string enum: - PHASE_3 RequestDetailsDTO: type: object properties: id: type: string requestType: type: string enum: - ORGANISATION_ACCOUNT_OPENING - NOTIFICATION_OF_COMPLIANCE_P3 - ACTION_PLAN_P3 - ACCOUNT_CLOSURE - PROGRESS_UPDATE_1_P3 - PROGRESS_UPDATE_2_P3 requestStatus: type: string enum: - IN_PROGRESS - COMPLETED - CANCELLED - WITHDRAWN - APPROVED - REJECTED - CLOSED - EXEMPT - TERMINATED creationDate: type: string format: date requestMetadata: $ref: '#/components/schemas/RequestMetadata' RequestDetailsSearchResults: type: object properties: requestDetails: type: array items: $ref: '#/components/schemas/RequestDetailsDTO' total: type: integer format: int64 RequestMetadata: type: object properties: type: type: string enum: - NOTIFICATION_OF_COMPLIANCE_P3 - ACTION_PLAN_P3 - PROGRESS_UPDATE_1_P3 - PROGRESS_UPDATE_2_P3 discriminator: propertyName: type mapping: NOTIFICATION_OF_COMPLIANCE_P3: '#/components/schemas/NotificationOfComplianceP3RequestMetadata' ACTION_PLAN_P3: '#/components/schemas/ActionPlanP3RequestMetadata' PROGRESS_UPDATE_1_P3: '#/components/schemas/ProgressUpdate1P3RequestMetadata' PROGRESS_UPDATE_2_P3: '#/components/schemas/ProgressUpdate2P3RequestMetadata' RequestNoteRequest: required: - note - requestId type: object properties: note: maxLength: 10000 minLength: 0 type: string files: uniqueItems: true type: array items: type: string format: uuid requestId: type: string description: The request note request FileInfoDTO: type: object properties: name: type: string uuid: type: string RegulatorUserDTO: required: - email - firstName - jobTitle - lastName - phoneNumber type: object properties: email: maxLength: 255 minLength: 0 type: string firstName: maxLength: 255 minLength: 0 type: string lastName: maxLength: 255 minLength: 0 type: string termsVersion: maximum: 255 type: integer format: int32 status: type: string enum: - REGISTERED - PENDING jobTitle: maxLength: 255 minLength: 0 type: string phoneNumber: maxLength: 255 minLength: 0 type: string mobileNumber: maxLength: 255 minLength: 0 type: string signature: $ref: '#/components/schemas/FileInfoDTO' RegulatorUserUpdateDTO: required: - permissions - user type: object properties: user: $ref: '#/components/schemas/RegulatorUserDTO' permissions: type: object additionalProperties: type: string enum: - NONE - VIEW_ONLY - EXECUTE RegulatorInvitedUserDTO: required: - email - firstName - jobTitle - lastName - permissions - phoneNumber type: object properties: email: maxLength: 255 minLength: 0 type: string firstName: maxLength: 255 minLength: 0 type: string lastName: maxLength: 255 minLength: 0 type: string jobTitle: maxLength: 255 minLength: 0 type: string phoneNumber: maxLength: 255 minLength: 0 type: string mobileNumber: maxLength: 255 minLength: 0 type: string permissions: type: object additionalProperties: type: string enum: - NONE - VIEW_ONLY - EXECUTE description: The regulator to invite RegulatorUserUpdateStatusDTO: required: - authorityStatus - userId type: object properties: userId: type: string authorityStatus: type: string enum: - PENDING - TEMP_DISABLED_PENDING - ACTIVE - DISABLED - ACCEPTED - TEMP_DISABLED OrganisationAccountUpdateDTO: required: - city - codes - line1 - name - postcode - type type: object properties: name: maxLength: 255 minLength: 0 type: string type: type: string enum: - SIC - OTHER otherTypeName: maxLength: 255 minLength: 0 type: string codes: maxItems: 4 minItems: 1 type: array items: maxLength: 255 minLength: 0 type: string line1: maxLength: 255 minLength: 0 type: string line2: maxLength: 255 minLength: 0 type: string city: maxLength: 255 minLength: 0 type: string county: maxLength: 255 minLength: 0 type: string postcode: maxLength: 64 minLength: 0 type: string description: The organisation account fields OrganisationAccountOnboardingRegistryDTO: required: - email - registrationNumber type: object properties: email: type: string registrationNumber: type: string OnboardingRegistrationNumbersDTO: required: - registrationNumbers type: object properties: registrationNumbers: type: array items: type: string OnboardingEmailsDTO: required: - emails type: object properties: emails: type: array items: type: string OperatorUserRegistrationDTO: required: - address - firstName - lastName type: object properties: firstName: maxLength: 255 minLength: 0 type: string lastName: maxLength: 255 minLength: 0 type: string jobTitle: maxLength: 255 minLength: 0 type: string address: $ref: '#/components/schemas/CountyAddressDTO' phoneNumber: $ref: '#/components/schemas/PhoneNumberDTO' mobileNumber: $ref: '#/components/schemas/PhoneNumberDTO' termsVersion: maximum: 255 type: integer format: int32 description: The userRegistrationDTO OperatorUserDTO: required: - address - email - firstName - lastName type: object properties: email: maxLength: 255 minLength: 0 type: string firstName: maxLength: 255 minLength: 0 type: string lastName: maxLength: 255 minLength: 0 type: string termsVersion: maximum: 255 type: integer format: int32 status: type: string enum: - REGISTERED - PENDING address: $ref: '#/components/schemas/CountyAddressDTO' jobTitle: maxLength: 255 minLength: 0 type: string phoneNumber: $ref: '#/components/schemas/PhoneNumberDTO' mobileNumber: $ref: '#/components/schemas/PhoneNumberDTO' OperatorInvitedUserInfoDTO: type: object properties: accountName: type: string OperatorUserInviteAndRegisterDTO: required: - invitationTokenDTO - operatorUserRegistrationDTO type: object properties: operatorUserRegistrationDTO: $ref: '#/components/schemas/OperatorUserRegistrationDTO' invitationTokenDTO: $ref: '#/components/schemas/TokenDTO' description: The userRegistrationDTO OperatorUserInvitationDTO: required: - email - firstName - lastName type: object properties: email: maxLength: 255 minLength: 0 type: string firstName: maxLength: 255 minLength: 0 type: string lastName: maxLength: 255 minLength: 0 type: string roleCode: type: string description: The operator user account registration info AccountOperatorAuthorityUpdateDTO: required: - authorityStatus - userId type: object properties: userId: type: string roleCode: type: string authorityStatus: type: string enum: - PENDING - TEMP_DISABLED_PENDING - ACTIVE - DISABLED - ACCEPTED - TEMP_DISABLED AccountOperatorAuthorityUpdateWrapperDTO: required: - accountOperatorAuthorityUpdateList - contactTypes type: object properties: accountOperatorAuthorityUpdateList: type: array items: $ref: '#/components/schemas/AccountOperatorAuthorityUpdateDTO' contactTypes: type: object additionalProperties: type: string description: The account operator authorities to update CaExternalContactRegistrationDTO: required: - description - email - name type: object properties: name: maxLength: 100 minLength: 0 type: string email: maxLength: 255 minLength: 0 type: string description: maxLength: 100 minLength: 0 type: string description: The ca external information AppointVerificationBodyDTO: required: - verificationBodyId type: object properties: verificationBodyId: type: integer format: int64 description: The verification body id to appoint to account AccountNoteRequest: required: - accountId - note type: object properties: note: maxLength: 10000 minLength: 0 type: string files: uniqueItems: true type: array items: type: string format: uuid accountId: type: integer format: int64 description: The account note request VerifierUserDTO: required: - email - firstName - lastName - phoneNumber type: object properties: email: maxLength: 255 minLength: 0 type: string firstName: maxLength: 255 minLength: 0 type: string lastName: maxLength: 255 minLength: 0 type: string termsVersion: maximum: 255 type: integer format: int32 status: type: string enum: - REGISTERED - PENDING phoneNumber: maxLength: 255 minLength: 0 type: string mobileNumber: maxLength: 255 minLength: 0 type: string VerificationBodyUpdateStatusDTO: required: - id - status type: object properties: id: type: integer format: int64 status: type: string enum: - ACTIVE - PENDING - DISABLED UpdateTermsDTO: required: - version type: object properties: version: type: integer format: int32 AccountContactVbInfoDTO: type: object properties: accountId: type: integer format: int64 accountName: type: string type: type: string userId: type: string AccountContactVbInfoResponse: type: object properties: contacts: type: array items: $ref: '#/components/schemas/AccountContactVbInfoDTO' editable: type: boolean totalItems: type: integer format: int64 TemplateInfoDTO: type: object properties: id: type: integer format: int64 name: type: string workflow: type: string lastUpdatedDate: type: string format: date-time TemplateSearchResults: type: object properties: templates: type: array items: $ref: '#/components/schemas/TemplateInfoDTO' total: type: integer format: int64 MiReportSearchResult: type: object properties: id: type: integer format: int32 miReportType: type: string enum: - LIST_OF_ACCOUNTS_USERS_CONTACTS - COMPLETED_WORK - REGULATOR_OUTSTANDING_REQUEST_TASKS - LIST_OF_ACCOUNTS_ASSIGNED_REGULATOR_SITE_CONTACTS - LIST_OF_VERIFICATION_BODY_USERS - NOC_SUBMITTED_DATA_P3 - CUSTOM - ACTION_PLAN_SUBMITTED_DATA_P3 - PROGRESS_UPDATE_1_SUBMITTED_DATA_P3 - PROGRESS_UPDATE_2_SUBMITTED_DATA_P3 NocP3SearchResultsInfoDto: type: object properties: id: type: string organisationName: type: string registrationNumber: type: string location: type: string enum: - ENGLAND - NORTHERN_IRELAND - OPRED - SCOTLAND - WALES noc: $ref: '#/components/schemas/NocP3' status: type: string enum: - AWAITING_APPROVAL - LIVE - DENIED - CLOSED NotificationOfCompliancesP3MiReportResult: required: - reportType - total type: object properties: reportType: type: string enum: - LIST_OF_ACCOUNTS_USERS_CONTACTS - COMPLETED_WORK - REGULATOR_OUTSTANDING_REQUEST_TASKS - LIST_OF_ACCOUNTS_ASSIGNED_REGULATOR_SITE_CONTACTS - LIST_OF_VERIFICATION_BODY_USERS - NOC_SUBMITTED_DATA_P3 - CUSTOM - ACTION_PLAN_SUBMITTED_DATA_P3 - PROGRESS_UPDATE_1_SUBMITTED_DATA_P3 - PROGRESS_UPDATE_2_SUBMITTED_DATA_P3 results: type: object additionalProperties: $ref: '#/components/schemas/NocP3SearchResultsInfoDto' total: type: integer format: int64 ItemDTO: type: object properties: creationDate: type: string format: date-time requestId: type: string requestType: type: string enum: - ORGANISATION_ACCOUNT_OPENING - NOTIFICATION_OF_COMPLIANCE_P3 - ACTION_PLAN_P3 - ACCOUNT_CLOSURE - PROGRESS_UPDATE_1_P3 - PROGRESS_UPDATE_2_P3 taskId: type: integer format: int64 taskAssignee: $ref: '#/components/schemas/UserInfoDTO' taskAssigneeType: type: string enum: - OPERATOR - VERIFIER - REGULATOR taskType: type: string enum: - ORGANISATION_ACCOUNT_OPENING_APPLICATION_REVIEW - NOTIFICATION_OF_COMPLIANCE_P3_APPLICATION_SUBMIT - NOTIFICATION_OF_COMPLIANCE_P3_APPLICATION_EDIT - NOTIFICATION_OF_COMPLIANCE_P3_WAIT_FOR_EDIT - ACTION_PLAN_P3_APPLICATION_SUBMIT - ACCOUNT_CLOSURE_SUBMIT - PROGRESS_UPDATE_1_P3_APPLICATION_SUBMIT - PROGRESS_UPDATE_2_P3_APPLICATION_SUBMIT daysRemaining: type: integer format: int64 isNew: type: boolean oneOf: - $ref: '#/components/schemas/ItemOrganisationDTO' ItemDTOResponse: type: object properties: items: type: array items: $ref: '#/components/schemas/ItemDTO' totalItems: type: integer format: int64 ItemOrganisationDTO: type: object properties: creationDate: type: string format: date-time requestId: type: string requestType: type: string enum: - ORGANISATION_ACCOUNT_OPENING - NOTIFICATION_OF_COMPLIANCE_P3 - ACTION_PLAN_P3 - ACCOUNT_CLOSURE - PROGRESS_UPDATE_1_P3 - PROGRESS_UPDATE_2_P3 taskId: type: integer format: int64 taskAssignee: $ref: '#/components/schemas/UserInfoDTO' taskAssigneeType: type: string enum: - OPERATOR - VERIFIER - REGULATOR taskType: type: string enum: - ORGANISATION_ACCOUNT_OPENING_APPLICATION_REVIEW - NOTIFICATION_OF_COMPLIANCE_P3_APPLICATION_SUBMIT - NOTIFICATION_OF_COMPLIANCE_P3_APPLICATION_EDIT - NOTIFICATION_OF_COMPLIANCE_P3_WAIT_FOR_EDIT - ACTION_PLAN_P3_APPLICATION_SUBMIT - ACCOUNT_CLOSURE_SUBMIT - PROGRESS_UPDATE_1_P3_APPLICATION_SUBMIT - PROGRESS_UPDATE_2_P3_APPLICATION_SUBMIT daysRemaining: type: integer format: int64 accountId: type: integer format: int64 accountName: type: string competentAuthority: type: string enum: - ENGLAND - NORTHERN_IRELAND - OPRED - SCOTLAND - WALES accountOrganisationId: type: string accountRegistrationNumber: type: string isNew: type: boolean UserInfoDTO: type: object properties: firstName: type: string lastName: type: string AccountContactInfoDTO: type: object properties: accountId: type: integer format: int64 accountName: type: string userId: type: string AccountContactInfoResponse: type: object properties: contacts: type: array items: $ref: '#/components/schemas/AccountContactInfoDTO' editable: type: boolean totalItems: type: integer format: int64 UserAuthorityInfoDTO: type: object properties: userId: type: string firstName: type: string lastName: type: string roleName: type: string roleCode: type: string authorityCreationDate: type: string format: date-time authorityStatus: type: string enum: - PENDING - TEMP_DISABLED_PENDING - ACTIVE - DISABLED - ACCEPTED - TEMP_DISABLED locked: type: boolean UsersAuthoritiesInfoDTO: type: object properties: authorities: type: array items: $ref: '#/components/schemas/UserAuthorityInfoDTO' editable: type: boolean VerificationBodyInfoResponseDTO: type: object properties: verificationBodies: type: array items: $ref: '#/components/schemas/VerificationBodyInfoDTO' editable: type: boolean VerificationBodyDTO: type: object properties: id: type: integer format: int64 name: type: string accreditationReferenceNumber: type: string status: type: string enum: - ACTIVE - PENDING - DISABLED address: $ref: '#/components/schemas/AddressDTO' emissionTradingSchemes: uniqueItems: true type: array items: type: string enum: - UK_ETS_INSTALLATIONS - EU_ETS_INSTALLATIONS - UK_ETS_AVIATION - CORSIA ApplicationUserDTO: required: - email - firstName - lastName type: object properties: email: maxLength: 255 minLength: 0 type: string firstName: maxLength: 255 minLength: 0 type: string lastName: maxLength: 255 minLength: 0 type: string termsVersion: maximum: 255 type: integer format: int32 FileToken: type: object properties: token: type: string tokenExpirationMinutes: type: integer format: int64 TermsDTO: required: - url - version type: object properties: url: type: string version: type: integer format: int32 AccountClosureApplicationRequestTaskPayload: type: object allOf: - $ref: '#/components/schemas/RequestTaskPayload' - type: object properties: accountClosure: $ref: '#/components/schemas/AccountClosure' AccountOriginatedData: type: object properties: organisationDetails: $ref: '#/components/schemas/OrganisationDetails' primaryContact: $ref: '#/components/schemas/ContactPerson' secondaryContact: $ref: '#/components/schemas/ContactPerson' ActionPlanP3ApplicationSubmitRequestTaskPayload: type: object allOf: - $ref: '#/components/schemas/RequestTaskPayload' - type: object properties: actionPlanP3: $ref: '#/components/schemas/ActionPlanP3' actionPlanSectionsCompleted: type: object additionalProperties: type: string actionPlanAttachments: type: object additionalProperties: type: string BankAccountDetailsDTO: type: object properties: sortCode: type: string accountNumber: type: string accountName: type: string iban: type: string swiftCode: type: string NotificationOfComplianceP3ApplicationEditRequestTaskPayload: type: object allOf: - $ref: '#/components/schemas/RequestTaskPayload' - type: object properties: noc: $ref: '#/components/schemas/NocP3' accountOriginatedData: $ref: '#/components/schemas/AccountOriginatedData' nocSectionsCompleted: type: object additionalProperties: type: string nocAttachments: type: object additionalProperties: type: string NotificationOfComplianceP3ApplicationSubmitRequestTaskPayload: type: object allOf: - $ref: '#/components/schemas/RequestTaskPayload' - type: object properties: noc: $ref: '#/components/schemas/NocP3' accountOriginatedData: $ref: '#/components/schemas/AccountOriginatedData' nocSectionsCompleted: type: object additionalProperties: type: string nocAttachments: type: object additionalProperties: type: string OrganisationAccountOpeningApplicationRequestTaskPayload: type: object allOf: - $ref: '#/components/schemas/RequestTaskPayload' - type: object properties: account: $ref: '#/components/schemas/OrganisationAccountPayload' participantDetails: $ref: '#/components/schemas/OrganisationParticipantDetails' OrganisationDetails: required: - city - codes - line1 - postcode - type type: object properties: name: type: string registrationNumber: type: string type: type: string enum: - SIC - OTHER otherTypeName: maxLength: 255 minLength: 0 type: string codes: maxItems: 4 minItems: 1 type: array items: maxLength: 255 minLength: 0 type: string line1: maxLength: 255 minLength: 0 type: string line2: maxLength: 255 minLength: 0 type: string city: maxLength: 255 minLength: 0 type: string county: maxLength: 255 minLength: 0 type: string postcode: maxLength: 64 minLength: 0 type: string OrganisationParticipantDetails: required: - city - line1 - postcode type: object properties: firstName: type: string lastName: type: string jobTitle: type: string email: type: string phoneNumber: $ref: '#/components/schemas/PhoneNumberDTO' mobileNumber: $ref: '#/components/schemas/PhoneNumberDTO' line1: maxLength: 255 minLength: 0 type: string line2: maxLength: 255 minLength: 0 type: string city: maxLength: 255 minLength: 0 type: string county: maxLength: 255 minLength: 0 type: string postcode: maxLength: 64 minLength: 0 type: string PaymentConfirmRequestTaskPayload: type: object allOf: - $ref: '#/components/schemas/RequestTaskPayload' - type: object properties: paymentRefNum: type: string paymentDate: type: string format: date paidByFullName: type: string amount: type: string format: decimal status: type: string enum: - MARK_AS_PAID - MARK_AS_RECEIVED - COMPLETED - CANCELLED paymentMethod: type: string enum: - BANK_TRANSFER - CREDIT_OR_DEBIT_CARD PaymentMakeRequestTaskPayload: type: object allOf: - $ref: '#/components/schemas/RequestTaskPayload' - type: object properties: amount: type: string format: decimal paymentRefNum: type: string creationDate: type: string format: date paymentMethodTypes: uniqueItems: true type: array items: type: string enum: - BANK_TRANSFER - CREDIT_OR_DEBIT_CARD bankAccountDetails: $ref: '#/components/schemas/BankAccountDetailsDTO' externalPaymentId: type: string PaymentTrackRequestTaskPayload: type: object allOf: - $ref: '#/components/schemas/RequestTaskPayload' - type: object properties: amount: type: string format: decimal paymentRefNum: type: string ProgressUpdate1P3: required: - progressUpdate1P3MeasuresUpdate type: object properties: groupChange: $ref: '#/components/schemas/GroupChange' progressUpdate1P3MeasuresUpdate: $ref: '#/components/schemas/ProgressUpdate1P3MeasuresUpdate' responsibleOfficerConfirmation: uniqueItems: true type: array items: type: string enum: - ESOS_ACTION_PLAN_COMPLIANCE - ESTIMATION_METHOD_DOCUMENTED ProgressUpdate1P3ApplicationSubmitRequestTaskPayload: type: object allOf: - $ref: '#/components/schemas/RequestTaskPayload' - type: object properties: isDisaggregateUndertaking: type: boolean progressUpdate1P3: $ref: '#/components/schemas/ProgressUpdate1P3' progressUpdate1P3SectionsCompleted: type: object additionalProperties: type: string progressUpdate1P3Attachments: type: object additionalProperties: type: string ProgressUpdate1P3MeasuresUpdate: type: object properties: progressUpdate1P3Measures: maxItems: 100 minItems: 0 type: array items: $ref: '#/components/schemas/ProgressUpdate1P3UpdatedMeasure' progressUpdate1P3AddedMeasure: maxItems: 50 minItems: 0 type: array items: $ref: '#/components/schemas/ProgressUpdate1P3AddedMeasure' ProgressUpdate1P3UpdatedMeasure: required: - actionPlanEnergyEfficiencyMeasure - measureImplType - progressUpdate1P3EnergyEfficiencyMeasure - uuId type: object properties: uuId: type: string format: uuid measureImplType: type: string enum: - MEASURE_IMPL_BEFORE_SUBMIT_ACTION_PLAN - MEASURE_IMPL_AFTER_SUBMIT_ACTION_PLAN actionPlanEnergyEfficiencyMeasure: $ref: '#/components/schemas/EnergyEfficiencyMeasure' progressUpdate1P3EnergyEfficiencyMeasure: $ref: '#/components/schemas/ProgressUpdate1P3EnergyEfficiencyMeasure' ProgressUpdate2P3: required: - progressUpdate2P3MeasuresUpdate type: object properties: groupChange: $ref: '#/components/schemas/GroupChange' progressUpdate2P3MeasuresUpdate: $ref: '#/components/schemas/ProgressUpdate2P3MeasuresUpdate' responsibleOfficerConfirmation: uniqueItems: true type: array items: type: string enum: - ESOS_ACTION_PLAN_COMPLIANCE - ESTIMATION_METHOD_DOCUMENTED ProgressUpdate2P3ApplicationSubmitRequestTaskPayload: type: object allOf: - $ref: '#/components/schemas/RequestTaskPayload' - type: object properties: isDisaggregateUndertaking: type: boolean progressUpdate2P3: $ref: '#/components/schemas/ProgressUpdate2P3' progressUpdate2P3SectionsCompleted: type: object additionalProperties: type: string progressUpdate2P3Attachments: type: object additionalProperties: type: string ProgressUpdate2P3MeasuresUpdate: type: object properties: progressUpdate2P3Measures: maxItems: 100 minItems: 0 type: array items: $ref: '#/components/schemas/ProgressUpdate2P3UpdatedMeasure' progressUpdate2P3UpdatedAddedMeasures: maxItems: 100 minItems: 0 type: array items: $ref: '#/components/schemas/ProgressUpdate2P3UpdatedAddedMeasure' progressUpdate2P3AddedMeasure: maxItems: 50 minItems: 0 type: array items: $ref: '#/components/schemas/ProgressUpdate2P3AddedMeasure' ProgressUpdate2P3UpdatedAddedMeasure: required: - progressUpdate1P3AddedMeasure - progressUpdate2P3EnergyEfficiencyMeasure - uuId type: object properties: uuId: type: string format: uuid progressUpdate1P3AddedMeasure: $ref: '#/components/schemas/ProgressUpdate1P3AddedMeasure' progressUpdate2P3EnergyEfficiencyMeasure: $ref: '#/components/schemas/ProgressUpdate2P3EnergyEfficiencyMeasure' ProgressUpdate2P3UpdatedMeasure: required: - uuId type: object properties: uuId: type: string format: uuid actionPlanEnergyEfficiencyMeasure: $ref: '#/components/schemas/EnergyEfficiencyMeasure' progressUpdate1P3EnergyEfficiencyMeasure: $ref: '#/components/schemas/ProgressUpdate1P3EnergyEfficiencyMeasure' progressUpdate2P3EnergyEfficiencyMeasure: $ref: '#/components/schemas/ProgressUpdate2P3EnergyEfficiencyMeasure' RdeForceDecisionRequestTaskPayload: required: - rdeForceDecisionPayload - rdeResponsePayload type: object allOf: - $ref: '#/components/schemas/RequestTaskPayload' - type: object properties: rdeResponsePayload: $ref: '#/components/schemas/RdeResponsePayload' rdeForceDecisionPayload: $ref: '#/components/schemas/RdeForceDecisionPayload' rdeAttachments: type: object additionalProperties: type: string RdeResponsePayload: required: - currentDueDate - proposedDueDate type: object properties: currentDueDate: type: string format: date proposedDueDate: type: string format: date RdeResponseRequestTaskPayload: required: - rdeResponsePayload type: object allOf: - $ref: '#/components/schemas/RequestTaskPayload' - type: object properties: rdeResponsePayload: $ref: '#/components/schemas/RdeResponsePayload' RequestInfoDTO: type: object properties: id: type: string type: type: string enum: - ORGANISATION_ACCOUNT_OPENING - NOTIFICATION_OF_COMPLIANCE_P3 - ACTION_PLAN_P3 - ACCOUNT_CLOSURE - PROGRESS_UPDATE_1_P3 - PROGRESS_UPDATE_2_P3 competentAuthority: type: string enum: - ENGLAND - NORTHERN_IRELAND - OPRED - SCOTLAND - WALES accountId: type: integer format: int64 requestMetadata: $ref: '#/components/schemas/RequestMetadata' paymentCompleted: type: boolean paymentAmount: type: string format: decimal RequestTaskDTO: type: object properties: id: type: integer format: int64 type: type: string enum: - ORGANISATION_ACCOUNT_OPENING_APPLICATION_REVIEW - NOTIFICATION_OF_COMPLIANCE_P3_APPLICATION_SUBMIT - NOTIFICATION_OF_COMPLIANCE_P3_APPLICATION_EDIT - NOTIFICATION_OF_COMPLIANCE_P3_WAIT_FOR_EDIT - ACTION_PLAN_P3_APPLICATION_SUBMIT - ACCOUNT_CLOSURE_SUBMIT - PROGRESS_UPDATE_1_P3_APPLICATION_SUBMIT - PROGRESS_UPDATE_2_P3_APPLICATION_SUBMIT payload: $ref: '#/components/schemas/RequestTaskPayload' assignable: type: boolean assigneeUserId: type: string assigneeFullName: type: string daysRemaining: type: integer format: int64 startDate: type: string format: date-time RequestTaskItemDTO: type: object properties: requestTask: $ref: '#/components/schemas/RequestTaskDTO' allowedRequestTaskActions: type: array items: type: string enum: - ORGANISATION_ACCOUNT_OPENING_AMEND_APPLICATION - ORGANISATION_ACCOUNT_OPENING_SUBMIT_DECISION - NOTIFICATION_OF_COMPLIANCE_P3_SAVE_APPLICATION_SUBMIT - NOTIFICATION_OF_COMPLIANCE_P3_UPLOAD_ATTACHMENT - NOTIFICATION_OF_COMPLIANCE_P3_SEND_TO_EDIT - NOTIFICATION_OF_COMPLIANCE_P3_SUBMIT_APPLICATION - NOTIFICATION_OF_COMPLIANCE_P3_SAVE_APPLICATION_EDIT - NOTIFICATION_OF_COMPLIANCE_P3_RETURN_TO_SUBMIT - RFI_SUBMIT - RFI_UPLOAD_ATTACHMENT - RFI_RESPONSE_SUBMIT - RFI_CANCEL - RDE_SUBMIT - RDE_RESPONSE_SUBMIT - RDE_FORCE_DECISION - RDE_UPLOAD_ATTACHMENT - PAYMENT_MARK_AS_PAID - PAYMENT_MARK_AS_RECEIVED - PAYMENT_PAY_BY_CARD - PAYMENT_CANCEL - ACTION_PLAN_P3_SUBMIT_APPLICATION - ACTION_PLAN_P3_SAVE_APPLICATION_SUBMIT - ACTION_PLAN_CANCEL_APPLICATION - ACCOUNT_CLOSURE_SUBMIT_APPLICATION - ACCOUNT_CLOSURE_SAVE_APPLICATION_SUBMIT - ACCOUNT_CLOSURE_CANCEL_APPLICATION - PROGRESS_UPDATE_1_P3_SUBMIT_APPLICATION - PROGRESS_UPDATE_1_P3_SAVE_APPLICATION_SUBMIT - PROGRESS_UPDATE_1_CANCEL_APPLICATION - PROGRESS_UPDATE_2_P3_SUBMIT_APPLICATION - PROGRESS_UPDATE_2_P3_SAVE_APPLICATION_SUBMIT - PROGRESS_UPDATE_2_CANCEL_APPLICATION userAssignCapable: type: boolean requestInfo: $ref: '#/components/schemas/RequestInfoDTO' RequestTaskPayload: type: object properties: payloadType: type: string enum: - ORGANISATION_ACCOUNT_OPENING_APPLICATION_PAYLOAD - NOTIFICATION_OF_COMPLIANCE_P3_APPLICATION_SUBMIT_PAYLOAD - NOTIFICATION_OF_COMPLIANCE_P3_APPLICATION_EDIT_PAYLOAD - RFI_RESPONSE_SUBMIT_PAYLOAD - RDE_RESPONSE_SUBMIT_PAYLOAD - RDE_WAIT_FOR_RESPONSE_PAYLOAD - PAYMENT_MAKE_PAYLOAD - PAYMENT_TRACK_PAYLOAD - PAYMENT_CONFIRM_PAYLOAD - ACTION_PLAN_P3_APPLICATION_SUBMIT_PAYLOAD - ACCOUNT_CLOSURE_APPLICATION_SUBMIT_PAYLOAD - PROGRESS_UPDATE_1_P3_APPLICATION_SUBMIT_PAYLOAD - PROGRESS_UPDATE_2_P3_APPLICATION_SUBMIT_PAYLOAD discriminator: propertyName: payloadType mapping: ORGANISATION_ACCOUNT_OPENING_APPLICATION_PAYLOAD: '#/components/schemas/OrganisationAccountOpeningApplicationRequestTaskPayload' NOTIFICATION_OF_COMPLIANCE_P3_APPLICATION_SUBMIT_PAYLOAD: '#/components/schemas/NotificationOfComplianceP3ApplicationSubmitRequestTaskPayload' NOTIFICATION_OF_COMPLIANCE_P3_APPLICATION_EDIT_PAYLOAD: '#/components/schemas/NotificationOfComplianceP3ApplicationEditRequestTaskPayload' RFI_RESPONSE_SUBMIT_PAYLOAD: '#/components/schemas/RfiResponseSubmitRequestTaskPayload' RDE_WAIT_FOR_RESPONSE_PAYLOAD: '#/components/schemas/RdeForceDecisionRequestTaskPayload' RDE_RESPONSE_SUBMIT_PAYLOAD: '#/components/schemas/RdeResponseRequestTaskPayload' PAYMENT_MAKE_PAYLOAD: '#/components/schemas/PaymentMakeRequestTaskPayload' PAYMENT_TRACK_PAYLOAD: '#/components/schemas/PaymentTrackRequestTaskPayload' PAYMENT_CONFIRM_PAYLOAD: '#/components/schemas/PaymentConfirmRequestTaskPayload' ACTION_PLAN_P3_APPLICATION_SUBMIT_PAYLOAD: '#/components/schemas/ActionPlanP3ApplicationSubmitRequestTaskPayload' ACCOUNT_CLOSURE_APPLICATION_SUBMIT_PAYLOAD: '#/components/schemas/AccountClosureApplicationRequestTaskPayload' PROGRESS_UPDATE_1_P3_APPLICATION_SUBMIT_PAYLOAD: '#/components/schemas/ProgressUpdate1P3ApplicationSubmitRequestTaskPayload' PROGRESS_UPDATE_2_P3_APPLICATION_SUBMIT_PAYLOAD: '#/components/schemas/ProgressUpdate2P3ApplicationSubmitRequestTaskPayload' RfiResponseSubmitRequestTaskPayload: required: - rfiQuestionPayload - rfiResponsePayload type: object allOf: - $ref: '#/components/schemas/RequestTaskPayload' - type: object properties: rfiQuestionPayload: $ref: '#/components/schemas/RfiQuestionPayload' rfiResponsePayload: $ref: '#/components/schemas/RfiResponsePayload' rfiAttachments: type: object additionalProperties: type: string AssigneeUserInfoDTO: type: object properties: id: type: string firstName: type: string lastName: type: string AccountStatus: type: object properties: name: type: string RequestCreateValidationResult: type: object properties: valid: type: boolean accountStatus: $ref: '#/components/schemas/AccountStatus' applicableAccountStatuses: uniqueItems: true type: array items: $ref: '#/components/schemas/AccountStatus' requests: uniqueItems: true type: array items: type: string enum: - ORGANISATION_ACCOUNT_OPENING - NOTIFICATION_OF_COMPLIANCE_P3 - ACTION_PLAN_P3 - ACCOUNT_CLOSURE - PROGRESS_UPDATE_1_P3 - PROGRESS_UPDATE_2_P3 NotePayload: required: - note type: object properties: note: maxLength: 10000 minLength: 0 type: string files: type: object additionalProperties: type: string RequestNoteDto: type: object properties: id: type: integer format: int64 payload: $ref: '#/components/schemas/NotePayload' submitter: type: string lastUpdatedOn: type: string format: date-time requestId: type: string editable: type: boolean RequestNoteResponse: type: object properties: requestNotes: type: array items: $ref: '#/components/schemas/RequestNoteDto' totalItems: type: integer format: int64 RequestActionInfoDTO: type: object properties: id: type: integer format: int64 type: type: string enum: - ORGANISATION_ACCOUNT_OPENING_APPLICATION_SUBMITTED - ORGANISATION_ACCOUNT_OPENING_APPROVED - ORGANISATION_ACCOUNT_OPENING_REJECTED - ORGANISATION_ACCOUNT_OPENING_CREATED - NOTIFICATION_OF_COMPLIANCE_P3_APPLICATION_SENT_TO_EDIT - NOTIFICATION_OF_COMPLIANCE_P3_APPLICATION_SUBMITTED - NOTIFICATION_OF_COMPLIANCE_P3_APPLICATION_RETURNED_TO_SUBMIT - NOTIFICATION_OF_COMPLIANCE_P3_APPLICATION_RE_INITIATED - RFI_SUBMITTED - RFI_CANCELLED - RFI_EXPIRED - RFI_RESPONSE_SUBMITTED - RDE_SUBMITTED - RDE_ACCEPTED - RDE_REJECTED - RDE_FORCE_ACCEPTED - RDE_FORCE_REJECTED - RDE_EXPIRED - RDE_CANCELLED - PAYMENT_MARKED_AS_PAID - PAYMENT_MARKED_AS_RECEIVED - PAYMENT_COMPLETED - PAYMENT_CANCELLED - REQUEST_TERMINATED - VERIFICATION_STATEMENT_CANCELLED - ACTION_PLAN_P3_APPLICATION_SUBMITTED - ACTION_PLAN_P3_APPLICATION_RE_INITIATED - ACTION_PLAN_APPLICATION_CANCELLED - ACCOUNT_CLOSURE_APPLICATION_SUBMITTED - ACCOUNT_CLOSURE_APPLICATION_CANCELLED - PROGRESS_UPDATE_1_P3_APPLICATION_SUBMITTED - PROGRESS_UPDATE_1_APPLICATION_CANCELLED - PROGRESS_UPDATE_1_P3_APPLICATION_RE_INITIATED - PROGRESS_UPDATE_2_P3_APPLICATION_SUBMITTED - PROGRESS_UPDATE_2_APPLICATION_CANCELLED - PROGRESS_UPDATE_2_P3_APPLICATION_RE_INITIATED submitter: type: string creationDate: type: string format: date-time AccountClosureApplicationRequestActionPayload: type: object allOf: - $ref: '#/components/schemas/RequestActionPayload' - type: object properties: accountClosure: $ref: '#/components/schemas/AccountClosure' submitDate: type: string format: date-time ActionPlanP3ApplicationRequestActionPayload: type: object allOf: - $ref: '#/components/schemas/RequestActionPayload' - type: object properties: actionPlan: $ref: '#/components/schemas/ActionPlanP3' actionPlanAttachments: type: object additionalProperties: type: string NotificationOfComplianceP3ApplicationRequestActionPayload: type: object allOf: - $ref: '#/components/schemas/RequestActionPayload' - type: object properties: accountOriginatedData: $ref: '#/components/schemas/AccountOriginatedData' noc: $ref: '#/components/schemas/NocP3' nocAttachments: type: object additionalProperties: type: string OrganisationAccountOpeningApplicationSubmittedRequestActionPayload: required: - account - participantDetails type: object allOf: - $ref: '#/components/schemas/RequestActionPayload' - type: object properties: participantDetails: $ref: '#/components/schemas/OrganisationParticipantDetails' account: $ref: '#/components/schemas/OrganisationAccountPayload' OrganisationAccountOpeningDecisionSubmittedRequestActionPayload: required: - account - decision - participantDetails type: object allOf: - $ref: '#/components/schemas/RequestActionPayload' - type: object properties: decision: $ref: '#/components/schemas/AccountOpeningDecisionPayload' account: $ref: '#/components/schemas/OrganisationAccountPayload' participantDetails: $ref: '#/components/schemas/OrganisationParticipantDetails' PaymentCancelledRequestActionPayload: type: object allOf: - $ref: '#/components/schemas/RequestActionPayload' - type: object properties: status: type: string enum: - MARK_AS_PAID - MARK_AS_RECEIVED - COMPLETED - CANCELLED cancellationReason: type: string PaymentProcessedRequestActionPayload: type: object allOf: - $ref: '#/components/schemas/RequestActionPayload' - type: object properties: paymentRefNum: type: string paymentDate: type: string format: date paidByFullName: type: string amount: type: string format: decimal status: type: string enum: - MARK_AS_PAID - MARK_AS_RECEIVED - COMPLETED - CANCELLED paymentMethod: type: string enum: - BANK_TRANSFER - CREDIT_OR_DEBIT_CARD receivedDate: type: string format: date ProgressUpdate1P3ApplicationRequestActionPayload: type: object allOf: - $ref: '#/components/schemas/RequestActionPayload' - type: object properties: isDisaggregateUndertaking: type: boolean progressUpdate1P3: $ref: '#/components/schemas/ProgressUpdate1P3' progressUpdate1Attachments: type: object additionalProperties: type: string ProgressUpdate2P3ApplicationRequestActionPayload: type: object allOf: - $ref: '#/components/schemas/RequestActionPayload' - type: object properties: isDisaggregateUndertaking: type: boolean progressUpdate2P3: $ref: '#/components/schemas/ProgressUpdate2P3' progressUpdate2Attachments: type: object additionalProperties: type: string RdeDecisionForcedRequestActionPayload: required: - rdeForceDecisionPayload type: object allOf: - $ref: '#/components/schemas/RequestActionPayload' - type: object properties: rdeForceDecisionPayload: $ref: '#/components/schemas/RdeForceDecisionPayload' rdeAttachments: type: object additionalProperties: type: string RdeRejectedRequestActionPayload: required: - reason type: object allOf: - $ref: '#/components/schemas/RequestActionPayload' - type: object properties: decision: type: string enum: - ACCEPTED - REJECTED reason: type: string RdeSubmittedRequestActionPayload: required: - officialDocument - rdePayload type: object allOf: - $ref: '#/components/schemas/RequestActionPayload' - type: object properties: rdePayload: $ref: '#/components/schemas/RdePayload' usersInfo: type: object additionalProperties: $ref: '#/components/schemas/RequestActionUserInfo' officialDocument: $ref: '#/components/schemas/FileInfoDTO' RequestActionDTO: type: object properties: id: type: integer format: int64 type: type: string enum: - ORGANISATION_ACCOUNT_OPENING_APPLICATION_SUBMITTED - ORGANISATION_ACCOUNT_OPENING_APPROVED - ORGANISATION_ACCOUNT_OPENING_REJECTED - ORGANISATION_ACCOUNT_OPENING_CREATED - NOTIFICATION_OF_COMPLIANCE_P3_APPLICATION_SENT_TO_EDIT - NOTIFICATION_OF_COMPLIANCE_P3_APPLICATION_SUBMITTED - NOTIFICATION_OF_COMPLIANCE_P3_APPLICATION_RETURNED_TO_SUBMIT - NOTIFICATION_OF_COMPLIANCE_P3_APPLICATION_RE_INITIATED - RFI_SUBMITTED - RFI_CANCELLED - RFI_EXPIRED - RFI_RESPONSE_SUBMITTED - RDE_SUBMITTED - RDE_ACCEPTED - RDE_REJECTED - RDE_FORCE_ACCEPTED - RDE_FORCE_REJECTED - RDE_EXPIRED - RDE_CANCELLED - PAYMENT_MARKED_AS_PAID - PAYMENT_MARKED_AS_RECEIVED - PAYMENT_COMPLETED - PAYMENT_CANCELLED - REQUEST_TERMINATED - VERIFICATION_STATEMENT_CANCELLED - ACTION_PLAN_P3_APPLICATION_SUBMITTED - ACTION_PLAN_P3_APPLICATION_RE_INITIATED - ACTION_PLAN_APPLICATION_CANCELLED - ACCOUNT_CLOSURE_APPLICATION_SUBMITTED - ACCOUNT_CLOSURE_APPLICATION_CANCELLED - PROGRESS_UPDATE_1_P3_APPLICATION_SUBMITTED - PROGRESS_UPDATE_1_APPLICATION_CANCELLED - PROGRESS_UPDATE_1_P3_APPLICATION_RE_INITIATED - PROGRESS_UPDATE_2_P3_APPLICATION_SUBMITTED - PROGRESS_UPDATE_2_APPLICATION_CANCELLED - PROGRESS_UPDATE_2_P3_APPLICATION_RE_INITIATED payload: $ref: '#/components/schemas/RequestActionPayload' requestId: type: string requestType: type: string enum: - ORGANISATION_ACCOUNT_OPENING - NOTIFICATION_OF_COMPLIANCE_P3 - ACTION_PLAN_P3 - ACCOUNT_CLOSURE - PROGRESS_UPDATE_1_P3 - PROGRESS_UPDATE_2_P3 requestAccountId: type: integer format: int64 competentAuthority: type: string enum: - ENGLAND - NORTHERN_IRELAND - OPRED - SCOTLAND - WALES submitter: type: string creationDate: type: string format: date-time RequestActionPayload: type: object properties: payloadType: type: string enum: - ORGANISATION_ACCOUNT_OPENING_APPLICATION_SUBMITTED_PAYLOAD - ORGANISATION_ACCOUNT_OPENING_DECISION_SUBMITTED_PAYLOAD - NOTIFICATION_OF_COMPLIANCE_P3_APPLICATION_SENT_TO_EDIT_PAYLOAD - NOTIFICATION_OF_COMPLIANCE_P3_APPLICATION_SUBMITTED_PAYLOAD - NOTIFICATION_OF_COMPLIANCE_P3_APPLICATION_RETURNED_TO_SUBMIT_PAYLOAD - RFI_SUBMITTED_PAYLOAD - RFI_RESPONSE_SUBMITTED_PAYLOAD - RDE_SUBMITTED_PAYLOAD - RDE_REJECTED_PAYLOAD - RDE_DECISION_FORCED_PAYLOAD - PAYMENT_MARKED_AS_PAID_PAYLOAD - PAYMENT_MARKED_AS_RECEIVED_PAYLOAD - PAYMENT_COMPLETED_PAYLOAD - PAYMENT_CANCELLED_PAYLOAD - ACTION_PLAN_P3_APPLICATION_SUBMITTED_PAYLOAD - ACCOUNT_CLOSURE_APPLICATION_SUBMITTED_PAYLOAD - PROGRESS_UPDATE_1_P3_APPLICATION_SUBMITTED_PAYLOAD - PROGRESS_UPDATE_2_P3_APPLICATION_SUBMITTED_PAYLOAD discriminator: propertyName: payloadType mapping: ORGANISATION_ACCOUNT_OPENING_APPLICATION_SUBMITTED_PAYLOAD: '#/components/schemas/OrganisationAccountOpeningApplicationSubmittedRequestActionPayload' ORGANISATION_ACCOUNT_OPENING_DECISION_SUBMITTED_PAYLOAD: '#/components/schemas/OrganisationAccountOpeningDecisionSubmittedRequestActionPayload' NOTIFICATION_OF_COMPLIANCE_P3_APPLICATION_SENT_TO_EDIT_PAYLOAD: '#/components/schemas/NotificationOfComplianceP3ApplicationRequestActionPayload' NOTIFICATION_OF_COMPLIANCE_P3_APPLICATION_SUBMITTED_PAYLOAD: '#/components/schemas/NotificationOfComplianceP3ApplicationRequestActionPayload' NOTIFICATION_OF_COMPLIANCE_P3_APPLICATION_RETURNED_TO_SUBMIT_PAYLOAD: '#/components/schemas/NotificationOfComplianceP3ApplicationRequestActionPayload' RFI_RESPONSE_SUBMITTED_PAYLOAD: '#/components/schemas/RfiResponseSubmittedRequestActionPayload' RFI_SUBMITTED_PAYLOAD: '#/components/schemas/RfiSubmittedRequestActionPayload' RDE_DECISION_FORCED_PAYLOAD: '#/components/schemas/RdeDecisionForcedRequestActionPayload' RDE_REJECTED_PAYLOAD: '#/components/schemas/RdeRejectedRequestActionPayload' RDE_SUBMITTED_PAYLOAD: '#/components/schemas/RdeSubmittedRequestActionPayload' PAYMENT_MARKED_AS_PAID_PAYLOAD: '#/components/schemas/PaymentProcessedRequestActionPayload' PAYMENT_MARKED_AS_RECEIVED_PAYLOAD: '#/components/schemas/PaymentProcessedRequestActionPayload' PAYMENT_COMPLETED_PAYLOAD: '#/components/schemas/PaymentProcessedRequestActionPayload' PAYMENT_CANCELLED_PAYLOAD: '#/components/schemas/PaymentCancelledRequestActionPayload' ACTION_PLAN_P3_APPLICATION_SUBMITTED_PAYLOAD: '#/components/schemas/ActionPlanP3ApplicationRequestActionPayload' ACCOUNT_CLOSURE_APPLICATION_SUBMITTED_PAYLOAD: '#/components/schemas/AccountClosureApplicationRequestActionPayload' PROGRESS_UPDATE_1_P3_APPLICATION_SUBMITTED_PAYLOAD: '#/components/schemas/ProgressUpdate1P3ApplicationRequestActionPayload' PROGRESS_UPDATE_2_P3_APPLICATION_SUBMITTED_PAYLOAD: '#/components/schemas/ProgressUpdate2P3ApplicationRequestActionPayload' RequestActionUserInfo: required: - name type: object properties: name: type: string roleCode: type: string contactTypes: uniqueItems: true type: array items: type: string enum: - PRIMARY - SECONDARY - SERVICE - FINANCIAL - CA_SITE - VB_SITE RfiResponseSubmittedRequestActionPayload: required: - rfiQuestionPayload - rfiResponsePayload type: object allOf: - $ref: '#/components/schemas/RequestActionPayload' - type: object properties: rfiQuestionPayload: $ref: '#/components/schemas/RfiQuestionPayload' rfiResponsePayload: $ref: '#/components/schemas/RfiResponsePayload' rfiAttachments: type: object additionalProperties: type: string RfiSubmittedRequestActionPayload: required: - officialDocument - rfiSubmitPayload type: object allOf: - $ref: '#/components/schemas/RequestActionPayload' - type: object properties: rfiSubmitPayload: $ref: '#/components/schemas/RfiSubmitPayload' usersInfo: type: object additionalProperties: $ref: '#/components/schemas/RequestActionUserInfo' rfiAttachments: type: object additionalProperties: type: string officialDocument: $ref: '#/components/schemas/FileInfoDTO' RegulatorUserAuthorityInfoDTO: type: object properties: userId: type: string firstName: type: string lastName: type: string jobTitle: type: string authorityCreationDate: type: string format: date-time authorityStatus: type: string enum: - PENDING - TEMP_DISABLED_PENDING - ACTIVE - DISABLED - ACCEPTED - TEMP_DISABLED locked: type: boolean RegulatorUsersAuthoritiesInfoDTO: type: object properties: caUsers: type: array items: $ref: '#/components/schemas/RegulatorUserAuthorityInfoDTO' editable: type: boolean AuthorityManagePermissionDTO: type: object properties: permissions: type: object additionalProperties: type: string enum: - NONE - VIEW_ONLY - EXECUTE editable: type: boolean AccountSearchResults: type: object properties: accounts: type: array items: $ref: '#/components/schemas/OrganisationAccountSearchResultsInfoDTO' total: type: integer format: int64 OrganisationAccountSearchResultsInfoDTO: type: object properties: id: type: integer format: int64 name: type: string organisationId: type: string status: type: string enum: - AWAITING_APPROVAL - LIVE - DENIED - CLOSED OrganisationAccountDTO: required: - city - codes - competentAuthority - line1 - name - postcode - type type: object properties: id: type: integer format: int64 registrationNumber: type: string name: type: string type: type: string enum: - SIC - OTHER otherTypeName: maxLength: 255 minLength: 0 type: string codes: maxItems: 4 minItems: 1 type: array items: maxLength: 255 minLength: 0 type: string line1: maxLength: 255 minLength: 0 type: string line2: maxLength: 255 minLength: 0 type: string city: maxLength: 255 minLength: 0 type: string county: maxLength: 255 minLength: 0 type: string postcode: maxLength: 64 minLength: 0 type: string competentAuthority: type: string enum: - ENGLAND - NORTHERN_IRELAND - OPRED - SCOTLAND - WALES organisationId: type: string status: type: string enum: - AWAITING_APPROVAL - LIVE - DENIED - CLOSED editable: type: boolean OnboardingRegistrationNumberDTO: type: object properties: registrationNumber: type: string AccountOperatorsUsersAuthoritiesInfoDTO: type: object properties: authorities: type: array items: $ref: '#/components/schemas/UserAuthorityInfoDTO' editable: type: boolean contactTypes: type: object additionalProperties: type: string NotificationTemplateDTO: type: object properties: id: type: integer format: int64 name: type: string subject: type: string text: type: string eventTrigger: type: string workflow: type: string lastUpdatedDate: type: string format: date-time documentTemplates: uniqueItems: true type: array items: $ref: '#/components/schemas/TemplateInfoDTO' DocumentTemplateDTO: type: object properties: id: type: integer format: int64 name: type: string workflow: type: string lastUpdatedDate: type: string format: date-time fileUuid: type: string filename: type: string notificationTemplates: uniqueItems: true type: array items: $ref: '#/components/schemas/TemplateInfoDTO' ReferenceDataDTO: type: object CompanyProfileDTO: type: object properties: name: type: string registrationNumber: type: string address: $ref: '#/components/schemas/CountyAddressDTO' sicCodes: type: array items: type: string CaExternalContactDTO: type: object properties: id: type: integer format: int64 name: type: string email: type: string description: type: string lastUpdatedDate: type: string format: date-time CaExternalContactsDTO: type: object properties: caExternalContacts: type: array items: $ref: '#/components/schemas/CaExternalContactDTO' isEditable: type: boolean RoleDTO: type: object properties: name: type: string code: type: string RegulatorRolePermissionsDTO: type: object properties: name: type: string code: type: string rolePermissions: type: object additionalProperties: type: string enum: - NONE - VIEW_ONLY - EXECUTE UserStateDTO: type: object properties: userId: type: string roleType: type: string enum: - OPERATOR - VERIFIER - REGULATOR status: type: string enum: - ENABLED - DISABLED - ACCEPTED - NO_AUTHORITY VerificationBodyNameInfoDTO: type: object properties: id: type: integer format: int64 name: type: string AccountNoteDto: type: object properties: id: type: integer format: int64 payload: $ref: '#/components/schemas/NotePayload' submitter: type: string lastUpdatedOn: type: string format: date-time accountId: type: integer format: int64 editable: type: boolean AccountNoteResponse: type: object properties: accountNotes: type: array items: $ref: '#/components/schemas/AccountNoteDto' totalItems: type: integer format: int64 hasUserEditPermission: type: boolean UIPropertiesDTO: type: object properties: features: type: object additionalProperties: type: boolean expirationTime: type: integer format: int64 analytics: type: object additionalProperties: type: string fordwayResetCredentialsUrl: type: string securitySchemes: bearerAuth: type: http scheme: bearer