Обмен валюты

OpenAPI 1.0.0

### API предоставляет следующие возможности: - запрашивать обменные курсы валют - запрашивать дайджест (цифровой документ с условиями сделки) для подписания электронно-цифровой подписью - инициировать исполнение спотовых сделок - запрашивать историю ранее заключенных сделок - запрашивать историю по подтверждениям сделок с учетом фильтров и сортировки

Скачать исходную спецификацию

Варианты

  • Паблик

Операции API

GET /v1/trades/securities — Запрос для получения списка доступных инструментов для спота и форварда

Чтобы запросить список инструментов вызовите метод и получите в ответе список доступных инструментов

{
  "tags": [
    "Client settings"
  ],
  "summary": "Запрос для получения списка доступных инструментов для спота и форварда",
  "operationId": "tradesSecurities",
  "description": "Чтобы запросить список инструментов вызовите метод и получите в ответе список доступных инструментов",
  "parameters": [
    {
      "in": "header",
      "name": "CNUM",
      "description": "Уникальный идентификатор клиента (CNUM)",
      "required": true,
      "schema": {
        "type": "string",
        "example": "U12345"
      }
    },
    {
      "$ref": "#/components/parameters/IdTokenHeader"
    },
    {
      "$ref": "#/components/parameters/AuthorizationHeader"
    }
  ],
  "responses": {
    "200": {
      "description": "Массив со списком доступных инструментов",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "required": [
              "result",
              "requestId"
            ],
            "properties": {
              "result": {
                "type": "array",
                "description": "Массив со списком досутпных инструментов",
                "required": [
                  "currencies",
                  "tenor"
                ],
                "items": {
                  "type": "object",
                  "properties": {
                    "currencies": {
                      "type": "object",
                      "description": "Объект с информацией о базовой и котируемой валютой из инструмента",
                      "required": [
                        "base",
                        "quoted"
                      ],
                      "properties": {
                        "base": {
                          "type": "string",
                          "description": "Базовая валют инструмента"
                        },
                        "quoted": {
                          "type": "string",
                          "description": "Котируемая валюта инструмента"
                        }
                      }
                    },
                    "tenor": {
                      "type": "string",
                      "description": "Значение определяющее дату расчета по сделке, возможные значения TOD - сегодня, TOM - завтра, SPOT - после завтра, BRD - форвардный тенор"
                    },
                    "valueDate": {
                      "type": "string",
                      "description": "Дата расчета для инструмента с теноромами TOD - сегодня, TOM - завтра, SPOT - после завтра"
                    },
                    "minSettlementDate": {
                      "type": "string",
                      "description": "Минимальная дата расчета для форвардного тенора, иначе null"
                    },
                    "maxSettlementDate": {
                      "type": "string",
                      "description": "Максимальная дата расчета для форвардного тенора, иначе null"
                    },
                    "decimalPlaces": {
                      "type": "integer",
                      "description": "Количество знаков после запятой для курсов валюты"
                    }
                  }
                }
              },
              "requestId": {
                "type": "string",
                "description": "Идентификатор запроса для трейсинга"
              }
            }
          },
          "examples": {
            "Успешный ответ": {
              "summary": "Успешный ответ",
              "value": {
                "result": [
                  {
                    "currencies": {
                      "base": "USD",
                      "quoted": "RUB"
                    },
                    "tenor": "TOD",
                    "valueDate": "2024-05-19",
                    "minSettlementDate": null,
                    "maxSettlementDate": null,
                    "decimalPlaces": 4
                  },
                  {
                    "currencies": {
                      "base": "USD",
                      "quoted": "RUB"
                    },
                    "tenor": "BRD",
                    "valueDate": null,
                    "minSettlementDate": "2024-05-19",
                    "maxSettlementDate": "2025-05-19",
                    "decimalPlaces": 3
                  }
                ],
                "requestId": "e0e70833c68e3c32"
              }
            }
          }
        }
      }
    },
    "400": {
      "description": "Плохой запрос",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "required": [
              "error",
              "requestId"
            ],
            "properties": {
              "error": {
                "type": "object",
                "description": "Объект с кодом ошибки",
                "required": [
                  "code"
                ],
                "properties": {
                  "code": {
                    "type": "string",
                    "description": "Значение кода ошибки",
                    "example": "app.invalid.request"
                  },
                  "message": {
                    "type": "string",
                    "description": "Описание кода ошибки",
                    "example": "Bad Request"
                  },
                  "data": {
                    "type": "array",
                    "description": "Дополнительная информация об ошибке",
                    "items": {
                      "type": "string"
                    }
                  }
                }
              },
              "requestId": {
                "type": "string",
                "description": "Идентификатор запроса",
                "example": "58286c252677a6"
              }
            }
          }
        }
      }
    },
    "401": {
      "$ref": "#/components/responses/Unauthorized"
    },
    "500": {
      "$ref": "#/components/responses/InternalError"
    }
  }
}

POST /v1/trades/rates — Получение обменного курса для спотовых сделок

Чтоб запросить обменный курс валют, введите обязательные параметры и получите в ответе: - идентификатор квоты - курс покупки и продажи валюты

{
  "tags": [
    "Spot"
  ],
  "summary": "Получение обменного курса для спотовых сделок",
  "operationId": "tradesRates",
  "description": "Чтоб запросить обменный курс валют, введите обязательные параметры и получите в ответе: \n  - идентификатор квоты\n  - курс покупки и продажи валюты",
  "parameters": [
    {
      "in": "header",
      "name": "CNUM",
      "description": "Уникальный идентификатор клиента (CNUM)",
      "required": true,
      "schema": {
        "type": "string",
        "example": "U12345"
      }
    },
    {
      "$ref": "#/components/parameters/IdTokenHeader"
    },
    {
      "$ref": "#/components/parameters/AuthorizationHeader"
    }
  ],
  "requestBody": {
    "description": "Запросить обменные курсы для валютной пары",
    "content": {
      "application/json": {
        "schema": {
          "required": [
            "amount",
            "currency",
            "currencyPair",
            "tenor"
          ],
          "type": "object",
          "properties": {
            "amount": {
              "type": "number",
              "description": "Объем на который запрашивается цена",
              "example": 10000
            },
            "currency": {
              "type": "string",
              "description": "Валюта объема в соответсвии с стандартом ISO 4217",
              "example": "USD"
            },
            "currencyPair": {
              "type": "string",
              "description": "Валютная пара",
              "example": "USD/RUB"
            },
            "tenor": {
              "type": "string",
              "description": "Значение определяющее дату расчета по сделке, возможные значения TOD - сегодня, TOM - завтра, SPOT - после завтра",
              "example": "TOD"
            }
          }
        }
      }
    },
    "required": true
  },
  "responses": {
    "200": {
      "description": "Обменный курс по запрошенным параметрам",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "required": [
              "result",
              "requestId"
            ],
            "properties": {
              "result": {
                "type": "object",
                "description": "Объект с результатом исполнения запроса",
                "required": [
                  "rfqId",
                  "currencyPair",
                  "tenor",
                  "clientBuy",
                  "clientSell",
                  "priceDecimalPlaces",
                  "tradeDate",
                  "ttl",
                  "valueDate"
                ],
                "properties": {
                  "rfqId": {
                    "type": "string",
                    "description": "Идентификатор запроса цены",
                    "example": "207b0e8112b911ef93a38bb1d711c250"
                  },
                  "currencyPair": {
                    "type": "string",
                    "description": "Валютная пара из запроса",
                    "example": "USD/RUB"
                  },
                  "tenor": {
                    "type": "string",
                    "description": "Значение определяющее дату расчета по сделке, возможные значения TOD - сегодня, TOM - завтра, SPOT - после завтра",
                    "example": "TOD"
                  },
                  "clientBuy": {
                    "type": "object",
                    "description": "Объект c курсом и объемом покупки",
                    "required": [
                      "price",
                      "amount",
                      "currency"
                    ],
                    "properties": {
                      "price": {
                        "type": "number",
                        "description": "Обменный курс покупки",
                        "example": 92.4386
                      },
                      "amount": {
                        "type": "number",
                        "description": "Объем покупки",
                        "example": 10000
                      },
                      "currency": {
                        "type": "string",
                        "description": "Валюта объема покупки",
                        "example": "USD"
                      }
                    }
                  },
                  "clientSell": {
                    "type": "object",
                    "description": "Объект c курсом и объемом продажи",
                    "required": [
                      "price",
                      "amount",
                      "currency"
                    ],
                    "properties": {
                      "price": {
                        "type": "number",
                        "description": "Обменный курс продажи",
                        "example": 92.5386
                      },
                      "amount": {
                        "type": "number",
                        "description": "Объем продажи",
                        "example": 10000
                      },
                      "currency": {
                        "type": "string",
                        "description": "Валюта объема продажа",
                        "example": "USD"
                      }
                    }
                  },
                  "priceDecimalPlaces": {
                    "type": "integer",
                    "description": "Количество знаков после запятой для курсов валюты",
                    "example": 4
                  },
                  "tradeDate": {
                    "type": "string",
                    "description": "Дата совершения операции по серверу",
                    "example": "2024-05-16"
                  },
                  "valueDate": {
                    "type": "string",
                    "description": "Дата расчета по сделке",
                    "example": "2024-05-19"
                  },
                  "ttl": {
                    "type": "integer",
                    "description": "Время жизни обменных курсов в миллисекундах",
                    "example": 10000
                  }
                }
              },
              "requestId": {
                "type": "string",
                "description": "Идентификатор запроса для трейсинга",
                "example": "58286c2526a677a6"
              }
            }
          }
        }
      }
    },
    "400": {
      "description": "Плохой запрос",
      "content": {
        "application/json": {
          "schema": {
            "required": [
              "error",
              "requestId"
            ],
            "type": "object",
            "properties": {
              "error": {
                "type": "object",
                "description": "Объект с кодом ошибки",
                "required": [
                  "code"
                ],
                "properties": {
                  "code": {
                    "type": "string",
                    "description": "Значение кода ошибки"
                  },
                  "message": {
                    "type": "string",
                    "description": "Описание ошибки"
                  }
                }
              },
              "requestId": {
                "type": "string",
                "description": "Идентификатор запроса"
              }
            }
          },
          "examples": {
            "Некорректный запрос": {
              "summary": "Некорректный запрос",
              "value": {
                "error": {
                  "code": "app.invalid.request",
                  "message": "Bad Request"
                },
                "requestId": "c396fda4d36c4f12"
              }
            },
            "Недоступный инструмент": {
              "summary": "Недоступный инструмент",
              "value": {
                "error": {
                  "code": "unavailable.instrument"
                },
                "requestId": "c396fda4d36c4f12"
              }
            },
            "Слишком маленькая сумма сделки": {
              "summary": "Слишком маленькая сумма сделки",
              "value": {
                "error": {
                  "code": "rfq.base.amount.too.small",
                  "message": "",
                  "data": [
                    {
                      "field": "baseAmount",
                      "value": 1
                    }
                  ]
                }
              }
            }
          }
        }
      }
    },
    "401": {
      "$ref": "#/components/responses/Unauthorized"
    },
    "422": {
      "description": "Бизнес ошибки",
      "content": {
        "application/json": {
          "schema": {
            "required": [
              "error",
              "requestId"
            ],
            "type": "object",
            "properties": {
              "error": {
                "type": "object",
                "description": "Объект с кодом ошибки",
                "required": [
                  "code"
                ],
                "properties": {
                  "code": {
                    "type": "string",
                    "description": "Значение кода ошибки"
                  }
                }
              },
              "requestId": {
                "type": "string",
                "description": "Идентификатор запроса"
              }
            }
          },
          "examples": {
            "Запрос курсов выключен": {
              "summary": "Запрос курсов выключен",
              "value": {
                "error": {
                  "code": "rfq.disabled",
                  "message": null
                },
                "requestId": "c396fda4d36c4f12"
              }
            },
            "Запрос был произведен вне часов торговли": {
              "summary": "Запрос был произведен вне часов торговли",
              "value": {
                "error": {
                  "code": "rfq.market.data.invalid.trading.time.outside.trading.hours",
                  "message": null
                },
                "requestId": "c396fda4d36c4f12"
              }
            },
            "Запрос был произведен в праздник или нерабочий день": {
              "summary": "Запрос был произведен в праздник или нерабочий день",
              "value": {
                "error": {
                  "code": "rfq.market.data.invalid.trading.time.holiday",
                  "message": null
                },
                "requestId": "c396fda4d36c4f12"
              }
            },
            "Запрошенная сумма превышает допустимый порог": {
              "summary": "Запрошенная сумма превышает допустимый порог",
              "value": {
                "error": {
                  "code": "rfq.quote.exceeds.limits",
                  "message": null
                },
                "requestId": "c396fda4d36c4f12"
              }
            },
            "Нет ликвидности для предоставления цены": {
              "summary": "Нет ликвидности для предоставления цены",
              "value": {
                "error": {
                  "code": "rfq.market.data.not.available",
                  "message": null
                },
                "requestId": "c396fda4d36c4f12"
              }
            }
          }
        }
      }
    },
    "424": {
      "description": "Некорректный подписант",
      "content": {
        "application/json": {
          "schema": {
            "required": [
              "error",
              "requestId"
            ],
            "type": "object",
            "properties": {
              "error": {
                "type": "object",
                "description": "Объект с кодом ошибки",
                "required": [
                  "code"
                ],
                "properties": {
                  "code": {
                    "type": "string",
                    "description": "Значение кода ошибки"
                  }
                }
              },
              "requestId": {
                "type": "string",
                "description": "Идентификатор запроса"
              }
            }
          },
          "examples": {
            "Некорректный подписант": {
              "summary": "Некорректный подписант",
              "value": {
                "error": {
                  "code": "operator.signer.not.found",
                  "message": null
                },
                "requestId": "c396fda4d36c4f12"
              }
            }
          }
        }
      }
    },
    "500": {
      "$ref": "#/components/responses/InternalError"
    }
  }
}

POST /v1/trades/digest — Запрос дайджеста для спотовых сделок

Чтоб запросить дайджест, введите обязательные параметры и получите в ответе: - дайджест - идентификатор будущего ордера

