---
title: "Update custom contact field"
method: PATCH
path: "/v2/api/crm/attributes/{key}"
tags: ["CRM"]
---

# Update custom contact field

`PATCH /v2/api/crm/attributes/{key}`

## Request

- Base URL: `https://api.withallo.com`
- URL: `https://api.withallo.com/v2/api/crm/attributes/{key}`
- Auth: API key in header `Authorization`

Partially updates a custom field on people: only the fields you send change. `key` and `type` cannot be changed. Fields synced from a CRM integration cannot be edited.

## Path parameters

- `key` string, required

## Request body

- UpdateCrmAttributeRequest: All fields are optional
  - `label` string: New display name. The key does not change.
  - `description` string: Free-text description of the field. A blank value clears it.
  - `options` CompanyAttributeOptionInput[]: Replaces the full option list. `DROPDOWN` fields only. Send an option's current `key` to keep it when renaming its label.
    - `label` string, required: Display name of the option
    - `key` string: Existing option key. Send it when editing an attribute to keep the option's key stable while its label changes. Keys that do not match an existing option are ignored and a key is derived from the label.

## Response `200`

The updated field

- object
  - `data` CrmAttribute: A custom field on people
    - `key` string: Unique key of the field within your team
    - `label` string, nullable: Display name of the field
    - `type` 'TEXT' | 'NUMBER' | 'DATE' | 'BOOLEAN' | 'DROPDOWN', nullable: Value type
    - `options` CompanyAttributeOption[], nullable: Allowed values. Only set for `DROPDOWN` fields.
      - `key` string
      - `label` string
    - `source` string: `allo` for fields created in Allo or with the API, otherwise the lowercase name of the integration that manages it, such as `hubspot`

## Other responses

- `400`: Invalid request parameters
- `401`: Invalid or missing API key
- `403`: API key lacks the required scope or access to the resource
- `404`: Resource not found
- `409`: Conflict with existing resource
- `429`: Rate limit exceeded

## Changes

- **2026-11-03** `46c77103dd14`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/withallo/apis/allo-api/changes/v2/api/crm/attributes/:key/patch.md)

---

[API](https://skmtc.dev/withallo/apis/allo-api.md) - [All operations](https://skmtc.dev/withallo/apis/allo-api/llms.txt) - [OpenAPI document](https://skmtc.dev/withallo/apis/allo-api/revisions/46c77103dd14?raw)
