# Carrot quest Web API: POST /users/{id}/props — Установка свойств пользователя

Операции выполняются по порядку; невалидные не дают ошибку, а попадают в `meta.ignored_operations`. Если пользователя с таким User ID нет, он создаётся.

| Параметр | Где | Тип | Обяз. | Описание |
|---|---|---|---|---|
| `id` | path | string | да | ID в Carrot quest или ваш User ID |
| `by_user_id` | body | boolean | нет | Искать по вашему User ID |
| `operations` | body | array | да | Операции op, key, value, до 250 свойств; системные свойства начинаются с $ |
| `double_subscribe` | body | boolean | нет | Переподписать отписанного при обновлении $email |
| `parse_custom_props_type` | body | boolean | нет | Определять тип пользовательских свойств, по умолчанию true |
| `source` | body | object | нет | Источник контакта для $email/$phone (type, id) |

Пример запроса:

```
curl -X POST \
  --data-urlencode "operations=[{"op": "update_or_create", "key": "$name", "value": "Maks"}]" \
  -H "Authorization: Token XXX" \
  https://api.carrotquest.io/users/8173131/props
```

Пример ответа:

```json
{
  "meta": {
    "status": 200,
    "affected_props": [],
    "ignored_operations": []
  },
  "data": {
    "id": 123123123,
    "app": 12345
  }
}
```

## Базовые URL

- Боевой: `https://api.carrotquest.io`

## Авторизация

Тип: API-ключ

Токен берётся в панели администратора: «Настройки» → «Разработчикам» → «API-ключи». Передаётся в заголовке `Authorization: Token <токен>` (или `Bearer <токен>`) либо параметром `auth_token`.

```
curl -X GET -H "Authorization: Token <ваш_токен>" https://api.carrotquest.io/users/123
```

## Нюансы

- Параметры передаются GET- или POST-параметрами в UTF-8.
- Ответы — JSON с полями `meta` и `data`; `meta.status` дублирует HTTP-код.
- `{id}` пользователя — ID Carrot quest или ваш User ID с `by_user_id=true`; запись свойств и событий по неизвестному User ID создаёт пользователя.
- Токен даёт почти неограниченный доступ к данным приложения — не передавайте его третьим лицам.
- Для получения событий в реальном времени есть вебхуки и Realtime Services API.

## Сценарии с этим методом

- [Передать данные пользователя с сервера](https://mcp-everything.ru/integrations/carrot-quest/scenarios/peredat-dannye-polzovatelya-s-servera.md)

---

Если этого недостаточно — официальная документация: https://developers.carrotquest.io/webapi/
Вся интеграция одним документом: https://mcp-everything.ru/integrations/carrot-quest.md
