---
title: "Updates Customer"
url: "https://developer.retailexpress.com.au/apis/retail-express-api-21-v2/versions/210b509a-613e-44ac-a87b-ef6c22c23a2c/operations/put-customers-id"
---

> Full API specification: https://developer.retailexpress.com.au/apis/retail-express-api-21-v2/versions/210b509a-613e-44ac-a87b-ef6c22c23a2c.md

# Updates Customer

`PUT` `/customers/{id}`

Operation ID: `put-customers-id`

Sample request: PUT /customers { "first_name": "FirstNameUser", "last_name": "LastNameUser", "company": "company", "abn": "abn", "phone": "+321", "fax": "fax", "mobile": "+123", "email": "email@lel.org", "website": "website.org", "custom_reference": "customReference", "customer_type": { "name": "type1", "id": 5 }, "home_outlet": { "id": 1, "name": "name" }, "date_of_birth": "1999-04-30", "date_of_birth_withheld": false, "marketing":{ "receive_email": true, "receive_post": true, "receive_sms": true }, "price_groups": [ { "id": 1, "name": "name1", "type": "Standard" }, { "id": 5, "name": "name2", "type": "Fixed" }], "billing_address": { "address_line1": "address_line1", "address_line2": "address_line2", "suburb": "suburb", "state": "state", "postcode": "postcode", "country": "country" }, "loyalty_program": { "enabled": false, "auto_price_group": false }, "account_customer": { "enabled": false, "payment_terms": 0, "credit_limit": 0, "credit_blocked": false, "credit_remaining": 10 }, "survey_responses": [{ "id": 1, "question": "question1", "answer": "answer" }], "sales_channels": [{ "id": 1 }, { "id": 2 }] }

## Path parameters

- `id` (integer, int32, required) - Customer id

## Header parameters

- `x-api-key` (string, required) - Api subscription key
- `Cache-Control` (string, optional)
- `Authorization` (string, required) - Bearer token for authorization (e.g., Bearer <token>)

## Request body

Content types: `application/json`

## Responses

- `200` - Returns updated Customer
- `400` - Bad request
- `401` - Unauthorized
- `403` - Forbidden
- `404` - Not found

## OpenAPI definition

