Raiffeisenbank (Russia) · Schema
CurrencyContractRequest
CompanyBankingFinancial ServicesCorporate BankingPaymentsOpen BankingRussia
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://raw.githubusercontent.com/api-evangelist/raiffeisen-ru/main/json-schema/raiffeisen-ru-currency-contract-request-schema.json",
"title": "CurrencyContractRequest",
"x-generated": "2026-10-09",
"x-method": "derived",
"x-generator": "derive-json-schema.py",
"x-source": "openapi/raiffeisen-ru-currency-control-documents-openapi.yml#/components/schemas/CurrencyContractRequest",
"type": "object",
"allOf": [
{
"$ref": "#/$defs/DocumentRequestBase"
},
{
"type": "object",
"required": [
"contract",
"counterparties",
"registrationReason"
],
"properties": {
"resident": {
"$ref": "#/$defs/ResidentForRegistration"
},
"contract": {
"$ref": "#/$defs/CurrencyContract"
},
"dealSubject": {
"$ref": "#/$defs/DealSubject"
},
"counterparties": {
"type": "array",
"minItems": 1,
"items": {
"$ref": "#/$defs/Counterparty"
}
},
"registrationReason": {
"$ref": "#/$defs/RegistrationReason"
},
"rightsTransfer": {
"$ref": "#/$defs/RightsTransfer"
}
}
}
],
"$defs": {
"Attachment": {
"type": "object",
"description": "Вложение к документу; поля переносятся из ответа загрузки.\n\n- в digest входят `fileId`, `fileName` и `contentHash`; алгоритм SHA-256 фиксирован правилами;\n- банк сверяет имя и хэш с сохранённым файлом; несовпадение — `400 VALIDATION_ERROR`;\n- переданные значения не заменяются серверными перед проверкой подписи.\n",
"required": [
"fileId",
"fileName",
"contentHash"
],
"properties": {
"fileId": {
"type": "string",
"format": "uuid",
"description": "ID загруженного файла"
},
"fileName": {
"type": "string",
"description": "Имя из ответа загрузки"
},
"contentHash": {
"$ref": "#/$defs/FileContentHash"
}
}
},
"CnFeaItem": {
"type": "object",
"description": "Сведения о товаре с кодом Товарной номенклатуры внешнеэкономической деятельности (ТН ВЭД).",
"required": [
"code"
],
"properties": {
"code": {
"type": "string",
"minLength": 8,
"maxLength": 10,
"pattern": "^[0-9]{8,10}(?![\\s\\S])",
"description": "Код ТН ВЭД"
},
"name": {
"type": "string",
"maxLength": 400,
"description": "Наименование товара"
},
"scope": {
"type": "string",
"maxLength": 240,
"description": "Сфера применения товара"
}
}
},
"ContactPerson": {
"type": "object",
"required": [
"name",
"phone"
],
"properties": {
"name": {
"type": "string",
"description": "ФИО контактного лица"
},
"phone": {
"type": "string",
"description": "Телефон контактного лица"
}
}
},
"ContractType": {
"type": "string",
"enum": [
"IMPORT",
"EXPORT",
"MIX_TRADE"
],
"description": "Тип контракта"
},
"Counterparty": {
"type": "object",
"required": [
"name",
"countryCode",
"countryName"
],
"properties": {
"name": {
"type": "string",
"description": "Наименование нерезидента"
},
"countryCode": {
"type": "string",
"description": "Код страны (ОКСМ, 3 цифры)"
},
"countryName": {
"type": "string",
"description": "Наименование страны"
},
"affiliatedPerson": {
"type": "boolean",
"description": "Признак аффилированного лица. true = аффилированное лицо (в форме \"*\")"
}
}
},
"CurrencyContract": {
"type": "object",
"required": [
"type",
"date",
"currencyCode",
"currencyName"
],
"properties": {
"type": {
"$ref": "#/$defs/ContractType"
},
"number": {
"type": "string",
"description": "Номер контракта"
},
"withoutNumber": {
"type": "boolean",
"description": "Признак «Без номера»"
},
"date": {
"type": "string",
"format": "date",
"description": "Дата контракта"
},
"amount": {
"type": "string",
"description": "Сумма контракта в валюте контракта"
},
"withoutAmount": {
"type": "boolean",
"description": "Признак «Без суммы»"
},
"currencyCode": {
"type": "string",
"description": "Код валюты контракта (ОКВ, 3 символа)"
},
"currencyName": {
"type": "string",
"description": "Наименование валюты контракта"
},
"finishDate": {
"type": "string",
"format": "date",
"description": "Дата завершения исполнения обязательств"
},
"previousPassportNumber": {
"type": "string",
"maxLength": 22,
"description": "Ранее присвоенный уникальный номер контракта при переводе из другого банка"
}
}
},
"DealSubject": {
"type": "object",
"description": "Предмет сделки: товары, получатели и сведения о поставке для комплаенс-проверки.\n",
"properties": {
"cnFea": {
"type": "array",
"description": "Товары с кодами ТН ВЭД (Commodity Nomenclature of Foreign Economic Activity). Допускается пустой массив.",
"items": {
"$ref": "#/$defs/CnFeaItem"
}
},
"recipients": {
"type": "array",
"description": "Получатели товаров. Допускается пустой массив.",
"items": {
"$ref": "#/$defs/GoodsRecipient"
}
},
"finalDeliveryAddress": {
"type": "string",
"maxLength": 200,
"description": "Адрес или место конечной поставки товаров"
},
"goodsRoute": {
"type": "string",
"maxLength": 200,
"description": "Маршрут следования товаров"
}
}
},
"DigestVersion": {
"type": "integer",
"minimum": 1,
"description": "Версия правил формирования дайджеста для типа документа из этого запроса.\n\n- правила данной версии фиксируют канонизацию, состав допустимых полей, исключения, порядок массивов и алгоритм хэша вложений;\n- версии разных типов документов продвигаются независимо: изменение состава полей одного типа не повышает версию остальных;\n- если не передана, backend выбирает актуальную версию на начало обработки нового документа и сохраняет её вместе с подписью;\n- клиент вычисляет подпись до отправки запроса и должен использовать актуальную публикованную версию правил, даже если поле не передано;\n- выбранная или переданная версия включается в подписываемый текст; правила и формат дайджеста описаны в документации «Подпись документов — формирование дайджеста»;\n- неизвестная или не принимаемая версия — `400 UNSUPPORTED_DIGEST_VERSION`.\n"
},
"DocumentIdentifier": {
"type": "object",
"required": [
"externalId",
"date"
],
"properties": {
"externalId": {
"type": "string",
"format": "uuid",
"description": "Уникальный идентификатор во внешней системе"
},
"date": {
"type": "string",
"format": "date",
"description": "Дата составления документа"
},
"number": {
"type": "integer",
"format": "int32",
"minimum": 1,
"maximum": 9999999,
"description": "Номер документа"
}
}
},
"DocumentRequestBase": {
"type": "object",
"allOf": [
{
"$ref": "#/$defs/DocumentIdentifier"
},
{
"$ref": "#/$defs/WithAttachments"
},
{
"$ref": "#/$defs/WithSignatures"
},
{
"type": "object",
"required": [
"resident",
"contactPerson"
],
"properties": {
"resident": {
"$ref": "#/$defs/Resident"
},
"contactPerson": {
"$ref": "#/$defs/ContactPerson"
},
"clientComment": {
"type": "string",
"maxLength": 2000,
"description": "Произвольный комментарий клиента для сотрудника банка, обрабатывающего документ."
}
}
}
]
},
"FileContentHash": {
"type": "string",
"pattern": "^[0-9a-f]{64}$",
"description": "SHA-256 исходных байтов файла без multipart-обрамления и преобразований, в шестнадцатеричном виде, нижний регистр.\n\nАлгоритм фиксирован: SHA-256, отдельное поле не передаётся.\n"
},
"GoodsRecipient": {
"type": "object",
"description": "Получатель товаров.",
"required": [
"name"
],
"properties": {
"name": {
"type": "string",
"maxLength": 400,
"description": "Наименование получателя"
}
}
},
"RegistrationReason": {
"type": "string",
"enum": [
"NO_CONDITIONS",
"PRELIMINARY_AGREEMENT",
"EXPORT_CONTRACT_LATER"
],
"description": "Основание постановки на учет контракта"
},
"Resident": {
"type": "object",
"required": [
"name",
"inn"
],
"properties": {
"name": {
"type": "string",
"description": "Наименование резидента"
},
"inn": {
"type": "string",
"pattern": "^[0-9]{10,12}$",
"description": "ИНН резидента (10 цифр для организаций, 12 для ИП)"
},
"address": {
"$ref": "#/$defs/ResidentAddress"
},
"kpp": {
"type": "string",
"pattern": "^[0-9]{9}$",
"description": "КПП резидента"
},
"ogrn": {
"type": "string",
"pattern": "^[0-9]{13}$",
"description": "ОГРН"
},
"ogrnDate": {
"type": "string",
"format": "date",
"description": "Дата внесения в госреестр"
}
}
},
"ResidentAddress": {
"type": "object",
"properties": {
"region": {
"type": "string",
"description": "Субъект Российской Федерации"
},
"area": {
"type": "string",
"description": "Район в регионе"
},
"city": {
"type": "string",
"description": "Город"
},
"settlement": {
"type": "string",
"description": "Населенный пункт"
},
"street": {
"type": "string",
"description": "Улица (проспект, переулок и т.д.)"
},
"house": {
"type": "string",
"description": "Номер дома (владение)"
},
"block": {
"type": "string",
"description": "Корпус (строение)"
},
"office": {
"type": "string",
"description": "Офис (квартира)"
}
}
},
"ResidentForRegistration": {
"type": "object",
"allOf": [
{
"$ref": "#/$defs/Resident"
},
{
"type": "object",
"required": [
"address",
"kpp"
]
}
]
},
"RightsTransfer": {
"type": "object",
"required": [
"type",
"name",
"documentNumber",
"documentDate"
],
"properties": {
"type": {
"$ref": "#/$defs/RightsTransferType"
},
"name": {
"type": "string",
"description": "Наименование (ФИО для физического лица)"
},
"address": {
"$ref": "#/$defs/RightsTransferAddress"
},
"ogrn": {
"type": "string",
"pattern": "^[0-9]{13}$",
"description": "ОГРН (для юридического лица)"
},
"ogrnDate": {
"type": "string",
"format": "date",
"description": "Дата внесения ОГРН в госреестр"
},
"inn": {
"type": "string",
"pattern": "^[0-9]{10,12}$",
"description": "ИНН"
},
"kpp": {
"type": "string",
"pattern": "^[0-9]{9}$",
"description": "КПП (для юридического лица)"
},
"documentNumber": {
"type": "string",
"description": "Номер документа о переходе прав"
},
"documentDate": {
"type": "string",
"format": "date",
"description": "Дата документа о переходе прав"
},
"countryCode": {
"type": "string",
"description": "Код страны (для нерезидента, ОКСМ)"
}
}
},
"RightsTransferAddress": {
"type": "object",
"properties": {
"region": {
"type": "string",
"description": "Субъект Российской Федерации"
},
"area": {
"type": "string",
"description": "Район в регионе"
},
"city": {
"type": "string",
"description": "Город"
},
"settlement": {
"type": "string",
"description": "Населенный пункт"
},
"street": {
"type": "string",
"description": "Улица (проспект, переулок и т.д.)"
},
"house": {
"type": "string",
"description": "Номер дома (владение)"
},
"block": {
"type": "string",
"description": "Корпус (строение)"
},
"office": {
"type": "string",
"description": "Офис (квартира)"
}
}
},
"RightsTransferType": {
"type": "string",
"enum": [
"RESIDENT_LEGAL_OR_ENTREPRENEUR",
"INDIVIDUAL",
"NON_RESIDENT"
],
"description": "Тип лица в переходе прав"
},
"Signature": {
"type": "object",
"description": "Электронная подпись документа; версия в запросе необязательна",
"required": [
"certificateId",
"signature"
],
"properties": {
"digestVersion": {
"$ref": "#/$defs/DigestVersion"
},
"certificateId": {
"type": "string",
"description": "ID сертификата ЭП"
},
"signature": {
"type": "string",
"contentEncoding": "base64",
"description": "Значение подписи (Base64)"
}
}
},
"WithAttachments": {
"type": "object",
"properties": {
"attachments": {
"type": "array",
"maxItems": 20,
"items": {
"$ref": "#/$defs/Attachment"
},
"description": "Вложения: `fileId`, `fileName` и `contentHash` из успешного ответа `POST /currency-control/files`.\n\n**Проверки сервера:**\n- принадлежность файлов клиенту, срок доступности и ограничения документа;\n- недоступное вложение — `400 VALIDATION_ERROR` по `attachments[N].fileId`;\n- для справки о подтверждающих документах размер каждого вложения не должен превышать 10485760 байт.\n\n**Жизненный цикл:**\n- при успешном сохранении документа (включая `DRAFT`) связь и отмена удаления невостребованного файла фиксируются атомарно; из метаданных исчезает поле `expiresAt`;\n- использованный файл не возвращается в режим невостребованного после удаления ссылки;\n- хранение и доступ сохраняются до окончания срока хранения всех связанных документов.\n\n> **Внимание:** при гонке с очисткой либо сохраняется документ с защищённым файлом, либо запрос отклоняется.\n> Ошибка или откат не отменяют срок.\n"
}
}
},
"WithSignatures": {
"type": "object",
"properties": {
"signatures": {
"type": "array",
"items": {
"$ref": "#/$defs/Signature"
},
"description": "Электронные подписи"
}
}
}
}
}
Work with this as data
Every JSON Schema here is available over the APIs.io API and to AI agents over MCP.
MCP server
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
Tools for schemas
4 MCP tools reach this
find_json_schemasBrowse and filter every JSON Schema in the catalog.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.
Call it yourself
curl for this page
This JSON Schema
curl "https://apis.io/api/v1/json-schemas/raiffeisen-ru-currency-contract-request"
All schemas
curl "https://apis.io/api/v1/json-schemas?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.