---
title: "Update customer details"
method: PUT
path: "/customer/update"
---

# Update customer details

`PUT /customer/update`

Let's you update the details of an existing customer other than primary or secondary identifiers. If any of the identifiers you pass already exists for a different account, then the customer details will be merged automatically.

## Query parameters

- `format` 'json' | 'xml'

## Request body

- object
  - `root` object — You must provide at least one of the identifier parameters (email/id/ mobile number).
    - `customer` object — Customer details. you must provide at least one of the identifier parameters (email/id/ mobile number).
      - `email` string — Email ID of the customer
      - `mobile` string — Mobile number of the customer
      - `external_id` string — External ID of the customer
      - `firstname` string — First name of the customer
      - `lastname` string — Last name of the customer
  - `X-CAP-DIRECT-REPLAY` string — Pass true to add the customer but enable loyalty events to be executed at a later point of time. The events will be pushed to queue and will be executed in near real-time.
  - `USER-CONTEXT-ENTITY-TYPE` string — If required, add entity information of the user who is adding or updating this info.
  - `USER-CONTEXT-ENTITY-ID` string — Enter user ID
  - `USER-CONTEXT-ENTITY-SOURCE` string — Enter user source.
  - `USER-CONTEXT-ENTITY-SOURCE-ID` string — Enter user source ID.

## Response `200`

200

- object
  - `response` object
    - `status` object
      - `success` string
      - `code` integer
      - `message` string
      - `total` string
      - `success_count` string
    - `customers` object
      - `customer` object[]
        - `user_id` integer
        - `firstname` string
        - `lastname` string
        - `mobile` string
        - `email` string
        - `external_id` string
        - `lifetime_points` integer
        - `loyalty_points` integer
        - `current_slab` string
        - `tier_expiry_date` string
        - `points_summaries` object
          - `points_summary` object[]
            - `programId` string
            - `redeemed` string
            - `expired` string
            - `returned` string
            - `adjusted` string
            - `lifetimePoints` string
            - `loyaltyPoints` string
            - `cumulativePurchases` string
            - `currentSlab` string
            - `nextSlab` string
            - `nextSlabSerialNumber` string
            - `nextSlabDescription` string
            - `slabSNo` string
            - `slabExpiryDate` string
            - `totalPoints` string
        - `lifetime_purchases` integer
        - `registered_on` string
        - `updated_on` string
        - `type` string
        - `source` string
        - `fraud_status` string
        - `custom_fields` object
          - `field` unknown[]
            - unknown
        - `extended_fields` object
          - `field` object[]
            - `name` string
            - `value` string
        - `subscriptions` object
          - `subscription` object[]
            - `channel` string
            - `priority` string
            - `scope` string
            - `status` string
        - `side_effects` object
          - `effect` unknown[]
            - unknown
        - `item_status` object
          - `success` string
          - `code` string
          - `message` string
          - `warnings` object
            - `warning` string[]

## Other responses

- `400` — 400

---

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