curl --request PATCH \
--url https://api.tryfuse.ai/api/v1/business/lists/{listId}/columns/{columnId}/values \
--header 'Authorization: Basic <encoded-value>' \
--header 'Content-Type: application/json' \
--data '
{
"values": [
{
"contactId": "<string>",
"value": "<string>"
}
]
}
'import requests
url = "https://api.tryfuse.ai/api/v1/business/lists/{listId}/columns/{columnId}/values"
payload = { "values": [
{
"contactId": "<string>",
"value": "<string>"
}
] }
headers = {
"Authorization": "Basic <encoded-value>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {Authorization: 'Basic <encoded-value>', 'Content-Type': 'application/json'},
body: JSON.stringify({values: [{contactId: '<string>', value: '<string>'}]})
};
fetch('https://api.tryfuse.ai/api/v1/business/lists/{listId}/columns/{columnId}/values', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"updatedCount": 2
}{
"error": {
"code": "<string>",
"message": "<string>",
"param": "<string>",
"doc_url": "<string>",
"request_id": "<string>"
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"param": "<string>",
"doc_url": "<string>",
"request_id": "<string>"
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"param": "<string>",
"doc_url": "<string>",
"request_id": "<string>"
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"param": "<string>",
"doc_url": "<string>",
"request_id": "<string>"
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"param": "<string>",
"doc_url": "<string>",
"request_id": "<string>"
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"param": "<string>",
"doc_url": "<string>",
"request_id": "<string>"
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"param": "<string>",
"doc_url": "<string>",
"request_id": "<string>"
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"param": "<string>",
"doc_url": "<string>",
"request_id": "<string>"
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"param": "<string>",
"doc_url": "<string>",
"request_id": "<string>"
}
}Write custom column values (keyed by contact id)
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:
404LIST_NOT_FOUND— The list — or the column on it — was not found for the token owner.422INVALID_REQUEST— The list service rejected one or more values for the column’s type.422VALIDATION_FAILED— values missing/empty/over 500, a non-24-hex contactId, or a value in none of the accepted shapes.429RATE_LIMITED— The lists rate bucket is exhausted.
Requires one of the following token scopes: lists.
curl --request PATCH \
--url https://api.tryfuse.ai/api/v1/business/lists/{listId}/columns/{columnId}/values \
--header 'Authorization: Basic <encoded-value>' \
--header 'Content-Type: application/json' \
--data '
{
"values": [
{
"contactId": "<string>",
"value": "<string>"
}
]
}
'import requests
url = "https://api.tryfuse.ai/api/v1/business/lists/{listId}/columns/{columnId}/values"
payload = { "values": [
{
"contactId": "<string>",
"value": "<string>"
}
] }
headers = {
"Authorization": "Basic <encoded-value>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {Authorization: 'Basic <encoded-value>', 'Content-Type': 'application/json'},
body: JSON.stringify({values: [{contactId: '<string>', value: '<string>'}]})
};
fetch('https://api.tryfuse.ai/api/v1/business/lists/{listId}/columns/{columnId}/values', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"updatedCount": 2
}{
"error": {
"code": "<string>",
"message": "<string>",
"param": "<string>",
"doc_url": "<string>",
"request_id": "<string>"
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"param": "<string>",
"doc_url": "<string>",
"request_id": "<string>"
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"param": "<string>",
"doc_url": "<string>",
"request_id": "<string>"
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"param": "<string>",
"doc_url": "<string>",
"request_id": "<string>"
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"param": "<string>",
"doc_url": "<string>",
"request_id": "<string>"
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"param": "<string>",
"doc_url": "<string>",
"request_id": "<string>"
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"param": "<string>",
"doc_url": "<string>",
"request_id": "<string>"
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"param": "<string>",
"doc_url": "<string>",
"request_id": "<string>"
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"param": "<string>",
"doc_url": "<string>",
"request_id": "<string>"
}
}Authorizations
Your API token (af_…) as the Basic-auth username, with an empty password.
Path Parameters
24-character hex id of the list (from GET /business/lists).
24-character hex id of the custom column (from GET /business/lists/{listId}/columns).
Body
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.
1 - 500 elementsShow child attributes
Show child attributes
Response
Success