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

# Update custom company attribute

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

## Request

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

Partially updates an attribute: only the fields you send change. `key` and `type` cannot be changed. Attributes synced from a CRM integration only accept `prompt`, `should_prompt_override` and `is_visible`.

## Path parameters

- `key` string, required

## Request body

- UpdateCompanyAttributeRequest: All fields are optional
  - `label` string: New display name
  - `options` CompanyAttributeOptionInput[]: Replaces the full option list. `DROPDOWN` attributes 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.
  - `prompt` string, nullable: Instruction the AI CRM Manager follows to fill this attribute from calls. A blank value clears it.
  - `should_prompt_override` boolean: Whether the AI may overwrite a value that is already set
  - `is_visible` boolean: Show or hide the attribute in the Allo apps

## Response `200`

The updated attribute

- object
  - `data` CompanyAttribute: A custom attribute on companies
    - `key` string: Unique key within your team
    - `label` string, nullable: Display name
    - `type` 'TEXT' | 'NUMBER' | 'DATE' | 'BOOLEAN' | 'DROPDOWN', nullable
    - `options` CompanyAttributeOption[], nullable: Allowed values. Only set for `DROPDOWN` attributes.
      - `key` string
      - `label` string
    - `is_visible` boolean: Whether the attribute is shown in the Allo apps
    - `prompt` string, nullable: Instruction the AI CRM Manager follows to fill this attribute from calls. A blank value clears it.
    - `should_prompt_override` boolean, nullable: Whether the AI may overwrite a value that is already set
    - `source` string: `allo` for attributes created in Allo or with the API, otherwise the lowercase name of the integration that manages it, such as `hubspot`
    - `created_at` string, date-time
    - `updated_at` string, date-time

## 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/companies/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)