```yaml
openapi: 3.0.1
info:
  title: Retail Express API
  version: v2.1
servers:
  - url: https://api.retailexpress.com.au/v2.1
paths:
  /customers/{id}:
    put:
      tags:
        - customers
      summary: Updates Customer
      description: "Sample request:\r

        \r

        \     PUT /customers\r

        \        {\r

        \             \"first_name\": \"FirstNameUser\",\r

        \             \"last_name\": \"LastNameUser\",\r

        \             \"company\": \"company\",\r

        \             \"abn\": \"abn\",\r

        \             \"phone\": \"+321\",\r

        \             \"fax\": \"fax\",\r

        \             \"mobile\": \"+123\",\r

        \             \"email\": \"email@lel.org\",\r

        \             \"website\": \"website.org\",\r

        \             \"custom_reference\": \"customReference\",\r

        \             \"customer_type\": {\r

        \t                \"name\": \"type1\",\r

        \t                \"id\": 5\r

        \             },\r

        \             \"home_outlet\": {\r

        \t                \"id\": 1,\r

        \t                \"name\": \"name\"\r

        \             },\r

        \             \"date_of_birth\": \"1999-04-30\",\r

        \             \"date_of_birth_withheld\": false,\r

        \             \"marketing\":{\r

        \t                \"receive_email\": true,\r

        \t                \"receive_post\": true,\r

        \t                \"receive_sms\": true\r

        \             }, \r

        \             \"price_groups\": [\r

        \               {\r

        \t                \"id\": 1,\r

        \t                \"name\": \"name1\",\r

        \t                \"type\": \"Standard\"\r

        \               },\r

        \               {\r

        \t                \"id\": 5,\r

        \t                \"name\": \"name2\",\r

        \t                \"type\": \"Fixed\"\r

        \              }],\r

        \             \"billing_address\": {\r

        \                 \"address_line1\": \"address_line1\",\r

        \                 \"address_line2\": \"address_line2\",\r

        \                 \"suburb\": \"suburb\",\r

        \                 \"state\": \"state\",\r

        \                 \"postcode\": \"postcode\",\r

        \                 \"country\": \"country\"\r

        \             },\r

        \             \"loyalty_program\": {\r

        \                 \"enabled\": false,\r

        \                 \"auto_price_group\": false\r

        \             },\r

        \             \"account_customer\": {\r

        \                 \"enabled\": false,\r

        \                 \"payment_terms\": 0,\r

        \                 \"credit_limit\": 0,\r

        \                 \"credit_blocked\": false,\r

        \                 \"credit_remaining\": 10\r

        \             },\r

        \             \"survey_responses\": [{\r

        \                 \"id\": 1,\r

        \                 \"question\": \"question1\",\r

        \                 \"answer\": \"answer\"\r

        \             }],\r

        \             \"sales_channels\": [{\r

        \                 \"id\": 1\r

        \             },\r

        \             {\r

        \                 \"id\": 2\r

        \             }]\r

        \        }"
      operationId: put-customers-id
      parameters:
        - name: id
          in: path
          description: Customer id
          required: true
          schema:
            type: integer
            description: Customer id
            format: int32
            example: 10000
        - name: x-api-key
          in: header
          description: Api subscription key
          required: true
          schema:
            type: string
        - name: Cache-Control
          in: header
          required: false
          schema:
            type: string
            default: no-cache
        - name: Authorization
          in: header
          required: true
          description: Bearer token for authorization (e.g., Bearer <token>)
          schema:
            type: string
      requestBody:
        description: Customer model
        content:
          application/json:
            schema:
              title: EmptyExample
              type: object
              additionalProperties: false
      responses:
        "200":
          description: Returns updated Customer
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Customer"
              example:
                account_customer:
                  credit_blocked: true
                  credit_limit: 0
                  credit_remaining: 0
                  enabled: true
                  payment_terms: 0
                acn: string
                billing_address:
                  country: string
                  country_code: string
                  state: string
                  suburb: string
                  address_line1: string
                  address_line2: string
                  postcode: string
                  first_name: string
                  last_name: string
                company: string
                customer_number: string
                customer_type:
                  id: 0
                  name: string
                date_of_birth: string
                date_of_birth_withheld: true
                delivery_addresses:
                  - country: string
                    country_code: string
                    state: string
                    suburb: string
                    address_line1: string
                    address_line2: string
                    postcode: string
                    company: string
                    mobile: string
                    phone: string
                    first_name: string
                    last_name: string
                    id: 0
                    default: true
                    modified_on: string
                email: string
                fax: string
                first_name: string
                id: 0
                last_name: string
                loyalty_program:
                  enabled: true
                  points_available: 0
                  points_redeemed: 0
                  points_to_date: 0
                  auto_price_group: true
                  points_available_value: 0
                marketing:
                  receive_email: true
                  receive_post: true
                  receive_sms: true
                mobile: string
                phone: string
                price_groups:
                  - id: 0
                    name: string
                    type: string
                survey_responses:
                  - id: 0
                    question: string
                    answer: string
                website: string
                home_outlet:
                  id: 0
                  name: string
                  modified_on: string
                custom_reference: string
                export_to_web: true
                total_payments: 0
                total_transactions: 0
                sales_channels:
                  - id: 0
                    name: string
                    shopify_channel: true
                    enabled: true
                created_on: string
                modified_on: string
        "400":
          description: Bad request
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
              example:
                type: string
                title: string
                status: 0
                detail: string
                instance: string
        "401":
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
              example:
                type: string
                title: string
                status: 0
                detail: string
                instance: string
        "403":
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
              example:
                type: string
                title: string
                status: 0
                detail: string
                instance: string
        "404":
          description: Not found
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
              example:
                type: string
                title: string
                status: 0
                detail: string
                instance: string
security: []
components:
  schemas:
    Customer:
      title: ""
      type: object
      properties:
        account_customer:
          $ref: "#/components/schemas/AccountCustomer"
        acn:
          type: string
          description: Acn
          nullable: true
        billing_address:
          $ref: "#/components/schemas/CustomerBillingAddress"
        company:
          type: string
          description: Company
          nullable: true
        customer_number:
          type: string
          description: Customer number
          nullable: true
        customer_type:
          $ref: "#/components/schemas/CustomerType"
        date_of_birth:
          type: string
          description: Date of birth
          nullable: true
        date_of_birth_withheld:
          type: boolean
          description: Date of birth with held
        delivery_addresses:
          type: array
          items:
            $ref: "#/components/schemas/DeliveryAddress"
          description: Delivery address
          nullable: true
        email:
          type: string
          description: Email
          nullable: true
        fax:
          type: string
          description: Fax
          nullable: true
        first_name:
          type: string
          description: First name
          nullable: true
        id:
          type: integer
          description: Identifier
          format: int32
        last_name:
          type: string
          description: Last name
          nullable: true
        loyalty_program:
          $ref: "#/components/schemas/LoyaltyProgram"
        marketing:
          $ref: "#/components/schemas/Marketing"
        mobile:
          type: string
          description: Mobile
          nullable: true
        phone:
          type: string
          description: Phone
          nullable: true
        price_groups:
          type: array
          items:
            $ref: "#/components/schemas/PriceGroup"
          description: Price group
          nullable: true
        survey_responses:
          type: array
          items:
            $ref: "#/components/schemas/SurveyResponse"
          description: Survey responses
          nullable: true
        website:
          type: string
          description: Website
          nullable: true
        home_outlet:
          $ref: "#/components/schemas/OutletExtended"
        custom_reference:
          type: string
          description: Custom reference
          nullable: true
        export_to_web:
          type: boolean
          description: Export to web
        total_payments:
          type: number
          description: Total Payments
          format: double
          nullable: true
        total_transactions:
          type: integer
          description: Total Transactions
          format: int32
          nullable: true
        sales_channels:
          type: array
          items:
            $ref: "#/components/schemas/CustomerSalesChannel"
          description: Sales Channels
          nullable: true
        created_on:
          type: string
          description: Created on
          format: date-time
        modified_on:
          type: string
          description: Modified on
          format: date-time
      additionalProperties: false
      description: Customer model
    ProblemDetails:
      title: ""
      type: object
      properties:
        type:
          type: string
          nullable: true
        title:
          type: string
          nullable: true
        status:
          type: integer
          format: int32
          nullable: true
        detail:
          type: string
          nullable: true
        instance:
          type: string
          nullable: true
      additionalProperties: {}
    AccountCustomer:
      title: ""
      type: object
      properties:
        credit_blocked:
          type: boolean
          description: Is credit blocked
        credit_limit:
          type: number
          description: Credit limit
          format: double
        credit_remaining:
          type: number
          description: Credit remaining
          format: double
          nullable: true
        enabled:
          type: boolean
          description: Is enabled
        payment_terms:
          type: integer
          description: Payment terms
          format: int32
          nullable: true
      additionalProperties: false
      description: Account customer view model
    CustomerBillingAddress:
      title: ""
      type: object
      properties:
        country:
          type: string
          description: Country
          nullable: true
        country_code:
          type: string
          description: Country Code
          nullable: true
        state:
          type: string
          description: State
          nullable: true
        suburb:
          type: string
          description: Suburb
          nullable: true
        address_line1:
          type: string
          description: Address line 1
          nullable: true
        address_line2:
          type: string
          description: Address line 2
          nullable: true
        postcode:
          type: string
          description: Post code
          nullable: true
        first_name:
          type: string
          description: First name
          nullable: true
        last_name:
          type: string
          description: Last Name
          nullable: true
      additionalProperties: false
      description: Billing address model
    CustomerType:
      title: ""
      type: object
      properties:
        id:
          type: integer
          description: Customer type identifier
          format: int32
        name:
          type: string
          description: Customer type name
          nullable: true
      additionalProperties: false
      description: Customer type model
    DeliveryAddress:
      title: ""
      type: object
      properties:
        country:
          type: string
          description: Country
          nullable: true
        country_code:
          type: string
          description: Country Code
          nullable: true
        state:
          type: string
          description: State
          nullable: true
        suburb:
          type: string
          description: Suburb
          nullable: true
        address_line1:
          type: string
          description: Address line 1
          nullable: true
        address_line2:
          type: string
          description: Address line 2
          nullable: true
        postcode:
          type: string
          description: Post code
          nullable: true
        company:
          type: string
          description: Company
          nullable: true
        mobile:
          type: string
          description: Mobile phone
          nullable: true
        phone:
          type: string
          description: Phone
          nullable: true
        first_name:
          type: string
          description: First name
          nullable: true
        last_name:
          type: string
          description: Last Name
          nullable: true
        id:
          type: integer
          description: Identifier
          format: int32
        default:
          type: boolean
          description: Is Default
          nullable: true
        modified_on:
          type: string
          description: Modified on
          format: date-time
      additionalProperties: false
      description: Delivery Address model
    LoyaltyProgram:
      title: ""
      type: object
      properties:
        enabled:
          type: boolean
          description: Is enabled
        points_available:
          type: number
          description: Points available
          format: double
        points_redeemed:
          type: number
          description: Points redeemed
          format: double
        points_to_date:
          type: number
          description: Points to date
          format: double
        auto_price_group:
          type: boolean
          description: Auto price group
        points_available_value:
          type: number
          description: Points available value
          format: double
          nullable: true
      additionalProperties: false
      description: Loyalty program model
    Marketing:
      title: ""
      type: object
      properties:
        receive_email:
          type: boolean
          description: Receive email
        receive_post:
          type: boolean
          description: Receive post
        receive_sms:
          type: boolean
          description: Receive sms
      additionalProperties: false
      description: Marketing view model
    PriceGroup:
      title: ""
      type: object
      properties:
        id:
          type: integer
          description: Identifier
          format: int32
        name:
          type: string
          description: Name
          nullable: true
        type:
          type: string
          description: Type
          nullable: true
      additionalProperties: false
      description: Price group model
    SurveyResponse:
      title: ""
      type: object
      properties:
        id:
          type: integer
          description: Survey response id
          format: int32
        question:
          type: string
          description: Survey response question
          nullable: true
        answer:
          type: string
          description: Survey response answer
          nullable: true
      additionalProperties: false
      description: Survey Response model
    OutletExtended:
      title: ""
      type: object
      properties:
        id:
          type: integer
          description: Outlet id
          format: int32
          nullable: true
        name:
          maxLength: 255
          minLength: 0
          type: string
          description: Outlet name
          nullable: true
        modified_on:
          type: string
          description: Modified on
          format: date-time
      additionalProperties: false
    CustomerSalesChannel:
      title: ""
      type: object
      properties:
        id:
          type: integer
          description: Identifier
          format: int32
        name:
          type: string
          description: Channel name
          nullable: true
        shopify_channel:
          type: boolean
          description: Is shopify channel
        enabled:
          type: boolean
          description: Is enabled
      additionalProperties: false
      description: CustomerSalesChannel Model
```
