openapi: 3.2.0 info: title: Modulr Customers API description: Modulr API license: name: © Modulr Finance url: https://www.modulrfinance.com version: '1.0' servers: - url: https://api-sandbox.modulrfinance.com/api-sandbox-token security: - modulo_security: [] tags: - name: Customers description: Operations on Customers paths: /customers/{customerId}: get: tags: - Customers summary: Retrieve a specific customer using a unique customer reference description: 'Retrieve a specific customer using a unique customer reference. This identifier can be found in the response obtained after creating a new customer, it starts by C, e.g: C0000000' operationId: getCustomer parameters: - name: customerId in: path description: ID of customer to fetch required: true style: simple explode: false schema: type: string - name: statuses in: query description: Customer statuses allowed when fetching the customer required: false style: form explode: true schema: type: array default: - ACTIVE items: type: string enum: - ACTIVE - CLOSED - BLOCKED responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/account.Customer' '400': description: Bad Request content: '*/*': schema: type: array items: $ref: '#/components/schemas/account.MessageResponse' security: - HMAC: [] - TOKEN: [] put: tags: - Customers summary: Edit a specific customer using a unique customer reference description: " Currently editable fields:\n
    \n
  1. For all customer types: externalReference can be edited
  2. \n
  3. For all customers not requiring manual or in-house KYC verification: industryCode, registeredAddress, tcsVersions and regNumber can additionally be edited. Of those:\n \n
  4. \n
  5. For vulnerabilityReason you must supply a list and to delete a list you must supply an empty list in request, not supplying a list will result in no change
  6. \n
