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

# Update Customer

Updates an existing customer's properties.

## Mutation

<CodeGroup>
  ```graphql Mutation theme={null}
  mutation UpdateCustomer($input: UpdateCustomerInput!) {
    updateOneCustomer(input: $input) {
      customerId
      name
      email
      billingId
      additionalMetaData
      updatedAt
    }
  }
  ```

  ```json Variables theme={null}
  {
    "input": {
      "customerId": "customer-123",
      "name": "Acme Corporation",
      "email": "new-billing@acme.com",
      "additionalMetaData": {
        "industry": "Technology",
        "employeeCount": 150
      }
    }
  }
  ```

  ```json Response theme={null}
  {
    "data": {
      "updateOneCustomer": {
        "customerId": "customer-123",
        "name": "Acme Corporation",
        "email": "new-billing@acme.com",
        "billingId": "cus_ABC123",
        "additionalMetaData": {
          "industry": "Technology",
          "employeeCount": 150
        },
        "updatedAt": "2024-01-20T15:45:00Z"
      }
    }
  }
  ```
</CodeGroup>

## Parameters

<ParamField body="input" type="UpdateCustomerInput" required>
  Input for updating a customer

  <Expandable title="properties">
    <ParamField body="customerId" type="String" required>
      The customer's reference ID to update
    </ParamField>

    <ParamField body="name" type="String">
      New display name
    </ParamField>

    <ParamField body="email" type="String">
      New email address
    </ParamField>

    <ParamField body="billingId" type="String">
      Update billing provider ID
    </ParamField>

    <ParamField body="billingInformation" type="CustomerBillingInfo">
      Updated billing details
    </ParamField>

    <ParamField body="additionalMetaData" type="JSON">
      Updated custom metadata (replaces existing)
    </ParamField>

    <ParamField body="crmId" type="String">
      CRM integration ID
    </ParamField>

    <ParamField body="salesforceId" type="String">
      Salesforce ID
    </ParamField>

    <ParamField body="environmentId" type="UUID">
      Environment ID
    </ParamField>
  </Expandable>
</ParamField>

## Return Type

Returns the updated `Customer` object.

## Common Use Cases

<AccordionGroup>
  <Accordion title="Update billing email">
    Change the email address used for billing communications.
  </Accordion>

  <Accordion title="Link to billing provider">
    Update billingId after creating customer in Stripe.
  </Accordion>

  <Accordion title="Sync CRM data">
    Update metadata with data from your CRM.
  </Accordion>
</AccordionGroup>

## Related Operations

* [Get Customer](/api-and-sdks/api-reference/queries/get-customer) - Retrieve customer
* [Archive Customer](/api-and-sdks/api-reference/mutations/archive-customer) - Archive customer
