[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"docs-entities\u002Faddresses":3,"docs-tabs-entities\u002Faddresses":6},{"content":4,"lastmod":5},"# Адреса\n\nАдреса CRM-сущностей: регистрационный, фактический, почтовый, доставки. Чаще всего привязаны к реквизиту, но тот же эндпоинт работает для контактов, компаний и лидов. У адреса нет отдельного числового `id`: конкретный адрес задаётся тремя значениями — тип адреса `typeId`, тип владельца `entityTypeId` и ID владельца `entityId`.\n\nБитрикс24 API: `crm.address.*`\nСкоуп: `crm`\n\n## Операции\n\n- [Создать адрес](.\u002Faddresses\u002Fcreate.md) — `POST \u002Fv1\u002Faddresses`\n- [Список адресов](.\u002Faddresses\u002Flist.md) — `GET \u002Fv1\u002Faddresses`\n- [Получить адрес](.\u002Faddresses\u002Fget.md) — `GET \u002Fv1\u002Faddresses\u002F:typeId\u002F:entityTypeId\u002F:entityId`\n- [Обновить адрес](.\u002Faddresses\u002Fupdate.md) — `PATCH \u002Fv1\u002Faddresses\u002F:typeId\u002F:entityTypeId\u002F:entityId`\n- [Удалить адрес](.\u002Faddresses\u002Fdelete.md) — `DELETE \u002Fv1\u002Faddresses\u002F:typeId\u002F:entityTypeId\u002F:entityId`\n- [Поиск адресов](.\u002Faddresses\u002Fsearch.md) — `POST \u002Fv1\u002Faddresses\u002Fsearch`\n- [Поля адреса](.\u002Faddresses\u002Ffields.md) — `GET \u002Fv1\u002Faddresses\u002Ffields`\n\n## Ключевые поля\n\n| Поле | Описание |\n|------|---------|\n| `typeId` | Тип адреса: `1` регистрационный, `4` первичный, `6` почтовый, `8` доставки, `9` фактический, `11` бенефициар, `13` склад |\n| `entityTypeId` | Тип владельца: `8` — реквизит (также контакт, компания, лид) |\n| `entityId` | ID владельца адреса |\n| `address1` | Улица, дом |\n| `city` | Город |\n| `postalCode` | Почтовый индекс |\n\nПолный список полей — [`GET \u002Fv1\u002Faddresses\u002Ffields`](.\u002Faddresses\u002Ffields.md).\n\n## Что нужно знать перед работой\n\n1. **У адреса нет отдельного числового `id`.** Адрес определяется тремя значениями: `typeId`, `entityTypeId`, `entityId`. Получение, обновление и удаление используют их в пути. Создание передаёт их в теле запроса.\n2. **`typeId` — тип адреса, `entityTypeId` — тип владельца.** Один владелец может иметь несколько адресов разных типов (например, `typeId: 1` регистрационный и `typeId: 9` фактический). Для реквизита `entityTypeId` равен `8`.\n3. **Имена полей — camelCase везде.** Список и получение возвращают `address1`, `city`, `postalCode`. Схема `GET \u002Fv1\u002Faddresses\u002Ffields` отдаёт те же имена: `typeId`, `address1`, `postalCode`. В `filter` и в теле запроса передавайте их же.\n\n## Связанные сущности\n\n| Сущность | Эндпоинт | Назначение |\n|----------|----------|-----------|\n| Реквизиты | `GET \u002Fv1\u002Frequisites` | Самый частый владелец адреса: `entityTypeId` равен `8`, а `entityId` — это `id` реквизита. |\n| Шаблоны реквизитов | `GET \u002Fv1\u002Frequisite-presets` | Шаблон набора полей реквизита-владельца. |\n| Банковские реквизиты | `GET \u002Fv1\u002Fbank-details` | Банковские счета того же реквизита. |\n\n## Типичный сценарий\n\n1. Найти реквизит компании: [`GET \u002Fv1\u002Frequisites?filter[entityTypeId]=4&filter[entityId]=15`](.\u002Frequisites\u002Flist.md).\n2. Создать адрес на него: [`POST \u002Fv1\u002Faddresses`](.\u002Faddresses\u002Fcreate.md) с `typeId`, `entityTypeId: 8` и `entityId` реквизита.\n3. Прочитать или обновить адрес по тройке: [`GET \u002Fv1\u002Faddresses\u002F:typeId\u002F:entityTypeId\u002F:entityId`](.\u002Faddresses\u002Fget.md).\n\n## Лимиты\n\n| Лимит | Значение |\n|-------|----------|\n| Максимум записей на запрос | 5000 (`limit ≤ 5000`) |\n| Авто-пагинация | включается при `limit > 50` |\n| `offset` на больших выборках | рекомендуется `limit ≤ 500` при `offset ≥ 2500` |\n| Batch-запросы | до 50 операций в [`POST \u002Fv1\u002Fbatch`](\u002Fdocs\u002Fbatch) |\n| Rate limit | общий для Vibe API — см. [Лимиты и оптимизация](\u002Fdocs\u002Foptimization) |\n\n## Смотрите также\n\n- [Entity API](\u002Fdocs\u002Fentity-api)\n- [Синтаксис фильтрации](\u002Fdocs\u002Ffiltering)\n- [Batch](\u002Fdocs\u002Fbatch)\n- [Справочник сущностей](\u002Fdocs\u002Fentities-index)\n","2026-07-14",{"addresses\u002Fcreate.md":7,"addresses\u002Flist.md":8,"addresses\u002Fget.md":9,"addresses\u002Fupdate.md":10,"addresses\u002Fdelete.md":11,"addresses\u002Fsearch.md":12,"addresses\u002Ffields.md":13},"\n## Создать адрес\n\n`POST \u002Fv1\u002Faddresses`\n\nСоздаёт адрес и привязывает его к владельцу. Три значения — `typeId`, `entityTypeId` и `entityId` — передаются в теле запроса вместе с полями адреса.\n\n## Поля запроса (body)\n\n| Поле | Тип | Обяз. | Описание |\n|------|-----|:-----:|---------|\n| `typeId` | number | да | Тип адреса. Список: `GET \u002Fv1\u002Faddresses\u002Ffields` (поле `TYPE_ID`). Примеры: `1` — регистрационный, `8` — доставки, `9` — фактический, `11` — бенефициар |\n| `entityTypeId` | number | да | Тип владельца адреса. `8` — реквизит. Другие значения возможны для контактов, компаний, лидов |\n| `entityId` | number | да | ID владельца адреса. Для реквизита — ID из `GET \u002Fv1\u002Frequisites` |\n| `address1` | string | нет | Улица и дом |\n| `address2` | string | нет | Дополнительная строка адреса |\n| `city` | string | нет | Город |\n| `region` | string | нет | Район или регион |\n| `province` | string | нет | Область или штат |\n| `postalCode` | string | нет | Почтовый индекс |\n| `country` | string | нет | Страна (текстовое название) |\n| `countryCode` | string | нет | Код страны (ISO 3166-1 alpha-2, например `RU`) |\n\nПолный список полей — [`GET \u002Fv1\u002Faddresses\u002Ffields`](.\u002Ffields.md).\n\n## Примеры\n\n### curl — личный ключ\n\n```bash\ncurl -X POST \"https:\u002F\u002Fvibecode.bitrix24.tech\u002Fv1\u002Faddresses\" \\\n  -H \"X-Api-Key: YOUR_API_KEY\" \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d '{\n    \"typeId\": 11,\n    \"entityTypeId\": 8,\n    \"entityId\": 1,\n    \"city\": \"Москва\",\n    \"address1\": \"ул. Ленина, 10\",\n    \"postalCode\": \"101000\"\n  }'\n```\n\n### curl — OAuth-приложение\n\n```bash\ncurl -X POST \"https:\u002F\u002Fvibecode.bitrix24.tech\u002Fv1\u002Faddresses\" \\\n  -H \"X-Api-Key: YOUR_APP_KEY\" \\\n  -H \"Authorization: Bearer USER_SESSION_TOKEN\" \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d '{\n    \"typeId\": 11,\n    \"entityTypeId\": 8,\n    \"entityId\": 1,\n    \"city\": \"Москва\",\n    \"address1\": \"ул. Ленина, 10\"\n  }'\n```\n\n### JavaScript — личный ключ\n\n```javascript\nconst res = await fetch('https:\u002F\u002Fvibecode.bitrix24.tech\u002Fv1\u002Faddresses', {\n  method: 'POST',\n  headers: {\n    'X-Api-Key': 'YOUR_API_KEY',\n    'Content-Type': 'application\u002Fjson',\n  },\n  body: JSON.stringify({\n    typeId: 11,\n    entityTypeId: 8,\n    entityId: 1,\n    city: 'Москва',\n    address1: 'ул. Ленина, 10',\n    postalCode: '101000',\n  }),\n})\n\nconst { success, data } = await res.json()\nconsole.log('Создан адрес:', data.typeId, data.entityTypeId, data.entityId)\n```\n\n### JavaScript — OAuth-приложение\n\n```javascript\nconst res = await fetch('https:\u002F\u002Fvibecode.bitrix24.tech\u002Fv1\u002Faddresses', {\n  method: 'POST',\n  headers: {\n    'X-Api-Key': 'YOUR_APP_KEY',\n    'Authorization': 'Bearer USER_SESSION_TOKEN',\n    'Content-Type': 'application\u002Fjson',\n  },\n  body: JSON.stringify({\n    typeId: 11,\n    entityTypeId: 8,\n    entityId: 1,\n    city: 'Москва',\n    address1: 'ул. Ленина, 10',\n  }),\n})\n\nconst { success, data } = await res.json()\n```\n\n## Поля ответа\n\n| Поле | Тип | Описание |\n|------|-----|---------|\n| `success` | boolean | Всегда `true` при успехе |\n| `data` | object | Три значения ключа созданного адреса: `typeId`, `entityTypeId`, `entityId` |\n| `data.typeId` | number | Тип адреса из запроса |\n| `data.entityTypeId` | number | Тип владельца из запроса |\n| `data.entityId` | number | ID владельца из запроса |\n\nОтвет возвращает только ключ. Поля адреса — `city`, `address1`, `postalCode` и другие — в ответ не включаются. Прочитать сохранённый адрес — [`GET \u002Fv1\u002Faddresses\u002F:typeId\u002F:entityTypeId\u002F:entityId`](.\u002Fget.md).\n\n## Пример ответа\n\nHTTP-статус: `201 Created`\n\n```json\n{\n  \"success\": true,\n  \"data\": {\n    \"typeId\": 11,\n    \"entityTypeId\": 8,\n    \"entityId\": 1\n  }\n}\n```\n\n## Пример ответа при ошибке\n\n400 — не передан один из ключевых параметров:\n\n```json\n{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"MISSING_COMPOSITE_KEY\",\n    \"message\": \"POST \u002Fv1\u002Faddresses requires typeId, entityTypeId and entityId in the body. Example: { \\\"typeId\\\": 1, \\\"entityTypeId\\\": 8, \\\"entityId\\\": 42, \\\"city\\\": \\\"...\\\" }\"\n  }\n}\n```\n\n## Ошибки\n\n| HTTP | Код | Описание |\n|------|-----|---------|\n| 400 | `MISSING_COMPOSITE_KEY` | Не передан один или несколько из ключевых параметров `typeId`, `entityTypeId`, `entityId` |\n| 400 | `INVALID_REQUEST` | Тело запроса не является объектом |\n| 422 | `BITRIX_ERROR` | Битрикс24 отклонил запрос — неверный `typeId`, несуществующий `entityId` или другая ошибка на стороне Битрикс24 |\n| 403 | `SCOPE_DENIED` | Ключу не хватает скоупа `crm`. This endpoint requires 'crm' scope |\n| 401 | `TOKEN_MISSING` | Не передан `X-Api-Key` или ключ не имеет настроенных токенов |\n\nПолный список общих ошибок API — [Ошибки](\u002Fdocs\u002Ferrors).\n\n## Известные особенности\n\n**Ключ — в теле, не в пути.** В отличие от обновления и удаления, при создании три значения — `typeId`, `entityTypeId`, `entityId` — передаются в теле запроса, а не в URL.\n\n**Ответ — только ключ.** Ответ `201` возвращает только переданные `typeId`, `entityTypeId` и `entityId`. Сохранённых полей адреса в нём нет.\n\n## Смотрите также\n\n- [Получить адрес](\u002Fdocs\u002Fentities\u002Faddresses\u002Fget)\n- [Обновить адрес](\u002Fdocs\u002Fentities\u002Faddresses\u002Fupdate)\n- [Список адресов](\u002Fdocs\u002Fentities\u002Faddresses\u002Flist)\n- [Поля адреса](\u002Fdocs\u002Fentities\u002Faddresses\u002Ffields)\n- [Реквизиты](\u002Fdocs\u002Fentities\u002Frequisites)\n- [Batch](\u002Fdocs\u002Fbatch)\n","\n## Список адресов\n\n`GET \u002Fv1\u002Faddresses`\n\nВозвращает список адресов CRM-сущностей с поддержкой фильтрации, сортировки и авто-пагинации. У адреса нет отдельного числового `id`: чтобы получить один адрес, используйте три значения — `typeId`, `entityTypeId` и `entityId`.\n\n## Параметры\n\n| Параметр | Тип | По умолч. | Описание |\n|----------|-----|-----------|---------|\n| `limit` | number | `50` | Количество записей (до 5000). При `limit > 50` Вайбкод автоматически запрашивает несколько страниц у Битрикс24 |\n| `offset` | number | `0` | Пропустить N записей. При `offset ≥ 2500` рекомендуется `limit ≤ 500` |\n| `sort` \u002F `order` | string \u002F object | — | Сортировка: `?sort=typeId` или `?order[typeId]=desc` |\n| `filter` | object | — | Фильтрация по полям `GET \u002Fv1\u002Faddresses\u002Ffields`.\u003Cbr>[Синтаксис фильтрации](\u002Fdocs\u002Ffiltering). Пример: `?filter[entityTypeId]=8&filter[entityId]=42` |\n\n## Примеры\n\n### curl — личный ключ\n\n```bash\ncurl \"https:\u002F\u002Fvibecode.bitrix24.tech\u002Fv1\u002Faddresses?filter[entityTypeId]=8&filter[entityId]=42\" \\\n  -H \"X-Api-Key: YOUR_API_KEY\"\n```\n\n### curl — OAuth-приложение\n\n```bash\ncurl \"https:\u002F\u002Fvibecode.bitrix24.tech\u002Fv1\u002Faddresses?filter[entityTypeId]=8&filter[entityId]=42\" \\\n  -H \"X-Api-Key: YOUR_APP_KEY\" \\\n  -H \"Authorization: Bearer USER_SESSION_TOKEN\"\n```\n\n### JavaScript — личный ключ\n\n```javascript\nconst res = await fetch(\n  'https:\u002F\u002Fvibecode.bitrix24.tech\u002Fv1\u002Faddresses?filter[entityTypeId]=8&filter[entityId]=42',\n  {\n    headers: {\n      'X-Api-Key': 'YOUR_API_KEY',\n    },\n  }\n)\n\nconst { success, data, meta } = await res.json()\nconsole.log(`Найдено ${meta.total} адресов`)\n```\n\n### JavaScript — OAuth-приложение\n\n```javascript\nconst res = await fetch(\n  'https:\u002F\u002Fvibecode.bitrix24.tech\u002Fv1\u002Faddresses?filter[entityTypeId]=8&filter[entityId]=42',\n  {\n    headers: {\n      'X-Api-Key': 'YOUR_APP_KEY',\n      'Authorization': 'Bearer USER_SESSION_TOKEN',\n    },\n  }\n)\n\nconst { success, data, meta } = await res.json()\n```\n\n## Поля ответа\n\n| Поле | Тип | Описание |\n|------|-----|---------|\n| `success` | boolean | Всегда `true` при успехе |\n| `data` | array | Массив адресов (все поля — см. [Поля адреса](\u002Fdocs\u002Fentities\u002Faddresses\u002Ffields)) |\n| `meta.total` | number | Общее количество записей, соответствующих фильтру |\n| `meta.hasMore` | boolean | Есть ли ещё записи за пределами `limit` |\n\n## Пример ответа\n\n```json\n{\n  \"success\": true,\n  \"data\": [\n    {\n      \"typeId\": 1,\n      \"entityTypeId\": 3,\n      \"entityId\": 9,\n      \"address1\": null,\n      \"address2\": null,\n      \"city\": null,\n      \"postalCode\": null,\n      \"region\": null,\n      \"province\": null,\n      \"country\": null,\n      \"countryCode\": null,\n      \"locAddrId\": 0,\n      \"anchorTypeId\": 3,\n      \"anchorId\": 9\n    },\n    {\n      \"typeId\": 1,\n      \"entityTypeId\": 3,\n      \"entityId\": 17,\n      \"address1\": null,\n      \"address2\": null,\n      \"city\": null,\n      \"postalCode\": null,\n      \"region\": null,\n      \"province\": null,\n      \"country\": null,\n      \"countryCode\": null,\n      \"locAddrId\": 0,\n      \"anchorTypeId\": 3,\n      \"anchorId\": 17\n    }\n  ],\n  \"meta\": {\n    \"total\": 185,\n    \"hasMore\": true\n  }\n}\n```\n\n## Пример ответа при ошибке\n\n403 — нет скоупа:\n\n```json\n{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"SCOPE_DENIED\",\n    \"message\": \"This endpoint requires 'crm' scope\"\n  }\n}\n```\n\n## Ошибки\n\n| HTTP | Код | Описание |\n|------|-----|---------|\n| 403 | `SCOPE_DENIED` | API-ключ не имеет скоупа `crm` |\n| 401 | `TOKEN_MISSING` | API-ключ не имеет настроенных токенов |\n| 400 | `INVALID_FILTER` | Ошибка в синтаксисе фильтра |\n\nПолный список общих ошибок API — [Ошибки](\u002Fdocs\u002Ferrors).\n\n## Известные особенности\n\n**У адреса нет отдельного числового `id`.** Каждый адрес определяется тремя значениями: `typeId` (тип адреса), `entityTypeId` (тип владельца) и `entityId` (ID владельца). Чтобы получить один адрес, используйте `GET \u002Fv1\u002Faddresses\u002F:typeId\u002F:entityTypeId\u002F:entityId`.\n\n**Авто-пагинация.** При `limit > 50` Вайбкод автоматически запрашивает несколько страниц у Битрикс24 и возвращает все записи в одном ответе.\n\n## Смотрите также\n\n- [Получить адрес](\u002Fdocs\u002Fentities\u002Faddresses\u002Fget)\n- [Поиск адресов](\u002Fdocs\u002Fentities\u002Faddresses\u002Fsearch)\n- [Поля адреса](\u002Fdocs\u002Fentities\u002Faddresses\u002Ffields)\n- [Синтаксис фильтрации](\u002Fdocs\u002Ffiltering)\n- [Entity API](\u002Fdocs\u002Fentity-api)\n- [Batch](\u002Fdocs\u002Fbatch)\n- [Лимиты и оптимизация](\u002Fdocs\u002Foptimization)\n","\n## Получить адрес\n\n`GET \u002Fv1\u002Faddresses\u002F:typeId\u002F:entityTypeId\u002F:entityId`\n\nВозвращает один адрес по составному ключу из трёх параметров: тип адреса, тип владельца и ID владельца.\n\n## Параметры\n\n| Параметр | Тип | Обяз. | Описание |\n|----------|-----|:-----:|---------|\n| `typeId` (path) | number | да | Тип адреса: `1` — регистрационный, `4` — первичный, `6` — почтовый, `8` — доставки, `9` — фактический, `11` — бенефициар, `13` — склад |\n| `entityTypeId` (path) | number | да | Тип владельца: `8` — реквизит, `3` — контакт, `4` — компания, `1` — лид |\n| `entityId` (path) | number | да | ID владельца адреса. Для реквизита — ID из `GET \u002Fv1\u002Frequisites` |\n\n## Примеры\n\n### curl — личный ключ\n\n```bash\ncurl \"https:\u002F\u002Fvibecode.bitrix24.tech\u002Fv1\u002Faddresses\u002F1\u002F3\u002F9\" \\\n  -H \"X-Api-Key: YOUR_API_KEY\"\n```\n\n### curl — OAuth-приложение\n\n```bash\ncurl \"https:\u002F\u002Fvibecode.bitrix24.tech\u002Fv1\u002Faddresses\u002F1\u002F3\u002F9\" \\\n  -H \"X-Api-Key: YOUR_APP_KEY\" \\\n  -H \"Authorization: Bearer USER_SESSION_TOKEN\"\n```\n\n### JavaScript — личный ключ\n\n```javascript\nconst res = await fetch('https:\u002F\u002Fvibecode.bitrix24.tech\u002Fv1\u002Faddresses\u002F1\u002F3\u002F9', {\n  headers: {\n    'X-Api-Key': 'YOUR_API_KEY',\n  },\n})\n\nconst { success, data } = await res.json()\nconsole.log('Город:', data.city, 'Индекс:', data.postalCode)\n```\n\n### JavaScript — OAuth-приложение\n\n```javascript\nconst res = await fetch('https:\u002F\u002Fvibecode.bitrix24.tech\u002Fv1\u002Faddresses\u002F1\u002F3\u002F9', {\n  headers: {\n    'X-Api-Key': 'YOUR_APP_KEY',\n    'Authorization': 'Bearer USER_SESSION_TOKEN',\n  },\n})\n\nconst { success, data } = await res.json()\n```\n\n## Поля ответа\n\n| Поле | Тип | Описание |\n|------|-----|---------|\n| `success` | boolean | Всегда `true` при успехе |\n| `data` | object | Объект адреса |\n| `data.typeId` | number | Тип адреса |\n| `data.entityTypeId` | number | Тип владельца |\n| `data.entityId` | number | ID владельца |\n| `data.address1` | string \\| null | Улица, дом, корпус, строение |\n| `data.address2` | string \\| null | Квартира, офис |\n| `data.city` | string \\| null | Город |\n| `data.postalCode` | string \\| null | Почтовый индекс |\n| `data.region` | string \\| null | Район |\n| `data.province` | string \\| null | Область |\n| `data.country` | string \\| null | Страна |\n| `data.countryCode` | string \\| null | Код страны |\n| `data.locAddrId` | number | Идентификатор адреса местоположения |\n| `data.anchorTypeId` | number | Тип сущности, к которой привязан адрес (только чтение) |\n| `data.anchorId` | number | ID сущности, к которой привязан адрес (только чтение) |\n\n## Пример ответа\n\n```json\n{\n  \"success\": true,\n  \"data\": {\n    \"typeId\": 1,\n    \"entityTypeId\": 3,\n    \"entityId\": 9,\n    \"address1\": null,\n    \"address2\": null,\n    \"city\": null,\n    \"postalCode\": null,\n    \"region\": null,\n    \"province\": null,\n    \"country\": null,\n    \"countryCode\": null,\n    \"locAddrId\": 0,\n    \"anchorTypeId\": 3,\n    \"anchorId\": 9\n  }\n}\n```\n\n## Пример ответа при ошибке\n\n404 — адрес не найден:\n\n```json\n{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"NOT_FOUND\",\n    \"message\": \"Address (typeId=1, entityTypeId=3, entityId=99999999) not found\"\n  }\n}\n```\n\n## Ошибки\n\n| HTTP | Код | Описание |\n|------|-----|---------|\n| 404 | `NOT_FOUND` | Адрес с таким составным ключом не найден |\n| 400 | `INVALID_COMPOSITE_KEY` | Один из параметров пути не является положительным целым числом |\n| 403 | `SCOPE_DENIED` | API-ключ не имеет скоупа `crm` |\n| 401 | `TOKEN_MISSING` | API-ключ не имеет настроенных токенов |\n\nПолный список общих ошибок API — [Ошибки](\u002Fdocs\u002Ferrors).\n\n## Смотрите также\n\n- [Поля адреса](\u002Fdocs\u002Fentities\u002Faddresses\u002Ffields)\n- [Список адресов](\u002Fdocs\u002Fentities\u002Faddresses\u002Flist)\n- [Обновить адрес](\u002Fdocs\u002Fentities\u002Faddresses\u002Fupdate)\n- [Реквизиты](\u002Fdocs\u002Fentities\u002Frequisites)\n- [Лимиты и оптимизация](\u002Fdocs\u002Foptimization)\n","\n## Обновить адрес\n\n`PATCH \u002Fv1\u002Faddresses\u002F:typeId\u002F:entityTypeId\u002F:entityId`\n\nОбновляет поля существующего адреса. Передавайте только те поля, которые нужно изменить. Полный список полей — [`GET \u002Fv1\u002Faddresses\u002Ffields`](.\u002Ffields.md).\n\n## Параметры\n\n| Параметр | Тип | Обяз. | Описание |\n|----------|-----|:-----:|---------|\n| `typeId` (path) | number | да | Тип адреса. Примеры: `1` — регистрационный, `8` — доставки, `9` — фактический, `11` — бенефициар |\n| `entityTypeId` (path) | number | да | Тип владельца: `8` — реквизит, `3` — контакт, `4` — компания, `1` — лид |\n| `entityId` (path) | number | да | ID владельца адреса. Для реквизита — ID из `GET \u002Fv1\u002Frequisites` |\n\n## Поля запроса (body)\n\n| Поле | Тип | Описание |\n|------|-----|---------|\n| `address1` | string | Улица и дом |\n| `address2` | string | Дополнительная строка адреса |\n| `city` | string | Город |\n| `region` | string | Район или регион |\n| `province` | string | Область или штат |\n| `postalCode` | string | Почтовый индекс |\n| `country` | string | Страна (текстовое название) |\n| `countryCode` | string | Код страны (ISO 3166-1 alpha-2, например `RU`) |\n\nПоля `typeId`, `entityTypeId`, `entityId` в теле запроса игнорируются — ключ задаётся только в пути.\n\n## Примеры\n\n### curl — личный ключ\n\n```bash\ncurl -X PATCH \"https:\u002F\u002Fvibecode.bitrix24.tech\u002Fv1\u002Faddresses\u002F11\u002F8\u002F1\" \\\n  -H \"X-Api-Key: YOUR_API_KEY\" \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d '{\n    \"city\": \"Санкт-Петербург\",\n    \"address1\": \"Невский пр., 28\",\n    \"postalCode\": \"191186\"\n  }'\n```\n\n### curl — OAuth-приложение\n\n```bash\ncurl -X PATCH \"https:\u002F\u002Fvibecode.bitrix24.tech\u002Fv1\u002Faddresses\u002F11\u002F8\u002F1\" \\\n  -H \"X-Api-Key: YOUR_APP_KEY\" \\\n  -H \"Authorization: Bearer USER_SESSION_TOKEN\" \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d '{\n    \"city\": \"Санкт-Петербург\",\n    \"address1\": \"Невский пр., 28\"\n  }'\n```\n\n### JavaScript — личный ключ\n\n```javascript\nconst res = await fetch('https:\u002F\u002Fvibecode.bitrix24.tech\u002Fv1\u002Faddresses\u002F11\u002F8\u002F1', {\n  method: 'PATCH',\n  headers: {\n    'X-Api-Key': 'YOUR_API_KEY',\n    'Content-Type': 'application\u002Fjson',\n  },\n  body: JSON.stringify({\n    city: 'Санкт-Петербург',\n    address1: 'Невский пр., 28',\n    postalCode: '191186',\n  }),\n})\n\nconst { success, data } = await res.json()\n```\n\n### JavaScript — OAuth-приложение\n\n```javascript\nconst res = await fetch('https:\u002F\u002Fvibecode.bitrix24.tech\u002Fv1\u002Faddresses\u002F11\u002F8\u002F1', {\n  method: 'PATCH',\n  headers: {\n    'X-Api-Key': 'YOUR_APP_KEY',\n    'Authorization': 'Bearer USER_SESSION_TOKEN',\n    'Content-Type': 'application\u002Fjson',\n  },\n  body: JSON.stringify({\n    city: 'Санкт-Петербург',\n    address1: 'Невский пр., 28',\n  }),\n})\n\nconst { success, data } = await res.json()\n```\n\n## Поля ответа\n\n| Поле | Тип | Описание |\n|------|-----|---------|\n| `success` | boolean | Всегда `true` при успехе |\n| `data` | object | Подтверждение обновления с эхом ключа |\n| `data.typeId` | number | Тип адреса из пути |\n| `data.entityTypeId` | number | Тип владельца из пути |\n| `data.entityId` | number | ID владельца из пути |\n| `data.updated` | boolean | Всегда `true` при успешном обновлении |\n\n## Пример ответа\n\n```json\n{\n  \"success\": true,\n  \"data\": {\n    \"typeId\": 11,\n    \"entityTypeId\": 8,\n    \"entityId\": 1,\n    \"updated\": true\n  }\n}\n```\n\n## Пример ответа при ошибке\n\n403 — нет скоупа `crm`:\n\n```json\n{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"SCOPE_DENIED\",\n    \"message\": \"This endpoint requires 'crm' scope\"\n  }\n}\n```\n\n## Ошибки\n\n| HTTP | Код | Описание |\n|------|-----|---------|\n| 400 | `INVALID_COMPOSITE_KEY` | Один или несколько параметров пути `typeId`, `entityTypeId`, `entityId` не являются положительными целыми числами |\n| 400 | `INVALID_REQUEST` | Тело запроса не является объектом |\n| 404 | `NOT_FOUND` | Адрес с таким составным ключом не найден |\n| 422 | `BITRIX_ERROR` | Битрикс24 отклонил обновление существующего адреса |\n| 403 | `SCOPE_DENIED` | Ключу не хватает скоупа `crm`. This endpoint requires 'crm' scope |\n| 401 | `TOKEN_MISSING` | Не передан `X-Api-Key` или ключ не имеет настроенных токенов |\n\nПолный список общих ошибок API — [Ошибки](\u002Fdocs\u002Ferrors).\n\n## Известные особенности\n\n**Ключ в пути, не в теле.** Адрес определяется тройкой `\u002F:typeId\u002F:entityTypeId\u002F:entityId` в URL. Если передать `typeId`, `entityTypeId` или `entityId` в теле, они будут проигнорированы — приоритет у значений из пути.\n\n**Адрес компании или контакта хранится в реквизите.** Для компании (`4`) и контакта (`3`) адрес привязан к их реквизиту. Обновление по составному ключу компании или контакта автоматически применяется к нужному реквизиту, поэтому обновлять адрес можно по тому же ключу, по которому он был создан и читается. Для реквизита (`8`) и лида (`1`) ключ совпадает с местом хранения.\n\n**Адрес не найден — `404`.** Если адреса с таким составным ключом нет, эндпоинт возвращает `404 NOT_FOUND` и не выполняет обновление.\n\n## Смотрите также\n\n- [Создать адрес](\u002Fdocs\u002Fentities\u002Faddresses\u002Fcreate)\n- [Получить адрес](\u002Fdocs\u002Fentities\u002Faddresses\u002Fget)\n- [Удалить адрес](\u002Fdocs\u002Fentities\u002Faddresses\u002Fdelete)\n- [Поля адреса](\u002Fdocs\u002Fentities\u002Faddresses\u002Ffields)\n- [Реквизиты](\u002Fdocs\u002Fentities\u002Frequisites)\n- [Batch](\u002Fdocs\u002Fbatch)\n","\n## Удалить адрес\n\n`DELETE \u002Fv1\u002Faddresses\u002F:typeId\u002F:entityTypeId\u002F:entityId`\n\nУдаляет адрес по трём значениям ключа: `typeId`, `entityTypeId`, `entityId`. Восстановить удалённый адрес через API нельзя — создавайте новый при необходимости.\n\n## Параметры\n\n| Параметр | Тип | Обяз. | Описание |\n|----------|-----|:-----:|---------|\n| `typeId` (path) | number | да | Тип адреса. Примеры: `1` — регистрационный, `8` — доставки, `9` — фактический, `11` — бенефициар |\n| `entityTypeId` (path) | number | да | Тип владельца: `8` — реквизит, `3` — контакт, `4` — компания, `1` — лид |\n| `entityId` (path) | number | да | ID владельца адреса. Для реквизита — ID из `GET \u002Fv1\u002Frequisites` |\n\n## Примеры\n\n### curl — личный ключ\n\n```bash\ncurl -X DELETE \"https:\u002F\u002Fvibecode.bitrix24.tech\u002Fv1\u002Faddresses\u002F11\u002F8\u002F1\" \\\n  -H \"X-Api-Key: YOUR_API_KEY\"\n```\n\n### curl — OAuth-приложение\n\n```bash\ncurl -X DELETE \"https:\u002F\u002Fvibecode.bitrix24.tech\u002Fv1\u002Faddresses\u002F11\u002F8\u002F1\" \\\n  -H \"X-Api-Key: YOUR_APP_KEY\" \\\n  -H \"Authorization: Bearer USER_SESSION_TOKEN\"\n```\n\n### JavaScript — личный ключ\n\n```javascript\nconst res = await fetch('https:\u002F\u002Fvibecode.bitrix24.tech\u002Fv1\u002Faddresses\u002F11\u002F8\u002F1', {\n  method: 'DELETE',\n  headers: {\n    'X-Api-Key': 'YOUR_API_KEY',\n  },\n})\n\nconst { success, data } = await res.json()\nif (success && data.deleted) {\n  console.log('Адрес удалён')\n}\n```\n\n### JavaScript — OAuth-приложение\n\n```javascript\nconst res = await fetch('https:\u002F\u002Fvibecode.bitrix24.tech\u002Fv1\u002Faddresses\u002F11\u002F8\u002F1', {\n  method: 'DELETE',\n  headers: {\n    'X-Api-Key': 'YOUR_APP_KEY',\n    'Authorization': 'Bearer USER_SESSION_TOKEN',\n  },\n})\n\nconst { success, data } = await res.json()\n```\n\n## Поля ответа\n\n| Поле | Тип | Описание |\n|------|-----|---------|\n| `success` | boolean | Всегда `true` при успехе |\n| `data` | object | Подтверждение удаления с эхом ключа |\n| `data.typeId` | number | Тип адреса из пути |\n| `data.entityTypeId` | number | Тип владельца из пути |\n| `data.entityId` | number | ID владельца из пути |\n| `data.deleted` | boolean | Всегда `true` при успешном удалении |\n\n## Пример ответа\n\n```json\n{\n  \"success\": true,\n  \"data\": {\n    \"typeId\": 11,\n    \"entityTypeId\": 8,\n    \"entityId\": 1,\n    \"deleted\": true\n  }\n}\n```\n\n## Пример ответа при ошибке\n\n403 — нет скоупа `crm`:\n\n```json\n{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"SCOPE_DENIED\",\n    \"message\": \"This endpoint requires 'crm' scope\"\n  }\n}\n```\n\n## Ошибки\n\n| HTTP | Код | Описание |\n|------|-----|---------|\n| 400 | `INVALID_COMPOSITE_KEY` | Один или несколько параметров пути `typeId`, `entityTypeId`, `entityId` не являются положительными целыми числами |\n| 404 | `NOT_FOUND` | Адрес с таким составным ключом не найден |\n| 422 | `BITRIX_ERROR` | Битрикс24 отклонил удаление существующего адреса |\n| 403 | `SCOPE_DENIED` | Ключу не хватает скоупа `crm`. This endpoint requires 'crm' scope |\n| 401 | `TOKEN_MISSING` | Не передан `X-Api-Key` или ключ не имеет настроенных токенов |\n\nПолный список общих ошибок API — [Ошибки](\u002Fdocs\u002Ferrors).\n\n## Известные особенности\n\n**Ответ — `200 JSON`, не `204`.** Удаление адреса возвращает `200 OK` с JSON-телом, где `data.deleted` равно `true`, а не `204 No Content`.\n\n**Адрес компании или контакта хранится в реквизите.** Для компании (`4`) и контакта (`3`) адрес привязан к их реквизиту. Удаление по составному ключу компании или контакта автоматически удаляет адрес из нужного реквизита, поэтому удалять адрес можно по тому же ключу, по которому он был создан и читается. Для реквизита (`8`) и лида (`1`) ключ совпадает с местом хранения.\n\n**Адрес не найден — `404`.** Если адреса с таким составным ключом нет, эндпоинт возвращает `404 NOT_FOUND` и не выполняет удаление.\n\n## Смотрите также\n\n- [Создать адрес](\u002Fdocs\u002Fentities\u002Faddresses\u002Fcreate)\n- [Список адресов](\u002Fdocs\u002Fentities\u002Faddresses\u002Flist)\n- [Получить адрес](\u002Fdocs\u002Fentities\u002Faddresses\u002Fget)\n- [Реквизиты](\u002Fdocs\u002Fentities\u002Frequisites)\n- [Batch](\u002Fdocs\u002Fbatch)\n","\n## Поиск адресов\n\n`POST \u002Fv1\u002Faddresses\u002Fsearch`\n\nПоиск адресов с фильтрами и авто-пагинацией. Аналогичен `GET \u002Fv1\u002Faddresses`, но параметры передаются в теле запроса — подходит для сложных фильтров с большим количеством условий и для программной сборки запросов.\n\n## Поля запроса (body)\n\n| Параметр | Тип | По умолч. | Описание |\n|----------|-----|-----------|---------|\n| `filter` | object | — | Фильтрация по полям `GET \u002Fv1\u002Faddresses\u002Ffields`.\u003Cbr>[Синтаксис фильтрации](\u002Fdocs\u002Ffiltering). Пример: `{ \"entityTypeId\": 8, \"entityId\": 42 }` |\n| `limit` | number | `50` | Количество записей (до 5000) |\n| `offset` | number | `0` | Пропустить N записей |\n| `sort` | object | — | Сортировка: `{ \"typeId\": \"asc\" }` |\n\n## Примеры\n\n### curl — личный ключ\n\n```bash\ncurl -X POST \"https:\u002F\u002Fvibecode.bitrix24.tech\u002Fv1\u002Faddresses\u002Fsearch\" \\\n  -H \"X-Api-Key: YOUR_API_KEY\" \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d '{\n    \"filter\": { \"entityTypeId\": 1, \"city\": \"Пермь\" },\n    \"limit\": 20\n  }'\n```\n\n### curl — OAuth-приложение\n\n```bash\ncurl -X POST \"https:\u002F\u002Fvibecode.bitrix24.tech\u002Fv1\u002Faddresses\u002Fsearch\" \\\n  -H \"X-Api-Key: YOUR_APP_KEY\" \\\n  -H \"Authorization: Bearer USER_SESSION_TOKEN\" \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d '{\n    \"filter\": { \"entityTypeId\": 1, \"city\": \"Пермь\" },\n    \"limit\": 20\n  }'\n```\n\n### JavaScript — личный ключ\n\n```javascript\nconst res = await fetch('https:\u002F\u002Fvibecode.bitrix24.tech\u002Fv1\u002Faddresses\u002Fsearch', {\n  method: 'POST',\n  headers: {\n    'X-Api-Key': 'YOUR_API_KEY',\n    'Content-Type': 'application\u002Fjson',\n  },\n  body: JSON.stringify({\n    filter: { entityTypeId: 1, city: 'Пермь' },\n    limit: 20,\n  }),\n})\n\nconst { success, data } = await res.json()\nconsole.log('Найдено:', data.length)\n```\n\n### JavaScript — OAuth-приложение\n\n```javascript\nconst res = await fetch('https:\u002F\u002Fvibecode.bitrix24.tech\u002Fv1\u002Faddresses\u002Fsearch', {\n  method: 'POST',\n  headers: {\n    'X-Api-Key': 'YOUR_APP_KEY',\n    'Authorization': 'Bearer USER_SESSION_TOKEN',\n    'Content-Type': 'application\u002Fjson',\n  },\n  body: JSON.stringify({\n    filter: { entityTypeId: 1, city: 'Пермь' },\n    limit: 20,\n  }),\n})\n\nconst { success, data } = await res.json()\n```\n\n### Другие сценарии\n\nВсе адреса одного реквизита:\n\n```json\n{\n  \"filter\": { \"entityTypeId\": 8, \"entityId\": 42 }\n}\n```\n\nАдреса определённого типа у лида:\n\n```json\n{\n  \"filter\": { \"entityTypeId\": 1, \"entityId\": 1000755, \"typeId\": 1 }\n}\n```\n\n## Поля ответа\n\n| Поле | Тип | Описание |\n|------|-----|---------|\n| `success` | boolean | Всегда `true` при успехе |\n| `data` | array | Массив адресов (все поля — см. [Поля адреса](\u002Fdocs\u002Fentities\u002Faddresses\u002Ffields)) |\n| `meta.total` | number | Общее количество записей, соответствующих фильтру |\n| `meta.hasMore` | boolean | Есть ли ещё записи за пределами `limit` |\n\n## Пример ответа\n\n```json\n{\n  \"success\": true,\n  \"data\": [\n    {\n      \"typeId\": 1,\n      \"entityTypeId\": 1,\n      \"entityId\": 1000755,\n      \"address1\": \"Монастырская улица, 5\",\n      \"address2\": \"Вокзал Пермь I\",\n      \"city\": \"Пермь\",\n      \"postalCode\": \"614000\",\n      \"region\": \"Пермский городской округ\",\n      \"province\": \"Пермский край\",\n      \"country\": \"Россия\",\n      \"countryCode\": null,\n      \"locAddrId\": 483,\n      \"anchorTypeId\": 1,\n      \"anchorId\": 1000755\n    },\n    {\n      \"typeId\": 1,\n      \"entityTypeId\": 1,\n      \"entityId\": 1000759,\n      \"address1\": \"улица Куйбышева, 97\",\n      \"address2\": \"каб. 5\",\n      \"city\": \"Пермь\",\n      \"postalCode\": \"614045\",\n      \"region\": \"Пермский городской округ\",\n      \"province\": \"Пермский край\",\n      \"country\": \"Россия\",\n      \"countryCode\": null,\n      \"locAddrId\": 491,\n      \"anchorTypeId\": 1,\n      \"anchorId\": 1000759\n    }\n  ],\n  \"meta\": {\n    \"total\": 107,\n    \"hasMore\": true\n  }\n}\n```\n\n## Пример ответа при ошибке\n\n403 — нет скоупа:\n\n```json\n{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"SCOPE_DENIED\",\n    \"message\": \"This endpoint requires 'crm' scope\"\n  }\n}\n```\n\n## Ошибки\n\n| HTTP | Код | Описание |\n|------|-----|---------|\n| 403 | `SCOPE_DENIED` | API-ключ не имеет скоупа `crm` |\n| 401 | `TOKEN_MISSING` | API-ключ не имеет настроенных токенов |\n| 400 | `INVALID_FILTER` | Ошибка в синтаксисе фильтра |\n\nПолный список общих ошибок API — [Ошибки](\u002Fdocs\u002Ferrors).\n\n## Известные особенности\n\n**Имена полей в фильтре — camelCase.** Передавайте `typeId`, `entityTypeId`, `entityId`, `city`, `postalCode`, `countryCode` — те же имена, что отдаёт схема `GET \u002Fv1\u002Faddresses\u002Ffields`.\n\n## Смотрите также\n\n- [Список адресов](\u002Fdocs\u002Fentities\u002Faddresses\u002Flist)\n- [Поля адреса](\u002Fdocs\u002Fentities\u002Faddresses\u002Ffields)\n- [Синтаксис фильтрации](\u002Fdocs\u002Ffiltering)\n- [Batch](\u002Fdocs\u002Fbatch)\n- [Лимиты и оптимизация](\u002Fdocs\u002Foptimization)\n","\n## Поля адреса\n\n`GET \u002Fv1\u002Faddresses\u002Ffields`\n\nВозвращает схему полей адреса — список всех допустимых полей с типами, признаками обязательности и доступности для записи.\n\n## Примеры\n\n### curl — личный ключ\n\n```bash\ncurl \"https:\u002F\u002Fvibecode.bitrix24.tech\u002Fv1\u002Faddresses\u002Ffields\" \\\n  -H \"X-Api-Key: YOUR_API_KEY\"\n```\n\n### curl — OAuth-приложение\n\n```bash\ncurl \"https:\u002F\u002Fvibecode.bitrix24.tech\u002Fv1\u002Faddresses\u002Ffields\" \\\n  -H \"X-Api-Key: YOUR_APP_KEY\" \\\n  -H \"Authorization: Bearer USER_SESSION_TOKEN\"\n```\n\n### JavaScript — личный ключ\n\n```javascript\nconst res = await fetch('https:\u002F\u002Fvibecode.bitrix24.tech\u002Fv1\u002Faddresses\u002Ffields', {\n  headers: {\n    'X-Api-Key': 'YOUR_API_KEY',\n  },\n})\n\nconst { success, data } = await res.json()\nconst fieldNames = Object.keys(data.fields)\n```\n\n### JavaScript — OAuth-приложение\n\n```javascript\nconst res = await fetch('https:\u002F\u002Fvibecode.bitrix24.tech\u002Fv1\u002Faddresses\u002Ffields', {\n  headers: {\n    'X-Api-Key': 'YOUR_APP_KEY',\n    'Authorization': 'Bearer USER_SESSION_TOKEN',\n  },\n})\n\nconst { success, data } = await res.json()\n```\n\n## Поля ответа\n\n| Поле | Битрикс24 | Тип | RO | Описание |\n|------|-----------|-----|----|---------|\n| `typeId` | `TYPE_ID` | number | — | Тип адреса. Обязательный, неизменяемый после создания |\n| `entityTypeId` | `ENTITY_TYPE_ID` | number | — | Тип владельца адреса. Обязательный, неизменяемый после создания |\n| `entityId` | `ENTITY_ID` | number | — | ID владельца адреса. Обязательный, неизменяемый после создания |\n| `address1` | `ADDRESS_1` | string | — | Улица, дом, корпус, строение |\n| `address2` | `ADDRESS_2` | string | — | Квартира, офис |\n| `city` | `CITY` | string | — | Город |\n| `postalCode` | `POSTAL_CODE` | string | — | Почтовый индекс |\n| `region` | `REGION` | string | — | Район |\n| `province` | `PROVINCE` | string | — | Область |\n| `country` | `COUNTRY` | string | — | Страна |\n| `countryCode` | `COUNTRY_CODE` | string | — | Код страны |\n| `locAddrId` | `LOC_ADDR_ID` | number | — | Идентификатор адреса местоположения |\n| `anchorTypeId` | `ANCHOR_TYPE_ID` | number | да | Тип сущности, к которой привязан адрес |\n| `anchorId` | `ANCHOR_ID` | number | да | ID сущности, к которой привязан адрес |\n\nRO — поле доступно только для чтения. Колонка «Битрикс24» — имя того же поля в Битрикс24.\n\n## Пример ответа\n\n```json\n{\n  \"success\": true,\n  \"data\": {\n    \"fields\": {\n      \"typeId\": {\n        \"type\": \"integer\",\n        \"isRequired\": true,\n        \"isReadOnly\": false,\n        \"isImmutable\": true,\n        \"isMultiple\": false,\n        \"isDynamic\": false,\n        \"title\": \"TYPE_ID\"\n      },\n      \"entityTypeId\": {\n        \"type\": \"integer\",\n        \"isRequired\": true,\n        \"isReadOnly\": false,\n        \"isImmutable\": true,\n        \"isMultiple\": false,\n        \"isDynamic\": false,\n        \"title\": \"ENTITY_TYPE_ID\"\n      },\n      \"entityId\": {\n        \"type\": \"integer\",\n        \"isRequired\": true,\n        \"isReadOnly\": false,\n        \"isImmutable\": true,\n        \"isMultiple\": false,\n        \"isDynamic\": false,\n        \"title\": \"ENTITY_ID\"\n      },\n      \"address1\": {\n        \"type\": \"string\",\n        \"isRequired\": false,\n        \"isReadOnly\": false,\n        \"isImmutable\": false,\n        \"isMultiple\": false,\n        \"isDynamic\": false,\n        \"title\": \"Улица, дом, корпус, строение\"\n      },\n      \"address2\": {\n        \"type\": \"string\",\n        \"isRequired\": false,\n        \"isReadOnly\": false,\n        \"isImmutable\": false,\n        \"isMultiple\": false,\n        \"isDynamic\": false,\n        \"title\": \"Квартира \u002F офис\"\n      },\n      \"city\": {\n        \"type\": \"string\",\n        \"isRequired\": false,\n        \"isReadOnly\": false,\n        \"isImmutable\": false,\n        \"isMultiple\": false,\n        \"isDynamic\": false,\n        \"title\": \"Город\"\n      },\n      \"postalCode\": {\n        \"type\": \"string\",\n        \"isRequired\": false,\n        \"isReadOnly\": false,\n        \"isImmutable\": false,\n        \"isMultiple\": false,\n        \"isDynamic\": false,\n        \"title\": \"Почтовый индекс\"\n      },\n      \"region\": {\n        \"type\": \"string\",\n        \"isRequired\": false,\n        \"isReadOnly\": false,\n        \"isImmutable\": false,\n        \"isMultiple\": false,\n        \"isDynamic\": false,\n        \"title\": \"Район\"\n      },\n      \"province\": {\n        \"type\": \"string\",\n        \"isRequired\": false,\n        \"isReadOnly\": false,\n        \"isImmutable\": false,\n        \"isMultiple\": false,\n        \"isDynamic\": false,\n        \"title\": \"Область\"\n      },\n      \"country\": {\n        \"type\": \"string\",\n        \"isRequired\": false,\n        \"isReadOnly\": false,\n        \"isImmutable\": false,\n        \"isMultiple\": false,\n        \"isDynamic\": false,\n        \"title\": \"Страна\"\n      },\n      \"countryCode\": {\n        \"type\": \"string\",\n        \"isRequired\": false,\n        \"isReadOnly\": false,\n        \"isImmutable\": false,\n        \"isMultiple\": false,\n        \"isDynamic\": false,\n        \"title\": \"COUNTRY_CODE\"\n      },\n      \"locAddrId\": {\n        \"type\": \"integer\",\n        \"isRequired\": false,\n        \"isReadOnly\": false,\n        \"isImmutable\": false,\n        \"isMultiple\": false,\n        \"isDynamic\": false,\n        \"title\": \"Идентификатор адреса местоположения\"\n      },\n      \"anchorTypeId\": {\n        \"type\": \"integer\",\n        \"isRequired\": false,\n        \"isReadOnly\": true,\n        \"isImmutable\": false,\n        \"isMultiple\": false,\n        \"isDynamic\": false,\n        \"title\": \"ANCHOR_TYPE_ID\"\n      },\n      \"anchorId\": {\n        \"type\": \"integer\",\n        \"isRequired\": false,\n        \"isReadOnly\": true,\n        \"isImmutable\": false,\n        \"isMultiple\": false,\n        \"isDynamic\": false,\n        \"title\": \"ANCHOR_ID\"\n      }\n    }\n  }\n}\n```\n\n## Пример ответа при ошибке\n\n403 — у API-ключа нет скоупа `crm`:\n\n```json\n{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"SCOPE_DENIED\",\n    \"message\": \"This endpoint requires 'crm' scope\"\n  }\n}\n```\n\n## Ошибки\n\n| HTTP | Код | Описание |\n|------|-----|---------|\n| 403 | `SCOPE_DENIED` | API-ключ не имеет скоупа `crm` |\n| 401 | `TOKEN_MISSING` | API-ключ не имеет настроенных токенов |\n\nПолный список общих ошибок API — [Ошибки](\u002Fdocs\u002Ferrors).\n\n## Известные особенности\n\n**Поля `typeId`, `entityTypeId`, `entityId` — неизменяемые.** Флаг `isImmutable: true` означает, что после создания адреса эти поля нельзя изменить. Они задают составной ключ и не передаются в теле запросов на обновление.\n\n## Смотрите также\n\n- [Получить адрес](\u002Fdocs\u002Fentities\u002Faddresses\u002Fget)\n- [Список адресов](\u002Fdocs\u002Fentities\u002Faddresses\u002Flist)\n- [Поля реквизита](\u002Fdocs\u002Fentities\u002Frequisites\u002Ffields)\n- [Адреса](\u002Fdocs\u002Fentities\u002Faddresses)\n"]