{
  "tags": [
    "Spot"
  ],
  "summary": "Запрос дайджеста для спотовых сделок",
  "operationId": "tradesDigest",
  "description": "Чтоб запросить дайджест, введите обязательные параметры и получите в ответе: \n  - дайджест\n  - идентификатор будущего ордера",
  "parameters": [
    {
      "in": "header",
      "name": "CNUM",
      "description": "Уникальный идентификатор клиента (CNUM)",
      "required": true,
      "schema": {
        "type": "string",
        "example": "U12345"
      }
    },
    {
      "$ref": "#/components/parameters/IdTokenHeader"
    },
    {
      "$ref": "#/components/parameters/AuthorizationHeader"
    }
  ],
  "requestBody": {
    "description": "Запросить дайджест по ранее полученному курсу валюты",
    "content": {
      "application/json": {
        "schema": {
          "required": [
            "rfqId",
            "side",
            "publicKeyCertificate"
          ],
          "type": "object",
          "properties": {
            "rfqId": {
              "type": "string",
              "description": "Идентификатор запроса цены",
              "example": "90b611d0407f11ef9cf4d329b5dcf6c2"
            },
            "side": {
              "type": "string",
              "description": "Сторона сделки (BUY/SELL)",
              "example": "BUY"
            },
            "publicKeyCertificate": {
              "type": "string",
              "description": "Сертификат публичного ключа из токена CryptoPro, зашифрованный в BASE64",
              "example": "cadf8371-c7b9-4407-bf94-2e8ae685a97"
            }
          }
        }
      }
    },
    "required": true
  },
  "responses": {
    "200": {
      "description": "Обменный курс по запрошенным параметрам",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "required": [
              "result",
              "requestId"
            ],
            "properties": {
              "result": {
                "type": "object",
                "description": "Объект с результатом исполнения запроса",
                "required": [
                  "digest",
                  "preorderId"
                ],
                "properties": {
                  "digest": {
                    "type": "string",
                    "description": "Документ c условиями сделки для подписания с помощью КриптоПро сертификата",
                    "example": "eyJidXlBY2NvdW50Ijp7Im51bWJlciI6IjQwNzAyMTU2NDAwMDAyMzAxMDM0IiwiY3VycmVuY3kiOiJDTkgifSwiYnV5QW1vdW50IjoiODgyLjQzIiwic2VsbEFjY291bnQiOnsibnVtYmVyIjoiNDA3MDI4MTAxMDAwMDEzMDEwMzQiLCJjdXJyZW5jeSI6IlJVQiJ9LCJzZWxsQW1vdW50IjoiMTAwMDAuMDAiLCJjbGllbnRTaWRlIjoiU0VMTCIsInByaWNlIjoiMTEuMzMyMyIsImN1cnJlbmN5UGFpciI6IkNOSC9SVUIiLCJ0ZW5vciI6IlRPRCIsInZhbHVlRGF0ZSI6MTcyMDc0MjQwMC4wMDAwMDAwMDAsInRyYWRlRGF0ZSI6MTcyMDgxNDYwNy40OTMwMDAwMDAsInRyYWRlTW9kZSI6IkJBTEFOQ0UiLCJjbGllbnQiOnsiaWQiOiIzMDEwMzQiLCJuYW1lIjoi0JDQstC40LvQtdC60YEg0J7QntCeIn0sInRyYWRlciI6eyJpZCI6IjM3OTU2MjEiLCJuYW1lIjoiVW5rbm93biBVbmtub3duIn19"
                  },
                  "preorderId": {
                    "type": "string",
                    "description": "Идентификатор будущего ордера",
                    "example": 2101723
                  }
                }
              },
              "requestId": {
                "type": "string",
                "description": "Идентификатор запроса для трейсинга",
                "example": "58286c2526a677a6"
              }
            }
          }
        }
      }
    },
    "400": {
      "description": "Плохой запрос",
      "content": {
        "application/json": {
          "schema": {
            "required": [
              "error",
              "requestId"
            ],
            "type": "object",
            "properties": {
              "error": {
                "type": "object",
                "description": "Объект с кодом ошибки",
                "required": [
                  "code"
                ],
                "properties": {
                  "code": {
                    "type": "string",
                    "description": "Значение кода ошибки",
                    "example": "app.invalid.request"
                  },
                  "message": {
                    "type": "string",
                    "description": "Описание ошибки",
                    "example": "Bad Request"
                  },
                  "data": {
                    "type": "array",
                    "description": "Дополнительные даннные об ошибке",
                    "items": {
                      "type": "object",
                      "properties": {
                        "field": {
                          "type": "string",
                          "description": "Параметр"
                        },
                        "value": {
                          "type": "string",
                          "description": "Значение пармаметра"
                        },
                        "status": {
                          "type": "string",
                          "description": "Статус авторизации счетов"
                        },
                        "fromAccount": {
                          "type": "object",
                          "description": "Объект с параметрами счета списания",
                          "properties": {
                            "number": {
                              "type": "string",
                              "description": "Счет списания"
                            },
                            "currency": {
                              "type": "string",
                              "description": "Валюта счета списания"
                            }
                          }
                        },
                        "toAccount": {
                          "type": "object",
                          "description": "Объект с параметрами счета зачисления",
                          "properties": {
                            "number": {
                              "type": "string",
                              "description": "Счет зачисления"
                            },
                            "currency": {
                              "type": "string",
                              "description": "Валюта счета зачисления"
                            }
                          }
                        }
                      }
                    }
                  }
                }
              },
              "requestId": {
                "type": "string",
                "description": "Идентификатор запроса",
                "example": "c396fda4d36c4f12"
              }
            }
          },
          "examples": {
            "Невалидный запрос": {
              "summary": "Невалидный запрос",
              "value": {
                "error": {
                  "code": "app.invalid.request",
                  "message": "Bad Request"
                }
              }
            },
            "Невалидный идентификатор курса валюты": {
              "summary": "Невалидный идентификатор курса валюты",
              "value": {
                "error": {
                  "code": "preorder.bad.rfq.id",
                  "message": "Unable to find RFQ '9b6cfe8bacc911efb26f47dc2d9006e8' for client 'BAADMP'",
                  "data": [
                    {
                      "field": "client.id",
                      "value": "301034"
                    },
                    {
                      "field": "rfqId",
                      "value": "9b6cfe8bacc911efb26f47dc2d9006e8"
                    },
                    {
                      "field": "signer.id",
                      "value": "1174513"
                    }
                  ]
                },
                "requestId": "c396fda4d36c4f12"
              }
            },
            "Ошибка авторизации счетов": {
              "summary": "Ошибка авторизации счетов",
              "value": {
                "error": {
                  "code": "order.execution.not.authorized",
                  "message": "Unauthorized preorder",
                  "data": {
                    "status": "FROM_ACCOUNT_NOT_ENOUGH_AUTHORITIES",
                    "fromAccount": {
                      "number": "EXTERNAL_ACCOUNT_RUB",
                      "currency": "RUB"
                    },
                    "toAccount": {
                      "number": "EXTERNAL_ACCOUNT_USD",
                      "currency": "USD"
                    }
                  }
                },
                "requestId": "c396fda4d36c4f12"
              }
            },
            "Истек срок жизни курса валюты": {
              "summary": "Истек срок жизни курса валюты",
              "value": {
                "error": {
                  "code": "order.execution.request.rejected.stale",
                  "message": "Order execution request '0000003413105' rejected with code [FXO_STALE_PREORDER:'Preorder '0000003413105' created by trader '1085222' rejected with status 'FXO_STALE_PREORDER'!']"
                },
                "requestId": "c396fda4d36c4f12"
              }
            }
          }
        }
      }
    },
    "401": {
      "$ref": "#/components/responses/Unauthorized"
    },
    "422": {
      "description": "Бизнес ошибки",
      "content": {
        "application/json": {
          "schema": {
            "required": [
              "error",
              "requestId"
            ],
            "type": "object",
            "properties": {
              "error": {
                "type": "object",
                "description": "Объект с кодом ошибки",
                "required": [
                  "code"
                ],
                "properties": {
                  "code": {
                    "type": "string",
                    "description": "Значение кода ошибки"
                  }
                }
              },
              "requestId": {
                "type": "string",
                "description": "Идентификатор запроса"
              }
            }
          },
          "examples": {
            "Превышение допустимого объема лимитов": {
              "summary": "Превышение допустимого объема лимитов",
              "value": {
                "error": {
                  "code": "app.trade.limits.exceeded"
                },
                "requestId": "c396fda4d36c4f12"
              }
            },
            "Превышено допустимое количество сделок в определенный период": {
              "summary": "Превышено допустимое количество сделок в определенный период",
              "value": {
                "error": {
                  "code": "order.execution.cool-down.period.violated",
                  "message": "Trading was cooled down for client '000000' and currency pair 'EUR/RUB' until 2024-11-25T13:14:20.777 UTC",
                  "data": {
                    "clientId": 0,
                    "currencies": "EUR/RUB",
                    "coolDownUntil": "2024-11-25T13:14:20.777"
                  }
                },
                "requestId": "c396fda4d36c4f12"
              }
            }
          }
        }
      }
    },
    "424": {
      "description": "Некорректный подписант",
      "content": {
        "application/json": {
          "schema": {
            "required": [
              "error",
              "requestId"
            ],
            "type": "object",
            "properties": {
              "error": {
                "type": "object",
                "description": "Объект с кодом ошибки",
                "required": [
                  "code"
                ],
                "properties": {
                  "code": {
                    "type": "string",
                    "description": "Значение кода ошибки"
                  }
                }
              },
              "requestId": {
                "type": "string",
                "description": "Идентификатор запроса"
              }
            }
          },
          "examples": {
            "Некорректный подписант": {
              "summary": "Некорректный подписант",
              "value": {
                "error": {
                  "code": "operator.signer.not.found",
                  "message": "Operator signer data not found for client '000000' and user 'ade09b26-6cf5-482a-adbb-d5b1369b986d'"
                },
                "requestId": "c396fda4d36c4f12"
              }
            }
          }
        }
      }
    },
    "500": {
      "$ref": "#/components/responses/InternalError"
    }
  }
}

POST /v1/trades/create — Запрос на создание ордера для спотовой сделки

Чтобы создать ордер, подпишите полученный дайджест с помощью сертификата КриптоПро и отправьте его в запросе вместе с preorderId и получите в ответе: - результат исполнения ордера - идентификатор исполненного ордера

