---
title: "Update a client"
method: PATCH
path: "/clients/{id}"
tags: ["Clients"]
---

# Update a client

`PATCH /clients/{id}`

## Request

- Base URL: `https://www.ruddr.io/api/workspace`
- URL: `https://www.ruddr.io/api/workspace/clients/{id}`
- Auth: HTTP bearer

## Path parameters

- `id` string, required

## Request body

- object
  - `key` string: The URL-friendly slug for the client. Max 255 characters.
  - `name` string: The name of the client. Max 255 characters.
  - `code` string, nullable: The client code. Max 255 characters.
  - `currency` string: The 3-letter currency code associated with the client.
  - `notes` string, nullable: Notes associated with the client. Max 5000 characters.
  - `emails` string[]: Email addresses used for invoicing the client.
  - `streetAddress` string, nullable: The street address of the client used for invoicing. Max 5000 characters.
  - `invoiceDetailsSource` 'workspace' | 'custom' | 'business_unit': The source of invoice details. When `workspace` or `business_unit`, the `invoicePaymentTermId`, `invoiceSubject`, `invoiceNotes`, `invoiceEmailSubject`, and `invoiceEmailBody` values are inherited.
  - `invoiceSubject` string, nullable: The subject line used on invoices for this client. Max 255 characters.
  - `invoiceNotes` string, nullable: Notes included on invoices for this client. Max 5000 characters.
  - `invoiceEmailSubject` string, nullable: The email subject line used when sending invoices for this client. Max 255 characters.
  - `invoiceEmailBody` string, nullable: The email body used when sending invoices for this client. Max 5000 characters.
  - `recordStatusId` 'active' | 'archived': The record status of the client.
  - `ownerId` string, nullable: The member ID (`uuid`) of the owner of this client.
  - `practiceId` string, nullable: The practice ID (`uuid`) of the practice associated with this client.
  - `industryId` string, nullable: The industry ID (`uuid`) of the industry associated with this client.
  - `locationId` string, nullable: The location ID (`uuid`) of the location associated with this client.
  - `tagIds` string[]: A list of client tag IDs (`uuid`) to associate with this client.
  - `invoicePaymentTermId` string: The payment term ID (`uuid`) used for invoicing the client.
  - `salesRepresentativeId` string, nullable: The member ID (`uuid`) of the sales representative for this client.
  - `businessUnitId` string, nullable: The business unit ID (`uuid`) of the business unit associated with this client.

## Response `200`

200

- Client
  - `id` string: The unique identifier for the object.
  - `key` string: The URL-friendly slug for the client.
  - `name` string: The name of the client.
  - `code` string, nullable: The client code.
  - `currency` string: The 3-letter currency code associated with the client.
  - `notes` string, nullable: Notes associated with the client.
  - `emails` string[]: Email addresses used for invoicing the client.
  - `streetAddress` string, nullable: The street address of the client used for invoicing.
  - `invoiceDetailsSource` 'workspace' | 'custom' | 'business_unit': The source of invoice details for this client. Determines whether invoice settings are inherited from the workspace, the assigned business unit, or configured at the client level.
  - `invoiceSubject` string, nullable: The subject line used on invoices for this client.
  - `invoiceNotes` string, nullable: Notes included on invoices for this client.
  - `invoiceEmailSubject` string, nullable: The email subject line used when sending invoices for this client.
  - `invoiceEmailBody` string, nullable: The email body used when sending invoices for this client.
  - `isInternal` boolean: Indicates whether this is the workspace's internal client. This client is auto-created during workspace setup.
  - `recordStatusId` 'active' | 'archived': The record status of the client.
  - `createdAt` string, date-time: The timestamp when the object was created.
  - `modifiedAt` string, date-time: The timestamp when the object was last modified.
  - `owner` object, nullable: The member who owns this client.
    - `id` string: The unique identifier for the object.
    - `name` string: The name of the member.
  - `practice` object, nullable: The practice associated with this client.
    - `id` string: The unique identifier for the object.
    - `name` string: The name of the practice.
  - `industry` object, nullable: The industry associated with this client.
    - `id` string: The unique identifier for the object.
    - `name` string: The name of the industry.
  - `location` object, nullable: The location associated with this client.
    - `id` string: The unique identifier for the object.
    - `name` string: The name of the location.
  - `tags` object[]: The tags associated with this client.
    - `id` string: The unique identifier for the object.
    - `name` string: The name of the tag.
  - `invoicePaymentTerm` object, nullable: The payment term used for invoicing this client.
    - `id` string: The unique identifier for the object.
    - `name` string: The name of the payment term.
  - `salesRepresentative` object, nullable: The sales representative for this client.
    - `id` string: The unique identifier for the object.
    - `name` string: The name of the member.
  - `useWorkspaceInvoiceDetails` boolean: A legacy read-only field indicating whether the client uses workspace-level invoice details. Use `invoiceDetailsSource` instead.
  - `businessUnit` object, nullable: The business unit associated with this client.
    - `id` string: The unique identifier for the object.
    - `name` string: The name of the business unit.
  - `integrations` object[]: The accounting integration mappings for this client. Each entry ties the client to a record in an external accounting system. Empty when no integrations are configured.
    - `type` 'xero' | 'qbo': The accounting integration provider.
    - `connectionId` string: The Ruddr accounting connection ID associated with this mapping.
    - `externalId` string: The identifier of the corresponding record in the external accounting system.

## Other responses

- `400`: 400
- `404`: 404

---

[API](https://skmtc.dev/ruddr/apis/ruddr-api.md) · [All operations](https://skmtc.dev/ruddr/apis/ruddr-api/llms.txt) · [OpenAPI document](https://skmtc.dev/ruddr/apis/ruddr-api/revisions/01c3f2a969ba?raw)
