> For the complete documentation index, see [llms.txt](https://docs.cekat.ai/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.cekat.ai/api-documentation/crm/contact/create-a-contact-property.md).

# Create a contact property

Adds a custom property (column) to your contacts. If the name is already used, a number is added to make it unique.

For `select` and `dropdown`, list the options in `settings.labels`; if you leave them out, three placeholder labels are created. Accounts that haven't moved to the new contact table can only create `text`, `number`, `select`, `date` and `checkbox` properties.

```json
{"openapi":"3.0.3","info":{"title":"Cekat Open API","version":"1.0.0"},"tags":[{"name":"Contact","description":"Contacts are the people your business talks to. Each contact has standard fields (name, phone number, email, and so on) plus **custom properties** that you define as columns on your contact board.\n\n## Custom properties\n1. Call `GET /api/crm/contact/filter-fields` or `GET /api/crm/contact/{id}/property` to see the available properties and their column IDs and types.\n2. Read a contact's values from `crm_column` in `GET /api/crm/contact/{contact_id}`. Values are keyed by property name.\n3. Write values with `PUT /api/crm/contact/{id}/property`, or with `values` when creating a contact.\n4. Create new properties with `POST /api/crm/contact/property`.\n"}],"servers":[{"url":"https://api.cekat.ai","description":"Production"}],"security":[{"CekatApiKey":[]},{"BearerAuth":[]}],"components":{"securitySchemes":{"CekatApiKey":{"type":"apiKey","in":"header","name":"api_key","description":"Your business's Cekat API key, from **Settings → Developers & API** in the Cekat dashboard (https://chat.cekat.ai/developers?section=apikeys). Available on the Business and Enterprise plans."},"BearerAuth":{"type":"http","scheme":"bearer","description":"The same Cekat API key, sent as `Authorization: Bearer YOUR_API_KEY`. Accepted only by endpoints under `/api/...`."}},"schemas":{"CrmColumnLabel":{"type":"object","properties":{"id":{"type":"string","description":"Label ID. Use it as the value for `select` and `dropdown` columns."},"name":{"type":"string"},"color":{"type":"string"}}},"CrmColumn":{"type":"object","description":"A board column (field) or contact property.","additionalProperties":true,"properties":{"id":{"type":"string","format":"uuid"},"board_id":{"type":"string","format":"uuid"},"name":{"type":"string"},"type":{"type":"string","enum":["text","long_text","email","phone","number","timeline","date","checkbox","select","dropdown","file","files","reference","references","agents","contacts","conversation","order","orders","companies","subscriptions","item_deals"]},"settings":{"type":"object","additionalProperties":true,"description":"Type-specific settings. `select` and `dropdown` columns list their options in `labels`.","properties":{"labels":{"type":"array","items":{"$ref":"#/components/schemas/CrmColumnLabel"}}}},"default_value":{"type":"string","nullable":true},"is_required":{"type":"boolean"},"is_visible":{"type":"boolean"},"is_unique":{"type":"boolean"},"read_only":{"type":"boolean"},"position":{"type":"number"},"created_at":{"type":"string","format":"date-time"},"updated_at":{"type":"string","format":"date-time","nullable":true}}},"ApiError":{"type":"object","description":"Error body returned by the `/api/...` endpoints.","properties":{"success":{"type":"boolean"},"message":{"type":"string"},"statusCode":{"type":"integer"},"error":{"type":"object","properties":{"message":{"type":"string"}}},"correlationId":{"type":"string","description":"Request ID. Include it when contacting Cekat support."}}},"RateLimitError":{"type":"object","properties":{"message":{"type":"string"}}}},"responses":{"ApiUnauthorized":{"description":"The API key is missing or invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"ApiNotFound":{"description":"The resource was not found or does not belong to your business.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"TooManyRequests":{"description":"Rate limit exceeded. Wait and retry.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RateLimitError"}}}}}},"paths":{"/api/crm/contact/property":{"post":{"tags":["Contact"],"operationId":"CreateContactProperty","summary":"Create a contact property","description":"Adds a custom property (column) to your contacts. If the name is already used, a number is added to make it unique.\n\nFor `select` and `dropdown`, list the options in `settings.labels`; if you leave them out, three placeholder labels are created. Accounts that haven't moved to the new contact table can only create `text`, `number`, `select`, `date` and `checkbox` properties.\n","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["name","type"],"properties":{"name":{"type":"string"},"type":{"type":"string","enum":["text","long_text","email","phone","number","date","timeline","checkbox","select","dropdown","conversation","agents","contacts","companies","subscriptions","orders","references"]},"settings":{"type":"object","additionalProperties":true,"properties":{"labels":{"type":"array","description":"Options for `select` and `dropdown` properties.","items":{"$ref":"#/components/schemas/CrmColumnLabel"}}}},"is_required":{"type":"boolean","default":false},"is_visible":{"type":"boolean","default":true},"is_unique":{"type":"boolean","default":false},"read_only":{"type":"boolean","default":false}}}}}},"responses":{"201":{"description":"Property created.","content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"},"data":{"$ref":"#/components/schemas/CrmColumn"}}}}}},"400":{"description":"The name or type is missing or not allowed, or the settings are invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"$ref":"#/components/responses/ApiUnauthorized"},"404":{"$ref":"#/components/responses/ApiNotFound"},"429":{"$ref":"#/components/responses/TooManyRequests"}}}}}}
```