\n" operationId: editCustomer parameters: - name: customerId in: path description: ID of customer to be edited required: true style: simple explode: false schema: type: string example: C0000000 requestBody: content: application/json: schema: $ref: '#/components/schemas/account.UpdateCustomerRequest' required: true responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/account.Customer' '400': description: Bad Request content: '*/*': schema: type: array items: $ref: '#/components/schemas/account.MessageResponse' security: - HMAC: [] - TOKEN: [] patch: tags: - Customers summary: Edit a customer description: 'Edit details of a particular customer using its ID as a reference. Current editable fields: complianceData' operationId: patchCustomer parameters: - name: customerId in: path required: true style: simple explode: false schema: type: string requestBody: content: application/json-patch+json: schema: type: array items: oneOf: - $ref: '#/components/schemas/account.Add' - $ref: '#/components/schemas/account.Copy' - $ref: '#/components/schemas/account.Move' - $ref: '#/components/schemas/account.Remove' - $ref: '#/components/schemas/account.Replace' - $ref: '#/components/schemas/account.Test' required: true responses: '200': description: Successfully updated the existing customer content: application/json: schema: $ref: '#/components/schemas/account.Customer' '400': description: Bad Request content: '*/*': schema: type: array items: $ref: '#/components/schemas/account.MessageResponse' security: - HMAC: [] - TOKEN: [] /customers: get: tags: - Customers summary: Retrieve customers using filters description: Either using unique references, such as customer ID, or filter parameters, such as verification status, get details of any customers found. operationId: getCustomers parameters: - name: id in: query description: ID of Customer(s) to fetch required: false style: form explode: true schema: $ref: '#/components/schemas/account.id' - name: delegateId in: query required: false style: form explode: true schema: $ref: '#/components/schemas/account.delegateId' - name: q in: query description: Query parameter. ID, name or external reference of customer to search for required: false style: form explode: true schema: type: string description: Query parameter. ID, name or external reference of customer to search for - name: type in: query description: 'Type to filter, can be one of: 1. LLC -> limited company 2. PLC -> publicly listed company 3. SOLETRADER -> sole trader 4. OPARTNRSHP -> ordinary partnership 5. LPARTNRSHP -> limited partnership 6. LLP -> limited liability partnership 7. INDIVIDUAL -> individual consumer 8. PCM_INDIVIDUAL -> partner clearing model individual consumer 9. PCM_BUSINESS -> partner clearing model business consumer' required: false style: form explode: true schema: type: string description: 'Type to filter, can be one of: 1. LLC -> limited company 2. PLC -> publicly listed company 3. SOLETRADER -> sole trader 4. OPARTNRSHP -> ordinary partnership 5. LPARTNRSHP -> limited partnership 6. LLP -> limited liability partnership 7. INDIVIDUAL -> individual consumer 8. PCM_INDIVIDUAL -> partner clearing model individual consumer 9. PCM_BUSINESS -> partner clearing model business consumer' enum: - LLC - PLC - SOLETRADER - OPARTNRSHP - LPARTNRSHP - LLP - INDIVIDUAL - PCM_INDIVIDUAL - PCM_BUSINESS - TRUST - PREQUALIFIED - name: verificationStatus in: query description: 'Verification Status to filter, can be one of: 1. UNVERIFIED -> no verification checks have been completed 2. VERIFIED -> verification checks completed satisfactorily 3. EXVERIFIED -> verification completed externally 4. REFERRED -> verification is pending manual review 5. DECLINED -> verification is complete with a negative result 6. REVIEWED -> verification check has been reviewed' required: false style: form explode: true schema: type: string description: 'Verification Status to filter, can be one of: 1. UNVERIFIED -> no verification checks have been completed 2. VERIFIED -> verification checks completed satisfactorily 3. EXVERIFIED -> verification completed externally 4. REFERRED -> verification is pending manual review 5. DECLINED -> verification is complete with a negative result 6. REVIEWED -> verification check has been reviewed' enum: - UNVERIFIED - VERIFIED - EXVERIFIED - REFERRED - DECLINED - REVIEWED - name: fromCreatedDate in: query description: Customers created after and on this date. Format is 'yyyy-MM-dd'T'HH:mm:ssZ' where Z is UTC offset. e.g 2017-01-28T01:01:01+0000 required: false style: form explode: true schema: type: string description: Customers created after and on this date. Format is 'yyyy-MM-dd'T'HH:mm:ssZ' where Z is UTC offset. e.g 2017-01-28T01:01:01+0000 - name: toCreatedDate in: query description: Customers created before and on this date. Format is 'yyyy-MM-dd'T'HH:mm:ssZ' where Z is UTC offset. e.g 2017-01-28T01:01:01+0000 required: false style: form explode: true schema: type: string description: Customers created before and on this date. Format is 'yyyy-MM-dd'T'HH:mm:ssZ' where Z is UTC offset. e.g 2017-01-28T01:01:01+0000 - name: page in: query description: Page to fetch (0 indexed) required: false style: form explode: true schema: type: integer format: int32 description: Page to fetch (0 indexed) minimum: 0 - name: size in: query description: Size of Page to fetch required: false style: form explode: true schema: type: integer format: int32 description: Size of Page to fetch exclusiveMinimum: 0 maximum: 500 - name: sortField in: query description: Sort by field. Sorted by createdDate if not present required: false style: form explode: true schema: type: string description: Sort by field. Sorted by createdDate if not present pattern: (name|createdDate|id) - name: sortOrder in: query description: 'Sorting order: 1. asc -> ascendant 2. desc -> descendant' required: false style: form explode: true schema: type: string description: 'Sorting order: 1. asc -> ascendant 2. desc -> descendant' pattern: (asc|desc) - name: externalRef in: query description: A list of external references to filter required: false deprecated: true style: form explode: true schema: $ref: '#/components/schemas/account.externalRef' - name: externalReference in: query description: A list of external references to filter required: false style: form explode: true schema: $ref: '#/components/schemas/account.externalReference' example: externalReference[0].type - name: name.type in: query description: 'WORD_MATCH - using word boundaries, WORD_MATCH_ALPHANUMERIC - using word boundaries, but replaces non-alphanumeric characters in the search with a word boundary match, PREFIX - same case prefix, SUFFIX - same case suffix, CONTAINS - same case contains EXACT - same case exact ' required: false style: form explode: true schema: type: string description: 'WORD_MATCH - using word boundaries, WORD_MATCH_ALPHANUMERIC - using word boundaries, but replaces non-alphanumeric characters in the search with a word boundary match, PREFIX - same case prefix, SUFFIX - same case suffix, CONTAINS - same case contains EXACT - same case exact ' enum: - WORD_MATCH - WORD_MATCH_ALPHANUMERIC - PREFIX - SUFFIX - CONTAINS - EXACT - name: name.value in: query required: false style: form explode: true schema: type: string minLength: 1 - name: companyRegNumber in: query description: Customer registration number required: false style: form explode: true schema: type: string description: Customer registration number - name: legalEntity in: query description: Customer legal entity required: false style: form explode: true schema: type: string description: Customer legal entity enum: - GB - NL - IE - name: contractCounterparty in: query description: The Modulr business unit with which the customer has contracted required: false style: form explode: true schema: type: string description: Business unit the customer contracts with enum: - MFBV - MFSL - MUS - name: addressLines in: query description: 'Set of the address lines. If specified, they must be present in the address line 1 or in the address line 2. Search results by number may include numbers with any suffix' required: false style: form explode: true schema: $ref: '#/components/schemas/account.addressLines' - name: postCode in: query required: false style: form explode: true schema: type: string - name: postTown in: query required: false style: form explode: true schema: type: string - name: country in: query required: false style: form explode: true schema: type: string - name: associateSearchCriteria.firstNameInitial in: query description: Person's first name initial required: false style: form explode: true schema: type: string description: Person's first name initial maxLength: 1 minLength: 1 - name: associateSearchCriteria.lastName.type in: query description: 'WORD_MATCH - using word boundaries, WORD_MATCH_ALPHANUMERIC - using word boundaries, but replaces non-alphanumeric characters in the search with a word boundary match, PREFIX - same case prefix, SUFFIX - same case suffix, CONTAINS - same case contains EXACT - same case exact ' required: false style: form explode: true schema: type: string description: 'WORD_MATCH - using word boundaries, WORD_MATCH_ALPHANUMERIC - using word boundaries, but replaces non-alphanumeric characters in the search with a word boundary match, PREFIX - same case prefix, SUFFIX - same case suffix, CONTAINS - same case contains EXACT - same case exact ' enum: - WORD_MATCH - WORD_MATCH_ALPHANUMERIC - PREFIX - SUFFIX - CONTAINS - EXACT - name: associateSearchCriteria.lastName.value in: query required: false style: form explode: true schema: type: string minLength: 1 - name: associateSearchCriteria.lastNamePrefix in: query description: Person's prefix required: false style: form explode: true schema: type: string description: Person's prefix - name: associateSearchCriteria.dateOfBirth in: query description: 'Person''s date of birth ' required: false style: form explode: true schema: type: string format: date description: 'Person''s date of birth ' - name: associateSearchCriteria.additionalIdentifier.type in: query description: Type of additional personal identifier required: false style: form explode: true schema: type: string description: Type of additional personal identifier enum: - BSN - name: associateSearchCriteria.additionalIdentifier.value in: query description: Personal identifier value required: false style: form explode: true schema: type: string description: Personal identifier value minLength: 1 - name: associateTypes in: query description: 'List of types to filter, can be one of: 1. DIRECTOR -> director 2. PARTNER -> partner 3. CSECRETARY -> company secretary 4. SOLETRADER -> sole trader 5. BENE_OWNER -> beneficial owner 6. C_INTEREST -> controlling interest 7. INDIVIDUAL -> individual 8. PCM_INDIVIDUAL -> pcm individual 9. SIGNATORY -> signatory 9. TRUST_SETTLOR -> trust settlor 9. TRUST_BENEFICIARY -> trust beneficiary 10. TRUST_TRUSTEE -> trust trustee' required: false style: form explode: true schema: $ref: '#/components/schemas/account.associateTypes' responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/account.CustomerPageResponse' '400': description: Bad Request content: '*/*': schema: type: array items: $ref: '#/components/schemas/account.MessageResponse' security: - HMAC: [] - TOKEN: [] post: tags: - Customers summary: Create a new customer description: 'This endpoint allows you to create a new customer. Creating a customer is a complex process with several dependencies, e.g: Directors, type of customer, legal specifications. For further information, please visit ''Creating a customer and account'' entry on our API documentation' operationId: createCustomer requestBody: content: application/json: schema: $ref: '#/components/schemas/onboarding.CreateCustomerRequest' required: true responses: '201': description: Created content: application/json: schema: $ref: '#/components/schemas/onboarding.Customer' '400': description: Validation errors content: '*/*': schema: type: array items: $ref: '#/components/schemas/onboarding.MessageResponse' security: - HMAC: [] - TOKEN: [] /keys/applications/{applicationId}: post: tags: - Customers summary: Create a secure Customer Verification SDK Session description: Creates a short-lived access key that authorises a Customer Verification session for the specified application. operationId: createSdkKey parameters: - name: applicationId in: path required: true style: simple explode: false schema: type: string responses: '201': description: Created content: '*/*': schema: $ref: '#/components/schemas/onboarding.ApplicationSdkKeyResponse' '400': description: Validation error content: '*/*': schema: type: array items: $ref: '#/components/schemas/onboarding.MessageResponse' '403': description: Forbidden content: '*/*': schema: $ref: '#/components/schemas/onboarding.ApplicationSdkKeyResponse' security: - HMAC: [] - TOKEN: [] /applications: post: tags: - Customers summary: Create a New Onboarding Application description: Creates a new application with a unique identifier with a status of NEW. operationId: createApplication requestBody: content: application/json: schema: $ref: '#/components/schemas/onboarding.CreateApplicationRequest' required: true responses: '201': description: Created content: '*/*': schema: $ref: '#/components/schemas/onboarding.CreateApplicationResponse' '400': description: Bad Request content: '*/*': schema: type: array items: $ref: '#/components/schemas/onboarding.MessageResponse' '403': description: Forbidden content: '*/*': schema: $ref: '#/components/schemas/onboarding.CreateApplicationResponse' security: - HMAC: [] - TOKEN: [] /applications/{applicationId}/verify: post: tags: - Customers summary: Submit an application for verification description: Submits an application for initial KYB/KYC review once all required data is provided. operationId: verifyApplication parameters: - name: applicationId in: path required: true style: simple explode: false schema: type: string responses: '200': description: OK '400': description: Bad Request content: '*/*': schema: type: array items: $ref: '#/components/schemas/onboarding.MessageResponse' '403': description: Forbidden security: - HMAC: [] - TOKEN: [] /applications/{applicationId}/submissions: post: tags: - Customers summary: Submit a business application for verification description: Initiates KYB verification for a business application and returns a submission reference. operationId: submitApplication parameters: - name: applicationId in: path required: true style: simple explode: false schema: type: string responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/onboarding.SubmitApplicationResponse' '400': description: Bad Request content: '*/*': schema: type: array items: $ref: '#/components/schemas/onboarding.MessageResponse' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/onboarding.SubmitApplicationResponse' security: - HMAC: [] - TOKEN: [] /applications/{applicationId}/finalisations: post: tags: - Customers summary: Mark application as closed for modification description: Confirms all business and associate details have been submitted. The application will be processed for verification. operationId: finaliseApplication parameters: - name: applicationId in: path required: true style: simple explode: false schema: type: string responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/onboarding.FinaliseApplicationResponse' '400': description: Bad Request content: '*/*': schema: type: array items: $ref: '#/components/schemas/onboarding.MessageResponse' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/onboarding.FinaliseApplicationResponse' '404': description: Application not found content: application/json: schema: $ref: '#/components/schemas/onboarding.FinaliseApplicationResponse' security: - HMAC: [] - TOKEN: [] /applications/{applicationId}/associates/{associateId}/submissions: post: tags: - Customers summary: Submit an associate for verification description: Submits an associate for KYB verification and returns a submission reference. operationId: submitAssociateForVerification parameters: - name: applicationId in: path required: true style: simple explode: false schema: type: string - name: associateId in: path required: true style: simple explode: false schema: type: string responses: '200': description: Submission successful content: '*/*': schema: $ref: '#/components/schemas/onboarding.SubmitAssociateResponse' '400': description: Validation error - invalid application or associate content: '*/*': schema: type: array items: $ref: '#/components/schemas/onboarding.MessageResponse' '403': description: Forbidden - insufficient permissions content: '*/*': schema: $ref: '#/components/schemas/onboarding.SubmitAssociateResponse' security: - HMAC: [] - TOKEN: [] /customers/{customerId}/compliance/tax-identifiers: put: tags: - Customers summary: Create or update a customer’s tax identifiers description: Creates or updates a customer’s tax identifiers, please provide list of countries where applicable operationId: updateTaxIdentifiersByCustomerId parameters: - name: customerId in: path description: ID of customer required: true style: simple explode: false schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/customercompliance.TaxIdentifiersRequest' required: true responses: '204': description: OK '400': description: Invalid Parameters content: '*/*': schema: type: array items: $ref: '#/components/schemas/customercompliance.MessageResponse' '403': description: Incorrect permissions security: - HMAC: [] - TOKEN: [] /customers/{customerId}/compliance/identification-info: put: tags: - Customers summary: Create or update customer identification information description: Creates or updates customer identification information, such as national or legal entity identifiers operationId: updateCustomerIdentificationInfosByCustomerId parameters: - name: customerId in: path description: ID of customer required: true style: simple explode: false schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/customercompliance.CustomerIdentificationInformationRequest' required: true responses: '204': description: No Content '400': description: Invalid Parameters content: '*/*': schema: type: array items: $ref: '#/components/schemas/customercompliance.MessageResponse' '403': description: Incorrect permissions security: - HMAC: [] - TOKEN: [] /customers/{customerId}/compliance/associates/{associateId}/tax-residencies: put: tags: - Customers summary: Create or update the list of countries where an associate is considered tax-resident description: Creates or updates the list of countries where an associate is considered tax-resident, supporting compliance with CRS/FATCA and local tax rules operationId: updateTaxResidenciesForAssociate parameters: - name: customerId in: path description: ID of customer required: true style: simple explode: false schema: type: string - name: associateId in: path description: ID of associate required: true style: simple explode: false schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/customercompliance.TaxResidenciesRequest' required: true responses: '204': description: OK '400': description: Invalid Parameters content: '*/*': schema: type: array items: $ref: '#/components/schemas/customercompliance.MessageResponse' '403': description: Incorrect permissions security: - HMAC: [] - TOKEN: [] /customers/{customerId}/compliance/associates/{associateId}/tax-identifiers: put: tags: - Customers summary: Create or update tax identifiers for an associate description: Creates or updates an associate’s tax identifiers, specific types are available for Spain, France and Netherlands, use type TIN for all other country codes operationId: updateTaxIdentifiersForAssociate parameters: - name: customerId in: path description: ID of customer required: true style: simple explode: false schema: type: string - name: associateId in: path description: ID of associate required: true style: simple explode: false schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/customercompliance.TaxIdentifiersRequest' required: true responses: '204': description: OK '400': description: Invalid Parameters content: '*/*': schema: type: array items: $ref: '#/components/schemas/customercompliance.MessageResponse' '403': description: Incorrect permissions security: - HMAC: [] - TOKEN: [] /customers/{customerId}/compliance/associates/{associateId}/personal-info: put: tags: - Customers summary: Create or update an associate’s personal details description: Creates or updates an associate’s personal details, such as birth data, nationality, and sex operationId: updatePersonalInformationForAssociate parameters: - name: customerId in: path description: ID of customer required: true style: simple explode: false schema: type: string - name: associateId in: path description: ID of associate required: true style: simple explode: false schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/customercompliance.PersonalInformation' required: true responses: '200': description: OK '400': description: Invalid Parameters content: '*/*': schema: type: array items: $ref: '#/components/schemas/customercompliance.MessageResponse' '403': description: Incorrect permissions security: - HMAC: [] - TOKEN: [] /customers/{customerId}/compliance/associates/{associateId}/fr/department: put: tags: - Customers summary: Create or update the department code for an associate description: Creates or updates the department code for individuals residing in France operationId: updateDepartmentForAssociate parameters: - name: customerId in: path description: ID of customer required: true style: simple explode: false schema: type: string - name: associateId in: path description: ID of associate required: true style: simple explode: false schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/customercompliance.Department' required: true responses: '204': description: No content '400': description: Invalid Parameters content: '*/*': schema: type: array items: $ref: '#/components/schemas/customercompliance.MessageResponse' '403': description: Incorrect permissions security: - HMAC: [] - TOKEN: [] /customers/{customerId}/compliance/associates/{associateId}/document-details: put: tags: - Customers summary: Create or update identification document details for an associate description: Creates or updates identification document details for an associate. Captures official document data used for verification and compliance checks operationId: updateIdentificationDocumentsDetailsForAssociate parameters: - name: customerId in: path description: ID of customer required: true style: simple explode: false schema: type: string - name: associateId in: path description: ID of associate required: true style: simple explode: false schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/customercompliance.DocumentDetailsRequest' required: true responses: '204': description: No Content '400': description: Invalid Parameters content: '*/*': schema: type: array items: $ref: '#/components/schemas/customercompliance.MessageResponse' '403': description: Incorrect permissions security: - HMAC: [] - TOKEN: [] /applications/{applicationId}/compliance/know-your-customer: put: tags: - Customers summary: Create or Update Know Your Customer Data for a Customer Application description: Creates or updates the Know Your Customer data for the specified application, including expected transaction values, expected transaction volumes or trading name, incorporation date, business activities for business entities only. operationId: updateKnowYourCustomerByApplicationId parameters: - name: applicationId in: path description: ID of application required: true style: simple explode: false schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/customercompliance.KnowYourCustomer' required: true responses: '200': description: OK '400': description: Invalid Parameters content: '*/*': schema: type: array items: $ref: '#/components/schemas/customercompliance.MessageResponse' '403': description: Incorrect permissions security: - HMAC: [] - TOKEN: [] /applications/{applicationId}/compliance/associates/{associateId}/tax-residencies: put: tags: - Customers summary: Create or Update Tax Residency Information for an Application Associate description: Creates or updates the list of countries where an individual/associate is considered tax-resident, supporting compliance with CRS/FATCA and local tax rules. operationId: updateTaxResidenciesForAssociate_1 parameters: - name: applicationId in: path description: ID of application required: true style: simple explode: false schema: type: string - name: associateId in: path description: ID of associate required: true style: simple explode: false schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/customercompliance.TaxResidenciesRequest' required: true responses: '204': description: OK '400': description: Invalid Parameters content: '*/*': schema: type: array items: $ref: '#/components/schemas/customercompliance.MessageResponse' '403': description: Incorrect permissions security: - HMAC: [] - TOKEN: [] /applications/{applicationId}/compliance/associates/{associateId}/personal-info: put: tags: - Customers summary: Create or Update Personal Details for an Application Associate description: Creates or updates an individual/associate's personal details for the specified application, such as birth data, nationality, and sex. operationId: updatePersonalInformationForAssociate_1 parameters: - name: applicationId in: path description: ID of application required: true style: simple explode: false schema: type: string - name: associateId in: path description: ID of associate required: true style: simple explode: false schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/customercompliance.PersonalInformation' required: true responses: '200': description: OK '400': description: Invalid Parameters content: '*/*': schema: type: array items: $ref: '#/components/schemas/customercompliance.MessageResponse' '403': description: Incorrect permissions security: - HMAC: [] - TOKEN: [] /applications/{applicationId}/compliance/businesses: get: tags: - Customers summary: Get business entity for an Onboarding Application description: Retrieves the business entity for the specified application, including key details such as business name, type and company registration number. operationId: getBusiness parameters: - name: applicationId in: path description: ID of application required: true style: simple explode: false schema: type: string responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/customercompliance.BusinessResponse' '400': description: Invalid parameters content: '*/*': schema: type: array items: $ref: '#/components/schemas/customercompliance.MessageResponse' '403': description: Incorrect permissions content: application/json: schema: $ref: '#/components/schemas/customercompliance.BusinessResponse' security: - HMAC: [] - TOKEN: [] post: tags: - Customers summary: Add a business entity to an Onboarding Application description: Creates a new business entity with a unique identifier to the specified application, capturing key details such as business name, type and company registration number. operationId: createBusiness parameters: - name: applicationId in: path description: ID of application required: true style: simple explode: false schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/customercompliance.BusinessRequest' required: true responses: '201': description: Created content: application/json: schema: $ref: '#/components/schemas/customercompliance.CreateBusinessResponse' '400': description: Invalid Parameters content: '*/*': schema: type: array items: $ref: '#/components/schemas/customercompliance.MessageResponse' '403': description: Incorrect permissions content: application/json: schema: $ref: '#/components/schemas/customercompliance.CreateBusinessResponse' security: - HMAC: [] - TOKEN: [] /applications/{applicationId}/compliance/businesses/addresses: get: tags: - Customers summary: Get business addresses for an Onboarding Application description: Retrieves the business addresses recorded for the business linked to the specified application. operationId: getBusinessAddresses parameters: - name: applicationId in: path description: ID of application required: true style: simple explode: false schema: type: string - name: page in: query required: false style: form explode: true schema: type: integer format: int32 default: 0 minimum: 0 - name: size in: query required: false style: form explode: true schema: type: integer format: int32 default: 20 maximum: 500 minimum: 1 responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/customercompliance.BusinessAddressesPageResponse' '400': description: Invalid parameters content: '*/*': schema: type: array items: $ref: '#/components/schemas/customercompliance.MessageResponse' '403': description: Incorrect permissions content: application/json: schema: $ref: '#/components/schemas/customercompliance.BusinessAddressesPageResponse' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/customercompliance.BusinessAddressesPageResponse' security: - HMAC: [] - TOKEN: [] post: tags: - Customers summary: Add a business address to an Onboarding Application description: Creates a new business address, of type REGISTERED or TRADING, for the business linked to the specified application. operationId: createBusinessAddress parameters: - name: applicationId in: path description: ID of application required: true style: simple explode: false schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/customercompliance.BusinessAddressRequest' required: true responses: '201': description: Created content: application/json: schema: $ref: '#/components/schemas/customercompliance.CreateBusinessAddressResponse' '400': description: Invalid Parameters content: '*/*': schema: type: array items: $ref: '#/components/schemas/customercompliance.MessageResponse' '403': description: Incorrect permissions content: application/json: schema: $ref: '#/components/schemas/customercompliance.CreateBusinessAddressResponse' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/customercompliance.CreateBusinessAddressResponse' '409': description: Address already exists for the given type content: application/json: schema: $ref: '#/components/schemas/customercompliance.CreateBusinessAddressResponse' security: - HMAC: [] - TOKEN: [] /applications/{applicationId}/compliance/associates: post: tags: - Customers summary: Add an individual/associated entity to an Onboarding Application description: Creates a new individual/associated entity with a unique identifier to the specified application, capturing key details such as name, date of birth, address etc. operationId: createApplicationAssociate parameters: - name: applicationId in: path description: ID of application required: true style: simple explode: false schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/customercompliance.CreateAssociateRequest' required: true responses: '201': description: CREATED content: application/json: schema: $ref: '#/components/schemas/customercompliance.AssociateResponse' '400': description: Invalid Parameters content: '*/*': schema: type: array items: $ref: '#/components/schemas/customercompliance.MessageResponse' '403': description: Incorrect permissions content: application/json: schema: $ref: '#/components/schemas/customercompliance.AssociateResponse' '404': description: NOT FOUND content: application/json: schema: $ref: '#/components/schemas/customercompliance.AssociateResponse' security: - HMAC: [] - TOKEN: [] /customers/{customerId}/associates: get: tags: - Customers summary: Get all associates for a customer operationId: getAssociatesByCustomer parameters: - name: customerId in: path description: ID of the customer required: true style: simple explode: false schema: type: string - name: searchCriteria in: query required: true style: form explode: true schema: $ref: '#/components/schemas/customercompliance.AssociateSearchCriteria' responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/customercompliance.AssociatePageResponse' '400': description: Invalid Parameters content: '*/*': schema: type: array items: $ref: '#/components/schemas/customercompliance.MessageResponse' '403': description: Incorrect permissions content: application/json: schema: $ref: '#/components/schemas/customercompliance.AssociatePageResponse' security: - HMAC: [] - TOKEN: [] components: schemas: customercompliance.CreateBusinessResponse: type: object properties: id: type: string description: Business ID account.CustomerTrustRequest: type: object properties: trustNature: type: string description: Trust nature for customers of type Trust. Mandatory for type Trust, not to be set for non-trust customers. enum: - BARE_TRUSTS - INTEREST_IN_POSSESSION_TRUSTS - DISCRETIONARY_TRUSTS - ACCUMULATION_TRUSTS - MIXED_TRUSTS - SETTLOR_INTERESTED_TRUSTS - NON_RESIDENT_TRUSTS - OFFSHORE_TRUSTS - FAMILY_LIVING_TRUST - PILOT_TRUST - VULNERABLE_BENEFICIARY_TRUST - CHARITABLE_TRUSTS - IRREVOCABLE_LIFE_INSURANCE_TRUST - TESTAMENTARY_TRUSTS - OTHER required: - trustNature customercompliance.TaxResidenciesRequest: type: object properties: taxResidencies: type: array description: List of ISO Alpha-2 country codes where the associate is tax-resident (e.g., ["ES", "FR"]) items: type: string enum: - AT - BE - BG - CY - CZ - DK - EE - FI - FR - DE - GR - HR - HU - IS - IE - IT - LV - LI - LT - LU - MT - NL - 'NO' - PL - PT - RO - SK - SI - ES - SE - GB - MQ - YT - GP - GF - RE - MF - GI - GG - IM - JE - MC - CH - AD - SM - VA - AX - PM - BL - AL - MD - ME - MK - RS - AF - DZ - AS - AO - AI - AQ - AG - AR - AM - AW - AU - AZ - BS - BH - BD - BB - BY - BZ - BJ - BM - BT - BO - BQ - BA - BW - BV - BR - IO - VG - BN - BF - BI - KH - CM - CA - CV - KY - CF - TD - CL - CN - CX - CC - CO - KM - CK - CR - CU - CW - CD - DJ - DM - DO - TL - EC - EG - SV - GQ - ER - SZ - ET - FK - FO - FJ - PF - TF - GA - GM - GE - GH - GL - GD - GU - GT - GN - GW - GY - HT - HM - HN - HK - IN - ID - IR - IQ - IL - CI - JM - JP - JO - KZ - KE - KI - XK - KW - KG - LA - LB - LS - LR - LY - MO - MG - MW - MY - MV - ML - MH - MR - MU - MX - FM - MN - MS - MA - MZ - MM - NA - NR - NP - AN - NC - NZ - NI - NE - NG - NU - NF - KP - MP - OM - PK - PW - PS - PA - PG - PY - PE - PH - PN - PR - QA - CG - RU - RW - SH - KN - LC - VC - WS - ST - SA - SN - SC - SL - SG - SX - SB - SO - ZA - KR - GS - SS - LK - SD - SR - SY - SJ - TW - TJ - TZ - TH - TG - TK - TO - TT - TN - TR - TM - TC - TV - UG - UA - AE - UM - US - UY - UZ - VU - VE - VN - VI - WF - EH - YE - ZM - ZW account.MessageResponse: type: object properties: field: type: string code: type: string enum: - GENERAL - BUSINESSRULE - MFASTATUS - MFAERROR - MFATIMEOUT - MFADEVICEMM - MFAMESSAGEINVALID - NOTFOUND - DUPLICATE - INVALID - CONNECTION - RETRY - RATELIMIT - PERMISSION - NOTACCEPTABLE - MFAVERIFICATION - TOKENEXPIRED errorCode: type: string message: type: string sourceService: type: string account.AdditionalPersonalIdentifierResponse: type: object description: AdditionalPersonalIdentifier properties: type: type: string description: The type of Additional Personal Identifier enum: - BSN value: type: string description: Additional Personal Identifier value account.CustomerTrustResponse: type: object properties: trustNature: type: string enum: - BARE_TRUSTS - INTEREST_IN_POSSESSION_TRUSTS - DISCRETIONARY_TRUSTS - ACCUMULATION_TRUSTS - MIXED_TRUSTS - SETTLOR_INTERESTED_TRUSTS - NON_RESIDENT_TRUSTS - OFFSHORE_TRUSTS - FAMILY_LIVING_TRUST - PILOT_TRUST - VULNERABLE_BENEFICIARY_TRUST - CHARITABLE_TRUSTS - IRREVOCABLE_LIFE_INSURANCE_TRUST - TESTAMENTARY_TRUSTS - OTHER onboarding.AdditionalAssociateIdentifier: type: object properties: type: type: string description: Type of additional personal identifier enum: - BSN value: type: string description: Personal identifier value minLength: 1 required: - type - value account.StringSearchCriteria: type: object description: A list of external references to filter example: '"externalReference[0].type": "WORD_MATCH", "externalReference[0].value": "Customer reference"' properties: type: type: string description: 'WORD_MATCH - using word boundaries, WORD_MATCH_ALPHANUMERIC - using word boundaries, but replaces non-alphanumeric characters in the search with a word boundary match, PREFIX - same case prefix, SUFFIX - same case suffix, CONTAINS - same case contains EXACT - same case exact ' enum: - WORD_MATCH - WORD_MATCH_ALPHANUMERIC - PREFIX - SUFFIX - CONTAINS - EXACT value: type: string minLength: 1 required: - type - value account.addressLines: type: array description: 'Set of the address lines. If specified, they must be present in the address line 1 or in the address line 2. Search results by number may include numbers with any suffix' items: type: string description: 'Set of the address lines. If specified, they must be present in the address line 1 or in the address line 2. Search results by number may include numbers with any suffix' uniqueItems: true customercompliance.MessageResponse: type: object properties: field: type: string code: type: string enum: - GENERAL - BUSINESSRULE - MFASTATUS - MFAERROR - MFATIMEOUT - MFADEVICEMM - MFAMESSAGEINVALID - NOTFOUND - DUPLICATE - INVALID - CONNECTION - RETRY - RATELIMIT - PERMISSION - NOTACCEPTABLE - MFAVERIFICATION - TOKENEXPIRED errorCode: type: string message: type: string sourceService: type: string customercompliance.AssociateSearchCriteria: type: object properties: additionalIdentifier: $ref: '#/components/schemas/customercompliance.AssociateAdditionalIdentifier' description: Additional personal identifier page: type: integer format: int32 description: Page to fetch (0 indexed) minimum: 0 size: type: integer format: int32 description: Size of page to fetch maximum: 500 onboarding.SourceOfWealthRequest: type: object properties: standard: type: string pep: type: string customercompliance.AssociateAdditionalIdentifier: type: object description: Additional personal identifier properties: type: type: string description: Type of additional personal identifier enum: - BSN value: type: string description: Identifier value minLength: 1 required: - type - value onboarding.ExpectedTransactionalActivityRequest: type: object properties: sourceOfFunds: type: string monthlyVolume: type: integer format: int32 outboundPaymentJurisdictions: type: array items: type: string enum: - AT - BE - BG - CY - CZ - DK - EE - FI - FR - DE - GR - HR - HU - IS - IE - IT - LV - LI - LT - LU - MT - NL - 'NO' - PL - PT - RO - SK - SI - ES - SE - GB - MQ - YT - GP - GF - RE - MF - GI - GG - IM - JE - MC - CH - AD - SM - VA - AX - PM - BL - AL - MD - ME - MK - RS - AF - DZ - AS - AO - AI - AQ - AG - AR - AM - AW - AU - AZ - BS - BH - BD - BB - BY - BZ - BJ - BM - BT - BO - BQ - BA - BW - BV - BR - IO - VG - BN - BF - BI - KH - CM - CA - CV - KY - CF - TD - CL - CN - CX - CC - CO - KM - CK - CR - CU - CW - CD - DJ - DM - DO - TL - EC - EG - SV - GQ - ER - SZ - ET - FK - FO - FJ - PF - TF - GA - GM - GE - GH - GL - GD - GU - GT - GN - GW - GY - HT - HM - HN - HK - IN - ID - IR - IQ - IL - CI - JM - JP - JO - KZ - KE - KI - XK - KW - KG - LA - LB - LS - LR - LY - MO - MG - MW - MY - MV - ML - MH - MR - MU - MX - FM - MN - MS - MA - MZ - MM - NA - NR - NP - AN - NC - NZ - NI - NE - NG - NU - NF - KP - MP - OM - PK - PW - PS - PA - PG - PY - PE - PH - PN - PR - QA - CG - RU - RW - SH - KN - LC - VC - WS - ST - SA - SN - SC - SL - SG - SX - SB - SO - ZA - KR - GS - SS - LK - SD - SR - SY - SJ - TW - TJ - TZ - TH - TG - TK - TO - TT - TN - TR - TM - TC - TV - UG - UA - AE - UM - US - UY - UZ - VU - VE - VN - VI - WF - EH - YE - ZM - ZW customercompliance.KnowYourCustomer: type: object properties: tradingName: type: string description: The trading name of the business incorporationDate: type: string format: date description: Incorporation Date of the business businessActivities: type: string description: The business activities of the business onlinePresenceUrl: type: string description: The online presence URL of the business expectedMonthlyTransactions: type: integer format: int64 description: Expected Monthly Transactions of the business expectedMonthlySpend: type: integer format: int64 description: Expected Monthly Spend of the business industryCode: type: string description: The industry code of the business maxLength: 6 minLength: 0 account.SourceOfWealthRequest: type: object properties: standard: type: string pep: type: string account.AssociateComplianceDataResponse: type: object properties: relationship: type: string onboarding.CustomerTrustResponse: type: object properties: trustNature: type: string enum: - BARE_TRUSTS - INTEREST_IN_POSSESSION_TRUSTS - DISCRETIONARY_TRUSTS - ACCUMULATION_TRUSTS - MIXED_TRUSTS - SETTLOR_INTERESTED_TRUSTS - NON_RESIDENT_TRUSTS - OFFSHORE_TRUSTS - FAMILY_LIVING_TRUST - PILOT_TRUST - VULNERABLE_BENEFICIARY_TRUST - CHARITABLE_TRUSTS - IRREVOCABLE_LIFE_INSURANCE_TRUST - TESTAMENTARY_TRUSTS - OTHER account.ConsumerDataRequest: type: object properties: employment: type: string natureOfRelationship: type: string expectedTransactionalActivity: $ref: '#/components/schemas/account.ExpectedTransactionalActivityRequest' screeningResults: $ref: '#/components/schemas/account.ScreeningResultsRequest' sourceOfWealth: $ref: '#/components/schemas/account.SourceOfWealthRequest' onboarding.Construction: type: object properties: turnoverCashPercentage: type: integer format: int32 maximum: 100 minimum: 0 required: - turnoverCashPercentage customercompliance.AssociatePageResponse: type: object properties: content: type: array description: List of responses on the current page items: $ref: '#/components/schemas/customercompliance.AssociateResponse' size: type: integer format: int32 description: Page size totalSize: type: integer format: int64 description: Total count page: type: integer format: int32 description: Current page number, 0 based; i.e first-page = 0, second-page = 1 totalPages: type: integer format: int32 description: Total pages customercompliance.BusinessAddressesPageResponse: type: object properties: content: type: array description: List of responses on the current page items: $ref: '#/components/schemas/customercompliance.BusinessAddressResponse' size: type: integer format: int32 description: Page size totalSize: type: integer format: int64 description: Total count page: type: integer format: int32 description: Current page number, 0 based; i.e first-page = 0, second-page = 1 totalPages: type: integer format: int32 description: Total pages account.Add: allOf: - $ref: '#/components/schemas/account.PatchOperation' - type: object properties: value: $ref: '#/components/schemas/account.JsonNode' description: Add field required: - op - path - value account.Customer: type: object description: A Customer is a single legal entity that can have 1 or more accounts properties: id: type: string description: Unique identifier for a Customer. Begins with 'C' example: C00000001 name: type: string description: Customer's company name - must be unique across the Modulr platform. brandNames: type: array description: The customers brand name(s) items: $ref: '#/components/schemas/account.BrandNameResponse' type: type: string description: 'Type of the customer, can be one of: 1. LLC -> limited company 2. PLC -> publicly listed company 3. SOLETRADER -> sole trader 4. OPARTNRSHP -> ordinary partnership 5. LPARTNRSHP -> limited partnership 6. LLP -> limited liability partnership 7. INDIVIDUAL -> individual consumer 8. PCM_INDIVIDUAL -> partner clearing model individual consumer 9. PCM_BUSINESS -> partner clearing model business consumer' status: type: string description: Status of the Customer. Customers must be 'Active' for Accounts to be created for them. enum: - ACTIVE - CLOSED - BLOCKED verificationStatus: type: string description: 'How the identity of the Customer has been verified. Can be: 1. UNVERIFIED -> no verification checks have been completed 2. VERIFIED -> verification checks completed satisfactorily 3. EXVERIFIED -> verification completed externally 4. REFERRED -> verification is pending manual review 5. DECLINED -> verification is complete with a negative result 6. REVIEWED -> verification check has been reviewed' companyRegNumber: type: string description: The company registration / incorporation number of the company. Only applicable for companies registered with Companies House expectedMonthlySpend: type: integer format: int32 description: Indication of the monthly spend of the customer. registeredAddress: $ref: '#/components/schemas/account.AddressResponse' description: The address of the company's registered office. tradingAddress: $ref: '#/components/schemas/account.AddressResponse' description: The address of the company's day-to-day trading activities. partnerId: type: string description: The owning partner identifier associates: type: array description: Array of associate objects that link to the Customer. For example, this could contain the details of the company directors for a Limited company, or or the partners for a partnership. items: $ref: '#/components/schemas/account.AssociateResponse' industryCode: type: string tcsVersion: type: integer format: int32 description: Version of the Modulr Account Terms and Conditions the Customer has agreed to. documentInfo: type: array description: Array of document objects that relate to the Customer being created. Examples of Documents could be proof of a Company Director's identity or address, Articles of Association or a Partnership Agreement. items: $ref: '#/components/schemas/account.DocumentInfo' externalReference: type: string createdDate: type: string format: date-time description: Datetime when the customer was created.Format is 'yyyy-MM-dd'T'HH:mm:ssZ' where Z is UTC offset. e.g 2017-01-28T01:01:01+0000 example: 2017-01-28T01:01:01+0000 delegate: $ref: '#/components/schemas/account.DelegateResponse' description: Details of this Customer's linked Delegate legalEntity: type: string description: Legal entity of the customer enum: - GB - NL - IE customerTrust: $ref: '#/components/schemas/account.CustomerTrustResponse' description: Trust nature for customers of type trust. Mandatory for type Trust, not to be set for non-trust customers. taxProfile: $ref: '#/components/schemas/account.CustomerTaxProfileResponse' description: Tax profile for customers of type SOLETRADER. Optional for type SOLETRADER, not to be set for non-SOLETRADER customers. complianceData: $ref: '#/components/schemas/account.CustomerComplianceDataResponse' description: Required for customers of type PREQUALIFIED. Not allowed for all other customer types. complianceSector: type: string example: Agency Lite Consumer generateStatements: type: boolean description: True if the customer is configured to generate statements onboarding.TaxIdentifier: type: object properties: country: type: string description: Country code (ISO Alpha-2) where the tax identifier was issued enum: - AT - BE - BG - CY - CZ - DK - EE - FI - FR - DE - GR - HR - HU - IS - IE - IT - LV - LI - LT - LU - MT - NL - 'NO' - PL - PT - RO - SK - SI - ES - SE - GB - MQ - YT - GP - GF - RE - MF - GI - GG - IM - JE - MC - CH - AD - SM - VA - AX - PM - BL - AL - MD - ME - MK - RS - AF - DZ - AS - AO - AI - AQ - AG - AR - AM - AW - AU - AZ - BS - BH - BD - BB - BY - BZ - BJ - BM - BT - BO - BQ - BA - BW - BV - BR - IO - VG - BN - BF - BI - KH - CM - CA - CV - KY - CF - TD - CL - CN - CX - CC - CO - KM - CK - CR - CU - CW - CD - DJ - DM - DO - TL - EC - EG - SV - GQ - ER - SZ - ET - FK - FO - FJ - PF - TF - GA - GM - GE - GH - GL - GD - GU - GT - GN - GW - GY - HT - HM - HN - HK - IN - ID - IR - IQ - IL - CI - JM - JP - JO - KZ - KE - KI - XK - KW - KG - LA - LB - LS - LR - LY - MO - MG - MW - MY - MV - ML - MH - MR - MU - MX - FM - MN - MS - MA - MZ - MM - NA - NR - NP - AN - NC - NZ - NI - NE - NG - NU - NF - KP - MP - OM - PK - PW - PS - PA - PG - PY - PE - PH - PN - PR - QA - CG - RU - RW - SH - KN - LC - VC - WS - ST - SA - SN - SC - SL - SG - SX - SB - SO - ZA - KR - GS - SS - LK - SD - SR - SY - SJ - TW - TJ - TZ - TH - TG - TK - TO - TT - TN - TR - TM - TC - TV - UG - UA - AE - UM - US - UY - UZ - VU - VE - VN - VI - WF - EH - YE - ZM - ZW type: type: string description: Tax identifier type enum: - NIF - CIF - TIN - BSN value: type: string description: Tax identifier value onboarding.CustomerTaxProfileResponse: type: object properties: taxIdentifier: type: string description: Tax identifier for customers of type SOLETRADER. Optional for type SOLETRADER, not to be set for non-SOLETRADER customers. required: - taxIdentifier customercompliance.ContactDetailsRequest: type: object properties: email: type: string format: email description: Email address minLength: 1 phone: type: string description: Phone number minLength: 1 required: - email - phone onboarding.ExpectedTransactionalActivityResponse: type: object properties: sourceOfFunds: type: string monthlyVolume: type: integer format: int32 outboundPaymentJurisdictions: type: array items: type: string enum: - AT - BE - BG - CY - CZ - DK - EE - FI - FR - DE - GR - HR - HU - IS - IE - IT - LV - LI - LT - LU - MT - NL - 'NO' - PL - PT - RO - SK - SI - ES - SE - GB - MQ - YT - GP - GF - RE - MF - GI - GG - IM - JE - MC - CH - AD - SM - VA - AX - PM - BL - AL - MD - ME - MK - RS - AF - DZ - AS - AO - AI - AQ - AG - AR - AM - AW - AU - AZ - BS - BH - BD - BB - BY - BZ - BJ - BM - BT - BO - BQ - BA - BW - BV - BR - IO - VG - BN - BF - BI - KH - CM - CA - CV - KY - CF - TD - CL - CN - CX - CC - CO - KM - CK - CR - CU - CW - CD - DJ - DM - DO - TL - EC - EG - SV - GQ - ER - SZ - ET - FK - FO - FJ - PF - TF - GA - GM - GE - GH - GL - GD - GU - GT - GN - GW - GY - HT - HM - HN - HK - IN - ID - IR - IQ - IL - CI - JM - JP - JO - KZ - KE - KI - XK - KW - KG - LA - LB - LS - LR - LY - MO - MG - MW - MY - MV - ML - MH - MR - MU - MX - FM - MN - MS - MA - MZ - MM - NA - NR - NP - AN - NC - NZ - NI - NE - NG - NU - NF - KP - MP - OM - PK - PW - PS - PA - PG - PY - PE - PH - PN - PR - QA - CG - RU - RW - SH - KN - LC - VC - WS - ST - SA - SN - SC - SL - SG - SX - SB - SO - ZA - KR - GS - SS - LK - SD - SR - SY - SJ - TW - TJ - TZ - TH - TG - TK - TO - TT - TN - TR - TM - TC - TV - UG - UA - AE - UM - US - UY - UZ - VU - VE - VN - VI - WF - EH - YE - ZM - ZW customercompliance.TaxIdentifier: type: object properties: country: type: string description: Country code (ISO Alpha-2) where the tax identifier was issued enum: - AT - BE - BG - CY - CZ - DK - EE - FI - FR - DE - GR - HR - HU - IS - IE - IT - LV - LI - LT - LU - MT - NL - 'NO' - PL - PT - RO - SK - SI - ES - SE - GB - MQ - YT - GP - GF - RE - MF - GI - GG - IM - JE - MC - CH - AD - SM - VA - AX - PM - BL - AL - MD - ME - MK - RS - AF - DZ - AS - AO - AI - AQ - AG - AR - AM - AW - AU - AZ - BS - BH - BD - BB - BY - BZ - BJ - BM - BT - BO - BQ - BA - BW - BV - BR - IO - VG - BN - BF - BI - KH - CM - CA - CV - KY - CF - TD - CL - CN - CX - CC - CO - KM - CK - CR - CU - CW - CD - DJ - DM - DO - TL - EC - EG - SV - GQ - ER - SZ - ET - FK - FO - FJ - PF - TF - GA - GM - GE - GH - GL - GD - GU - GT - GN - GW - GY - HT - HM - HN - HK - IN - ID - IR - IQ - IL - CI - JM - JP - JO - KZ - KE - KI - XK - KW - KG - LA - LB - LS - LR - LY - MO - MG - MW - MY - MV - ML - MH - MR - MU - MX - FM - MN - MS - MA - MZ - MM - NA - NR - NP - AN - NC - NZ - NI - NE - NG - NU - NF - KP - MP - OM - PK - PW - PS - PA - PG - PY - PE - PH - PN - PR - QA - CG - RU - RW - SH - KN - LC - VC - WS - ST - SA - SN - SC - SL - SG - SX - SB - SO - ZA - KR - GS - SS - LK - SD - SR - SY - SJ - TW - TJ - TZ - TH - TG - TK - TO - TT - TN - TR - TM - TC - TV - UG - UA - AE - UM - US - UY - UZ - VU - VE - VN - VI - WF - EH - YE - ZM - ZW type: type: string description: Tax identifier type enum: - NIF - CIF - TIN - BSN value: type: string description: Tax identifier value account.BrandNameResponse: type: object description: BrandName properties: id: type: string description: Unique id for the Brand Name name: type: string description: The Brand Name onboarding.DocumentDetail: type: object properties: countryOfIssue: type: string description: The issuing country code (ISO Alpha-2) enum: - AT - BE - BG - CY - CZ - DK - EE - FI - FR - DE - GR - HR - HU - IS - IE - IT - LV - LI - LT - LU - MT - NL - 'NO' - PL - PT - RO - SK - SI - ES - SE - GB - MQ - YT - GP - GF - RE - MF - GI - GG - IM - JE - MC - CH - AD - SM - VA - AX - PM - BL - AL - MD - ME - MK - RS - AF - DZ - AS - AO - AI - AQ - AG - AR - AM - AW - AU - AZ - BS - BH - BD - BB - BY - BZ - BJ - BM - BT - BO - BQ - BA - BW - BV - BR - IO - VG - BN - BF - BI - KH - CM - CA - CV - KY - CF - TD - CL - CN - CX - CC - CO - KM - CK - CR - CU - CW - CD - DJ - DM - DO - TL - EC - EG - SV - GQ - ER - SZ - ET - FK - FO - FJ - PF - TF - GA - GM - GE - GH - GL - GD - GU - GT - GN - GW - GY - HT - HM - HN - HK - IN - ID - IR - IQ - IL - CI - JM - JP - JO - KZ - KE - KI - XK - KW - KG - LA - LB - LS - LR - LY - MO - MG - MW - MY - MV - ML - MH - MR - MU - MX - FM - MN - MS - MA - MZ - MM - NA - NR - NP - AN - NC - NZ - NI - NE - NG - NU - NF - KP - MP - OM - PK - PW - PS - PA - PG - PY - PE - PH - PN - PR - QA - CG - RU - RW - SH - KN - LC - VC - WS - ST - SA - SN - SC - SL - SG - SX - SB - SO - ZA - KR - GS - SS - LK - SD - SR - SY - SJ - TW - TJ - TZ - TH - TG - TK - TO - TT - TN - TR - TM - TC - TV - UG - UA - AE - UM - US - UY - UZ - VU - VE - VN - VI - WF - EH - YE - ZM - ZW type: type: string description: Type of document enum: - PASSPORT - DRIVING_LICENCE - NATIONAL_IDENTITY_CARD - VOTER_ID - WORK_PERMIT - OTHER_PROOF_OF_IDENTITY value: type: string description: The document number maxLength: 20 minLength: 0 required: - value onboarding.ScreeningResultsResponse: type: object properties: adverseMedia: type: array items: type: string peps: type: array items: type: string sanctions: type: array items: type: string onboarding.CustomerTaxProfileRequest: type: object properties: taxIdentifier: type: string description: Tax identifier for customers of type SOLETRADER. Optional for type SOLETRADER, not to be set for non-SOLETRADER customers. maxLength: 15 minLength: 0 required: - taxIdentifier account.UpdateBrandNameRequest: type: object properties: id: type: string description: Unique id for the Brand Name name: type: string description: The Brand Name customercompliance.PersonalInformation: type: object properties: sex: type: string description: Biological sex enum: - MALE - FEMALE cityOfBirth: type: string description: City of birth countryOfBirth: type: string description: Country of birth (ISO Alpha-2 code) enum: - AT - BE - BG - CY - CZ - DK - EE - FI - FR - DE - GR - HR - HU - IS - IE - IT - LV - LI - LT - LU - MT - NL - 'NO' - PL - PT - RO - SK - SI - ES - SE - GB - MQ - YT - GP - GF - RE - MF - GI - GG - IM - JE - MC - CH - AD - SM - VA - AX - PM - BL - AL - MD - ME - MK - RS - AF - DZ - AS - AO - AI - AQ - AG - AR - AM - AW - AU - AZ - BS - BH - BD - BB - BY - BZ - BJ - BM - BT - BO - BQ - BA - BW - BV - BR - IO - VG - BN - BF - BI - KH - CM - CA - CV - KY - CF - TD - CL - CN - CX - CC - CO - KM - CK - CR - CU - CW - CD - DJ - DM - DO - TL - EC - EG - SV - GQ - ER - SZ - ET - FK - FO - FJ - PF - TF - GA - GM - GE - GH - GL - GD - GU - GT - GN - GW - GY - HT - HM - HN - HK - IN - ID - IR - IQ - IL - CI - JM - JP - JO - KZ - KE - KI - XK - KW - KG - LA - LB - LS - LR - LY - MO - MG - MW - MY - MV - ML - MH - MR - MU - MX - FM - MN - MS - MA - MZ - MM - NA - NR - NP - AN - NC - NZ - NI - NE - NG - NU - NF - KP - MP - OM - PK - PW - PS - PA - PG - PY - PE - PH - PN - PR - QA - CG - RU - RW - SH - KN - LC - VC - WS - ST - SA - SN - SC - SL - SG - SX - SB - SO - ZA - KR - GS - SS - LK - SD - SR - SY - SJ - TW - TJ - TZ - TH - TG - TK - TO - TT - TN - TR - TM - TC - TV - UG - UA - AE - UM - US - UY - UZ - VU - VE - VN - VI - WF - EH - YE - ZM - ZW nationalities: type: array description: List of associated nationalities (ISO Alpha-2 codes) items: type: string enum: - AT - BE - BG - CY - CZ - DK - EE - FI - FR - DE - GR - HR - HU - IS - IE - IT - LV - LI - LT - LU - MT - NL - 'NO' - PL - PT - RO - SK - SI - ES - SE - GB - MQ - YT - GP - GF - RE - MF - GI - GG - IM - JE - MC - CH - AD - SM - VA - AX - PM - BL - AL - MD - ME - MK - RS - AF - DZ - AS - AO - AI - AQ - AG - AR - AM - AW - AU - AZ - BS - BH - BD - BB - BY - BZ - BJ - BM - BT - BO - BQ - BA - BW - BV - BR - IO - VG - BN - BF - BI - KH - CM - CA - CV - KY - CF - TD - CL - CN - CX - CC - CO - KM - CK - CR - CU - CW - CD - DJ - DM - DO - TL - EC - EG - SV - GQ - ER - SZ - ET - FK - FO - FJ - PF - TF - GA - GM - GE - GH - GL - GD - GU - GT - GN - GW - GY - HT - HM - HN - HK - IN - ID - IR - IQ - IL - CI - JM - JP - JO - KZ - KE - KI - XK - KW - KG - LA - LB - LS - LR - LY - MO - MG - MW - MY - MV - ML - MH - MR - MU - MX - FM - MN - MS - MA - MZ - MM - NA - NR - NP - AN - NC - NZ - NI - NE - NG - NU - NF - KP - MP - OM - PK - PW - PS - PA - PG - PY - PE - PH - PN - PR - QA - CG - RU - RW - SH - KN - LC - VC - WS - ST - SA - SN - SC - SL - SG - SX - SB - SO - ZA - KR - GS - SS - LK - SD - SR - SY - SJ - TW - TJ - TZ - TH - TG - TK - TO - TT - TN - TR - TM - TC - TV - UG - UA - AE - UM - US - UY - UZ - VU - VE - VN - VI - WF - EH - YE - ZM - ZW onboarding.DocumentInfo: type: object properties: path: type: string minLength: 1 fileName: type: string minLength: 1 uploadedDate: type: string description: Valid date. Format is 'yyyy-MM-dd'T'HH:mm:ssZ' where Z is UTC offset. e.g 2017-01-28T01:01:01+0000 example: 2017-01-28T01:01:01+0000 minLength: 1 required: - fileName - path - uploadedDate account.DelegateResponse: type: object description: Delegate properties: id: type: string description: Unique reference for the Delegate. example: D0000001 name: type: string description: Name for the Delegate address: $ref: '#/components/schemas/account.AddressResponse' description: Address of the Delegate roleId: type: string description: The id of the Role assigned to the delegate example: R02002M5 externalReference: type: string description: External system reference for the Delegate partner: type: string description: Partner Bid. example: R0000001 status: type: string description: Status of the Delegate. created: type: string format: date-time description: Datetime the Delegate was created.Format is 'yyyy-MM-dd'T'HH:mm:ssZ' where Z is UTC offset. e.g 2017-01-28T01:01:01+0000 example: 2017-01-28T01:01:01+0000 updated: type: string format: date-time description: Datetime the Delegate was last updated.Format is 'yyyy-MM-dd'T'HH:mm:ssZ' where Z is UTC offset. e.g 2017-01-28T01:01:01+0000 example: 2017-01-28T01:01:01+0000 account.CustomerComplianceDataRequest: type: object properties: typeDescription: type: string description: Required for customers of type PREQUALIFIED. Not allowed for all other customer types. maxLength: 200 minLength: 0 riskLevel: type: string description: Risk level of the customer enum: - LOW - MEDIUM - HIGH - UNDETERMINED vulnerabilityReasons: type: array description: Vulnerability Reasons of the customer items: type: string enum: - LIFE_EVENTS - HEALTH - RESILIENCE - CAPABILITY - FINANCIAL_DIFFICULTY business: $ref: '#/components/schemas/account.BusinessDataRequest' description: Business data of the customer consumer: $ref: '#/components/schemas/account.ConsumerDataRequest' description: Consumer data of the customer onboarding.CustomerIdentificationInformation: type: object properties: country: type: string description: The issuing country code in ISO Alpha-2 format enum: - AT - BE - BG - CY - CZ - DK - EE - FI - FR - DE - GR - HR - HU - IS - IE - IT - LV - LI - LT - LU - MT - NL - 'NO' - PL - PT - RO - SK - SI - ES - SE - GB - MQ - YT - GP - GF - RE - MF - GI - GG - IM - JE - MC - CH - AD - SM - VA - AX - PM - BL - AL - MD - ME - MK - RS - AF - DZ - AS - AO - AI - AQ - AG - AR - AM - AW - AU - AZ - BS - BH - BD - BB - BY - BZ - BJ - BM - BT - BO - BQ - BA - BW - BV - BR - IO - VG - BN - BF - BI - KH - CM - CA - CV - KY - CF - TD - CL - CN - CX - CC - CO - KM - CK - CR - CU - CW - CD - DJ - DM - DO - TL - EC - EG - SV - GQ - ER - SZ - ET - FK - FO - FJ - PF - TF - GA - GM - GE - GH - GL - GD - GU - GT - GN - GW - GY - HT - HM - HN - HK - IN - ID - IR - IQ - IL - CI - JM - JP - JO - KZ - KE - KI - XK - KW - KG - LA - LB - LS - LR - LY - MO - MG - MW - MY - MV - ML - MH - MR - MU - MX - FM - MN - MS - MA - MZ - MM - NA - NR - NP - AN - NC - NZ - NI - NE - NG - NU - NF - KP - MP - OM - PK - PW - PS - PA - PG - PY - PE - PH - PN - PR - QA - CG - RU - RW - SH - KN - LC - VC - WS - ST - SA - SN - SC - SL - SG - SX - SB - SO - ZA - KR - GS - SS - LK - SD - SR - SY - SJ - TW - TJ - TZ - TH - TG - TK - TO - TT - TN - TR - TM - TC - TV - UG - UA - AE - UM - US - UY - UZ - VU - VE - VN - VI - WF - EH - YE - ZM - ZW type: type: string description: Identifier type enum: - INSEE value: type: string description: The identification value pattern: ^[A-Za-z0-9]{4}$ onboarding.ConsumerDataRequest: type: object properties: employment: type: string natureOfRelationship: type: string expectedTransactionalActivity: $ref: '#/components/schemas/onboarding.ExpectedTransactionalActivityRequest' screeningResults: $ref: '#/components/schemas/onboarding.ScreeningResultsRequest' sourceOfWealth: $ref: '#/components/schemas/onboarding.SourceOfWealthRequest' account.Move: allOf: - $ref: '#/components/schemas/account.PatchOperation' - type: object properties: from: type: string example: /path/to/originating/field description: Move field required: - from - op - path onboarding.ConsumerDuty: type: object properties: scope: type: string enum: - IN_SCOPE - NOT_IN_SCOPE numberOfEmployees: type: integer format: int32 netAssets: type: number turnover: type: number account.BusinessDataRequest: type: object properties: natureOfRelationship: type: string expectedTransactionalActivity: $ref: '#/components/schemas/account.ExpectedTransactionalActivityRequest' screeningResults: $ref: '#/components/schemas/account.ScreeningResultsRequest' sourceOfWealth: $ref: '#/components/schemas/account.SourceOfWealthRequest' onboarding.BusinessDataResponse: type: object properties: natureOfRelationship: type: string expectedTransactionalActivity: $ref: '#/components/schemas/onboarding.ExpectedTransactionalActivityResponse' screeningResults: $ref: '#/components/schemas/onboarding.ScreeningResultsResponse' sourceOfWealth: $ref: '#/components/schemas/onboarding.SourceOfWealthResponse' account.CustomerComplianceDataResponse: type: object properties: typeDescription: type: string riskLevel: type: string enum: - LOW - MEDIUM - HIGH - UNDETERMINED vulnerabilityReasons: type: array items: type: string enum: - LIFE_EVENTS - HEALTH - RESILIENCE - CAPABILITY - FINANCIAL_DIFFICULTY business: $ref: '#/components/schemas/account.BusinessDataResponse' consumer: $ref: '#/components/schemas/account.ConsumerDataResponse' onboarding.AssociateResponse: type: object description: Associate properties: id: type: string description: Unique id for the Associate firstName: type: string description: Associate's first name(s) middleName: type: string description: Associate's middle name lastName: type: string description: Associate's surname email: type: string description: Associate's email address phone: type: string description: Associate's phone number, in international number format applicant: type: boolean description: Indicates which Associate originally applied for the Modulr account ownership: type: integer format: int32 description: The Associate's percentage ownership of the Customer type: type: string description: 'Describes the relation between the Associate and the Customer. Can be one of ' dateOfBirth: type: string description: Associate's date of birth in format yyyy-MM-dd, or format yyyy-MM where day is unknown verificationStatus: type: string description: 'How the Associate was verified. Can be one of ' homeAddress: $ref: '#/components/schemas/onboarding.AddressResponse' description: Home address of the Associate documentInfo: type: array description: Documents gathered during Customer Due Diligence checks on an Associate. items: $ref: '#/components/schemas/onboarding.DocumentInfo' additionalPersonalIdentifiers: type: array description: Additional personal identifier(s) items: $ref: '#/components/schemas/onboarding.AdditionalPersonalIdentifierResponse' complianceData: $ref: '#/components/schemas/onboarding.AssociateComplianceDataResponse' description: Optional for associates of type C_INTEREST and an EU customer legal entity. Mandatory for associates of type PREQUALIFIED. Not to be set for other associate types and/or for UK customer legal entity. required: - dateOfBirth - firstName - id - lastName - type - verificationStatus account.ScreeningResultsResponse: type: object properties: adverseMedia: type: array items: type: string peps: type: array items: type: string sanctions: type: array items: type: string onboarding.AssociateComplianceDataResponse: type: object properties: relationship: type: string account.delegateId: type: array description: List of delegate IDs to retrieve linked customers items: type: string description: Delegate id to retrieve linked customers account.ScreeningResultsRequest: type: object properties: adverseMedia: type: array items: type: string peps: type: array items: type: string sanctions: type: array items: type: string account.DocumentInfo: type: object description: Document properties: path: type: string minLength: 1 fileName: type: string minLength: 1 uploadedDate: type: string description: Valid date. Format is 'yyyy-MM-dd'T'HH:mm:ssZ' where Z is UTC offset. e.g 2017-01-28T01:01:01+0000 example: 2017-01-28T01:01:01+0000 minLength: 1 required: - fileName - path - uploadedDate onboarding.ConsumerDataResponse: type: object properties: employment: type: string natureOfRelationship: type: string expectedTransactionalActivity: $ref: '#/components/schemas/onboarding.ExpectedTransactionalActivityResponse' screeningResults: $ref: '#/components/schemas/onboarding.ScreeningResultsResponse' sourceOfWealth: $ref: '#/components/schemas/onboarding.SourceOfWealthResponse' customercompliance.AddressRequest: type: object properties: addressLine1: type: string description: Address line 1 minLength: 1 addressLine2: type: string description: Address line 2 country: type: string description: Country alpha2 code minLength: 1 postCode: type: string description: Post code minLength: 1 postTown: type: string description: Post town minLength: 1 required: - addressLine1 - country - postCode - postTown onboarding.CreateApplicationRequest: type: object properties: legalEntity: type: string description: Modulr Legal Entity that this customer is associated with. enum: - MFSL - MFBV required: - legalEntity onboarding.Charity: type: object properties: onCharitiesCommission: type: boolean charityNumber: type: string required: - onCharitiesCommission onboarding.KnowYourBusiness: type: object properties: tradingName: type: string description: The trading name of the business incorporationDate: type: string format: date description: Incorporation Date of the business businessActivities: type: string description: The business activities of the business onlinePresenceUrl: type: string description: The online presence URL of the business expectedMonthlyTransactions: type: integer format: int64 description: Expected Monthly Transactions of the business customercompliance.AssociateResponse: type: object properties: id: type: string description: Associate bid onboarding.AddressResponse: type: object description: Address properties: addressLine1: type: string addressLine2: type: string postTown: type: string postCode: type: string country: type: string countrySubDivision: type: string required: - addressLine1 - country - postCode - postTown onboarding.Legal: type: object properties: lawSocietyNumber: type: string required: - lawSocietyNumber account.SourceOfWealthResponse: type: object properties: standard: type: string pep: type: string onboarding.DelegateResponse: type: object description: Delegate properties: id: type: string description: Unique reference for the Delegate. example: D0000001 name: type: string description: Name for the Delegate address: $ref: '#/components/schemas/onboarding.AddressResponse' description: Address of the Delegate roleId: type: string description: The id of the Role assigned to the delegate example: R02002M5 externalReference: type: string description: External system reference for the Delegate partner: type: string description: Partner Bid. example: R0000001 status: type: string description: Status of the Delegate. created: type: string format: date-time description: Datetime the Delegate was created.Format is 'yyyy-MM-dd'T'HH:mm:ssZ' where Z is UTC offset. e.g 2017-01-28T01:01:01+0000 example: 2017-01-28T01:01:01+0000 updated: type: string format: date-time description: Datetime the Delegate was last updated.Format is 'yyyy-MM-dd'T'HH:mm:ssZ' where Z is UTC offset. e.g 2017-01-28T01:01:01+0000 example: 2017-01-28T01:01:01+0000 required: - created - id - name - roleId - status - updated customercompliance.CreateAssociateRequest: type: object properties: firstName: type: string description: Associate first name minLength: 1 middleName: type: string description: Associate middle name lastName: type: string description: Associate last name minLength: 1 dateOfBirth: type: string description: Associate date of birth in YYYY-MM-DD format minLength: 1 pattern: ^\d{4}-\d{2}-\d{2}$ address: $ref: '#/components/schemas/customercompliance.AddressRequest' description: Primary address for the associate types: type: array description: Associate type items: type: string description: Associate type enum: - INDIVIDUAL - DIRECTOR - PARTNER - BENE_OWNER - SOLETRADER - AUTHORISED_SIGNER minItems: 1 contactDetails: $ref: '#/components/schemas/customercompliance.ContactDetailsRequest' description: Contact details for the associate ownershipPercentage: type: number description: Ownership percentage maximum: 100 minimum: 0 required: - address - contactDetails - dateOfBirth - firstName - lastName - types account.BusinessDataResponse: type: object properties: natureOfRelationship: type: string expectedTransactionalActivity: $ref: '#/components/schemas/account.ExpectedTransactionalActivityResponse' screeningResults: $ref: '#/components/schemas/account.ScreeningResultsResponse' sourceOfWealth: $ref: '#/components/schemas/account.SourceOfWealthResponse' account.CustomerPageResponse: type: object properties: content: type: array description: List of responses on the current page items: $ref: '#/components/schemas/account.Customer' size: type: integer format: int32 description: Page size totalSize: type: integer format: int64 description: Total count page: type: integer format: int32 description: Current page number, 0 based; i.e first-page = 0, second-page = 1 totalPages: type: integer format: int32 description: Total pages customercompliance.BusinessResponse: type: object properties: id: type: string description: Business ID type: type: string description: Business type enum: - LLC - PLC - LLP - PARTNERSHIP - SOLETRADER registeredName: type: string description: Registered business name registrationNumber: type: string description: Company registration number onboarding.SubmitAssociateResponse: type: object properties: id: type: string customercompliance.DocumentDetail: type: object properties: countryOfIssue: type: string description: The issuing country code (ISO Alpha-2) enum: - AT - BE - BG - CY - CZ - DK - EE - FI - FR - DE - GR - HR - HU - IS - IE - IT - LV - LI - LT - LU - MT - NL - 'NO' - PL - PT - RO - SK - SI - ES - SE - GB - MQ - YT - GP - GF - RE - MF - GI - GG - IM - JE - MC - CH - AD - SM - VA - AX - PM - BL - AL - MD - ME - MK - RS - AF - DZ - AS - AO - AI - AQ - AG - AR - AM - AW - AU - AZ - BS - BH - BD - BB - BY - BZ - BJ - BM - BT - BO - BQ - BA - BW - BV - BR - IO - VG - BN - BF - BI - KH - CM - CA - CV - KY - CF - TD - CL - CN - CX - CC - CO - KM - CK - CR - CU - CW - CD - DJ - DM - DO - TL - EC - EG - SV - GQ - ER - SZ - ET - FK - FO - FJ - PF - TF - GA - GM - GE - GH - GL - GD - GU - GT - GN - GW - GY - HT - HM - HN - HK - IN - ID - IR - IQ - IL - CI - JM - JP - JO - KZ - KE - KI - XK - KW - KG - LA - LB - LS - LR - LY - MO - MG - MW - MY - MV - ML - MH - MR - MU - MX - FM - MN - MS - MA - MZ - MM - NA - NR - NP - AN - NC - NZ - NI - NE - NG - NU - NF - KP - MP - OM - PK - PW - PS - PA - PG - PY - PE - PH - PN - PR - QA - CG - RU - RW - SH - KN - LC - VC - WS - ST - SA - SN - SC - SL - SG - SX - SB - SO - ZA - KR - GS - SS - LK - SD - SR - SY - SJ - TW - TJ - TZ - TH - TG - TK - TO - TT - TN - TR - TM - TC - TV - UG - UA - AE - UM - US - UY - UZ - VU - VE - VN - VI - WF - EH - YE - ZM - ZW type: type: string description: Type of document enum: - PASSPORT - DRIVING_LICENCE - NATIONAL_IDENTITY_CARD - VOTER_ID - WORK_PERMIT - OTHER_PROOF_OF_IDENTITY value: type: string description: The document number maxLength: 20 minLength: 0 required: - value onboarding.CustomerComplianceDataResponse: type: object properties: typeDescription: type: string riskLevel: type: string enum: - LOW - MEDIUM - HIGH - UNDETERMINED vulnerabilityReasons: type: array items: type: string enum: - LIFE_EVENTS - HEALTH - RESILIENCE - CAPABILITY - FINANCIAL_DIFFICULTY business: $ref: '#/components/schemas/onboarding.BusinessDataResponse' consumer: $ref: '#/components/schemas/onboarding.ConsumerDataResponse' account.PatchOperation: type: object discriminator: propertyName: op mapping: add: '#/components/schemas/account.Add' move: '#/components/schemas/account.Move' test: '#/components/schemas/account.Test' replace: '#/components/schemas/account.Replace' copy: '#/components/schemas/account.Copy' remove: '#/components/schemas/account.Remove' properties: op: type: string path: type: string example: /path/to/field required: - op - path onboarding.CreateApplicationResponse: type: object properties: id: type: string account.associateTypes: type: array description: 'List of types to filter, can be one of: 1. DIRECTOR -> director 2. PARTNER -> partner 3. CSECRETARY -> company secretary 4. SOLETRADER -> sole trader 5. BENE_OWNER -> beneficial owner 6. C_INTEREST -> controlling interest 7. INDIVIDUAL -> individual 8. PCM_INDIVIDUAL -> pcm individual 9. SIGNATORY -> signatory 9. TRUST_SETTLOR -> trust settlor 9. TRUST_BENEFICIARY -> trust beneficiary 10. TRUST_TRUSTEE -> trust trustee' items: type: string description: 'List of types to filter, can be one of: 1. DIRECTOR -> director 2. PARTNER -> partner 3. CSECRETARY -> company secretary 4. SOLETRADER -> sole trader 5. BENE_OWNER -> beneficial owner 6. C_INTEREST -> controlling interest 7. INDIVIDUAL -> individual 8. PCM_INDIVIDUAL -> pcm individual 9. SIGNATORY -> signatory 9. TRUST_SETTLOR -> trust settlor 9. TRUST_BENEFICIARY -> trust beneficiary 10. TRUST_TRUSTEE -> trust trustee' enum: - DIRECTOR - PARTNER - CSECRETARY - SOLETRADER - BENE_OWNER - C_INTEREST - INDIVIDUAL - PCM_INDIVIDUAL - SIGNATORY - TRUST_SETTLOR - TRUST_BENEFICIARY - TRUST_TRUSTEE - PREQUALIFIED account.ExpectedTransactionalActivityResponse: type: object properties: sourceOfFunds: type: string monthlyVolume: type: integer format: int32 outboundPaymentJurisdictions: type: array items: type: string enum: - AT - BE - BG - CY - CZ - DK - EE - FI - FR - DE - GR - HR - HU - IS - IE - IT - LV - LI - LT - LU - MT - NL - 'NO' - PL - PT - RO - SK - SI - ES - SE - GB - MQ - YT - GP - GF - RE - MF - GI - GG - IM - JE - MC - CH - AD - SM - VA - AX - PM - BL - AL - MD - ME - MK - RS - AF - DZ - AS - AO - AI - AQ - AG - AR - AM - AW - AU - AZ - BS - BH - BD - BB - BY - BZ - BJ - BM - BT - BO - BQ - BA - BW - BV - BR - IO - VG - BN - BF - BI - KH - CM - CA - CV - KY - CF - TD - CL - CN - CX - CC - CO - KM - CK - CR - CU - CW - CD - DJ - DM - DO - TL - EC - EG - SV - GQ - ER - SZ - ET - FK - FO - FJ - PF - TF - GA - GM - GE - GH - GL - GD - GU - GT - GN - GW - GY - HT - HM - HN - HK - IN - ID - IR - IQ - IL - CI - JM - JP - JO - KZ - KE - KI - XK - KW - KG - LA - LB - LS - LR - LY - MO - MG - MW - MY - MV - ML - MH - MR - MU - MX - FM - MN - MS - MA - MZ - MM - NA - NR - NP - AN - NC - NZ - NI - NE - NG - NU - NF - KP - MP - OM - PK - PW - PS - PA - PG - PY - PE - PH - PN - PR - QA - CG - RU - RW - SH - KN - LC - VC - WS - ST - SA - SN - SC - SL - SG - SX - SB - SO - ZA - KR - GS - SS - LK - SD - SR - SY - SJ - TW - TJ - TZ - TH - TG - TK - TO - TT - TN - TR - TM - TC - TV - UG - UA - AE - UM - US - UY - UZ - VU - VE - VN - VI - WF - EH - YE - ZM - ZW customercompliance.TaxIdentifiersRequest: type: object properties: taxIdentifiers: type: array items: $ref: '#/components/schemas/customercompliance.TaxIdentifier' onboarding.CreateAssociateRequest: type: object properties: type: type: string description: Type of associate minLength: 1 firstName: type: string description: Letters, hyphens and apostrophes maxLength: 100 minLength: 1 pattern: ^[\p{L}' -]+$ middleName: type: string description: Letters, hyphens and apostrophes pattern: ^[\p{L}' -]*$ lastName: type: string description: Letters, hyphens and apostrophes maxLength: 100 minLength: 1 pattern: ^[\p{L}' -]+$ dateOfBirth: type: string description: Date in yyyy-MM-dd format. If associate is a non-applicant director or partner, then partial DOB of yyyy-MM format is allowed. Valid age is from 16 to 150 years. If Applicant then minimum age required is 18 years for specific partners. Required for all associate types except PCM_INDIVIDUAL. ownership: type: integer format: int32 description: Ownership percentage for Partners maximum: 100 minimum: 1 homeAddress: $ref: '#/components/schemas/onboarding.AddressRequest' description: Home address applicant: type: boolean description: Indicates if the associate is the applicant. Only one associate can be marked as such. email: type: string description: Contact email address for applicants maxLength: 100 minLength: 0 pattern: '[^\s@]+@[^\s@]+\.[^\s@]+' phone: type: string description: Contact phone number for applicants, will be formatted into international number pattern documentInfo: type: array description: Information on uploaded documents items: $ref: '#/components/schemas/onboarding.DocumentInfo' additionalIdentifiers: type: array description: Additional identifiers items: $ref: '#/components/schemas/onboarding.AdditionalAssociateIdentifier' complianceData: $ref: '#/components/schemas/onboarding.AssociateComplianceDataRequest' description: Optional for associates of type C_INTEREST and an EU customer legal entity. Mandatory for associates of type PREQUALIFIED. Not to be set for other associate types and/or for UK customer legal entity. complianceId: type: string description: Application Associate Compliance ID taxIdentifiers: type: array description: Tax identifiers for the associate items: $ref: '#/components/schemas/onboarding.TaxIdentifier' taxResidencies: type: array description: Tax residencies for the associate items: type: string documentDetails: type: array description: Document details for the associate items: $ref: '#/components/schemas/onboarding.DocumentDetail' departmentCode: type: string description: Department code for the associate placeOfBirth: $ref: '#/components/schemas/onboarding.PlaceOfBirth' description: Place of birth of the associate sex: type: string description: Biological sex enum: - MALE - FEMALE nationalities: type: array items: type: string enum: - AT - BE - BG - CY - CZ - DK - EE - FI - FR - DE - GR - HR - HU - IS - IE - IT - LV - LI - LT - LU - MT - NL - 'NO' - PL - PT - RO - SK - SI - ES - SE - GB - MQ - YT - GP - GF - RE - MF - GI - GG - IM - JE - MC - CH - AD - SM - VA - AX - PM - BL - AL - MD - ME - MK - RS - AF - DZ - AS - AO - AI - AQ - AG - AR - AM - AW - AU - AZ - BS - BH - BD - BB - BY - BZ - BJ - BM - BT - BO - BQ - BA - BW - BV - BR - IO - VG - BN - BF - BI - KH - CM - CA - CV - KY - CF - TD - CL - CN - CX - CC - CO - KM - CK - CR - CU - CW - CD - DJ - DM - DO - TL - EC - EG - SV - GQ - ER - SZ - ET - FK - FO - FJ - PF - TF - GA - GM - GE - GH - GL - GD - GU - GT - GN - GW - GY - HT - HM - HN - HK - IN - ID - IR - IQ - IL - CI - JM - JP - JO - KZ - KE - KI - XK - KW - KG - LA - LB - LS - LR - LY - MO - MG - MW - MY - MV - ML - MH - MR - MU - MX - FM - MN - MS - MA - MZ - MM - NA - NR - NP - AN - NC - NZ - NI - NE - NG - NU - NF - KP - MP - OM - PK - PW - PS - PA - PG - PY - PE - PH - PN - PR - QA - CG - RU - RW - SH - KN - LC - VC - WS - ST - SA - SN - SC - SL - SG - SX - SB - SO - ZA - KR - GS - SS - LK - SD - SR - SY - SJ - TW - TJ - TZ - TH - TG - TK - TO - TT - TN - TR - TM - TC - TV - UG - UA - AE - UM - US - UY - UZ - VU - VE - VN - VI - WF - EH - YE - ZM - ZW required: - firstName - homeAddress - lastName - type onboarding.AddressRequest: type: object properties: addressLine1: type: string maxLength: 50 minLength: 0 addressLine2: type: string maxLength: 50 minLength: 0 postTown: type: string maxLength: 50 minLength: 0 postCode: type: string maxLength: 10 country: type: string description: Mandatory for international payments. countrySubDivision: type: string maxLength: 35 minLength: 0 required: - addressLine1 - postTown onboarding.EmploymentServices: type: object properties: temporaryStaff: type: boolean directEmployeesOnly: type: boolean required: - directEmployeesOnly - temporaryStaff onboarding.Travel: type: object properties: travelBodyDoc: $ref: '#/components/schemas/onboarding.DocumentInfo' onboarding.MessageResponse: type: object properties: field: type: string code: type: string enum: - GENERAL - BUSINESSRULE - MFASTATUS - MFAERROR - MFATIMEOUT - MFADEVICEMM - MFAMESSAGEINVALID - NOTFOUND - DUPLICATE - INVALID - CONNECTION - RETRY - RATELIMIT - PERMISSION - NOTACCEPTABLE - MFAVERIFICATION - TOKENEXPIRED errorCode: type: string message: type: string sourceService: type: string customercompliance.DocumentDetailsRequest: type: object properties: documentDetails: type: array items: $ref: '#/components/schemas/customercompliance.DocumentDetail' account.UpdateAssociateRequest: type: object properties: type: type: string description: Type of associate minLength: 1 firstName: type: string description: Letters, hyphens and apostrophes maxLength: 100 minLength: 1 pattern: ^[\p{L}' -]+$ middleName: type: string description: Letters, hyphens and apostrophes pattern: ^[\p{L}' -]*$ lastName: type: string description: Letters, hyphens and apostrophes maxLength: 100 minLength: 1 pattern: ^[\p{L}' -]+$ dateOfBirth: type: string description: Date in yyyy-MM-dd format. If associate is a non-applicant director or partner, then partial DOB of yyyy-MM format is allowed. Valid age is from 16 to 150 years. If Applicant then minimum age required is 18 years for specific partners. Required for all associate types except PCM_INDIVIDUAL. ownership: type: integer format: int32 description: Ownership percentage for Partners maximum: 100 minimum: 1 homeAddress: $ref: '#/components/schemas/account.AddressRequest' description: Home address id: type: string description: ID of associate email: type: string description: Contact email address for applicants maxLength: 100 minLength: 0 pattern: '[^\s@]+@[^\s@]+\.[^\s@]+' phone: type: string description: Contact phone number for applicants, will be formatted into international number pattern required: - firstName - lastName - type onboarding.CustomerComplianceDataRequest: type: object properties: typeDescription: type: string description: Required for customers of type PREQUALIFIED. Not allowed for all other customer types. maxLength: 200 minLength: 0 riskLevel: type: string description: Risk level of the customer enum: - LOW - MEDIUM - HIGH - UNDETERMINED vulnerabilityReasons: type: array description: Vulnerability Reasons of the customer items: type: string enum: - LIFE_EVENTS - HEALTH - RESILIENCE - CAPABILITY - FINANCIAL_DIFFICULTY business: $ref: '#/components/schemas/onboarding.BusinessDataRequest' description: Business data of the customer consumer: $ref: '#/components/schemas/onboarding.ConsumerDataRequest' description: Consumer data of the customer onboarding.CreateCustomerRequest: type: object description: Details of customer to create properties: externalReference: type: string description: External Reference can only have alphanumeric characters plus underscore, hyphen and space up to 50 characters long maxLength: 50 minLength: 0 pattern: '[\w \-]*' name: type: string description: 'AlphaNumeric characters plus [ _ '' @ , & £ $ € ¥ = # % ‘ ’ : ; \ / < > « » ! ‘ “ ” . ? - *{ } + % ( )]. Mandatory for all types except ''INDIVIDUAL and PCM_INDIVIDUAL''' maxLength: 100 minLength: 0 pattern: ^([_'@,&()£$€¥=#%\‘\’:;/<>«»\"!\‘\“\”.\?\-\s\*\{\}\[\]\+\%\\]*?[\p{L}0-9])+[_'@,&()£$€¥=#%\‘\’:;/<>«»\"!\‘\“\”.\?\-\s\*\{\}\[\]\+\%\\]* companyRegNumber: type: string description: Company registration number. Mandatory for 'LLC' and 'PLC' maxLength: 40 minLength: 0 registeredAddress: $ref: '#/components/schemas/onboarding.AddressRequest' description: Mandatory for 'LLC', 'LLP' and 'LPARTNRSHP' tradingAddress: $ref: '#/components/schemas/onboarding.AddressRequest' description: Mandatory for all types except 'INDIVIDUAL' and 'PCM_INDIVIDUAL' industryCode: type: string description: Mandatory for all types except 'INDIVIDUAL', 'PCM_INDIVIDUAL' and 'PCM_BUSINESS'. In-house KYC partners -> Refer to Modulr Industry Code list. Outsourced KYC partners -> custom codes allowed. maxLength: 6 minLength: 0 tcsVersion: type: integer format: int32 description: Terms and conditions version. Mandatory for all types except 'PCM_INDIVIDUAL' and 'PCM_BUSINESS' maximum: 1000 minimum: 1 type: type: string description: 'Type of the customer, can be one of: 1. LLC -> limited company 2. PLC -> publicly listed company 3. SOLETRADER -> sole trader 4. OPARTNRSHP -> ordinary partnership 5. LPARTNRSHP -> limited partnership 6. LLP -> limited liability partnership 7. CHARITY -> charity 8. INDIVIDUAL -> individual consumer 9. PCM_INDIVIDUAL -> partner clearing model individual consumer 10. PCM_BUSINESS -> partner clearing model business consumer 11. TRUST -> trust customer 12. PREQUALIFIED -> only for use by customers who have been pre-authorised by Modulr' minLength: 1 expectedMonthlySpend: type: integer format: int32 description: Mandatory for all types except 'PCM_INDIVIDUAL' and 'PCM_BUSINESS' maximum: 2147483647 minimum: 0 associates: type: array description: Mandatory for all types except 'PCM_BUSINESS' items: $ref: '#/components/schemas/onboarding.CreateAssociateRequest' documentInfo: type: array description: information on uploaded documents items: $ref: '#/components/schemas/onboarding.DocumentInfo' legalEntity: type: string description: Legal entity of the customer enum: - GB - NL - IE provisionalCustomerId: type: string description: Reference to provisional customer in onboarding flow customerTrust: $ref: '#/components/schemas/onboarding.CustomerTrustRequest' description: Trust nature for customers of type Trust. Mandatory for type Trust, not to be set for non-trust customers. taxProfile: $ref: '#/components/schemas/onboarding.CustomerTaxProfileRequest' description: Tax profile for customers of type SOLETRADER. Optional for type SOLETRADER, not to be set for non-SOLETRADER customers. complianceData: $ref: '#/components/schemas/onboarding.CustomerComplianceDataRequest' description: Required for customers of type PREQUALIFIED. consumerDuty: $ref: '#/components/schemas/onboarding.ConsumerDuty' description: Consumer Duty data of the customer knowYourBusiness: $ref: '#/components/schemas/onboarding.KnowYourBusiness' description: Know your business data of the customer accountancy: $ref: '#/components/schemas/onboarding.Accountancy' description: Data provided for the accountancy industry travel: $ref: '#/components/schemas/onboarding.Travel' description: Data provided for the travel industry employmentServices: $ref: '#/components/schemas/onboarding.EmploymentServices' description: Data provided for the employment services industry charity: $ref: '#/components/schemas/onboarding.Charity' description: Data provided for the charity industry legal: $ref: '#/components/schemas/onboarding.Legal' description: Data provided for the legal industry taxIdentifiers: type: array description: Tax Identifiers for the customer items: $ref: '#/components/schemas/onboarding.TaxIdentifier' customerIdentificationInfo: type: array description: Identification information for the customer items: $ref: '#/components/schemas/onboarding.CustomerIdentificationInformation' construction: $ref: '#/components/schemas/onboarding.Construction' description: Data provided for the construction industry contractCounterparty: type: string description: Business unit the customer contracts with enum: - MFBV - MFSL - MUS required: - type account.externalReference: type: array description: A list of external references to filter example: '"externalReference[0].type": "WORD_MATCH", "externalReference[0].value": "Customer reference"' items: $ref: '#/components/schemas/account.StringSearchCriteria' account.CustomerTaxProfileResponse: type: object properties: taxIdentifier: type: string description: Tax identifier for customers of type SOLETRADER. Optional for type SOLETRADER, not to be set for non-SOLETRADER customers. account.id: type: array description: ID of Customer(s) to fetch items: type: string description: ID of Customer(s) to fetch account.externalRef: type: array description: A list of external references to filter items: type: string description: A list of external references to filter onboarding.Customer: type: object description: A Customer is a single legal entity that can have 1 or more accounts properties: id: type: string description: Unique identifier for a Customer. Begins with 'C' example: C00000001 name: type: string description: Customer's company name - must be unique across the Modulr platform. brandNames: type: array description: The customers brand name(s) items: $ref: '#/components/schemas/onboarding.BrandNameResponse' type: type: string description: 'Type of the customer, can be one of: 1. LLC -> limited company 2. PLC -> publicly listed company 3. SOLETRADER -> sole trader 4. OPARTNRSHP -> ordinary partnership 5. LPARTNRSHP -> limited partnership 6. LLP -> limited liability partnership 7. CHARITY -> charity 8. INDIVIDUAL -> individual consumer 9. PCM_INDIVIDUAL -> partner clearing model individual consumer 10. PCM_BUSINESS -> partner clearing model business consumer' status: type: string description: Status of the Customer. Customers must be 'Active' for Accounts to be created for them. enum: - ACTIVE - CLOSED - BLOCKED verificationStatus: type: string description: 'How the identity of the Customer has been verified. Can be: 1. UNVERIFIED -> no verification checks have been completed 2. VERIFIED -> verification checks completed satisfactorily 3. EXVERIFIED -> verification completed externally 4. REFERRED -> verification is pending manual review 5. DECLINED -> verification is complete with a negative result 6. REVIEWED -> verification check has been reviewed' companyRegNumber: type: string description: The company registration / incorporation number of the company. Only applicable for companies registered with Companies House expectedMonthlySpend: type: integer format: int32 description: Indication of the monthly spend of the customer. registeredAddress: $ref: '#/components/schemas/onboarding.AddressResponse' description: The address of the company's registered office. tradingAddress: $ref: '#/components/schemas/onboarding.AddressResponse' description: The address of the company's day-to-day trading activities. partnerId: type: string description: The owning partner identifier associates: type: array description: Array of associate objects that link to the Customer. For example, this could contain the details of the company directors for a Limited company, or or the partners for a partnership. items: $ref: '#/components/schemas/onboarding.AssociateResponse' industryCode: type: string tcsVersion: type: integer format: int32 description: Version of the Modulr Account Terms and Conditions the Customer has agreed to. documentInfo: type: array description: Array of document objects that relate to the Customer being created. Examples of Documents could be proof of a Company Director's identity or address, Articles of Association or a Partnership Agreement. items: $ref: '#/components/schemas/onboarding.DocumentInfo' externalReference: type: string createdDate: type: string format: date-time description: Datetime when the customer was created.Format is 'yyyy-MM-dd'T'HH:mm:ssZ' where Z is UTC offset. e.g 2017-01-28T01:01:01+0000 example: 2017-01-28T01:01:01+0000 delegate: $ref: '#/components/schemas/onboarding.DelegateResponse' description: Details of this Customer's linked Delegate legalEntity: type: string description: Legal entity of the customer enum: - GB - NL - IE customerTrust: $ref: '#/components/schemas/onboarding.CustomerTrustResponse' description: Trust nature for customers of type trust. Mandatory for type Trust, not to be set for non-trust customers. taxProfile: $ref: '#/components/schemas/onboarding.CustomerTaxProfileResponse' description: Tax profile for customers of type SOLETRADER. Optional for type SOLETRADER, not to be set for non-SOLETRADER customers. complianceData: $ref: '#/components/schemas/onboarding.CustomerComplianceDataResponse' description: Required for customers of type PREQUALIFIED. Not allowed for all other customer types. complianceSector: type: string example: Agency Lite Consumer generateStatements: type: boolean description: True if the customer is configured to generate statements taxIdentifiers: type: array description: Tax Identifiers for the customer items: $ref: '#/components/schemas/onboarding.TaxIdentifier' required: - createdDate - id - name - status - type - verificationStatus account.Test: allOf: - $ref: '#/components/schemas/account.PatchOperation' - type: object properties: value: $ref: '#/components/schemas/account.JsonNode' description: Test field required: - op - path - value customercompliance.CustomerIdentificationInformationRequest: type: object properties: customerIdentificationInformations: type: array items: $ref: '#/components/schemas/customercompliance.CustomerIdentificationInformation' onboarding.ScreeningResultsRequest: type: object properties: adverseMedia: type: array items: type: string peps: type: array items: type: string sanctions: type: array items: type: string account.UpdateCustomerRequest: type: object description: Details of customer to edit properties: externalReference: type: string description: External Reference can only have alphanumeric characters plus underscore, hyphen and space up to 50 characters long maxLength: 50 minLength: 0 pattern: '[\w \-]*' associates: type: array description: Applicable to all types except 'PCM_BUSINESS' items: $ref: '#/components/schemas/account.UpdateAssociateRequest' name: type: string description: 'AlphaNumeric characters plus [ _ '' @ , & £ $ € ¥ = # % ‘ ’ : ; \ / < > « » ! ‘ “ ” . ? - *{ } + % ( )]. Mandatory for all types except ''INDIVIDUAL and PCM_INDIVIDUAL''' maxLength: 100 minLength: 0 pattern: ^([_'@,&()£$€¥=#%\‘\’:;/<>«»\"!\‘\“\”.\?\-\s\*\{\}\[\]\+\%\\]*?[\p{L}0-9])+[_'@,&()£$€¥=#%\‘\’:;/<>«»\"!\‘\“\”.\?\-\s\*\{\}\[\]\+\%\\]* brandNames: type: array description: The customers brand name(s) items: $ref: '#/components/schemas/account.UpdateBrandNameRequest' tradingAddress: $ref: '#/components/schemas/account.AddressRequest' description: Applicable to all types except 'INDIVIDUAL' and 'PCM_INDIVIDUAL' customerTrust: $ref: '#/components/schemas/account.CustomerTrustRequest' description: Trust nature for customers of type Trust. Mandatory for type Trust, not to be set for non-trust customers. complianceData: $ref: '#/components/schemas/account.CustomerComplianceDataRequest' description: Required for customers of type PREQUALIFIED customercompliance.CustomerIdentificationInformation: type: object properties: country: type: string description: The issuing country code in ISO Alpha-2 format enum: - AT - BE - BG - CY - CZ - DK - EE - FI - FR - DE - GR - HR - HU - IS - IE - IT - LV - LI - LT - LU - MT - NL - 'NO' - PL - PT - RO - SK - SI - ES - SE - GB - MQ - YT - GP - GF - RE - MF - GI - GG - IM - JE - MC - CH - AD - SM - VA - AX - PM - BL - AL - MD - ME - MK - RS - AF - DZ - AS - AO - AI - AQ - AG - AR - AM - AW - AU - AZ - BS - BH - BD - BB - BY - BZ - BJ - BM - BT - BO - BQ - BA - BW - BV - BR - IO - VG - BN - BF - BI - KH - CM - CA - CV - KY - CF - TD - CL - CN - CX - CC - CO - KM - CK - CR - CU - CW - CD - DJ - DM - DO - TL - EC - EG - SV - GQ - ER - SZ - ET - FK - FO - FJ - PF - TF - GA - GM - GE - GH - GL - GD - GU - GT - GN - GW - GY - HT - HM - HN - HK - IN - ID - IR - IQ - IL - CI - JM - JP - JO - KZ - KE - KI - XK - KW - KG - LA - LB - LS - LR - LY - MO - MG - MW - MY - MV - ML - MH - MR - MU - MX - FM - MN - MS - MA - MZ - MM - NA - NR - NP - AN - NC - NZ - NI - NE - NG - NU - NF - KP - MP - OM - PK - PW - PS - PA - PG - PY - PE - PH - PN - PR - QA - CG - RU - RW - SH - KN - LC - VC - WS - ST - SA - SN - SC - SL - SG - SX - SB - SO - ZA - KR - GS - SS - LK - SD - SR - SY - SJ - TW - TJ - TZ - TH - TG - TK - TO - TT - TN - TR - TM - TC - TV - UG - UA - AE - UM - US - UY - UZ - VU - VE - VN - VI - WF - EH - YE - ZM - ZW type: type: string description: Identifier type enum: - INSEE value: type: string description: The identification value pattern: ^[A-Za-z0-9]{4}$ customercompliance.CreateBusinessAddressResponse: type: object properties: id: type: string description: Business address ID onboarding.CustomerTrustRequest: type: object properties: trustNature: type: string description: Trust nature for customers of type Trust. Mandatory for type Trust, not to be set for non-trust customers. enum: - BARE_TRUSTS - INTEREST_IN_POSSESSION_TRUSTS - DISCRETIONARY_TRUSTS - ACCUMULATION_TRUSTS - MIXED_TRUSTS - SETTLOR_INTERESTED_TRUSTS - NON_RESIDENT_TRUSTS - OFFSHORE_TRUSTS - FAMILY_LIVING_TRUST - PILOT_TRUST - VULNERABLE_BENEFICIARY_TRUST - CHARITABLE_TRUSTS - IRREVOCABLE_LIFE_INSURANCE_TRUST - TESTAMENTARY_TRUSTS - OTHER required: - trustNature onboarding.BrandNameResponse: type: object description: BrandName properties: id: type: string description: Unique id for the Brand Name name: type: string description: The Brand Name required: - id - name account.AssociateResponse: type: object description: Associate properties: id: type: string description: Unique id for the Associate firstName: type: string description: Associate's first name(s) middleName: type: string description: Associate's middle name lastName: type: string description: Associate's surname email: type: string description: Associate's email address phone: type: string description: Associate's phone number, in international number format applicant: type: boolean description: Indicates which Associate originally applied for the Modulr account ownership: type: integer format: int32 description: The Associate's percentage ownership of the Customer type: type: string description: 'Describes the relation between the Associate and the Customer. Can be one of ' dateOfBirth: type: string description: Associate's date of birth in format yyyy-MM-dd, or format yyyy-MM where day is unknown verificationStatus: type: string description: 'How the Associate was verified. Can be one of ' homeAddress: $ref: '#/components/schemas/account.AddressResponse' description: Home address of the Associate documentInfo: type: array description: Documents gathered during Customer Due Diligence checks on an Associate. items: $ref: '#/components/schemas/account.DocumentInfo' additionalPersonalIdentifiers: type: array description: Additional personal identifier(s) items: $ref: '#/components/schemas/account.AdditionalPersonalIdentifierResponse' complianceData: $ref: '#/components/schemas/account.AssociateComplianceDataResponse' description: Optional for associates of type C_INTEREST and an EU customer legal entity. Mandatory for associates of type PREQUALIFIED. Not to be set for other associate types and/or for UK customer legal entity. customercompliance.BusinessAddressRequest: type: object properties: type: type: string description: Business address type enum: - REGISTERED - TRADING address: $ref: '#/components/schemas/customercompliance.AddressRequest' description: Business address required: - address - type account.Replace: allOf: - $ref: '#/components/schemas/account.PatchOperation' - type: object properties: value: $ref: '#/components/schemas/account.JsonNode' description: Replace field required: - op - path - value customercompliance.BusinessAddressResponse: type: object properties: id: type: string description: Business address ID type: type: string description: Business address type enum: - REGISTERED - TRADING address: $ref: '#/components/schemas/customercompliance.AddressRequest' description: Business address account.ConsumerDataResponse: type: object properties: employment: type: string natureOfRelationship: type: string expectedTransactionalActivity: $ref: '#/components/schemas/account.ExpectedTransactionalActivityResponse' screeningResults: $ref: '#/components/schemas/account.ScreeningResultsResponse' sourceOfWealth: $ref: '#/components/schemas/account.SourceOfWealthResponse' onboarding.AdditionalPersonalIdentifierResponse: type: object description: AdditionalPersonalIdentifier properties: type: type: string description: The type of Additional Personal Identifier enum: - BSN value: type: string description: Additional Personal Identifier value required: - type - value customercompliance.Department: type: object properties: departmentCode: type: string description: 3 or 4 character code representing an individual's department code account.Remove: allOf: - $ref: '#/components/schemas/account.PatchOperation' description: Remove field required: - op - path onboarding.ApplicationSdkKeyResponse: type: object properties: token: type: string hmac: type: string expires: type: string format: date-time onboarding.PlaceOfBirth: type: object properties: country: type: string enum: - AT - BE - BG - CY - CZ - DK - EE - FI - FR - DE - GR - HR - HU - IS - IE - IT - LV - LI - LT - LU - MT - NL - 'NO' - PL - PT - RO - SK - SI - ES - SE - GB - MQ - YT - GP - GF - RE - MF - GI - GG - IM - JE - MC - CH - AD - SM - VA - AX - PM - BL - AL - MD - ME - MK - RS - AF - DZ - AS - AO - AI - AQ - AG - AR - AM - AW - AU - AZ - BS - BH - BD - BB - BY - BZ - BJ - BM - BT - BO - BQ - BA - BW - BV - BR - IO - VG - BN - BF - BI - KH - CM - CA - CV - KY - CF - TD - CL - CN - CX - CC - CO - KM - CK - CR - CU - CW - CD - DJ - DM - DO - TL - EC - EG - SV - GQ - ER - SZ - ET - FK - FO - FJ - PF - TF - GA - GM - GE - GH - GL - GD - GU - GT - GN - GW - GY - HT - HM - HN - HK - IN - ID - IR - IQ - IL - CI - JM - JP - JO - KZ - KE - KI - XK - KW - KG - LA - LB - LS - LR - LY - MO - MG - MW - MY - MV - ML - MH - MR - MU - MX - FM - MN - MS - MA - MZ - MM - NA - NR - NP - AN - NC - NZ - NI - NE - NG - NU - NF - KP - MP - OM - PK - PW - PS - PA - PG - PY - PE - PH - PN - PR - QA - CG - RU - RW - SH - KN - LC - VC - WS - ST - SA - SN - SC - SL - SG - SX - SB - SO - ZA - KR - GS - SS - LK - SD - SR - SY - SJ - TW - TJ - TZ - TH - TG - TK - TO - TT - TN - TR - TM - TC - TV - UG - UA - AE - UM - US - UY - UZ - VU - VE - VN - VI - WF - EH - YE - ZM - ZW city: type: string account.AddressRequest: type: object properties: addressLine1: type: string maxLength: 50 minLength: 0 addressLine2: type: string maxLength: 50 minLength: 0 postTown: type: string maxLength: 50 minLength: 0 postCode: type: string maxLength: 10 country: type: string description: Mandatory for international payments. countrySubDivision: type: string maxLength: 35 minLength: 0 onboarding.FinaliseApplicationResponse: type: object properties: id: type: string account.ExpectedTransactionalActivityRequest: type: object properties: sourceOfFunds: type: string monthlyVolume: type: integer format: int32 outboundPaymentJurisdictions: type: array items: type: string enum: - AT - BE - BG - CY - CZ - DK - EE - FI - FR - DE - GR - HR - HU - IS - IE - IT - LV - LI - LT - LU - MT - NL - 'NO' - PL - PT - RO - SK - SI - ES - SE - GB - MQ - YT - GP - GF - RE - MF - GI - GG - IM - JE - MC - CH - AD - SM - VA - AX - PM - BL - AL - MD - ME - MK - RS - AF - DZ - AS - AO - AI - AQ - AG - AR - AM - AW - AU - AZ - BS - BH - BD - BB - BY - BZ - BJ - BM - BT - BO - BQ - BA - BW - BV - BR - IO - VG - BN - BF - BI - KH - CM - CA - CV - KY - CF - TD - CL - CN - CX - CC - CO - KM - CK - CR - CU - CW - CD - DJ - DM - DO - TL - EC - EG - SV - GQ - ER - SZ - ET - FK - FO - FJ - PF - TF - GA - GM - GE - GH - GL - GD - GU - GT - GN - GW - GY - HT - HM - HN - HK - IN - ID - IR - IQ - IL - CI - JM - JP - JO - KZ - KE - KI - XK - KW - KG - LA - LB - LS - LR - LY - MO - MG - MW - MY - MV - ML - MH - MR - MU - MX - FM - MN - MS - MA - MZ - MM - NA - NR - NP - AN - NC - NZ - NI - NE - NG - NU - NF - KP - MP - OM - PK - PW - PS - PA - PG - PY - PE - PH - PN - PR - QA - CG - RU - RW - SH - KN - LC - VC - WS - ST - SA - SN - SC - SL - SG - SX - SB - SO - ZA - KR - GS - SS - LK - SD - SR - SY - SJ - TW - TJ - TZ - TH - TG - TK - TO - TT - TN - TR - TM - TC - TV - UG - UA - AE - UM - US - UY - UZ - VU - VE - VN - VI - WF - EH - YE - ZM - ZW account.Copy: allOf: - $ref: '#/components/schemas/account.PatchOperation' - type: object properties: from: type: string example: /path/to/originating/field description: Copy field required: - from - op - path onboarding.SourceOfWealthResponse: type: object properties: standard: type: string pep: type: string onboarding.SubmitApplicationResponse: type: object properties: id: type: string onboarding.AssociateComplianceDataRequest: type: object properties: relationship: type: string maxLength: 50 minLength: 0 required: - relationship onboarding.BusinessDataRequest: type: object properties: natureOfRelationship: type: string expectedTransactionalActivity: $ref: '#/components/schemas/onboarding.ExpectedTransactionalActivityRequest' screeningResults: $ref: '#/components/schemas/onboarding.ScreeningResultsRequest' sourceOfWealth: $ref: '#/components/schemas/onboarding.SourceOfWealthRequest' account.JsonNode: {} onboarding.Accountancy: type: object properties: directEmployeesOnly: type: boolean companyFormationServices: type: boolean amlBodySupervision: type: boolean amlPolicy: $ref: '#/components/schemas/onboarding.DocumentInfo' amlOfficer: type: string required: - amlBodySupervision - amlOfficer - companyFormationServices - directEmployeesOnly account.AddressResponse: type: object description: Address properties: addressLine1: type: string addressLine2: type: string postTown: type: string postCode: type: string country: type: string countrySubDivision: type: string customercompliance.BusinessRequest: type: object properties: type: type: string description: Business type enum: - LLC - PLC - LLP - PARTNERSHIP - SOLETRADER registeredName: type: string description: Registered business name maxLength: 100 minLength: 0 registrationNumber: type: string description: Company registration number maxLength: 40 minLength: 0 required: - registeredName - type securitySchemes: modulo_security: type: apiKey name: Authorization in: header TOKEN: type: apiKey name: Authorization in: header x-readme: proxy-enabled: false