
## Поля валюты

`GET /v1/currencies/fields`

Возвращает описание всех полей сущности с типами и атрибутами.

## Примеры

### curl — личный ключ

```bash
curl "https://vibecode.bitrix24.tech/v1/currencies/fields" \
  -H "X-Api-Key: YOUR_API_KEY"
```

### curl — OAuth-приложение

```bash
curl "https://vibecode.bitrix24.tech/v1/currencies/fields" \
  -H "X-Api-Key: YOUR_APP_KEY" \
  -H "Authorization: Bearer USER_SESSION_TOKEN"
```

### JavaScript — личный ключ

```javascript
const res = await fetch('https://vibecode.bitrix24.tech/v1/currencies/fields', {
  headers: { 'X-Api-Key': 'YOUR_API_KEY' },
})
const { success, data } = await res.json()
```

### JavaScript — OAuth-приложение

```javascript
const res = await fetch('https://vibecode.bitrix24.tech/v1/currencies/fields', {
  headers: {
    'X-Api-Key': 'YOUR_APP_KEY',
    'Authorization': 'Bearer USER_SESSION_TOKEN',
  },
})
const { success, data } = await res.json()
```


## Поля ответа

| Поле | Тип | RO | Описание |
|------|-----|:--:|---------|
| `id` | string | | Код валюты (RUB, USD, EUR). Задаётся при создании валюты |
| `amount` | number | | Курс обмена |
| `amountCnt` | number | | Количество единиц для курса |
| `base` | boolean | | Базовая валюта |
| `sort` | number | | Сортировка |
| `fullName` | string | | Название (руб., $) |
| `formatString` | string | | Формат отображения |
| `decPoint` | string | | Разделитель дробной части |
| `thousandsSep` | string | | Разделитель тысяч |
| `decimals` | number | | Знаков после запятой |
| `lid` | string | да | Идентификатор сайта, к которому привязана валюта |
| `dateUpdate` | datetime | да | Дата последнего изменения |
| `lang` | object | да | Настройки отображения по языкам — формат, название, разделители, с ключом-идентификатором языка. Приходит в ответах `POST /v1/currencies` и `GET /v1/currencies/:id`. В списке `GET /v1/currencies` не возвращается |

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

`GET /v1/currencies/fields` возвращает описания полей под ключом `data.fields` (имена — camelCase, как в ответах API), где каждое поле — `{ type, readonly, label, description }`. Значения `label`/`description` приходят на русском языке. Заголовками запроса язык не переключается. Плюс `data.batch` со списком доступных batch-операций.

```json
{
  "success": true,
  "data": {
    "fields": {
      "id": { "type": "string", "readonly": false, "label": "Код валюты", "description": "Код валюты по ISO 4217 (RUB, USD, EUR). Задаётся при создании." },
      "amount": { "type": "number", "readonly": false, "label": "Курс обмена", "description": "Курс обмена относительно базовой валюты." },
      "amountCnt": { "type": "number", "readonly": false, "label": "Номинал", "description": "Количество единиц валюты, для которых указан курс." },
      "base": { "type": "boolean", "readonly": false, "label": "Базовая валюта", "description": "Является ли валюта базовой для портала." },
      "sort": { "type": "number", "readonly": false, "label": "Сортировка", "description": "Порядок сортировки в списке валют." },
      "fullName": { "type": "string", "readonly": false, "label": "Название", "description": "Отображаемое название валюты." },
      "formatString": { "type": "string", "readonly": false, "label": "Строка формата вывода", "description": "Шаблон вывода сумм в этой валюте (# — место для числа)." },
      "decimals": { "type": "number", "readonly": false, "label": "Количество десятичных знаков", "description": "Сколько знаков показывать после запятой." },
      "decPoint": { "type": "string", "readonly": false, "label": "Десятичный разделитель", "description": "Символ, используемый как разделитель дробной части." },
      "thousandsSep": { "type": "string", "readonly": false, "label": "Разделитель тысяч", "description": "Символ, используемый как разделитель тысяч." },
      "lid": { "type": "string", "readonly": true, "label": "Сайт", "description": "Идентификатор сайта, к которому привязана валюта." },
      "dateUpdate": { "type": "datetime", "readonly": true, "label": "Дата изменения", "description": "Дата последнего изменения валюты." },
      "lang": { "type": "object", "readonly": true, "label": "Привязка к языку", "description": "Настройки отображения по языкам (формат, название, разделители), с ключом-идентификатором языка. Приходит в ответах POST /v1/currencies и GET /:id. В списке отсутствует." }
    },
    "batch": ["create", "update", "delete"]
  }
}
```

## Ошибки

| HTTP | Код | Описание |
|------|-----|---------|
| 403 | `SCOPE_DENIED` | API-ключ не имеет скоупа `crm` |
| 401 | `TOKEN_MISSING` | Не передан API-ключ |

Полный список ошибок — [Ошибки](/docs/errors).

## Смотрите также

- [Валюты](/docs/entities/currencies)
- [Список валют](/docs/entities/currencies/list)
