{"openapi":"3.0.0","paths":{"/api":{"get":{"operationId":"AppController_getData","parameters":[],"responses":{"200":{"description":""},"415":{"description":"A non-empty request body must use application/json."}},"tags":["App"]}},"/api/companies":{"post":{"operationId":"CompaniesController_create","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateCompanyDto"}}}},"responses":{"201":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CompanyResponseDto"}}}},"415":{"description":"A non-empty request body must use application/json."}},"tags":["Companies"]},"get":{"operationId":"CompaniesController_findAll","parameters":[{"name":"cursor","required":false,"in":"query","description":"Opaque continuation cursor returned by the previous page.","schema":{"type":"string"}},{"name":"role","required":false,"in":"query","schema":{"type":"string","enum":["REGULAR","TECHNOLOGY_PARTNER","MANAGED_COMPANY"]}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CompaniesResponseDto"}}}},"415":{"description":"A non-empty request body must use application/json."}},"tags":["Companies"]}},"/api/companies/{id}":{"get":{"operationId":"CompaniesController_findOne","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CompanyResponseDto"}}}},"415":{"description":"A non-empty request body must use application/json."}},"tags":["Companies"]},"patch":{"operationId":"CompaniesController_update","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateCompanyDto"}}}},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CompanyResponseDto"}}}},"415":{"description":"A non-empty request body must use application/json."}},"tags":["Companies"]},"delete":{"operationId":"CompaniesController_remove","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DeleteCompanyResponseDto"}}}},"415":{"description":"A non-empty request body must use application/json."}},"tags":["Companies"]}},"/api/companies/{id}/technology-partners":{"get":{"operationId":"CompaniesController_getTechnologyPartners","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TechnologyPartnersResponseDto"}}}},"415":{"description":"A non-empty request body must use application/json."}},"tags":["Companies"]}},"/api/companies/{id}/managed-companies":{"get":{"operationId":"CompaniesController_getManagedCompanies","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ManagedCompaniesResponseDto"}}}},"415":{"description":"A non-empty request body must use application/json."}},"tags":["Companies"]}},"/api/company/{companyId}/departments":{"post":{"operationId":"DepartmentsController_create","parameters":[{"name":"companyId","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateDepartmentDto"}}}},"responses":{"201":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DepartmentResponseDto"}}}},"400":{"description":"companyId in the body must match companyId in the URL."},"415":{"description":"A non-empty request body must use application/json."}},"tags":["Departments"]},"get":{"operationId":"DepartmentsController_findByCompany","parameters":[{"name":"companyId","required":true,"in":"path","schema":{"type":"string"}},{"name":"cursor","required":false,"in":"query","schema":{"$ref":"#/components/schemas/Object"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DepartmentsResponseDto"}}}},"400":{"description":"The cursor must contain valid URI-encoded JSON."},"404":{"description":"COMPANY_NOT_FOUND: the company does not exist."},"415":{"description":"A non-empty request body must use application/json."}},"tags":["Departments"]}},"/api/company/{companyId}/departments/{id}":{"get":{"operationId":"DepartmentsController_findOne","parameters":[{"name":"companyId","required":true,"in":"path","schema":{"type":"string"}},{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DepartmentResponseDto"}}}},"415":{"description":"A non-empty request body must use application/json."}},"tags":["Departments"]},"patch":{"operationId":"DepartmentsController_update","parameters":[{"name":"companyId","required":true,"in":"path","schema":{"type":"string"}},{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateDepartmentDto"}}}},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DepartmentResponseDto"}}}},"400":{"description":"companyId in the body must match companyId in the URL."},"415":{"description":"A non-empty request body must use application/json."}},"tags":["Departments"]},"delete":{"operationId":"DepartmentsController_remove","parameters":[{"name":"companyId","required":true,"in":"path","schema":{"type":"string"}},{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DeleteDepartmentResponseDto"}}}},"415":{"description":"A non-empty request body must use application/json."}},"tags":["Departments"]}},"/api/company/{companyId}/users/{id}":{"get":{"operationId":"UsersController_retrieveUser","parameters":[{"name":"companyId","required":true,"in":"path","schema":{"type":"string"}},{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserResponseDto"}}}},"415":{"description":"A non-empty request body must use application/json."}},"tags":["Users"]},"patch":{"operationId":"UsersController_update","parameters":[{"name":"companyId","required":true,"in":"path","schema":{"type":"string"}},{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateUserDto"}}}},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserResponseDto"}}}},"400":{"description":"Invalid request body, including missing or invalid fields, or conflicting company IDs."},"415":{"description":"A non-empty request body must use application/json."}},"tags":["Users"]},"delete":{"operationId":"UsersController_remove","parameters":[{"name":"companyId","required":true,"in":"path","schema":{"type":"string"}},{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DeleteUserResponseDto"}}}},"415":{"description":"A non-empty request body must use application/json."}},"tags":["Users"]}},"/api/company/{companyId}/users":{"get":{"operationId":"UsersController_findByCompany","parameters":[{"name":"companyId","required":true,"in":"path","schema":{"type":"string"}},{"name":"cursor","required":false,"in":"query","schema":{"$ref":"#/components/schemas/Object"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UsersResponseDto"}}}},"400":{"description":"The cursor must contain valid URI-encoded JSON."},"404":{"description":"COMPANY_NOT_FOUND: the company does not exist."},"415":{"description":"A non-empty request body must use application/json."}},"tags":["Users"]},"post":{"operationId":"UsersController_create","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateUserDto"}}}},"responses":{"201":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserResponseDto"}}}},"400":{"description":"Invalid request body, including missing or invalid fields, or conflicting company IDs."},"415":{"description":"A non-empty request body must use application/json."}},"tags":["Users"]}},"/api/company/{companyId}/users/{id}/reset-password":{"post":{"operationId":"UsersController_resetPassword","parameters":[{"name":"companyId","required":true,"in":"path","schema":{"type":"string"}},{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResetPasswordResponseDto"}}}},"415":{"description":"A non-empty request body must use application/json."}},"tags":["Users"]}},"/api/company/{companyId}/reports":{"post":{"operationId":"ReportsController_create","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateReportDto"}}}},"responses":{"201":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReportPresignedURLReponseDto"}}}},"400":{"description":"Invalid request body, including missing or invalid fields, or conflicting company IDs."},"415":{"description":"A non-empty request body must use application/json."}},"tags":["Reports"]}},"/api/company/{companyId}/reports/{id}":{"get":{"operationId":"ReportsController_findOne","parameters":[{"name":"companyId","required":true,"in":"path","schema":{"type":"string"}},{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReportResponseDto"}}}},"415":{"description":"A non-empty request body must use application/json."}},"tags":["Reports"]},"delete":{"operationId":"ReportsController_remove","parameters":[{"name":"companyId","required":true,"in":"path","schema":{"type":"string"}},{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DeleteReportResponseDto"}}}},"415":{"description":"A non-empty request body must use application/json."}},"tags":["Reports"]}},"/api/company/{companyId}/reports/search":{"post":{"operationId":"ReportsController_search","parameters":[{"name":"companyId","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SearchReportDto"}}}},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReportSearchResponseDto"}}}},"400":{"description":"Invalid report search request; pagination.page and pagination.pageSize must be at least 1, and range.from must not be later than range.until."},"404":{"description":"COMPANY_NOT_FOUND: the company does not exist."},"415":{"description":"A non-empty request body must use application/json."}},"tags":["Reports"]}},"/api/company/{companyId}/reports/{id}/download-url":{"get":{"operationId":"ReportsController_getDownloadUrl","parameters":[{"name":"companyId","required":true,"in":"path","schema":{"type":"string"}},{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"string"}}}},"415":{"description":"A non-empty request body must use application/json."}},"tags":["Reports"]}},"/api/news-items":{"post":{"operationId":"NewsItemsController_create","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateNewsItemDto"}}}},"responses":{"201":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NewsItemResponseDto"}}}},"415":{"description":"A non-empty request body must use application/json."}},"tags":["NewsItems"]}},"/api/news-items/{id}":{"delete":{"operationId":"NewsItemsController_remove","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DeleteNewsItemResponseDto"}}}},"415":{"description":"A non-empty request body must use application/json."}},"tags":["NewsItems"]}},"/api/usage/details":{"get":{"operationId":"UsageController_getUsageDetails","parameters":[{"name":"from","required":true,"in":"query","description":"Start date of the usage data to retrieve, expressed in UTC timezone (format: yyyy-MM-dd'T'HH:mm:ss.SSS'Z')","schema":{"format":"date-time","type":"string"}},{"name":"until","required":true,"in":"query","description":"Exclusive end date of the usage data to retrieve, expressed in UTC timezone (format: yyyy-MM-dd'T'HH:mm:ss.SSS'Z')","schema":{"format":"date-time","type":"string"}},{"name":"companyId","required":false,"in":"query","description":"Restrict usage events to this company.","schema":{"type":"string"}},{"name":"departmentIds","required":false,"in":"query","description":"Optional list of department IDs. When provided, only department-scoped usage data for those departments is returned. Company-level usage data is excluded.","schema":{"type":"array","items":{"type":"string"}}},{"name":"cursor","required":false,"in":"query","description":"Opaque continuation cursor returned as nextCursor by the previous response","schema":{"type":"string"}},{"name":"maxItems","required":false,"in":"query","description":"Maximum number (1 - 1000) of Usage details that might be returned. It is possible that the response contains fewer elements. Default to 100","schema":{"minimum":1,"maximum":1000,"default":100,"type":"number"}}],"responses":{"200":{"description":"Scrollable list of usage events","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UsageDetailsResponseDto"}}}},"400":{"description":"Invalid date range, filters, page size or cursor."},"415":{"description":"A non-empty request body must use application/json."}},"tags":["Usage"]}},"/api/usage/archive":{"get":{"description":"Activation, daily storage and adjustment facts of the archive add-on, filtered on their timestamp. Facts never change, and a correction is published as a new adjustment whose timestamp is its publication time, so the same request always returns the same facts. until must not be after completeUntil.","operationId":"UsageController_getArchiveUsage","parameters":[{"name":"from","required":true,"in":"query","description":"Start date of the usage data to retrieve, expressed in UTC timezone (format: yyyy-MM-dd'T'HH:mm:ss.SSS'Z')","schema":{"format":"date-time","type":"string"}},{"name":"until","required":true,"in":"query","description":"Exclusive end date of the usage data to retrieve, expressed in UTC timezone (format: yyyy-MM-dd'T'HH:mm:ss.SSS'Z')","schema":{"format":"date-time","type":"string"}},{"name":"companyId","required":false,"in":"query","description":"Restrict usage events to this company.","schema":{"type":"string"}},{"name":"departmentIds","required":false,"in":"query","description":"Optional list of department IDs. When provided, only department-scoped usage data for those departments is returned. Company-level usage data is excluded.","schema":{"type":"array","items":{"type":"string"}}},{"name":"cursor","required":false,"in":"query","description":"Opaque continuation cursor returned as nextCursor by the previous response","schema":{"type":"string"}},{"name":"maxItems","required":false,"in":"query","description":"Maximum number (1 - 1000) of Usage details that might be returned. It is possible that the response contains fewer elements. Default to 100","schema":{"minimum":1,"maximum":1000,"default":100,"type":"number"}}],"responses":{"200":{"description":"Scrollable list of archive usage facts","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ArchiveUsageResponseDto"}}}},"400":{"description":"Invalid date range, until after completeUntil, filters, page size or cursor."},"415":{"description":"A non-empty request body must use application/json."}},"summary":"Archive usage facts","tags":["Usage"]}}},"info":{"title":"White Label Partner API","description":"Documentation for the White Label Partner (WLP) API","version":"1.0","contact":{}},"tags":[],"servers":[],"components":{"schemas":{"PhysicalAddressDto":{"type":"object","properties":{"street":{"type":"string"},"streetNr":{"type":"string"},"postalCode":{"type":"string"},"box":{"type":"string"},"city":{"type":"string"},"countryCode":{"type":"string"},"addressAdditionalLine":{"type":"string"}},"required":["street","streetNr","postalCode","city","countryCode"]},"CompanyIdentifierDto":{"type":"object","properties":{"type":{"type":"string","enum":["ENTERPRISE_NUMBER","VAT_NUMBER","DUNS","GLN","LEITWEG_ID","CODE_ROUTAGE","SIRET_NUMBER","NIP","BANK_NAME","BIC","IBAN","KVK_NUMBER","OIN_NUMBER","CFI","PEC","CODDEST","CUU"]},"value":{"type":"string"}},"required":["type","value"]},"CreateCompanyDto":{"type":"object","properties":{"emailAddress":{"type":"string","format":"email"},"id":{"type":"string"},"erpId":{"type":"string"},"identificationNumber":{"type":"string"},"name":{"type":"string"},"headAddress":{"$ref":"#/components/schemas/PhysicalAddressDto"},"phoneNumber":{"type":"string"},"isActive":{"type":"boolean"},"lastModifiedBy":{"type":"string","default":"Partner.API"},"identifiers":{"type":"array","items":{"$ref":"#/components/schemas/CompanyIdentifierDto"}},"isTechnologyPartner":{"type":"boolean"}},"required":["erpId","name","headAddress","isActive","identifiers"]},"CompanyResponseDto":{"type":"object","properties":{"erpId":{"type":"string"},"identificationNumber":{"type":"string"},"name":{"type":"string"},"headAddress":{"$ref":"#/components/schemas/PhysicalAddressDto"},"emailAddress":{"type":"string"},"phoneNumber":{"type":"string"},"isActive":{"type":"boolean"},"id":{"type":"string"},"createdAt":{"type":"string"},"lastModifiedAt":{"type":"string"},"lastModifiedBy":{"type":"string"},"identifiers":{"type":"array","items":{"$ref":"#/components/schemas/CompanyIdentifierDto"}},"isTechnologyPartner":{"type":"boolean"}},"required":["erpId","name","headAddress","isActive","id","createdAt","lastModifiedAt","lastModifiedBy","identifiers"]},"CompanyListItemResponseDto":{"type":"object","properties":{"erpId":{"type":"string"},"identificationNumber":{"type":"string"},"name":{"type":"string"},"headAddress":{"$ref":"#/components/schemas/PhysicalAddressDto"},"emailAddress":{"type":"string"},"phoneNumber":{"type":"string"},"isActive":{"type":"boolean"},"id":{"type":"string"},"createdAt":{"type":"string"},"lastModifiedAt":{"type":"string"},"lastModifiedBy":{"type":"string"},"identifiers":{"type":"array","items":{"$ref":"#/components/schemas/CompanyIdentifierDto"}},"role":{"enum":["REGULAR","TECHNOLOGY_PARTNER","MANAGED_COMPANY"],"type":"string"},"technologyPartnerId":{"type":"string"},"managedCompanyIds":{"type":"array","items":{"type":"string"}}},"required":["erpId","name","headAddress","isActive","id","createdAt","lastModifiedAt","lastModifiedBy","identifiers","role"]},"CompaniesResponseDto":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/CompanyListItemResponseDto"}},"cursor":{"type":"string"}},"required":["items"]},"TechnologyPartnersResponseDto":{"type":"object","properties":{"companyId":{"type":"string"},"technologyPartnerCompanyIds":{"type":"array","items":{"type":"string"}}},"required":["companyId","technologyPartnerCompanyIds"]},"ManagedCompaniesResponseDto":{"type":"object","properties":{"companyId":{"type":"string"},"managedCompanyIds":{"type":"array","items":{"type":"string"}}},"required":["companyId","managedCompanyIds"]},"UpdateCompanyDto":{"type":"object","properties":{"emailAddress":{"type":"string","format":"email"},"id":{"type":"string"},"erpId":{"type":"string"},"identificationNumber":{"type":"string"},"name":{"type":"string"},"headAddress":{"$ref":"#/components/schemas/PhysicalAddressDto"},"phoneNumber":{"type":"string"},"isActive":{"type":"boolean"},"lastModifiedBy":{"type":"string","default":"Partner.API"},"identifiers":{"type":"array","items":{"$ref":"#/components/schemas/CompanyIdentifierDto"}},"isTechnologyPartner":{"type":"boolean"}}},"DeleteCompanyResponseDto":{"type":"object","properties":{"success":{"type":"boolean"}},"required":["success"]},"CreateDepartmentDto":{"type":"object","properties":{"emailAddress":{"type":"string","format":"email"},"id":{"type":"string"},"companyId":{"type":"string"},"erpId":{"type":"string"},"identificationNumber":{"type":"string"},"name":{"type":"string"},"headAddress":{"$ref":"#/components/schemas/PhysicalAddressDto"},"phoneNumber":{"type":"string"},"hasSeparateInvoicing":{"type":"boolean"},"isActive":{"type":"boolean"},"lastModifiedBy":{"type":"string","default":"Partner.API"}},"required":["companyId","erpId","name","headAddress","hasSeparateInvoicing","isActive"]},"DepartmentResponseDto":{"type":"object","properties":{"companyId":{"type":"string"},"erpId":{"type":"string"},"identificationNumber":{"type":"string"},"name":{"type":"string"},"headAddress":{"$ref":"#/components/schemas/PhysicalAddressDto"},"emailAddress":{"type":"string"},"phoneNumber":{"type":"string"},"hasSeparateInvoicing":{"type":"boolean"},"isActive":{"type":"boolean"},"id":{"type":"string"},"createdAt":{"type":"string"},"lastModifiedAt":{"type":"string"},"lastModifiedBy":{"type":"string"}},"required":["companyId","erpId","name","headAddress","hasSeparateInvoicing","isActive","id","createdAt","lastModifiedAt","lastModifiedBy"]},"Object":{"type":"object","properties":{}},"DepartmentsResponseDto":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/DepartmentResponseDto"}},"cursor":{"type":"string"}},"required":["items"]},"UpdateDepartmentDto":{"type":"object","properties":{"emailAddress":{"type":"string","format":"email"},"id":{"type":"string"},"companyId":{"type":"string"},"erpId":{"type":"string"},"identificationNumber":{"type":"string"},"name":{"type":"string"},"headAddress":{"$ref":"#/components/schemas/PhysicalAddressDto"},"phoneNumber":{"type":"string"},"hasSeparateInvoicing":{"type":"boolean"},"isActive":{"type":"boolean"},"lastModifiedBy":{"type":"string","default":"Partner.API"}}},"DeleteDepartmentResponseDto":{"type":"object","properties":{"success":{"type":"boolean"}},"required":["success"]},"UserResponseDto":{"type":"object","properties":{"companyId":{"type":"string"},"username":{"type":"string"},"role":{"enum":["CLIENT_VIEWER","CLIENT_OPERATOR","CLIENT_DEPARTMENT_ADMIN","CLIENT_ADMIN","SUPER_USER"],"type":"string"},"departments":{"type":"array","items":{"type":"string"}},"firstName":{"type":"string"},"lastName":{"type":"string"},"preferredLanguage":{"enum":["EN","NL","FR"],"type":"string"},"emailAddress":{"type":"string"},"hasMFALoginEnabled":{"type":"boolean"},"hasQERDSMandate":{"type":"boolean"},"modulesAccess":{"type":"array","items":{"type":"string","enum":["EASYPOST_CONNECT","EASYPOST_PORTAL","OMNI"]}},"createdAt":{"type":"string"},"lastModifiedAt":{"type":"string"},"lastModifiedBy":{"type":"string"},"enabled":{"type":"boolean"},"id":{"type":"string"}},"required":["companyId","username","role","departments","firstName","lastName","preferredLanguage","emailAddress","hasMFALoginEnabled","hasQERDSMandate","modulesAccess","createdAt","lastModifiedAt","lastModifiedBy","enabled","id"]},"UpdateUserDto":{"type":"object","properties":{"id":{"type":"string"},"companyId":{"type":"string"},"username":{"type":"string"},"role":{"enum":["CLIENT_VIEWER","CLIENT_OPERATOR","CLIENT_DEPARTMENT_ADMIN","CLIENT_ADMIN","SUPER_USER"],"type":"string"},"departments":{"type":"array","items":{"type":"string"}},"firstName":{"type":"string"},"lastName":{"type":"string"},"preferredLanguage":{"enum":["EN","NL","FR"],"type":"string"},"emailAddress":{"type":"string","format":"email"},"hasMFALoginEnabled":{"type":"boolean"},"hasQERDSMandate":{"type":"boolean"},"modulesAccess":{"type":"array","items":{"type":"string","enum":["EASYPOST_CONNECT","EASYPOST_PORTAL","OMNI"]}},"lastModifiedBy":{"type":"string"},"enabled":{"type":"boolean"}}},"UsersResponseDto":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/UserResponseDto"}},"cursor":{"type":"string"}},"required":["items"]},"CreateUserDto":{"type":"object","properties":{"id":{"type":"string"},"companyId":{"type":"string"},"username":{"type":"string"},"role":{"type":"string","enum":["CLIENT_VIEWER","CLIENT_OPERATOR","CLIENT_DEPARTMENT_ADMIN","CLIENT_ADMIN","SUPER_USER"]},"departments":{"type":"array","items":{"type":"string"}},"firstName":{"type":"string"},"lastName":{"type":"string"},"preferredLanguage":{"type":"string","enum":["EN","NL","FR"]},"emailAddress":{"type":"string","format":"email"},"hasMFALoginEnabled":{"type":"boolean"},"hasQERDSMandate":{"type":"boolean"},"modulesAccess":{"type":"array","items":{"type":"string","enum":["EASYPOST_CONNECT","EASYPOST_PORTAL","OMNI"]}},"lastModifiedBy":{"type":"string"},"enabled":{"type":"boolean"}},"required":["companyId","username","role","departments","firstName","lastName","preferredLanguage","emailAddress","hasMFALoginEnabled","hasQERDSMandate","modulesAccess","lastModifiedBy","enabled"]},"DeleteUserResponseDto":{"type":"object","properties":{"success":{"type":"boolean"}},"required":["success"]},"ResetPasswordResponseDto":{"type":"object","properties":{"success":{"type":"boolean"}},"required":["success"]},"CreateReportDto":{"type":"object","properties":{"companyId":{"type":"string"},"departmentId":{"type":"string"},"id":{"type":"string"},"reportType":{"type":"string","enum":["Distribution","CustomerInvoice"]},"date":{"type":"string"},"name":{"type":"string"},"filename":{"type":"string"},"lastModifiedBy":{"type":"string","default":"Partner.API"}},"required":["companyId","departmentId","reportType","date","name","filename"]},"ReportPresignedURLReponseDto":{"type":"object","properties":{"companyId":{"type":"string"},"id":{"type":"string"},"uploadUrl":{"type":"string"}},"required":["companyId","id","uploadUrl"]},"ReportResponseDto":{"type":"object","properties":{"companyId":{"type":"string"},"departmentId":{"type":"string"},"id":{"type":"string"},"reportType":{"type":"string","enum":["Distribution","CustomerInvoice"]},"name":{"type":"string"},"date":{"type":"string"},"createdAt":{"type":"string"},"lastModifiedAt":{"type":"string"},"lastModifiedBy":{"type":"string"}},"required":["companyId","departmentId","id","reportType","name","date","createdAt","lastModifiedAt","lastModifiedBy"]},"SearchReportPaginationDto":{"type":"object","properties":{"page":{"type":"number","minimum":1},"pageSize":{"type":"number","minimum":1}},"required":["page","pageSize"]},"RangeDateDto":{"type":"object","properties":{"from":{"type":"string"},"until":{"type":"string"}},"required":["from","until"]},"SearchReportDto":{"type":"object","properties":{"pagination":{"$ref":"#/components/schemas/SearchReportPaginationDto"},"name":{"type":"string"},"reportType":{"type":"string","enum":["Distribution","CustomerInvoice"]},"departments":{"type":"array","items":{"type":"string"}},"range":{"$ref":"#/components/schemas/RangeDateDto"}},"required":["range"]},"PaginationResponseDto":{"type":"object","properties":{"page":{"type":"number"},"pageItems":{"type":"number"},"totalItems":{"type":"number"}},"required":["page","pageItems","totalItems"]},"ReportSearchResponseDto":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/ReportResponseDto"}},"pagination":{"$ref":"#/components/schemas/PaginationResponseDto"}},"required":["items","pagination"]},"DeleteReportResponseDto":{"type":"object","properties":{"success":{"type":"boolean"}},"required":["success"]},"MessageDto":{"type":"object","properties":{}},"CreateNewsItemDto":{"type":"object","properties":{"id":{"type":"string"},"communicationType":{"type":"string","enum":["WARNING","OK","NEUTRAL","ALERT"]},"startDate":{"type":"string"},"endDate":{"type":"string"},"message":{"$ref":"#/components/schemas/MessageDto"}},"required":["communicationType","startDate","message"]},"NewsItemResponseDto":{"type":"object","properties":{"id":{"type":"string"},"communicationType":{"type":"string","enum":["WARNING","OK","NEUTRAL","ALERT"]},"startDate":{"type":"string"},"endDate":{"type":"string"},"message":{"$ref":"#/components/schemas/MessageDto"}},"required":["communicationType","startDate","message"]},"DeleteNewsItemResponseDto":{"type":"object","properties":{"success":{"type":"boolean"}},"required":["success"]},"UsageEventBaseDto":{"type":"object","properties":{"id":{"type":"string","description":"Unique identifier of the Usage Event"},"usageType":{"enum":["USAGE_EMAIL_SENDING","USAGE_ERDS_SENDING","USAGE_QERDS_SENDING","USAGE_PEPPOL_INCOMING_DOCUMENT","USAGE_PEPPOL_OUTGOING_EVENT","USAGE_POM_LINK","USAGE_PONTO_ACCOUNT","USAGE_EBOX_ENTERPRISE_MESSAGE","USAGE_EBOX_CITIZEN_MESSAGE","USAGE_PAGES_OCR","USAGE_DOCCLE_DOCUMENT","USAGE_NOTIFICATION_EMAIL","USAGE_PRINT_SENDING","USAGE_PDF_TO_UBL_CONVERSION","USAGE_ESIGNING_DOCUMENT"],"type":"string","description":"Type of the Usage Event"},"timestamp":{"type":"string","description":"Timestamp of the Usage Event","format":"date-time"},"companyId":{"type":"string","description":"Unique identifier of the company associated with the usage event"},"departmentId":{"type":"string","description":"Identifier of the department associated with the usage event, if applicable"}},"required":["id","usageType","timestamp","companyId"]},"UsageEventERDSSendingDto":{"type":"object","properties":{"id":{"type":"string","description":"Unique identifier of the Usage Event"},"usageType":{"enum":["USAGE_ERDS_SENDING"],"type":"string","description":"Type of the Usage Event"},"timestamp":{"type":"string","description":"Timestamp of the Usage Event","format":"date-time"},"companyId":{"type":"string","description":"Unique identifier of the company associated with the usage event"},"departmentId":{"type":"string","description":"Identifier of the department associated with the usage event, if applicable"},"identificationMethods":{"type":"array","items":{"type":"string","enum":["BELGIAN_EID","ITSME","SMS_OTP"]},"description":"Recipient identification methods configured on the ERDS task; empty when no identification was required. Absent on legacy ERDS deliveries."}},"required":["id","usageType","timestamp","companyId"]},"UsageEventPOMLinkExtraDto":{"type":"object","properties":{"paidDate":{"type":"string","description":"Date when the POM link was paid","format":"date-time"},"hasOptin":{"type":"boolean","description":"Whether the user has opted in"}},"required":["paidDate","hasOptin"]},"UsageEventPOMLinkDto":{"type":"object","properties":{"id":{"type":"string","description":"Unique identifier of the Usage Event"},"usageType":{"enum":["USAGE_POM_LINK"],"type":"string","description":"Type of the Usage Event"},"timestamp":{"type":"string","description":"Timestamp of the Usage Event","format":"date-time"},"companyId":{"type":"string","description":"Unique identifier of the company associated with the usage event"},"departmentId":{"type":"string","description":"Identifier of the department associated with the usage event, if applicable"},"extra":{"description":"POM link payment details","allOf":[{"$ref":"#/components/schemas/UsageEventPOMLinkExtraDto"}]}},"required":["id","usageType","timestamp","companyId","extra"]},"UsageEventPagesOCRExtraDto":{"type":"object","properties":{"jobId":{"type":"string","description":"Identifier of the job that processed the pages"},"amountOfPages":{"type":"number","description":"Number of pages processed by OCR"}},"required":["jobId","amountOfPages"]},"UsageEventPagesOCRDto":{"type":"object","properties":{"id":{"type":"string","description":"Unique identifier of the Usage Event"},"usageType":{"enum":["USAGE_PAGES_OCR"],"type":"string","description":"Type of the Usage Event"},"timestamp":{"type":"string","description":"Timestamp of the Usage Event","format":"date-time"},"companyId":{"type":"string","description":"Unique identifier of the company associated with the usage event"},"departmentId":{"type":"string","description":"Identifier of the department associated with the usage event, if applicable"},"extra":{"description":"OCR processing details","allOf":[{"$ref":"#/components/schemas/UsageEventPagesOCRExtraDto"}]}},"required":["id","usageType","timestamp","companyId","extra"]},"UsageEventPdfToUblConversionExtraDto":{"type":"object","properties":{"inputTokens":{"type":"number","description":"Number of input tokens used in the conversion"},"outputTokens":{"type":"number","description":"Number of output tokens generated in the conversion"},"documentType":{"type":"string","description":"Type of document being converted"},"bedrockModel":{"type":"string","description":"Bedrock model used for the conversion"}},"required":["inputTokens","outputTokens","documentType","bedrockModel"]},"UsageEventPdfToUblConversionDto":{"type":"object","properties":{"id":{"type":"string","description":"Unique identifier of the Usage Event"},"usageType":{"enum":["USAGE_PDF_TO_UBL_CONVERSION"],"type":"string","description":"Type of the Usage Event"},"timestamp":{"type":"string","description":"Timestamp of the Usage Event","format":"date-time"},"companyId":{"type":"string","description":"Unique identifier of the company associated with the usage event"},"departmentId":{"type":"string","description":"Identifier of the department associated with the usage event, if applicable"},"extra":{"description":"PDF to UBL conversion details","allOf":[{"$ref":"#/components/schemas/UsageEventPdfToUblConversionExtraDto"}]}},"required":["id","usageType","timestamp","companyId","extra"]},"UsageEventPeppolOutgoingDto":{"type":"object","properties":{"id":{"type":"string","description":"Unique identifier of the Usage Event"},"usageType":{"enum":["USAGE_PEPPOL_OUTGOING_EVENT"],"type":"string","description":"Type of the Usage Event"},"timestamp":{"type":"string","description":"Timestamp of the Usage Event","format":"date-time"},"companyId":{"type":"string","description":"Unique identifier of the company associated with the usage event"},"departmentId":{"type":"string","description":"Identifier of the department associated with the usage event, if applicable"},"supplierId":{"enum":["NYMUS","BILLIT"],"type":"string","description":"Peppol supplier used for the sending"}},"required":["id","usageType","timestamp","companyId","supplierId"]},"UsageEventPeppolIncomingExtraDto":{"type":"object","properties":{"documentType":{"type":"string","description":"Type of the incoming document"}},"required":["documentType"]},"UsageEventPeppolIncomingDto":{"type":"object","properties":{"id":{"type":"string","description":"Unique identifier of the Usage Event"},"usageType":{"enum":["USAGE_PEPPOL_INCOMING_DOCUMENT"],"type":"string","description":"Type of the Usage Event"},"timestamp":{"type":"string","description":"Timestamp of the Usage Event","format":"date-time"},"companyId":{"type":"string","description":"Unique identifier of the company associated with the usage event"},"departmentId":{"type":"string","description":"Identifier of the department associated with the usage event, if applicable"},"supplierId":{"enum":["NYMUS","BILLIT"],"type":"string","description":"Peppol supplier that sent the incoming document"},"extra":{"description":"Additional information about the incoming document","allOf":[{"$ref":"#/components/schemas/UsageEventPeppolIncomingExtraDto"}]}},"required":["id","usageType","timestamp","companyId","supplierId","extra"]},"UsageEventEsigningDto":{"type":"object","properties":{"id":{"type":"string","description":"Unique identifier of the Usage Event"},"usageType":{"enum":["USAGE_ESIGNING_DOCUMENT"],"type":"string","description":"Type of the Usage Event"},"timestamp":{"type":"string","description":"Timestamp of the Usage Event","format":"date-time"},"companyId":{"type":"string","description":"Unique identifier of the company associated with the usage event"},"departmentId":{"type":"string","description":"Identifier of the department associated with the usage event, if applicable"},"status":{"enum":["FAILED","CLOSED","SIGNED","SIGNED_WITH_DECLINATIONS","DECLINED","EXPIRED","DELETED"],"type":"string","description":"Final status of the eSigning document"}},"required":["id","usageType","timestamp","companyId"]},"UsageDetailsResponseDto":{"type":"object","properties":{"items":{"type":"array","description":"Array of usage events for the current page","items":{"oneOf":[{"$ref":"#/components/schemas/UsageEventBaseDto"},{"$ref":"#/components/schemas/UsageEventERDSSendingDto"},{"$ref":"#/components/schemas/UsageEventPOMLinkDto"},{"$ref":"#/components/schemas/UsageEventPagesOCRDto"},{"$ref":"#/components/schemas/UsageEventPdfToUblConversionDto"},{"$ref":"#/components/schemas/UsageEventPeppolOutgoingDto"},{"$ref":"#/components/schemas/UsageEventPeppolIncomingDto"},{"$ref":"#/components/schemas/UsageEventEsigningDto"}]}},"totalItems":{"type":"number","description":"Total number of items available (without pagination)"},"nextCursor":{"type":"string","description":"Opaque continuation cursor; omitted on the final page."}},"required":["items","totalItems"]},"ArchiveUsageFactDto":{"type":"object","properties":{"id":{"type":"string","description":"Unique and stable identifier of the fact"},"usageType":{"enum":["USAGE_ARCHIVE_ACTIVATED","USAGE_ARCHIVE_DAILY_STORAGE","USAGE_ARCHIVE_ADJUSTMENT"],"type":"string","description":"USAGE_ARCHIVE_ACTIVATED: a new archive service period started. USAGE_ARCHIVE_DAILY_STORAGE: storage of one UTC day, company, service period and original department. USAGE_ARCHIVE_ADJUSTMENT: a correction of a published day."},"timestamp":{"type":"string","description":"Activation: when the service period started. Daily storage: the start of its UTC day. Adjustment: when it was published.","format":"date-time"},"recordedAt":{"type":"string","description":"When the fact was recorded or published","format":"date-time"},"companyId":{"type":"string","description":"Company of the fact"},"departmentId":{"type":"string","description":"Original department of the archived records. Absent on activation."},"servicePeriodId":{"type":"string","description":"Identifier of the activation fact that started the service period"},"extra":{"type":"object","description":"Quantities of the fact. Absent for USAGE_ARCHIVE_ACTIVATED.\n\nAll quantities are exact whole numbers sent as decimal strings, because they can exceed the safe integer range of JSON numbers. Divide by msPerDay (86400000, the milliseconds in one UTC day) to get record-days or byte-days; you price and round.\n\nUSAGE_ARCHIVE_DAILY_STORAGE: { day, recordMs, byteMs, msPerDay, closingRecords, closingBytes }\n- recordMs: records stored, times the milliseconds they were stored that UTC day. One record stored from 12:00 to 18:00 UTC is \"21600000\".\n- byteMs: bytes stored, times the milliseconds they were stored. One byte stored for one millisecond is \"1\", so 1/86400000 of a byte-day.\n- closingRecords, closingBytes: what was still stored at the end of the day (informational).\n\nUSAGE_ARCHIVE_ADJUSTMENT: { day, adjustsFactId, reason, recordMsDelta, byteMsDelta, msPerDay, closingRecords, closingBytes }\n- A signed correction of an earlier published day, for example when a record end is recorded after the day was closed. Published facts never change.\n- adjustsFactId: the daily storage fact it corrects, or null when that day had no daily fact.\n- The true total of a day is its daily storage fact plus the deltas of all its adjustments.","additionalProperties":true,"example":{"day":"2026-11-03","recordMs":"21600000","byteMs":"43200000","msPerDay":86400000,"closingRecords":"0","closingBytes":"0"}}},"required":["id","usageType","timestamp","recordedAt","companyId","servicePeriodId"]},"ArchiveUsageResponseDto":{"type":"object","properties":{"items":{"description":"Archive usage facts of the current page","type":"array","items":{"$ref":"#/components/schemas/ArchiveUsageFactDto"}},"completeUntil":{"type":"string","description":"Start of the first UTC day that is not complete yet. Every day before it is final: a company, service period and department without a daily storage fact before completeUntil stored nothing. Completed days are available by 06:00 UTC the next day.","format":"date-time"},"totalItems":{"type":"number","description":"Total number of items available (without pagination)"},"nextCursor":{"type":"string","description":"Opaque continuation cursor; omitted on the final page."}},"required":["items","completeUntil","totalItems"]}}}}