---
title: "Update a customer"
method: PUT
path: "/companies/{companyId}/customers/{customerId}"
tags: ["customers"]
---

# Update a customer

`PUT /companies/{companyId}/customers/{customerId}`

Update an existing customer for the company.

**Scope:** `customers:write`

## Request body

- Customer
  - `id` string, uuid
  - `name` string, required
  - `type` 'company' | 'private', required
  - `vatNumber` string
  - `orgNumber` string
  - `paymentTerms` string — Payment terms for the invoices. Payment terms can both take free text or days, in digits, until the payment is due. On the invoice, if a digit is provided it will be suffixed with "days". For example, "30" will be displayed as "30 days" on the invoice. Note that the suffix will, similar to the rest of the invoice, use the language on the customer.
  - `contactsDetails` object[]
    - `id` string, uuid, nullable — Should not be set for new items
    - `name` string
    - `email` string
    - `phone` string
    - `isDefault` boolean
  - `address` AddressWithCountrySubdivision
    - `line1` string, required
    - `line2` string, nullable
    - `city` string, required
    - `postalCode` string, required
    - `country` string, country, required — ISO 3166-1 alpha-2 country code
    - `countrySubdivision` string, nullable — ISO 3166-2 subdivision code (e.g. ENG, SCT, WLS, NIR for GB). Currently required for GB (United kingdom) country.
  - `language` 'sv' | 'en' — Default 'sv'
  - `modifiedDateTime` string, date-time, nullable — The date and time the customer was last modified. Returns null for customers that were changed before this field was introduced.

## Response `200`

Customer updated

- Customer
  - `id` string, uuid
  - `name` string, required
  - `type` 'company' | 'private', required
  - `vatNumber` string
  - `orgNumber` string
  - `paymentTerms` string — Payment terms for the invoices. Payment terms can both take free text or days, in digits, until the payment is due. On the invoice, if a digit is provided it will be suffixed with "days". For example, "30" will be displayed as "30 days" on the invoice. Note that the suffix will, similar to the rest of the invoice, use the language on the customer.
  - `contactsDetails` object[]
    - `id` string, uuid, nullable — Should not be set for new items
    - `name` string
    - `email` string
    - `phone` string
    - `isDefault` boolean
  - `address` AddressWithCountrySubdivision
    - `line1` string, required
    - `line2` string, nullable
    - `city` string, required
    - `postalCode` string, required
    - `country` string, country, required — ISO 3166-1 alpha-2 country code
    - `countrySubdivision` string, nullable — ISO 3166-2 subdivision code (e.g. ENG, SCT, WLS, NIR for GB). Currently required for GB (United kingdom) country.
  - `language` 'sv' | 'en' — Default 'sv'
  - `modifiedDateTime` string, date-time, nullable — The date and time the customer was last modified. Returns null for customers that were changed before this field was introduced.

## Other responses

- `400` — Missing required information

---

[API](https://skmtc.net/bokio/apis/company-api.md) · [All operations](https://skmtc.net/bokio/apis/company-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/bokio/company-api/revisions/1bb5d09ce15e/schema)