{
  "tags": [
    "Spot"
  ],
  "summary": "Запрос на создание ордера для спотовой сделки",
  "operationId": "tradesCreate",
  "description": "Чтобы создать ордер, подпишите полученный дайджест с помощью сертификата КриптоПро и отправьте его в запросе вместе с preorderId и получите в ответе: \n  - результат исполнения ордера\n  - идентификатор исполненного ордера",
  "parameters": [
    {
      "in": "header",
      "name": "CNUM",
      "description": "Уникальный идентификатор клиента (CNUM)",
      "required": true,
      "schema": {
        "type": "string",
        "example": "U12345"
      }
    },
    {
      "$ref": "#/components/parameters/IdTokenHeader"
    },
    {
      "$ref": "#/components/parameters/AuthorizationHeader"
    }
  ],
  "requestBody": {
    "description": "Исполнить ордер на обмен валюты по подписанному дайджесту",
    "content": {
      "application/json": {
        "schema": {
          "required": [
            "preorderId",
            "signature"
          ],
          "type": "object",
          "properties": {
            "preorderId": {
              "type": "string",
              "description": "Идентификатор будущего ордера",
              "example": 2101723
            },
            "signature": {
              "type": "string",
              "description": "Подпись полученного дайджеста сертификатом КриптоПро в формает BASE64",
              "example": "MIIKUwYJKoZIhvcNAQcCoIIKRDCCCkACAQExDjAMBggqhQMHAQECAgUAMAsGCSqGSIb3=="
            }
          }
        }
      }
    },
    "required": true
  },
  "responses": {
    "200": {
      "description": "Результат исполнения ордера на обмена валюты",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "required": [
              "result",
              "requestId"
            ],
            "properties": {
              "result": {
                "type": "object",
                "description": "Объект с результатом исполнения запроса",
                "required": [
                  "orderId",
                  "buyAmount",
                  "buyCurrency",
                  "sellAmount",
                  "sellCurrency",
                  "clientSide",
                  "price",
                  "priceDecimalPlaces",
                  "currencyPair",
                  "tenor",
                  "tradeDate",
                  "valueDate"
                ],
                "properties": {
                  "orderId": {
                    "type": "string",
                    "description": "Идентификатор ордера",
                    "example": 2101723
                  },
                  "buyAmount": {
                    "type": "string",
                    "description": "Сумма покупки",
                    "example": 10000.03
                  },
                  "buyCurrency": {
                    "type": "string",
                    "description": "Валюта покупки",
                    "example": "USD"
                  },
                  "sellAmount": {
                    "type": "string",
                    "description": "Сумма продажи",
                    "example": 9000000.11
                  },
                  "sellCurrency": {
                    "type": "string",
                    "description": "Валюта продажи",
                    "example": "RUB"
                  },
                  "clientSide": {
                    "type": "string",
                    "description": "Сторона сделки",
                    "example": "BUY"
                  },
                  "price": {
                    "type": "string",
                    "description": "Курс сделки",
                    "example": 78.1326
                  },
                  "priceDecimalPlaces": {
                    "type": "integer",
                    "description": "Количество цифр в курсе после запятой",
                    "example": 4
                  },
                  "currencyPair": {
                    "type": "string",
                    "description": "Валютная пара",
                    "example": "USD/RUB"
                  },
                  "tenor": {
                    "type": "string",
                    "description": "Значение определяющее дату расчета по сделке, возможные значения TOD - сегодня, TOM - завтра, SPOT - после завтра",
                    "example": "TOD"
                  },
                  "tradeDate": {
                    "type": "string",
                    "description": "Дата сделки",
                    "example": "2024-05-15"
                  },
                  "valueDate": {
                    "type": "string",
                    "description": "Дата расчета",
                    "example": "2024-05-17"
                  }
                }
              },
              "requestId": {
                "type": "string",
                "description": "Идентификатор запроса для трейсинга",
                "example": "58286c2526a677a6"
              }
            }
          }
        }
      }
    },
    "400": {
      "description": "Плохой запрос",
      "content": {
        "application/json": {
          "schema": {
            "required": [
              "error",
              "requestId"
            ],
            "type": "object",
            "properties": {
              "error": {
                "type": "object",
                "description": "Объект с кодом ошибки",
                "required": [
                  "code"
                ],
                "properties": {
                  "code": {
                    "type": "string",
                    "description": "Значение кода ошибки",
                    "example": "app.invalid.request"
                  },
                  "message": {
                    "type": "string",
                    "description": "Описание ошибки",
                    "example": "Bad Request"
                  },
                  "data": {
                    "type": "array",
                    "description": "Дополнительные даннные об ошибке",
                    "items": {
                      "type": "object",
                      "properties": {
                        "field": {
                          "type": "string",
                          "description": "Параметр"
                        },
                        "value": {
                          "type": "string",
                          "description": "Значение пармаметра"
                        },
                        "status": {
                          "type": "string",
                          "description": "Статус авторизации счетов"
                        },
                        "fromAccount": {
                          "type": "object",
                          "description": "Объект с параметрами счета списания",
                          "properties": {
                            "number": {
                              "type": "string",
                              "description": "Счет списания"
                            },
                            "currency": {
                              "type": "string",
                              "description": "Валюта счета списания"
                            }
                          }
                        },
                        "toAccount": {
                          "type": "object",
                          "description": "Объект с параметрами счета зачисления",
                          "properties": {
                            "number": {
                              "type": "string",
                              "description": "Счет зачисления"
                            },
                            "currency": {
                              "type": "string",
                              "description": "Валюта счета зачисления"
                            }
                          }
                        }
                      }
                    }
                  }
                }
              },
              "requestId": {
                "type": "string",
                "description": "Идентификатор запроса",
                "example": "c396fda4d36c4f12"
              }
            }
          },
          "examples": {
            "Невалидный запрос": {
              "summary": "Невалидный запрос",
              "value": {
                "error": {
                  "code": "app.invalid.request",
                  "message": "Invalid request",
                  "data": [
                    {
                      "field": "tradeMode"
                    }
                  ]
                },
                "requestId": "0165ffafab23aa69"
              }
            },
            "Невалидный идентификатор преордера": {
              "summary": "Невалидный идентификатор преордера",
              "value": {
                "error": {
                  "code": "order.execution.bad.preorderId",
                  "message": "Unable to find Preorder '0000010010733' for client '301034'",
                  "data": [
                    {
                      "field": "client.id",
                      "value": "301034"
                    },
                    {
                      "field": "preorderId",
                      "value": "0000010010733"
                    }
                  ]
                },
                "requestId": "0165ffafab23aa69"
              }
            },
            "Истек срок жизни курса валюты": {
              "summary": "Истек срок жизни курса валюты",
              "value": {
                "error": {
                  "code": "order.execution.request.rejected.stale",
                  "message": "Order execution request '0000003413105' rejected with code [FXO_STALE_PREORDER:'Preorder '0000003413105' created by trader '1085222' rejected with status 'FXO_STALE_PREORDER'!']"
                },
                "requestId": "c396fda4d36c4f12"
              }
            },
            "Выключен режим заключения сделок под предпоставочный лимит": {
              "summary": "Выключен режим заключения сделок под предпоставочный лимит",
              "value": {
                "error": {
                  "code": "app.dvp.disabled",
                  "message": "DVP disabled"
                }
              }
            }
          }
        }
      }
    },
    "401": {
      "$ref": "#/components/responses/Unauthorized"
    },
    "422": {
      "description": "Бизнес ошибки",
      "content": {
        "application/json": {
          "schema": {
            "required": [
              "error",
              "requestId"
            ],
            "type": "object",
            "properties": {
              "error": {
                "type": "object",
                "description": "Объект с кодом ошибки",
                "required": [
                  "code"
                ],
                "properties": {
                  "code": {
                    "type": "string",
                    "description": "Значение кода ошибки"
                  },
                  "message": {
                    "type": "string",
                    "description": "Описание кода ошибки"
                  },
                  "data": {
                    "type": "object",
                    "description": "Дополнительная информация об ошибке",
                    "properties": {
                      "tradingHours": {
                        "type": "object",
                        "description": "Информация о часах торговли"
                      }
                    }
                  }
                }
              },
              "requestId": {
                "type": "string",
                "description": "Идентификатор запроса"
              }
            }
          },
          "examples": {
            "Выключена возможность заключать сделки": {
              "summary": "Выключена возможность заключать сделки",
              "value": {
                "error": {
                  "code": "order.execution.trading.disabled",
                  "message": "Trading disable for client '000000' and instrument 'USD/RUB_SPOT'"
                },
                "requestId": "c396fda4d36c4f12"
              }
            },
            "Превышение допустимого объема лимитов": {
              "summary": "Превышение допустимого объема лимитов",
              "value": {
                "error": {
                  "code": "app.trade.limits.exceeded"
                },
                "requestId": "c396fda4d36c4f12"
              }
            },
            "Запрещено покупкать валюту": {
              "summary": "Запрещено покупкать валюту",
              "value": {
                "error": {
                  "code": "app.nonresident.buy.operation.disabled",
                  "message": "Base currency BUY operation disabled!"
                },
                "requestId": "c396fda4d36c4f12"
              }
            },
            "Превышен порог на объем сделки": {
              "summary": "Превышен порог на объем сделки",
              "value": {
                "error": {
                  "code": "order.execution.request.rejected.threshold.exceeded",
                  "data": {
                    "threshold": 3000000,
                    "cooldown": 0,
                    "amount": 4089254.82,
                    "currency": "USD"
                  }
                },
                "requestId": "c396fda4d36c4f12"
              }
            },
            "Клиент не найден": {
              "summary": "Клиент не найден",
              "value": {
                "error": {
                  "code": "order.execution.client.not.found"
                },
                "requestId": "c396fda4d36c4f12"
              }
            },
            "Наступил праздник по рублю": {
              "summary": "Наступил праздник по рублю",
              "value": {
                "error": {
                  "code": "order.execution.invalid.trading.time.holiday"
                },
                "requestId": "c396fda4d36c4f12"
              }
            },
            "Закончились часы торговли по выбранному инструменту": {
              "summary": "Закончились часы торговли по выбранному инструменту",
              "value": {
                "error": {
                  "code": "order.execution.invalid.trading.time.outside.trading.hours",
                  "message": "Try to execute order outside trading hours for client '301034' and instrument 'USD/BYN_TOD'\"",
                  "data": {
                    "tradingHours": {
                      "ranges": [
                        {
                          "from": "23:00",
                          "to": "11:00"
                        }
                      ]
                    }
                  }
                },
                "requestId": "c396fda4d36c4f12"
              }
            },
            "Превышено допустимое количество сделок в определенный период": {
              "summary": "Превышено допустимое количество сделок в определенный период",
              "value": {
                "error": {
                  "code": "order.execution.cool-down.period.violated",
                  "message": "Trading was cooled down for client '000000' and currency pair 'EUR/RUB' until 2024-11-25T13:14:20.777 UTC",
                  "data": {
                    "clientId": 0,
                    "currencies": "EUR/RUB",
                    "coolDownUntil": "2024-11-25T13:14:20.777"
                  }
                },
                "requestId": "c396fda4d36c4f12"
              }
            },
            "Превышен порог максимального объема сделки в источнике ликвидности": {
              "summary": "Превышен порог максимального объема сделки в источнике ликвидности",
              "value": {
                "error": {
                  "code": "order.execution.request.rejected.limit.exceeded",
                  "data": {
                    "instrument": "CNH/RUB_TOM",
                    "side": "SELL",
                    "amount": 12287024.9,
                    "limit": {
                      "currency": "CNH",
                      "value": 12000000,
                      "name": "12000000_CNH"
                    }
                  }
                },
                "requestId": "c396fda4d36c4f12"
              }
            },
            "Выбранный инструмент больше не поддерживается": {
              "summary": "Выбранный инструмент больше не поддерживается",
              "value": {
                "error": {
                  "code": "order.execution.request.rejected.unsupported.instrument",
                  "message": "Order execution request '0000000017663' rejected with code [UNKNOWN_INSTRUMENT:'Ccy2 orders not supported RUB/USD_SPOT']"
                },
                "requestId": "c396fda4d36c4f12"
              }
            },
            "Выбранная дата расчетов стала невалидной": {
              "summary": "Выбранная дата расчетов стала невалидной",
              "value": {
                "error": {
                  "code": "order.execution.request.rejected.invalid.value.date",
                  "message": "Order execution request '0000003394676' rejected with code [FXO_INVALID_VALUE_DATE:'Preorder '0000003394676' created by trader '776534' rejected with status 'FXO_INVALID_VALUE_DATE'!']\""
                },
                "requestId": "c396fda4d36c4f12"
              }
            },
            "Запрос на исполнение ордера отклонен в связи с высокой волатильностью": {
              "summary": "Запрос на исполнение ордера отклонен в связи с высокой волатильностью",
              "value": {
                "error": {
                  "code": "order.execution.request.rejected",
                  "message": "Order execution request '0000000020366' rejected with code [REJECTED_BY_EXCHANGE_OR_BROKER:'null']"
                },
                "requestId": "c396fda4d36c4f12"
              }
            },
            "Некорректный сертификат КриптоПро": {
              "summary": "Некорректный сертификат КриптоПро",
              "value": {
                "error": {
                  "code": "order.execution.request.rejected.invalid.cryptopro.signature",
                  "message": "Invalid order signature",
                  "data": {
                    "remainCount": 1
                  }
                },
                "requestId": "c396fda4d36c4f12"
              }
            }
          }
        }
      }
    },
    "500": {
      "$ref": "#/components/responses/InternalError"
    }
  }
}

POST /v1/securities/{product}/calendar/valuedates — Получение форвардных дат расчетов по тенору

Получение дат расчетов для форвардов по массиву инструментов с базовой валютой, котируемой валютой и тенором

{
  "tags": [
    "Forward"
  ],
  "summary": "Получение форвардных дат расчетов по тенору",
  "operationId": "getForwardValueDates",
  "description": "Получение дат расчетов для форвардов по массиву инструментов с базовой валютой, котируемой валютой и тенором",
  "parameters": [
    {
      "in": "header",
      "name": "CNUM",
      "description": "Уникальный идентификатор клиента (CNUM)",
      "required": true,
      "schema": {
        "type": "string",
        "example": "U12345"
      }
    },
    {
      "in": "path",
      "name": "product",
      "description": "Продукт, для которого запрашиваются даты расчетов",
      "required": true,
      "schema": {
        "type": "string",
        "example": "rfq"
      }
    },
    {
      "$ref": "#/components/parameters/IdTokenHeader"
    },
    {
      "$ref": "#/components/parameters/AuthorizationHeader"
    }
  ],
  "requestBody": {
    "description": "Запрос дат расчетов для форвардов",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "required": [
            "instruments"
          ],
          "properties": {
            "instruments": {
              "type": "array",
              "description": "Массив инструментов",
              "items": {
                "type": "object",
                "required": [
                  "base",
                  "quoted",
                  "tenor"
                ],
                "properties": {
                  "base": {
                    "type": "string",
                    "description": "Базовая валюта",
                    "example": "USD"
                  },
                  "quoted": {
                    "type": "string",
                    "description": "Котируемая валюта",
                    "example": "RUB"
                  },
                  "tenor": {
                    "type": "string",
                    "description": "Форвардный тенор",
                    "example": "W1",
                    "enum": [
                      "W1",
                      "W2",
                      "W3",
                      "M1",
                      "M2",
                      "M3",
                      "M4",
                      "M5",
                      "M6",
                      "M7",
                      "M8",
                      "M9",
                      "M10",
                      "M11",
                      "Y1"
                    ]
                  }
                }
              }
            }
          }
        },
        "examples": {
          "Пример запроса": {
            "summary": "Пример запроса",
            "value": {
              "instruments": [
                {
                  "base": "USD",
                  "quoted": "RUB",
                  "tenor": "W1"
                }
              ]
            }
          }
        }
      }
    },
    "required": true
  },
  "responses": {
    "200": {
      "description": "Даты расчетов для запрошенных форвардных теноров",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "required": [
              "result",
              "requestId"
            ],
            "properties": {
              "result": {
                "type": "object",
                "description": "Объект с результатом исполнения запроса",
                "required": [
                  "instruments",
                  "errors"
                ],
                "properties": {
                  "instruments": {
                    "type": "array",
                    "description": "Массив инструментов с рассчитанными датами расчетов",
                    "items": {
                      "type": "object",
                      "required": [
                        "base",
                        "quoted",
                        "tenor",
                        "valueDate"
                      ],
                      "properties": {
                        "base": {
                          "type": "string",
                          "description": "Базовая валюта",
                          "example": "USD"
                        },
                        "quoted": {
                          "type": "string",
                          "description": "Котируемая валюта",
                          "example": "RUB"
                        },
                        "tenor": {
                          "type": "string",
                          "description": "Форвардный тенор",
                          "example": "W1"
                        },
                        "valueDate": {
                          "type": "string",
                          "format": "date",
                          "description": "Дата расчетов",
                          "example": "2026-05-27"
                        }
                      }
                    }
                  },
                  "errors": {
                    "type": "array",
                    "description": "Массив ошибок, если по какому-то инструменту не удалось определить дату расчетов",
                    "items": {
                      "type": "object",
                      "required": [
                        "base",
                        "quoted",
                        "tenor",
                        "message"
                      ],
                      "properties": {
                        "base": {
                          "type": "string",
                          "description": "Базовая валюта",
                          "example": "USD"
                        },
                        "quoted": {
                          "type": "string",
                          "description": "Котируемая валюта",
                          "example": "RUB"
                        },
                        "tenor": {
                          "type": "string",
                          "description": "Форвардный тенор",
                          "example": "W1"
                        },
                        "message": {
                          "type": "string",
                          "description": "Сообщение об ошибке",
                          "example": "Value date undefined"
                        }
                      }
                    }
                  }
                }
              },
              "requestId": {
                "type": "string",
                "description": "Идентификатор запроса для трейсинга",
                "example": "6a0e086258fb68d75a32237a1e58f441"
              }
            }
          },
          "examples": {
            "Успешный ответ": {
              "summary": "Успешный ответ",
              "value": {
                "result": {
                  "instruments": [
                    {
                      "base": "RUB",
                      "quoted": "USD",
                      "tenor": "W1",
                      "valueDate": "2026-05-27"
                    }
                  ],
                  "errors": []
                },
                "requestId": "6a0e086258fb68d75a32237a1e58f441"
              }
            },
            "Частично успешный ответ": {
              "summary": "Частично успешный ответ",
              "value": {
                "result": {
                  "instruments": [
                    {
                      "base": "RUB",
                      "quoted": "USD",
                      "tenor": "W1",
                      "valueDate": "2026-05-27"
                    }
                  ],
                  "errors": [
                    {
                      "base": "RUB",
                      "quoted": "USD",
                      "tenor": "M1",
                      "message": "Value date undefined"
                    }
                  ]
                },
                "requestId": "6a0e086258fb68d75a32237a1e58f441"
              }
            }
          }
        }
      }
    },
    "400": {
      "description": "Некорректный запрос",
      "content": {
        "application/json": {
          "schema": {
            "required": [
              "error",
              "requestId"
            ],
            "type": "object",
            "properties": {
              "error": {
                "type": "object",
                "description": "Объект с кодом ошибки",
                "required": [
                  "code"
                ],
                "properties": {
                  "code": {
                    "type": "string",
                    "description": "Значение кода ошибки",
                    "example": "app.invalid.request"
                  },
                  "message": {
                    "type": "string",
                    "description": "Описание ошибки",
                    "example": "Bad Request"
                  },
                  "data": {
                    "type": "object",
                    "description": "Дополнительная информация об ошибке"
                  }
                }
              },
              "requestId": {
                "type": "string",
                "description": "Идентификатор запроса",
                "example": "6a0e086258fb68d75a32237a1e58f441"
              }
            }
          },
          "examples": {
            "Некорректный запрос": {
              "summary": "Некорректный запрос",
              "value": {
                "error": {
                  "code": "app.invalid.request",
                  "message": "Bad Request"
                },
                "requestId": "6a0e086258fb68d75a32237a1e58f441"
              }
            }
          }
        }
      }
    },
    "401": {
      "$ref": "#/components/responses/Unauthorized"
    },
    "500": {
      "$ref": "#/components/responses/InternalError"
    }
  }
}

