# Update a consumer

Update the details of the logged-in consumer identity.

If the Consumer root user has already completed KYC, the following details cannot be updated:
  - name
  - surname
  - email
  - mobile Country Code
  - mobile Number
  - date of Birth
  - address

Endpoint: PATCH /consumers
Version: v3
Security: auth_token, api-key

## Request fields (application/json):

  - `tag` (string)
    The tag field is a custom field that can be used to search and filter.

  - `name` (string)
    The first name of the Consumer root user.

  - `surname` (string)
    The last name of the Consumer root user.

  - `email` (string)
    E-mail Address of the user

  - `mobile` (object)

  - `mobile.countryCode` (string, required)
    The country code of the user mobile number (e.g. +44).

  - `mobile.number` (string, required)
    The mobile number of the user - excluding country code.

  - `dateOfBirth` (object)

  - `dateOfBirth.year` (integer, required)

  - `dateOfBirth.month` (integer, required)

  - `dateOfBirth.day` (integer, required)

  - `address` (object)
    The address, with none of the separate fields being set as required.

  - `address.addressLine1` (string)
    The first line of the address.

  - `address.addressLine2` (string)
    The second line of the address.

  - `address.city` (string)
    The city of the address.

  - `address.postCode` (string)
    The post code associated with the address.

  - `address.state` (string)
    The state of the address.

  - `address.country` (string, required)
    The country of the address expressed in ISO 3166 alpha-2 format.

  - `feeGroup` (string)
    The fee group which the consumer will be bound to. Do not specify this if you are not using fee groups.

  - `baseCurrency` (string)
    The currency expressed in ISO-4217 code. Example: GBP, EUR, USD.

  - `occupation` (string)
    The industry of the identity.
    Enum: "ACCOUNTING", "AUDIT", "FINANCE", "PUBLIC_SECTOR_ADMINISTRATION", "ART_ENTERTAINMENT", "AUTO_AVIATION", "BANKING_LENDING", "BUSINESS_CONSULTANCY_LEGAL", "CONSTRUCTION_REPAIR", "EDUCATION_PROFESSIONAL_SERVICES", "INFORMATIONAL_TECHNOLOGIES", "TOBACCO_ALCOHOL", "GAMING_GAMBLING", "MEDICAL_SERVICES", "MANUFACTURING", "PR_MARKETING", "PRECIOUS_GOODS_JEWELRY", "NON_GOVERNMENTAL_ORGANIZATION", "INSURANCE_SECURITY", "RETAIL_WHOLESALE", "TRAVEL_TOURISM", "FREELANCER", "STUDENT", "UNEMPLOYED", "RETIRED", "OTHER"

  - `sourceOfFunds` (string)
    The consumer's source of funds.
    Enum: "PERSONAL_SAVINGS", "FAMILY_SAVINGS", "LABOUR_CONTRACT", "CIVIL_CONTRACT", "RENT", "FUNDS_FROM_OTHER_AUXILIARY_SOURCES", "SALE_OF_MOVABLE_ASSETS", "SALE_OF_REAL_ESTATE", "ORDINARY_BUSINESS_ACTIVITY", "DIVIDENDS", "LOAN_FROM_FINANCIAL_INSTITUTIONS_CREDIT_UNIONS", "LOAN_FROM_THIRD_PARTIES", "INHERITANCE", "SALE_OF_COMPANY_SHARES_BUSINESS", "OTHER"

  - `sourceOfFundsOther` (string)
    Description of source of funds in case `OTHER` was chosen.

  - `placeOfBirth` (string)
    The place of birth of the consumer root user.

  - `nationality` (string)
    Nationality of the user - using ISO 3166 alpha-2.

  - `resetMobileCounter` (boolean)

  - `locale` (string)
    BCP47 locale code (e.g. en, en-US). The locale determines which email and SMS user notification templates are used.
    Example: en-GB

  - `brand` (string)
    Brand identifier used to determine the set of email and SMS user notification templates. Must be alphanumeric, up to 25 characters, and contain no spaces.

## Response 200 fields (application/json):

  - `id` (object, required)

  - `id.type` (string, required)
    Indicates the identity type.
    Enum: "CONSUMER", "CORPORATE"

  - `id.id` (string, required)
    The identifier for the identity.

  - `profileId` (string, required)
    The profile Id which a specific identity, instrument or transaction type is linked to.

Profiles contain configuration and determine behavioral aspects of the newly created transaction, for example, fees that may apply.

You can have one or more profiles linked to your application, and these can be used to drive different behaviors according to your product's needs.

