openapi: 3.2.0 info: title: Exchange Transactions API description: Operations for Exchanges version: '1' servers: - url: https://sandbox-api.integrated.finance/v1/{instanceId} description: Sandbox variables: {} - url: https://api.integrated.finance/v1/{instanceId} description: Production variables: {} tags: - name: Exchange Transactions paths: /exchange-transactions: get: tags: - Exchange Transactions summary: List Exchange Transactions operationId: exchanges.transaction.list responses: '200': description: Exchange transaction list returned content: application/json: schema: $ref: '#/components/schemas/ExchangeListResponse' post: tags: - Exchange Transactions summary: Create an Exchange Transaction operationId: exchanges.transaction.create requestBody: content: '*/*': schema: $ref: '#/components/schemas/ExchangeCreateRequest' responses: '201': description: Exchange transaction created successfully content: application/json: schema: $ref: '#/components/schemas/ExchangeCreateResponse' /exchange-transactions/{id}: get: tags: - Exchange Transactions summary: Get an Exchange Transaction operationId: exchanges.transaction.get parameters: - name: id in: path required: true schema: type: string format: uuid responses: '200': description: Exchange transaction returned content: application/json: schema: $ref: '#/components/schemas/ExchangeGetResponse' patch: tags: - Exchange Transactions summary: Update an Exchange Transaction operationId: exchanges.transaction.update parameters: - name: id in: path required: true schema: type: string format: uuid requestBody: content: '*/*': schema: $ref: '#/components/schemas/ExchangeUpdateRequest' responses: '200': description: Exchange transaction updated successfully content: application/json: schema: $ref: '#/components/schemas/ExchangeUpdateResponse' components: schemas: ConnectMethod: type: string enum: - built-in - plug-in QuoteCreateConnect: required: - serviceProvider - type type: object properties: type: type: string description: service provider selection type enum: - explicit serviceProvider: type: string description: 'account is connected to this service provider ' enum: - railsbank ExchangeUpdateRequest: required: - connect - data - metadata - workflow type: object properties: workflow: $ref: '#/components/schemas/ExchangeUpdateWorkflowContainer' data: $ref: '#/components/schemas/ExchangeUpdateRequestDataContainer' connect: $ref: '#/components/schemas/ExchangeUpdateConnect' metadata: $ref: '#/components/schemas/ExchangeUpdateMetadataContainer' ExchangeCreateDataContainer: required: - exchange type: object properties: exchange: $ref: '#/components/schemas/ExchangeResource' ExchangeResourceQueryInput: type: object properties: clientId: type: array items: type: string format: uuid owner: $ref: '#/components/schemas/Owner' transactionNumber: type: array items: type: string exchangeDateFrom: type: string format: date exchangeDateTo: type: string format: date sellCurrency: type: array items: type: string buyCurrency: type: array items: type: string sellAmountFrom: type: number sellAmountTo: type: number buyAmountFrom: type: number buyAmountTo: type: number serviceProviders: type: array items: type: string serviceProviderId: type: string serviceProviderReference: type: string hasRelatedTransaction: type: boolean relatedTransactionId: type: string format: uuid relatedTransactionNature: $ref: '#/components/schemas/TransactionNature' Owner: type: string enum: - organization - client ExchangeResource: required: - buyAccountId - buyAmount - buyCurrency - clientId - creditAmount - cutOffDateTime - debitAmount - exchangeDate - fixedSide - originalExchangeDate - quoteId - rate - rollCount - sellAccountId - sellAmount - sellCurrency - serviceProviderBuyAmount - serviceProviderRate - serviceProviderSellAmount - settlementDate - status - transactionNumber type: object properties: id: type: string description: ID of exchange format: uuid clientId: type: string description: ID of client format: uuid quoteId: type: string description: ID of quote format: uuid transactionNumber: type: string description: Transaction number of exchange fixedSide: $ref: '#/components/schemas/ExchangeFixedSideType' rate: type: number description: Rate serviceProviderRate: type: number description: Service provider rate buyAccountId: type: string description: ID of buy account format: uuid buyCurrency: maxLength: 3 minLength: 3 type: string description: ISO 4217 currency code buyAmount: type: number description: Buy amount of exchange serviceProviderBuyAmount: type: number description: Buy amount of service provider sellAccountId: type: string description: ID of sell account format: uuid sellCurrency: maxLength: 3 minLength: 3 type: string description: ISO 4217 currency code sellAmount: type: number description: Sell amount of exchange serviceProviderSellAmount: type: number description: Sell amount of service provider feeAmount: type: number description: Fee amount feeCurrency: type: string description: Fee currency debitAmount: type: number description: amount to be debited from the account, equals to sell amount if fee amount is 0 creditAmount: type: number description: amount to be credited to the account, equals to buy amount if fee amount is 0 rollCount: type: integer description: Roll count of exchange format: int32 originalExchangeDate: type: string description: Original exchange date format: date exchangeDate: type: string description: Calculated exchange date format: date cutOffDateTime: type: string description: Exchange cut-off date time format: date-time settlementDate: type: string description: Calculated exchange settlement date format: date status: $ref: '#/components/schemas/ExchangeTransactionStatus' cancellationFee: type: - number - 'null' description: Cancellation fee owner: $ref: '#/components/schemas/Owner' relatedTransaction: $ref: '#/components/schemas/RelatedTransaction' connection: $ref: '#/components/schemas/ExchangeTransactionConnectionResource' description: exchange transaction model readOnly: true ExchangeGetResponse: required: - connect - data - metadata - workflow type: object properties: workflow: $ref: '#/components/schemas/ExchangeGetWorkflowContainer' data: $ref: '#/components/schemas/ExchangeGetDataContainer' connect: $ref: '#/components/schemas/ExchangeGetConnect' metadata: $ref: '#/components/schemas/ExchangeGetMetadataContainer' ExchangeListDataContainer: type: object properties: exchange: $ref: '#/components/schemas/ExchangeResourceQueryInput' exchanges: type: array items: $ref: '#/components/schemas/ExchangeResource' ErrorOrigin: type: string enum: - customer - platform - provider ServiceProviderConnectionState: type: string enum: - pending - creation-in-progress - update-in-progress - dependency-completed - completed-up-to-date - completed-outdated - dependency-failed - creation-failed TransactionNature: type: string enum: - actual - virtual ExchangeListConnectContainer: type: object ExchangeFixedSideType: type: string description: which side is fixed as amount enum: - buy - sell ExchangeTransactionConnectionResource: type: object properties: id: type: string serviceProvider: type: string reference: type: string state: $ref: '#/components/schemas/ServiceProviderConnectionState' status: $ref: '#/components/schemas/ThirdPartyExchangeTransactionStatus' method: $ref: '#/components/schemas/ConnectMethod' error: $ref: '#/components/schemas/ConnectionErrorResource' description: Exchange Transaction Connection Resource Object readOnly: true ThirdPartyExchangeTransactionStatus: type: string enum: - pending - processing - completed - cancelled - failed ExchangeGetWorkflowContainer: type: object ExchangeGetConnect: type: object RelatedTransaction: type: object properties: nature: $ref: '#/components/schemas/TransactionNature' id: type: string format: uuid ExchangeTransactionStatus: type: string description: Status of Exchange enum: - pending - completed - cancelled - failed ConnectionErrorResource: type: object properties: category: $ref: '#/components/schemas/ErrorCategory' origin: $ref: '#/components/schemas/ErrorOrigin' code: type: string message: type: string attributes: type: object additionalProperties: type: string ExchangeCreateRequest: required: - connect - data - metadata - workflow type: object properties: workflow: $ref: '#/components/schemas/ExchangeCreateWorkflowContainer' data: $ref: '#/components/schemas/ExchangeCreateDataContainer' connect: $ref: '#/components/schemas/QuoteCreateConnect' metadata: $ref: '#/components/schemas/ExchangeCreateMetadataContainer' ExchangeUpdateRequestDataContainer: required: - exchange type: object properties: exchange: $ref: '#/components/schemas/ExchangeResource' ExchangeListResponse: required: - connect - data - metadata - workflow type: object properties: workflow: $ref: '#/components/schemas/ExchangeListWorkflowContainer' data: $ref: '#/components/schemas/ExchangeListDataContainer' connect: $ref: '#/components/schemas/ExchangeListConnectContainer' metadata: $ref: '#/components/schemas/ExchangeListMetadataContainer' ErrorCategory: type: string enum: - functional - technical ExchangeGetMetadataContainer: type: object ExchangeCreateResponse: required: - connect - data - metadata - workflow type: object properties: workflow: $ref: '#/components/schemas/ExchangeCreateWorkflowContainer' data: $ref: '#/components/schemas/ExchangeCreateDataContainer' connect: $ref: '#/components/schemas/QuoteCreateConnect' metadata: $ref: '#/components/schemas/ExchangeCreateMetadataContainer' ExchangeUpdateWorkflowContainer: required: - code type: object properties: code: type: string description: workflow code enum: - client.direct.spot PageMetadata: required: - number - size - totalElements - totalPages type: object properties: size: minimum: 0 type: integer description: number of elements in this page format: int32 number: minimum: 0 type: integer description: index of page starting from 0 format: int32 totalElements: minimum: 0 type: integer description: total number of elements in all of the pages format: int64 readOnly: true totalPages: minimum: 0 type: integer description: number of total pages format: int32 readOnly: true ExchangeListMetadataContainer: required: - page type: object properties: page: $ref: '#/components/schemas/PageMetadata' description: metadata container ExchangeListWorkflowContainer: type: object description: workflow container ExchangeCreateMetadataContainer: type: object ExchangeUpdateResponse: required: - connect - data - metadata - workflow type: object properties: workflow: $ref: '#/components/schemas/ExchangeUpdateWorkflowContainer' data: $ref: '#/components/schemas/ExchangeUpdateRequestDataContainer' connect: $ref: '#/components/schemas/ExchangeUpdateConnect' metadata: $ref: '#/components/schemas/ExchangeUpdateMetadataContainer' ExchangeUpdateMetadataContainer: type: object ExchangeGetDataContainer: type: object properties: exchange: $ref: '#/components/schemas/ExchangeResource' ExchangeCreateWorkflowContainer: required: - code type: object properties: code: type: string description: workflow code enum: - client.direct.spot ExchangeUpdateConnect: required: - serviceProvider - type type: object properties: type: type: string description: service provider selection type enum: - explicit serviceProvider: type: string description: 'account is connected to this service provider ' enum: - railsbank x-provenance: method: searched source: https://developer.integrated.finance/reference harvested: '2026-10-14' tool: harvest-readme-openapi.py note: Assembled verbatim from the OpenAPI definition ReadMe embeds in each operation page of the provider's developer portal; paths and components merged by API title, nothing authored. assembled_from: - https://developer.integrated.finance/reference/exchangesquotecreate.md - https://developer.integrated.finance/reference/exchangesquoterefresh.md - https://developer.integrated.finance/reference/exchangestransactioncreate.md - https://developer.integrated.finance/reference/exchangestransactionget.md - https://developer.integrated.finance/reference/exchangestransactionlist.md - https://developer.integrated.finance/reference/exchangestransactionupdate.md merge: pages: 6 deduped: 50 conflicts_kept_first: 0