POST /v1/securities/{product}/ndf/calendar/fixing-references — Получение доступного способа определения курса спот

Получение источника данных, по которому в дату оценки банк определит курс фиксинга, с которым сравнивается курс форварда для расчета курсовой разницы

{
  "tags": [
    "Forward"
  ],
  "summary": "Получение доступного способа определения курса спот",
  "operationId": "getNdfFixingReferences",
  "description": "Получение источника данных, по которому в дату оценки банк определит курс фиксинга, с которым сравнивается курс форварда для расчета курсовой разницы",
  "parameters": [
    {
      "in": "header",
      "name": "CNUM",
      "description": "Уникальный идентификатор клиента (CNUM)",
      "required": true,
      "schema": {
        "type": "string",
        "example": "U12345"
      }
    },
    {
      "in": "path",
      "name": "product",
      "description": "Продукт, для которого запрашиваются доступные способы определения курса спот",
      "required": true,
      "schema": {
        "type": "string",
        "example": "rfq"
      }
    },
    {
      "$ref": "#/components/parameters/IdTokenHeader"
    },
    {
      "$ref": "#/components/parameters/AuthorizationHeader"
    }
  ],
  "requestBody": {
    "description": "Запрос доступных способов определения курса спот",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "required": [
            "base",
            "quoted",
            "valueDate"
          ],
          "properties": {
            "base": {
              "type": "string",
              "description": "Базовая валюта",
              "example": "USD"
            },
            "quoted": {
              "type": "string",
              "description": "Котируемая валюта",
              "example": "RUB"
            },
            "valueDate": {
              "type": "string",
              "format": "date",
              "description": "Дата расчетов",
              "example": "2026-05-28"
            }
          }
        },
        "examples": {
          "Пример запроса": {
            "summary": "Пример запроса",
            "value": {
              "base": "USD",
              "quoted": "RUB",
              "valueDate": "2026-05-28"
            }
          }
        }
      }
    },
    "required": true
  },
  "responses": {
    "200": {
      "description": "Доступные способы определения курса спот",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "required": [
              "result",
              "requestId"
            ],
            "properties": {
              "result": {
                "type": "object",
                "description": "Объект с результатом исполнения запроса",
                "required": [
                  "fixingReferences"
                ],
                "properties": {
                  "fixingReferences": {
                    "type": "array",
                    "description": "Массив доступных источников данных для определения курса фиксинга",
                    "items": {
                      "type": "object",
                      "required": [
                        "type",
                        "fixingDate"
                      ],
                      "properties": {
                        "type": {
                          "type": "string",
                          "description": "Источник данных для определения курса фиксинга",
                          "example": "RAIF_FIXING"
                        },
                        "fixingDate": {
                          "type": "string",
                          "format": "date",
                          "description": "Дата оценки",
                          "example": "2026-05-27"
                        }
                      }
                    }
                  }
                }
              },
              "requestId": {
                "type": "string",
                "description": "Идентификатор запроса для трейсинга",
                "example": "6a0ee4780b5058561de931f2aad90b2d"
              }
            }
          },
          "examples": {
            "Успешный ответ": {
              "summary": "Успешный ответ",
              "value": {
                "result": {
                  "fixingReferences": [
                    {
                      "type": "RAIF_FIXING",
                      "fixingDate": "2026-05-27"
                    }
                  ]
                },
                "requestId": "6a0ee4780b5058561de931f2aad90b2d"
              }
            }
          }
        }
      }
    },
    "400": {
      "description": "Некорректный запрос",
      "content": {
        "application/json": {
          "schema": {
            "required": [
              "error",
              "requestId"
            ],
            "type": "object",
            "properties": {
              "error": {
                "type": "object",
                "description": "Объект с кодом ошибки",
                "required": [
                  "code"
                ],
                "properties": {
                  "code": {
                    "type": "string",
                    "description": "Значение кода ошибки",
                    "example": "app.invalid.request"
                  },
                  "message": {
                    "type": "string",
                    "description": "Описание ошибки",
                    "example": "Bad Request"
                  }
                }
              },
              "requestId": {
                "type": "string",
                "description": "Идентификатор запроса",
                "example": "6a0ee4780b5058561de931f2aad90b2d"
              }
            }
          },
          "examples": {
            "Некорректный запрос": {
              "summary": "Некорректный запрос",
              "value": {
                "error": {
                  "code": "app.invalid.request",
                  "message": "Bad Request"
                },
                "requestId": "6a0ee4780b5058561de931f2aad90b2d"
              }
            }
          }
        }
      }
    },
    "401": {
      "$ref": "#/components/responses/Unauthorized"
    },
    "500": {
      "$ref": "#/components/responses/InternalError"
    }
  }
}

GET /v1/rfq/forward — Получение обменного курса для поставочного/беспоставочного форварда

Чтоб запросить обменный курс валют, введите обязательные параметры и получите в ответе: - идентификатор квоты - курс на указанную сторону

{
  "tags": [
    "Forward"
  ],
  "summary": "Получение обменного курса для поставочного/беспоставочного форварда",
  "operationId": "getForwardRfq",
  "description": "Чтоб запросить обменный курс валют, введите обязательные параметры и получите в ответе:\n  - идентификатор квоты\n  - курс на указанную сторону",
  "parameters": [
    {
      "in": "header",
      "name": "CNUM",
      "description": "Уникальный идентификатор клиента (CNUM)",
      "required": true,
      "schema": {
        "type": "string",
        "example": "U12345"
      }
    },
    {
      "in": "query",
      "name": "baseCurrency",
      "description": "Базовая валюта",
      "required": true,
      "schema": {
        "type": "string",
        "example": "USD"
      }
    },
    {
      "in": "query",
      "name": "quotedCurrency",
      "description": "Котируемая валюта",
      "required": true,
      "schema": {
        "type": "string",
        "example": "RUB"
      }
    },
    {
      "in": "query",
      "name": "amount",
      "description": "Объем, на который запрашивается цена",
      "required": true,
      "schema": {
        "type": "string",
        "example": 5000
      }
    },
    {
      "in": "query",
      "name": "side",
      "description": "Сторона сделки",
      "required": true,
      "schema": {
        "type": "string",
        "enum": [
          "BUY",
          "SELL"
        ],
        "example": "SELL"
      }
    },
    {
      "in": "query",
      "name": "endorsement",
      "description": "Способ подтверждения сделки",
      "required": true,
      "schema": {
        "type": "string",
        "example": "CRYPTO_PRO"
      }
    },
    {
      "in": "query",
      "name": "valueDate",
      "description": "Дата расчетов по форвардной сделке",
      "required": true,
      "schema": {
        "type": "string",
        "format": "date",
        "example": "2026-05-28"
      }
    },
    {
      "in": "query",
      "name": "settlMethod",
      "description": "Тип расчетов по сделке",
      "required": true,
      "schema": {
        "type": "string",
        "enum": [
          "DELIVERABLE",
          "NON_DELIVERABLE"
        ]
      },
      "examples": {
        "Поставочный форвард": {
          "summary": "Поставочный форвард",
          "value": "DELIVERABLE"
        },
        "Беспоставочный форвард": {
          "summary": "Беспоставочный форвард",
          "value": "NON_DELIVERABLE"
        }
      }
    },
    {
      "in": "query",
      "name": "fixingType",
      "description": "Способ определения курса спот для беспоставочного форварда. Его можно определить по ответу соответствующего API",
      "required": false,
      "schema": {
        "type": "string",
        "enum": [
          "RAIF_FIXING",
          "CBRF_FIXING"
        ]
      },
      "examples": {
        "Поставочный форвард": {
          "summary": "Поставочный форвард",
          "value": "Не указывать"
        },
        "Беспоставочный форвард": {
          "summary": "Беспоставочный форвард",
          "value": "RAIF_FIXING"
        }
      }
    },
    {
      "in": "query",
      "name": "initialMarginCurrency",
      "description": "Валюта первоначальной маржевой суммы. Указывается, если нужен курс для форварда под обеспечение",
      "required": false,
      "schema": {
        "type": "string",
        "enum": [
          "RUB"
        ]
      },
      "examples": {
        "Поставочный форвард": {
          "summary": "Форвард не под обеспечение",
          "value": "Не указывать"
        },
        "Беспоставочный форвард": {
          "summary": "Форвард под обеспечение",
          "value": "RUB"
        }
      }
    },
    {
      "$ref": "#/components/parameters/IdTokenHeader"
    },
    {
      "$ref": "#/components/parameters/AuthorizationHeader"
    }
  ],
  "responses": {
    "200": {
      "description": "Обменный курс для поставочного/беспоставочного форварда",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "required": [
              "result",
              "requestId"
            ],
            "properties": {
              "result": {
                "type": "object",
                "description": "Объект с результатом исполнения запроса",
                "required": [
                  "rfqId",
                  "buyAmount",
                  "buyCurrency",
                  "sellAmount",
                  "sellCurrency",
                  "clientSide",
                  "price",
                  "priceDecimalPlaces",
                  "initialMargin",
                  "currencyPair",
                  "tenor",
                  "valueDate",
                  "tradeDate",
                  "ttl",
                  "enableTrading"
                ],
                "properties": {
                  "rfqId": {
                    "type": "string",
                    "description": "Идентификатор запроса цены",
                    "example": "dc037808550811f18473e3d33f213b47"
                  },
                  "buyAmount": {
                    "type": "string",
                    "description": "Сумма покупки",
                    "example": "468560"
                  },
                  "buyCurrency": {
                    "type": "string",
                    "description": "Валюта покупки",
                    "example": "RUB"
                  },
                  "sellAmount": {
                    "type": "string",
                    "description": "Сумма продажи",
                    "example": "5000"
                  },
                  "sellCurrency": {
                    "type": "string",
                    "description": "Валюта продажи",
                    "example": "USD"
                  },
                  "clientSide": {
                    "type": "string",
                    "description": "Сторона сделки",
                    "example": "SELL"
                  },
                  "price": {
                    "type": "string",
                    "description": "Курс сделки",
                    "example": "93.712"
                  },
                  "priceDecimalPlaces": {
                    "type": "integer",
                    "description": "Количество знаков после запятой для курса",
                    "example": 3
                  },
                  "initialMargin": {
                    "type": "object",
                    "description": "Первоначальная маржевая сумма по форвардной сделке",
                    "required": [
                      "amount",
                      "percent",
                      "currency"
                    ],
                    "properties": {
                      "amount": {
                        "type": "string",
                        "description": "Сумма первоначальной маржевой суммы",
                        "example": "1000.00"
                      },
                      "percent": {
                        "type": "string",
                        "description": "Процент первоначальной маржевой суммы",
                        "example": "10.00"
                      },
                      "currency": {
                        "type": "string",
                        "description": "Валюта первоначальной маржевой суммы",
                        "example": "RUB"
                      }
                    }
                  },
                  "currencyPair": {
                    "type": "string",
                    "description": "Валютная пара",
                    "example": "USD/RUB"
                  },
                  "tenor": {
                    "type": "string",
                    "description": "Тенор сделки",
                    "example": "BRD"
                  },
                  "valueDate": {
                    "type": "string",
                    "description": "Дата расчетов по сделке",
                    "example": "2026-05-28T00:00:00Z"
                  },
                  "tradeDate": {
                    "type": "string",
                    "description": "Дата совершения операции",
                    "example": "2026-05-21"
                  },
                  "ttl": {
                    "type": "integer",
                    "description": "Время жизни обменного курса в миллисекундах",
                    "example": 10000
                  },
                  "enableTrading": {
                    "type": "boolean",
                    "description": "Признак доступности заключения сделки по полученной котировке",
                    "example": true
                  }
                }
              },
              "requestId": {
                "type": "string",
                "description": "Идентификатор запроса для трейсинга",
                "example": "6a0eed7ca78a443595f7be90b8acac88"
              }
            }
          },
          "examples": {
            "Успешный ответ": {
              "summary": "Успешный ответ",
              "value": {
                "result": {
                  "rfqId": "dc037808550811f18473e3d33f213b47",
                  "buyAmount": "468560",
                  "buyCurrency": "RUB",
                  "sellAmount": "5000",
                  "sellCurrency": "USD",
                  "clientSide": "SELL",
                  "price": "93.712",
                  "priceDecimalPlaces": 3,
                  "initialMargin": {
                    "amount": "1000.00",
                    "percent": "10.00",
                    "currency": "RUB"
                  },
                  "currencyPair": "USD/RUB",
                  "tenor": "BRD",
                  "valueDate": "2026-05-28T00:00:00Z",
                  "tradeDate": "2026-05-21",
                  "ttl": 10000,
                  "enableTrading": true
                },
                "requestId": "6a0eed7ca78a443595f7be90b8acac88"
              }
            }
          }
        }
      }
    },
    "400": {
      "description": "Некорректный запрос",
      "content": {
        "application/json": {
          "schema": {
            "required": [
              "error",
              "requestId"
            ],
            "type": "object",
            "properties": {
              "error": {
                "type": "object",
                "description": "Объект с кодом ошибки",
                "required": [
                  "code"
                ],
                "properties": {
                  "code": {
                    "type": "string",
                    "description": "Значение кода ошибки"
                  },
                  "message": {
                    "type": "string",
                    "description": "Описание ошибки"
                  },
                  "data": {
                    "type": "array",
                    "description": "Дополнительные данные об ошибке",
                    "items": {
                      "type": "object",
                      "properties": {
                        "field": {
                          "type": "string",
                          "description": "Параметр"
                        },
                        "value": {
                          "type": "string",
                          "description": "Значение параметра"
                        }
                      }
                    }
                  }
                }
              },
              "requestId": {
                "type": "string",
                "description": "Идентификатор запроса",
                "example": "6a0eed7ca78a443595f7be90b8acac88"
              }
            }
          },
          "examples": {
            "Некорректный запрос": {
              "summary": "Некорректный запрос",
              "value": {
                "error": {
                  "code": "app.invalid.request",
                  "message": "Bad Request"
                },
                "requestId": "6a0eed7ca78a443595f7be90b8acac88"
              }
            },
            "Недоступный инструмент": {
              "summary": "Недоступный инструмент",
              "value": {
                "error": {
                  "code": "unavailable.instrument"
                },
                "requestId": "6a0eed7ca78a443595f7be90b8acac88"
              }
            }
          }
        }
      }
    },
    "401": {
      "$ref": "#/components/responses/Unauthorized"
    },
    "422": {
      "description": "Бизнес ошибки",
      "content": {
        "application/json": {
          "schema": {
            "required": [
              "error",
              "requestId"
            ],
            "type": "object",
            "properties": {
              "error": {
                "type": "object",
                "description": "Объект с кодом ошибки",
                "required": [
                  "code"
                ],
                "properties": {
                  "code": {
                    "type": "string",
                    "description": "Значение кода ошибки"
                  },
                  "message": {
                    "type": "string",
                    "description": "Описание ошибки"
                  },
                  "data": {
                    "type": "object",
                    "description": "Дополнительная информация об ошибке"
                  }
                }
              },
              "requestId": {
                "type": "string",
                "description": "Идентификатор запроса",
                "example": "6a0eed7ca78a443595f7be90b8acac88"
              }
            }
          },
          "examples": {
            "Запрос курсов выключен": {
              "summary": "Запрос курсов выключен",
              "value": {
                "error": {
                  "code": "rfq.disabled",
                  "message": null
                },
                "requestId": "6a0eed7ca78a443595f7be90b8acac88"
              }
            },
            "Запрос был произведен вне часов торговли": {
              "summary": "Запрос был произведен вне часов торговли",
              "value": {
                "error": {
                  "code": "rfq.market.data.invalid.trading.time.outside.trading.hours",
                  "message": null
                },
                "requestId": "6a0eed7ca78a443595f7be90b8acac88"
              }
            },
            "Запрос был произведен в праздник или нерабочий день": {
              "summary": "Запрос был произведен в праздник или нерабочий день",
              "value": {
                "error": {
                  "code": "rfq.market.data.invalid.trading.time.holiday",
                  "message": null
                },
                "requestId": "6a0eed7ca78a443595f7be90b8acac88"
              }
            },
            "Запрошенная сумма превышает допустимый порог": {
              "summary": "Запрошенная сумма превышает допустимый порог",
              "value": {
                "error": {
                  "code": "rfq.quote.exceeds.limits",
                  "message": null
                },
                "requestId": "6a0eed7ca78a443595f7be90b8acac88"
              }
            },
            "Нет ликвидности для предоставления цены": {
              "summary": "Нет ликвидности для предоставления цены",
              "value": {
                "error": {
                  "code": "rfq.market.data.not.available",
                  "message": null
                },
                "requestId": "6a0eed7ca78a443595f7be90b8acac88"
              }
            },
            "Инструмент выключен": {
              "summary": "Инструмент выключен",
              "value": {
                "error": {
                  "code": "rfq.market.data.disabled",
                  "message": null
                },
                "requestId": "6a0eed7ca78a443595f7be90b8acac88"
              }
            }
          }
        }
      }
    },
    "500": {
      "$ref": "#/components/responses/InternalError"
    }
  }
}