Profile Ids can be found in the Multi Portal, in the API Credentials page.

  - `tag` (string)
    The tag field is a custom field that can be used to search and filter.

  - `rootUser` (object, required)

  - `rootUser.name` (string, required)
    First name of the root user.

  - `rootUser.surname` (string, required)
    Last name of the root user.

  - `rootUser.email` (string, required)
    E-mail Address of the user

  - `rootUser.mobile` (object, required)

  - `rootUser.mobile.countryCode` (string, required)
    The country code of the user mobile number (e.g. +44).

  - `rootUser.mobile.number` (string, required)
    The mobile number of the user - excluding country code.

  - `rootUser.occupation` (string)
    The industry of the identity.
    Enum: "ACCOUNTING", "AUDIT", "FINANCE", "PUBLIC_SECTOR_ADMINISTRATION", "ART_ENTERTAINMENT", "AUTO_AVIATION", "BANKING_LENDING", "BUSINESS_CONSULTANCY_LEGAL", "CONSTRUCTION_REPAIR", "EDUCATION_PROFESSIONAL_SERVICES", "INFORMATIONAL_TECHNOLOGIES", "TOBACCO_ALCOHOL", "GAMING_GAMBLING", "MEDICAL_SERVICES", "MANUFACTURING", "PR_MARKETING", "PRECIOUS_GOODS_JEWELRY", "NON_GOVERNMENTAL_ORGANIZATION", "INSURANCE_SECURITY", "RETAIL_WHOLESALE", "TRAVEL_TOURISM", "FREELANCER", "STUDENT", "UNEMPLOYED", "RETIRED", "OTHER"

  - `rootUser.active` (boolean, required)
    The state of the root user. If false, then the user will not be able to log in.

  - `rootUser.emailVerified` (boolean, required)
    Indicates if the root user's email has been verified.

  - `rootUser.mobileNumberVerified` (boolean, required)
    Indicates if the root user's mobile number has been verified.

  - `rootUser.dateOfBirth` (object)

  - `rootUser.dateOfBirth.year` (integer, required)

  - `rootUser.dateOfBirth.month` (integer, required)

  - `rootUser.dateOfBirth.day` (integer, required)

  - `rootUser.address` (object)
    The address, with none of the separate fields being set as required.

  - `rootUser.address.addressLine1` (string)
    The first line of the address.

  - `rootUser.address.addressLine2` (string)
    The second line of the address.

  - `rootUser.address.city` (string)
    The city of the address.

  - `rootUser.address.postCode` (string)
    The post code associated with the address.

  - `rootUser.address.state` (string)
    The state of the address.

  - `rootUser.address.country` (string)
    The country of the address expressed in ISO 3166 alpha-2 format.

  - `rootUser.nationality` (string)
    Nationality of the user - using ISO 3166 alpha-2.

  - `rootUser.placeOfBirth` (string)
    The place of birth of the consumer root user.

  - `rootUser.locale` (string)
    BCP47 locale code (e.g. en, en-US). The locale determines which email and SMS user notification templates are used.
    Example: en-GB

  - `rootUser.brand` (string)
    Brand identifier used to determine the set of email and SMS user notification templates. Must be alphanumeric, up to 25 characters, and contain no spaces.

  - `creationTimestamp` (integer, required)
    The time when this consumer was created, expressed in Epoch timestamp using millisecond precision.

  - `ipAddress` (string, required)
    The IP address of the consumer user doing the registration.

  - `acceptedTerms` (boolean)
    Must be set to *true* to indicate that the consumer root user has accepted the terms and conditions.

  - `baseCurrency` (string)
    The currency expressed in ISO-4217 code. Example: GBP, EUR, USD.

  - `feeGroup` (string)
    The fee group which the consumer is bound to.

  - `sourceOfFunds` (string)
    The consumer's source of funds.
    Enum: "PERSONAL_SAVINGS", "FAMILY_SAVINGS", "LABOUR_CONTRACT", "CIVIL_CONTRACT", "RENT", "FUNDS_FROM_OTHER_AUXILIARY_SOURCES", "SALE_OF_MOVABLE_ASSETS", "SALE_OF_REAL_ESTATE", "ORDINARY_BUSINESS_ACTIVITY", "DIVIDENDS", "LOAN_FROM_FINANCIAL_INSTITUTIONS_CREDIT_UNIONS", "LOAN_FROM_THIRD_PARTIES", "INHERITANCE", "SALE_OF_COMPANY_SHARES_BUSINESS", "OTHER"

  - `sourceOfFundsOther` (string)
    Description of source of funds in case `OTHER` was chosen.

## Response 400 fields (application/json):

  - `message` (string)
    When present helps to identify and fix the problem.

  - `syntaxErrors` (object)
    Is returned as part of an HTTP error response whenever a syntax error is detected. A list of the fields together with their syntax error will be provided.

  - `syntaxErrors.invalidFields` (array)

  - `syntaxErrors.invalidFields.params` (array)

  - `syntaxErrors.invalidFields.fieldName` (string)

  - `syntaxErrors.invalidFields.error` (string)
    Enum: "REQUIRED", "HAS_TEXT", "REQUIRES", "SIZE", "RANGE", "IN", "NOT_IN", "REGEX", "EXACTLY", "AT_LEAST", "AT_MOST", "ALL_OR_NONE"

## Response 403 fields (application/json):

  - `errorCode` (string)
    Enum: "INSUFFICIENT_PERMISSIONS"

## Response 409 fields (application/json):

  - `errorCode` (string)
    Enum: "FEE_GROUP_INVALID", "COUNTRY_INVALID", "CONSUMER_VERIFIED", "EMAIL_NOT_UNIQUE", "MOBILE_OR_COUNTRY_CODE_INVALID", "COUNTRY_UNSUPPORTED", "MOBILE_NO_CHANGE_LIMIT_EXCEEDED", "TOO_FREQUENT_EMAIL_CHANGES", "EMAIL_DOMAIN_NOT_ALLOWED", "MOBILE_CHANGE_NOT_ALLOWED", "TERMINATION_DATE_IN_PAST"

## Response default fields (application/json):

  - `code` (string)

  - `message` (string)

