---
title: "Write custom column values (keyed by contact id)"
method: PATCH
path: "/business/lists/{listId}/columns/{columnId}/values"
tags: ["Custom columns"]
---

# Write custom column values (keyed by contact id)

`PATCH /business/lists/{listId}/columns/{columnId}/values`

## Request

- Base URL: `https://api.tryfuse.ai/api/v1`
- URL: `https://api.tryfuse.ai/api/v1/business/lists/{listId}/columns/{columnId}/values`
- Auth: HTTP basic

Writes cell values into one custom column, keyed by contact (row) id — the write path for externally generated data. A cell takes a string (also accepted for `number`, `boolean` and `date` columns and parsed against the column's type), a number, a boolean, or — for a `url` column only — `{ label, value }`. Up to 500 cells per call; a value the list service refuses for the column's type answers 422 INVALID_REQUEST. `updatedCount` echoes how many entries were submitted, not how many cells changed.

Errors:
- `404` `LIST_NOT_FOUND` — The list — or the column on it — was not found for the token owner.
- `422` `INVALID_REQUEST` — The list service rejected one or more values for the column's type.
- `422` `VALIDATION_FAILED` — values missing/empty/over 500, a non-24-hex contactId, or a value in none of the accepted shapes.
- `429` `RATE_LIMITED` — The lists rate bucket is exhausted.

Requires one of the following token scopes: lists.

## Path parameters

- `listId` string, required: 24-character hex id of the list (from GET /business/lists).
- `columnId` string, required: 24-character hex id of the custom column (from GET /business/lists/{listId}/columns).

## Request body

- object
  - `values` object[], required: Cells to write, at most 500 per call: each entry is an independent write of one contact's cell in this column, and entries do not combine — send at most one entry per contact, because two entries for the same contact are applied concurrently and which value survives is undefined. Every contactId must already be a row of this list, and every value must convert to the column's type, or the call answers 422 — a type failure is caught before anything is written, but an entry rejected for not being on the list can leave siblings from the same call already written. The response's updatedCount is the number of entries submitted, not the number of cells changed. See `value` for the accepted values per column type.
    - `contactId` string, required: 24-character hex id of a contact (the row id from GET /business/lists/{listId}/rows).
    - `value` union, required: The cell value. Accepted values: a string (also accepted for number, boolean and date columns and parsed against the column type — an empty string clears the cell), a number, a boolean, or — for a url column only, which accepts nothing else — an object with non-empty label and an absolute http(s) value.
      - string: Text value (max 5000 characters). An empty or whitespace-only string CLEARS the cell for every column type. On a number column the text must parse as a finite number, on a boolean column it must be exactly true or false (any casing), and on a date column anything Date.parse accepts — ISO-8601 is the safe form; anything else answers 422.
      - number: Numeric value for a number column (also accepted by a string column, which stores its text form).
      - boolean: true/false for a boolean column (also accepted by a string column, which stores true or false as text).
      - object: Link object for a url column: label (display text) plus value (the URL).
        - `label` string, required: Display text for the link (1-5000 characters).
        - `value` string, required: The link URL (1-5000 characters). Must be absolute and http:// or https:// — a bare domain such as acme.com, or any other scheme, answers 422.

## Response `200`

Success

- object
  - `updatedCount` integer, required

## Other responses

- `400`: Error
- `401`: Error
- `402`: Error
- `403`: Error
- `404`: Error
- `409`: Error
- `422`: Error
- `429`: Error
- `500`: Error

---

[API](https://skmtc.dev/fuseai/apis/fuse-business-api.md) · [All operations](https://skmtc.dev/fuseai/apis/fuse-business-api/llms.txt) · [OpenAPI document](https://skmtc.dev/fuseai/apis/fuse-business-api/revisions/50d95e0536f4?raw)