POST /v1/trades/blotter — Запрос для получения истории спотовых и форвардных сделок

Чтобы запросить историю сделок заполните параметры фильтрации и сортировки и получите в ответе историю ранее заключенных сделок с их параметрами

{
  "tags": [
    "Deals history"
  ],
  "summary": "Запрос для получения истории спотовых и форвардных сделок",
  "operationId": "tradesBlotter",
  "description": "Чтобы запросить историю сделок заполните параметры фильтрации и сортировки и получите в ответе историю ранее заключенных сделок с их параметрами",
  "parameters": [
    {
      "in": "header",
      "name": "CNUM",
      "description": "Уникальный идентификатор клиента (CNUM)",
      "required": true,
      "schema": {
        "type": "string",
        "example": "U12345"
      }
    },
    {
      "$ref": "#/components/parameters/IdTokenHeader"
    },
    {
      "$ref": "#/components/parameters/AuthorizationHeader"
    }
  ],
  "requestBody": {
    "description": "Запросить историю сделок",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "properties": {
            "offset": {
              "type": "integer",
              "description": "Значение смещения строк со сделками из истории сделок"
            },
            "limit": {
              "type": "integer",
              "description": "Ограничение на количество строк со сделками из истории сделок"
            },
            "filter": {
              "type": "array",
              "description": "Объект с параметрами фильтрации",
              "items": {
                "type": "object",
                "properties": {
                  "property": {
                    "type": "string",
                    "description": "Параметры фильтрации"
                  },
                  "clause": {
                    "type": "array",
                    "description": "Массив со значениями параметров, по которым необходимо производить фильтрацию",
                    "items": {
                      "type": "string"
                    }
                  }
                }
              }
            },
            "sort": {
              "type": "array",
              "description": "Объект с параметрами фильтрации",
              "items": {
                "type": "object",
                "properties": {
                  "direction": {
                    "type": "string",
                    "description": "Направление сортировки, с возможными значениями \"ASC\" или \"DESC\""
                  },
                  "property": {
                    "type": "string",
                    "description": "Параметр по которому необходимо сортировать"
                  }
                }
              }
            }
          }
        },
        "examples": {
          "Запрос с фильтраций и сортировкой": {
            "summary": "Запрос с фильтраций и сортировкой",
            "value": {
              "offset": 0,
              "limit": 60,
              "sort": [
                {
                  "property": "tradeDate",
                  "direction": "DESC"
                }
              ],
              "filter": [
                {
                  "property": "currencyPair",
                  "clause": [
                    "USD/RUB",
                    "AUD/RUB",
                    "USD/CNH"
                  ]
                }
              ]
            }
          },
          "Запрос с фильтрацией": {
            "summary": "Запрос с фильтрацией",
            "value": {
              "offset": 0,
              "limit": 60,
              "filter": [
                {
                  "property": "currencyPair",
                  "clause": [
                    "USD/RUB",
                    "AUD/RUB",
                    "USD/CNH"
                  ]
                }
              ]
            }
          },
          "Запрос с сортировкой": {
            "summary": "Запрос с сортировкой",
            "value": {
              "offset": 0,
              "limit": 60,
              "sort": [
                {
                  "property": "tradeDate",
                  "direction": "DESC"
                }
              ]
            }
          }
        }
      }
    },
    "required": true
  },
  "responses": {
    "200": {
      "description": "История сделок",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "required": [
              "result",
              "requestId"
            ],
            "properties": {
              "result": {
                "type": "object",
                "description": "Объект с результатом исполнения запроса",
                "required": [
                  "hasMore",
                  "list"
                ],
                "properties": {
                  "hasMore": {
                    "type": "boolean",
                    "description": "Признак наличия записей удовлетворяющие параметры запросы"
                  },
                  "list": {
                    "type": "array",
                    "description": "Массив истории сделок",
                    "items": {
                      "type": "object",
                      "properties": {
                        "id": {
                          "type": "string",
                          "description": "Идентификатор записи в истории сделок",
                          "example": 1765
                        },
                        "orderId": {
                          "type": "string",
                          "description": "Идентификатор сделки",
                          "example": "0000000004480"
                        },
                        "buyAccount": {
                          "type": "object",
                          "description": "Объект с информацией о счете покупки",
                          "required": [
                            "currency",
                            "externalAccount",
                            "number",
                            "trustManagementName"
                          ],
                          "properties": {
                            "currency": {
                              "type": "string",
                              "description": "Валюта счета покупки",
                              "example": "USD"
                            },
                            "externalAccount": {
                              "type": "boolean",
                              "description": "Признак внешнего счета",
                              "example": true
                            },
                            "number": {
                              "type": "string",
                              "description": "Номер счета покупки",
                              "example": "EXTERNAL_ACCOUNT_USD"
                            },
                            "trustManagementName": {
                              "type": "string",
                              "description": "Наименование управляющей компании",
                              "example": null
                            }
                          }
                        },
                        "buyAmount": {
                          "type": "string",
                          "description": "Объем покупки",
                          "example": 84596.4
                        },
                        "sellAccount": {
                          "type": "object",
                          "description": "Объект с информацией о счете продажи",
                          "required": [
                            "currency",
                            "externalAccount",
                            "number",
                            "trustManagementName"
                          ],
                          "properties": {
                            "currency": {
                              "type": "string",
                              "description": "Валюта счета продажи",
                              "example": "RUB"
                            },
                            "externalAccount": {
                              "type": "boolean",
                              "description": "Признак внешнего счета",
                              "example": true
                            },
                            "number": {
                              "type": "string",
                              "description": "Номер счета продажи",
                              "example": "EXTERNAL_ACCOUNT_RUB"
                            },
                            "trustManagementName": {
                              "type": "string",
                              "description": "Наименование управляющей компании",
                              "example": null
                            }
                          }
                        },
                        "sellAmount": {
                          "type": "string",
                          "description": "Объем продажи",
                          "example": 1000
                        },
                        "price": {
                          "type": "string",
                          "description": "Курс сделки",
                          "example": 84.5964
                        },
                        "priceDecimalPlaces": {
                          "type": "integer",
                          "description": "Количество цифр в курсе после запятой",
                          "example": 4
                        },
                        "currencyPair": {
                          "type": "string",
                          "description": "Валютная пара",
                          "example": "USD/RUB"
                        },
                        "tenor": {
                          "type": "string",
                          "description": "Значение определяющее дату расчета по сделке, возможные значения TOD - сегодня, TOM - завтра, SPOT - после завтра",
                          "example": "TOD"
                        },
                        "tradeMode": {
                          "type": "string",
                          "description": "Режим кредитования сделки",
                          "example": "DVP"
                        },
                        "clientSide": {
                          "type": "string",
                          "description": "Сторона сделки",
                          "example": "SELL"
                        },
                        "traders": {
                          "type": "object",
                          "description": "Объект с информацией о подписантах сделки",
                          "required": [
                            "id",
                            "name"
                          ],
                          "properties": {
                            "id": {
                              "type": "string",
                              "description": "Идентификтор подписанта",
                              "example": 1
                            },
                            "name": {
                              "type": "string",
                              "description": "ФИО подписанта",
                              "example": "Вячеславов Александр Михайлович"
                            }
                          }
                        },
                        "client": {
                          "type": "object",
                          "description": "Объект с информацией о клиенте",
                          "required": [
                            "id",
                            "name",
                            "clientType"
                          ],
                          "properties": {
                            "id": {
                              "type": "string",
                              "description": "Идентификтор клиента",
                              "example": 304086
                            },
                            "name": {
                              "type": "string",
                              "description": "Наименование клиента",
                              "example": "Рога и копыта"
                            },
                            "clientType": {
                              "type": "string",
                              "description": "Тип клиента",
                              "example": "REAL"
                            }
                          }
                        },
                        "valueDate": {
                          "type": "string",
                          "description": "Дата расчетов по сделке",
                          "example": "2024-05-22T00:00:00Z"
                        },
                        "tradeDate": {
                          "type": "string",
                          "description": "Дата заключения сделки",
                          "example": "2024-05-22T20:30:21Z"
                        },
                        "debitDate": {
                          "type": "string",
                          "description": "Дата списания средств по сделке",
                          "example": "2024-05-22T00:00:00Z"
                        },
                        "product": {
                          "type": "string",
                          "description": "Режим заключения сделки",
                          "example": "RFQ"
                        },
                        "useNetting": {
                          "type": "boolean",
                          "description": "Признак использования неттинга",
                          "example": false
                        },
                        "externalConfirmation": {
                          "type": "boolean",
                          "description": "Признак внешнего способа подтверждения сделки",
                          "example": false
                        },
                        "settlMethod": {
                          "type": "string",
                          "description": "Метод поставки по сделке",
                          "example": "DELIVERABLE"
                        },
                        "proposalId": {
                          "type": "string",
                          "description": "Идентификатор заявки на конверсию в режиме множесвтенной подписи"
                        }
                      }
                    }
                  }
                }
              },
              "requestId": {
                "type": "string",
                "description": "Идентификатор запроса",
                "example": "e0e70833c68e3c32"
              }
            }
          },
          "examples": {
            "Успешный ответ": {
              "summary": "Успешный ответ",
              "value": {
                "result": {
                  "hasMore": true,
                  "list": [
                    {
                      "id": 1765,
                      "orderId": "0000000004480",
                      "buyAccount": {
                        "number": "EXTERNAL_ACCOUNT_RUB",
                        "currency": "RUB",
                        "trustManagementName": null,
                        "externalAccount": true
                      },
                      "buyAmount": "84596.4",
                      "sellAccount": {
                        "number": "EXTERNAL_ACCOUNT_EUR",
                        "currency": "EUR",
                        "trustManagementName": null,
                        "externalAccount": true
                      },
                      "sellAmount": 1000,
                      "price": 84.5964,
                      "priceDecimalPlaces": 4,
                      "currencyPair": "EUR/RUB",
                      "tenor": "TOD",
                      "tradeMode": "DVP",
                      "useNetting": false,
                      "clientSide": "SELL",
                      "traders": [
                        {
                          "id": "111111",
                          "name": "Вячеславов Александр Михайлович"
                        }
                      ],
                      "client": {
                        "id": 409387,
                        "name": "ООО Рога и Копыта",
                        "clientType": "REAL"
                      },
                      "valueDate": "2024-05-22T00:00:00Z",
                      "tradeDate": "2024-05-22T20:30:21Z",
                      "debitDate": "2024-05-22T00:00:00Z",
                      "product": "RFQ",
                      "externalConfirmation": false,
                      "settlMethod": "DELIVERABLE",
                      "proposalId": null
                    }
                  ]
                },
                "requestId": "e0e70833c68e3c32"
              }
            }
          }
        }
      }
    },
    "400": {
      "description": "Плохой запрос",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "required": [
              "error",
              "requestId"
            ],
            "properties": {
              "error": {
                "type": "object",
                "description": "Объект с кодом ошибки",
                "required": [
                  "code"
                ],
                "properties": {
                  "code": {
                    "type": "string",
                    "description": "Значение кода ошибки"
                  },
                  "message": {
                    "type": "string",
                    "description": "Описание кода ошибки"
                  },
                  "data": {
                    "type": "array",
                    "description": "Дополнительная информация об ошибке",
                    "items": {
                      "type": "object",
                      "properties": {
                        "field": {
                          "type": "string",
                          "description": "Параметр"
                        },
                        "value": {
                          "type": "string",
                          "description": "Значение пармаметра"
                        }
                      }
                    }
                  }
                }
              },
              "requestId": {
                "type": "string",
                "description": "Идентификатор запроса"
              }
            }
          },
          "examples": {
            "Некорректная страница истории сделок": {
              "summary": "Некорректная страница истории сделок",
              "value": {
                "error": {
                  "code": "blotter.page.number.invalid",
                  "message": "",
                  "data": [
                    {
                      "field": "pageNumber",
                      "value": "0"
                    }
                  ]
                },
                "requestId": "e0e70833c68e3c32"
              }
            }
          }
        }
      }
    },
    "401": {
      "$ref": "#/components/responses/Unauthorized"
    },
    "500": {
      "$ref": "#/components/responses/InternalError"
    }
  }
}

