---
title: "Edit a specific customer using a unique customer reference"
method: PUT
path: "/customers/{customerId}"
tags: ["Customers"]
---

# Edit a specific customer using a unique customer reference

`PUT /customers/{customerId}`

Currently editable fields:
  <ol>
    <li>For all customer types: <b>externalReference</b> can be edited</li>
    <li>For all customers not requiring manual or in-house KYC verification: <b>industryCode</b>, <b>registeredAddress</b>, <b>tcsVersions</b> and <b>regNumber</b> can additionally be edited. Of those:
      <ul>
        <li>For all other customer types: <b>name</b> and <b>tradingAddress</b> can additionally be edited</li>
        <li>For all types other than PCM_BUSINESS: the <b>associate</b> can additionally be edited</li>
      </ul>
    </li>
    <li> For <b>vulnerabilityReason</b> 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</li>
  </ol>

## Path parameters

- `customerId` string, required

## Request body

- AccountUpdateCustomerRequest — Details of customer to edit
  - `externalReference` string — External Reference can only have alphanumeric characters plus underscore, hyphen and space up to 50 characters long
  - `associates` AccountUpdateAssociateRequest[] — Applicable to all types except 'PCM_BUSINESS'
    - `type` string, required — Type of associate
    - `firstName` string, required — Letters, hyphens and apostrophes
    - `middleName` string — Letters, hyphens and apostrophes
    - `lastName` string, required — Letters, hyphens and apostrophes
    - `dateOfBirth` string — 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` integer — Ownership percentage for Partners
    - `homeAddress` AccountAddressRequest
      - `addressLine1` string
      - `addressLine2` string
      - `postTown` string
      - `postCode` string
      - `country` string — Mandatory for international payments.
      - `countrySubDivision` string
    - `id` string — ID of associate
    - `email` string — Contact email address for applicants
    - `phone` string — Contact phone number for applicants, will be formatted into international number pattern
  - `name` string — AlphaNumeric characters plus [ _ ' @ , & £ $ € ¥ = # % ‘ ’ : ; \ / < > « » ! ‘ “ ” . ? - *{ } + % ( )]. Mandatory for all types except 'INDIVIDUAL and PCM_INDIVIDUAL'
  - `brandNames` AccountUpdateBrandNameRequest[] — The customers brand name(s)
    - `id` string — Unique id for the Brand Name
    - `name` string — The Brand Name
  - `tradingAddress` AccountAddressRequest
    - `addressLine1` string
    - `addressLine2` string
    - `postTown` string
    - `postCode` string
    - `country` string — Mandatory for international payments.
    - `countrySubDivision` string
  - `customerTrust` AccountCustomerTrustRequest
    - `trustNature` '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 — Trust nature for customers of type Trust. Mandatory for type Trust, not to be set for non-trust customers.
  - `complianceData` AccountCustomerComplianceDataRequest
    - `typeDescription` string — Required for customers of type PREQUALIFIED. Not allowed for all other customer types.
    - `riskLevel` 'LOW' | 'MEDIUM' | 'HIGH' | 'UNDETERMINED' — Risk level of the customer
    - `vulnerabilityReasons` string[] — Vulnerability Reasons of the customer
    - `business` AccountBusinessDataRequest
      - `natureOfRelationship` string
      - `expectedTransactionalActivity` AccountExpectedTransactionalActivityRequest
        - `sourceOfFunds` string
        - `monthlyVolume` integer
        - `outboundPaymentJurisdictions` string[]
      - `screeningResults` AccountScreeningResultsRequest
        - `adverseMedia` string[]
        - `peps` string[]
        - `sanctions` string[]
      - `sourceOfWealth` AccountSourceOfWealthRequest
        - `standard` string
        - `pep` string
    - `consumer` AccountConsumerDataRequest
      - `employment` string
      - `natureOfRelationship` string
      - `expectedTransactionalActivity` AccountExpectedTransactionalActivityRequest
        - `sourceOfFunds` string
        - `monthlyVolume` integer
        - `outboundPaymentJurisdictions` string[]
      - `screeningResults` AccountScreeningResultsRequest
        - `adverseMedia` string[]
        - `peps` string[]
        - `sanctions` string[]
      - `sourceOfWealth` AccountSourceOfWealthRequest
        - `standard` string
        - `pep` string

## Response `200`

OK

- AccountCustomer — A Customer is a single legal entity that can have 1 or more accounts
  - `id` string — Unique identifier for a Customer. Begins with 'C'
  - `name` string — Customer's company name - must be unique across the Modulr platform.
  - `brandNames` AccountBrandNameResponse[] — The customers brand name(s)
    - `id` string — Unique id for the Brand Name
    - `name` string — The Brand Name
  - `type` string — 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` 'ACTIVE' | 'CLOSED' | 'BLOCKED' — Status of the Customer. Customers must be 'Active' for Accounts to be created for them.
  - `verificationStatus` string — 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` string — The company registration / incorporation number of the company. Only applicable for companies registered with Companies House
  - `expectedMonthlySpend` integer — Indication of the monthly spend of the customer.
  - `registeredAddress` AccountAddressResponse — Address
    - `addressLine1` string
    - `addressLine2` string
    - `postTown` string
    - `postCode` string
    - `country` string
    - `countrySubDivision` string
  - `tradingAddress` AccountAddressResponse — Address
    - `addressLine1` string
    - `addressLine2` string
    - `postTown` string
    - `postCode` string
    - `country` string
    - `countrySubDivision` string
  - `partnerId` string — The owning partner identifier
  - `associates` AccountAssociateResponse[] — 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.
    - `id` string — Unique id for the Associate
    - `firstName` string — Associate's first name(s)
    - `middleName` string — Associate's middle name
    - `lastName` string — Associate's surname
    - `email` string — Associate's email address
    - `phone` string — Associate's phone number, in international number format
    - `applicant` boolean — Indicates which Associate originally applied for the Modulr account
    - `ownership` integer — The Associate's percentage ownership of the Customer
    - `type` string — Describes the relation between the Associate and the Customer. Can be one of
    - `dateOfBirth` string — Associate's date of birth in format yyyy-MM-dd, or format yyyy-MM where day is unknown
    - `verificationStatus` string — How the Associate was verified. Can be one of
    - `homeAddress` AccountAddressResponse — Address
      - `addressLine1` string
      - `addressLine2` string
      - `postTown` string
      - `postCode` string
      - `country` string
      - `countrySubDivision` string
    - `documentInfo` AccountDocumentInfo[] — Documents gathered during Customer Due Diligence checks on an Associate.
      - `path` string, required
      - `fileName` string, required
      - `uploadedDate` string, required — Valid date. Format is 'yyyy-MM-dd'T'HH:mm:ssZ' where Z is UTC offset. e.g 2017-01-28T01:01:01+0000
    - `additionalPersonalIdentifiers` AccountAdditionalPersonalIdentifierResponse[] — Additional personal identifier(s)
      - `type` 'BSN' — The type of Additional Personal Identifier
      - `value` string — Additional Personal Identifier value
    - `complianceData` AccountAssociateComplianceDataResponse
      - `relationship` string
  - `industryCode` string
  - `tcsVersion` integer — Version of the Modulr Account Terms and Conditions the Customer has agreed to.
  - `documentInfo` AccountDocumentInfo[] — 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.
    - `path` string, required
    - `fileName` string, required
    - `uploadedDate` string, required — Valid date. Format is 'yyyy-MM-dd'T'HH:mm:ssZ' where Z is UTC offset. e.g 2017-01-28T01:01:01+0000
  - `externalReference` string
  - `createdDate` string, date-time — 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
  - `delegate` AccountDelegateResponse — Delegate
    - `id` string — Unique reference for the Delegate.
    - `name` string — Name for the Delegate
    - `address` AccountAddressResponse — Address
      - `addressLine1` string
      - `addressLine2` string
      - `postTown` string
      - `postCode` string
      - `country` string
      - `countrySubDivision` string
    - `roleId` string — The id of the Role assigned to the delegate
    - `externalReference` string — External system reference for the Delegate
    - `partner` string — Partner Bid.
    - `status` string — Status of the Delegate.
    - `created` string, date-time — 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
    - `updated` string, date-time — 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
  - `legalEntity` 'GB' | 'NL' | 'IE' — Legal entity of the customer
  - `customerTrust` AccountCustomerTrustResponse
    - `trustNature` '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'
  - `taxProfile` AccountCustomerTaxProfileResponse
    - `taxIdentifier` string — Tax identifier for customers of type SOLETRADER. Optional for type SOLETRADER, not to be set for non-SOLETRADER customers.
  - `complianceData` AccountCustomerComplianceDataResponse
    - `typeDescription` string
    - `riskLevel` 'LOW' | 'MEDIUM' | 'HIGH' | 'UNDETERMINED'
    - `vulnerabilityReasons` string[]
    - `business` AccountBusinessDataResponse
      - `natureOfRelationship` string
      - `expectedTransactionalActivity` AccountExpectedTransactionalActivityResponse
        - `sourceOfFunds` string
        - `monthlyVolume` integer
        - `outboundPaymentJurisdictions` string[]
      - `screeningResults` AccountScreeningResultsResponse
        - `adverseMedia` string[]
        - `peps` string[]
        - `sanctions` string[]
      - `sourceOfWealth` AccountSourceOfWealthResponse
        - `standard` string
        - `pep` string
    - `consumer` AccountConsumerDataResponse
      - `employment` string
      - `natureOfRelationship` string
      - `expectedTransactionalActivity` AccountExpectedTransactionalActivityResponse
        - `sourceOfFunds` string
        - `monthlyVolume` integer
        - `outboundPaymentJurisdictions` string[]
      - `screeningResults` AccountScreeningResultsResponse
        - `adverseMedia` string[]
        - `peps` string[]
        - `sanctions` string[]
      - `sourceOfWealth` AccountSourceOfWealthResponse
        - `standard` string
        - `pep` string
  - `complianceSector` string
  - `generateStatements` boolean — True if the customer is configured to generate statements

## Other responses

- `400` — Bad Request

---

[API](https://skmtc.net/modulrfinance/apis/modulr-api.md) · [All operations](https://skmtc.net/modulrfinance/apis/modulr-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/modulrfinance/modulr-api/versions/cbd52524c8ef/schema)
