---
title: "🔒 #26723 Конвертация суммы между RUB, USD, EUR и CNY по курсу ЦБ РФ на дату (по умолчанию - сегодня по часовому поясу компании). Курсы дня хранятся у нас; дня нет - загружается из ЦБ. На выходной и праздник - курс последнего рабочего дня."
method: GET
path: "/currency/convert"
tags: ["Currency"]
---

# 🔒 #26723 Конвертация суммы между RUB, USD, EUR и CNY по курсу ЦБ РФ на дату (по умолчанию - сегодня по часовому поясу компании). Курсы дня хранятся у нас; дня нет - загружается из ЦБ. На выходной и праздник - курс последнего рабочего дня.

`GET /currency/convert`

## Request

- Base URL: `http://localhost`
- URL: `http://localhost/currency/convert`
- Auth: one of:
  - API key in header `sid` and API key in header `rts` and API key in header `sig`
  - HTTP bearer

#26723 Конвертация суммы между RUB, USD, EUR и CNY по курсу ЦБ РФ на дату (по умолчанию - сегодня по часовому поясу компании). Курсы дня хранятся у нас; дня нет - загружается из ЦБ. На выходной и праздник - курс последнего рабочего дня.

**Access:** `authorized` (10 ) · **Scope:** `read`

**Allows:** не требуются — shared reference data: CBR exchange rates are the same for all companies

### TypeScript (copy-paste)

**`GET /currency/convert`**

<details open><summary><b>Params</b></summary>

```typescript
export interface CurrencyConvertParams {
  amount: number
  from: Currency_Code
  to: Currency_Code
  date?: string | null
}
```

</details>

<details open><summary><b>Response</b></summary>

```typescript
export type CurrencyConvertResponse = IServerResponse<CurrencyService_ConvertResult>

export interface IServerResponse<T = any> {
  code: number
  data: T
  srvTS: number
  rkey: string
}
```

</details>

> Полный файл типов: [`/docs/types`](/docs/types) · raw: [`/docs/api-types.ts`](/docs/api-types.ts)

## Query parameters

- `amount` number, required
- `from` 'RUB' | 'USD' | 'EUR' | 'CNY', required: `RUB` = "RUB", `USD` = "USD", `EUR` = "EUR", `CNY` = "CNY"
- `to` 'RUB' | 'USD' | 'EUR' | 'CNY', required: `RUB` = "RUB", `USD` = "USD", `EUR` = "EUR", `CNY` = "CNY"
- `date` string, nullable

## Headers

- `devID` string, uuid, required
- `tz` string, required
- `app` string, required
- `appVer` string, required
- `rKey` string

## Response `200`

OK — `IServerResponse<CurrencyService_ConvertResult>`

- object
  - `code` integer, required
  - `data` CurrencyServiceConvertResult, required: Schema CurrencyService_ConvertResult (inferred from ResponseData AST)
  - `srvTS` integer, required: Server timestamp (ms)
  - `rkey` string, required: Request key

## Other responses

- `400`: BadRequest / Validation — неверные params/body/headers
- `401`: Unauthorized: Active user session required
- `403`: AccessNotAllowed — недостаточно прав или неверная подпись
- `404`: NotFound: CBR has no rates for the date (reason noRates)
- `406`: TimeResync — расхождение rts с сервером
- `422`: UnprocessableContent: Date is not YYYY-MM-DD or later than tomorrow - CBR has not set the rate yet (reason future)
- `500`: ExternalRequest: CBR is unavailable or did not answer in 5 s (reason cbrUnavailable)

---

[API](https://skmtc.dev/kosmodrom/apis/kosmodrom-backend-api.md) · [All operations](https://skmtc.dev/kosmodrom/apis/kosmodrom-backend-api/llms.txt) · [OpenAPI document](https://skmtc.dev/kosmodrom/apis/kosmodrom-backend-api/revisions/a143b51ba29a?raw)