POST /v1/swaps/blotter — Запрос для получения истории своповых сделок

Чтобы запросить историю сделок заполните параметры фильтрации и сортировки и получите в ответе историю ранее заключенных сделок с их параметрами

{
  "tags": [
    "Deals history"
  ],
  "summary": "Запрос для получения истории своповых сделок",
  "operationId": "swapsBlotter",
  "description": "Чтобы запросить историю сделок заполните параметры фильтрации и сортировки и получите в ответе историю ранее заключенных сделок с их параметрами",
  "parameters": [
    {
      "in": "header",
      "name": "CNUM",
      "description": "Уникальный идентификатор клиента (CNUM)",
      "required": true,
      "schema": {
        "type": "string",
        "example": "U12345"
      }
    },
    {
      "$ref": "#/components/parameters/IdTokenHeader"
    },
    {
      "$ref": "#/components/parameters/AuthorizationHeader"
    }
  ],
  "requestBody": {
    "description": "Запросить историю своповых сделок",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "properties": {
            "offset": {
              "type": "integer",
              "description": "Значение смещения строк со сделками из истории сделок",
              "example": 0
            },
            "limit": {
              "type": "integer",
              "description": "Ограничение на количество строк со сделками из истории сделок",
              "example": 10
            },
            "sort": {
              "type": "array",
              "description": "Объект с параметрами сортировки",
              "items": {
                "type": "object",
                "properties": {
                  "property": {
                    "type": "string",
                    "description": "Параметр, по которому необходимо сортировать",
                    "enum": [
                      "nearLeg.sellAmount",
                      "nearLeg.buyAmount",
                      "farLeg.buyAmount",
                      "farLeg.sellAmount",
                      "tradeDate",
                      "signer.name"
                    ],
                    "example": "tradeDate"
                  },
                  "direction": {
                    "type": "string",
                    "description": "Направление сортировки, с возможными значениями ASC или DESC",
                    "enum": [
                      "ASC",
                      "DESC"
                    ],
                    "example": "DESC"
                  }
                }
              }
            },
            "filter": {
              "type": "array",
              "description": "Объект с параметрами фильтрации",
              "items": {
                "type": "object",
                "properties": {
                  "property": {
                    "type": "string",
                    "description": "Параметр фильтрации",
                    "enum": [
                      "dealId",
                      "tradeDate",
                      "swapSide",
                      "nearLeg.valueDate",
                      "farLeg.valueDate",
                      "nearLeg.tenor",
                      "farLeg.tenor",
                      "nearLeg.buyAmount",
                      "farLeg.buyAmount",
                      "nearLeg.sellAmount",
                      "farLeg.sellAmount",
                      "nearLeg.buyAmount.currency",
                      "farLeg.buyAmount.currency",
                      "nearLeg.sellAmount.currency",
                      "farLeg.sellAmount.currency",
                      "nearLeg.price",
                      "farLeg.price",
                      "swapPoints",
                      "marketCurrencyPair",
                      "baseAccount.number",
                      "quotedAccount.number",
                      "signer.name"
                    ]
                  },
                  "clause": {
                    "type": "array",
                    "description": "Массив значений параметра, по которым необходимо производить фильтрацию",
                    "items": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        },
        "examples": {
          "Запрос с сортировкой": {
            "summary": "Запрос с сортировкой",
            "value": {
              "offset": 0,
              "limit": 10,
              "sort": [
                {
                  "property": "tradeDate",
                  "direction": "DESC"
                }
              ],
              "filter": []
            }
          }
        }
      }
    },
    "required": true
  },
  "responses": {
    "200": {
      "description": "История своповых сделок",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "required": [
              "result",
              "requestId"
            ],
            "properties": {
              "result": {
                "type": "object",
                "description": "Объект с результатом исполнения запроса",
                "required": [
                  "result",
                  "hasMorePages"
                ],
                "properties": {
                  "result": {
                    "type": "array",
                    "description": "Массив истории своповых сделок",
                    "items": {
                      "type": "object",
                      "properties": {
                        "id": {
                          "type": "integer",
                          "description": "Идентификатор записи в истории сделок",
                          "example": 18
                        },
                        "dealId": {
                          "type": "string",
                          "description": "Идентификатор сделки",
                          "example": 3097
                        },
                        "signer": {
                          "type": "object",
                          "description": "Объект с информацией о подписанте сделки",
                          "properties": {
                            "id": {
                              "type": "string",
                              "description": "Идентификатор подписанта",
                              "example": "organization.user.authority.external.id"
                            },
                            "name": {
                              "type": "string",
                              "description": "ФИО подписанта",
                              "example": "Вячеславов Александр Михайлович"
                            }
                          }
                        },
                        "marketCurrencyPair": {
                          "type": "string",
                          "description": "Валютная пара",
                          "example": "EUR/RUB"
                        },
                        "swapSide": {
                          "type": "string",
                          "description": "Сторона своповой сделки",
                          "example": "SELL"
                        },
                        "baseAccount": {
                          "type": "object",
                          "description": "Объект с информацией о счете в базовой валюте",
                          "properties": {
                            "number": {
                              "type": "string",
                              "description": "Номер счета",
                              "example": 40817840000000385000
                            },
                            "currency": {
                              "type": "string",
                              "description": "Валюта счета",
                              "example": "EUR"
                            },
                            "trustManagementName": {
                              "type": "string",
                              "description": "Наименование управляющей компании",
                              "example": null
                            },
                            "externalAccount": {
                              "type": "boolean",
                              "description": "Признак внешнего счета",
                              "example": true
                            }
                          }
                        },
                        "quotedAccount": {
                          "type": "object",
                          "description": "Объект с информацией о счете в котируемой валюте",
                          "properties": {
                            "number": {
                              "type": "string",
                              "description": "Номер счета",
                              "example": 40817840000000385000
                            },
                            "currency": {
                              "type": "string",
                              "description": "Валюта счета",
                              "example": "RUB"
                            },
                            "trustManagementName": {
                              "type": "string",
                              "description": "Наименование управляющей компании",
                              "example": null
                            },
                            "externalAccount": {
                              "type": "boolean",
                              "description": "Признак внешнего счета",
                              "example": true
                            }
                          }
                        },
                        "clientAmount": {
                          "type": "object",
                          "description": "Объем, от которого задавалась сделка",
                          "properties": {
                            "value": {
                              "type": "string",
                              "description": "Значение объема",
                              "example": "10000"
                            },
                            "currency": {
                              "type": "string",
                              "description": "Валюта объема",
                              "example": "EUR"
                            }
                          }
                        },
                        "swapPoints": {
                          "type": "object",
                          "description": "Своп-разница",
                          "properties": {
                            "value": {
                              "type": "string",
                              "description": "Значение своп-разницы",
                              "example": "-4.0275"
                            },
                            "decimalPlaces": {
                              "type": "integer",
                              "description": "Количество знаков после запятой",
                              "example": 4
                            }
                          }
                        },
                        "externalConfirmation": {
                          "type": "boolean",
                          "description": "Признак внешнего способа подтверждения сделки",
                          "example": true
                        },
                        "tradeDate": {
                          "type": "string",
                          "format": "date",
                          "description": "Дата заключения сделки",
                          "example": "2026-04-29"
                        },
                        "client": {
                          "type": "object",
                          "description": "Объект с информацией о клиенте",
                          "properties": {
                            "id": {
                              "type": "string",
                              "description": "Идентификатор клиента",
                              "example": 409387
                            },
                            "name": {
                              "type": "string",
                              "description": "Наименование клиента",
                              "example": "ООО Рога и Копыта"
                            },
                            "clientType": {
                              "type": "string",
                              "description": "Тип клиента",
                              "example": "REAL"
                            }
                          }
                        },
                        "nearLeg": {
                          "type": "object",
                          "description": "Ближняя нога своповой сделки",
                          "properties": {
                            "valueDate": {
                              "type": "string",
                              "format": "date",
                              "description": "Дата расчетов",
                              "example": "2026-04-30"
                            },
                            "tenor": {
                              "type": "string",
                              "description": "Тенор",
                              "example": "TOM"
                            },
                            "sellAmount": {
                              "type": "object",
                              "description": "Сумма продажи",
                              "properties": {
                                "value": {
                                  "type": "string",
                                  "description": "Объем суммы продажи",
                                  "example": "1043152.00"
                                },
                                "currency": {
                                  "type": "string",
                                  "description": "Валюта суммы продажи",
                                  "example": "RUB"
                                }
                              }
                            },
                            "buyAmount": {
                              "type": "object",
                              "description": "Сумма покупки",
                              "properties": {
                                "value": {
                                  "type": "string",
                                  "description": "Объем суммы покупки",
                                  "example": "10000"
                                },
                                "currency": {
                                  "type": "string",
                                  "description": "Валюта суммы покупки",
                                  "example": "EUR"
                                }
                              }
                            },
                            "price": {
                              "type": "object",
                              "description": "Курс",
                              "properties": {
                                "value": {
                                  "type": "string",
                                  "description": "Значение курса",
                                  "example": "104.3152"
                                },
                                "decimalPlaces": {
                                  "type": "integer",
                                  "description": "Количество знаков после запятой",
                                  "example": 4
                                }
                              }
                            },
                            "tradeMode": {
                              "type": "string",
                              "description": "Режим кредитования сделки",
                              "example": "DVP"
                            },
                            "predelivery": {
                              "type": "boolean",
                              "description": "Признак предпоставки",
                              "example": true
                            },
                            "useNetting": {
                              "type": "boolean",
                              "description": "Признак использования неттинга",
                              "example": false
                            },
                            "debitDate": {
                              "type": "string",
                              "format": "date",
                              "description": "Дата расчетов первой ноги",
                              "example": "2026-04-30"
                            }
                          }
                        },
                        "farLeg": {
                          "type": "object",
                          "description": "Дальняя нога своповой сделки",
                          "properties": {
                            "valueDate": {
                              "type": "string",
                              "format": "date",
                              "description": "Дата расчетов",
                              "example": "2026-05-04"
                            },
                            "tenor": {
                              "type": "string",
                              "description": "Тенор",
                              "example": "SPOT"
                            },
                            "sellAmount": {
                              "type": "object",
                              "description": "Сумма продажи",
                              "properties": {
                                "value": {
                                  "type": "string",
                                  "description": "Объем суммы продажи",
                                  "example": "10000"
                                },
                                "currency": {
                                  "type": "string",
                                  "description": "Валюта суммы продажи",
                                  "example": "EUR"
                                }
                              }
                            },
                            "buyAmount": {
                              "type": "object",
                              "description": "Сумма покупки",
                              "properties": {
                                "value": {
                                  "type": "string",
                                  "description": "Объем суммы покупки",
                                  "example": "1002877.00"
                                },
                                "currency": {
                                  "type": "string",
                                  "description": "Валюта суммы покупки",
                                  "example": "RUB"
                                }
                              }
                            },
                            "price": {
                              "type": "object",
                              "description": "Курс",
                              "properties": {
                                "value": {
                                  "type": "string",
                                  "description": "Значение курса",
                                  "example": "100.2877"
                                },
                                "decimalPlaces": {
                                  "type": "integer",
                                  "description": "Количество знаков после запятой",
                                  "example": 4
                                }
                              }
                            },
                            "tradeMode": {
                              "type": "string",
                              "description": "Режим кредитования сделки",
                              "example": "DVP"
                            },
                            "predelivery": {
                              "type": "boolean",
                              "description": "Признак предпоставки",
                              "example": true
                            },
                            "useNetting": {
                              "type": "boolean",
                              "description": "Признак использования неттинга",
                              "example": false
                            },
                            "debitDate": {
                              "type": "string",
                              "format": "date",
                              "description": "Дата расчетов по второй ноге",
                              "example": "2026-05-04"
                            }
                          }
                        }
                      }
                    }
                  },
                  "hasMorePages": {
                    "type": "boolean",
                    "description": "Признак наличия следующих страниц истории сделок",
                    "example": true
                  }
                }
              },
              "requestId": {
                "type": "string",
                "description": "Идентификатор запроса",
                "example": "6a1000513f41198d3a9f3f274812156f"
              }
            }
          },
          "examples": {
            "Успешный ответ": {
              "summary": "Успешный ответ",
              "value": {
                "result": {
                  "result": [
                    {
                      "id": 18,
                      "dealId": 3097,
                      "signer": {
                        "id": "organization.user.authority.external.id",
                        "name": "Вячеславов Александр Михайлович"
                      },
                      "marketCurrencyPair": "EUR/RUB",
                      "swapSide": "SELL",
                      "baseAccount": {
                        "number": "EXTERNAL_ACCOUNT_EUR",
                        "currency": "EUR",
                        "trustManagementName": null,
                        "externalAccount": true
                      },
                      "quotedAccount": {
                        "number": "EXTERNAL_ACCOUNT_RUB",
                        "currency": "RUB",
                        "trustManagementName": null,
                        "externalAccount": true
                      },
                      "clientAmount": {
                        "value": "10000",
                        "currency": "EUR"
                      },
                      "swapPoints": {
                        "value": "-4.0275",
                        "decimalPlaces": 4
                      },
                      "externalConfirmation": true,
                      "tradeDate": "2026-04-29",
                      "client": {
                        "id": 409387,
                        "name": "ООО Рога и Копыта",
                        "clientType": "REAL"
                      },
                      "nearLeg": {
                        "valueDate": "2026-04-30",
                        "tenor": "TOM",
                        "sellAmount": {
                          "value": "1043152.00",
                          "currency": "RUB"
                        },
                        "buyAmount": {
                          "value": "10000",
                          "currency": "EUR"
                        },
                        "price": {
                          "value": "104.3152",
                          "decimalPlaces": 4
                        },
                        "tradeMode": "DVP",
                        "predelivery": true,
                        "useNetting": false,
                        "debitDate": "2026-04-30"
                      },
                      "farLeg": {
                        "valueDate": "2026-05-04",
                        "tenor": "SPOT",
                        "sellAmount": {
                          "value": "10000",
                          "currency": "EUR"
                        },
                        "buyAmount": {
                          "value": "1002877.00",
                          "currency": "RUB"
                        },
                        "price": {
                          "value": "100.2877",
                          "decimalPlaces": 4
                        },
                        "tradeMode": "DVP",
                        "predelivery": true,
                        "useNetting": false,
                        "debitDate": "2026-05-04"
                      }
                    }
                  ],
                  "hasMorePages": true
                },
                "requestId": "6a1000513f41198d3a9f3f274812156f"
              }
            }
          }
        }
      }
    },
    "400": {
      "description": "Некорректный запрос",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "required": [
              "error",
              "requestId"
            ],
            "properties": {
              "error": {
                "type": "object",
                "description": "Объект с кодом ошибки и описанием",
                "required": [
                  "code"
                ],
                "properties": {
                  "code": {
                    "type": "string",
                    "description": "Значение кода ошибки"
                  },
                  "message": {
                    "type": "string",
                    "description": "Описание кода ошибки"
                  },
                  "data": {
                    "type": "array",
                    "description": "Дополнительная информация об ошибке",
                    "items": {
                      "type": "object",
                      "properties": {
                        "field": {
                          "type": "string",
                          "description": "Параметр, вызвавший ошибку"
                        },
                        "value": {
                          "type": "string",
                          "description": "Значение параметра"
                        }
                      }
                    }
                  }
                }
              },
              "requestId": {
                "type": "string",
                "description": "Идентификатор запроса"
              }
            }
          }
        }
      }
    },
    "401": {
      "$ref": "#/components/responses/Unauthorized"
    },
    "500": {
      "$ref": "#/components/responses/InternalError"
    }
  }
}

