> ## Documentation Index
> Fetch the complete documentation index at: https://developer.fabric.inc/llms.txt
> Use this file to discover all available pages before exploring further.

# Update customer

> Updates the customer information in the cart.

The Cart ID from the [Create cart](/v3/cart-and-checkout/api-reference/carts-v3/carts/carts) endpoint is used in the path parameter.




## OpenAPI

````yaml modular-cart patch /carts/{cartId}/customer
openapi: 3.0.1
info:
  title: Cart API
  description: >-
    fabric's **Cart API** lets you add, update, and remove items from your
    Storefront cart, either as a guest user or as a logged-in user. It also
    provides functionality to merge carts when you switch from guest user to
    logged-in user, and apply coupons and other attributes (for example, gift
    wrapping) to the line items. Additionally, the API supports more advanced
    tasks such as using multiple carts within a B2B organization, sharing carts,
    and supporting a unified cart experience for multi-region and multi-brand
    businesses.<p>The Cart API provides high performance, scalability,
    multi-tenancy, and configurability to the end-to-end order processing
    actions that start from the item being added to the cart; through the
    pre-checkout stage that includes billing, shipping, and payment details; to
    the checkout stage where the order is processed and confirmed by fabric's
    Order Management System (OMS)
  contact:
    name: Cart Support
    email: support.cnc@fabric.inc
  license:
    name: fabric API License
    url: https://fabric.inc/api-license
  version: 3.0.0
servers:
  - url: https://api.fabric.inc/v3
security:
  - bearerAuth: []
tags:
  - name: Cart
    description: >-
      Cart endpoints are used to do basic cart operations, such as create a
      cart, add item to the corresponding cart, update items, remove items,
      delete cart, update status of the cart, and more.
  - name: Items
    description: Item endpoints are used to add, update and remove items from the Cart.
  - name: Cart Fees
    description: >-
      Cart fee endpoints are used to add, update and remove fees at the Cart
      level.
  - name: Fulfillment Fees
    description: >-
      Fulfillment fees endpoints are used to add, update and remove fees at the
      Fulfillment level.
  - name: Addresses
    description: >-
      Address endpoints are used to add add, update and remove addresses from
      the Cart.
  - name: Item Fees
    description: >-
      Item fee endpoints are used to add, update and remove fees at the Item
      level.
  - name: Cart Adjustments
    description: >-
      Cart adjustment endpoints are used to add, update and remove adjustments
      at the Cart level.
  - name: Payments
    description: >-
      Payments endpoints are used to add add, update and remove payments from
      the Cart.
  - name: Customer
    description: >-
      Customer endpoints are used do basic customer operations, such as update a
      customer, add attributes and more.
  - name: Coupons
    description: Coupon endpoints are used to add and remove coupons from the Cart
  - name: Item Adjustments
    description: >-
      Item adjustments endpoints are used to add, update and remove adjustments
      at the Item level.
  - name: Fulfillment Adjustments
    description: >-
      Fulfillment adjustments endpoints are used to add, update and remove
      adjustments at the Fulfillment level.
  - name: Fulfillments
    description: >-
      Fulfillment endpoints are used to add add, update and remove fulfillments
      from the Cart.
  - name: Validations
    description: >-
      Validation endpoints are used to pass in data from fabric and third-party
      services to perform business logic on the Cart
paths:
  /carts/{cartId}/customer:
    patch:
      tags:
        - Customer
      summary: Update customer
      description: >
        Updates the customer information in the cart.


        The Cart ID from the [Create
        cart](/v3/cart-and-checkout/api-reference/carts-v3/carts/carts) endpoint
        is used in the path parameter.
      operationId: updateCustomer
      parameters:
        - name: cartId
          in: path
          required: true
          schema:
            type: string
            description: >-
              The 24-character system-generated Cart ID. This ID is generated
              using the [Create
              cart](/v3/cart-and-checkout/api-reference/carts-v3/carts/carts)
              endpoint.
        - name: x-fabric-tenant-id
          in: header
          description: >
            A header used by fabric to identify the tenant making the request.
            You must include tenant id in the authentication header for an API
            request to access any of fabric’s endpoints. You can retrieve the
            tenant id , which is also called account id, from
            [Copilot](/v3/platform/settings/account-details/getting-the-account-id).
            This header is required. 
          required: true
          schema:
            type: string
            example: 617329dfd5288b0011332311
        - name: x-fabric-request-id
          in: header
          description: ' Unique request ID for tracking.'
          required: false
          schema:
            type: string
            example: 263e731c-45c8-11ed-b878-0242ac120002
        - name: x-fabric-channel-id
          in: header
          description: >-
            x-fabric-channel-id identifies the sales channel through which the
            API request is being made; primarily for multichannel use cases. It
            is a required field. The default US channel is 12 while the default
            Canada channel is 11.
          required: false
          schema:
            type: string
            example: '12'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CustomerContextRequest'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CustomerContextResponse'
        '400':
          description: Client error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ClientError'
        '404':
          description: Cart not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotFound'
components:
  schemas:
    CustomerContextRequest:
      type: object
      properties:
        id:
          type: string
          description: >-
            This is where you can include non-system-generated Customer ID.
            Since there is no validation for duplicate Customer IDs, ensure each
            ID is unique to each customer.
          example: '109840938'
        attributes:
          type: object
          additionalProperties:
            type: object
            description: Customer attributes such as email.
            example:
              email: test@gmail.com
          description: Customer attributes such as email.
          example:
            email: test@gmail.com
        segments:
          type: array
          description: An array containing customer segments.
          items:
            $ref: '#/components/schemas/SegmentRequest'
        sessionId:
          type: string
          description: Session ID
          example: 3a5fd2d3-5c96-4e57-b069-7ff2a88c1119
      description: Customer Context Request
    CustomerContextResponse:
      type: object
      properties:
        id:
          type: string
          description: >-
            The Customer ID that was added to the customer attribute when using
            this endpoint.
          example: '109840938'
        attributes:
          type: object
          additionalProperties:
            type: object
            description: Customer attributes such as email.
            example:
              email: test@gmail.com
          description: Customer attributes such as email.
          example:
            email: test@gmail.com
        segments:
          type: array
          description: An array containing customer segments.
          items:
            $ref: '#/components/schemas/SegmentRequest'
        sessionId:
          type: string
          description: Session ID
          example: 3a5fd2d3-5c96-4e57-b069-7ff2a88c1119
    ClientError:
      type: object
      properties:
        type:
          type: string
          description: Error code, meant for machine consumption
          example: BAD_REQUEST
        message:
          type: string
          description: Human-readable error description
          example: x-fabric-tenant-id is required
      description: Client error details
    NotFound:
      type: object
      properties:
        type:
          type: string
          description: Error code, meant for machine consumption
          example: CART_NOT_FOUND
        message:
          type: string
          description: Human-readable error description
          example: Cart not found
      description: Resource Not Found
    SegmentRequest:
      required:
        - name
        - value
      type: object
      properties:
        name:
          type: string
          description: >-
            Segment name such as a membmership the customer has with the
            merchant.
          example: membership
        value:
          type: array
          description: Segment values such as membership type.
          example:
            - gold
            - silver
          items:
            type: string
            description: Segment values
            example: '["gold","silver"]'
      description: Segment Request
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT
      description: >
        This is the authorization token used to authenticate the request. You
        must pass the access token generated from the system app. For more
        information, see the [Making your first API
        request](/v3/api-reference/getting-started/getting-started-with-fabric-apis#procedure)
        section.

````