openapi: 3.0.3 info: title: Fipto - OpenAPI 3.0 version: 4.3.0 description: This is a REST API specifications based on OpenAPI 3.0 for Fipto solution. contact: url: https://www.fipto.com/ servers: - url: https://api.fipto.app description: The API server on production tags: - name: Assets description: Retrieve information about assets supported by Fipto. - name: Transactions description: Initiate payout and retrieve information about ongoing and completed transactions. - name: Wallets description: Manage wallets and their related wallet details. - name: Beneficiaries description: Manage your beneficiaries to whitelist addresses for payout. - name: Companies description: Manage information and settings of a company. - name: AISP/PISP description: Endpoints for AISP/PISP. - name: Payment links description: Manage payment links. - name: Conversions description: Manage conversions. - name: KYC Reliance description: Manage KYC reliance onboardings for client onboarding via API. paths: /companies/{company_id}/assets: get: summary: Get supported assets description: Retrieve the list of supported assets of a company. operationId: listAssets tags: - Assets parameters: - $ref: '#/components/parameters/company_id' - $ref: '#/components/parameters/page_number' - $ref: '#/components/parameters/page_size' - name: sort in: query required: false schema: $ref: '#/components/schemas/sort_asset_list' responses: '200': description: List of all assets. content: application/json: schema: allOf: - $ref: '#/components/schemas/meta' - $ref: '#/components/schemas/pagination' - type: object properties: data: type: array items: $ref: '#/components/schemas/asset_data' /companies/{company_id}/request-usd: post: summary: Request USD onboarding description: Request USD onboarding for a company. operationId: requestUsdOnboarding tags: - Assets parameters: - $ref: '#/components/parameters/company_id' responses: '204': description: Request USD onboarding initiated. /companies/{company_id}/quotes: post: summary: Create a new automated quote operationId: createAQuote tags: - Conversions parameters: - $ref: '#/components/parameters/company_id' requestBody: content: application/json: schema: type: object required: - data properties: data: oneOf: - $ref: '#/components/schemas/quote_buy_sided' - $ref: '#/components/schemas/quote_sell_sided' responses: '201': description: Quote successfully created content: application/json: schema: allOf: - $ref: '#/components/schemas/meta' - type: object required: - data properties: data: allOf: - $ref: '#/components/schemas/quote_buy_sided' - $ref: '#/components/schemas/quote_sell_sided' '400': description: Bad Request content: application/json: schema: type: object required: - data properties: data: type: object required: - message properties: message: type: string oneOf: - pattern: '^Manual flow required: company trading limits hit\.$' - pattern: '^Manual flow required: amount is below the minimum eur trading volume: \d{1,}\.$' - pattern: '^Manual flow required: amount is above the maximum eur trading volume: \d{1,}\.$' - pattern: '^Manual flow required: pair is forbidden' - pattern: ^Manual flow required\.$ - pattern: ^Asset codes of buy and sell wallets must be different\.$ - pattern: ^Wallets not found\.$ - pattern: ^Buy wallet not found\.$ - pattern: ^Sell wallet not found\.$ - pattern: ^Sell amount must have \d{1,} decimals\.$ /companies/{company_id}/quotes/{quote_id}/status: patch: summary: Confirm a quote. operationId: confirmQuoteStatus tags: - Conversions parameters: - $ref: '#/components/parameters/company_id' - $ref: '#/components/parameters/quote_id' requestBody: content: application/json: schema: type: object required: - data properties: data: $ref: '#/components/schemas/quote_status_confirmed_data' responses: '200': description: Quote successfully updated content: application/json: schema: allOf: - $ref: '#/components/schemas/meta' - type: object required: - data properties: data: $ref: '#/components/schemas/quote_status_confirmed_data' '400': description: Bad Request content: application/json: schema: type: object required: - data properties: data: type: object required: - message properties: message: type: string oneOf: - pattern: '^Manual flow required: company trading limits hit\.$' - pattern: ^Asset codes of buy and sell wallets must be different\.$ - pattern: ^Quote is expired\.$ - pattern: ^Quote not found\.$ - pattern: ^Quote is not in submitted status\.$ - pattern: ^Insufficient funds\.$ - pattern: ^Quote already validated\.$ '404': description: Not Found content: application/json: schema: type: object required: - data properties: data: type: object required: - message properties: message: type: string oneOf: - pattern: ^Quote not found\.$ /companies: get: summary: Get companies description: Retrieve companies linked to the logged user. operationId: listCompaniesByUser tags: - Companies parameters: - $ref: '#/components/parameters/page_number' - $ref: '#/components/parameters/page_size' - name: sort in: query required: false schema: $ref: '#/components/schemas/sort_company_list' responses: '200': description: List of all companies. content: application/json: schema: allOf: - $ref: '#/components/schemas/meta' - $ref: '#/components/schemas/pagination' - type: object properties: data: type: array items: $ref: '#/components/schemas/company_data' /companies/{company_id}: get: summary: Get a company description: Retrieve a specific company linked to the logged user. operationId: getCompany tags: - Companies parameters: - $ref: '#/components/parameters/company_id' responses: '200': description: Company details. content: application/json: schema: allOf: - $ref: '#/components/schemas/meta' - type: object properties: data: $ref: '#/components/schemas/company_data' /companies/{company_id}/beneficiaries/file-conversion: post: summary: Validate a batch of beneficiaries description: Validate a CSV representation of a batch of beneficiaries. operationId: validateBatchBeneficiary tags: - Beneficiaries parameters: - $ref: '#/components/parameters/company_id' requestBody: content: application/json: schema: type: object required: - data properties: data: type: object required: - attributes - type properties: type: type: string enum: - batch_beneficiaries attributes: type: object required: - beneficiaries properties: beneficiaries: type: string description: The file encoded in base 64. example: TODO responses: '200': description: CSV successfully parsed content: application/json: schema: allOf: - $ref: '#/components/schemas/meta' - $ref: '#/components/schemas/beneficiary_batch_item' /companies/{company_id}/beneficiaries/batch: post: summary: Create a batch of beneficiaries description: Create a batch of beneficiaries for your company. A beneficiary is necessary to initiate a payout. operationId: createBatchBeneficiaries tags: - Beneficiaries parameters: - $ref: '#/components/parameters/company_id' requestBody: content: application/json: schema: $ref: '#/components/schemas/beneficiary_batch_item' responses: '201': description: Beneficiaries batch successfully created. '400': description: Bad Request content: application/json: schema: allOf: - $ref: '#/components/schemas/meta' - $ref: '#/components/schemas/beneficiary_batch_item' /companies/{company_id}/beneficiaries: post: summary: Create a beneficiary description: Create a beneficiary for your company. A beneficiary is necessary to initiate a payout. operationId: createBeneficiary tags: - Beneficiaries parameters: - $ref: '#/components/parameters/company_id' requestBody: content: application/json: schema: type: object required: - data properties: data: oneOf: - allOf: - $ref: '#/components/schemas/beneficiary_raw_data' - not: properties: attributes: required: - corridor - $ref: '#/components/schemas/beneficiary_typed_data' examples: Digital - Natural person - Not belonging to company - dev front: value: data: type: beneficiary attributes: description: My beneficiary wallet_details: asset: BTC address: bc1*** travel_rule_status: incomplete beneficiary_info: type: individual firstname: Sam lastname: Doe address: street_address: 25 rue François 1er zip_code: '75008' city: Paris country_code: FR Digital - Legal person - Not belonging to company - dev front: value: data: type: beneficiary attributes: description: My beneficiary wallet_details: asset: BTC address: bc1*** travel_rule_status: incomplete beneficiary_info: type: company name: Acme address: street_address: 25 rue François 1er zip_code: '75008' city: Paris country_code: FR Digital - Belonging to company - dev front: value: data: type: beneficiary attributes: description: My beneficiary wallet_details: asset: BTC address: bc1*** travel_rule_status: incomplete beneficiary_info: type: self Digital - Natural person - Not belonging to company: value: data: type: beneficiary attributes: description: My beneficiary wallet_details: asset: BTC address: bc1*** travel_rule_status: incomplete beneficiary_info: type: individual firstname: Sam lastname: Doe address: street_address: 25 rue François 1er zip_code: '75008' city: Paris country_code: FR Digital - Legal person - Not belonging to company: value: data: type: beneficiary attributes: description: My beneficiary wallet_details: asset: BTC address: bc1*** travel_rule_status: incomplete beneficiary_info: type: company name: Acme address: street_address: 25 rue François 1er zip_code: '75008' city: Paris country_code: FR Digital - Belonging to company: value: data: type: beneficiary attributes: description: My beneficiary wallet_details: asset: BTC address: bc1*** travel_rule_status: incomplete beneficiary_info: type: self responses: '201': description: Beneficiary successfully created. content: application/json: schema: allOf: - $ref: '#/components/schemas/meta' - type: object properties: data: $ref: '#/components/schemas/beneficiary_data' examples: Digital - Natural person - Not belonging to company: value: meta: request_id: dba2bB95-28eD-E9E9-9ABC-7535831512bb data: type: beneficiary id: fea2bB77-54eF-E9E9-9ABC-6535831512aa attributes: description: My beneficiary wallet_details: asset: BTC address: bc1*** travel_rule_status: incomplete beneficiary_info: type: individual firstname: Sam lastname: Doe address: street_address: 25 rue François 1er zip_code: '75008' city: Paris country_code: FR Digital - Legal person - Not belonging to company: value: meta: request_id: dba2bB95-28eD-E9E9-9ABC-7535831512bb data: type: beneficiary id: fea2bB77-54eF-E9E9-9ABC-6535831512aa attributes: description: My beneficiary wallet_details: asset: BTC address: bc1*** travel_rule_status: incomplete beneficiary_info: type: company name: Acme address: street_address: 25 rue François 1er zip_code: '75008' city: Paris country_code: FR Digital - Belonging to company: value: meta: request_id: dba2bB95-28eD-E9E9-9ABC-7535831512bb data: type: beneficiary id: fea2bB77-54eF-E9E9-9ABC-6535831512aa attributes: description: My beneficiary wallet_details: asset: BTC address: bc1*** travel_rule_status: incomplete beneficiary_info: type: self '400': description: Bad Request content: application/json: examples: Invalid address: value: meta: request_id: XXXX-XXXX-XXXX-XXXX-XXXX errors: code: invalid_identifier source: pointer: /data/attributes/wallet_details/address title: Invalid Address detail: This address is not valid for the selected asset network '403': description: Forbidden — user is not authorized by the company's authorization policy. get: summary: Get beneficiaries operationId: listBeneficiaries description: Retrieve all beneficiaries of a company. tags: - Beneficiaries parameters: - $ref: '#/components/parameters/company_id' - $ref: '#/components/parameters/page_number' - $ref: '#/components/parameters/page_size' - $ref: '#/components/parameters/sort' - $ref: '#/components/parameters/filter_beneficiary_types' - $ref: '#/components/parameters/filter_beneficiary_assets' responses: '200': description: List of all beneficiaries. content: application/json: schema: allOf: - $ref: '#/components/schemas/meta' - $ref: '#/components/schemas/pagination' - type: object properties: data: type: array items: $ref: '#/components/schemas/beneficiary_data' /companies/{company_id}/beneficiaries/{beneficiary_id}: get: summary: Get a beneficiary operationId: searchBeneficiaries description: Retrieve a specific beneficiary by its unique identifier. tags: - Beneficiaries parameters: - $ref: '#/components/parameters/company_id' - $ref: '#/components/parameters/beneficiary_id' responses: '200': description: Retrieve a beneficiary. content: application/json: schema: allOf: - $ref: '#/components/schemas/meta' - type: object properties: data: $ref: '#/components/schemas/beneficiary_data' delete: summary: Delete a beneficiary operationId: deleteBeneficiary description: Delete a specific beneficiary. tags: - Beneficiaries parameters: - $ref: '#/components/parameters/company_id' - $ref: '#/components/parameters/beneficiary_id' responses: '204': description: Beneficiary deleted /companies/{company_id}/beneficiaries/{beneficiary_id}/verify: post: summary: Verify a euro beneficiary operationId: verifyBeneficiary description: Verify a euro beneficiary using the VOP (Verification Of Payee) scheme. tags: - Beneficiaries parameters: - $ref: '#/components/parameters/company_id' - $ref: '#/components/parameters/beneficiary_id' responses: '200': description: Verification done. content: application/json: schema: allOf: - $ref: '#/components/schemas/meta' - type: object required: - data properties: data: type: object required: - type - id - attributes properties: id: type: string description: ID of the verification that was made. This ID can be used when initiating a payout to the same beneficiary. type: type: string enum: - verification_of_payee attributes: type: object required: - code properties: code: $ref: '#/components/schemas/vop_code' close_match: $ref: '#/components/schemas/vop_close_match' /companies/{company_id}/beneficiaries/{beneficiary_id}/wallet-details/travel-rule: patch: summary: Update the travel rule of a beneficiary operationId: updateBeneficiaryTravelRule description: Update the travel rule of a beneficiary. tags: - Travel Rule parameters: - $ref: '#/components/parameters/company_id' - $ref: '#/components/parameters/beneficiary_id' requestBody: content: application/json: schema: type: object required: - data properties: data: $ref: '#/components/schemas/beneficiary_travel_rule_patch_data' responses: '200': description: Beneficiary travel rule successfully updated. content: application/json: schema: allOf: - $ref: '#/components/schemas/meta' - type: object properties: data: $ref: '#/components/schemas/beneficiary_travel_rule_patch_data' /companies/{company_id}/automations: get: summary: List automation rules description: Retrieve the list of automation rules for your company. operationId: listAutomations tags: - Automations parameters: - $ref: '#/components/parameters/company_id' - $ref: '#/components/parameters/page_number' - $ref: '#/components/parameters/page_size_optional' - name: status in: query description: Filter by status required: false schema: type: string enum: - active - name: rule_type in: query description: Filter by rule type required: false schema: type: string enum: - conversion - payout responses: '200': description: List of automation rules. content: application/json: schema: allOf: - $ref: '#/components/schemas/meta' - $ref: '#/components/schemas/pagination' - type: object required: - data properties: data: type: array items: $ref: '#/components/schemas/automation_rule_data' '400': description: Bad Request content: application/json: schema: type: object required: - data properties: data: type: object required: - message properties: message: type: string oneOf: - pattern: ^Automation is not enabled for this company\.$ post: summary: Create automation rule description: Create a new automation rule for automatic conversions or payouts. Requires 2FA verification. operationId: createAutomation tags: - Automations parameters: - $ref: '#/components/parameters/company_id' requestBody: content: application/json: schema: type: object required: - data properties: data: $ref: '#/components/schemas/automation_rule_create_raw_data' responses: '201': description: Automation rule successfully created. content: application/json: schema: allOf: - $ref: '#/components/schemas/meta' - type: object required: - data properties: data: $ref: '#/components/schemas/automation_rule_data' '400': description: Bad Request content: application/json: schema: type: object required: - data properties: data: type: object required: - message properties: message: type: string oneOf: - pattern: ^Automation is not enabled for this company\.$ - pattern: ^Invalid rule_type\. Must be 'conversion' or 'payout'\.$ - pattern: ^Invalid trigger_event\. Must be 'payin_completed' or 'conversion_completed'\.$ - pattern: ^Conversion rules can only be triggered by 'payin_completed'\.$ - pattern: ^Invalid amount_mode\. Must be 'full' or 'inherited'\.$ - pattern: ^Source wallet asset is not eligible for automation\. Only EUR, USD, and stablecoins are supported\.$ - pattern: ^This wallet already has an active automation rule for this trigger event\. Only one rule per trigger event per wallet is allowed\.$ - pattern: ^destination_wallet_id is required for conversion rules\.$ - pattern: ^Destination wallet must be different from source wallet\.$ - pattern: ^Destination wallet must have a different currency for conversions\.$ - pattern: ^destination_beneficiary_id is required for payout rules\.$ - pattern: ^Beneficiary currency must match source wallet currency for payouts\.$ - pattern: ^This beneficiary targets a Fipto wallet and cannot be used for automation\.$ '404': description: Not Found content: application/json: schema: type: object required: - data properties: data: type: object required: - message properties: message: type: string oneOf: - pattern: ^Unknown source wallet\.$ - pattern: ^Unknown destination wallet\.$ - pattern: ^Unknown beneficiary\.$ /companies/{company_id}/automations/{automation_id}: get: summary: Get automation rule description: Retrieve a specific automation rule by its unique identifier. operationId: getAutomation tags: - Automations parameters: - $ref: '#/components/parameters/company_id' - $ref: '#/components/parameters/automation_id' responses: '200': description: Automation rule details. content: application/json: schema: allOf: - $ref: '#/components/schemas/meta' - type: object required: - data properties: data: $ref: '#/components/schemas/automation_rule_data' '400': description: Bad Request content: application/json: schema: type: object required: - data properties: data: type: object required: - message properties: message: type: string oneOf: - pattern: ^Automation is not enabled for this company\.$ '404': description: Not Found content: application/json: schema: type: object required: - data properties: data: type: object required: - message properties: message: type: string oneOf: - pattern: ^Unknown automation rule\.$ put: summary: Update automation rule description: Update an existing automation rule's configuration. operationId: updateAutomation tags: - Automations parameters: - $ref: '#/components/parameters/company_id' - $ref: '#/components/parameters/automation_id' requestBody: content: application/json: schema: type: object required: - data properties: data: $ref: '#/components/schemas/automation_rule_update_raw_data' responses: '200': description: Automation rule successfully updated. content: application/json: schema: allOf: - $ref: '#/components/schemas/meta' - type: object properties: data: $ref: '#/components/schemas/automation_rule_data' '400': description: Bad Request content: application/json: schema: type: object required: - data properties: data: type: object required: - message properties: message: type: string oneOf: - pattern: ^Automation is not enabled for this company\.$ - pattern: ^Cannot update a deleted automation rule\.$ - pattern: ^Invalid rule_type\. Must be 'conversion' or 'payout'\.$ - pattern: ^Invalid trigger_event\. Must be 'payin_completed' or 'conversion_completed'\.$ - pattern: ^Conversion rules can only be triggered by 'payin_completed'\.$ - pattern: ^Invalid amount_mode\. Must be 'full' or 'inherited'\.$ - pattern: ^Source wallet asset is not eligible for automation\. Only EUR, USD, and stablecoins are supported\.$ - pattern: ^This wallet already has an active automation rule for this trigger event\. Only one rule per trigger event per wallet is allowed\.$ - pattern: ^destination_wallet_id is required for conversion rules\.$ - pattern: ^Destination wallet must be different from source wallet\.$ - pattern: ^Destination wallet must have a different currency for conversions\.$ - pattern: ^destination_beneficiary_id is required for payout rules\.$ - pattern: ^Beneficiary currency must match source wallet currency for payouts\.$ - pattern: ^This beneficiary targets a Fipto wallet and cannot be used for automation\.$ '404': description: Not Found content: application/json: schema: type: object required: - data properties: data: type: object required: - message properties: message: type: string oneOf: - pattern: ^Unknown automation rule\.$ - pattern: ^Unknown source wallet\.$ - pattern: ^Unknown destination wallet\.$ - pattern: ^Unknown beneficiary\.$ delete: summary: Delete automation rule description: Delete an automation rule. operationId: deleteAutomation tags: - Automations parameters: - $ref: '#/components/parameters/company_id' - $ref: '#/components/parameters/automation_id' responses: '204': description: Automation rule successfully deleted. '400': description: Bad Request content: application/json: schema: type: object required: - data properties: data: type: object required: - message properties: message: type: string oneOf: - pattern: ^Automation is not enabled for this company\.$ - pattern: ^This automation rule has already been deleted\.$ '404': description: Not Found content: application/json: schema: type: object required: - data properties: data: type: object required: - message properties: message: type: string oneOf: - pattern: ^Unknown automation rule\.$ /companies/{company_id}/wallets: post: summary: Create wallet description: Create a new wallet for your company. operationId: createWalletByCompanyId tags: - Wallets parameters: - $ref: '#/components/parameters/company_id' requestBody: content: application/json: schema: type: object required: - data properties: data: $ref: '#/components/schemas/wallet_raw_data' responses: '201': description: Wallet successfully created. content: application/json: schema: allOf: - $ref: '#/components/schemas/meta' - type: object properties: data: $ref: '#/components/schemas/wallet_data' get: summary: Get wallets description: Retrieve the list of all wallets in your company. operationId: listWallets tags: - Wallets parameters: - $ref: '#/components/parameters/company_id' - $ref: '#/components/parameters/page_number' - $ref: '#/components/parameters/page_size_optional' - name: sort in: query required: false schema: $ref: '#/components/schemas/sort_wallets_list' - $ref: '#/components/parameters/valuation_asset' - $ref: '#/components/parameters/value' - $ref: '#/components/parameters/assets' responses: '200': description: Retrieve the list of wallets. content: application/json: schema: allOf: - $ref: '#/components/schemas/meta' - $ref: '#/components/schemas/pagination' - type: object properties: data: type: array items: $ref: '#/components/schemas/wallet_data_valuation' /companies/{company_id}/wallets/{wallet_id}: get: summary: Get a wallet description: Retrieve a specific wallet by its unique identifier. operationId: getWallet tags: - Wallets parameters: - $ref: '#/components/parameters/company_id' - $ref: '#/components/parameters/wallet_id' - $ref: '#/components/parameters/valuation_asset' responses: '200': description: Retrieve a wallet. content: application/json: schema: allOf: - $ref: '#/components/schemas/meta' - type: object properties: data: $ref: '#/components/schemas/wallet_data_valuation' patch: summary: Rename a wallet description: Update the name of a specific wallet. operationId: updateWalletName tags: - Wallets parameters: - $ref: '#/components/parameters/company_id' - $ref: '#/components/parameters/wallet_id' requestBody: content: application/json: schema: type: object required: - data properties: data: $ref: '#/components/schemas/wallet_patch_data' responses: '200': description: Retrieve an updated wallet. content: application/json: schema: allOf: - $ref: '#/components/schemas/meta' - type: object properties: data: $ref: '#/components/schemas/wallet_data' /companies/{company_id}/transactions: get: summary: Get transactions description: Retrieve the list of all transactions in your company, with the ability to apply filters based on the wallet, transaction type, and pagination. operationId: searchTransactionsByCompanyId tags: - Transactions parameters: - $ref: '#/components/parameters/company_id' - $ref: '#/components/parameters/page_number' - $ref: '#/components/parameters/page_size' - name: sort in: query required: false schema: $ref: '#/components/schemas/sort_transaction_list' - $ref: '#/components/parameters/filter_transaction_types' - $ref: '#/components/parameters/filter_asset_types' - $ref: '#/components/parameters/filter_wallet_id' - $ref: '#/components/parameters/filter_public_transaction_status' - $ref: '#/components/parameters/filter_can_be_signed_by' - $ref: '#/components/parameters/filters_date_from' - $ref: '#/components/parameters/filters_date_to' responses: '200': description: Retrieve list of transactions. content: application/json: schema: allOf: - $ref: '#/components/schemas/meta' - $ref: '#/components/schemas/pagination' - type: object properties: data: type: array items: $ref: '#/components/schemas/transaction_data' /companies/{company_id}/operations: get: summary: Get operations description: Retrieve the list of operations given their operation IDs. operationId: listOperationByOperationIds tags: - Transactions parameters: - $ref: '#/components/parameters/company_id' - $ref: '#/components/parameters/filter_operation_id' - $ref: '#/components/parameters/page_number' - $ref: '#/components/parameters/page_size' responses: '200': description: Retrieve list of operations. content: application/json: schema: allOf: - $ref: '#/components/schemas/meta' - $ref: '#/components/schemas/pagination' - type: object required: - data properties: data: type: array items: $ref: '#/components/schemas/operation_data' /companies/{company_id}/transactions/{transaction_id}: get: summary: Get a transaction from a company description: Retrieve a specific transaction by its unique identifier. operationId: getCompanyTransaction tags: - Transactions parameters: - $ref: '#/components/parameters/company_id' - $ref: '#/components/parameters/transaction_id' responses: '200': description: Retrieve a transaction. content: application/json: schema: allOf: - $ref: '#/components/schemas/meta' - type: object properties: data: $ref: '#/components/schemas/transaction_data' /companies/{company_id}/wallets/{wallet_id}/wallet-details: post: summary: Create a wallet details description: Create a wallet details for a wallet. operationId: createWalletDetailsByWalletId tags: - Wallets parameters: - $ref: '#/components/parameters/company_id' - $ref: '#/components/parameters/wallet_id' requestBody: content: application/json: schema: type: object required: - data properties: data: $ref: '#/components/schemas/wallet_details_raw_data' responses: '201': description: Wallet details successfully created. content: application/json: schema: allOf: - $ref: '#/components/schemas/meta' - type: object properties: data: $ref: '#/components/schemas/wallet_details_data' get: summary: Get wallet details description: Retrieve the list of wallet details for a given wallet. operationId: getWalletDetailsByWalletId tags: - Wallets parameters: - $ref: '#/components/parameters/company_id' - $ref: '#/components/parameters/wallet_id' - $ref: '#/components/parameters/page_number' - $ref: '#/components/parameters/page_size' - name: sort in: query required: false schema: $ref: '#/components/schemas/sort_wallet_details_list' responses: '200': description: List of all beneficiaries. content: application/json: schema: allOf: - $ref: '#/components/schemas/meta' - $ref: '#/components/schemas/pagination' - type: object properties: data: type: array items: $ref: '#/components/schemas/wallet_details_data' /companies/{company_id}/wallets/{wallet_id}/wallet-details/{wallet_details_id}: get: summary: Get a wallet details description: Retrieve a specific wallet details information. operationId: getWalletDetails tags: - Wallets parameters: - $ref: '#/components/parameters/company_id' - $ref: '#/components/parameters/wallet_id' - $ref: '#/components/parameters/wallet_details_id' responses: '200': description: Retrieve a beneficiary. content: application/json: schema: allOf: - $ref: '#/components/schemas/meta' - type: object properties: data: $ref: '#/components/schemas/wallet_details_data' patch: summary: Rename a wallet details description: Update the name of a specific wallet details. operationId: updateWalletDetails tags: - Wallets parameters: - $ref: '#/components/parameters/company_id' - $ref: '#/components/parameters/wallet_id' - $ref: '#/components/parameters/wallet_details_id' requestBody: content: application/json: schema: type: object required: - data properties: data: $ref: '#/components/schemas/wallet_details_patch_raw_data' responses: '200': description: Retrieve an updated wallet detail. content: application/json: schema: allOf: - $ref: '#/components/schemas/meta' - type: object required: - data properties: data: $ref: '#/components/schemas/wallet_details_data' /companies/{company_id}/wallets/{wallet_id}/wallet-details/{wallet_details_id}/download: get: summary: Get a wallet details pdf description: Retrieve a specific wallet details pdf. operationId: getWalletDetailsPDF tags: - Wallets parameters: - $ref: '#/components/parameters/company_id' - $ref: '#/components/parameters/wallet_id' - $ref: '#/components/parameters/wallet_details_id' responses: '200': description: Retrieve a wallet details pdf. content: application/json: schema: allOf: - $ref: '#/components/schemas/meta' - type: object properties: data: $ref: '#/components/schemas/wallet_details_pdf_data' /companies/{company_id}/payment-links/{payment_link_id}: get: summary: Retrieve a specific payment link operationId: getPaymentLink tags: - Payment links parameters: - $ref: '#/components/parameters/company_id' - $ref: '#/components/parameters/payment_link_id' responses: '200': description: Retrieve a payment link. content: application/json: schema: allOf: - $ref: '#/components/schemas/meta' - type: object properties: data: $ref: '#/components/schemas/public_payment_link_data' patch: summary: Update a payment link operationId: updatePaymentLink description: Update a payment link as a user. tags: - Payment links parameters: - $ref: '#/components/parameters/company_id' - $ref: '#/components/parameters/payment_link_id' requestBody: content: application/json: schema: type: object required: - data properties: data: allOf: - $ref: '#/components/schemas/public_payment_link_update_data' responses: '204': description: Payment link updated. /companies/{company_id}/payment-links: get: summary: Retrieve all payment link operationId: listPaymentLinks tags: - Payment links parameters: - $ref: '#/components/parameters/company_id' - $ref: '#/components/parameters/page_number' - $ref: '#/components/parameters/page_size' - $ref: '#/components/parameters/sort' responses: '200': description: Retrieve all payment links. content: application/json: schema: allOf: - $ref: '#/components/schemas/meta' - $ref: '#/components/schemas/pagination' - type: object properties: data: type: array items: $ref: '#/components/schemas/public_payment_link_data' post: summary: Create payment link operationId: createPaymentLinks tags: - Payment links parameters: - $ref: '#/components/parameters/company_id' requestBody: content: application/json: schema: type: object required: - data properties: data: $ref: '#/components/schemas/public_payment_link_data' responses: '200': description: Create payment links. content: application/json: schema: allOf: - $ref: '#/components/schemas/meta' - type: object properties: data: $ref: '#/components/schemas/public_payment_link_data' '400': description: Bad Request content: application/json: schema: type: object required: - data properties: data: type: object required: - message properties: message: type: string enum: - wallet_id OR beneficiary_id must be provided. - Please select a beneficiary_id as destination. - Please select a wallet_id as destination. - '''expired_at'' must be at least 1 hour in the future.' - You've reached the maximum amount of payment links you can create in a 24-hour period. For further assistance or to request an adjustment to your limit, kindly contact our support at support@fipto.com. /companies/{company_id}/wallets/{wallet_id}/payouts: post: summary: Initiate payout description: Initiate a payout from your wallet to a specified beneficiary. We will process the payment and send it to the beneficiary. operationId: initiatePayout tags: - Transactions parameters: - $ref: '#/components/parameters/company_id' - $ref: '#/components/parameters/wallet_id' requestBody: content: application/json: schema: type: object required: - data properties: data: $ref: '#/components/schemas/payout_initiate_raw_data' examples: Digital: value: data: type: payout attributes: amount: '0.4' beneficiary_id: 5225b609-89e2-46a1-8243-83db0304a469 Fiat: value: data: type: payout attributes: amount: '100' reference: my payout beneficiary_id: ffb2d381-9399-4463-b7df-343c539e5367 beneficiary_verification_id: dd7fbf81-9f17-4441-9f81-836f50f9e5f4 responses: '202': description: Payout Accepted. content: application/json: schema: allOf: - $ref: '#/components/schemas/meta' - type: object properties: data: $ref: '#/components/schemas/payout_data' examples: Digital: value: meta: request_id: 3a25e630-16c6-41d8-98ed-5a6b48ac71ac data: type: payout id: dd7fbf81-9f17-4441-9f81-836f50f9e5f4 attributes: amount: '0.4' beneficiary: beneficiary_id: fea2bB77-54eF-E9E9-9ABC-6535831512aa beneficiary_description: My beneficiary status: pending transaction_id: 1c74eff6-70b9-481f-a178-9192861ecab0 created_at: '2020-01-01T00:00:00.000Z' created_by: 3a25e630-16c6-41d8-98ed-5a6b48ac71ac asset: BTC wallet: wallet_id: LeOJMJwX2Q0Itbtbmu7Zf5 wallet_name: My BTC wallet valuations: - asset: EUR value: '10000' signatories: - user_id: b355b732-ec56-43ac-9b86-93381a84dad1 Fiat: value: meta: request_id: 3a25e630-16c6-41d8-98ed-5a6b48ac71ac data: type: payout id: dd7fbf81-9f17-4441-9f81-836f50f9e5f4 attributes: amount: '100' beneficiary: beneficiary_id: fea2bB77-54eF-E9E9-9ABC-6535831512ab beneficiary_description: My beneficiary status: pending transaction_id: 29d043bd-76b2-4c25-82c9-c9c7c0333124 created_at: '2020-01-01T00:00:00.000Z' created_by: 3a25e630-16c6-41d8-98ed-5a6b48ac71ac asset: EUR reference: reference wallet: wallet_id: 04309b61-7e91-4b6a-bf48-93e7d5d7c792 wallet_name: My fiat wallet signature: quorum: 1 signatories: - user_id: b355b732-ec56-43ac-9b86-93381a84dad1 /companies/{company_id}/wallets/{wallet_id}/internal-transfers: post: summary: Create an internal transfer description: Initiate an internal transfer between two wallets of the same company. operationId: createInternalTransfer tags: - Internal Transfers parameters: - $ref: '#/components/parameters/company_id' - $ref: '#/components/parameters/wallet_id' requestBody: content: application/json: schema: type: object required: - data properties: data: $ref: '#/components/schemas/internal_transfer_initiate_raw_data' examples: Fiat: value: data: type: internal_transfer attributes: amount: '100' destination_wallet_id: ffb2d381-9399-4463-b7df-343c539e5367 reference: my transfer responses: '202': description: Internal transfer accepted. content: application/json: schema: allOf: - $ref: '#/components/schemas/meta' - type: object properties: data: $ref: '#/components/schemas/internal_transfer_data' /companies/{company_id}/pairs: get: summary: Get conversion pairs configuration operationId: getPairs tags: - Conversions parameters: - $ref: '#/components/parameters/company_id' responses: '200': description: Pairs list content: application/json: schema: allOf: - $ref: '#/components/schemas/meta' - type: object required: - data properties: data: type: array items: type: object required: - sell_asset_code - buy_asset_code - eotc_available properties: sell_asset_code: description: The asset code being sold in this conversion pair. allOf: - $ref: '#/components/schemas/asset' buy_asset_code: description: The asset code being bought in this conversion pair. allOf: - $ref: '#/components/schemas/asset' eotc_available: description: Whether electronic over-the-counter (EOTC) trading is available for this pair. type: boolean min_trading_volume_eur: description: The minimum trading volume in EUR required for EOTC conversions on this pair. allOf: - $ref: '#/components/schemas/positive_amount' /aisp-pisp: get: summary: List all AISP/PISPs tags: - AISP/PISP operationId: listAISPPISP responses: '200': description: List of all AISP/PISPs content: application/json: schema: allOf: - $ref: '#/components/schemas/meta' - type: object properties: data: type: array items: $ref: '#/components/schemas/aisp_pisp_data' /companies/{company_id}/aisp-pisp: post: summary: Create a new API user for an AISP/PISP. tags: - AISP/PISP operationId: createCompanyAISPPISP parameters: - $ref: '#/components/parameters/company_id' requestBody: content: application/json: schema: type: object required: - data properties: data: allOf: - $ref: '#/components/schemas/create_company_aisp_pisp_data' responses: '201': description: AISP/PISP user successfully created. content: application/json: schema: allOf: - $ref: '#/components/schemas/meta' - type: object properties: data: $ref: '#/components/schemas/aisp_pisp_company_data' get: summary: List all AISP/PISP access of a company tags: - AISP/PISP operationId: listCompanyAISPPISP parameters: - $ref: '#/components/parameters/company_id' responses: '200': description: List of all AISP/PISP access of a company content: application/json: schema: allOf: - $ref: '#/components/schemas/meta' - type: object properties: data: type: array items: $ref: '#/components/schemas/aisp_pisp_company_data' /companies/{company_id}/aisp-pisp/{aisp_pisp_id}: get: summary: Get specific AISP/PISP access of a company tags: - AISP/PISP operationId: getCompanyAISPPISP parameters: - $ref: '#/components/parameters/company_id' - $ref: '#/components/parameters/aisp_pisp_id' responses: '200': description: Get specific AISP/PISP access of a company content: application/json: schema: allOf: - $ref: '#/components/schemas/meta' - type: object properties: data: $ref: '#/components/schemas/aisp_pisp_company_data' delete: summary: Delete the access for a company to an AISP/PISP. tags: - AISP/PISP operationId: deleteCompanyAISPPISP parameters: - $ref: '#/components/parameters/company_id' - $ref: '#/components/parameters/aisp_pisp_id' responses: '204': description: Access to the AISP/PISP successfully deleted. /companies/{company_id}/aisp-pisp/wallets/{wallet_id}/payouts: post: summary: Initiate payout as an AISP/PISP description: Initiate a payment from your wallet to a specified beneficiary. We will process the payment and send it to the beneficiary. operationId: initiatePayoutAISPPISP tags: - AISP/PISP parameters: - $ref: '#/components/parameters/company_id' - $ref: '#/components/parameters/wallet_id' requestBody: content: application/json: schema: type: object required: - data properties: data: $ref: '#/components/schemas/aisp_pisp_payout_initiate_raw_data' responses: '202': description: Payout Accepted. content: application/json: schema: allOf: - $ref: '#/components/schemas/meta' - type: object properties: data: $ref: '#/components/schemas/aisp_pisp_payout_data' /companies/{company_id}/aisp-pisp/wallets: get: summary: List wallets. description: Retrieve all wallets linked to a company from a AISP/PISP. operationId: listWalletAISPPISP tags: - AISP/PISP parameters: - $ref: '#/components/parameters/company_id' - $ref: '#/components/parameters/page_number' - $ref: '#/components/parameters/page_size_optional' - name: sort in: query required: false schema: $ref: '#/components/schemas/sort_wallets_list' - $ref: '#/components/parameters/assets' responses: '200': description: Retrieve a wallet. content: application/json: schema: allOf: - $ref: '#/components/schemas/meta' - $ref: '#/components/schemas/pagination' - type: object properties: data: type: array items: $ref: '#/components/schemas/wallet_data' /companies/{company_id}/aisp-pisp/wallets/{wallet_id}: get: summary: Get a wallet from an AISP/PISP. description: Retrieve a specific wallet by its unique identifier from AISP/PISP. operationId: getWalletAISPPISP tags: - AISP/PISP parameters: - $ref: '#/components/parameters/company_id' - $ref: '#/components/parameters/wallet_id' responses: '200': description: Retrieve a wallet. content: application/json: schema: allOf: - $ref: '#/components/schemas/meta' - type: object properties: data: $ref: '#/components/schemas/wallet_data' /companies/{company_id}/aisp-pisp/transactions: get: summary: Get transactions for an AISP PISP description: Retrieve the list of all transactions in your company for an AISP PISP, with the ability to apply filters based on the wallet, transaction type, and pagination. operationId: searchTransactionsAISPPISPByCompanyId tags: - AISP/PISP parameters: - $ref: '#/components/parameters/company_id' - $ref: '#/components/parameters/page_number' - $ref: '#/components/parameters/page_size' - name: sort in: query required: false schema: $ref: '#/components/schemas/sort_transaction_list' - $ref: '#/components/parameters/filter_transaction_types' - $ref: '#/components/parameters/filter_wallet_id' responses: '200': description: Retrieve list of transactions. content: application/json: schema: allOf: - $ref: '#/components/schemas/meta' - $ref: '#/components/schemas/pagination' - type: object properties: data: type: array items: $ref: '#/components/schemas/transaction_data' /companies/{company_id}/aisp-pisp/transactions/{transaction_id}: get: summary: Get a transaction for an AISP PISP description: Retrieve a specific transaction by its unique identifier for an AISP PISP. operationId: getTransactionAISPPISP tags: - AISP/PISP parameters: - $ref: '#/components/parameters/company_id' - $ref: '#/components/parameters/transaction_id' responses: '200': description: Retrieve a transaction for an AISP/PISP. content: application/json: schema: allOf: - $ref: '#/components/schemas/meta' - type: object properties: data: $ref: '#/components/schemas/transaction_data' /companies/{company_id}/aisp-pisp/beneficiaries: get: summary: List beneficiaries for an AISP/PISP operationId: listBeneficiariesAISPPISP description: Retrieve all beneficiaries for an AISP/PISP. tags: - AISP/PISP parameters: - $ref: '#/components/parameters/company_id' - $ref: '#/components/parameters/page_number' - $ref: '#/components/parameters/page_size' - $ref: '#/components/parameters/sort' responses: '200': description: List of all beneficiaries. content: application/json: schema: allOf: - $ref: '#/components/schemas/meta' - $ref: '#/components/schemas/pagination' - type: object properties: data: type: array items: $ref: '#/components/schemas/beneficiary_data' /companies/{company_id}/aisp-pisp/beneficiaries/{beneficiary_id}: get: summary: Get a beneficiary for an AISP/PISP operationId: getBeneficiaryAISPPISP description: Retrieve a specific beneficiary by its unique identifier for an AISP/PISP. tags: - AISP/PISP parameters: - $ref: '#/components/parameters/company_id' - $ref: '#/components/parameters/beneficiary_id' responses: '200': description: Retrieve a beneficiary. content: application/json: schema: allOf: - $ref: '#/components/schemas/meta' - type: object properties: data: $ref: '#/components/schemas/beneficiary_data' /companies/{company_id}/wallets/{wallet_id}/payin-simulation: post: summary: Simulate a payin description: Generate a payin on the demo environment. Note that it may take up to 1 minute for the payin to appear in the transactions list. By default, the payin will target the first wallet details created within the wallet. operationId: simulatePayin tags: - Payin Simulation parameters: - $ref: '#/components/parameters/company_id' - $ref: '#/components/parameters/wallet_id' requestBody: content: application/json: schema: type: object required: - data properties: data: $ref: '#/components/schemas/payin_simulation_data' responses: '204': description: Payin simulation successful. /companies/{company_id}/conversions/{conversion_id}: get: summary: Retrieve a list of filterable conversions operationId: getConversion tags: - Conversions parameters: - $ref: '#/components/parameters/company_id' - $ref: '#/components/parameters/conversion_id' responses: '200': description: A conversion. content: application/json: schema: allOf: - $ref: '#/components/schemas/meta' - type: object properties: data: $ref: '#/components/schemas/public_conversion_data' '404': description: Not found. content: application/json: schema: type: object required: - data properties: data: type: object required: - message properties: message: type: string enum: - Conversion not found. components: parameters: automation_id: name: automation_id in: path required: true description: The Automation Rule ID. example: 9de0691c-bc8d-409b-8f40-75d4f45db2f3 schema: $ref: '#/components/schemas/uuid' blockchain_address: name: blockchain_address in: path required: true description: The blockchain wallet address. schema: type: string aisp_pisp_id: name: aisp_pisp_id in: path required: true description: The AISP/PISP id given by Fipto. example: 9de0691c-bc8d-409b-8f40-75d4f45db2f3 schema: $ref: '#/components/schemas/uuid' company_id: name: company_id in: path required: true description: The Company ID given by Fipto. example: 9de0691c-bc8d-409b-8f40-75d4f45db2f3 schema: $ref: '#/components/schemas/uuid' group_id: name: group_id in: path required: true description: The authorization group ID. example: 9de0691c-bc8d-409b-8f40-75d4f45db2f3 schema: $ref: '#/components/schemas/uuid' batch_verification_id: name: batch_verification_id in: path required: true description: The Batch verification ID given by Fipto. example: 9de0691c-bc8d-409b-8f40-75d4f45db2f3 schema: $ref: '#/components/schemas/uuid' customer_id: name: customer_id in: path required: true description: The Customer ID given by Fipto. example: 9de0691c-bc8d-409b-8f40-75d4f45db2f3 schema: $ref: '#/components/schemas/uuid' webhook_id: name: webhook_id in: path required: true description: The webhook ID given by Fipto. example: 9de0691c-bc8d-409b-8f40-75d4f45db2f3 schema: $ref: '#/components/schemas/uuid' partner_name: name: partner_name in: path required: true description: The name of the partner example: clearbank schema: type: string product_setting_name: name: product_setting_name in: path required: true description: The name of the product setting example: payout_automation schema: type: string admin_employee_id: name: employee_id in: path required: true description: The employee ID given by Fipto. example: 9de0691c-bc8d-409b-8f40-75d4f45db2f3 schema: $ref: '#/components/schemas/uuid' beneficiary_id: name: beneficiary_id in: path required: true description: The Beneficiary ID given by Fipto. example: 0967e211-93c9-481f-978a-182eef29c80a schema: $ref: '#/components/schemas/uuid' counterparty_id: name: counterparty_id in: path required: true description: The Counterparty ID given by Fipto. example: 0967e211-93c9-481f-978a-182eef29c80a schema: $ref: '#/components/schemas/uuid' partner: name: partner in: path required: true description: The partner name example: clearbank schema: $ref: '#/components/schemas/partner_name' payout_id: name: payout_id in: path required: true description: The Payout ID given by Fipto. example: 8613cbe6-de90-4408-bf75-21fc5c1f4965 schema: $ref: '#/components/schemas/uuid' payin_id: name: payin_id in: path required: true description: The Payin ID given by Fipto. example: 6fe69e46-4613-480f-9f9b-742dc5084aee schema: $ref: '#/components/schemas/uuid' wallet_id: name: wallet_id in: path required: true description: The Wallet ID given by Fipto. example: 03a596dd-8b4e-4bb5-a8b9-3a7ddb8ad960 schema: $ref: '#/components/schemas/uuid' wallet_details_id: name: wallet_details_id in: path required: true description: The Wallet details ID given by Fipto. example: a815f187-5ff7-406d-840a-906b703a1912 schema: $ref: '#/components/schemas/uuid' transaction_id: name: transaction_id in: path required: true description: The Transaction ID given by Fipto. example: 8f6a1c57-3025-4a27-95da-218bf79f9eb5 schema: $ref: '#/components/schemas/uuid' export_id: name: export_id in: path required: true description: The account-statement export ID given by Fipto. example: 6f3d0c2a-1b4e-4d9a-8c7f-2e5a9b3c1d4e schema: $ref: '#/components/schemas/uuid' task_id: name: task_id in: path required: true description: The Task ID given by Fipto. example: 8f6a1c57-3025-4a27-95da-218bf79f9eb5 schema: $ref: '#/components/schemas/uuid' role_id: name: role_id in: path required: true description: The Role identifier given by Fipto. example: admin schema: type: string user_id: name: user_id in: path required: true description: The user identifier given by Fipto. example: 9b7029b5-fd51-4383-9881-3c9f549b30be schema: type: string quote_id: name: quote_id in: path required: true description: The quote identifier given by Fipto. example: 9b7029b5-fd51-4383-9881-3c9f549b30be schema: type: string request_for_quote_id: name: request_for_quote_id in: path required: true description: The request for quote identifier given by Fipto. example: 9b7029b5-fd51-4383-9881-3c9f549b30be schema: $ref: '#/components/schemas/uuid' request_for_open_trade_id: name: request_for_open_trade_id in: path required: true description: A request for open trade identifier. example: cbd87a88-23cb-4f47-9996-1957a24f76e1 schema: $ref: '#/components/schemas/uuid' value: in: query name: value description: Value of the wallet. schema: type: string assets: name: assets in: query description: Filters the wallets returned based on the specified assets. All assets will be returned by default. example: - BTC - ETH schema: type: array uniqueItems: true items: $ref: '#/components/schemas/asset' base_assets: name: base_assets in: query required: true description: List of base assets. example: - BTC - ETH schema: type: array uniqueItems: true items: $ref: '#/components/schemas/asset' valuation_asset: in: query name: valuation_asset description: Specifies the asset used to value the resources retrieved by the endpoint. schema: enum: - EUR - USD default: EUR allOf: - $ref: '#/components/schemas/asset' page_number: name: page_number in: query required: false description: The page number retrieved in the paginated results. The default value is 1. schema: type: number example: 1 page_size: name: page_size in: query required: false description: The number of items to include in each page of the paginated results. The default value is 100. schema: type: number example: 100 page_size_optional: name: page_size in: query required: false description: The number of items to include in each page of the paginated results. The default value is 100. The pagination is removed when the value is 0 (unlimited number of elements are returned). schema: type: number example: 100 sort: name: sort in: query required: false schema: type: string example: created_at enum: - created_at - transaction_created_at filter_payment_link_statuses: name: statuses in: query required: false schema: type: array uniqueItems: true items: $ref: '#/components/schemas/payment_link_status' filter_payment_link_refunded: name: refunded in: query required: false schema: type: boolean filter_payment_link_processed: name: processed in: query required: false schema: type: boolean filter_payment_link_expired: name: expired in: query required: false schema: type: boolean filter_quote_asset_code: name: quote_asset_code in: query required: false schema: $ref: '#/components/schemas/asset' filter_beneficiary_types: name: type in: query required: false description: Filter beneficiaries by types. schema: type: array uniqueItems: true items: $ref: '#/components/schemas/beneficiary_type' filter_beneficiary_assets: name: asset in: query required: false description: Filter beneficiaries by destination asset code(s). All assets returned by default. example: - EUR - USDC schema: type: array uniqueItems: true items: $ref: '#/components/schemas/asset' filter_wallet_id: name: wallet_id in: query required: false description: Filter for a specific wallet_id. schema: $ref: '#/components/schemas/uuid' filter_company_id: name: company_id in: query required: false description: Filter for a specific company_id. schema: $ref: '#/components/schemas/uuid' filter_user_type: name: user_type in: query required: false description: Filter for specifics user_type. schema: $ref: '#/components/schemas/user_type' filter_user_role: name: user_role in: query required: false description: Filter for specifics user role. schema: $ref: '#/components/schemas/user_role' filter_public_user_statuses: name: statuses in: query required: false description: Filter by user statuses. schema: type: array items: $ref: '#/components/schemas/user_status_public' wallet_name: name: name in: query required: false description: Filter for a specific wallet. schema: type: string admin_filter_company_name: name: company_name in: query required: false description: Filter for a specific company. schema: type: string default: '' admin_filter_partner: name: partner in: query required: false description: Filter for a specific partner. schema: type: string default: '' filter_linkable_to_company_id: name: linkable_to_company_id in: query required: false description: Filter for companies ID where users returned can be linked. schema: type: array items: $ref: '#/components/schemas/uuid' filter_search: name: search in: query required: false description: Filter for field name, lastname, firstname, email and company's name linked to the users. schema: type: string admin_filter_transaction_id: name: transaction_id in: query required: false description: Filter for a specific transaction_id. schema: $ref: '#/components/schemas/uuid' filter_transaction_types: name: transaction_types in: query required: false description: Filter for specific transaction types. schema: type: array items: $ref: '#/components/schemas/transaction_type' filter_asset_types: name: asset_types in: query required: false description: Filter for specific asset types. schema: type: array items: $ref: '#/components/schemas/asset_type' filter_treasury_sub_types: name: sub_type in: query required: false description: Filter for specific treasury intent sub type(s). schema: type: array items: type: string enum: - funds_repatriation - segregation - unsegregation - funds_management - conversion_liquidity_provider_deposit - conversion_liquidity_provider_withdrawal filter_company_types: name: types in: query required: false description: Filter for specific company types. schema: type: array items: $ref: '#/components/schemas/company_type' filter_account_types: name: account_types in: query required: false description: Filter for specific account types. schema: type: array items: $ref: '#/components/schemas/account_type' asset_code: name: asset_code in: path required: true description: Retrieve for specific asset codes. schema: $ref: '#/components/schemas/asset' quote_asset: name: quote_asset in: path required: true description: A quote asset for valuation purposes example: EUR schema: $ref: '#/components/schemas/asset' valuation_date: name: valuation_date in: query required: false schema: type: string format: date-time description: Valuation date. The timezone used is UTC. admin_filter_transaction_status: name: transaction_status in: query required: false description: Filter for a specific transaction status. schema: anyOf: - $ref: '#/components/schemas/payin_status' - $ref: '#/components/schemas/payout_status' admin_filter_beneficiary_status: name: statuses in: query required: false description: Filter for specific beneficiary status. schema: type: array items: $ref: '#/components/schemas/beneficiary_status_admin' filter_public_transaction_status: name: statuses in: query required: false description: Filter for specifics transaction status. schema: type: array items: anyOf: - $ref: '#/components/schemas/payin_status_public' - $ref: '#/components/schemas/payout_status_public' filter_can_be_signed_by: name: can_be_signed_by in: query required: false description: Filter on a specific user that can sign the payouts.. schema: $ref: '#/components/schemas/uuid' filters_date_from: name: date_from in: query required: false description: Filter to get data after or at the specific date. schema: $ref: '#/components/schemas/date' filters_date_to: name: date_to in: query required: false description: Filter to get data before or at the specific date. schema: $ref: '#/components/schemas/date' admin_filter_rfot_status: name: status in: query required: false description: Filter for a specific rfot status. schema: allOf: - $ref: '#/components/schemas/rfot_status' filter_rfot_type: name: type in: query required: false description: Filter for a specific rfot type. schema: allOf: - $ref: '#/components/schemas/rfot_type' filter_operation_id: name: operation_id in: query required: true description: Filter for a specific operation id. schema: $ref: '#/components/schemas/uuid' payment_link_id: name: payment_link_id in: path required: true description: A payment link identifier. example: cbd87a88-23cb-4f47-9996-1957a24f76e1 schema: $ref: '#/components/schemas/uuid' conversion_id: name: conversion_id in: path required: true description: A conversion ID identifier. example: eb8bea14-8505-46d4-857e-e3749d5ca943 schema: $ref: '#/components/schemas/uuid' iban: name: iban in: path required: true schema: type: string description: Iban year: name: year in: path required: true schema: type: integer description: Year month: name: month in: path required: true schema: type: integer description: Month. Value must be between 1-12 filter_fi_customer_statuses: name: statuses in: query required: false description: Filter by FI customer statuses. schema: type: array uniqueItems: true items: $ref: '#/components/schemas/fi_customer_status' onboarding_id: name: onboarding_id in: path required: true description: The KYC reliance onboarding ID given by Fipto. example: 9de0691c-bc8d-409b-8f40-75d4f45db2f3 schema: $ref: '#/components/schemas/uuid' filter_client_onboarding_statuses: name: statuses in: query required: false description: Filter by KYC reliance onboarding statuses. schema: type: array uniqueItems: true items: $ref: '#/components/schemas/client_onboarding_status' schemas: meta: description: Metadata of the request type: object required: - meta properties: meta: type: object required: - request_id properties: request_id: oneOf: - $ref: '#/components/schemas/uuid' - $ref: '#/components/schemas/request_id' query_parameters: $ref: '#/components/schemas/query_parameters' query_parameters: description: Information about the parameters in the request. All query string parameters provided (or implicit/with default value) will be returned type: object pagination: description: Information about the pagination of the request type: object required: - meta properties: meta: type: object required: - total_results - query_parameters properties: total_results: description: The total number of results type: number example: 100 query_parameters: allOf: - $ref: '#/components/schemas/query_parameters' required: - page_number - page_size - sort properties: page_number: type: number example: 1 page_size: type: number example: 100 sort: type: string example: created_at automation_rule_data: description: Automation rule information type: object required: - id - type - attributes properties: id: $ref: '#/components/schemas/uuid' type: type: string enum: - automation_rule attributes: type: object required: - rule_type - trigger_event - amount_mode - status - source - destination - created_by - created_at - updated_at properties: rule_type: type: string enum: - conversion - payout description: Type of automation (conversion or payout) trigger_event: type: string enum: - payin_completed - conversion_completed description: Event that triggers the automation amount_mode: type: string enum: - full - inherited description: How much to convert/payout status: type: string enum: - active - deleted description: Current status of the automation rule source: type: object required: - wallet_id - wallet_name - asset properties: wallet_id: $ref: '#/components/schemas/uuid' wallet_name: type: string asset: type: string destination: type: object properties: wallet_id: $ref: '#/components/schemas/uuid' wallet_name: type: string asset: type: string beneficiary_id: $ref: '#/components/schemas/uuid' beneficiary_description: type: string created_by: $ref: '#/components/schemas/uuid' created_at: type: string format: date-time updated_at: type: string format: date-time automation_rule_create_raw_data: description: Data for creating an automation rule type: object required: - type - attributes properties: type: type: string enum: - automation_rule attributes: type: object required: - source_wallet_id - rule_type - trigger_event - amount_mode properties: source_wallet_id: description: ID of the wallet that triggers the automation allOf: - $ref: '#/components/schemas/uuid' rule_type: type: string enum: - conversion - payout description: Type of automation (conversion or payout) trigger_event: type: string enum: - payin_completed - conversion_completed description: Event that triggers the automation amount_mode: type: string enum: - full - inherited description: How much to convert/payout destination_wallet_id: description: ID of the destination wallet (required for conversion rules) allOf: - $ref: '#/components/schemas/uuid' destination_beneficiary_id: description: ID of the destination beneficiary (required for payout rules) allOf: - $ref: '#/components/schemas/uuid' automation_rule_update_raw_data: description: Data for updating an automation rule type: object required: - type - attributes properties: type: type: string enum: - automation_rule attributes: type: object required: - source_wallet_id - rule_type - trigger_event - amount_mode properties: source_wallet_id: description: ID of the wallet that triggers the automation allOf: - $ref: '#/components/schemas/uuid' rule_type: type: string enum: - conversion - payout description: Type of automation (conversion or payout) trigger_event: type: string enum: - payin_completed - conversion_completed description: Event that triggers the automation amount_mode: type: string enum: - full - inherited description: How much to convert/payout destination_wallet_id: description: ID of the destination wallet (required for conversion rules) allOf: - $ref: '#/components/schemas/uuid' destination_beneficiary_id: description: ID of the destination beneficiary (required for payout rules) allOf: - $ref: '#/components/schemas/uuid' admin_company_raw_data: description: Companies information without id for backoffice allOf: - $ref: '#/components/schemas/data_default' - $ref: '#/components/schemas/company_raw_data' - type: object properties: attributes: properties: has_fiat_access: description: Specify is the company can use fiat feature. type: boolean has_beneficiary_whitelisting: description: Specify if the company has enabled beneficiary whitelisting. type: boolean has_automation: description: Whether the company has automation workflow enabled. type: boolean has_authorization_policy: description: Whether the company has authorization policy enabled. type: boolean has_kyc_reliance: $ref: '#/components/schemas/has_kyc_reliance' has_internal_transfers: $ref: '#/components/schemas/has_internal_transfers' yearly_expected_transaction_volume: allOf: - $ref: '#/components/schemas/amount' - description: Total amount of expected transactions done by year. yearly_expected_transaction_count: description: Number of expected transactions done by year. allOf: - $ref: '#/components/schemas/positive_integer' conversion_fee_percent: description: The conversion commission percentage allOf: - $ref: '#/components/schemas/positive_number_in_range_0_100' type: description: Type of the company. allOf: - $ref: '#/components/schemas/company_type' company_raw_data: description: Companies information without id allOf: - $ref: '#/components/schemas/data_default' - type: object properties: type: type: string default: company attributes: required: - name properties: name: description: The name of the company. type: string allOf: - $ref: '#/components/schemas/sanitized_string_with_dot' minLength: 1 maxLength: 70 example: Acme inc payout_required_confirmations: description: Number of signatories requested when a sensitive action is initiated. type: number example: 2 address: description: Address informations about company. allOf: - $ref: '#/components/schemas/company_address' admin_company_raw_data_create: description: Companies information without id for backoffice allOf: - $ref: '#/components/schemas/admin_company_raw_data_create_common' - type: object properties: attributes: oneOf: - $ref: '#/components/schemas/admin_company_raw_data_create_basic_and_fi' - $ref: '#/components/schemas/admin_company_raw_data_create_fi_customer' discriminator: propertyName: type mapping: basic: '#/components/schemas/admin_company_raw_data_create_basic_and_fi' financial_institution: '#/components/schemas/admin_company_raw_data_create_basic_and_fi' financial_institution_customer: '#/components/schemas/admin_company_raw_data_create_fi_customer' admin_company_raw_data_create_fi_customer: description: Additional information for a financial_institution_customer company type: object required: - type - parent_company_id properties: parent_company_id: description: The parent company ID. type: string example: 9de0691c-bc8d-409b-8f40-75d4f45db2f3 allOf: - $ref: '#/components/schemas/uuid' type: description: Type of the company. type: string enum: - financial_institution_customer admin_company_raw_data_create_basic_and_fi: description: Additional information for a basic or financial institution company type: object required: - type properties: type: description: Type of the company. type: string enum: - basic - financial_institution admin_company_raw_data_create_common: description: Companies information without id allOf: - $ref: '#/components/schemas/data_default' - type: object properties: type: type: string default: company attributes: required: - name - address - type - monitoring_customer_category properties: name: description: The name of the company. type: string allOf: - $ref: '#/components/schemas/sanitized_string_with_dot' minLength: 1 maxLength: 70 example: Acme inc yearly_expected_transaction_volume: allOf: - $ref: '#/components/schemas/amount' - description: Total amount of expected transactions done by year. yearly_expected_transaction_count: description: Number of expected transactions done by year. allOf: - $ref: '#/components/schemas/positive_integer' risk_category: allOf: - $ref: '#/components/schemas/risk_category' - description: The category of risk about the company address: description: Address informations about company. allOf: - $ref: '#/components/schemas/company_address' monitoring_customer_category: allOf: - $ref: '#/components/schemas/monitoring_customer_category' company_data: description: Companies information with id allOf: - $ref: '#/components/schemas/object_id' - $ref: '#/components/schemas/company_raw_data' fi_customer_data: description: FI Customer information with id allOf: - $ref: '#/components/schemas/data_default' - type: object properties: type: type: string default: fi_customer attributes: required: - name - status properties: customer_id: $ref: '#/components/schemas/uuid' name: description: The name of the FI customer type: string allOf: - $ref: '#/components/schemas/sanitized_string_with_dot' minLength: 1 maxLength: 70 example: Acme inc status: $ref: '#/components/schemas/fi_customer_status' address: description: Address informations about company. allOf: - $ref: '#/components/schemas/company_address' admin_company_data: description: Companies information with id for back office allOf: - $ref: '#/components/schemas/object_id' - $ref: '#/components/schemas/admin_company_raw_data' - type: object properties: attributes: properties: partners: type: object additionalProperties: type: array items: type: object properties: name: type: string id: type: string status: type: string enum: - active - inactive - pending example: fiat: - name: clearbank id: '12345' admin_company_update_raw_data: description: Company data that could be updated by an admin allOf: - $ref: '#/components/schemas/data_default' - type: object properties: type: type: string enum: - company attributes: properties: name: description: The name of the company. type: string allOf: - $ref: '#/components/schemas/sanitized_string_with_dot' minLength: 1 maxLength: 70 example: Acme inc yearly_expected_transaction_volume: allOf: - $ref: '#/components/schemas/amount' - description: Total amount of expected transactions done by year. yearly_expected_transaction_count: description: Number of expected transactions done by year. allOf: - $ref: '#/components/schemas/positive_integer' daily_conversion_volume_limit_eur: description: Daily trade limit. allOf: - $ref: '#/components/schemas/positive_integer' limit_rate_payout: description: Limit of daily payouts creatable that can be created for a specific company. allOf: - $ref: '#/components/schemas/positive_integer' limit_total_wallet_details: description: Limit of total wallets details that can be created for a specific company. allOf: - $ref: '#/components/schemas/positive_integer' address: description: Address informations about company. allOf: - $ref: '#/components/schemas/company_address' monitoring_customer_category: allOf: - $ref: '#/components/schemas/monitoring_customer_category' has_beneficiary_whitelisting: $ref: '#/components/schemas/has_beneficiary_whitelisting' has_automation: $ref: '#/components/schemas/has_automation' has_authorization_policy: $ref: '#/components/schemas/has_authorization_policy' has_kyc_reliance: $ref: '#/components/schemas/has_kyc_reliance' has_internal_transfers: $ref: '#/components/schemas/has_internal_transfers' admin_company_update_conversion_fee_raw_data: description: Company conversion commission data that could be updated by an admin allOf: - $ref: '#/components/schemas/data_default' - type: object properties: type: type: string enum: - company_conversion_fee attributes: properties: conversion_fee_percent: description: Conversion commission percentage allOf: - $ref: '#/components/schemas/positive_number_in_range_0_100' clearbank_recall_response_data: description: Clearbank real account data in responses allOf: - type: object required: - type - attributes properties: type: type: string enum: - clearbank_recall_response attributes: type: object required: - decision properties: decision: type: boolean reasonCode: type: string minLength: 4 maxLength: 4 enum: - AC04 - NOOR - AM04 - ARDT - NOAS - LEGL - CUST additionalInfo: type: string maxLength: 105 clearbank_real_account_raw_data: description: Clearbank real account data in write requests type: object required: - type - attributes properties: type: type: string enum: - clearbank_real_account attributes: type: object required: - label - owner - kind - bic properties: label: type: string minLength: 1 maxLength: 100 pattern: ^[^<>;"]*$ owner: type: string minLength: 1 maxLength: 140 pattern: ^[^<>;"]*$ kind: type: string enum: - YourFunds - GeneralSegregated - DesignatedSegregated - GeneralClient - DesignatedClient bic: type: string pattern: ^.{8}$|^.{11}$ writeOnly: true clearbank_real_account_data: description: Clearbank real account data in responses allOf: - $ref: '#/components/schemas/clearbank_real_account_raw_data' - type: object required: - type - attributes properties: type: type: string enum: - clearbank_real_account attributes: type: object required: - id - name - type - currencies - status - identifiers properties: id: type: string name: type: string type: type: string currencies: type: array items: type: string status: type: string status_reason: type: string status_information: type: string identifiers: type: array items: type: object required: - identifier - kind properties: identifier: type: string kind: type: string clearbank_virtual_account_raw_data: description: Clearbank virtual account data in write requests type: object required: - type - attributes properties: type: type: string enum: - clearbank_virtual_account attributes: type: object required: - account_id - owner properties: account_id: type: string writeOnly: true owner: type: string minLength: 1 maxLength: 140 clearbank_virtual_account_data: description: Clearbank virtual account data in responses allOf: - $ref: '#/components/schemas/clearbank_virtual_account_raw_data' - type: object required: - type - attributes properties: type: type: string enum: - clearbank_virtual_account attributes: type: object required: - id - status - identifiers properties: id: type: string status: type: string status_reason: type: string status_information: type: string identifiers: type: array items: type: object required: - identifier - kind properties: identifier: type: string kind: type: string equals_money_payload: description: Payload used to pass the data to EqualsMoney partner. required: - market - contact - account properties: market: description: The market relating to the license that the account operates under. type: string enum: - EU - UK - US contact: description: Information about the contact holding the account. required: - firstName - lastName - email - phone - address type: object properties: firstName: description: Firstname of the holder. type: string lastName: description: Lastname of the holder. type: string email: description: Email of the holder. type: string phone: description: Phone number of the holder. type: string dob: description: Date of birth of the holder in the format YYYY-MM-DD. example: '2024-01-25' type: string address: allOf: - description: Address of the holder. - $ref: '#/components/schemas/equals_money_address' account: description: Informations of the account. required: - companyNumber - type - kyc type: object properties: companyNumber: description: Number of the company. type: string incorporationDate: description: Date of the company's incorporation. type: string type: description: Type of the company. type: string enum: - ltd - private-limited-guarant-nsc-limited-exemption - private-limited-guarant-nsc - llp - plc - sole_trader - charity - charitable-incorporated-organisation - partnership - assurance-company - converted-or-closed - limited_by_guarantee - limited-partnership - oversea-company - private-unlimited - royal-charter - registered-society-non-jurisdictional - trust - uk-establishment - other website: description: Website of the company. type: string onboardingDetail: description: Optional additional details about the account. type: string kyc: description: Informations about the KYC. required: - mainPurpose - sourceOfFunds - destinationOfFunds - currenciesRequired - annualVolume - numberOfPayments properties: mainPurpose: description: List of purpose usage of the account. type: array items: type: string enum: - Business acquisition - Business costs/revenue - Charity - Currency purchase/sale - Dividend payments - Inheritance - Intercompany Transfers - Investment - Legal fees - Loan - Mortgage payments - On-going payments to family - One off payment - Payment of services - Payment to suppliers - Property maintenance - Property purchase - Property sale - Purchase of goods - Relocating abroad - Repatriation - Royalties - Sale of shares - Study fees/tuition - Vehicle purchase - Incentives/Grants - Tax payments - Director's fees sourceOfFunds: description: List of the source of the account. type: array items: type: string enum: - salary - savings - property - cryptocurrency - inheritance - other destinationOfFunds: description: List of the destinations of the account. type: array items: $ref: '#/components/schemas/country_code' currenciesRequired: description: List of the account's currencies. type: array items: type: string annualVolume: description: Annual volume though the account. type: string enum: - Less than £10,000 - £10,000 - £50,000 - £50,000 - £100,000 - £100,000 - £250,000 - £250,000 - £1,000,000 - £1,000,000 - £5,000,000 - More than £5,000,000 numberOfPayments: description: Number of payments done with the account. type: string enum: - Fewer than 5 payments - 5 - 10 payments - 10 - 20 payments - More than 20 payments equals_money_address: description: Physical address. required: - addressLine1 - townCity - postCode - countryCode type: object properties: addressLine1: description: First line of the address. type: string addressLine2: description: Second line of the address, if any. type: string nullable: true townCity: description: City. type: string postCode: description: Postal code. type: string countryCode: description: Country code. type: string fiat_onboard_raw_data: description: fiat onboard request oneOf: - allOf: - $ref: '#/components/schemas/data_default' - type: object required: - type - attributes properties: type: type: string enum: - equals_money_customer attributes: $ref: '#/components/schemas/equals_money_payload' - allOf: - type: object required: - type properties: type: type: string enum: - clearbank_customer product_setting_data: description: Information about the product setting we want to toggle. type: object required: - partner - enabled - setting properties: partner: type: string description: Partner name. enabled: type: boolean description: Enabling or not. setting: type: string description: The name of the setting. product_setting_raw_data: description: Data to update product_setting in DB. type: object required: - enabled properties: enabled: type: boolean description: Enabling or not. employee_role_raw_data: description: Role information without id allOf: - $ref: '#/components/schemas/data_default' - type: object properties: type: type: string enum: - role attributes: required: - name - permissions properties: name: $ref: '#/components/schemas/employee_role' permissions: $ref: '#/components/schemas/employee_permissions' employee_role_data: description: Role data. allOf: - $ref: '#/components/schemas/object_id' - $ref: '#/components/schemas/employee_role_raw_data' quote_buy_sided: description: Quote information allOf: - $ref: '#/components/schemas/object_id' - type: object required: - attributes - type properties: type: type: string enum: - quote attributes: type: object required: - price - partner_price - status - expiration_time - buy_wallet_id - sell_wallet_id - buy_amount - sell_amount - buy_asset_code - sell_asset_code - price_base_asset_code - price_quote_asset_code - fee_percentage properties: expiration_time: description: The expiration time of the quote. readOnly: true type: string format: date-time price: readOnly: true description: The price of the quote. allOf: - $ref: '#/components/schemas/strictly_positive_amount' status: readOnly: true description: The status of the quote. allOf: - $ref: '#/components/schemas/quote_status' partner_price: readOnly: true description: The price of the quote for the partner. allOf: - $ref: '#/components/schemas/positive_amount' buy_wallet_id: $ref: '#/components/schemas/uuid' sell_wallet_id: $ref: '#/components/schemas/uuid' buy_amount: readOnly: true allOf: - $ref: '#/components/schemas/strictly_positive_amount' sell_amount: $ref: '#/components/schemas/strictly_positive_amount' buy_asset_code: readOnly: true allOf: - $ref: '#/components/schemas/asset' sell_asset_code: readOnly: true allOf: - $ref: '#/components/schemas/asset' price_base_asset_code: readOnly: true allOf: - $ref: '#/components/schemas/asset' price_quote_asset_code: readOnly: true allOf: - $ref: '#/components/schemas/asset' fee_percentage: readOnly: true allOf: - $ref: '#/components/schemas/positive_amount' quote_sell_sided: description: Quote information allOf: - $ref: '#/components/schemas/object_id' - type: object required: - attributes - type properties: type: type: string enum: - quote attributes: type: object required: - price - partner_price - status - expiration_time - buy_wallet_id - sell_wallet_id - sell_amount - buy_amount - buy_asset_code - sell_asset_code - price_base_asset_code - price_quote_asset_code - fee_percentage properties: expiration_time: description: The expiration time of the quote. readOnly: true type: string format: date-time price: readOnly: true description: The price of the quote. allOf: - $ref: '#/components/schemas/strictly_positive_amount' status: readOnly: true description: The status of the quote. allOf: - $ref: '#/components/schemas/quote_status' partner_price: readOnly: true description: The price of the quote for the partner. allOf: - $ref: '#/components/schemas/strictly_positive_amount' sell_amount: readOnly: true allOf: - $ref: '#/components/schemas/strictly_positive_amount' buy_amount: $ref: '#/components/schemas/strictly_positive_amount' buy_wallet_id: $ref: '#/components/schemas/uuid' sell_wallet_id: $ref: '#/components/schemas/uuid' buy_asset_code: readOnly: true allOf: - $ref: '#/components/schemas/asset' sell_asset_code: readOnly: true allOf: - $ref: '#/components/schemas/asset' price_base_asset_code: readOnly: true allOf: - $ref: '#/components/schemas/asset' price_quote_asset_code: readOnly: true allOf: - $ref: '#/components/schemas/asset' fee_percentage: readOnly: true allOf: - $ref: '#/components/schemas/positive_amount' employee_raw_data: description: Employee information without id allOf: - $ref: '#/components/schemas/data_default' - type: object properties: type: type: string enum: - employee attributes: required: - email - roles properties: email: $ref: '#/components/schemas/employee_email' roles: $ref: '#/components/schemas/employee_roles' quote_status_confirmed_data: description: Quote status data allOf: - $ref: '#/components/schemas/object_id' - type: object required: - attributes - type properties: type: type: string enum: - quote_status attributes: type: object required: - status - transaction_id properties: transaction_id: description: The transaction id of the conversion readOnly: true allOf: - $ref: '#/components/schemas/uuid' status: description: The status of the quote. enum: - validated quote_status: description: Quote status type: string enum: - submitted - pending - confirmed employee_data: description: Employee information with the id allOf: - $ref: '#/components/schemas/object_id' - $ref: '#/components/schemas/employee_raw_data' payout_reconciliation_data: description: Data used to reconcile an unreconciled payout allOf: - $ref: '#/components/schemas/data_default' - $ref: '#/components/schemas/reconciliation_data' - type: object properties: type: default: transaction open_trade_reconciliation_data: description: Data used to reconcile an unreconciled open trade allOf: - $ref: '#/components/schemas/data_default' - $ref: '#/components/schemas/reconciliation_data' - type: object properties: type: $ref: '#/components/schemas/rfot_type' recall_transaction_data: description: Data used to recall a transaction type: object required: - reason_code properties: reason_code: type: string description: The reason of the recall. admin_treasury_transaction_data: description: Data of a treasury transaction type: object properties: amount: $ref: '#/components/schemas/positive_amount' asset: $ref: '#/components/schemas/asset' created_at: $ref: '#/components/schemas/created_at' created_by: $ref: '#/components/schemas/uuid' destination_address: type: string description: The destination address of the transaction. destination_bic: type: string description: The BIC of the destination bank. destination_country: type: string description: The country of the destination. destination_crypto_address: type: string description: The crypto address of the destination. destination_iban: type: string description: The IBAN of the destination. destination_name: type: string description: The name associated with the destination account. id: $ref: '#/components/schemas/uuid' payer_account: $ref: '#/components/schemas/account_type' payer_iban: type: string description: The payer's IBAN. payer_name: type: string description: The name of the payer. source_crypto_address: type: string description: The crypto address of the source. partner: type: string description: The partner associated with the treasury transaction. partner_payment_id: type: string description: The payment ID provided by the partner. payment_reference: type: string description: The reference of the payment. status: type: string description: The status of the transaction. enum: - initiated - completed - failed subtype: type: string description: The subtype of the account. enum: - funds_repatriation - segregation - unsegregation - funds_management - conversion_liquidity_provider_deposit - conversion_liquidity_provider_withdrawal type: type: string description: The type of transaction. enum: - funds-injection - funds-repatriation - funds-management payin_reconciliation_data: description: Data used to reconcile an unreconciled transaction allOf: - $ref: '#/components/schemas/data_default' - type: object properties: type: default: transaction attributes: required: - company_id - destination_wallet_id - destination_wallet_details_id properties: company_id: $ref: '#/components/schemas/uuid' destination_wallet_id: $ref: '#/components/schemas/uuid' destination_wallet_details_id: $ref: '#/components/schemas/uuid' payin_returned_reconciliation_data: description: Data used to reconcile a retuned link. allOf: - $ref: '#/components/schemas/data_default' - $ref: '#/components/schemas/reconciliation_data' - type: object properties: type: type: string enum: - payin_returned_reconciliation wallet_raw_data: description: Wallet data without id allOf: - $ref: '#/components/schemas/data_default' - type: object required: - type properties: type: type: string default: wallet attributes: required: - name - asset properties: name: description: The name given to the wallet. type: string allOf: - $ref: '#/components/schemas/sanitized_string' minLength: 1 maxLength: 80 asset: $ref: '#/components/schemas/asset' transaction_multi_signatures: description: List of payouts to sign or refuse. type: object required: - type - attributes properties: type: type: string default: batch-signing attributes: type: object required: - signatures properties: signatures: type: array items: type: object required: - transaction_id - action properties: transaction_id: $ref: '#/components/schemas/uuid' action: type: string enum: - SIGN - REFUSE json_errors: description: Array of errors type: object properties: errors: type: array items: $ref: '#/components/schemas/json_error' approval_group: description: An approver group whose authorization rule is still awaiting a sign-off. type: object required: - id - name properties: id: $ref: '#/components/schemas/uuid' name: type: string approval_result: description: 'Result of an approve/reject action. Authorization policy combines an action''s matching rules with AND semantics, so a single approval may leave the action pending while other approver groups still owe a sign-off. The result carries the resulting status, the progress (approvals_received of approvals_required) and the groups still pending. ' type: object required: - status - approvals_received - approvals_required - pending_approver_groups properties: status: type: string enum: - pending - approved - rejected approvals_received: type: integer description: Distinct matching rules approved so far. approvals_required: type: integer description: Total distinct matching rules that must each be approved. pending_approver_groups: type: array items: $ref: '#/components/schemas/approval_group' approval_progress: description: 'AND multi-rule approval progress for the pending action on an entity, embedded in detail responses. Present only when a pending action exists; a freshly-initiated action reports 0 of N. ' type: object required: - approvals_received - approvals_required - pending_approver_groups properties: approvals_received: type: integer approvals_required: type: integer pending_approver_groups: type: array items: $ref: '#/components/schemas/approval_group' batch_action_result: description: 'Per-item outcome of a bulk approve/reject request. Successful items appear in results (each carrying its approval_result); failures appear in errors. ' type: object properties: results: type: array items: type: object required: - id - action - result properties: id: $ref: '#/components/schemas/uuid' action: type: string enum: - approve - reject result: $ref: '#/components/schemas/approval_result' errors: type: array items: $ref: '#/components/schemas/json_error' wallet_consolidation_data: description: Consolidation and valuation wallets type: object properties: type: default: wallets-consolidation type: string attributes: type: object properties: total_value: allOf: - $ref: '#/components/schemas/amount' - type: string description: Sum of all value of the wallets. valuation_asset: $ref: '#/components/schemas/valuation_asset' assets: type: array items: properties: asset: $ref: '#/components/schemas/asset' balances: type: object properties: available: $ref: '#/components/schemas/amount' forecasted: $ref: '#/components/schemas/amount' value: allOf: - $ref: '#/components/schemas/amount' - type: string description: The value based on the selected valuation asset. Data based on the requested date. wallets_count: description: Represents the number of wallets associated with the given asset. allOf: - $ref: '#/components/schemas/positive_integer' admin_wallet_data: description: Admin wallet data. allOf: - $ref: '#/components/schemas/wallet_data_valuation' - type: object properties: attributes: type: object properties: balances: type: object properties: segregated: $ref: '#/components/schemas/positive_amount' batch_payout_beneficiary_verification_data: description: Information about the beneficiary verification. type: object required: - id properties: id: $ref: '#/components/schemas/uuid' attributes: required: - iban - bic - is_pending properties: iban: $ref: '#/components/schemas/account_number' bic: $ref: '#/components/schemas/bank_identifier' code: $ref: '#/components/schemas/vop_code' close_match: $ref: '#/components/schemas/vop_close_match' beneficiary_id: $ref: '#/components/schemas/uuid' is_pending: type: boolean description: Specify if the verification is pending. wallet_data: description: Wallet information with id allOf: - $ref: '#/components/schemas/wallet_raw_data' - type: object required: - id properties: id: $ref: '#/components/schemas/uuid' attributes: required: - balances properties: subtype: $ref: '#/components/schemas/wallet_subtype' balances: type: object required: - available - forecasted properties: available: $ref: '#/components/schemas/available_balance' forecasted: $ref: '#/components/schemas/forecasted_balance' admin_wallet_data_valuation: description: Wallet data with valuation allOf: - $ref: '#/components/schemas/admin_wallet_data' - type: object required: - attributes properties: attributes: required: - value properties: value: nullable: true description: Represents the value of the wallet in the selected valuation asset. If no price for the asset found then the value is null. allOf: - $ref: '#/components/schemas/amount' valuation_asset: $ref: '#/components/schemas/valuation_wallet_asset' partner: type: string description: Payment partner that backs the wallet (e.g. clearbank, equals_money, fireblocks). Empty when the wallet is not linked to a partner yet. wallet_details_count: $ref: '#/components/schemas/wallet_details_count' wallet_details_generation_enabled: type: boolean description: Indicates if the wallet details generation is enabled. wallet_data_valuation: description: Wallet data with valuation allOf: - $ref: '#/components/schemas/wallet_data' - type: object required: - attributes properties: attributes: required: - value properties: value: nullable: true description: Represents the value of the wallet in the selected valuation asset. If no price for the asset found then the value is null. allOf: - $ref: '#/components/schemas/amount' valuation_asset: $ref: '#/components/schemas/valuation_wallet_asset' wallet_details_count: $ref: '#/components/schemas/wallet_details_count' wallet_details_generation_enabled: type: boolean description: Indicates if the wallet details generation is enabled. created_at: type: string format: date-time description: Wallet creation timestamp (RFC-3339). Lets clients scope a wallet to a period, e.g. the account-statement selector only offers wallets that existed during the selected month. wallet_patch_data: description: Wallet information used to modify a Wallet allOf: - $ref: '#/components/schemas/data_default' - type: object properties: type: type: string default: wallet attributes: required: - name properties: name: description: Wallet's name. allOf: - $ref: '#/components/schemas/sanitized_string' minLength: 1 maxLength: 80 beneficiary_travel_rule_patch_data: description: Beneficiary information used to modify a Beneficiary allOf: - $ref: '#/components/schemas/data_default' - type: object properties: type: type: string default: beneficiary_travel_rule attributes: $ref: '#/components/schemas/beneficiary_travel_rule' beneficiary_travel_rule: description: Travel rule data linked to a beneficiary oneOf: - $ref: '#/components/schemas/beneficiary_travel_rule_custodial' - $ref: '#/components/schemas/travel_rule_non_custodial' - type: object readOnly: true additionalProperties: false travel_rule: description: Travel rule data linked to a beneficiary oneOf: - $ref: '#/components/schemas/travel_rule_custodial' - $ref: '#/components/schemas/travel_rule_non_custodial' - type: object readOnly: true additionalProperties: false travel_rule_custodial: description: Custodial travel rule information. type: object required: - vasp_name properties: vasp_name: $ref: '#/components/schemas/vasp_name' vasp_did: type: string pattern: ^did:[a-zA-Z0-9]*:.*$ example: did:ethr:0x123456789abcdef beneficiary_travel_rule_custodial: description: Custodial travel rule information. type: object oneOf: - properties: vasp_name: $ref: '#/components/schemas/vasp_name' vasp_did: type: string pattern: ^did:[a-zA-Z0-9]*:.*$ example: did:ethr:0x123456789abcdef required: - vasp_did - properties: vasp_name: $ref: '#/components/schemas/vasp_name' vasp_website: type: string format: url required: - vasp_website - vasp_name travel_rule_non_custodial: description: Non custodial travel rule information. type: object required: - is_self_hosted properties: is_self_hosted: type: boolean enum: - true amount: type: string description: Amount expressed in a currency. example: '1000' pattern: ^-?\d*(\.\d+)?$ positive_amount: type: string description: Strictly positive amount expressed in the currency of the transaction. example: '1000' pattern: ^\d+(\.\d+)?$ strictly_positive_amount: type: string description: Strictly positive amount expressed in the currency of the transaction. example: '1000' pattern: ^(0\.\d*[1-9]\d*|[1-9]\d*(\.\d+)?)$ positive_amount_greater_or_equal_1_with_two_decimals: type: string description: Strictly positive amount greater than or equal to 1, with up to two decimal places. example: '1.00' pattern: ^[1-9]\d*(\.\d{1,2})?$ positive_number_in_range_0_100: type: string description: Any decimal number between 0 and 100. example: '0.9' pattern: ^(100(\.0+)?|(\d{1,2})(\.\d+)?)$ uuid: type: string pattern: '[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}' description: 128-bit value used to uniquely identify an object. example: 123e4567-e89b-12d3-a456-426614174000 partner_name: type: string description: Partner name. enum: - fireblocks - clearbank - equals_money request_id: type: string pattern: '[0-9]-[0-9a-fA-F]{8}-[0-9a-fA-F]{24}' description: Request identifier. object_id: description: Unique id of object type: object properties: id: readOnly: true allOf: - $ref: '#/components/schemas/uuid' data_default: description: Fields required on all objects. type: object required: - type - attributes properties: type: type: string attributes: type: object minProperties: 1 beneficiary_raw_data: description: Beneficiary information without id. allOf: - $ref: '#/components/schemas/data_default' - type: object properties: type: type: string default: beneficiary attributes: required: - description - wallet_details - beneficiary_info properties: description: allOf: - $ref: '#/components/schemas/sanitized_string_with_dot' minLength: 1 maxLength: 80 description: Description of the beneficiary that you want to add (e.g. "external wallet account"). wallet_details: $ref: '#/components/schemas/wallet_details_beneficiary' beneficiary_info: oneOf: - $ref: '#/components/schemas/beneficiary_info_natural' - $ref: '#/components/schemas/beneficiary_info_legal' - $ref: '#/components/schemas/beneficiary_is_self' discriminator: propertyName: type mapping: individual: '#/components/schemas/beneficiary_info_natural' company: '#/components/schemas/beneficiary_info_legal' self: '#/components/schemas/beneficiary_is_self' beneficiary_status_update_request: type: object description: Data to update the status of a beneficiary. required: - status properties: status: type: string enum: - active - rejected description: New status to apply to the beneficiary. beneficiary_status_update: type: object description: Information about the status update of a beneficiary. required: - beneficiary_id - status properties: beneficiary_id: $ref: '#/components/schemas/uuid' status: type: string enum: - active - rejected beneficiary_data: description: Beneficiary information with id allOf: - $ref: '#/components/schemas/object_id' - $ref: '#/components/schemas/beneficiary_raw_data' - type: object properties: attributes: properties: status: $ref: '#/components/schemas/beneficiary_status' internal: type: boolean readOnly: true description: True if the beneficiary's bank details match a Fipto wallet deposit address. Cannot be used as an automation payout destination. corridor: $ref: '#/components/schemas/beneficiary_corridor' created_by: allOf: - $ref: '#/components/schemas/uuid' readOnly: true description: The id of the user that created the beneficiary. pending_action_initiated_by: allOf: - $ref: '#/components/schemas/uuid' readOnly: true description: User ID that initiated the pending create_beneficiary action, if any. caller_can_approve: type: boolean readOnly: true description: Whether the requesting user may approve the pending action on this beneficiary. approval_progress: allOf: - $ref: '#/components/schemas/approval_progress' readOnly: true description: AND multi-rule approval progress for the pending create_beneficiary action, if any. beneficiary_batch_item: description: Beneficiary data used in batch endpoints. type: object required: - data properties: errors: readOnly: true description: list of blocking errors type: array items: $ref: '#/components/schemas/json_error' data: type: array items: type: object additionalProperties: false required: - type - attributes properties: type: type: string enum: - batch_beneficiary attributes: type: object additionalProperties: false properties: description: allOf: - $ref: '#/components/schemas/sanitized_string_with_dot' minLength: 1 maxLength: 80 description: Description of the beneficiary that you want to add (e.g. "external wallet account"). wallet_details: $ref: '#/components/schemas/wallet_details_beneficiary' beneficiary_info: description: Data about Beneficiary of type Legal. type: object required: - type - name - address properties: type: type: string enum: - company name: type: string description: The company name. allOf: - $ref: '#/components/schemas/company_name' minLength: 1 maxLength: 80 address: $ref: '#/components/schemas/address' company_address_country: allOf: - $ref: '#/components/schemas/sanitized_string_with_dot' company_registration_number: description: Company registration number type: string allOf: - $ref: '#/components/schemas/sanitized_string' date_of_incorporation: description: The date the company was registered allOf: - $ref: '#/components/schemas/sanitized_string_with_dot' legal_form_type: description: Legal type of the company allOf: - $ref: '#/components/schemas/sanitized_string_with_dot' website: description: Website of the company type: string maxLength: 100 company_country_incorporation: description: Country where the company were registered allOf: - $ref: '#/components/schemas/sanitized_string_with_dot' industry: description: Industry type of the company allOf: - $ref: '#/components/schemas/sanitized_string_with_dot' industry_requires_license: description: If the company needs a license to operate. type: boolean type_name_of_license: description: If a license is required, the type of the license. type: string allOf: - $ref: '#/components/schemas/sanitized_string' country_of_license: description: If a license is required, the country ruling the license. allOf: - $ref: '#/components/schemas/sanitized_string_with_dot' license_number_link: description: If a license is required, link to the license of the company allOf: - $ref: '#/components/schemas/sanitized_string_with_dot' payment_acquisition_confirmation: description: '' type: boolean expected_annual_volume: description: The price of the quote. type: string enum: - < 10,000 - 10,000 - 50,000 - 50,000 - 100,000 - 100,000 - 500,000 - 500,000 - 1,000,000 - '> 1,000,000' customer_due_diligence_completed: description: '' type: boolean directors: type: array items: type: object required: - type properties: full_name: type: string description: First name of the beneficiary. minLength: 1 maxLength: 50 allOf: - $ref: '#/components/schemas/sanitized_name' date_of_birth: type: string format: date residency_country: $ref: '#/components/schemas/sanitized_string_with_dot' country_of_birth: $ref: '#/components/schemas/sanitized_string_with_dot' type: $ref: '#/components/schemas/sanitized_string_with_dot' ubos: type: array items: type: object properties: full_name: type: string description: First name of the beneficiary. minLength: 1 maxLength: 50 allOf: - $ref: '#/components/schemas/sanitized_name' date_of_birth: type: string format: date residency_country: type: string country_of_birth: type: string ownership_percent: description: The ownership percentage of the UBO. type: string type_of_ownership: description: If not possible to provide ownership_percent, describe the ownership of the company. allOf: - $ref: '#/components/schemas/sanitized_name' internal: readOnly: true description: True if the beneficiary's bank details match a Fipto wallet deposit address. Cannot be used as an automation payout destination. type: boolean warnings: readOnly: true description: list of non-blocking errors for the current beneficiaries. type: array items: $ref: '#/components/schemas/json_error' beneficiary_status_admin: description: Internal beneficiary status values type: string enum: - pending - action_required - rejected - active - inactive - awaiting_approval beneficiary_admin_data: description: Beneficiary information with admin specific fields. allOf: - $ref: '#/components/schemas/object_id' - $ref: '#/components/schemas/beneficiary_raw_data' - type: object properties: attributes: required: - status properties: status: $ref: '#/components/schemas/beneficiary_status_admin' company_id: $ref: '#/components/schemas/uuid' company_name: allOf: - $ref: '#/components/schemas/sanitized_string' description: Name of the company owning the beneficiary. corridor: $ref: '#/components/schemas/beneficiary_corridor' beneficiary_corridor: type: string readOnly: true description: The beneficiary's payout corridor — the discriminator used on typed create. `digital` for crypto wallets; for fiat, the destination currency (e.g. `EUR`, `USD`, `COP`) or a `_` key for the multi-form rails (BRL PIX, HKD FPS). Read-only. enum: - digital - EUR - USD - COP - MXN - NGN - SGD - CNY - PHP - BRL_TAX_ID - BRL_EVP_RANDOM - BRL_EMAIL - BRL_PHONE_NUMBER - HKD_FPS_ID - HKD_FPS_EMAIL - HKD_FPS_PHONE_NUMBER - HKD_FPS_ACCOUNT_NUMBER - HKD_ACCOUNT_NUMBER example: COP counterparty_data: description: Counterparty information. allOf: - $ref: '#/components/schemas/object_id' - $ref: '#/components/schemas/data_default' - type: object properties: type: type: string enum: - counterparty attributes: required: - description - wallet_details - beneficiary_info properties: description: allOf: - $ref: '#/components/schemas/sanitized_string_with_dot' minLength: 1 maxLength: 80 description: Description of the beneficiary that you want to add (e.g. "external wallet account"). reference: allOf: - $ref: '#/components/schemas/fiat_reference' description: Default reference of the counterparty to initiate a payment. wallet_details: $ref: '#/components/schemas/wallet_details_beneficiary' beneficiary_info: oneOf: - $ref: '#/components/schemas/beneficiary_info_natural' - $ref: '#/components/schemas/beneficiary_info_legal' - $ref: '#/components/schemas/beneficiary_is_self' discriminator: propertyName: type mapping: individual: '#/components/schemas/beneficiary_info_natural' company: '#/components/schemas/beneficiary_info_legal' self: '#/components/schemas/beneficiary_is_self' counterparty_data_response: description: Counterparty as returned by GET/list/create responses (adds read-only fields to the request shape). allOf: - $ref: '#/components/schemas/counterparty_data' - type: object properties: attributes: properties: corridor: $ref: '#/components/schemas/beneficiary_corridor' travel_rule_status: description: Travel Rule status type: string enum: - completed - incomplete beneficiary_status: description: Beneficiary status type: string enum: - active - pending - rejected - awaiting_approval fiat_reference: type: string pattern: ^[a-zA-Z0-9-.&/\s]*$ minLength: 6 maxLength: 35 description: Payment reference used in fiat transactions to convey information about the payment being made. Allow alphanumeric, -, ., &, /, space and all accented characters. The minimum length must be 6 characters without counting the spaces. payment_link_reference: allOf: - $ref: '#/components/schemas/sanitized_string' minLength: 1 maxLength: 40 description: A reference to an external entity or resource. payment_link_note: allOf: - $ref: '#/components/schemas/sanitized_string' minLength: 1 maxLength: 100 description: A custom message or note. This field allows for personalized communication or additional instructions to the payer. example: Monthly invoice payment exposure: type: string description: Direct exposure of the source address. lock_payment_link_data: description: Lock payment link data. allOf: - $ref: '#/components/schemas/data_default' - type: object required: - type properties: type: type: string enum: - payment_link attributes: required: - travel_rule - quote_amount - asset_code properties: travel_rule: $ref: '#/components/schemas/travel_rule_payment_link_information' quote_amount: allOf: - $ref: '#/components/schemas/positive_amount' description: The amount of the payment to be check if the quote did not change asset_code: allOf: - $ref: '#/components/schemas/asset' description: The currency used as the basis for calculating the amount to be paid. quote_payment_link_data: description: Quote payment-link data. allOf: - $ref: '#/components/schemas/data_default' - type: object required: - type - id properties: type: type: string enum: - payment_link id: $ref: '#/components/schemas/uuid' attributes: required: - quote_asset_code - quote_amount - valued_at properties: quote_asset_code: allOf: - $ref: '#/components/schemas/asset' description: The currency used as the basis for calculating the amount paid. quote_amount: allOf: - $ref: '#/components/schemas/positive_amount' description: The amount of the payment expressed in the quote currency valued_at: allOf: - $ref: '#/components/schemas/date' description: The specific date on which the quote as been valued. payout_initiate_raw_data: description: Payout data to initiate a payout. allOf: - $ref: '#/components/schemas/data_default' - type: object properties: type: type: string enum: - payout attributes: type: object required: - beneficiary_id - amount properties: beneficiary_id: $ref: '#/components/schemas/uuid' beneficiary_verification_id: description: 'The id of a fresh verification made with the beneficiary verification endpoint. Under the VOP (Verification Of Payee) scheme, this verification is mandatory for every EUR transaction. ' allOf: - $ref: '#/components/schemas/uuid' amount: $ref: '#/components/schemas/strictly_positive_amount' reference: $ref: '#/components/schemas/fiat_reference' internal_transfer_initiate_raw_data: description: Internal transfer data to initiate a wallet-to-wallet transfer. allOf: - $ref: '#/components/schemas/data_default' - type: object properties: type: type: string enum: - internal_transfer attributes: type: object required: - destination_wallet_id - amount properties: destination_wallet_id: description: ID of the destination wallet for the internal transfer. Must belong to the same company and same currency as the source wallet. allOf: - $ref: '#/components/schemas/uuid' amount: $ref: '#/components/schemas/strictly_positive_amount' reference: $ref: '#/components/schemas/fiat_reference' public_payout_data: description: Public payout data. allOf: - $ref: '#/components/schemas/payout_data' - type: object properties: caller_can_approve: type: boolean readOnly: true description: Whether the requesting user may approve the pending action on this transaction. pending_action_initiated_by: allOf: - $ref: '#/components/schemas/uuid' readOnly: true description: User ID that initiated the pending action, if any. approval_progress: allOf: - $ref: '#/components/schemas/approval_progress' readOnly: true description: AND multi-rule approval progress for the pending action, if any. attributes: required: - status properties: status: $ref: '#/components/schemas/payout_status_public' payout_data: description: Payout data. allOf: - $ref: '#/components/schemas/data_default' - type: object required: - type - id properties: type: type: string enum: - payout id: $ref: '#/components/schemas/uuid' attributes: properties: operation_id: $ref: '#/components/schemas/uuid' source: $ref: '#/components/schemas/transaction_wallet_info' destination: $ref: '#/components/schemas/transaction_beneficiary_info' amount: $ref: '#/components/schemas/positive_amount' valuations: $ref: '#/components/schemas/valuations' transaction_id: $ref: '#/components/schemas/uuid' created_at: $ref: '#/components/schemas/created_at' asset_code: $ref: '#/components/schemas/asset' created_by: $ref: '#/components/schemas/created_by' reference: $ref: '#/components/schemas/fiat_reference' signature: $ref: '#/components/schemas/signature' blockchain_data: $ref: '#/components/schemas/blockchain_data' open_trade: $ref: '#/components/schemas/open_trade' payout_proceed_data: description: Data needed when sending a payout to a partner. allOf: - $ref: '#/components/schemas/data_default' - type: object properties: type: type: string enum: - payout attributes: required: - wallet_id - beneficiary_id - amount properties: wallet_id: $ref: '#/components/schemas/uuid' beneficiary_id: $ref: '#/components/schemas/uuid' amount: $ref: '#/components/schemas/positive_amount' internal_transfer_data: description: Internal transfer data (same-client wallet-to-wallet). type: object required: - type - id properties: type: type: string enum: - internal_transfer id: $ref: '#/components/schemas/uuid' attributes: properties: asset_code: $ref: '#/components/schemas/asset' amount: $ref: '#/components/schemas/positive_amount' source_company_name: type: string source_wallet_id: $ref: '#/components/schemas/uuid' source_wallet_name: type: string destination_wallet_id: $ref: '#/components/schemas/uuid' destination_wallet_name: type: string destination_company_name: type: string status: type: string transaction_id: $ref: '#/components/schemas/uuid' created_at: $ref: '#/components/schemas/created_at' created_by: $ref: '#/components/schemas/created_by' reference: $ref: '#/components/schemas/fiat_reference' signatures: type: object properties: quorum: type: integer signatories: type: array items: type: object payout_failed_data: description: Data of failed payouts. allOf: - $ref: '#/components/schemas/data_default' - type: object properties: type: type: string enum: - payout attributes: required: - transaction_id - company_id - company_name - last_update - amount - asset_code - network_name - partner - partner_failed_status - partner_transaction_id - destination properties: transaction_id: description: Transaction ID of the payout. allOf: - $ref: '#/components/schemas/uuid' company_id: description: Company ID linked to the wallet. allOf: - $ref: '#/components/schemas/uuid' company_name: description: Company name linked to the wallet. allOf: - $ref: '#/components/schemas/company_name' last_update: description: Last updated date of the payout. allOf: - $ref: '#/components/schemas/date' amount: description: Amount of the payout. allOf: - $ref: '#/components/schemas/amount' asset_code: description: Asset code of the payout. allOf: - $ref: '#/components/schemas/asset' network_name: description: Network name used for the payout. allOf: - $ref: '#/components/schemas/network_name' partner: description: Partner name. allOf: - $ref: '#/components/schemas/sanitized_string' maxLength: 80 partner_failed_status: description: Info of the partner status. allOf: - $ref: '#/components/schemas/partner_failed_status' partner_transaction_id: description: Partner transaction ID. type: string destination: description: Destination information. allOf: - $ref: '#/components/schemas/partner_failed_destination' source: description: Source information. allOf: - $ref: '#/components/schemas/partner_failed_source' partner_message: description: Message from the partner. type: string public_transfer_data: description: Public transfer data. allOf: - $ref: '#/components/schemas/transfer_data' - type: object properties: caller_can_approve: type: boolean readOnly: true description: Whether the requesting user may approve the pending action on this transaction. pending_action_initiated_by: allOf: - $ref: '#/components/schemas/uuid' readOnly: true description: User ID that initiated the pending action, if any. approval_progress: allOf: - $ref: '#/components/schemas/approval_progress' readOnly: true description: AND multi-rule approval progress for the pending action, if any. attributes: required: - status properties: status: $ref: '#/components/schemas/transfer_status_public' transfer_data: description: Transfer data. allOf: - $ref: '#/components/schemas/data_default' - type: object required: - type - id properties: type: type: string enum: - transfer id: $ref: '#/components/schemas/uuid' attributes: required: - source_company_name - destination_company_name - source_wallet_id - destination_wallet_id - asset_code - amount - transaction_id - created_at properties: operation_id: $ref: '#/components/schemas/uuid' batch_id: $ref: '#/components/schemas/uuid' source_company_name: type: string destination_company_name: type: string asset_code: $ref: '#/components/schemas/asset' amount: $ref: '#/components/schemas/positive_amount' valuations: $ref: '#/components/schemas/valuations' transaction_id: $ref: '#/components/schemas/uuid' source_wallet_id: $ref: '#/components/schemas/uuid' destination_wallet_id: $ref: '#/components/schemas/uuid' created_at: $ref: '#/components/schemas/created_at' created_by: $ref: '#/components/schemas/created_by' reference: $ref: '#/components/schemas/fiat_reference' signature: $ref: '#/components/schemas/signature' partner_failed_destination: description: Destination for failed payouts. type: object required: - beneficiary_id - beneficiary_description properties: beneficiary_id: description: Beneficiary ID of the payout. allOf: - $ref: '#/components/schemas/uuid' beneficiary_description: description: Destination of the beneficiary. allOf: - $ref: '#/components/schemas/sanitized_string' maxLength: 100 beneficiary_address: description: Crypto address of the beneficiary. allOf: - $ref: '#/components/schemas/sanitized_string' maxLength: 100 beneficiary_account_number: description: Account number of the beneficiary. allOf: - $ref: '#/components/schemas/sanitized_string' maxLength: 100 beneficiary_bank_identifier: description: Account number of the beneficiary. allOf: - $ref: '#/components/schemas/sanitized_string' maxLength: 100 partner_failed_source: description: Source for failed payouts. type: object properties: iban: description: Iban of the source. allOf: - $ref: '#/components/schemas/sanitized_string' maxLength: 100 partner_failed_status: description: Data of failed payouts status. type: object required: - status properties: status: type: string sub_status: type: string payout_fiat_pending_compliance_data: description: Data of payouts fiat in pending compliance status. properties: type: type: string enum: - payout attributes: required: - transaction_id - company_name - company_id - status - amount - currency_code - network_name - beneficiary properties: transaction_id: $ref: '#/components/schemas/uuid' company_name: type: string status: type: string enum: - screening partner compliance - failed - internal compliance - high risk - internal compliance - medium risk company_id: $ref: '#/components/schemas/uuid' amount: $ref: '#/components/schemas/positive_amount' currency_code: $ref: '#/components/schemas/asset' network_name: $ref: '#/components/schemas/network_name' beneficiary: required: - ownership - description - account_number properties: ownership: type: string enum: - self - tier name: type: string example: Ledger Co. account_number: $ref: '#/components/schemas/account_number' description: type: string example: Ledger SAS location: type: string example: France physical_address: description: 'Only for non-self beneficiary. Contraction of street address, city and zipcode of beneficiary. ' type: string example: 25 rue François 1er, Paris, 75009 payout_digital_pending_compliance_data: description: Data of payouts digital in pending compliance status. properties: type: type: string enum: - payout attributes: required: - transaction_id - company_name - company_id - status - amount - currency_code - network_name - beneficiary - chainalysis properties: transaction_id: $ref: '#/components/schemas/uuid' company_name: type: string status: type: string enum: - screening partner compliance - failed - internal compliance - high risk - internal compliance - medium risk company_id: $ref: '#/components/schemas/uuid' amount: $ref: '#/components/schemas/positive_amount' currency_code: $ref: '#/components/schemas/asset' network_name: $ref: '#/components/schemas/network_name' beneficiary: required: - ownership - description - address properties: ownership: type: string enum: - self - tier name: type: string example: Ledger Co. address: $ref: '#/components/schemas/wallet_address' description: type: string example: Ledger SAS location: type: string example: France physical_address: description: 'Only for non-self beneficiary. Contraction of streetaddress, city and zipcode of beneficiary. ' type: string example: 25 rue François 1er, Paris, 75009 chainalysis: $ref: '#/components/schemas/chainalysis' payout_pending_compliance_data: description: Data of payouts in pending compliance status. allOf: - $ref: '#/components/schemas/data_default' - type: object oneOf: - $ref: '#/components/schemas/payout_fiat_pending_compliance_data' - $ref: '#/components/schemas/payout_digital_pending_compliance_data' payin_pending_compliance_data: description: Data of payins in pending compliance status. allOf: - $ref: '#/components/schemas/data_default' - type: object oneOf: - $ref: '#/components/schemas/payin_fiat_pending_compliance_data' - $ref: '#/components/schemas/payin_digital_pending_compliance_data' payin_digital_pending_compliance_data: description: Data of digital payins in pending compliance status. allOf: - $ref: '#/components/schemas/payin_pending_compliance_common_data' - type: object properties: attributes: required: - chainalysis properties: chainalysis: $ref: '#/components/schemas/chainalysis' source: $ref: '#/components/schemas/payin_digital_source' payin_fiat_pending_compliance_data: description: Data of fiat payins in pending compliance status. allOf: - $ref: '#/components/schemas/payin_pending_compliance_common_data' - type: object properties: attributes: required: - reference properties: reference: $ref: '#/components/schemas/fiat_reference' source: $ref: '#/components/schemas/payin_fiat_source' payin_pending_compliance_common_data: description: Common data of payins in pending compliance status. allOf: - $ref: '#/components/schemas/data_default' - type: object properties: type: type: string enum: - payin attributes: required: - transaction_id - company_name - company_id - status - amount - currency_code - network_name - source properties: transaction_id: $ref: '#/components/schemas/uuid' company_name: type: string company_id: $ref: '#/components/schemas/uuid' status: type: string enum: - screening partner compliance - failed - internal compliance - high risk - internal compliance - medium risk amount: $ref: '#/components/schemas/positive_amount' currency_code: $ref: '#/components/schemas/asset' asset_type: $ref: '#/components/schemas/asset_type' network_name: $ref: '#/components/schemas/network_name' chainalysis: description: Chainalysis data required: - total - alerts properties: total: $ref: '#/components/schemas/positive_integer' alerts: type: array items: $ref: '#/components/schemas/chainalysis_alert_data' chainalysis_alert_data: description: Chainalysis data for the alert type: object required: - service - category - alertLevel - externalId - alertAmount - exposureType properties: service: type: string example: 'SANCTIONS: OFAC SDN Lazarus Group 2022-04-14 098b716b8aaf21512996dc57eb0615e2383e2f96' category: type: string example: sanctions alertLevel: type: string example: SEVERE externalId: $ref: '#/components/schemas/uuid' alertAmount: type: number example: 123.34 exposureType: type: string example: DIRECT note_raw_data: description: Note data without id allOf: - $ref: '#/components/schemas/data_default' - type: object properties: type: default: note attributes: required: - title - body properties: title: allOf: - $ref: '#/components/schemas/sanitized_string' minLength: 1 maxLength: 80 example: suspicious transaction body: allOf: - $ref: '#/components/schemas/sanitized_string' minLength: 1 maxLength: 500 example: transactions related to terrorism note_data: description: Note data with id allOf: - $ref: '#/components/schemas/note_raw_data' - type: object properties: id: $ref: '#/components/schemas/uuid' attributes: required: - created_by - created_at - employee_email properties: created_by: $ref: '#/components/schemas/created_by' created_at: $ref: '#/components/schemas/created_at' employee_email: $ref: '#/components/schemas/employee_email' wallet_details_raw_data: description: Wallet details without id allOf: - $ref: '#/components/schemas/data_default' - type: object properties: type: type: string default: wallet_details attributes: required: - name properties: name: allOf: - $ref: '#/components/schemas/sanitized_string' minLength: 1 maxLength: 80 example: My wallet details description: The name of the wallet details. wallet_details_data: description: Wallet details with id allOf: - $ref: '#/components/schemas/object_id' - $ref: '#/components/schemas/wallet_details_raw_data' - type: object properties: attributes: $ref: '#/components/schemas/wallet_details' wallet_details_pdf_data: description: Wallet details pdf data allOf: - $ref: '#/components/schemas/object_id' - type: object properties: id: type: string example: wallet details id description: The unique identifier of the wallet details PDF. type: type: string example: wallet_details_pdf description: The type of the resource. attributes: type: object properties: url: type: string format: uri description: The URL to access the PDF. expiration_date: type: string format: date-time description: The expiration date of the PDF. required: - url - expiration_date account_statement_period_data: description: An account-statement period that has a source file available. allOf: - $ref: '#/components/schemas/data_default' - type: object properties: type: type: string enum: - account_statement_period attributes: type: object required: - year - month properties: year: type: integer example: 2026 description: The year of the period. month: type: integer minimum: 1 maximum: 12 example: 2 description: The month of the period (1-12). account_statement_period_wallet_data: description: A wallet present in a period's source file (exportable for that period). type: object required: - type - id properties: type: type: string enum: - account_statement_period_wallet id: type: string format: uuid description: The wallet UUID present in the period's source file. account_statement_export_request_data: description: Account-statement export request. allOf: - $ref: '#/components/schemas/data_default' - type: object properties: type: type: string enum: - account_statement_export attributes: type: object required: - year - month - wallet_ids properties: year: type: integer example: 2026 description: The year of the period to export. month: type: integer minimum: 1 maximum: 12 example: 2 description: The month of the period to export (1-12). wallet_ids: type: array minItems: 1 items: $ref: '#/components/schemas/uuid' example: - 9aaa1c57-3025-4a27-95da-218bf79f9eb5 description: The non-empty list of wallet IDs to include in the export. account_statement_export_data: description: Account-statement export status. allOf: - $ref: '#/components/schemas/object_id' - type: object properties: type: type: string enum: - account_statement_export attributes: type: object required: - status properties: status: $ref: '#/components/schemas/account_statement_export_status' url: type: string format: uri example: https://assets.fipto.com/account-statements/exports/6f3d0c2a.zip?X-Amz-Signature=... description: The presigned URL to download the export. Present only when status is ready. expiration_date: type: string format: date-time example: '2026-06-05T12:34:56Z' description: The expiration date of the download URL. Present only when status is ready. error: type: string example: source file not found for the requested period description: A human-readable error message. Present only when status is failed. account_statement_export_status: type: string description: The status of an account-statement export. enum: - pending - ready - failed example: pending wallet_details_patch_raw_data: description: Wallet details data that could be updated. allOf: - type: object required: - attributes properties: attributes: properties: name: allOf: - $ref: '#/components/schemas/sanitized_string' maxLength: 80 example: My new wallet detail description: The new wallet detail name. transaction_export_data: description: Transaction with valuation information. properties: type: type: string enum: - transaction id: $ref: '#/components/schemas/uuid' attributes: required: - created_at - transaction_id - transaction_type - description - wallet_id - wallet_name - currency_code - status - running_balance properties: created_at: type: string format: date-time transaction_id: $ref: '#/components/schemas/uuid' transaction_type: type: string enum: - Payin - Payout - Customer Payout - Conversion - buy - Conversion - sell description: type: string wallet_id: $ref: '#/components/schemas/uuid' wallet_name: type: string currency_code: $ref: '#/components/schemas/asset' explorer_link: type: string credit: $ref: '#/components/schemas/positive_amount' credit_usd: $ref: '#/components/schemas/positive_amount' credit_eur: $ref: '#/components/schemas/positive_amount' debit: $ref: '#/components/schemas/positive_amount' debit_usd: $ref: '#/components/schemas/positive_amount' debit_eur: $ref: '#/components/schemas/positive_amount' beneficiary_name: type: string beneficiary_id: $ref: '#/components/schemas/uuid' running_balance: $ref: '#/components/schemas/amount' status: type: string anyOf: - $ref: '#/components/schemas/payin_status_public' - $ref: '#/components/schemas/payout_status_public' - $ref: '#/components/schemas/transfer_status_public' - $ref: '#/components/schemas/transaction_conversion_status_public' operation_data: description: Plan of the operation and transactions linked to it. type: object required: - id - type - attributes properties: type: type: string enum: - operation id: $ref: '#/components/schemas/uuid' attributes: type: object required: - plan - status - transactions properties: plan: type: array items: $ref: '#/components/schemas/plan_data' transactions: type: array items: $ref: '#/components/schemas/transaction_data' plan_data: description: A step of an operation plan oneOf: - $ref: '#/components/schemas/plan_transfer' - $ref: '#/components/schemas/plan_conversion' - $ref: '#/components/schemas/plan_payout' discriminator: propertyName: type mapping: transfer: '#/components/schemas/plan_transfer' conversion: '#/components/schemas/plan_conversion' payout: '#/components/schemas/plan_payout' plan_transfer: description: Plan for a transfer type: object required: - type - amount - source_wallet_id - source_wallet_name - source_wallet_asset - source_company_name - destination_wallet_id - destination_wallet_name - destination_company_name - destination_wallet_asset properties: type: type: string enum: - transfer amount: $ref: '#/components/schemas/positive_amount' source_wallet_id: description: The ID of the source wallet. allOf: - $ref: '#/components/schemas/uuid' destination_wallet_id: description: The ID of the destination wallet. allOf: - $ref: '#/components/schemas/uuid' destination_wallet_name: description: The name of the destination wallet. type: string source_wallet_name: description: The name of the source wallet. type: string source_company_name: description: The name of the source wallets's company. type: string destination_company_name: description: The name of the destination wallet's company. type: string source_wallet_asset: $ref: '#/components/schemas/asset' destination_wallet_asset: $ref: '#/components/schemas/asset' plan_conversion: description: Plan for a conversion type: object required: - type - buy_wallet_id - buy_wallet_name - sell_wallet_id - sell_wallet_name - buy_wallet_asset - sell_wallet_asset properties: type: type: string enum: - conversion buy_wallet_id: description: The ID of the buy wallet. allOf: - $ref: '#/components/schemas/uuid' buy_wallet_name: description: The name of the buy wallet. type: string sell_wallet_id: description: The ID of the sell wallet. allOf: - $ref: '#/components/schemas/uuid' sell_wallet_name: description: The name of the sell wallet. type: string sell_wallet_asset: $ref: '#/components/schemas/asset' buy_wallet_asset: $ref: '#/components/schemas/asset' plan_payout: description: Plan for a conversion type: object required: - type - beneficiary_id - beneficiary_asset - beneficiary_description - beneficiary_address properties: type: type: string enum: - payout beneficiary_id: description: The ID of the beneficiary. allOf: - $ref: '#/components/schemas/uuid' beneficiary_asset: $ref: '#/components/schemas/asset' beneficiary_description: type: string beneficiary_address: description: Blockchain address of the beneficiary allOf: - $ref: '#/components/schemas/wallet_address' transaction_data: description: Transaction data. oneOf: - $ref: '#/components/schemas/public_payin_data' - $ref: '#/components/schemas/public_payout_data' - $ref: '#/components/schemas/public_conversion_data' - $ref: '#/components/schemas/public_payment_link_transaction_data' - $ref: '#/components/schemas/public_transfer_data' public_payin_data: description: Public payin data. allOf: - $ref: '#/components/schemas/payin_data' - type: object properties: attributes: required: - status properties: status: $ref: '#/components/schemas/payin_status_public' payin_data: description: Payin data. allOf: - $ref: '#/components/schemas/data_default' - type: object required: - type - id properties: type: type: string enum: - payin id: $ref: '#/components/schemas/uuid' attributes: properties: operation_id: $ref: '#/components/schemas/uuid' asset_code: $ref: '#/components/schemas/asset' amount: $ref: '#/components/schemas/positive_amount' valuations: $ref: '#/components/schemas/valuations' created_at: $ref: '#/components/schemas/created_at' source: anyOf: - $ref: '#/components/schemas/payin_fiat_source' - $ref: '#/components/schemas/payin_digital_source' destination: $ref: '#/components/schemas/payin_destination' reference: $ref: '#/components/schemas/fiat_reference' transaction_id: $ref: '#/components/schemas/uuid' blockchain_data: $ref: '#/components/schemas/blockchain_data' open_trade: $ref: '#/components/schemas/open_trade' public_payment_link_transaction_data: description: Public payment-link data. allOf: - $ref: '#/components/schemas/payment_link_transaction_data' - type: object properties: attributes: required: - status properties: status: $ref: '#/components/schemas/payin_status_public' payment_link_transaction_data: description: Payment-link data. allOf: - $ref: '#/components/schemas/data_default' - type: object required: - type - id properties: type: type: string enum: - payment_link id: $ref: '#/components/schemas/uuid' attributes: properties: asset_code: $ref: '#/components/schemas/asset' amount: $ref: '#/components/schemas/positive_amount' created_at: $ref: '#/components/schemas/created_at' destination: $ref: '#/components/schemas/payin_destination' transaction_id: $ref: '#/components/schemas/uuid' company_notification_settings_data: description: Company notification settings data. allOf: - $ref: '#/components/schemas/data_default' - type: object properties: type: type: string enum: - setting_notification attributes: required: - settings properties: settings: type: object required: - notify_on_payin - notify_on_monthly_statement properties: notify_on_payin: type: boolean notify_on_monthly_statement: type: boolean description: Object containing notification settings, e.g. whether to notify on payin. company_notification_settings_update: description: Company notification settings data for an update. allOf: - $ref: '#/components/schemas/data_default' - type: object properties: type: type: string enum: - setting_notification attributes: properties: notify_on_payin: type: boolean description: Describes if a notification is sent on payin or not. notify_on_monthly_statement: type: boolean description: Describes if a notification is sent when a monthly account statement is ready or not. public_conversion_data: description: Public conversion data. allOf: - $ref: '#/components/schemas/conversion_data' - type: object properties: attributes: required: - status properties: status: $ref: '#/components/schemas/transaction_conversion_status_public' conversion_data: description: Conversion data without id. allOf: - $ref: '#/components/schemas/data_default' - type: object required: - id properties: id: $ref: '#/components/schemas/uuid' type: type: string enum: - conversion attributes: required: - sell_wallet_id - sell_wallet_name - sell_asset_code - sell_amount - buy_wallet_id - buy_wallet_name - buy_asset_code - buy_amount - requested_by - requested_by_user_name - transaction_id - created_at properties: operation_id: $ref: '#/components/schemas/uuid' sell_wallet_id: $ref: '#/components/schemas/uuid' sell_wallet_name: $ref: '#/components/schemas/sanitized_string' sell_asset_code: $ref: '#/components/schemas/asset' sell_amount: $ref: '#/components/schemas/positive_amount' buy_wallet_id: $ref: '#/components/schemas/uuid' buy_wallet_name: $ref: '#/components/schemas/sanitized_string' buy_asset_code: $ref: '#/components/schemas/asset' buy_amount: $ref: '#/components/schemas/positive_amount' requested_by: $ref: '#/components/schemas/uuid' requested_by_user_name: $ref: '#/components/schemas/sanitized_string' dealt_by: $ref: '#/components/schemas/uuid' dealt_by_employee_email: $ref: '#/components/schemas/employee_email' created_at: $ref: '#/components/schemas/created_at' transaction_id: $ref: '#/components/schemas/uuid' fee_percentage: $ref: '#/components/schemas/positive_amount' admin_transaction_data: description: Transaction data for the BO. oneOf: - $ref: '#/components/schemas/admin_payin_data' - $ref: '#/components/schemas/admin_payout_data' - $ref: '#/components/schemas/admin_conversion_common_data' - $ref: '#/components/schemas/admin_payment_link_transaction_data' - $ref: '#/components/schemas/admin_internal_transfer_data' admin_internal_transfer_data: description: Admin internal transfer data. allOf: - $ref: '#/components/schemas/internal_transfer_data' - type: object properties: attributes: properties: company_id: $ref: '#/components/schemas/uuid' admin_reconciliation_intent: description: Unreconciled transaction for the BO. allOf: - $ref: '#/components/schemas/data_default' - type: object properties: type: type: string enum: - reconciliation_intent attributes: required: - intent properties: intent: $ref: '#/components/schemas/reconciliation_type' admin_unreconciled_transaction_data: description: Unreconciled transaction for the BO. allOf: - $ref: '#/components/schemas/data_default' - type: object properties: type: type: string enum: - unreconciled id: $ref: '#/components/schemas/uuid' attributes: properties: partner: $ref: '#/components/schemas/partner_transaction' amount: $ref: '#/components/schemas/positive_amount' is_reconcilable_as: $ref: '#/components/schemas/is_reconcilable_as' asset_code: $ref: '#/components/schemas/asset' created_at: $ref: '#/components/schemas/created_at' original_transaction_id: $ref: '#/components/schemas/uuid' is_reconcilable_as: description: Map of reconciliation types indicating if they are reconcilable. type: object properties: payin: type: boolean funds_repatriation: type: boolean funds_management: type: boolean funds_injection: type: boolean payout: type: boolean scam: type: boolean payment_link: type: boolean funds_repatriation_payin: type: boolean conversion_liquidity_provider_deposit: type: boolean conversion_liquidity_provider_withdrawal: type: boolean conversion_internal_funds_transfer: type: boolean open_trade: type: boolean admin_payin_data: description: Admin payin data. allOf: - $ref: '#/components/schemas/payin_data' - type: object properties: attributes: required: - status properties: status: $ref: '#/components/schemas/payin_status' exposure: $ref: '#/components/schemas/exposure' admin_payment_link_transaction_data: description: Admin payment-link data. allOf: - $ref: '#/components/schemas/payment_link_transaction_data' - type: object properties: attributes: required: - status properties: status: $ref: '#/components/schemas/payin_status' exposure: $ref: '#/components/schemas/exposure' admin_payout_data: description: Admin payout data. allOf: - $ref: '#/components/schemas/payout_data' - type: object properties: attributes: required: - status - company_id properties: status: $ref: '#/components/schemas/payout_status' company_id: $ref: '#/components/schemas/uuid' exposure: $ref: '#/components/schemas/exposure' admin_conversion_common_data: description: Admin shared conversion data. allOf: - $ref: '#/components/schemas/conversion_data' - type: object properties: attributes: required: - company_id - status properties: company_id: $ref: '#/components/schemas/uuid' status: $ref: '#/components/schemas/transaction_conversion_status' date: description: Date. type: string format: date-time example: '2017-07-21T17:32:28Z' asset: description: The symbol/ticker of the crypto asset. type: string example: BTC asset_type: description: Type of the asset. type: string enum: - digital - fiat example: digital company_type: description: Type of the company. type: string enum: - basic - financial_institution - financial_institution_customer example: financial_institution account_type: description: Type of the Account. type: string enum: - operational - settlement - segregation - settlement_liquidity_partner - withdrawal_liquidity_partner - parent-budget - virtual account example: operational asset_data: description: Asset data. type: object properties: type: type: string enum: - asset asset_code: $ref: '#/components/schemas/asset' attributes: properties: currency_code: description: The currency code of the asset. example: BTC allOf: - $ref: '#/components/schemas/asset' currency_name: type: string description: The currency name of the asset. example: Bitcoin decimals: description: The maximum number of decimal places for the given asset. allOf: - $ref: '#/components/schemas/positive_integer' asset_type: $ref: '#/components/schemas/asset_type' network_name: $ref: '#/components/schemas/network_name' has_access: $ref: '#/components/schemas/has_access' valuation_data: description: Info about a valuation. type: object properties: type: type: string enum: - valuation attributes: properties: valuation_asset: $ref: '#/components/schemas/valuation_asset' value: $ref: '#/components/schemas/positive_amount' valuation_date: type: string format: date-time beneficiary_info_natural: description: Data about Beneficiary of type Natural. allOf: - $ref: '#/components/schemas/beneficiary_info_base' - type: object required: - type - firstname - lastname - address properties: type: type: string enum: - individual firstname: type: string description: First name of the beneficiary. minLength: 1 maxLength: 30 allOf: - $ref: '#/components/schemas/sanitized_name' example: Victor lastname: type: string description: Last name of the beneficiary. minLength: 1 maxLength: 30 allOf: - $ref: '#/components/schemas/sanitized_name' example: Duponthieu address: allOf: - $ref: '#/components/schemas/address' - $ref: '#/components/schemas/address_required_constraint_all_fields' date_of_birth: type: string format: date description: Beneficiary's date of birth (YYYY-MM-DD). Maps to CPN `BENEFICIARY_DATE_OF_BIRTH`. example: '1987-11-23' nationality_code: description: ISO 3166-1 alpha-2 nationality code. Maps to CPN `BENEFICIARY_NATIONALITY`. allOf: - $ref: '#/components/schemas/country_code' beneficiary_info_legal: description: Data about Beneficiary of type Legal. allOf: - $ref: '#/components/schemas/beneficiary_info_base' - type: object required: - type - name - address properties: type: type: string enum: - company name: type: string description: The company name. allOf: - $ref: '#/components/schemas/company_name' minLength: 1 maxLength: 70 address: allOf: - $ref: '#/components/schemas/address' - $ref: '#/components/schemas/address_required_constraint_all_fields' date_of_formation: type: string format: date description: Date the legal entity was incorporated (YYYY-MM-DD). Maps to CPN `BENEFICIARY_DATE_OF_FORMATION`. example: '2012-04-02' country_of_formation_code: description: ISO 3166-1 alpha-2 country of incorporation. Maps to CPN `BENEFICIARY_COUNTRY_OF_FORMATION`. allOf: - $ref: '#/components/schemas/country_code' beneficiary_info_base: description: Shared CPN requirement fields for natural and legal beneficiaries. Not used directly; merged via allOf. type: object properties: phone_number: type: string description: Contact phone number for the beneficiary, in E.164 form. Maps to CPN `BENEFICIARY_PHONE_NUMBER`. pattern: ^\+?[1-9]\d{1,14}$ example: '+442012345678' email: type: string format: email description: Contact email for the beneficiary. Maps to CPN `BENEFICIARY_EMAIL`. example: maria.gomez@example.com national_identification_number: type: string description: National identification document number (CURP/RFC for MX, CPF/CNPJ for BR, NRIC for SG, etc.). Maps to CPN `BENEFICIARY_NATIONAL_IDENTIFICATION_NUMBER` and `RECIPIENT_ID_NUMBER`. example: '98765432100' national_identification_expiration_date: type: string format: date description: Expiry date of the national-identification document (YYYY-MM-DD). example: '2031-08-15' beneficiary_typed_data: description: Beneficiary keyed on corridor (crypto or destination currency). allOf: - $ref: '#/components/schemas/data_default' - type: object required: - attributes properties: type: type: string enum: - beneficiary attributes: $ref: '#/components/schemas/beneficiary_typed_attributes' beneficiary_typed_attributes: description: Beneficiary attributes selected by corridor. oneOf: - $ref: '#/components/schemas/beneficiary_typed_digital' - $ref: '#/components/schemas/beneficiary_typed_eur' - $ref: '#/components/schemas/beneficiary_typed_cop' - $ref: '#/components/schemas/beneficiary_typed_brl_tax_id' - $ref: '#/components/schemas/beneficiary_typed_brl_evp_random' - $ref: '#/components/schemas/beneficiary_typed_brl_email' - $ref: '#/components/schemas/beneficiary_typed_brl_phone_number' - $ref: '#/components/schemas/beneficiary_typed_mxn' - $ref: '#/components/schemas/beneficiary_typed_ngn' - $ref: '#/components/schemas/beneficiary_typed_sgd' - $ref: '#/components/schemas/beneficiary_typed_cny' - $ref: '#/components/schemas/beneficiary_typed_php' - $ref: '#/components/schemas/beneficiary_typed_hkd_fps_id' - $ref: '#/components/schemas/beneficiary_typed_hkd_fps_email' - $ref: '#/components/schemas/beneficiary_typed_hkd_fps_phone_number' - $ref: '#/components/schemas/beneficiary_typed_hkd_fps_account_number' - $ref: '#/components/schemas/beneficiary_typed_hkd_account_number' discriminator: propertyName: corridor mapping: digital: '#/components/schemas/beneficiary_typed_digital' EUR: '#/components/schemas/beneficiary_typed_eur' COP: '#/components/schemas/beneficiary_typed_cop' BRL_TAX_ID: '#/components/schemas/beneficiary_typed_brl_tax_id' BRL_EVP_RANDOM: '#/components/schemas/beneficiary_typed_brl_evp_random' BRL_EMAIL: '#/components/schemas/beneficiary_typed_brl_email' BRL_PHONE_NUMBER: '#/components/schemas/beneficiary_typed_brl_phone_number' MXN: '#/components/schemas/beneficiary_typed_mxn' NGN: '#/components/schemas/beneficiary_typed_ngn' SGD: '#/components/schemas/beneficiary_typed_sgd' CNY: '#/components/schemas/beneficiary_typed_cny' PHP: '#/components/schemas/beneficiary_typed_php' HKD_FPS_ID: '#/components/schemas/beneficiary_typed_hkd_fps_id' HKD_FPS_EMAIL: '#/components/schemas/beneficiary_typed_hkd_fps_email' HKD_FPS_PHONE_NUMBER: '#/components/schemas/beneficiary_typed_hkd_fps_phone_number' HKD_FPS_ACCOUNT_NUMBER: '#/components/schemas/beneficiary_typed_hkd_fps_account_number' HKD_ACCOUNT_NUMBER: '#/components/schemas/beneficiary_typed_hkd_account_number' beneficiary_description: description: Free-text label of the beneficiary, shown in listings. allOf: - $ref: '#/components/schemas/sanitized_string_with_dot' minLength: 1 maxLength: 80 example: My beneficiary beneficiary_info_choice: description: Beneficiary identity — individual, company, or self. oneOf: - $ref: '#/components/schemas/beneficiary_info_natural' - $ref: '#/components/schemas/beneficiary_info_legal' - $ref: '#/components/schemas/beneficiary_is_self' discriminator: propertyName: type mapping: individual: '#/components/schemas/beneficiary_info_natural' company: '#/components/schemas/beneficiary_info_legal' self: '#/components/schemas/beneficiary_is_self' beneficiary_info_natural_id_required: description: Individual beneficiary that must carry a national identification number. allOf: - $ref: '#/components/schemas/beneficiary_info_natural' - required: - national_identification_number beneficiary_info_legal_id_required: description: Company beneficiary that must carry a national identification number. allOf: - $ref: '#/components/schemas/beneficiary_info_legal' - required: - national_identification_number beneficiary_info_with_national_id: description: 'Identity for corridors that require a national id (e.g. CO, BR, MX). The id is required on tier beneficiaries (individual / company); ''self'' carries no national id in the payload — it is taken from the originator company at payout time. ' oneOf: - $ref: '#/components/schemas/beneficiary_info_natural_id_required' - $ref: '#/components/schemas/beneficiary_info_legal_id_required' - $ref: '#/components/schemas/beneficiary_is_self' discriminator: propertyName: type mapping: individual: '#/components/schemas/beneficiary_info_natural_id_required' company: '#/components/schemas/beneficiary_info_legal_id_required' self: '#/components/schemas/beneficiary_is_self' beneficiary_info_natural_id_phone_required: description: 'Individual beneficiary that must carry a national identification number AND a phone number. COP''s BANK-TRANSFER B2C corridor requires CPN RECIPIENT_PHONE_NUMBER for individuals (company / self are unaffected). ' allOf: - $ref: '#/components/schemas/beneficiary_info_natural' - required: - national_identification_number - phone_number beneficiary_info_with_national_id_and_phone: description: 'COP identity. Like beneficiary_info_with_national_id, but the individual branch also requires a phone number (CPN RECIPIENT_PHONE_NUMBER is mandatory for COP B2C payouts; the company and self branches are unchanged). ' oneOf: - $ref: '#/components/schemas/beneficiary_info_natural_id_phone_required' - $ref: '#/components/schemas/beneficiary_info_legal_id_required' - $ref: '#/components/schemas/beneficiary_is_self' discriminator: propertyName: type mapping: individual: '#/components/schemas/beneficiary_info_natural_id_phone_required' company: '#/components/schemas/beneficiary_info_legal_id_required' self: '#/components/schemas/beneficiary_is_self' beneficiary_info_natural_state_province_required: description: Individual whose beneficiary address must carry a state/province (e.g. CN). allOf: - $ref: '#/components/schemas/beneficiary_info_natural' - type: object properties: address: type: object required: - state_province beneficiary_info_legal_state_province_required: description: Company whose beneficiary address must carry a state/province (e.g. CN). allOf: - $ref: '#/components/schemas/beneficiary_info_legal' - type: object properties: address: type: object required: - state_province beneficiary_info_with_state_province: description: 'Identity for corridors that require a state/province in the beneficiary address (e.g. CN). ''self'' carries no address in the payload — it is taken from the originator company at payout time. ' oneOf: - $ref: '#/components/schemas/beneficiary_info_natural_state_province_required' - $ref: '#/components/schemas/beneficiary_info_legal_state_province_required' - $ref: '#/components/schemas/beneficiary_is_self' discriminator: propertyName: type mapping: individual: '#/components/schemas/beneficiary_info_natural_state_province_required' company: '#/components/schemas/beneficiary_info_legal_state_province_required' self: '#/components/schemas/beneficiary_is_self' beneficiary_info_business_choice: description: 'Identity for corridors that only serve business beneficiaries (HK FPS routes are B2B/C2B): a company, or ''self'' (the originator company). Individuals are not accepted — CPN has no FPS B2C route. ' oneOf: - $ref: '#/components/schemas/beneficiary_info_legal' - $ref: '#/components/schemas/beneficiary_is_self' discriminator: propertyName: type mapping: company: '#/components/schemas/beneficiary_info_legal' self: '#/components/schemas/beneficiary_is_self' beneficiary_typed_digital: description: Crypto payout — wallet address, optional tag. type: object required: - corridor - description - wallet_details - beneficiary_info properties: corridor: type: string enum: - digital description: $ref: '#/components/schemas/beneficiary_description' wallet_details: oneOf: - allOf: - $ref: '#/components/schemas/beneficiary_wallet_details_digital' - not: required: - tag - allOf: - $ref: '#/components/schemas/beneficiary_wallet_details_digital' - type: object required: - tag properties: tag: type: string beneficiary_info: $ref: '#/components/schemas/beneficiary_info_choice' beneficiary_typed_eur: description: EUR / SEPA payout — IBAN + name + address. type: object required: - corridor - description - wallet_details - beneficiary_info properties: corridor: type: string enum: - EUR description: $ref: '#/components/schemas/beneficiary_description' wallet_details: type: object required: - asset - account_number - account_number_type - bank_identifier - bank_identifier_type properties: asset: type: string enum: - EUR account_number: allOf: - $ref: '#/components/schemas/account_number' description: IBAN. account_number_type: type: string enum: - iban bank_identifier: allOf: - $ref: '#/components/schemas/bank_identifier' description: BIC. bank_identifier_type: type: string enum: - bic beneficiary_info: $ref: '#/components/schemas/beneficiary_info_choice' cop_bank_name: type: string description: Allowed Colombian banks for COP — CPN's BANK_NAME closed list. Snapshot of CPN /requirements (2026-05-28); refresh when CPN changes the list. example: BANCO DE BOGOTA enum: - COINK SA - BANCO DE BOGOTA - BANCO POPULAR - BANCOLOMBIA - CITIBANK - BANCO GNB SUDAMERIS - BANCO BBVA - ITAÚ CORPBANCA COLOMBIA S.A - BANCO COLPATRIA (Scotiabank) - BANCO DE OCCIDENTE - BANCOLDEX - BANCO CAJA SOCIAL - BANCO AGRARIO - BANCO DAVIVIENDA - AV VILLAS - BANCO PICHINCHA - BANCO COOMEVA - BANCO FALABELLA - BANCO SANTANDER DE NEGOCIOS COL. - BANCO COOPERATIVO COOPCENTRAL - CONFIAR S.A. - COLTEFINANCIERA S.A. - NEQUI - BANCO W S.A. - DAVIPLATA - LULO BANK - BANCO ITAÚ - BANCAMIA S.A. - BANCO SERFINANZA - BANCO UNION - BANCIEN - BANCO JP MORGAN - IRIS - MOVII SA - DING TECNIPAGOS SA - POWWI - UALA - BANCO BTG PACTUAL COLOMBIA S.A. - PIBANK - RAPPIPAY - BANCO MUNDO MUJER - GLOBAL66 - NU - JFK Cooperativa Financiera - BOLD CF - Banco Contactar S.A. ngn_bank_name: type: string description: Allowed Nigerian banks for NGN — CPN's BANK_NAME closed list (BANK-TRANSFER). Snapshot of CPN /requirements (2026-05-28); refresh when CPN changes it. example: Suntrust Bank enum: - Suntrust Bank - Accion MFB - Standard Chartered Bank - Nova MB - Citibank Nigeria - Wema Bank - Bowen MFB - Unity Bank - Premium Trust bank - Mint-Finex Microfinance Bank - United Bank for Africa - Access Bank (Diamond) - Kuda Microfinance Bank - Union Bank of Nigeria - Ecobank Nigeria - Providus Bank - PremiumTrust Bank - Access Bank - Stanbic Ibtc Bank - Polaris Bank - Taj Bank - Lotus Bank - Titan Trust Bank - Parallex Bank - PalmPay - Keystone Bank - Nomba Bank - Moniepoint Microfinance Bank - OPay - GoMoney - Optimus Bank - Zenith Bank - Fairmoney Microfinance Bank Ltd - Heritage Bank - Enterprise Bank - Guaranty Trust Bank - GT Bank - MoMo PSB - 9JAPAY MICROFINANCE - First City Monument Bank - Bellbank Microfinance - First Bank of Nigeria - Titan-Paystack - Mainstreet Bank - Sterling Bank - VFD Microfinance Bank - Nownow(Contec Global) - NET MFB - Jaiz Bank - Paga - Fidelity Bank - Globus Bank - Alternative Bank php_bank_name: type: string description: Allowed Philippine banks for PHP — union of CPN's InstaPay (86) and PESONet (100) BANK_NAME closed lists; the method (and thus list) is server-derived, so the union is accepted at creation. Snapshot 2026-05-28; refresh on CPN change. example: AllBank (A Thrift Bank), Inc. enum: - AllBank (A Thrift Bank), Inc. - Asenso - Asia United Bank - BananaPay - Bangko Mabuhay - Bank of China - Bank of Commerce - BanKo, A subsidiary of BPI - BDO Bank - BDO Network Bank - Binangonan Rural Bank (BRBDigital) - BPI - Camalig Bank - Cantilan Bank - CARD Bank - CARD SME Bank - Cebuana Lhuillier Bank/ Cebuana Xpress - China Bank - China Bank Savings - CIMB Bank Philippines - CIS Bayad Center/ Bayad - City Savings Bank - CTBC Bank (Philippines) Corp. - Development Bank of the Philippines - Dumaguete Bank - Dungganon Bank - EastWest Bank - Easy Pay Global EMI Corp - Equicom Savings Bank - GCash - GoTyme Bank - GrabPay - I-Remit/iCASH - Infoserve / Nationlink - ISLABANK - JuanCash - Komo/ EastWest Rural Bank - LANDBANK / OFBank - Lazada Wallet (Alipay Ph.) - Legazpi Savings Bank - Luzon Development Bank - Malayan Bank Savings - MarCoPay - MariBank - Maya Bank - Maybank - Metrobank - Mindanao Consolidated CoopBank - NetBank - Omnipay, Inc. - Own Bank - PalawanPay - Partner Rural Bank (Cotabato), Inc. - PayMaya/ Maya Wallet - PayMongo - PBCOM - PDAX - Peppermint Bizmoto Inc. - Philippine Business Bank, Inc., A Savings Bank - Philippine Veterans Bank - PhilTrust Bank - PNB - Producers Savings Bank Corporation - PSBank - Queenbank - Quezon Capital Rural Bank - RCBC / Diskartech - Robinsons Bank - Security Bank - ShopeePay - SpeedyPay - Standard Chartered Bank - Starpay - Sterling Bank of Asia - Sun Savings Bank - TayoCash - Tonik Bank - TraxionPay/ DigiCOOP/ COOPNET - UCPB Savings Bank - Union Bank of the Philippines - UnionDigital Bank - UNOBank - USSC - Wealth Bank - Wise Pilipinas, Inc. - Yuanta Bank - Agribusiness Banking Corporation-A Rural Bank - Al-Amanah Islamic Invest. Bank - ANZ Banking Group Ltd - Bangko Kabayan - Bangko Nuestra Señora Del Pilar - Bangkok Bank - Manila Branch - Bank of America, N.A. - Manila Branch - Bank of Florida - Bank Of Makati (A Savings Bank), Inc. - Bayanihan Bank, Inc. - Biñan Rural Bank, Inc. - Cathay United Bank - Manila Branch - Citibank, N.A. - Manila Branch - Community Rural Bank of Romblon (Romblon), Inc. - Cooperative Bank Of Quezon Province - Deutsche Bank AG - Manila Branch - First Consolidated Bank - Gateway Rural Bank, Inc. - Guagua Rural Bank - HSBC - Industrial and Commercial Bank of China Limited - Manila Branch - Industrial Bank of Korea - Manila - ING Bank N.V - Innovative Bank, Inc. (A Rural Bank) - JP Morgan Chase Bank, N.A - Manila Branch - KEB Hana Bank – Manila Branch - Laguna Prestige Bank - LOLC Bank Philippines, Inc. A Thrift Bank - Lulu Money - Malarayat Rural Bank, Inc. - Mega Int'l Commercial Bank - Manila Branch - Mizuho Bank, Ltd. – Manila Branch - Money Mall Rural Bank, Inc. - MUFG Bank, Ltd. - Manila Branch - MVSM Bank (A Rural Bank Since 1953) Inc.[Marikina Valley San Mateo Bank] - New Rural Bank Of San Leonardo (Nueva Ecija), Inc. - Rang-Ay Bank - RBT Bank - Rural Bank of Angeles, Inc. - Rural Bank Of Bacolod City, Inc. - Rural Bank Of Bauang, Inc. - Rural Bank of Digos - Rural Bank Of La Paz, Inc. - Rural Bank Of Lebak (Sultan Kudarat), Incorporated - Rural Bank of Mangaldan, Inc. - Rural Bank of Montalban - Rural Bank Of Porac (Pampanga), Inc. - Rural Bank of Rosario (La Union), Inc. - Rural Bank Of Sagay, Inc. beneficiary_typed_cop: description: COP bank transfer — account number, bank, account type, national id. type: object required: - corridor - description - wallet_details - beneficiary_info properties: corridor: type: string enum: - COP description: $ref: '#/components/schemas/beneficiary_description' wallet_details: type: object required: - asset - account_number - account_number_type - bank_name - bank_account_type properties: asset: type: string enum: - COP account_number: $ref: '#/components/schemas/account_number' account_number_type: type: string enum: - account_number bank_name: $ref: '#/components/schemas/cop_bank_name' bank_account_type: type: string enum: - checking - savings beneficiary_info: $ref: '#/components/schemas/beneficiary_info_with_national_id_and_phone' beneficiary_typed_brl_base: description: 'BRL / PIX shared shape. The PIX key form is the corridor (BRL_TAX_ID / BRL_EVP_RANDOM / BRL_EMAIL / BRL_PHONE_NUMBER). asset (BRL) and account_number_type are kept (pinned per key branch) for backward compatibility with the legacy wallet_details shape. ' type: object required: - corridor - description - wallet_details - beneficiary_info properties: corridor: type: string description: $ref: '#/components/schemas/beneficiary_description' wallet_details: type: object required: - asset - account_number - account_number_type properties: asset: type: string enum: - BRL account_number: allOf: - $ref: '#/components/schemas/account_number' description: The PIX key — CPF/CNPJ (BRL_TAX_ID), the EVP random key (BRL_EVP_RANDOM), an email (BRL_EMAIL), or a phone in E.164 (BRL_PHONE_NUMBER). account_number_type: type: string beneficiary_info: $ref: '#/components/schemas/beneficiary_info_with_national_id' beneficiary_typed_brl_tax_id: description: BRL / PIX — CPF/CNPJ tax-id key. allOf: - $ref: '#/components/schemas/beneficiary_typed_brl_base' - type: object properties: corridor: enum: - BRL_TAX_ID wallet_details: properties: account_number_type: enum: - tax_id beneficiary_typed_brl_evp_random: description: BRL / PIX — EVP random key. allOf: - $ref: '#/components/schemas/beneficiary_typed_brl_base' - type: object properties: corridor: enum: - BRL_EVP_RANDOM wallet_details: properties: account_number_type: enum: - evp_random beneficiary_typed_brl_email: description: BRL / PIX — email key. allOf: - $ref: '#/components/schemas/beneficiary_typed_brl_base' - type: object properties: corridor: enum: - BRL_EMAIL wallet_details: properties: account_number_type: enum: - email beneficiary_typed_brl_phone_number: description: BRL / PIX — phone (E.164) key. allOf: - $ref: '#/components/schemas/beneficiary_typed_brl_base' - type: object properties: corridor: enum: - BRL_PHONE_NUMBER wallet_details: properties: account_number_type: enum: - phone_number beneficiary_typed_mxn: description: MXN SPEI transfer — CLABE, national id, name, address. type: object required: - corridor - description - wallet_details - beneficiary_info properties: corridor: type: string enum: - MXN description: $ref: '#/components/schemas/beneficiary_description' wallet_details: type: object required: - asset - account_number - account_number_type properties: asset: type: string enum: - MXN account_number: allOf: - $ref: '#/components/schemas/account_number' description: 18-digit CLABE. account_number_type: type: string enum: - clabe beneficiary_info: $ref: '#/components/schemas/beneficiary_info_with_national_id' beneficiary_typed_ngn: description: NGN bank transfer — account number, bank, name, address. type: object required: - corridor - description - wallet_details - beneficiary_info properties: corridor: type: string enum: - NGN description: $ref: '#/components/schemas/beneficiary_description' wallet_details: type: object required: - asset - account_number - account_number_type - bank_name properties: asset: type: string enum: - NGN account_number: $ref: '#/components/schemas/account_number' account_number_type: type: string enum: - account_number bank_name: $ref: '#/components/schemas/ngn_bank_name' beneficiary_info: $ref: '#/components/schemas/beneficiary_info_choice' beneficiary_typed_sgd: description: SGD bank transfer — account number, SWIFT/BIC, bank, name, address. type: object required: - corridor - description - wallet_details - beneficiary_info properties: corridor: type: string enum: - SGD description: $ref: '#/components/schemas/beneficiary_description' wallet_details: type: object required: - asset - account_number - account_number_type - bank_identifier - bank_identifier_type - bank_name properties: asset: type: string enum: - SGD account_number: $ref: '#/components/schemas/account_number' account_number_type: type: string enum: - account_number bank_identifier: allOf: - $ref: '#/components/schemas/bank_identifier' description: SWIFT/BIC. bank_identifier_type: type: string enum: - bic bank_name: type: string description: Beneficiary bank name. example: DBS Bank beneficiary_info: $ref: '#/components/schemas/beneficiary_info_with_state_province' beneficiary_typed_cny: description: CNY transfer (CIPS or WIRE) — account number, SWIFT/BIC, bank country, bank, name, address. type: object required: - corridor - description - wallet_details - beneficiary_info properties: corridor: type: string enum: - CNY description: $ref: '#/components/schemas/beneficiary_description' wallet_details: type: object required: - asset - account_number - account_number_type - bank_identifier - bank_identifier_type - bank_country_code - bank_name properties: asset: type: string enum: - CNY account_number: $ref: '#/components/schemas/account_number' account_number_type: type: string enum: - account_number bank_identifier: allOf: - $ref: '#/components/schemas/bank_identifier' description: SWIFT/BIC. bank_identifier_type: type: string enum: - bic bank_country_code: $ref: '#/components/schemas/country_code' bank_name: type: string description: Beneficiary bank name. example: Bank of China beneficiary_info: $ref: '#/components/schemas/beneficiary_info_with_state_province' beneficiary_typed_php: description: PHP transfer (InstaPay or PESONet) — account number, bank, name, address. type: object required: - corridor - description - wallet_details - beneficiary_info properties: corridor: type: string enum: - PHP description: $ref: '#/components/schemas/beneficiary_description' wallet_details: type: object required: - asset - account_number - account_number_type - bank_name properties: asset: type: string enum: - PHP account_number: $ref: '#/components/schemas/account_number' account_number_type: type: string enum: - account_number bank_name: $ref: '#/components/schemas/php_bank_name' beneficiary_info: $ref: '#/components/schemas/beneficiary_info_choice' beneficiary_typed_hkd_fps_id: description: HKD FPS — FPS identifier, name, address. type: object required: - corridor - description - wallet_details - beneficiary_info properties: corridor: type: string enum: - HKD_FPS_ID description: $ref: '#/components/schemas/beneficiary_description' wallet_details: type: object required: - asset - account_number - account_number_type - bank_country_code properties: asset: type: string enum: - HKD account_number: allOf: - $ref: '#/components/schemas/account_number' description: FPS identifier. account_number_type: type: string enum: - fps_id bank_country_code: type: string enum: - HK beneficiary_info: $ref: '#/components/schemas/beneficiary_info_business_choice' beneficiary_typed_hkd_fps_email: description: HKD FPS — registered email, name, address. type: object required: - corridor - description - wallet_details - beneficiary_info properties: corridor: type: string enum: - HKD_FPS_EMAIL description: $ref: '#/components/schemas/beneficiary_description' wallet_details: type: object required: - asset - account_number - account_number_type - bank_country_code properties: asset: type: string enum: - HKD account_number: allOf: - $ref: '#/components/schemas/account_number' description: FPS-registered email address. account_number_type: type: string enum: - email bank_country_code: type: string enum: - HK beneficiary_info: $ref: '#/components/schemas/beneficiary_info_business_choice' beneficiary_typed_hkd_fps_phone_number: description: HKD FPS — registered phone (E.164), name, address. type: object required: - corridor - description - wallet_details - beneficiary_info properties: corridor: type: string enum: - HKD_FPS_PHONE_NUMBER description: $ref: '#/components/schemas/beneficiary_description' wallet_details: type: object required: - asset - account_number - account_number_type - bank_country_code properties: asset: type: string enum: - HKD account_number: allOf: - $ref: '#/components/schemas/account_number' description: FPS-registered phone number, E.164. account_number_type: type: string enum: - phone_number bank_country_code: type: string enum: - HK beneficiary_info: $ref: '#/components/schemas/beneficiary_info_business_choice' beneficiary_typed_hkd_fps_account_number: description: HKD FPS — bank account number + HK bank (clearing) code, name, address. type: object required: - corridor - description - wallet_details - beneficiary_info properties: corridor: type: string enum: - HKD_FPS_ACCOUNT_NUMBER description: $ref: '#/components/schemas/beneficiary_description' wallet_details: type: object required: - asset - account_number - account_number_type - bank_identifier - bank_identifier_type - bank_country_code properties: asset: type: string enum: - HKD account_number: $ref: '#/components/schemas/account_number' account_number_type: type: string enum: - account_number bank_identifier: allOf: - $ref: '#/components/schemas/bank_identifier' description: HK bank (clearing) code. bank_identifier_type: type: string enum: - bank_code bank_country_code: type: string enum: - HK beneficiary_info: $ref: '#/components/schemas/beneficiary_info_business_choice' beneficiary_typed_hkd_account_number: description: HKD WIRE — account number, SWIFT/BIC, bank country, bank, name, address. type: object required: - corridor - description - wallet_details - beneficiary_info properties: corridor: type: string enum: - HKD_ACCOUNT_NUMBER description: $ref: '#/components/schemas/beneficiary_description' wallet_details: type: object required: - asset - account_number - account_number_type - bank_identifier - bank_identifier_type - bank_country_code - bank_name properties: asset: type: string enum: - HKD account_number: $ref: '#/components/schemas/account_number' account_number_type: type: string enum: - account_number bank_identifier: allOf: - $ref: '#/components/schemas/bank_identifier' description: SWIFT/BIC. bank_identifier_type: type: string enum: - bic bank_country_code: $ref: '#/components/schemas/country_code' bank_name: type: string description: Beneficiary bank name. example: HSBC beneficiary_info: $ref: '#/components/schemas/beneficiary_info_with_state_province' beneficiary_is_self: description: Is self type for the beneficiary. type: object required: - type properties: type: type: string enum: - self wallet_details_beneficiary: description: Wallet details digital/fiat used for beneficiary. anyOf: - $ref: '#/components/schemas/beneficiary_wallet_details_digital' - $ref: '#/components/schemas/beneficiary_wallet_details_digital_tag' - $ref: '#/components/schemas/beneficiary_wallet_details_fiat' wallet_details: description: Wallet details digital/fiat. anyOf: - $ref: '#/components/schemas/wallet_details_digital' - $ref: '#/components/schemas/wallet_details_digital_tag' - $ref: '#/components/schemas/wallet_details_fiat_iban' wallet_details_common: description: Minimal info in common about Wallet Details. type: object required: - asset properties: asset: $ref: '#/components/schemas/asset' beneficiary_wallet_details_digital: description: Data about Wallet Details of type digital. allOf: - $ref: '#/components/schemas/wallet_details_common' - type: object required: - address properties: address: $ref: '#/components/schemas/wallet_address' travel_rule: $ref: '#/components/schemas/beneficiary_travel_rule' travel_rule_status: readOnly: true allOf: - $ref: '#/components/schemas/travel_rule_status' wallet_details_digital: description: Data about Wallet Details of type digital. allOf: - $ref: '#/components/schemas/wallet_details_common' - type: object required: - address properties: address: $ref: '#/components/schemas/wallet_address' name: allOf: - $ref: '#/components/schemas/sanitized_string' maxLength: 80 example: Acme - Payment Project X description: The wallet details name. beneficiary_wallet_details_digital_tag: description: Data about Wallet Details of type digital with tag. allOf: - $ref: '#/components/schemas/beneficiary_wallet_details_digital' - type: object maxLength: 80 properties: tag: type: string wallet_details_digital_tag: description: Data about Wallet Details of type digital with tag. allOf: - $ref: '#/components/schemas/wallet_details_digital' - type: object properties: tag: type: string wallet_details_fiat_iban: description: Data about Wallet Details of type fiat with iban. allOf: - $ref: '#/components/schemas/wallet_details_common' - type: object required: - iban properties: iban: type: string example: FR1420041010050500013M02606 description: Standard international numbering system developed to identify an overseas wallet account. bic: type: string description: Wallet Identifier Code. It is an 8 or 11-character number that is used to identify a specific wallet when you make an international transaction. example: BPPCFRTT bank_name: type: string example: CLEARBANK EUROPE N.V. bank_postal_address: type: string example: KEIZERSGRACHT 391 A, AMSTERDAM bank_country_code: $ref: '#/components/schemas/country_code' beneficiary_wallet_details_fiat: description: Data about Wallet Details of type fiat for beneficiary creation. allOf: - $ref: '#/components/schemas/wallet_details_common' - $ref: '#/components/schemas/account_identifiers' admin_aisp_pisp_data_raw: description: Data about the AISP/PISP. allOf: - $ref: '#/components/schemas/data_default' - type: object description: AISP PISP data. required: - attributes properties: attributes: required: - name - public_key - status properties: name: description: Name of the Aisp Pisp. allOf: - $ref: '#/components/schemas/sanitized_string' maxLength: 100 public_key: description: The public key of the user in RSA/PEM format. type: string status: type: string enum: - active - inactive address: type: object description: A physical address. properties: street_address: type: string description: Street name and number of the address. minLength: 1 maxLength: 70 pattern: ^[a-zA-Z0-9À-ɏ\s+'()_&,.;/*#@°ºª:-]*$ example: 25 rue François 1er zip_code: type: string description: Zip code of the beneficiary. minLength: 1 maxLength: 20 pattern: ^[a-zA-Z0-9- ]+$ allOf: - $ref: '#/components/schemas/sanitized_string' example: '75008' city: type: string description: Full city name of the beneficiary. minLength: 1 maxLength: 30 allOf: - $ref: '#/components/schemas/sanitized_name' example: Paris country_code: type: string description: 2 letters representing a country (ISO 3166). pattern: ^[A-Z]{2}$ example: FR state_province: type: string description: State / province / administrative division. Maps to CPN ADDRESS.stateProvince. maxLength: 70 example: Guangdong address_required_constraint_all_fields: type: object description: Constraint on address component to ensure all fields are set. required: - street_address - zip_code - city - country_code address_all_fields: description: A complete address with all fields required. allOf: - $ref: '#/components/schemas/address' - $ref: '#/components/schemas/address_required_constraint_all_fields' address_country_code_only: type: object description: An object with only a country code allowed. required: - country_code additionalProperties: false properties: country_code: type: string description: 2 letters representing a country (ISO 3166). pattern: ^[A-Z]{2}$ example: FR admin_company_update_payout_confirmation_raw_data: description: Companies data that could be updated. allOf: - $ref: '#/components/schemas/data_default' - type: object properties: type: default: company attributes: required: - payout_required_confirmations properties: payout_required_confirmations: type: integer maximum: 2 minimum: 0 admin_company_fi_customer_update_status: description: FI customer status data that could be updated. allOf: - $ref: '#/components/schemas/data_default' - type: object properties: type: type: string enum: - fi_customer_status attributes: type: object required: - status properties: status: type: string enum: - active - suspended company_user_data: description: Company user common data. allOf: - $ref: '#/components/schemas/company_user' - $ref: '#/components/schemas/company_user_role' - $ref: '#/components/schemas/company_user_status' admin_company_user_data: description: Company user for the admin purpose. allOf: - $ref: '#/components/schemas/admin_company_user' - $ref: '#/components/schemas/company_user_companies_role' admin_company_unlink_users_data: description: List of users to unlink from the company. type: object required: - type - attributes properties: type: type: string enum: - users_unlink attributes: type: array items: type: object required: - user_id properties: user_id: $ref: '#/components/schemas/uuid' admin_company_link_users_data: description: List of users to link from the company. type: object required: - type - attributes properties: type: type: string enum: - users_link attributes: type: array items: type: object required: - user_id - role properties: role: $ref: '#/components/schemas/user_role' user_id: $ref: '#/components/schemas/uuid' admin_company_user: description: Admin company data for all type. oneOf: - $ref: '#/components/schemas/admin_company_user_api' - $ref: '#/components/schemas/admin_company_user_frontend' discriminator: propertyName: type mapping: api_client: '#/components/schemas/admin_company_user_api' person: '#/components/schemas/admin_company_user_frontend' company_user: description: Company data for all type. oneOf: - $ref: '#/components/schemas/company_user_api' - $ref: '#/components/schemas/company_user_frontend' discriminator: propertyName: type mapping: api_client: '#/components/schemas/company_user_api' person: '#/components/schemas/company_user_frontend' company_user_role: description: Role associated to a company user. type: object properties: attributes: required: - role properties: role: $ref: '#/components/schemas/user_role' company_user_status: description: Status associated to a company user. type: object properties: attributes: required: - status properties: status: $ref: '#/components/schemas/user_status' company_user_companies_role: description: Companies role associated to a company role. type: object properties: attributes: required: - companies properties: companies: type: array uniqueItems: true items: type: object required: - company_id - role - status properties: company_id: $ref: '#/components/schemas/uuid' role: $ref: '#/components/schemas/user_role' status: readOnly: true allOf: - $ref: '#/components/schemas/user_status' company_user_common: description: Common data for company user. allOf: - $ref: '#/components/schemas/data_default' - $ref: '#/components/schemas/object_id' - type: object properties: attributes: properties: whitelisted_ips: $ref: '#/components/schemas/ip_addresses' created_by: allOf: - $ref: '#/components/schemas/uuid' readOnly: true description: The id of the user that created this user. company_user_api: description: API company user. allOf: - $ref: '#/components/schemas/company_user_common' - type: object properties: type: type: string enum: - api_client attributes: required: - public_key - name properties: public_key: type: string description: The public key of the user in RSA/PEM format. example: '-----BEGIN PUBLIC KEY----- MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAx5ENo5B+OJn92GpUn4qm i0m5c3scBfoowMLZlSa5q1lnaEfp7eiI1rNemcH8djt7d2T/YzWIsYywmwtzhQjw CxJtRFGGhTk6oFLgCGClwKi3SRODgZYyLGXgqKYstbODX5LDefY/SIqB4o7T3Asu d2aYu2pXmeiJYOsHf8S16e1+J2uDgsuPpLc+E4NGZTJ9KcqgV/PuOkqDlFpMSo5l TF/OBqRtcO8om2wILgPk8GvEqb7xjptwuqEkyvTZE+sKXDffPlwBqkhGLGEMe1vR nzBptA+DxeSIyxXPRYcAdHEWKKUu8gZeVrUl1QDsv68ubqruVfNrdtujMPrhPqcE VQIDAQAB -----END PUBLIC KEY----- ' name: allOf: - $ref: '#/components/schemas/name' - minLength: 1 maxLength: 50 admin_company_user_api: description: API company user. allOf: - $ref: '#/components/schemas/company_user_common' - type: object properties: type: type: string enum: - api_client attributes: required: - public_key - name properties: public_key: type: string description: The public key of the user in RSA/PEM format. example: '-----BEGIN PUBLIC KEY----- MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAx5ENo5B+OJn92GpUn4qm i0m5c3scBfoowMLZlSa5q1lnaEfp7eiI1rNemcH8djt7d2T/YzWIsYywmwtzhQjw CxJtRFGGhTk6oFLgCGClwKi3SRODgZYyLGXgqKYstbODX5LDefY/SIqB4o7T3Asu d2aYu2pXmeiJYOsHf8S16e1+J2uDgsuPpLc+E4NGZTJ9KcqgV/PuOkqDlFpMSo5l TF/OBqRtcO8om2wILgPk8GvEqb7xjptwuqEkyvTZE+sKXDffPlwBqkhGLGEMe1vR nzBptA+DxeSIyxXPRYcAdHEWKKUu8gZeVrUl1QDsv68ubqruVfNrdtujMPrhPqcE VQIDAQAB -----END PUBLIC KEY----- ' name: allOf: - $ref: '#/components/schemas/name' - minLength: 1 maxLength: 50 company_user_frontend: description: Frontend company user. allOf: - $ref: '#/components/schemas/company_user_common' - type: object properties: type: type: string enum: - person attributes: required: - email - firstname - lastname properties: email: type: string format: email firstname: allOf: - $ref: '#/components/schemas/name' - minLength: 1 maxLength: 50 allOf: - $ref: '#/components/schemas/sanitized_name' lastname: allOf: - $ref: '#/components/schemas/name' - minLength: 1 maxLength: 50 allOf: - $ref: '#/components/schemas/sanitized_name' pending_edit: readOnly: true description: Present when a user edit is awaiting approval. type: object properties: role: description: The requested new role. type: string enum: - admin - treasurer - read_only example: treasurer pending_action_initiated_by: readOnly: true description: User ID that initiated the pending action. type: string format: uuid caller_can_approve: readOnly: true description: Whether the requesting user may approve the pending action on this user. type: boolean approval_progress: allOf: - $ref: '#/components/schemas/approval_progress' readOnly: true description: AND multi-rule approval progress for the pending update_user action, if any. admin_company_user_frontend: description: Frontend company user. allOf: - $ref: '#/components/schemas/company_user_common' - type: object properties: type: type: string enum: - person attributes: required: - email - firstname - lastname properties: email: type: string format: email firstname: allOf: - $ref: '#/components/schemas/name' - minLength: 1 maxLength: 50 allOf: - $ref: '#/components/schemas/sanitized_name' lastname: allOf: - $ref: '#/components/schemas/name' - minLength: 1 maxLength: 50 allOf: - $ref: '#/components/schemas/sanitized_name' company_user_role_data: description: Role of a company user. allOf: - $ref: '#/components/schemas/company_user_role' - type: object required: - type - attributes properties: type: type: string enum: - user_role attributes: type: object partner_transaction: description: Data about a partner transaction. allOf: - type: object properties: source: $ref: '#/components/schemas/partner_transaction_wallet_details' destination: $ref: '#/components/schemas/partner_transaction_wallet_details' asset: $ref: '#/components/schemas/asset' amount: $ref: '#/components/schemas/positive_amount' sub_status: description: Sub status of a partner transaction. type: string payload: type: object description: The payload of the transaction. partner_transaction_wallet_details: description: Wallet details for a partner transaction. type: object properties: address: $ref: '#/components/schemas/wallet_address' iban: type: string partner_party_name: type: string company_name: type: string wallet_details_id: type: string ipv4: description: Ipv4 format. type: string format: ipv4 ipv6: description: Ipv6 format. type: string format: ipv6 ip_addresses: description: IP address in any format. type: array items: oneOf: - $ref: '#/components/schemas/ipv4' - $ref: '#/components/schemas/ipv6' wallet_address: type: string example: 0x71C* description: The public address associated with a wallet details on the blockchain. user_status_public: description: Allowed user status values for public filtering. type: string enum: - active - awaiting_approval authorization_action_type: description: 'The type of action an authorization policy rule applies to. `initiate_payout` is the legacy value retained for pre-split actions/rules; new rules use `initiate_single_payout` / `initiate_batch_payout`. ' type: string enum: - initiate_single_payout - initiate_batch_payout - initiate_payout - create_beneficiary - create_user - update_user example: initiate_single_payout user_status: readOnly: true description: Status of a user. type: string example: active enum: - active - require_kyc - invitation_sent - awaiting_approval - rejected wallet_subtype: description: Subtype of a wallet. type: string enum: - primary network_name: description: Name of network. type: string example: Bitcoin reconciliation_type: type: string description: Type of reconciliation. enum: - payin - funds_repatriation - funds_management - funds_injection - payout - scam - payment_link - funds_repatriation_payin - conversion_liquidity_provider_deposit - conversion_liquidity_provider_withdrawal - conversion_internal_funds_transfer - open_trade employee_email: type: string format: email pattern: '@fipto\.com$' example: employee@fipto.com description: Email of the employee. valuation: description: Valuation of an asset. type: object properties: asset: description: The quote asset of the provided valuation. type: string enum: - EUR - USD value: $ref: '#/components/schemas/asset_value' valuations: description: Valuations of an asset. type: array items: $ref: '#/components/schemas/valuation' example: - asset: EUR value: '10.05' - asset: USD value: '12.97' signature: description: Data of signature. type: object properties: quorum: description: The required number of signatories. allOf: - $ref: '#/components/schemas/positive_integer' signatories: type: array items: type: object properties: user_id: $ref: '#/components/schemas/uuid' blockchain_data: description: Data from the blockchain. type: object required: - transaction_hash - block_explorer_link properties: transaction_hash: description: The hash of the transaction. type: string block_explorer_link: description: The link to the transaction on the block explorer. type: string open_trade: description: Data from open trade transfer type: object required: - amount - asset properties: asset: $ref: '#/components/schemas/asset' amount: $ref: '#/components/schemas/positive_amount' transaction_wallet_info: description: Wallet information in a transaction. type: object required: - wallet_id - wallet_name properties: wallet_id: $ref: '#/components/schemas/uuid' wallet_name: type: string description: The name of the wallet. example: My wallet transaction_beneficiary_info: description: Information of beneficiary into a transaction. type: object required: - beneficiary_id properties: beneficiary_id: $ref: '#/components/schemas/uuid' beneficiary_description: description: The description given to the beneficiary. type: string example: My beneficiary beneficiary_address: description: The blockchain address of the beneficiary. type: string example: 0x71C* beneficiary_source_account: description: The source account of the beneficiary. type: string example: FR1420041010050500013M02606 payin_fiat_source: description: Source of a payin in fiat currency. type: object properties: iban: type: string description: The IBAN of the bank account that initiated the payment. bic: type: string description: The BIC of the bank account that initiated the payment. name: type: string description: The name of the bank account that initiated the payment. physical_address: type: string description: The physical address of the bank account that initiated the payment. country: type: string description: The country of the bank account that initiated the payment. payin_digital_source: description: Source of a payin in digital currency. type: object properties: address: type: string description: The external wallet address that initiated the payment. payin_destination: description: Destination of a payin type: object allOf: - $ref: '#/components/schemas/transaction_wallet_info' properties: wallet_details_id: $ref: '#/components/schemas/uuid' wallet_details_name: type: string description: The name of the wallet details. wallet_details_address: $ref: '#/components/schemas/wallet_address' wallet_details_tag: type: string description: The tag associated with a wallet details on the blockchain. wallet_details_iban: type: string description: The IBAN associated with a wallet details. payin_status: type: string enum: - reconciled - screening partner compliance - in review - screening partner compliance - reviewed - screening partner compliance - failed - internal compliance - reviewed - internal compliance - medium risk - internal compliance - high risk - internal compliance - to be returned - internal compliance - rejected - completed example: reconciled description: Internal status of the payin. payin_status_public: type: string enum: - in transit - completed - returned - waiting for travel rule information example: returned description: Status of the payin. payout_status: type: string enum: - submitted - waiting for signature - waiting for topup - refused - initiated - screening partner compliance - in review - screening partner compliance - reviewed - screening partner compliance - failed - internal compliance - reviewed - internal compliance - rejected - internal compliance - medium risk - internal compliance - high risk - payment partner - processing - payment partner - accepted - payment partner - rejected - payment partner - payload control failed - payment partner - waiting for topup - completed - partner - not completed - awaiting approval example: submitted description: Status of the payout. transaction_conversion_status_public: type: string enum: - confirmed - completed - returned - insufficient funds example: confirmed description: Status of the conversion transaction. transaction_conversion_status: type: string enum: - initiated - completed - cancelled - settled example: initiated description: Status of the conversion transaction. payout_status_public: type: string enum: - pending - rejected - completed - awaiting co-signer - insufficient funds - in process - submitted - awaiting approval example: pending description: Status of the payout. transfer_status_public: type: string enum: - pending - refused - completed - awaiting co-signer - insufficient funds - in process - submitted example: pending description: Status of the transfer. transaction_type: description: Type of transaction. type: string enum: - payin - payout - conversion - payment_link - transfer - internal_transfer rfq_origin: description: Origin of the Request for quote. type: string enum: - employee - user example: employee name: type: string description: The name of the user. example: Johnny Nguyen pattern: \S+ valuation_asset: type: string description: Specifies the asset used to value the resources retrieved by the endpoint. valuation_wallet_asset: type: string description: Specifies the asset used to value the wallet balance. asset_value: type: string description: The estimated value of the asset (based on the quote asset). created_at: type: string format: date-time description: The specific date on which the transaction has been created. created_by: type: string pattern: '[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}' description: The id of the user that initiated the payout. available_balance: type: string description: The current available balance of assets for the wallet. forecasted_balance: type: string description: The forecasted balance of assets for the wallet. wallet_details_count: type: integer example: 3 description: Number of wallet details linked to this wallet. sort: type: string default: created_at example: created_at description: The sort field used to filter data. sort_asset_list: description: Possible sort for the list asset. allOf: - $ref: '#/components/schemas/sort' enum: - created_at - currency_code - currency_name - asset_code - asset_type - network_name sort_payin_compliance_list: description: Possible sort for the list payin compliance. allOf: - $ref: '#/components/schemas/sort' enum: - created_at - company_name - amount - currency_code - network_name sort_payout_compliance_list: description: Possible sort for the list payout compliance. allOf: - $ref: '#/components/schemas/sort' enum: - created_at - company_name - amount - currency_code - network_name - reference sort_transactions_notes_list: description: Possible sort for the list transactions notes. allOf: - $ref: '#/components/schemas/sort' enum: - created_at - email - created_by param_display_nft: description: Toggle if the nft will be displayed or not. type: boolean default: false sort_unreconciled_transactions_list: description: Possible sort for the list of transactions unreconciled. allOf: - $ref: '#/components/schemas/sort' enum: - created_at - email - asset_code sort_company_list: description: Possible sort for the list companies. allOf: - $ref: '#/components/schemas/sort' enum: - created_at - name sort_employee_list: description: Possible sort for the list employees. allOf: - $ref: '#/components/schemas/sort' enum: - created_at - email sort_users_list: description: Possible sort for the list users. allOf: - $ref: '#/components/schemas/sort' enum: - created_at - email sort_admin_transaction_list: description: Possible sort for the list transaction from employee. allOf: - $ref: '#/components/schemas/sort' enum: - created_at - amount - status sort_admin_treasury_transaction_list: description: Possible sort for the list treasury transaction from employee. allOf: - $ref: '#/components/schemas/sort' enum: - created_at - amount - status sort_transaction_list: description: Possible sort for the list transaction. allOf: - $ref: '#/components/schemas/sort' enum: - created_at - amount - status sort_wallet_details_list: description: Possible sort for the list wallet details. allOf: - $ref: '#/components/schemas/sort' enum: - created_at - name - asset_code sort_wallets_list: description: Possible sort for the list wallet. allOf: - $ref: '#/components/schemas/sort' enum: - created_at - name - asset_code - value employee_role: description: An employee role. type: string minLength: 1 maxLength: 80 allOf: - $ref: '#/components/schemas/sanitized_string' example: Administrator employee_roles: description: List of roles minItems: 1 uniqueItems: true type: array items: $ref: '#/components/schemas/employee_role' permission: description: A permission type: string pattern: ^[_a-z]+\.[_a-z]+$ user_permissions: description: List of user permissions minItems: 1 uniqueItems: true type: array items: $ref: '#/components/schemas/permission' has_fiat_access: description: Specify if the company can interact with fiat. type: boolean has_batch_vop: description: Specify if the company has enabled the verification of beneficiary for batch payout for vop. type: boolean has_beneficiary_whitelisting: description: Specify if the company has enabled beneficiary whitelisting. type: boolean has_automation: description: Whether the company has automation workflow enabled. type: boolean has_kyc_reliance: description: Whether the company has KYC reliance enabled for client onboarding. type: boolean has_authorization_policy: description: Whether the company has authorization policy enabled. type: boolean has_internal_transfers: description: Whether the company has internal wallet-to-wallet transfers enabled. type: boolean has_access: description: Specify if the company can interact with a specific asset. type: boolean employee_permissions: description: List of employee permissions minItems: 1 uniqueItems: true type: array items: $ref: '#/components/schemas/permission' aisp_pisp_role: description: A defined aisp/pisp role. type: string enum: - AISP - AISP/PISP example: AISP/PISP user_role: description: A defined user role. type: string enum: - admin - treasurer - read_only admin_request_for_quote: description: A newly submitted request for quote (RFQ) allOf: - $ref: '#/components/schemas/request_for_quote' - type: object required: - attributes properties: attributes: type: object required: - company_id properties: company_id: readOnly: true allOf: - $ref: '#/components/schemas/uuid' - description: The company id of the user that requested the RFQ. admin_request_for_quote_validated: description: RFQ validated allOf: - $ref: '#/components/schemas/request_for_quote_validated' - type: object required: - attributes properties: attributes: type: object required: - company_id properties: partner: $ref: '#/components/schemas/conversion_partner' company_id: readOnly: true allOf: - $ref: '#/components/schemas/uuid' - description: The company id of the user that requested the RFQ. request_for_quote: description: A newly submitted request for quote (RFQ) allOf: - $ref: '#/components/schemas/request_for_quote_common' - type: object required: - attributes properties: attributes: oneOf: - type: object required: - buy_amount - status properties: status: readOnly: true type: string enum: - submitted buy_amount: $ref: '#/components/schemas/strictly_positive_amount' - type: object required: - sell_amount - status properties: status: readOnly: true type: string enum: - submitted - cancelled sell_amount: $ref: '#/components/schemas/strictly_positive_amount' - type: object required: - buy_amount - sell_amount - status properties: status: readOnly: true type: string enum: - validated buy_amount: $ref: '#/components/schemas/strictly_positive_amount' sell_amount: $ref: '#/components/schemas/strictly_positive_amount' request_for_quote_validated: description: RFQ validated allOf: - $ref: '#/components/schemas/request_for_quote_common' - type: object required: - attributes properties: attributes: type: object required: - buy_amount - sell_amount - status properties: status: readOnly: true type: string enum: - validated buy_amount: $ref: '#/components/schemas/strictly_positive_amount' sell_amount: $ref: '#/components/schemas/strictly_positive_amount' request_for_quote_common: description: RFQ common data allOf: - $ref: '#/components/schemas/data_default' - $ref: '#/components/schemas/object_id' - type: object properties: type: type: string enum: - rfq attributes: type: object required: - origin - buy_wallet_id - sell_wallet_id - created_at properties: origin: readOnly: true allOf: - $ref: '#/components/schemas/rfq_origin' - description: The origin of the RFQ. dealt_by: readOnly: true allOf: - $ref: '#/components/schemas/uuid' - description: The id of the employee that validated the RFQ. requested_by: allOf: - $ref: '#/components/schemas/uuid' - description: The id of the user that requested the RFQ. created_at: readOnly: true allOf: - $ref: '#/components/schemas/created_at' buy_wallet_id: $ref: '#/components/schemas/uuid' buy_wallet_name: type: string readOnly: true description: The name of the wallet. example: My wallet buy_wallet_asset_code: type: string readOnly: true description: The asset code of the wallet. example: BTC sell_wallet_id: $ref: '#/components/schemas/uuid' sell_wallet_name: type: string readOnly: true description: The name of the wallet. example: My wallet sell_wallet_asset_code: type: string readOnly: true description: The asset code of the wallet. example: EUR conversion_partner: description: Name of the partner used to make the conversion type: string example: Kraken sanitized_string: type: string description: Allow alphanumeric, +, -, _, &, (, ), °, space, single quote, comma, and all accented characters. pattern: ^[a-zA-Z0-9À-ɏ\s+'()_&,°-]*$ sanitized_string_with_dot: type: string description: Allow alphanumeric, +, -, _, &, (, ), °, ., space, single quote, comma, and all accented characters. pattern: ^[a-zA-Z0-9À-ɏ\s+'()_&,°.-]*$ vasp_name: type: string description: Allow alphanumeric, +, -, _, &, (, ), °, ., ;, space, single quote, comma, and all accented characters. pattern: ^[a-zA-Z0-9À-ɏ\s+'()_&,°.;-]*$ company_name: type: string description: Allow alphanumeric, +, -, _, &, (, ), ., space, single quote, comma, and all accented characters. pattern: ^[a-zA-Z0-9À-ɏ\s+'()_&,.\-]*$ maxLength: 100 country_code: type: string description: Code 2 characters of country pattern: ^[A-Z]{2}$ sanitized_name: type: string description: A string that must contain only upper and lower case letters, spaces, hyphens, and single quote characters pattern: ^[a-zA-Z\s\-'À-ſ]+$ positive_integer: type: integer example: 10000 maximum: 2147483647 minimum: 0 description: Strictly positive int32. admin_aisp_pisp_data: description: AISP/PISP information for the back office. allOf: - $ref: '#/components/schemas/data_default' - $ref: '#/components/schemas/object_id' - type: object properties: type: type: string enum: - aisp_pisp attributes: required: - name - public_key properties: name: description: Name of the AISP/PISP. type: string public_key: description: The public key of the AISP/PISP in RSA/PEM format. type: string status: type: string enum: - active - inactive aisp_pisp_company_data: description: AISP/PISP user information allOf: - $ref: '#/components/schemas/object_id' - $ref: '#/components/schemas/data_default' - type: object properties: type: type: string enum: - aisp_pisp attributes: required: - name - role properties: name: description: Name of the AISP/PISP. type: string role: $ref: '#/components/schemas/aisp_pisp_role' aisp_pisp_data: description: AISP/PISP information. allOf: - $ref: '#/components/schemas/data_default' - $ref: '#/components/schemas/object_id' - type: object properties: type: type: string enum: - aisp_pisp attributes: required: - name properties: name: description: Name of the AISP/PISP. type: string update_company_aisp_pisp_data: description: Request body for update new AISP/PISP user for a company. allOf: - $ref: '#/components/schemas/data_default' - type: object properties: type: type: string enum: - aisp_pisp attributes: required: - role properties: role: $ref: '#/components/schemas/aisp_pisp_role' create_company_aisp_pisp_data: description: Request body for creating a new AISP/PISP user for a company. allOf: - $ref: '#/components/schemas/data_default' - type: object properties: type: type: string enum: - aisp_pisp attributes: required: - aisp_pisp_id - role properties: aisp_pisp_id: $ref: '#/components/schemas/uuid' role: $ref: '#/components/schemas/aisp_pisp_role' aisp_pisp_payout_initiate_raw_data: description: AISP/PISP Payout data to initiate a payout. allOf: - $ref: '#/components/schemas/data_default' - type: object properties: type: type: string enum: - payout attributes: type: object required: - beneficiary_id - amount - reference properties: beneficiary_id: $ref: '#/components/schemas/uuid' amount: $ref: '#/components/schemas/positive_amount' reference: $ref: '#/components/schemas/fiat_reference' aisp_pisp_payout_data: description: AISP/PISP Payout data. allOf: - $ref: '#/components/schemas/data_default' - $ref: '#/components/schemas/object_id' - type: object properties: type: type: string enum: - payout attributes: properties: source: $ref: '#/components/schemas/transaction_wallet_info' destination: $ref: '#/components/schemas/transaction_beneficiary_info' amount: $ref: '#/components/schemas/positive_amount' transaction_id: $ref: '#/components/schemas/uuid' created_at: $ref: '#/components/schemas/created_at' asset_code: $ref: '#/components/schemas/asset' created_by: $ref: '#/components/schemas/created_by' reference: $ref: '#/components/schemas/fiat_reference' signature: $ref: '#/components/schemas/signature' payin_simulation_data: description: Data used to simulate a payin allOf: - $ref: '#/components/schemas/data_default' - type: object properties: type: type: string enum: - payin attributes: type: object required: - amount properties: source: allOf: - $ref: '#/components/schemas/payin_fiat_source' required: - name nullable: true reference: allOf: - $ref: '#/components/schemas/sanitized_string' minLength: 1 amount: $ref: '#/components/schemas/strictly_positive_amount' wallet_details_id: $ref: '#/components/schemas/uuid' transaction_simulation_data: description: Data used to simulate a transaction allOf: - $ref: '#/components/schemas/data_default' - type: object properties: type: type: string enum: - unreconciled-transaction attributes: allOf: - oneOf: - $ref: '#/components/schemas/transaction_simulation_digital' type: object required: - reconciliation_type properties: reconciliation_type: type: string enum: - payin - payout - funds_injection - funds_repatriation - funds_management - scam partner_message_simulation_data: description: Data used to simulate a message from a partner allOf: - $ref: '#/components/schemas/data_default' - type: object properties: type: type: string enum: - equals_money_message - fireblocks_message attributes: type: object required: - id properties: id: type: string additionalProperties: true transaction_simulation_digital: description: Data used to simulate a transaction in digital currency type: object required: - destination - amount - asset_code properties: destination: oneOf: - $ref: '#/components/schemas/transaction_simulation_destination_account' - $ref: '#/components/schemas/transaction_simulation_destination_address' - $ref: '#/components/schemas/transaction_simulation_destination_wallet_details_id' amount: allOf: - $ref: '#/components/schemas/strictly_positive_amount' asset_code: allOf: - $ref: '#/components/schemas/asset' enum: - ETH_TEST5 - FUSD_TEST transaction_simulation_destination_account: description: Destination of a simulated transaction with account ID. type: object required: - account_id properties: account_id: $ref: '#/components/schemas/sanitized_string' transaction_simulation_destination_address: description: Destination of a simulated transaction in digital currency with wallet address. type: object required: - address properties: address: $ref: '#/components/schemas/wallet_address' transaction_simulation_destination_wallet_details_id: description: Destination of a simulated transaction in digital currency with wallet details id. type: object required: - wallet_details_id properties: wallet_details_id: $ref: '#/components/schemas/uuid' partner_accounts_data: description: Data of partner accounts allOf: - $ref: '#/components/schemas/object_id' - $ref: '#/components/schemas/data_default' - type: object properties: type: type: string enum: - partner_account attributes: type: object required: - partner - account_type - account_data properties: partner_id: type: string description: ID of the partner account (not the virtual account ID) partner: type: string description: Name of the partner account_type: type: string description: Type of the account enum: - operational - settlement - segregation - virtual account - settlement_liquidity_partner - parent-budget account_data: $ref: '#/components/schemas/partner_account_data' equalsmoney_budget_data: description: Data of an equals money budget type: object required: - id - name properties: id: type: string name: type: string parent_id: type: string partner_balance: $ref: '#/components/schemas/positive_amount' partner_transaction_data: description: Data of a partner's transaction type: object required: - transaction_id - amount - currency - created_at properties: transaction_id: type: string format: uuid end_to_end_id: type: string reference: type: string destination: type: string source: type: string amount: type: string pattern: ^\d+(\.\d{1,2})?$ currency: type: string payment_method: type: string type: type: string created_at: type: string format: date-time settled_at: type: string format: date-time status: type: string user_type: description: Type of a user. type: string enum: - person - api_client - aisp_pisp example: person risk_category: description: Risk category of a company. type: string enum: - low - medium - high example: high rfot_type: description: Status of a request for open-trade. type: string enum: - payin - payout - external_fx rfot_status: description: Status of a request for open-trade. type: string enum: - submitted - initiated - completed - cancelled rfot_data: description: RFOT data. allOf: - $ref: '#/components/schemas/data_default' - $ref: '#/components/schemas/rfot' - type: object properties: attributes: properties: company_id: readOnly: true allOf: - $ref: '#/components/schemas/uuid' company_name: readOnly: true allOf: - $ref: '#/components/schemas/company_name' status: readOnly: true allOf: - $ref: '#/components/schemas/rfot_status' requested_by: readOnly: true allOf: - $ref: '#/components/schemas/uuid' requested_by_user_name: readOnly: true allOf: - $ref: '#/components/schemas/sanitized_string' maxLength: 100 dealt_by: readOnly: true allOf: - $ref: '#/components/schemas/uuid' dealt_by_employee_email: readOnly: true allOf: - $ref: '#/components/schemas/employee_email' updated_by: readOnly: true allOf: - $ref: '#/components/schemas/uuid' updated_by_employee_email: readOnly: true allOf: - $ref: '#/components/schemas/employee_email' created_at: readOnly: true allOf: - $ref: '#/components/schemas/date' updated_at: readOnly: true allOf: - $ref: '#/components/schemas/date' rfot: description: A request for open trade. oneOf: - $ref: '#/components/schemas/rfot_payout' - $ref: '#/components/schemas/rfot_payin' rfot_source_or_destination_amount_required: description: One of source amount or destination amount is required upon RFOT creation. oneOf: - description: Source amount is required upon RFOT creation. type: object properties: attributes: properties: source: type: object required: - amount properties: amount: $ref: '#/components/schemas/strictly_positive_amount' destination: type: object properties: amount: readOnly: true allOf: - $ref: '#/components/schemas/strictly_positive_amount' - description: Destination amount is required upon RFOT creation. type: object properties: attributes: properties: source: type: object properties: amount: readOnly: true allOf: - $ref: '#/components/schemas/positive_amount' destination: type: object required: - amount properties: amount: $ref: '#/components/schemas/positive_amount' rfot_both_amount_required: description: Both source and destination amount are required upon RFOT validation. type: object properties: attributes: properties: source: type: object required: - amount properties: amount: $ref: '#/components/schemas/strictly_positive_amount' destination: type: object required: - amount properties: amount: $ref: '#/components/schemas/strictly_positive_amount' rfot_payout: description: RFOT Payout data. type: object properties: type: type: string enum: - payout attributes: required: - source - destination properties: source: type: object required: - wallet_id properties: amount: $ref: '#/components/schemas/strictly_positive_amount' wallet_id: $ref: '#/components/schemas/uuid' wallet_name: readOnly: true allOf: - $ref: '#/components/schemas/sanitized_string' maxLength: 80 wallet_asset_code: readOnly: true allOf: - $ref: '#/components/schemas/asset' destination: type: object required: - beneficiary_id properties: beneficiary_id: $ref: '#/components/schemas/uuid' amount: $ref: '#/components/schemas/strictly_positive_amount' beneficiary_name: readOnly: true allOf: - $ref: '#/components/schemas/sanitized_string' maxLength: 100 beneficiary_description: readOnly: true allOf: - $ref: '#/components/schemas/sanitized_string' maxLength: 100 beneficiary_address: readOnly: true allOf: - $ref: '#/components/schemas/wallet_address' beneficiary_source_account: readOnly: true allOf: - $ref: '#/components/schemas/sanitized_string' maxLength: 100 rfot_payin: description: RFOT Payin data. type: object properties: type: type: string enum: - payin attributes: required: - source - destination properties: source: type: object required: - asset_code properties: amount: $ref: '#/components/schemas/strictly_positive_amount' asset_code: $ref: '#/components/schemas/asset' destination: type: object required: - wallet_id properties: wallet_id: $ref: '#/components/schemas/uuid' amount: $ref: '#/components/schemas/strictly_positive_amount' wallet_name: readOnly: true allOf: - $ref: '#/components/schemas/sanitized_string' maxLength: 80 wallet_asset_code: readOnly: true allOf: - $ref: '#/components/schemas/asset' rfot_confirm_data_payin: description: Data to confirm a RFOT payin. required: - attributes properties: type: type: string enum: - payin attributes: properties: transaction_id: $ref: '#/components/schemas/uuid' rfot_confirm_data_payout: description: Data to confirm a RFOT payout. properties: type: type: string enum: - payout open_trade_asset_data: description: Additional data for open trade assets. type: object properties: attributes: required: - is_supported properties: is_supported: description: A field to identify internally supported assets from open trade assets. type: boolean public_payment_link_update_data: description: Data to update a payment link. allOf: - $ref: '#/components/schemas/data_default' - type: object required: - type properties: type: type: string enum: - payment_link attributes: properties: external_reference: $ref: '#/components/schemas/payment_link_reference' note: $ref: '#/components/schemas/payment_link_note' admin_payment_link_update_data: description: Data to update a payment link. type: object allOf: - $ref: '#/components/schemas/data_default' properties: type: type: string enum: - payment_link attributes: required: - actions properties: actions: allOf: - $ref: '#/components/schemas/payment_link_actions' payment_link_actions: description: States of the actions of a payment link. type: object properties: trade: type: boolean credit: type: boolean buy_leg: type: boolean sell_leg: type: boolean refund: type: boolean payment_link_destination: description: Destination of a payment link. type: object properties: type: type: string enum: - wallet - beneficiary wallet_id: $ref: '#/components/schemas/uuid' beneficiary_id: $ref: '#/components/schemas/uuid' admin_payment_link_destination: description: Destination of a payment link for the back office. type: object allOf: - $ref: '#/components/schemas/payment_link_destination' - type: object properties: iban: allOf: - $ref: '#/components/schemas/sanitized_string' maxLength: 100 bic: allOf: - $ref: '#/components/schemas/sanitized_string' maxLength: 100 beneficiary_type: description: Type of beneficiary. type: string enum: - self - individual - company reconciliation_data: description: Common reconciliation data. type: object properties: attributes: required: - linked_transaction_id properties: linked_transaction_id: $ref: '#/components/schemas/uuid' webhook_common: description: Webhook shared data. allOf: - $ref: '#/components/schemas/data_default' - $ref: '#/components/schemas/object_id' - type: object properties: type: type: string enum: - webhook attributes: properties: created_at: description: The specific date on which the webhook was created. allOf: - $ref: '#/components/schemas/created_at' url: description: The URL to the webhook. type: string company_id: description: Company ID linked to the webhook. allOf: - $ref: '#/components/schemas/uuid' created_by: description: Creator ID of the webhook. allOf: - $ref: '#/components/schemas/created_by' payment_link_common: description: Payment link shared data. allOf: - $ref: '#/components/schemas/data_default' - $ref: '#/components/schemas/object_id' - type: object properties: type: type: string enum: - payment_link attributes: required: - base_amount - base_asset_code properties: base_amount: description: The desired payment amount expressed in the base_asset_code. allOf: - $ref: '#/components/schemas/positive_amount_greater_or_equal_1_with_two_decimals' base_asset_code: description: The currency used as the basis for calculating the amount to be paid. allOf: - $ref: '#/components/schemas/asset' example: EUR expired_at: description: The specific date on which the payment link will be expired. nullable: true allOf: - $ref: '#/components/schemas/date' status: readOnly: true oneOf: - $ref: '#/components/schemas/payment_link_status' - type: string enum: - expired quote_amount: description: The amount of the payment expressed in the quote currency readOnly: true allOf: - $ref: '#/components/schemas/positive_amount' quote_asset_code: description: The currency used as the basis for calculating the amount paid. readOnly: true allOf: - $ref: '#/components/schemas/asset' public_payment_link_data: description: Public payment link data. type: object allOf: - $ref: '#/components/schemas/payment_link_common' - type: object properties: attributes: required: - base_amount - base_asset_code - destination properties: destination: $ref: '#/components/schemas/payment_link_destination' external_reference: $ref: '#/components/schemas/payment_link_reference' note: $ref: '#/components/schemas/payment_link_note' created_at: description: The specific date on which the payment link was created. readOnly: true allOf: - $ref: '#/components/schemas/created_at' link: description: The URL to the payment page. readOnly: true type: string network_name: readOnly: true description: The name of the network used for the transaction. allOf: - $ref: '#/components/schemas/network_name' transaction_amount: readOnly: true description: The amount of the payment expressed in the transaction currency allOf: - $ref: '#/components/schemas/positive_amount' transaction_source: readOnly: true description: The source of the transaction. allOf: - $ref: '#/components/schemas/wallet_address' admin_webhook_data: description: Admin webhook data. type: object allOf: - $ref: '#/components/schemas/webhook_common' - type: object properties: attributes: properties: created_at: description: The specific date on which the webhook was created. allOf: - $ref: '#/components/schemas/created_at' url: description: The URL to the webhook. type: string company_id: description: Company ID linked to the webhook. allOf: - $ref: '#/components/schemas/uuid' created_by: description: Creator ID of the webhook. allOf: - $ref: '#/components/schemas/created_by' admin_payment_link_data: description: Admin payment link data. type: object allOf: - $ref: '#/components/schemas/payment_link_common' - type: object properties: attributes: properties: created_at: description: The specific date on which the payment link was created. allOf: - $ref: '#/components/schemas/created_at' transaction_created_at: description: The specific date on which the transaction was created. allOf: - $ref: '#/components/schemas/created_at' link: description: The URL to the payment page. type: string company_id: description: Company ID linked to the payment link. allOf: - $ref: '#/components/schemas/uuid' company_name: description: Company name linked to the payment link. allOf: - $ref: '#/components/schemas/company_name' quote_expired_at: description: The specific date on which the quote will be expired. allOf: - $ref: '#/components/schemas/date' actions: allOf: - $ref: '#/components/schemas/payment_link_actions' network_name: description: The name of the network used for the transaction. allOf: - $ref: '#/components/schemas/network_name' transaction_id: description: The id of the transaction. allOf: - $ref: '#/components/schemas/uuid' transaction_amount: description: The amount of the payment expressed in the transaction currency allOf: - $ref: '#/components/schemas/positive_amount' transaction_source: description: The source of the transaction. allOf: - $ref: '#/components/schemas/wallet_address' destination: allOf: - $ref: '#/components/schemas/admin_payment_link_destination' payer_payment_link_data: description: Payer payment-link data. allOf: - $ref: '#/components/schemas/payment_link_common' - type: object properties: attributes: properties: note: description: A custom message or note. This field allows for personalized communication or additional instructions to the payer. type: string example: Monthly invoice payment company_name: description: Company name linked to the wallet. allOf: - $ref: '#/components/schemas/sanitized_string' maxLength: 80 wallet_address: $ref: '#/components/schemas/wallet_address' quote_expired_at: description: The specific date on which the quote will be expired. allOf: - $ref: '#/components/schemas/date' payment_link_status: description: The status of a payment link. type: string enum: - pending - completed - underpaid - overpaid example: pending payment_link_reconciliation_data: description: Data used to reconcile a payment link. allOf: - $ref: '#/components/schemas/data_default' - $ref: '#/components/schemas/reconciliation_data' - type: object properties: type: type: string enum: - payment_link_reconciliation json_error: description: representation of an error in json format. type: object required: - source - detail - code properties: source: $ref: '#/components/schemas/json_error_source' detail: type: string code: type: string json_error_source: description: representation of source in jsonerror format. type: object required: - pointer properties: pointer: type: string fi_batch_payment_file: description: Customer batch payment file. type: object required: - type - attributes properties: type: type: string enum: - batch_payment_file attributes: required: - format - payments - source_wallet_id properties: format: type: string description: The format of the file. enum: - csv source_wallet_id: type: string description: The ID of the source wallet. allOf: - $ref: '#/components/schemas/uuid' payments: type: string description: The file encoded in base 64. example: PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPERvY3VtZW50IHhtbG5zPSJ1cm46aXNvOnN0ZDppc286MjAwMjI6dGVjaDp4c2Q6cGFpbi4wMDEuMDAxLjAzIj4KICAgIDxDc3RtckNkdFRyZkluaXRuPgogICAgICAgIDxHcnBIZHI+CiAgICAgICAgICAgIDxNc2dJZD5ET01USFVTMDU4OTM8L01zZ0lkPgogICAgICAgICAgICA8Q3JlRHRUbT4yMDI0LTAxLTI1VDE0OjI4OjE0LTA1OjAwPC9DcmVEdFRtPgogICAgICAgICAgICA8TmJPZlR4cz4xPC9OYk9mVHhzPgogICAgICAgICAgICA8Q3RybFN1bT4wLjUyPC9DdHJsU3VtPgogICAgICAgICAgICA8SW5pdGdQdHk+CiAgICAgICAgICAgICAgICA8Tm0+SG9sZGluZyBVUzwvTm0+CiAgICAgICAgICAgIDwvSW5pdGdQdHk+CiAgICAgICAgPC9HcnBIZHI+CiAgICAgICAgPFBtdEluZj4KICAgICAgICAgICAgPFBtdEluZklkPkRPTVRIVVMwNTg5MzwvUG10SW5mSWQ+CiAgICAgICAgICAgIDxQbXRNdGQ+VFJBPC9QbXRNdGQ+CiAgICAgICAgICAgIDxCdGNoQm9va2c+dHJ1ZTwvQnRjaEJvb2tnPgogICAgICAgICAgICA8TmJPZlR4cz4xPC9OYk9mVHhzPgogICAgICAgICAgICA8Q3RybFN1bT4wLjUyPC9DdHJsU3VtPgogICAgICAgICAgICA8UG10VHBJbmY+CiAgICAgICAgICAgICAgICA8SW5zdHJQcnR5Pk5PUk08L0luc3RyUHJ0eT4KICAgICAgICAgICAgPC9QbXRUcEluZj4KICAgICAgICAgICAgPFJlcWRFeGN0bkR0PjIwMjQtMDEtMjU8L1JlcWRFeGN0bkR0PgogICAgICAgICAgICA8RGJ0cj4KICAgICAgICAgICAgICAgIDxObT5Ib2xkaW5nIFVTPC9ObT4KICAgICAgICAgICAgICAgIDxQc3RsQWRyPgogICAgICAgICAgICAgICAgICAgIDxTdHJ0Tm0+U3RyZWV0IDE8L1N0cnRObT4KICAgICAgICAgICAgICAgICAgICA8UHN0Q2Q+MTIzNDU8L1BzdENkPgogICAgICAgICAgICAgICAgICAgIDxUd25ObT5DaXR5PC9Ud25ObT4KICAgICAgICAgICAgICAgICAgICA8Q3RyeT5VUzwvQ3RyeT4KICAgICAgICAgICAgICAgIDwvUHN0bEFkcj4KICAgICAgICAgICAgPC9EYnRyPgogICAgICAgICAgICA8RGJ0ckFjY3Q+CiAgICAgICAgICAgICAgICA8SWQ+CiAgICAgICAgICAgICAgICAgICAgPElCQU4+R0I2MU1PQ0swMDAwMDAwMzgyMDkxMjwvSUJBTj4KICAgICAgICAgICAgICAgIDwvSWQ+CiAgICAgICAgICAgICAgICA8Q2N5PlVTRDwvQ2N5PgogICAgICAgICAgICA8L0RidHJBY2N0PgogICAgICAgICAgICA8RGJ0ckFndD4KICAgICAgICAgICAgICAgIDxGaW5JbnN0bklkPgogICAgICAgICAgICAgICAgICAgIDxCSUM+Q0hBU1VTMzI8L0JJQz4KICAgICAgICAgICAgICAgIDwvRmluSW5zdG5JZD4KICAgICAgICAgICAgPC9EYnRyQWd0PgogICAgICAgICAgICA8Q2R0VHJmVHhJbmY+CiAgICAgICAgICAgICAgICA8UG10SWQ+CiAgICAgICAgICAgICAgICAgICAgPEluc3RySWQ+SFVTSlBQUDAwMDAyMDwvSW5zdHJJZD4KICAgICAgICAgICAgICAgICAgICA8RW5kVG9FbmRJZD4wMDAwMDAwMDAwMDAwMDA1PC9FbmRUb0VuZElkPgogICAgICAgICAgICAgICAgPC9QbXRJZD4KICAgICAgICAgICAgICAgIDxBbXQ+CiAgICAgICAgICAgICAgICAgICAgPEluc3RkQW10IENjeT0iVVNEIj4wLjUyPC9JbnN0ZEFtdD4KICAgICAgICAgICAgICAgIDwvQW10PgogICAgICAgICAgICAgICAgPENkdHJBZ3Q+CiAgICAgICAgICAgICAgICAgICAgPEZpbkluc3RuSWQ+CiAgICAgICAgICAgICAgICAgICAgICAgIDxCSUM+Q0hBU1VTMzI8L0JJQz4KICAgICAgICAgICAgICAgICAgICA8L0Zpbkluc3RuSWQ+CiAgICAgICAgICAgICAgICA8L0NkdHJBZ3Q+CiAgICAgICAgICAgICAgICA8Q2R0cj4KICAgICAgICAgICAgICAgICAgICA8Tm0+SlBNQyBUaGlyZCBwYXJ0eTwvTm0+CiAgICAgICAgICAgICAgICAgICAgPFBzdGxBZHI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxDdHJ5PlVTPC9DdHJ5PgogICAgICAgICAgICAgICAgICAgIDwvUHN0bEFkcj4KICAgICAgICAgICAgICAgIDwvQ2R0cj4KICAgICAgICAgICAgICAgIDxDZHRyQWNjdD4KICAgICAgICAgICAgICAgICAgICA8SWQ+CiAgICAgICAgICAgICAgICAgICAgICAgIDxJQkFOPkdCNjFNT0NLMDAwMDAwMDM4MjA5MTI8L0lCQU4+CiAgICAgICAgICAgICAgICAgICAgPC9JZD4KICAgICAgICAgICAgICAgICAgICA8Q2N5PlVTRDwvQ2N5PgogICAgICAgICAgICAgICAgPC9DZHRyQWNjdD4KICAgICAgICAgICAgICAgIDxSbXRJbmY+CiAgICAgICAgICAgICAgICAgICAgPFVzdHJkPlJlZmVyZW5jZTwvVXN0cmQ+CiAgICAgICAgICAgICAgICA8L1JtdEluZj4KICAgICAgICAgICAgPC9DZHRUcmZUeEluZj4KICAgICAgICA8L1BtdEluZj4KICAgIDwvQ3N0bXJDZHRUcmZJbml0bj4KPC9Eb2N1bWVudD4K batch_payout_file: description: Batch payments conversion. type: object required: - type - attributes properties: type: type: string enum: - batch_payout_file attributes: type: object required: - format - payments properties: format: type: string description: The format of the file. enum: - iso20022 - csv payments: type: string description: The file encoded in base 64. example: PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPERvY3VtZW50IHhtbG5zPSJ1cm46aXNvOnN0ZDppc286MjAwMjI6dGVjaDp4c2Q6cGFpbi4wMDEuMDAxLjAzIj4KICAgIDxDc3RtckNkdFRyZkluaXRuPgogICAgICAgIDxHcnBIZHI+CiAgICAgICAgICAgIDxNc2dJZD5ET01USFVTMDU4OTM8L01zZ0lkPgogICAgICAgICAgICA8Q3JlRHRUbT4yMDI0LTAxLTI1VDE0OjI4OjE0LTA1OjAwPC9DcmVEdFRtPgogICAgICAgICAgICA8TmJPZlR4cz4xPC9OYk9mVHhzPgogICAgICAgICAgICA8Q3RybFN1bT4wLjUyPC9DdHJsU3VtPgogICAgICAgICAgICA8SW5pdGdQdHk+CiAgICAgICAgICAgICAgICA8Tm0+SG9sZGluZyBVUzwvTm0+CiAgICAgICAgICAgIDwvSW5pdGdQdHk+CiAgICAgICAgPC9HcnBIZHI+CiAgICAgICAgPFBtdEluZj4KICAgICAgICAgICAgPFBtdEluZklkPkRPTVRIVVMwNTg5MzwvUG10SW5mSWQ+CiAgICAgICAgICAgIDxQbXRNdGQ+VFJBPC9QbXRNdGQ+CiAgICAgICAgICAgIDxCdGNoQm9va2c+dHJ1ZTwvQnRjaEJvb2tnPgogICAgICAgICAgICA8TmJPZlR4cz4xPC9OYk9mVHhzPgogICAgICAgICAgICA8Q3RybFN1bT4wLjUyPC9DdHJsU3VtPgogICAgICAgICAgICA8UG10VHBJbmY+CiAgICAgICAgICAgICAgICA8SW5zdHJQcnR5Pk5PUk08L0luc3RyUHJ0eT4KICAgICAgICAgICAgPC9QbXRUcEluZj4KICAgICAgICAgICAgPFJlcWRFeGN0bkR0PjIwMjQtMDEtMjU8L1JlcWRFeGN0bkR0PgogICAgICAgICAgICA8RGJ0cj4KICAgICAgICAgICAgICAgIDxObT5Ib2xkaW5nIFVTPC9ObT4KICAgICAgICAgICAgICAgIDxQc3RsQWRyPgogICAgICAgICAgICAgICAgICAgIDxTdHJ0Tm0+U3RyZWV0IDE8L1N0cnRObT4KICAgICAgICAgICAgICAgICAgICA8UHN0Q2Q+MTIzNDU8L1BzdENkPgogICAgICAgICAgICAgICAgICAgIDxUd25ObT5DaXR5PC9Ud25ObT4KICAgICAgICAgICAgICAgICAgICA8Q3RyeT5VUzwvQ3RyeT4KICAgICAgICAgICAgICAgIDwvUHN0bEFkcj4KICAgICAgICAgICAgPC9EYnRyPgogICAgICAgICAgICA8RGJ0ckFjY3Q+CiAgICAgICAgICAgICAgICA8SWQ+CiAgICAgICAgICAgICAgICAgICAgPElCQU4+R0I2MU1PQ0swMDAwMDAwMzgyMDkxMjwvSUJBTj4KICAgICAgICAgICAgICAgIDwvSWQ+CiAgICAgICAgICAgICAgICA8Q2N5PlVTRDwvQ2N5PgogICAgICAgICAgICA8L0RidHJBY2N0PgogICAgICAgICAgICA8RGJ0ckFndD4KICAgICAgICAgICAgICAgIDxGaW5JbnN0bklkPgogICAgICAgICAgICAgICAgICAgIDxCSUM+Q0hBU1VTMzI8L0JJQz4KICAgICAgICAgICAgICAgIDwvRmluSW5zdG5JZD4KICAgICAgICAgICAgPC9EYnRyQWd0PgogICAgICAgICAgICA8Q2R0VHJmVHhJbmY+CiAgICAgICAgICAgICAgICA8UG10SWQ+CiAgICAgICAgICAgICAgICAgICAgPEluc3RySWQ+SFVTSlBQUDAwMDAyMDwvSW5zdHJJZD4KICAgICAgICAgICAgICAgICAgICA8RW5kVG9FbmRJZD4wMDAwMDAwMDAwMDAwMDA1PC9FbmRUb0VuZElkPgogICAgICAgICAgICAgICAgPC9QbXRJZD4KICAgICAgICAgICAgICAgIDxBbXQ+CiAgICAgICAgICAgICAgICAgICAgPEluc3RkQW10IENjeT0iVVNEIj4wLjUyPC9JbnN0ZEFtdD4KICAgICAgICAgICAgICAgIDwvQW10PgogICAgICAgICAgICAgICAgPENkdHJBZ3Q+CiAgICAgICAgICAgICAgICAgICAgPEZpbkluc3RuSWQ+CiAgICAgICAgICAgICAgICAgICAgICAgIDxCSUM+Q0hBU1VTMzI8L0JJQz4KICAgICAgICAgICAgICAgICAgICA8L0Zpbkluc3RuSWQ+CiAgICAgICAgICAgICAgICA8L0NkdHJBZ3Q+CiAgICAgICAgICAgICAgICA8Q2R0cj4KICAgICAgICAgICAgICAgICAgICA8Tm0+SlBNQyBUaGlyZCBwYXJ0eTwvTm0+CiAgICAgICAgICAgICAgICAgICAgPFBzdGxBZHI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxDdHJ5PlVTPC9DdHJ5PgogICAgICAgICAgICAgICAgICAgIDwvUHN0bEFkcj4KICAgICAgICAgICAgICAgIDwvQ2R0cj4KICAgICAgICAgICAgICAgIDxDZHRyQWNjdD4KICAgICAgICAgICAgICAgICAgICA8SWQ+CiAgICAgICAgICAgICAgICAgICAgICAgIDxJQkFOPkdCNjFNT0NLMDAwMDAwMDM4MjA5MTI8L0lCQU4+CiAgICAgICAgICAgICAgICAgICAgPC9JZD4KICAgICAgICAgICAgICAgICAgICA8Q2N5PlVTRDwvQ2N5PgogICAgICAgICAgICAgICAgPC9DZHRyQWNjdD4KICAgICAgICAgICAgICAgIDxSbXRJbmY+CiAgICAgICAgICAgICAgICAgICAgPFVzdHJkPlJlZmVyZW5jZTwvVXN0cmQ+CiAgICAgICAgICAgICAgICA8L1JtdEluZj4KICAgICAgICAgICAgPC9DZHRUcmZUeEluZj4KICAgICAgICA8L1BtdEluZj4KICAgIDwvQ3N0bXJDZHRUcmZJbml0bj4KPC9Eb2N1bWVudD4K travel_rule_sender_info_natural: description: Data about Travel Rule's sender of type Natural. type: object required: - type - firstname - lastname - address properties: type: type: string enum: - individual firstname: type: string description: First name of the sender. minLength: 1 maxLength: 50 allOf: - $ref: '#/components/schemas/sanitized_name' example: Victor lastname: type: string description: Last name of the sender. minLength: 1 maxLength: 50 allOf: - $ref: '#/components/schemas/sanitized_name' example: Duponthieu address: oneOf: - $ref: '#/components/schemas/address_all_fields' - $ref: '#/components/schemas/address_country_code_only' travel_rule_sender_info_natural_all_fields: description: Travel Rule's natural sender information with complete address. type: object required: - type - firstname - lastname - address properties: type: type: string enum: - individual firstname: type: string description: First name of the sender. minLength: 1 maxLength: 30 allOf: - $ref: '#/components/schemas/sanitized_name' example: Victor lastname: type: string description: Last name of the sender. minLength: 1 maxLength: 30 allOf: - $ref: '#/components/schemas/sanitized_name' example: Duponthieu address: $ref: '#/components/schemas/address_all_fields' travel_rule_sender_info_legal: description: Data about Travel Rule's sender of type Legal. type: object required: - type - name - address properties: type: type: string enum: - company name: type: string description: The company name. allOf: - $ref: '#/components/schemas/company_name' minLength: 1 maxLength: 70 address: oneOf: - $ref: '#/components/schemas/address_all_fields' - $ref: '#/components/schemas/address_country_code_only' travel_rule_sender_info_legal_all_fields: description: Travel Rule's legal sender information with complete address. type: object required: - type - name - address properties: type: type: string enum: - company name: type: string description: The company name. allOf: - $ref: '#/components/schemas/company_name' minLength: 1 maxLength: 70 address: $ref: '#/components/schemas/address_all_fields' travel_rule_sender_is_self: description: Is self type for the Travel Rule's sender. type: object required: - type properties: type: type: string enum: - self travel_rule_payin_information_response: description: Payin information related to the Travel Rule type: object required: - type - attributes properties: type: type: string enum: - travel_rule_payin_information attributes: type: object properties: travel_rule: $ref: '#/components/schemas/travel_rule' sender: oneOf: - $ref: '#/components/schemas/travel_rule_sender_info_natural' - $ref: '#/components/schemas/travel_rule_sender_info_legal' - $ref: '#/components/schemas/travel_rule_sender_is_self' discriminator: propertyName: type mapping: individual: '#/components/schemas/travel_rule_sender_info_natural' company: '#/components/schemas/travel_rule_sender_info_legal' self: '#/components/schemas/travel_rule_sender_is_self' exemption: $ref: '#/components/schemas/travel_rule_exemption' travel_rule_exemption: description: Travel rule exemption status for a wallet address. type: object required: - is_exempted properties: is_exempted: type: boolean description: Whether travel rule validation is exempted for this address. expires_at: type: string format: date-time description: When the exemption expires. Only present when is_exempted is true. example: '2026-09-03T12:00:00Z' travel_rule_payin_information: description: Payin information related to the Travel Rule type: object required: - type - attributes properties: type: type: string enum: - travel_rule_payin_information attributes: type: object required: - sender properties: travel_rule: $ref: '#/components/schemas/travel_rule' sender: writeOnly: true oneOf: - $ref: '#/components/schemas/travel_rule_sender_info_natural' - $ref: '#/components/schemas/travel_rule_sender_info_legal' - $ref: '#/components/schemas/travel_rule_sender_is_self' discriminator: propertyName: type mapping: individual: '#/components/schemas/travel_rule_sender_info_natural' company: '#/components/schemas/travel_rule_sender_info_legal' self: '#/components/schemas/travel_rule_sender_is_self' remember_travel_rule: type: boolean description: 'When true, remembers the travel rule for this wallet address for 6 months, suppressing re-validation on future payins. ' default: false travel_rule_payment_link_information: description: Payment Link information related to the Travel Rule allOf: - $ref: '#/components/schemas/travel_rule' - type: object required: - sender properties: sender: writeOnly: true oneOf: - $ref: '#/components/schemas/travel_rule_sender_info_natural_all_fields' - $ref: '#/components/schemas/travel_rule_sender_info_legal_all_fields' discriminator: propertyName: type mapping: individual: '#/components/schemas/travel_rule_sender_info_natural_all_fields' company: '#/components/schemas/travel_rule_sender_info_legal_all_fields' funds_management_base_operation: description: Base data for funds management. type: object required: - amount - source_partner_account_id - reference - operation allOf: - $ref: '#/components/schemas/manual_transfer_account_destination' properties: amount: $ref: '#/components/schemas/strictly_positive_amount' source_partner_account_id: $ref: '#/components/schemas/uuid' reference: $ref: '#/components/schemas/fiat_reference' scheme: type: string enum: - sepa_ct - sepa_inst operation: enum: - treasury-manage - segregate - unsegregate type: string funds_management_transfer_data: description: Data used to initiate a funds management transfer allOf: - $ref: '#/components/schemas/data_default' - type: object properties: type: type: string enum: - funds_management attributes: oneOf: - allOf: - $ref: '#/components/schemas/funds_management_base_operation' - type: object properties: operation: type: string enum: - treasury-manage - allOf: - $ref: '#/components/schemas/funds_management_base_operation' - type: object properties: partner: type: string operation: type: string enum: - segregate - unsegregate wallet_id: $ref: '#/components/schemas/uuid' funds_repatriation_transfer_data: description: Data used to initiate a funds repatriation transfer allOf: - $ref: '#/components/schemas/data_default' - type: object properties: type: type: string enum: - funds_repatriation attributes: type: object required: - amount - source_partner_account_id - reference - operation allOf: - $ref: '#/components/schemas/manual_transfer_counterparty_destination' properties: amount: $ref: '#/components/schemas/strictly_positive_amount' source_partner_account_id: $ref: '#/components/schemas/uuid' reference: $ref: '#/components/schemas/fiat_reference' operation: type: string enum: - lp-settlement - repatriate scheme: type: string enum: - sepa_ct - sepa_inst treasury_data: description: Data used to represent a treasury. allOf: - $ref: '#/components/schemas/data_default' - type: object properties: type: type: string enum: - treasury attributes: type: object required: - transaction_id properties: transaction_id: $ref: '#/components/schemas/uuid' other_transfer_data: description: Data used to initiate manual transfer that will be unreconciled allOf: - $ref: '#/components/schemas/data_default' - type: object properties: type: type: string enum: - manual_transfer attributes: type: object required: - amount - source_partner_account_id - reference - partner oneOf: - $ref: '#/components/schemas/manual_transfer_counterparty_destination' - $ref: '#/components/schemas/manual_transfer_account_destination' properties: amount: $ref: '#/components/schemas/strictly_positive_amount' source_partner_account_id: $ref: '#/components/schemas/uuid' reference: $ref: '#/components/schemas/fiat_reference' scheme: type: string enum: - sepa_ct - sepa_inst partner: $ref: '#/components/schemas/partner_name' manual_transfer_counterparty_destination: description: Counterparty destination for a manual transfer. oneOf: - type: object required: - destination_counterparty_id properties: destination_counterparty_id: $ref: '#/components/schemas/uuid' - type: object required: - destination_counterparty properties: destination_counterparty: $ref: '#/components/schemas/one_time_counterparty' manual_transfer_account_destination: description: Account destination for a manual transfer. type: object required: - destination_partner_account_id properties: destination_account_id: $ref: '#/components/schemas/uuid' one_time_counterparty: description: One-time counterparty data. allOf: - $ref: '#/components/schemas/address' - $ref: '#/components/schemas/wallet_details_common' - $ref: '#/components/schemas/account_identifiers' - type: object required: - name - street_address - city - country_code - account_number - account_number_type - bank_identifier - bank_identifier_type properties: name: type: string description: Name of the counterparty. minLength: 1 maxLength: 80 allOf: - $ref: '#/components/schemas/sanitized_string' example: John Doe bank_name: type: string example: CLEARBANK EUROPE N.V. bank_postal_address: type: string example: KEIZERSGRACHT 391 A, AMSTERDAM bank_country_code: $ref: '#/components/schemas/country_code' account_identifiers: description: 'Account + bank identifiers for a fiat beneficiary. This is the legacy create shape (unchanged from before the typed model: only account_number + account_number_type required, bank_country_code optional) and also the read shape for every fiat beneficiary. The account_number_type / bank_identifier_type enums are wide because GET returns this shape for typed-created (CPN corridor) rows too; on create, the corridor-specific narrowing lives in the typed corridor schemas at the gateway, and svc-beneficiary rejects corridor account types for assets whose corridor is not enabled. ' type: object required: - account_number - account_number_type properties: account_number: $ref: '#/components/schemas/account_number' bank_identifier: $ref: '#/components/schemas/bank_identifier' bank_country_code: $ref: '#/components/schemas/country_code' account_number_type: type: string description: Type of the account number. example: iban enum: - iban - account_number - routing_number - clabe - phone_number - email - evp_random - tax_id - fps_id bank_identifier_type: type: string description: Type of the bank identifier. example: bic enum: - bic - routing_number - bank_code bank_name: type: string description: 'Name of the beneficiary''s bank. Optional; passes through to the CPN BANK_NAME field. Required by some corridors at payout time.' example: BBVA México bank_account_type: type: string description: 'Bank-account routing type. Closed enum; CPN-side tokens vary by corridor (CO `corriente` / `ahorros`; AR `cuenta_corriente` / `caja_ahorros`; JP `touza` / `futsuu`) — the server translates at the payload boundary.' enum: - checking - savings company_address: required: - address_line_1 - city - country_code - zip_code type: object description: Informations of the address about the company. properties: address_line_1: type: string description: Address on the street. pattern: ^[a-zA-Z0-9À-ɏ\s+'()_&,.;/*#@°ºª:-]*$ maxLength: 70 address_line_2: type: string pattern: ^[a-zA-Z0-9À-ɏ\s+'()_&,.;/*#@°ºª:-]*$ description: Address on the street. maxLength: 50 city: allOf: - $ref: '#/components/schemas/sanitized_string' description: City maxLength: 35 zip_code: allOf: - $ref: '#/components/schemas/sanitized_string' description: Zipcode of city. maxLength: 10 country_code: allOf: - $ref: '#/components/schemas/country_code' description: Code of the country. minLength: 2 maxLength: 2 example: FR monitoring_customer_category: type: string description: Category of the customer for the monitoring. example: corporate enum: - corporate - financial_institution task_status: description: A task status. type: string enum: - todo - automated - done task_details: description: Task details. type: object required: - status properties: id: $ref: '#/components/schemas/uuid' status: $ref: '#/components/schemas/task_status' validated_by: $ref: '#/components/schemas/uuid' admin_task: description: Admin task data. allOf: - type: object oneOf: - $ref: '#/components/schemas/admin_task_conversion' - $ref: '#/components/schemas/admin_task_open_trade' - $ref: '#/components/schemas/admin_task_batch_conversion' - type: object required: - attributes properties: attributes: required: - sell_asset_code - buy_asset_code - sell_amount - buy_amount properties: sell_asset_code: readOnly: true allOf: - $ref: '#/components/schemas/asset' buy_asset_code: readOnly: true allOf: - $ref: '#/components/schemas/asset' sell_amount: readOnly: true allOf: - $ref: '#/components/schemas/strictly_positive_amount' buy_amount: readOnly: true allOf: - $ref: '#/components/schemas/strictly_positive_amount' admin_tasks_conversions: description: Conversion Tasks type: object properties: cca_1: $ref: '#/components/schemas/task_details' dca_1: $ref: '#/components/schemas/task_details' slp_1: $ref: '#/components/schemas/task_details' slp_2: $ref: '#/components/schemas/task_details' slp_3: $ref: '#/components/schemas/task_details' lp2lp_1: $ref: '#/components/schemas/task_details' lp2lp_2: $ref: '#/components/schemas/task_details' wlp_1: $ref: '#/components/schemas/task_details' wlp_2: $ref: '#/components/schemas/task_details' wlp_3: $ref: '#/components/schemas/task_details' admin_task_conversion: description: Conversion Task type: object required: - type - attributes properties: type: type: string enum: - conversion_task attributes: required: - tasks - transaction_id - company_name properties: tasks: $ref: '#/components/schemas/admin_tasks_conversions' transaction_id: readOnly: true description: The conversion ID allOf: - $ref: '#/components/schemas/uuid' company_name: readOnly: true type: string admin_task_batch_conversion: description: Conversion Task type: object required: - type - attributes properties: type: type: string enum: - batch_conversion_task attributes: required: - tasks - batch_id - company_name properties: tasks: $ref: '#/components/schemas/admin_tasks_conversions' batch_id: readOnly: true description: The batch ID allOf: - $ref: '#/components/schemas/uuid' company_name: readOnly: true type: string admin_task_open_trade: description: Open Trade Task type: object required: - type - attributes properties: type: type: string enum: - open_trade_task attributes: required: - tasks - open_trade_id - company_name properties: tasks: type: object properties: cca_1: $ref: '#/components/schemas/task_details' dca_1: $ref: '#/components/schemas/task_details' slp_1: $ref: '#/components/schemas/task_details' lp2lp_1: $ref: '#/components/schemas/task_details' wlp_1: $ref: '#/components/schemas/task_details' lot_1: $ref: '#/components/schemas/task_details' cot_1: $ref: '#/components/schemas/task_details' clp_1: $ref: '#/components/schemas/task_details' dlp_1: $ref: '#/components/schemas/task_details' open_trade_id: readOnly: true description: The open trade ID allOf: - $ref: '#/components/schemas/uuid' company_name: readOnly: true type: string partner_account_data: type: object description: Partner account data. required: - iban - bic - name - street_name - country - balance properties: iban: allOf: - $ref: '#/components/schemas/sanitized_string' maxLength: 100 bic: allOf: - $ref: '#/components/schemas/sanitized_string' maxLength: 100 name: type: string street_name: type: string country: $ref: '#/components/schemas/country_code' balance: $ref: '#/components/schemas/amount' partner_balance: $ref: '#/components/schemas/amount' partner_deposit_account_id: type: string description: ID of the partner account fi_batch_payments: description: Parsed batch payments for customers. type: object required: - data properties: data: type: array items: $ref: '#/components/schemas/fi_batch_payment' errors: readOnly: true type: array items: $ref: '#/components/schemas/json_error' batch_payouts: description: Parsed batch payout with errors and warnings. type: object required: - data properties: data: type: array items: oneOf: - $ref: '#/components/schemas/batch_payout_digital' - $ref: '#/components/schemas/batch_payout_fiat' discriminator: propertyName: type mapping: batch_payout_digital: '#/components/schemas/batch_payout_digital' batch_payout_fiat: '#/components/schemas/batch_payout_fiat' errors: readOnly: true type: array items: $ref: '#/components/schemas/json_error' batch_payout_common: description: Shared attributes between the different batch payout schemas. type: object required: - attributes properties: attributes: type: object required: - amount properties: amount: anyOf: - type: string readOnly: true - $ref: '#/components/schemas/strictly_positive_amount' source_wallet_details: type: object properties: wallet_id: $ref: '#/components/schemas/uuid' wallet_name: readOnly: true type: string asset_code: readOnly: true allOf: - $ref: '#/components/schemas/asset' available_balance: allOf: - readOnly: true - $ref: '#/components/schemas/positive_amount' warnings: readOnly: true description: list of non-blocking errors for the current payout. type: array items: $ref: '#/components/schemas/json_error' fi_batch_payment: description: Customer batch payment. type: object required: - attributes - type properties: type: type: string enum: - fi_batch_payment_digital attributes: type: object required: - beneficiary - source_wallet_details properties: amount: anyOf: - type: string readOnly: true - $ref: '#/components/schemas/strictly_positive_amount' reference: type: string beneficiary: $ref: '#/components/schemas/fi_batch_payment_beneficiary_digital' source_wallet_details: type: object properties: wallet_id: $ref: '#/components/schemas/uuid' wallet_name: readOnly: true type: string asset_code: readOnly: true allOf: - $ref: '#/components/schemas/asset' available_balance: readOnly: true allOf: - $ref: '#/components/schemas/positive_amount' warnings: readOnly: true description: list of non-blocking errors for the current payout. type: array items: $ref: '#/components/schemas/json_error' batch_payout_digital: description: Digital batch payout. allOf: - $ref: '#/components/schemas/batch_payout_common' - type: object required: - attributes properties: attributes: type: object required: - beneficiary - source_wallet_details properties: reference: type: string beneficiary: $ref: '#/components/schemas/batch_payout_beneficiary_digital' source_wallet_details: type: object required: - wallet_id properties: wallet_id: $ref: '#/components/schemas/uuid' batch_payout_fiat: description: representation of fiat payout attributes in batch payout. allOf: - $ref: '#/components/schemas/batch_payout_common' - type: object required: - attributes properties: attributes: type: object required: - beneficiary - source_wallet_details properties: batch_verification_id: description: ID of the asynchronous verification batch running for VoP (Verification of Payee). allOf: - $ref: '#/components/schemas/uuid' beneficiary_verification_id: description: ID of the verification made on the beneficiary for VoP (Verification of Payee). allOf: - $ref: '#/components/schemas/uuid' reference: $ref: '#/components/schemas/fiat_reference' beneficiary: $ref: '#/components/schemas/batch_payout_beneficiary_fiat' source_wallet_details: type: object required: - iban - bic properties: iban: type: string bic: type: string external_payment_id: type: string readOnly: true execution_date: type: string readOnly: true format: date example: '2019-05-17' customer_batch_payout_beneficiary_common: description: Shared attributes between the different beneficiary schemas. type: object required: - company_id - description properties: description: type: string company_id: $ref: '#/components/schemas/uuid' beneficiary_id: readOnly: true allOf: - $ref: '#/components/schemas/uuid' beneficiary_info: $ref: '#/components/schemas/beneficiary_is_self' wallet_details: type: object required: - asset_code properties: asset_code: $ref: '#/components/schemas/asset' batch_payout_beneficiary_common: description: Shared attributes between the different beneficiary schemas. type: object required: - company_id - description properties: description: $ref: '#/components/schemas/sanitized_string_with_dot' company_id: readOnly: true allOf: - $ref: '#/components/schemas/uuid' beneficiary_id: readOnly: true allOf: - $ref: '#/components/schemas/uuid' beneficiary_info: oneOf: - $ref: '#/components/schemas/batch_payout_beneficiary_info_natural' - $ref: '#/components/schemas/batch_payout_beneficiary_info_legal' - $ref: '#/components/schemas/beneficiary_is_self' - $ref: '#/components/schemas/batch_payout_beneficiary_invalid' discriminator: propertyName: type mapping: individual: '#/components/schemas/batch_payout_beneficiary_info_natural' company: '#/components/schemas/batch_payout_beneficiary_info_legal' self: '#/components/schemas/beneficiary_is_self' invalid: '#/components/schemas/batch_payout_beneficiary_invalid' wallet_details: type: object required: - asset_code properties: asset_code: $ref: '#/components/schemas/asset' fi_batch_payment_beneficiary_digital: description: representation of digital payout attributes in batch payout. allOf: - $ref: '#/components/schemas/customer_batch_payout_beneficiary_common' - type: object required: - wallet_details - travel_rule properties: wallet_details: type: object required: - address properties: address: $ref: '#/components/schemas/wallet_address' tag: type: string travel_rule: anyOf: - $ref: '#/components/schemas/beneficiary_travel_rule' - type: object properties: vasp_name: readOnly: true type: string vasp_website: readOnly: true type: string vasp_did: readOnly: true type: string is_self_hosted: readOnly: true type: boolean batch_payout_beneficiary_digital: description: representation of digital payout attributes in batch payout. allOf: - $ref: '#/components/schemas/batch_payout_beneficiary_common' - type: object required: - wallet_details properties: wallet_details: type: object required: - address properties: address: $ref: '#/components/schemas/wallet_address' tag: type: string travel_rule: anyOf: - $ref: '#/components/schemas/beneficiary_travel_rule' - type: object properties: vasp_name: readOnly: true type: string vasp_website: readOnly: true type: string vasp_did: readOnly: true type: string is_self_hosted: readOnly: true type: boolean batch_payout_beneficiary_fiat: description: representation of fiat payout attributes in batch payout. allOf: - $ref: '#/components/schemas/batch_payout_beneficiary_common' - type: object required: - wallet_details properties: wallet_details: $ref: '#/components/schemas/account_identifiers' batch_payout_beneficiary_info_legal: description: Information about a beneficiary company of a batch payment payout. anyOf: - $ref: '#/components/schemas/travel_rule_sender_info_legal' - type: object readOnly: true description: Data about Travel Rule's sender of type Natural. properties: type: type: string enum: - company name: type: string maxLength: 70 address: $ref: '#/components/schemas/address' batch_payout_beneficiary_info_natural: description: Information about a beneficiary individual of a batch payment payout. anyOf: - $ref: '#/components/schemas/travel_rule_sender_info_natural' - type: object readOnly: true description: Data about Travel Rule's sender of type Natural. properties: type: type: string enum: - individual first_name: type: string description: First name of the sender. example: Victor maxLength: 30 last_name: type: string description: Last name of the sender. example: Duponthieu maxLength: 30 address: $ref: '#/components/schemas/address' batch_payout_beneficiary_invalid: description: Placeholder beneficiary returned when the beneficiary of a batch payment payout is invalid. type: object readOnly: true properties: type: type: string enum: - invalid account_number: description: The account number of the beneficiary who will receive the funds. This is the unique identifier for the recipient's bank account. type: string example: FR1420041010050500013M02606 bank_identifier: description: The bank's identification code, which can be either a BIC (Bank Identifier Code) for international transfers or a routing number for domestic transfers. This identifies the financial institution where the beneficiary's account is held. type: string example: BPPCFRTT vop_code: type: string enum: - MTCH - NMTC - CMTC - NOAP - NOAV description: "Code identifying the result of the verification, as defined in the VOP specification:\n - MTCH: \"Match\"\ \ (the beneficiary name being matches what is registered at the bank for that IBAN)\n - NMTC: \"No match\"\n - CMTC:\ \ \"Close match\"\n - NOAP: \"Not applicable\" (verification by the VOP network is not possible or applicable)\n\ A fifth custom code, NOAV (\"Not available\") indicates that Fipto could not connect to the VOP network to make the\ \ check.\n" vop_close_match: type: string description: 'If the code is "CMTC" (close match), this field contains the string that was returned as the name of the beneficiary by its bank, which differs from the name of the beneficiary as registered in our system. ' fi_customer_status: description: Status of a financial institution customer's company. type: string enum: - inactive - active - pending - suspended sort_fi_customer_list: description: Possible sort for the list wallet. allOf: - $ref: '#/components/schemas/sort' enum: - created_at - updated_at - status client_onboarding_onboarding_raw_data: description: KYC reliance onboarding request payload. allOf: - $ref: '#/components/schemas/data_default' - type: object properties: type: type: string default: client_onboarding_onboarding attributes: type: object required: - company_type - legal_name - trading_name - legal_registration_number - country_of_incorporation - incorporation_date - legal_type_form - risk_score - website - activity - activity_risk - account_opening_main_reason - address - declared_annual_revenue - is_licensed_regulated - company_tax_id - company_tax_residency - declared_planned_yearly_volume - estimated_annual_transactions - purpose_of_relationship - legal_representatives - ubos properties: company_type: description: Type of the client entity. type: string enum: - financial_institution - corporate example: corporate legal_name: description: Legal name of the client entity. type: string minLength: 1 maxLength: 255 example: Acme Holdings Ltd trading_name: description: Trading name of the client entity. type: string maxLength: 255 example: Acme Pay legal_registration_number: description: Legal registration number of the entity. type: string maxLength: 100 example: '12345678' country_of_incorporation: allOf: - $ref: '#/components/schemas/country_code' - description: Country where the entity is incorporated. incorporation_date: description: Date of incorporation (ISO date). type: string format: date example: '2018-06-15' legal_type_form: description: Legal form of the entity. type: string example: Limited Company risk_score: description: Risk score assessment provided by the submitting client. type: object required: - score - level properties: score: description: Numeric risk score. type: number example: 35 level: description: Risk level classification. type: string enum: - low - medium - high example: low website: description: Company website URL. type: string format: uri example: https://acmepay.example.com activity: description: Main business activity. type: string example: Online payment processing services activity_risk: description: Risk level associated with the activity. type: string enum: - low - medium - high - prohibited example: low license_type: description: Type of license held by the entity. type: string example: Payment Institution account_opening_main_reason: description: Declared main reason for opening the account. type: string example: Settlement of merchant payouts in EUR and GBP address: description: Registered address of the entity. type: object required: - street - city - country - postal_code properties: street: description: Street address. type: string example: 10 Finsbury Square city: description: City name. type: string example: London country: $ref: '#/components/schemas/country_code' postal_code: description: Postal code. type: string example: EC2A 1AF declared_annual_revenue: allOf: - $ref: '#/components/schemas/amount' - description: Declared annual revenue. is_licensed_regulated: description: Whether the entity is licensed or regulated. type: boolean example: true company_tax_id: description: Company tax identification number. type: string example: GB123456789 company_tax_residency: allOf: - $ref: '#/components/schemas/country_code' - description: Country tax residency country. declared_planned_yearly_volume: description: Declared planned yearly transaction volume as an amount string. allOf: - $ref: '#/components/schemas/amount' - description: Declared planned yearly transaction volume. estimated_annual_transactions: description: Estimated annual number of transactions. type: integer minimum: 0 example: 24000 purpose_of_relationship: description: Purpose of the business relationship. type: string example: Receiving and sending payments on behalf of merchants legal_representatives: description: Legal representatives (minimum 1 entry required). type: array minItems: 1 items: type: object required: - full_name - birth_date - birth_country - nationality - address - email - phone_number - sex - use_of_nominee_directors properties: full_name: description: Full name of the legal representative. type: string example: Jane Doe birth_date: description: Date of birth (ISO date). type: string format: date example: '1985-03-22' birth_country: $ref: '#/components/schemas/country_code' nationality: $ref: '#/components/schemas/country_code' address: description: Residential address of the legal representative. type: object required: - street - city - country - postal_code properties: street: description: Street address. type: string example: 42 Baker Street city: description: City name. type: string example: London country: $ref: '#/components/schemas/country_code' postal_code: description: Postal code. type: string example: W1U 3BW email: description: Email address. type: string format: email example: jane.doe@acmepay.example.com phone_number: description: Phone number in E.164 format. type: string example: '+447700900123' sex: description: Sex of the legal representative. type: string enum: - M - F - X example: F use_of_nominee_directors: description: Whether nominee directors are used. type: boolean example: false ubos: description: Ultimate Beneficial Owners (minimum 1 entry required). type: array minItems: 1 items: type: object required: - full_name - birth_date - birth_country - nationality - ownership_percentage - address - sex - use_of_nominee_shareholders - tax_id - tax_residency_country - reason_of_ubo properties: full_name: description: Full name of the UBO. type: string example: John Smith birth_date: description: Date of birth (ISO date). type: string format: date example: '1978-11-05' birth_country: $ref: '#/components/schemas/country_code' nationality: $ref: '#/components/schemas/country_code' ownership_percentage: description: Percentage of ownership (0-100). type: number minimum: 0 maximum: 100 example: 60 address: description: Residential address of the UBO. type: object required: - street - city - country - postal_code properties: street: description: Street address. type: string example: 15 Elm Road city: description: City name. type: string example: Manchester country: $ref: '#/components/schemas/country_code' postal_code: description: Postal code. type: string example: M1 2AB sex: description: Sex of the UBO. type: string enum: - M - F - X example: M use_of_nominee_shareholders: description: Whether nominee shareholders are used. type: boolean example: false tax_id: description: Tax identification number. type: string example: AB123456C tax_residency_country: allOf: - $ref: '#/components/schemas/country_code' - description: Country of the tax residence. reason_of_ubo: description: Reason for UBO status. type: string example: Majority shareholder client_onboarding_onboarding_data: description: KYC reliance onboarding information with id and server-side fields. type: object required: - id - attributes properties: id: $ref: '#/components/schemas/uuid' attributes: required: - status - created_at - updated_at - company_id properties: status: $ref: '#/components/schemas/client_onboarding_status' company_id: description: Company ID of the submitting parent company. allOf: - $ref: '#/components/schemas/uuid' onboarded_company_id: description: Company ID assigned by Fipto upon approval. Only present when status is approved. allOf: - $ref: '#/components/schemas/uuid' rejection_reason: description: Reason for rejection. Only present when status is rejected. type: string example: Incomplete UBO documentation created_at: description: Timestamp when the onboarding was created. type: string format: date-time example: '2025-01-15T10:30:00Z' updated_at: description: Timestamp when the onboarding was last updated. type: string format: date-time example: '2025-01-16T14:20:00Z' client_onboarding_status: description: Status of a KYC reliance onboarding. type: string enum: - submitted - approved - rejected example: submitted client_onboarding_review_data: description: Review decision for a client onboarding (approve or reject). allOf: - $ref: '#/components/schemas/data_default' - type: object properties: type: default: client_onboarding_review attributes: oneOf: - title: Approve type: object required: - decision properties: decision: type: string enum: - approved - title: Reject type: object required: - decision - rejection_reason properties: decision: type: string enum: - rejected rejection_reason: description: Mandatory reason when rejecting an onboarding. type: string example: Incomplete UBO documentation sort_client_onboarding_list: description: Possible sort options for KYC reliance onboarding list. allOf: - $ref: '#/components/schemas/sort' enum: - created_at - updated_at - status authorization_group_data: description: Authorization group information. type: object required: - type - attributes properties: type: type: string enum: - authorization_group id: readOnly: true description: Unique identifier of the authorization group. example: 9de0691c-bc8d-409b-8f40-75d4f45db2f3 allOf: - $ref: '#/components/schemas/uuid' attributes: type: object required: - name - description - member_count - rule_count properties: name: description: Name of the authorization group. example: Admins allOf: - $ref: '#/components/schemas/sanitized_name' description: description: Description of the authorization group. type: string example: Admin team with full access member_count: readOnly: true description: Number of members in this group. type: integer example: 5 active_member_count: readOnly: true description: Number of active members in this group. type: integer example: 3 rule_count: readOnly: true description: Number of authorization rules referencing this group. type: integer example: 2 group_membership_data: description: Group membership information. type: object required: - type - id - attributes properties: type: type: string enum: - group_membership id: readOnly: true description: Unique identifier of the membership. example: 9de0691c-bc8d-409b-8f40-75d4f45db2f3 allOf: - $ref: '#/components/schemas/uuid' attributes: type: object required: - user_id - name properties: user_id: description: The ID of the user in this group. example: 123e4567-e89b-12d3-a456-426614174000 allOf: - $ref: '#/components/schemas/uuid' name: description: The name of the user. type: string example: Alice authorization_rule_data: description: Authorization rule information. type: object required: - type - attributes properties: type: type: string enum: - authorization_rule id: readOnly: true description: Unique identifier of the authorization rule. example: 9de0691c-bc8d-409b-8f40-75d4f45db2f3 allOf: - $ref: '#/components/schemas/uuid' attributes: type: object required: - name - action_type - initiator_group_id - approver_group_id properties: name: description: Human-readable name of the authorization rule. type: string minLength: 1 example: Initiate Payout - Requires Approval description: description: Detailed description of when this rule applies. type: string example: Payment Initiators can create payouts but need approval from Payment Approvers. action_type: description: The type of action this rule applies to. type: string enum: - initiate_single_payout - initiate_batch_payout - create_beneficiary - create_user - update_user example: initiate_single_payout initiator_group_id: description: The ID of the group that initiates the action. example: 123e4567-e89b-12d3-a456-426614174000 allOf: - $ref: '#/components/schemas/uuid' approver_group_id: description: The ID of the group that approves the action. example: 123e4567-e89b-12d3-a456-426614174000 allOf: - $ref: '#/components/schemas/uuid' updated_at: readOnly: true description: Timestamp of the last modification to this rule. type: string format: date-time example: '2026-05-11T14:30:00Z' action_summary_data: description: Authorization action summary (used in list responses). type: object required: - type - attributes properties: type: type: string enum: - action id: readOnly: true description: Unique identifier of the action. example: 9de0691c-bc8d-409b-8f40-75d4f45db2f3 allOf: - $ref: '#/components/schemas/uuid' attributes: type: object properties: action_type: readOnly: true description: The type of action. type: string enum: - initiate_payout - create_beneficiary - create_user - update_user example: initiate_payout object_id: readOnly: true description: The ID of the object this action relates to. example: 123e4567-e89b-12d3-a456-426614174000 allOf: - $ref: '#/components/schemas/uuid' initiated_by: readOnly: true description: The ID of the user who initiated the action. example: 123e4567-e89b-12d3-a456-426614174000 allOf: - $ref: '#/components/schemas/uuid' status: readOnly: true description: Current status of the action. type: string enum: - pending - approved - rejected example: pending action_detail_data: description: Authorization action with full details (used in get responses). type: object required: - type - attributes properties: type: type: string enum: - action id: readOnly: true description: Unique identifier of the action. example: 9de0691c-bc8d-409b-8f40-75d4f45db2f3 allOf: - $ref: '#/components/schemas/uuid' attributes: type: object properties: action_type: readOnly: true description: The type of action. type: string enum: - initiate_payout - create_beneficiary - create_user - update_user example: initiate_payout object_id: readOnly: true description: The ID of the object this action relates to. example: 123e4567-e89b-12d3-a456-426614174000 allOf: - $ref: '#/components/schemas/uuid' initiated_by: readOnly: true description: The ID of the user who initiated the action. example: 123e4567-e89b-12d3-a456-426614174000 allOf: - $ref: '#/components/schemas/uuid' status: readOnly: true description: Current status of the action. type: string enum: - pending - approved - rejected example: pending payload: readOnly: true description: The original request payload associated with the action. type: object example: {} rules_snapshot: readOnly: true description: Snapshot of the authorization rules at the time the action was created. type: array items: type: object example: [] approvals: readOnly: true description: List of approvals and rejections for this action. type: array items: $ref: '#/components/schemas/action_approval_data' action_approval_data: description: An approval or rejection record for an authorization action. type: object properties: id: description: Unique identifier of the approval record. example: 9de0691c-bc8d-409b-8f40-75d4f45db2f3 allOf: - $ref: '#/components/schemas/uuid' authorization_rule_id: description: The ID of the authorization rule this approval satisfies. example: 123e4567-e89b-12d3-a456-426614174000 allOf: - $ref: '#/components/schemas/uuid' approved_by: description: The ID of the user who approved or rejected. example: 123e4567-e89b-12d3-a456-426614174000 allOf: - $ref: '#/components/schemas/uuid' type: description: Whether this is an approval or rejection. type: string enum: - approval - rejection example: approval x-topics: - title: Authentication content: "# Getting Started\n\nBefore using the API you need to generate a private/public key pair using:\n\n openssl\ \ genrsa -out private-key.rsa 2048\n openssl pkcs8 -topk8 -inform PEM -outform PEM -nocrypt -in private-key.rsa -out\ \ private-key.pem\n openssl rsa -in private-key.rsa -pubout -out public-key.pem\n\nAfter sending us the public key\ \ by email, you will receive an api key, referred below as `keyId`.\n\n## HTTP request signing\n\nAll authenticated requests\ \ must include the following headers:\n\n- `Host`: target host of the request, e.g. \"api.fipto.app\"\n- `Date`: time\ \ of creation of the request, in RFC1123 format\n- `Signature`: signature of the request (see below)\n\nIn addition, requests\ \ with a body (POST, PUT, PATCH) must include:\n\n- `Content-Type`: MIME type of the body, e.g. \"application/json\"\n\ - `Digest`: base64-encoded SHA-256 hash of the body, in the format SHA-256=\n\n`Date` values are expected to be\ \ earlier than the present time, but not\nearlier than 1 minute.\n\n`Digest` values must obviously match to the actual\ \ hashes of their request\nbodies. The way of getting the digest is language-dependent but a basic\nUNIX approach would\ \ be\n\n echo -n $BODY | openssl dgst -sha256 -binary | openssl enc -base64 -A\n\nwhere $BODY contains the string representation\ \ of the request body.\n\n### Signature header\n\nRequests are signed and verified using the [HTTP signatures protocol](https://datatracker.ietf.org/doc/html/draft-cavage-http-signatures-12).\n\ Libraries exist in different languages for building signed requests using that\nprotocol. We focus here on our specific\ \ requirements.\n\nWe expect the authentication data to be present in a `Signature` header.\n\nThe \"signing string\"\ \ itself should contain all the headers mentioned in the previous section,\nas well as the `(request-target)` pseudo-header\ \ (see [section 2.3](https://datatracker.ietf.org/doc/html/draft-cavage-http-signatures-12#section-2.3)).\n\nFor example,\ \ the signing string of a POST request would look like:\n\n (request-target): post /companies/c240e5bf-863e-4f44-91aa-cc74a8b3303f/wallets\n\ \ host: api.demo.fipto.tech\n date: Fri, 24 Jan 2025 08:56:30 GMT\n content-type: application/json\n digest:\ \ SHA-256=X48E9qOokqqrvdts8nOJRJN3OWDUoyWxBf7kbu9DBPE=\n\nThat string must then be signed using the RSA-256 algorithm,\ \ encoded in base64 and\nincluded in the `signature` field of the header.\n\nThe following constraints apply to other\ \ fields:\n\n- the `keyId` field must contain the UUID of your API user\n- the `headers` field must contain `(request-target)`\ \ as well as all the headers mentioned above\n- the `algorithm` field must be \"hs2019\" (or its synonym \"rsa-sha256\"\ )\n\nThe final header of a POST request should look like:\n\n Signature: keyId=\"\",algorithm=\"\ hs2019\",headers=\"(request-target) host date content-type digest\",signature=\"\"\n"