POST /v1/deliverable/conversion/blotter — Запрос для получения истории подтверждений сделок

Чтобы запросить историю подтверждений сделок заполните параметры фильтрации и сортировки и получите в ответе историю ранее созданных подтверждений сделок с их параметрами

{
  "tags": [
    "Deals history"
  ],
  "summary": "Запрос для получения истории подтверждений сделок",
  "operationId": "deliverableConversionBlotter",
  "description": "Чтобы запросить историю подтверждений сделок заполните параметры фильтрации и сортировки и получите в ответе историю ранее созданных подтверждений сделок с их параметрами",
  "parameters": [
    {
      "in": "header",
      "name": "CNUM",
      "description": "Уникальный идентификатор клиента (CNUM)",
      "required": true,
      "schema": {
        "type": "string",
        "example": "U12345"
      }
    },
    {
      "$ref": "#/components/parameters/IdTokenHeader"
    },
    {
      "$ref": "#/components/parameters/AuthorizationHeader"
    }
  ],
  "requestBody": {
    "description": "Запросить историю подтверждений сделок",
    "required": true,
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/DeliverableConversionBlotterRequest"
        },
        "examples": {
          "Запрос с фильтрацией и сортировкой": {
            "summary": "Запрос с фильтрацией по статусу \"Исполнен\" и Дате создания",
            "value": {
              "offset": 0,
              "limit": 10,
              "sort": [
                {
                  "property": "creationDate",
                  "direction": "DESC"
                }
              ],
              "filter": [
                {
                  "property": "status",
                  "clause": [
                    "DONE"
                  ]
                },
                {
                  "property": "creationDate",
                  "clause": {
                    "from": {
                      "value": 1769979600000,
                      "inclusive": true
                    },
                    "to": {
                      "value": 1770238799999,
                      "inclusive": true
                    }
                  }
                }
              ]
            }
          }
        }
      }
    }
  },
  "responses": {
    "200": {
      "description": "История подтверждений сделок",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/DeliverableConversionBlotterResponse"
          }
        }
      }
    },
    "400": {
      "description": "Некорректный запрос",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "required": [
              "error",
              "requestId"
            ],
            "properties": {
              "error": {
                "type": "object",
                "description": "Объект с кодом ошибки и описанием",
                "required": [
                  "code"
                ],
                "properties": {
                  "code": {
                    "type": "string",
                    "description": "Значение кода ошибки"
                  },
                  "message": {
                    "type": "string",
                    "description": "Описание кода ошибки"
                  },
                  "data": {
                    "type": "array",
                    "description": "Дополнительная информация об ошибке",
                    "items": {
                      "type": "object",
                      "properties": {
                        "field": {
                          "type": "string",
                          "description": "Параметр, вызвавший ошибку"
                        },
                        "value": {
                          "type": "string",
                          "description": "Значение параметра"
                        }
                      }
                    }
                  }
                }
              },
              "requestId": {
                "type": "string",
                "description": "Идентификатор запроса"
              }
            }
          }
        }
      }
    },
    "401": {
      "$ref": "#/components/responses/Unauthorized"
    },
    "500": {
      "$ref": "#/components/responses/InternalError"
    }
  }
}

POST /v1/options/quote — Запрос опционной премии по CNUM

Чтобы запросить опционную премию, необходимо передать обязательные параметры и получить в ответе: - идентификатор премии (quoteId) - размер премии - срок жизни премии

{
  "tags": [
    "Option"
  ],
  "summary": "Запрос опционной премии по CNUM",
  "operationId": "getOptionQuote",
  "description": "Чтобы запросить опционную премию, необходимо передать обязательные параметры и получить в ответе:\n  - идентификатор премии (quoteId)\n  - размер премии\n  - срок жизни премии",
  "parameters": [
    {
      "in": "header",
      "name": "CNUM",
      "description": "Уникальный идентификатор клиента (CNUM)",
      "required": true,
      "schema": {
        "type": "string",
        "example": "CADH0L"
      }
    },
    {
      "$ref": "#/components/parameters/IdTokenHeader"
    },
    {
      "$ref": "#/components/parameters/AuthorizationHeader"
    }
  ],
  "requestBody": {
    "description": "Запрос опционной премии по CNUM",
    "content": {
      "application/json": {
        "schema": {
          "required": [
            "sellCurrency",
            "buyCurrency",
            "amount",
            "side",
            "optionSide",
            "strike",
            "valueDate",
            "endorsementType",
            "premiumCurrency",
            "settlMethod"
          ],
          "type": "object",
          "properties": {
            "sellCurrency": {
              "type": "string",
              "description": "Валюта суммы на списание со стороны клиента",
              "example": "USD"
            },
            "buyCurrency": {
              "type": "string",
              "description": "Валюта суммы на зачисление со стороны клиента",
              "example": "RUB"
            },
            "amount": {
              "type": "string",
              "description": "Объем, от которого был задан опцион",
              "example": 5000
            },
            "side": {
              "type": "string",
              "description": "Сторона сделки относительно amount. Например, SELL, если объем был задан через поле суммы на списание",
              "example": "SELL",
              "enum": [
                "BUY",
                "SELL"
              ]
            },
            "optionSide": {
              "type": "string",
              "description": "Сторона опциона",
              "example": "BUY",
              "enum": [
                "BUY",
                "SELL"
              ]
            },
            "strike": {
              "type": "string",
              "description": "Цена исполнения (страйк)",
              "example": 90
            },
            "valueDate": {
              "type": "string",
              "format": "date",
              "description": "Дата платежа",
              "example": "2025-11-19"
            },
            "dateOfPremium": {
              "type": "string",
              "description": "Дата премии. Заполнять для optionSide \"SELL\". Для optionSide \"BUY\" передавать null",
              "example": "TRADE_DATE",
              "enum": [
                "TRADE_DATE",
                "VALUE_DATE"
              ]
            },
            "endorsementType": {
              "type": "string",
              "description": "Тип подписи сделки",
              "example": "OTP",
              "enum": [
                "CRYPTO_PRO",
                "OTP"
              ]
            },
            "premiumCurrency": {
              "type": "string",
              "description": "Валюта премии",
              "example": "RUB"
            },
            "settlMethod": {
              "type": "string",
              "description": "Способ расчётов",
              "example": "NON_DELIVERABLE",
              "enum": [
                "DELIVERABLE",
                "NON_DELIVERABLE"
              ]
            },
            "settlCurrency": {
              "type": "string",
              "description": "Валюта счёта расчёта курсовой разницы. Указывать только для settlMethod \"NON_DELIVERABLE\" в одной из валют sellCurrency/buyCurrency",
              "example": "RUB"
            },
            "fixingReferenceType": {
              "type": "string",
              "description": "Источник фиксинга. Для DELIVERABLE опциона не передавать",
              "example": "CBRF_FIXING",
              "enum": [
                "CBRF_FIXING",
                "RAIF_FIXING"
              ]
            }
          }
        },
        "examples": {
          "Пример CALL опциона": {
            "summary": "Пример беспоставочного опциона",
            "value": {
              "sellCurrency": "USD",
              "buyCurrency": "RUB",
              "amount": 5000,
              "side": "SELL",
              "optionSide": "BUY",
              "strike": 90,
              "valueDate": "2025-11-19",
              "dateOfPremium": null,
              "endorsementType": "OTP",
              "premiumCurrency": "RUB",
              "settlMethod": "NON_DELIVERABLE",
              "settlCurrency": "RUB",
              "fixingReferenceType": "CBRF_FIXING"
            }
          },
          "Пример PUT опциона": {
            "summary": "Пример поставочного опциона",
            "value": {
              "sellCurrency": "EUR",
              "buyCurrency": "USD",
              "amount": 20000.5,
              "side": "BUY",
              "optionSide": "SELL",
              "strike": 100.5474,
              "valueDate": "2025-12-15",
              "dateOfPremium": "TRADE_DATE",
              "endorsementType": "CRYPTO_PRO",
              "premiumCurrency": "EUR",
              "settlMethod": "DELIVERABLE"
            }
          }
        }
      }
    },
    "required": true
  },
  "responses": {
    "200": {
      "description": "Опционная премия по запрошенным параметрам",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "required": [
              "result",
              "requestId"
            ],
            "properties": {
              "result": {
                "type": "object",
                "description": "Результат запроса опционной премии",
                "required": [
                  "quoteId",
                  "currencyPair",
                  "optionType",
                  "sellAmount",
                  "sellCurrency",
                  "buyAmount",
                  "buyCurrency",
                  "premiumAmount",
                  "premiumPercent",
                  "premiumCurrency",
                  "strike",
                  "strikeDecimalPlaces",
                  "expiryDate",
                  "valueDate",
                  "tradeDate",
                  "ttl",
                  "tradeable"
                ],
                "properties": {
                  "quoteId": {
                    "type": "string",
                    "description": "Идентификатор квоты",
                    "example": "4394e69f995f11f0a9bef9063f1c899a"
                  },
                  "currencyPair": {
                    "type": "string",
                    "description": "Валютная пара опциона",
                    "example": "EUR/RUB"
                  },
                  "optionType": {
                    "type": "string",
                    "description": "Тип опциона",
                    "example": "CALL",
                    "enum": [
                      "CALL",
                      "PUT"
                    ]
                  },
                  "sellAmount": {
                    "type": "string",
                    "description": "Сумма на списание со стороны клиента",
                    "example": 600
                  },
                  "sellCurrency": {
                    "type": "string",
                    "description": "Валюта суммы на списание со стороны клиента",
                    "example": "RUB"
                  },
                  "buyAmount": {
                    "type": "string",
                    "description": "Сумма на зачисление со стороны клиента",
                    "example": 6
                  },
                  "buyCurrency": {
                    "type": "string",
                    "description": "Валюта суммы на зачисление со стороны клиента",
                    "example": "EUR"
                  },
                  "premiumAmount": {
                    "type": "string",
                    "description": "Сумма премии",
                    "example": 24.37
                  },
                  "premiumPercent": {
                    "type": "string",
                    "description": "Премия в процентах",
                    "example": 4.06
                  },
                  "premiumCurrency": {
                    "type": "string",
                    "description": "Валюта премии",
                    "example": "RUB"
                  },
                  "strike": {
                    "type": "string",
                    "description": "Цена исполнения",
                    "example": 100
                  },
                  "strikeDecimalPlaces": {
                    "type": "integer",
                    "description": "Количество знаков после запятой цены исполнения",
                    "example": 4
                  },
                  "expiryDate": {
                    "type": "string",
                    "format": "date",
                    "description": "Дата истечения срока опциона",
                    "example": "2025-09-29"
                  },
                  "valueDate": {
                    "type": "string",
                    "format": "date",
                    "description": "Дата платежа опциона",
                    "example": "2025-09-30"
                  },
                  "tradeDate": {
                    "type": "string",
                    "format": "date-time",
                    "description": "Дата запроса премии",
                    "example": "2025-09-24T15:58:08.326844099Z"
                  },
                  "ttl": {
                    "type": "integer",
                    "description": "Срок жизни премии в мс",
                    "example": 10000
                  },
                  "tradeable": {
                    "type": "boolean",
                    "description": "Признак, что торговля разрешена",
                    "example": true
                  }
                }
              },
              "requestId": {
                "type": "string",
                "description": "Идентификатор запроса для трейсинга"
              }
            }
          }
        }
      }
    },
    "400": {
      "description": "Некорректный запрос",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "required": [
              "error",
              "requestId"
            ],
            "properties": {
              "error": {
                "type": "object",
                "description": "Объект с кодом ошибки",
                "required": [
                  "code"
                ],
                "properties": {
                  "code": {
                    "type": "string",
                    "description": "Значение кода ошибки",
                    "example": "app.invalid.request"
                  },
                  "message": {
                    "type": "string",
                    "description": "Описание кода ошибки",
                    "example": "Bad Request"
                  },
                  "data": {
                    "type": "array",
                    "description": "Дополнительная информация об ошибке",
                    "items": {
                      "type": "object",
                      "properties": {
                        "field": {
                          "type": "string",
                          "description": "Параметр"
                        },
                        "value": {
                          "type": "string",
                          "description": "Значение параметра"
                        }
                      }
                    }
                  }
                }
              },
              "requestId": {
                "type": "string",
                "description": "Идентификатор запроса",
                "example": "c396fda4d36c4f12"
              }
            }
          },
          "examples": {
            "Некорректный запрос": {
              "summary": "Некорректный запрос",
              "value": {
                "error": {
                  "code": "app.invalid.request",
                  "message": "Bad Request"
                },
                "requestId": "c396fda4d36c4f12"
              }
            }
          }
        }
      }
    },
    "401": {
      "$ref": "#/components/responses/Unauthorized"
    },
    "422": {
      "description": "Бизнес-ошибки",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "required": [
              "error",
              "requestId"
            ],
            "properties": {
              "error": {
                "type": "object",
                "description": "Объект с кодом ошибки",
                "required": [
                  "code"
                ],
                "properties": {
                  "code": {
                    "type": "string",
                    "description": "Значение кода ошибки"
                  },
                  "message": {
                    "type": "string",
                    "description": "Описание кода ошибки"
                  }
                }
              },
              "requestId": {
                "type": "string",
                "description": "Идентификатор запроса"
              }
            }
          },
          "examples": {
            "Опционы выключены для клиента": {
              "summary": "Запрос опционной премии выключен",
              "value": {
                "error": {
                  "code": "options.disabled"
                },
                "requestId": "c396fda4d36c4f12"
              }
            },
            "Запрос вне часов торговли": {
              "summary": "Запрос был произведен вне часов торговли",
              "value": {
                "error": {
                  "code": "options.invalid.trading.time.outside.trading.hours"
                },
                "requestId": "c396fda4d36c4f12"
              }
            },
            "Запрос в нерабочий день": {
              "summary": "Запрос был произведен в праздники",
              "value": {
                "error": {
                  "code": "options.invalid.trading.time.holiday"
                },
                "requestId": "c396fda4d36c4f12"
              }
            },
            "Запрошенная сумма превышает допустимый порог лимита": {
              "summary": "Запрошенная сумма превышает допустимый порог объема",
              "value": {
                "error": {
                  "code": "options.requested.amount.too.high"
                },
                "requestId": "c396fda4d36c4f12"
              }
            },
            "Запрошенная сумма после округления равна 0": {
              "summary": "Запрошенная сумма меньше допустимого объема",
              "value": {
                "error": {
                  "code": "options.requested.amount.too.low"
                },
                "requestId": "c396fda4d36c4f12"
              }
            },
            "Запрошенная сумма после пересчёта из котируемой в базовую и округления равна 0": {
              "summary": "Запрошенная сумма меньше допустимого объема",
              "value": {
                "error": {
                  "code": "options.opposite.amount.too.low"
                },
                "requestId": "c396fda4d36c4f12"
              }
            },
            "Неподдерживаемая валютная пара": {
              "summary": "Неподдерживаемая валютная пара",
              "value": {
                "error": {
                  "code": "options.unsupported.currency.pair"
                },
                "requestId": "c396fda4d36c4f12"
              }
            },
            "Некорректная дата платежа": {
              "summary": "Некорректная дата платежа",
              "value": {
                "error": {
                  "code": "options.value.date.invalid"
                },
                "requestId": "c396fda4d36c4f12"
              }
            },
            "Получилась нулевая премия": {
              "summary": "Получилась нулевая премия по условиям опциона",
              "value": {
                "error": {
                  "code": "options.premium.zero"
                },
                "requestId": "c396fda4d36c4f12"
              }
            },
            "Страйк слишком высокий": {
              "summary": "Страйк выше ожидаемого значения",
              "value": {
                "error": {
                  "code": "options.strike.too.high"
                },
                "requestId": "c396fda4d36c4f12"
              }
            },
            "Страйк слишком низкий": {
              "summary": "Страйк ниже ожидаемого значения",
              "value": {
                "error": {
                  "code": "options.strike.too.low"
                },
                "requestId": "c396fda4d36c4f12"
              }
            },
            "Неизвестная ошибка прайсера": {
              "summary": "Неизвестная ошибка",
              "value": {
                "error": {
                  "code": "options.option.pricer.unknown.error"
                },
                "requestId": "c396fda4d36c4f12"
              }
            }
          }
        }
      }
    },
    "500": {
      "$ref": "#/components/responses/InternalError"
    }
  }
}

