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

# Update customer

> Update customer.



## OpenAPI

````yaml /openapi/public.openapi.json patch /v1/customers/{id}
openapi: 3.1.0
info:
  title: CurbWaste Public API
  version: 1.0.0
  description: >-
    Partner-facing public API under /v1. Authenticate with a company API key
    (Authorization: Bearer cw_live_…). Outbound webhooks (customer.created /
    customer.updated / location.created / location.updated / pricelist.created)
    use HMAC and are documented separately.
  contact:
    name: CurbWaste
  license:
    name: UNLICENSED 1
servers:
  - url: https://api.curbwaste.com
    description: Production public API
security:
  - ApiKeyBearer: []
tags:
  - name: Customers
    description: >-
      Company CRM customers under /v1/customers. Requires customers:read or
      customers:write.
  - name: Catalog
  - name: Locations
  - name: Zones
paths:
  /v1/customers/{id}:
    patch:
      tags:
        - Customers
      summary: Update customer
      description: Update customer.
      operationId: updateCustomer
      parameters:
        - name: id
          in: path
          schema:
            type: string
            format: uuid
          required: true
        - name: expand
          in: query
          schema:
            type: string
          required: false
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdatePublicCustomerDto'
        required: true
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicCustomerResponse'
      security:
        - ApiKeyBearer: []
components:
  schemas:
    UpdatePublicCustomerDto:
      type: object
      properties:
        displayName:
          type: string
          minLength: 1
          maxLength: 255
        email:
          oneOf:
            - type: 'null'
            - type: string
              format: email
        phone:
          oneOf:
            - type: 'null'
            - type: string
              maxLength: 50
        companyName:
          oneOf:
            - type: 'null'
            - type: string
              maxLength: 255
      required: []
    PublicCustomerResponse:
      type: object
      properties:
        data:
          $ref: '#/components/schemas/PublicCustomer'
      required:
        - data
    PublicCustomer:
      type: object
      properties:
        id:
          type: string
        displayName:
          type: string
        customerId:
          type: string
        status:
          type: string
          enum:
            - active
            - inactive
        email:
          oneOf:
            - type: 'null'
            - type: string
        phone:
          oneOf:
            - type: 'null'
            - type: string
        companyName:
          oneOf:
            - type: 'null'
            - type: string
        createdAt:
          oneOf:
            - type: 'null'
            - type: string
        updatedAt:
          oneOf:
            - type: 'null'
            - type: string
      required:
        - id
        - displayName
        - customerId
        - status
        - email
        - phone
        - companyName
        - createdAt
        - updatedAt
  securitySchemes:
    ApiKeyBearer:
      type: http
      scheme: bearer
      bearerFormat: API key
      description: >-
        Company API key from the developer platform. Header: Authorization:
        Bearer cw_live_…. Key must include customers:read and/or
        customers:write.

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.