Skip to main content
POST
Create custom company attribute
Scope requis : CRM_WRITE

Champs du body

Dérivation de la clé

La key est dérivée du label : minuscules, accents supprimés, séquences de caractères non alphanumériques remplacées par _, tronquée à 64 caractères. Industry segment devient industry_segment. Les clés d’options sont dérivées de la même façon. Un label qui correspond à une clé réservée est refusé avec ATTRIBUTE_KEY_RESERVED. Les clés réservées sont : id, name, phone_numbers, website, industry, logo_url, last_activity, activity_history, sms_content, created_at et updated_at.

Réponse

Renvoie 201 avec l’attribut créé. source vaut allo et already_existed vaut false.

Créer deux fois le même attribut

L’appel peut être répété sans risque. Si un attribut avec la même clé et le même type existe déjà, l’endpoint renvoie 201 avec cet attribut et already_existed à true. Rien n’est créé et la définition existante reste inchangée. Si la clé existe avec un autre type, la requête renvoie 409 ATTRIBUTE_KEY_CONFLICT.

Limites

Chaque type dispose d’un nombre fixe d’emplacements par équipe. Lorsqu’un type est plein, créer un autre attribut de ce type renvoie 409 ATTRIBUTE_SLOTS_EXHAUSTED. Supprimez un attribut inutilisé ou choisissez un autre type. Les attributs personnalisés ne sont disponibles que pour les équipes qui utilisent le nouveau modèle de contacts. Les autres équipes reçoivent 404 TEAM_NOT_FOUND.

Erreurs

Autorisations

Authorization
string
header
requis

Corps

application/json
label
string
requis

Display name of the attribute. The attribute key is derived from it: lowercase, accents removed, runs of non-alphanumeric characters replaced by _, truncated to 64 characters. Labels that resolve to a reserved key are rejected.

Exemple:

"Industry segment"

type
enum<string>
requis
Options disponibles:
TEXT,
NUMBER,
DATE,
BOOLEAN,
DROPDOWN
Exemple:

"DROPDOWN"

options
object[]

Allowed values. Required, with at least one option, for DROPDOWN; rejected for other types.

prompt
string | null

Instruction the AI CRM Manager follows to fill this attribute from calls. A blank value clears it.

Exemple:

"Pick the segment that matches the company size mentioned on the call."

should_prompt_override
boolean

Whether the AI may overwrite a value that is already set

Réponse

The attribute that was created, or the existing one when already_existed is true

data
object

A custom attribute on companies