Схемы и примеры

{
  "responses": {
    "Unauthorized": {
      "description": "Аутентификация не пройдена"
    },
    "InternalError": {
      "description": "Внутренняя ошибка"
    }
  },
  "parameters": {
    "IdTokenHeader": {
      "name": "Id-Token",
      "in": "header",
      "description": "Идентификационный токен пользователя",
      "required": true,
      "schema": {
        "type": "string",
        "format": "byte",
        "example": "SUQgVE9LRU4gRk9SIFRFU1RJTkc="
      }
    },
    "AuthorizationHeader": {
      "name": "Authorization",
      "in": "header",
      "description": "Токен доступа",
      "required": true,
      "schema": {
        "type": "string",
        "format": "byte",
        "example": "Bearer QXV0aG9yaXphdGlvbiBIZWFkZXIgRm9yIFRlc3Rpbmc="
      }
    }
  },
  "schemas": {
    "DeliverableConversionBlotterRequest": {
      "type": "object",
      "required": [
        "offset",
        "limit"
      ],
      "properties": {
        "offset": {
          "type": "integer",
          "description": "Значение смещения строк из истории"
        },
        "limit": {
          "type": "integer",
          "description": "Ограничение на количество строк из истории, не более 1000 записей в одном запросе"
        },
        "filter": {
          "type": "array",
          "description": "Объект с параметрами фильтрации.\nДоступные фильтры (property):\n- id — номер заявки\n- creationDate — дата создания (from/to)\n- processingDate — дата обработки (from/to)\n- sendDate — дата отправления (from/to)\n- creator.signer.name — автор\n- tradeDate — дата заключения сделки (from/to)\n- clientBuyAccount.currency — валюта зачисления\n- clientSellAccount.currency — валюта списания\n- clientBuyAmount — сумма зачисления\n- clientSellAmount — сумма списания\n- price — обменный курс\n- participant.signer.name — подписант\n- comment — заметка\n- status — статус",
          "items": {
            "$ref": "#/components/schemas/BlotterFilterItem"
          }
        },
        "sort": {
          "type": "array",
          "description": "Объект с параметрами сортировки",
          "items": {
            "$ref": "#/components/schemas/BlotterSortItem"
          }
        }
      }
    },
    "BlotterSortItem": {
      "type": "object",
      "properties": {
        "property": {
          "type": "string",
          "description": "Объект с параметрами сортировки.\nДоступные паарметры (property):\n- creationDate\n- sendDate\n- processingDate\n- creator.signer.name"
        },
        "direction": {
          "type": "string",
          "description": "Направление сортировки, с возможными значениями \"ASC\" или \"DESC\"",
          "enum": [
            "ASC",
            "DESC"
          ]
        }
      }
    },
    "BlotterFilterItem": {
      "type": "object",
      "required": [
        "property",
        "clause"
      ],
      "properties": {
        "property": {
          "type": "string",
          "description": "Параметр фильтрации",
          "enum": [
            "id",
            "creationDate",
            "processingDate",
            "sendDate",
            "creator.signer.name",
            "tradeDate",
            "clientBuyAccount.currency",
            "clientSellAccount.currency",
            "clientBuyAmount",
            "clientSellAmount",
            "price",
            "participant.signer.name",
            "comment",
            "status"
          ]
        },
        "clause": {
          "type": "array",
          "description": "Значение фильтра"
        }
      }
    },
    "DeliverableConversionBlotterResponse": {
      "type": "object",
      "required": [
        "result",
        "requestId"
      ],
      "properties": {
        "result": {
          "type": "object",
          "description": "Объект с результатом исполнения запроса",
          "required": [
            "hasMore",
            "list"
          ],
          "properties": {
            "hasMore": {
              "type": "boolean",
              "description": "Признак наличия других записей в истории, удовлетворяющих параметрам запроса"
            },
            "list": {
              "type": "array",
              "description": "Массив истории подтверждений сделок",
              "items": {
                "$ref": "#/components/schemas/DeliverableConversionBlotterItem"
              }
            }
          }
        },
        "requestId": {
          "type": "string",
          "description": "Идентификатор запроса"
        }
      }
    },
    "DeliverableConversionBlotterItem": {
      "type": "object",
      "properties": {
        "id": {
          "type": "string",
          "description": "Идентификатор записи"
        },
        "clientBuyAccount": {
          "type": "object",
          "description": "Объект с информацией о счете покупки",
          "required": [
            "number",
            "currency",
            "accountType",
            "trustManagementName"
          ],
          "properties": {
            "number": {
              "type": "string",
              "description": "Номер счета покупки",
              "example": 12334
            },
            "currency": {
              "type": "object",
              "description": "Валюта счета покупки",
              "required": [
                "isoCode",
                "numericCode"
              ],
              "properties": {
                "isoCode": {
                  "type": "string",
                  "example": "RUB"
                },
                "numericCode": {
                  "type": "string",
                  "example": 643
                }
              }
            },
            "accountType": {
              "type": "string",
              "description": "Тип счета (INTERNAL/EXTERNAL)",
              "example": "EXTERNAL"
            },
            "trustManagementName": {
              "type": "string",
              "description": "Наименование управляющей компании",
              "example": null
            }
          }
        },
        "clientSellAccount": {
          "type": "object",
          "description": "Объект с информацией о счете продажи",
          "required": [
            "number",
            "currency",
            "accountType",
            "trustManagementName"
          ],
          "properties": {
            "number": {
              "type": "string",
              "description": "Номер счета продажи",
              "example": 40817840000000385000
            },
            "currency": {
              "type": "object",
              "description": "Валюта счета продажи",
              "required": [
                "isoCode",
                "numericCode"
              ],
              "properties": {
                "isoCode": {
                  "type": "string",
                  "example": "USD"
                },
                "numericCode": {
                  "type": "string",
                  "example": 840
                }
              }
            },
            "accountType": {
              "type": "string",
              "description": "Тип счета (INTERNAL/EXTERNAL)",
              "example": "INTERNAL"
            },
            "trustManagementName": {
              "type": "string",
              "description": "Наименование управляющей компании",
              "example": null
            }
          }
        },
        "clientSellAmount": {
          "type": "string",
          "description": "Сумма продажи"
        },
        "clientBuyAmount": {
          "type": "string",
          "description": "Сумма покупки"
        },
        "creationDate": {
          "type": "string",
          "description": "Дата создания подтверждения (ISO 8601)",
          "example": "2025-07-22T13:23:13.507701Z"
        },
        "tradeDate": {
          "type": "string",
          "description": "Дата заключения сделки (ISO 8601)",
          "example": "2025-07-22T13:23:13.507701Z"
        },
        "valueDate": {
          "type": "string",
          "description": "Дата расчетов по сделке (ISO 8601)",
          "example": "2025-07-22T13:23:13.507701Z"
        },
        "sendDate": {
          "type": "string",
          "description": "Дата подписания подтверждения (ISO 8601)",
          "example": "2025-07-22T13:23:13.507701Z"
        },
        "processingDate": {
          "type": "string",
          "description": "Дата исполнения подтверждения (ISO 8601)",
          "example": "2025-07-22T13:27:04.747733Z"
        },
        "price": {
          "type": "string",
          "description": "Обменный курс"
        },
        "creator": {
          "type": "object",
          "description": "Информация о создателе сделки",
          "required": [
            "id",
            "name"
          ],
          "properties": {
            "id": {
              "type": "string",
              "description": "Идентификатор создателя",
              "example": "organization.user.authority.external.id"
            },
            "name": {
              "type": "string",
              "description": "ФИО создателя",
              "example": "Вячеславов Александр Михайлович"
            }
          }
        },
        "traders": {
          "type": "array",
          "description": "Список подписантов сделки",
          "items": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string",
                "description": "Идентификатор подписанта",
                "example": "organization.user.authority.external.id"
              },
              "name": {
                "type": "string",
                "description": "ФИО подписанта",
                "example": "Вячеславов Александр Михайлович"
              }
            }
          }
        },
        "status": {
          "type": "string",
          "description": "Статус подтверждения"
        },
        "resultComment": {
          "type": "string",
          "nullable": true,
          "description": "Комментарий при отклонении подтверждения"
        },
        "comment": {
          "type": "string",
          "nullable": true,
          "description": "Комментарий к подтверждению"
        },
        "conversionAgreementNumber": {
          "type": "string",
          "description": "Номер подтверждения"
        },
        "confirmDeal": {
          "type": "boolean",
          "nullable": true,
          "description": "Признак, что подтверждение формируется на основании соглашения об условиях совершения конверсионной сделки"
        },
        "client": {
          "type": "object",
          "description": "Объект с информацией о клиенте",
          "required": [
            "id",
            "name",
            "shortName",
            "clientType"
          ],
          "properties": {
            "id": {
              "type": "string",
              "description": "Идентификатор клиента",
              "example": 409387
            },
            "name": {
              "type": "string",
              "description": "Наименование клиента",
              "example": "Авилекс ООО"
            },
            "shortName": {
              "type": "string",
              "description": "Короткое наименование клиента",
              "example": "Авилекс"
            },
            "clientType": {
              "type": "string",
              "description": "Тип клиента",
              "example": "REAL"
            }
          }
        }
      }
    }
  }
}