Skip to content

Weavr Multi Product API (v3)

Weavr Multi API provides a simple and flexible way to issue cards and accounts to your customers.

By integrating Weavr Multi API in your application you can embed banking capabilities within your app and provide a seamless experience for your customers.

Authentication

Each request to the Multi API must include an api-key that represents your account. You can obtain an API Key by registering for a Multi account here.

Almost all endpoints require a secondary authentication token auth_token that represents the user for whom the request is being executed.

Download OpenAPI description
Overview
Languages
Servers
Weavr Sandbox Environment
https://sandbox.weavr.io/multi
Mock server
https://api.weavr.io/_mock/products/multi/openapi

Access

Manage authentication for your users.

Operations

Passwords

Manage your users' passwords.

Operations

Authentication Factors

Operations

Step-up Challenges

Operations

Confirmation Challenges

Operations

Corporates

Corporates are identities representing companies. Once on-boarded, Corporates can create and manage their own instruments via your application.

Operations

Consumers

Consumers are identities representing individuals. Once on-boarded, Consumers can create and manage their own instruments via your application.

Operations

Authorised Users

Corporate and Consumer identities can invite authorised users to access their account. Once on-boarded, authorised users can create and manage instruments and transactions on behalf of the identity they are on-boarded with.

In case of Corporate Identities, authorised users are typically employees who have access to company's banking products such as cards and bank accounts.

In case of Consumer Identities, authorised users are typically children/teens whose parents want them to have access to banking products such as cards and bank accounts.

Note that the /users GET endpoints return all users including root users. However, modification operations (create, update, activate, deactivate) on /users endpoints only apply to authorised users. To modify root user details, use the respective /consumers or /corporates endpoints.

Operations

Beneficiaries

Operations

Managed Accounts

Managed Accounts are a type of financial instrument offered by Weavr.

They hold funds for their owner, and can be upgraded to IBANs so as to receive and send funds to instruments outside of the Weavr Platform, via Wire Transfers.

Managed accounts can also be used as source and destination instruments in the transfer and send transactions.

Operations

Managed Cards

Managed Cards are a type of financial instrument offered by Weavr.

You can create virtual or physical cards that are issued to the consumer or corporate identity.

A card created in prepaid mode has its own balance, whereas a card created in debit mode does not have its own balance but taps into the balance of its parent managed account.

Operations

Linked Accounts

Linked Accounts are external bank accounts that users connect to their profiles within the Weavr Platform.

These accounts allow users to link their existing bank accounts, held at external financial institutions, to the Weavr Platform, enabling secure and efficient transfer of funds between their own accounts.

Linked Accounts are designed to streamline the process of moving money between a user’s various bank accounts, providing a convenient and integrated way to manage personal finances across different financial institutions.

Operations

Transfers

The Transfer transaction is used to transfer funds between managed accounts and managed cards belonging to same identity.

Operations

Sends

The Send transaction is used to send funds between managed accounts and managed cards belonging to different identities.

Operations

Incoming Wire Transfers

Webhooks

Outgoing Wire Transfers

The Outgoing Wire Transfer transaction is used to transfer funds from managed accounts to an external bank account.

Operations

Correspondent Bank Transfers

Correspondent bank transfers allow financial institutions to initiate wire transfers on behalf of originators (third parties). These transfers comply with travel rule requirements by capturing and transmitting originator information.

Operations

Create a correspondent bank transfer

Request

Creates an outgoing wire transfer on behalf of an originator (correspondent banking).

This endpoint is designed for correspondent banking use cases where a financial institution initiates a wire transfer on behalf of another party (the originator).

The Outgoing Wire Transfer Profile (configured in the Multi Portal) specified determines the behaviour and restrictions of the transaction (for example, fees).

Security
auth_token and api-key
Headers
idempotency-refstring

A unique call reference generated by the caller that, taking into consideration the payload as well as the operation itself, helps avoid duplicate operations. Idempotency reference uniqueness is maintained for at least 24 hours.

Bodyapplication/jsonrequired
profileIdstring(ProfileId)^[0-9]+$required

The profile Id which a specific identity, instrument or transaction type is linked to.

Profiles contain configuration and determine behavioral aspects of the newly created transaction, for example, fees that may apply.

You can have one or more profiles linked to your application, and these can be used to drive different behaviors according to your product's needs.

Profile Ids can be found in the Multi Portal, in the API Credentials page.

tagstring(Tag)<= 50 characters^[a-zA-Z0-9_-]+$

The tag field is a custom field that can be used to search and filter.

sourceInstrumentobjectrequired

The managed account from which funds will be collected.

sourceInstrument.​typestringrequired
Value"managed_accounts"
sourceInstrument.​idstring^[0-9]+$required
amountobject(CurrencyAmount)required

The amount to transfer.

amount.​currencystring(Currency)= 3 characters^[A-Z]*$required

The currency expressed in ISO-4217 code. Example: GBP, EUR, USD.

amount.​amountinteger(int64)required

The monetary amount, scaled to the lowest denomination of the currency.

Example, an amount of 1000 for a EUR currency is actually 1000 Euro cents or EUR 10.00.

originatorCorrespondentBankingIndividualOriginator (object) or CorrespondentBankingBusinessOriginator (object)required
One of:

An individual (natural person) originator of the transfer.

Travel Rule Requirements:

  • Mandatory: Full name and account number (via bankAccountDetails)
  • Mandatory: At least one supplementary information type (address + birth details, or address + official ID)
originator.​tagstring(Tag)<= 50 characters^[a-zA-Z0-9_-]+$

The tag field is a custom field that can be used to search and filter.

originator.​namestring<= 140 charactersrequired

Full name of the individual as documented on official ID.

originator.​addressstring<= 255 charactersrequired

Full residential address of the individual.

originator.​countrystring= 2 characters^[A-Z]{2}$required

ISO 3166-1 alpha-2 country code.

originator.​bankAccountDetailsobject(CorrespondentBankingBankAccountDetails)required

Account and financial institution details of the originator (travel rule mandatory).

originator.​bankAccountDetails.​accountstring[ 1 .. 34 ] characters^[a-zA-Z0-9]{1,34}$required

Can be either an account number or an International Bank Account Number (IBAN).

originator.​bankAccountDetails.​financialInstitutionstring[ 8 .. 11 ] characters^[a-zA-Z0-9]{8,11}$required

Bank Identifier Code (BIC) of the originator's financial institution.

originator.​supplementaryInformationCorrespondentBankingIndividualAddressAndIdInfo (object) or CorrespondentBankingIndividualAddressAndBirthInfo (object)
One of:

Personal identification for an individual originator.

beneficiaryCorrespondentBankingSEPABeneficiary (object) or CorrespondentBankingRIXBeneficiary (object) or CorrespondentBankingFasterPaymentsBeneficiary (object)required
One of:

CBT-specific beneficiary details for SEPA/IBAN wire transfers with Banking Circle FI-to-FI field limits.

beneficiary.​namestring[ 1 .. 35 ] charactersrequired

The beneficiary's full name. >= 1 character and <= 35 characters. An extended character set is accepted to cater for all European languages. If SEPA does not support a particular character, it is automatically converted to an acceptable alternative, in line with SEPA scheme guidance.

beneficiary.​ibanstring[ 15 .. 34 ] characters^[A-Z]{2}[0-9]{2}[A-Z0-9]{11,30}$required

International Bank Account Number, required for wire transfer over SEPA.

beneficiary.​bankIdentifierCodestring[ 8 .. 11 ] characters^[a-zA-Z0-9]{4}[a-zA-Z]{2}[a-zA-Z0-9]{2}[a-zA...

BIC (Bank Identifier Code) for wire transfer over SEPA.

beneficiary.​addressstring[ 1 .. 105 ] charactersrequired

The beneficiary's address. Required for correspondent banking transfers. Maximum 105 characters (split into 3x35-char lines by the provider).

beneficiary.​bankNamestring<= 150 characters

The beneficiary's bank name.

beneficiary.​bankAddressstring[ 1 .. 150 ] characters

The beneficiary's bank address.

beneficiary.​bankCountrystring= 2 characters^[A-Z]{2}$

The beneficiary's bank country in ISO 3166 alpha-2 format.

beneficiary.​nationalitystring(Nationality)= 2 characters^[A-Z]+$

Nationality of the user - using ISO 3166 alpha-2.

beneficiary.​dateOfBirthstring(date)(DateOfBirth)

The date of birth in ISO 8601 format (YYYY-MM-DD).

purposestring<= 255 charactersrequired

The purpose of the payment.

descriptionstring<= 35 characters

These details are passed to the beneficiary as the reference. This field is mandatory for wire transfers executed over SEPA. The allowed length is dependent on the payment type:

SEPA <= 35 characters. An extended character set is accepted to cater for all European languages. If SEPA does not support a particular character, it is automatically converted to an acceptable alternative, in line with SEPA scheme guidance.

Faster Payments <= 18 characters

externalDataArray of objects(CorrespondentBankingExternalData)

Additional external data as key-value pairs.

scheduledTimestampstring(ScheduledTimestamp)^[0-9]+$

The epoch timestamp at which the transaction is scheduled to be executed.

curl -i -X POST \
  https://sandbox.weavr.io/multi/correspondent_bank_transfers \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>' \
  -H 'Content-Type: application/json' \
  -H 'api-key: YOUR_API_KEY_HERE' \
  -H 'idempotency-ref: string' \
  -d '{
    "profileId": "string",
    "tag": "string",
    "sourceInstrument": {
      "type": "managed_accounts",
      "id": "string"
    },
    "amount": {
      "currency": "str",
      "amount": 0
    },
    "originator": {
      "tag": "string",
      "name": "string",
      "address": "string",
      "country": "st",
      "bankAccountDetails": {
        "account": "string",
        "financialInstitution": "stringst"
      },
      "supplementaryInformation": {
        "documentType": "NATIONAL_ID",
        "documentNumber": "string"
      }
    },
    "beneficiary": {
      "name": "string",
      "iban": "stringstringstr",
      "bankIdentifierCode": "stringst",
      "address": "string",
      "bankName": "string",
      "bankAddress": "string",
      "bankCountry": "st",
      "nationality": "st",
      "dateOfBirth": "2019-08-24"
    },
    "purpose": "string",
    "description": "string",
    "externalData": [
      {
        "name": "string",
        "value": "string"
      }
    ],
    "scheduledTimestamp": "string"
  }'

Responses

Success

Headers
request-refstringrequired

A request identifier. Providing this reference when contacting our support team will help us investigate your query.

Bodyapplication/json
idstring^[0-9]+$required

The unique identifier of the Correspondent Banking OWT.

profileIdstring(ProfileId)^[0-9]+$required

The profile Id which a specific identity, instrument or transaction type is linked to.

Profiles contain configuration and determine behavioral aspects of the newly created transaction, for example, fees that may apply.

You can have one or more profiles linked to your application, and these can be used to drive different behaviors according to your product's needs.

Profile Ids can be found in the Multi Portal, in the API Credentials page.

tagstring(Tag)<= 50 characters^[a-zA-Z0-9_-]+$

The tag field is a custom field that can be used to search and filter.

sourceInstrumentobjectrequired

The source managed account from where the funds were taken.

sourceInstrument.​typestringrequired
Value"managed_accounts"
sourceInstrument.​idstring^[0-9]+$required
amountobject(CurrencyAmount)required

The amount transferred.

amount.​currencystring(Currency)= 3 characters^[A-Z]*$required

The currency expressed in ISO-4217 code. Example: GBP, EUR, USD.

amount.​amountinteger(int64)required

The monetary amount, scaled to the lowest denomination of the currency.

Example, an amount of 1000 for a EUR currency is actually 1000 Euro cents or EUR 10.00.

originatorCorrespondentBankingIndividualOriginator (object) or CorrespondentBankingBusinessOriginator (object)required
One of:

An individual (natural person) originator of the transfer.

Travel Rule Requirements:

  • Mandatory: Full name and account number (via bankAccountDetails)
  • Mandatory: At least one supplementary information type (address + birth details, or address + official ID)
originator.​tagstring(Tag)<= 50 characters^[a-zA-Z0-9_-]+$

The tag field is a custom field that can be used to search and filter.

originator.​namestring<= 140 charactersrequired

Full name of the individual as documented on official ID.

originator.​addressstring<= 255 charactersrequired

Full residential address of the individual.

originator.​countrystring= 2 characters^[A-Z]{2}$required

ISO 3166-1 alpha-2 country code.

originator.​bankAccountDetailsobject(CorrespondentBankingBankAccountDetails)required

Account and financial institution details of the originator (travel rule mandatory).

originator.​bankAccountDetails.​accountstring[ 1 .. 34 ] characters^[a-zA-Z0-9]{1,34}$required

Can be either an account number or an International Bank Account Number (IBAN).

originator.​bankAccountDetails.​financialInstitutionstring[ 8 .. 11 ] characters^[a-zA-Z0-9]{8,11}$required

Bank Identifier Code (BIC) of the originator's financial institution.

originator.​supplementaryInformationCorrespondentBankingIndividualAddressAndIdInfo (object) or CorrespondentBankingIndividualAddressAndBirthInfo (object)
One of:

Personal identification for an individual originator.

beneficiaryCorrespondentBankingSEPABeneficiary (object) or CorrespondentBankingRIXBeneficiary (object) or CorrespondentBankingFasterPaymentsBeneficiary (object)required
One of:

CBT-specific beneficiary details for SEPA/IBAN wire transfers with Banking Circle FI-to-FI field limits.

beneficiary.​namestring[ 1 .. 35 ] charactersrequired

The beneficiary's full name. >= 1 character and <= 35 characters. An extended character set is accepted to cater for all European languages. If SEPA does not support a particular character, it is automatically converted to an acceptable alternative, in line with SEPA scheme guidance.

beneficiary.​ibanstring[ 15 .. 34 ] characters^[A-Z]{2}[0-9]{2}[A-Z0-9]{11,30}$required

International Bank Account Number, required for wire transfer over SEPA.

beneficiary.​bankIdentifierCodestring[ 8 .. 11 ] characters^[a-zA-Z0-9]{4}[a-zA-Z]{2}[a-zA-Z0-9]{2}[a-zA...

BIC (Bank Identifier Code) for wire transfer over SEPA.

beneficiary.​addressstring[ 1 .. 105 ] charactersrequired

The beneficiary's address. Required for correspondent banking transfers. Maximum 105 characters (split into 3x35-char lines by the provider).

beneficiary.​bankNamestring<= 150 characters

The beneficiary's bank name.

beneficiary.​bankAddressstring[ 1 .. 150 ] characters

The beneficiary's bank address.

beneficiary.​bankCountrystring= 2 characters^[A-Z]{2}$

The beneficiary's bank country in ISO 3166 alpha-2 format.

beneficiary.​nationalitystring(Nationality)= 2 characters^[A-Z]+$

Nationality of the user - using ISO 3166 alpha-2.

beneficiary.​dateOfBirthstring(date)(DateOfBirth)

The date of birth in ISO 8601 format (YYYY-MM-DD).

purposestring<= 255 charactersrequired

The purpose of the payment.

descriptionstring<= 35 characters

These details are passed to the beneficiary as the reference. This field is mandatory for wire transfers executed over SEPA. The allowed length is dependent on the payment type:

SEPA <= 35 characters. An extended character set is accepted to cater for all European languages. If SEPA does not support a particular character, it is automatically converted to an acceptable alternative, in line with SEPA scheme guidance.

Faster Payments <= 18 characters

externalDataArray of objects(CorrespondentBankingExternalData)

Additional external data as key-value pairs.

statestring(CorrespondentBankingOwtState)required

The state of the correspondent bank transfer transaction, as follows:

  • INVALID: The transfer has failed initial validation checks.
  • PENDING_CHALLENGE: The transfer requires the completion of a transaction confirmation challenge before it can be submitted.
  • SUBMITTED: The transfer has been submitted to the sending financial institution for processing.
  • REJECTED: The transfer that was submitted was rejected.
  • APPROVED: The transfer that was submitted has been approved and is being processed by the sending financial institution.
  • FAILED: There was an issue with the transfer, and the transaction has failed.
  • COMPLETED: The requested funds have been sent from the source instrument.
  • RETURNED: The transfer has been returned to the sender.
  • SCHEDULED: The transfer will be executed at the scheduled time.
  • CANCELLED: The scheduled transfer has been cancelled.
  • PENDING_CONFIRMATION: The transfer requires a manual confirmation by the user before proceeding.
Enum"INVALID""PENDING_CHALLENGE""SUBMITTED""REJECTED""APPROVED""FAILED""COMPLETED""RETURNED""SCHEDULED""CANCELLED"
creationTimestampinteger(int64)required

The time when the transaction was created, expressed in Epoch timestamp using millisecond precision.

scheduledTimestampstring(ScheduledTimestamp)^[0-9]+$

The epoch timestamp at which the transaction is scheduled to be executed.

cancellationReasonstring(TransactionCancellationReason)<= 50 characters^[ a-zA-Z0-9_-]+$

The reason the scheduled transaction was cancelled.

validationOutcomesArray of objects(CorrespondentBankingOwtValidationOutcome)
Response
application/json
{ "id": "string", "profileId": "string", "tag": "string", "sourceInstrument": { "type": "managed_accounts", "id": "string" }, "amount": { "currency": "str", "amount": 0 }, "originator": { "tag": "string", "name": "string", "address": "string", "country": "st", "bankAccountDetails": {}, "supplementaryInformation": {} }, "beneficiary": { "name": "string", "iban": "stringstringstr", "bankIdentifierCode": "stringst", "address": "string", "bankName": "string", "bankAddress": "string", "bankCountry": "st", "nationality": "st", "dateOfBirth": "2019-08-24" }, "purpose": "string", "description": "string", "externalData": [ {} ], "state": "INVALID", "creationTimestamp": 0, "scheduledTimestamp": "string", "cancellationReason": "string", "validationOutcomes": [ {} ] }

Get all correspondent bank transfer transactions

Request

Retrieves all correspondent bank transfer transactions.

Security
auth_token and api-key
Query
offsetinteger(int32)>= 0

The offset value for paging, indicating the initial item number to be returned from the data set satisfying the given criteria. Leave out to fetch the first page of results.

limitinteger(int32)[ 1 .. 100 ]

The limit of the results for paging, starting at the offset. Limit is always capped at 100.

profileIdstring(ProfileId)^[0-9]+$

Filter by the managed account/card profile. Leave out to fetch all managed accounts/card.

sourceInstrument.idstring(Id)^[0-9]+$

Filter by the source instrument id. Must be specified when source.type is provided.

sourceInstrument.typestring(SourceInstrumentType)

Filter by the source instrument type. Must be specified when source.id is provided.

Value"managed_accounts"
createdFrominteger(int64)

Filter for correspondent bank transfer transactions created after createdFrom timestamp, expressed in Epoch timestamp using millisecond precision.

createdTointeger(int64)

Filter for correspondent bank transfer transactions created before createdTo timestamp, expressed in Epoch timestamp using millisecond precision.

executedFrominteger(int64)

Filter for correspondent bank transfer transactions executed after executedFrom timestamp, expressed in Epoch timestamp using millisecond precision.

executedTointeger(int64)

Filter for correspondent bank transfer transactions executed before executedTo timestamp, expressed in Epoch timestamp using millisecond precision.

tagstring

Filter by the correspondent bank transfer tag. The exact tag must be provided, as wildcards are not supported.

stateArray of strings(CorrespondentBankingOwtState)

Filter by the state of the correspondent bank transfer transaction.

Items Enum"INVALID""PENDING_CHALLENGE""SUBMITTED""REJECTED""APPROVED""FAILED""COMPLETED""RETURNED""SCHEDULED""CANCELLED"
originator.namestring

Filter by the originator name. Partial matches are supported.

originator.typestring

Filter by the originator type.

Enum"INDIVIDUAL""BUSINESS"
originator.tagstring

Filter by the originator tag.

curl -i -X GET \
  'https://sandbox.weavr.io/multi/correspondent_bank_transfers?offset=0&limit=1&profileId=string&sourceInstrument.id=string&sourceInstrument.type=managed_accounts&createdFrom=0&createdTo=0&executedFrom=0&executedTo=0&tag=string&state=INVALID&originator.name=string&originator.type=INDIVIDUAL&originator.tag=string' \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>' \
  -H 'api-key: YOUR_API_KEY_HERE'

Responses

Success

Headers
request-refstringrequired

A request identifier. Providing this reference when contacting our support team will help us investigate your query.

Bodyapplication/json
transferArray of objects(CorrespondentBankingOwt)
countinteger(int32)

Total number of records (excluding the paging limit)

responseCountinteger(int32)

Total number of records returned in this response (always capped at 100).

Response
application/json
{ "transfer": [ {} ], "count": 0, "responseCount": 0 }

Get a correspondent bank transfer transaction

Request

Retrieves the correspondent bank transfer identified by the id path parameter.

Security
auth_token and api-key
Path
idstring^[0-9]+$required

The unique identifier of the correspondent bank transfer transaction.

curl -i -X GET \
  'https://sandbox.weavr.io/multi/correspondent_bank_transfers/{id}' \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>' \
  -H 'api-key: YOUR_API_KEY_HERE'

Responses

Success

Headers
request-refstringrequired

A request identifier. Providing this reference when contacting our support team will help us investigate your query.

Bodyapplication/json
idstring^[0-9]+$required

The unique identifier of the Correspondent Banking OWT.

profileIdstring(ProfileId)^[0-9]+$required

The profile Id which a specific identity, instrument or transaction type is linked to.

Profiles contain configuration and determine behavioral aspects of the newly created transaction, for example, fees that may apply.

You can have one or more profiles linked to your application, and these can be used to drive different behaviors according to your product's needs.

Profile Ids can be found in the Multi Portal, in the API Credentials page.

tagstring(Tag)<= 50 characters^[a-zA-Z0-9_-]+$

The tag field is a custom field that can be used to search and filter.

sourceInstrumentobjectrequired

The source managed account from where the funds were taken.

sourceInstrument.​typestringrequired
Value"managed_accounts"
sourceInstrument.​idstring^[0-9]+$required
amountobject(CurrencyAmount)required

The amount transferred.

amount.​currencystring(Currency)= 3 characters^[A-Z]*$required

The currency expressed in ISO-4217 code. Example: GBP, EUR, USD.

amount.​amountinteger(int64)required

The monetary amount, scaled to the lowest denomination of the currency.

Example, an amount of 1000 for a EUR currency is actually 1000 Euro cents or EUR 10.00.

originatorCorrespondentBankingIndividualOriginator (object) or CorrespondentBankingBusinessOriginator (object)required
One of:

An individual (natural person) originator of the transfer.

Travel Rule Requirements:

  • Mandatory: Full name and account number (via bankAccountDetails)
  • Mandatory: At least one supplementary information type (address + birth details, or address + official ID)
originator.​tagstring(Tag)<= 50 characters^[a-zA-Z0-9_-]+$

The tag field is a custom field that can be used to search and filter.

originator.​namestring<= 140 charactersrequired

Full name of the individual as documented on official ID.

originator.​addressstring<= 255 charactersrequired

Full residential address of the individual.

originator.​countrystring= 2 characters^[A-Z]{2}$required

ISO 3166-1 alpha-2 country code.

originator.​bankAccountDetailsobject(CorrespondentBankingBankAccountDetails)required

Account and financial institution details of the originator (travel rule mandatory).

originator.​bankAccountDetails.​accountstring[ 1 .. 34 ] characters^[a-zA-Z0-9]{1,34}$required

Can be either an account number or an International Bank Account Number (IBAN).

originator.​bankAccountDetails.​financialInstitutionstring[ 8 .. 11 ] characters^[a-zA-Z0-9]{8,11}$required

Bank Identifier Code (BIC) of the originator's financial institution.

originator.​supplementaryInformationCorrespondentBankingIndividualAddressAndIdInfo (object) or CorrespondentBankingIndividualAddressAndBirthInfo (object)
One of:

Personal identification for an individual originator.

beneficiaryCorrespondentBankingSEPABeneficiary (object) or CorrespondentBankingRIXBeneficiary (object) or CorrespondentBankingFasterPaymentsBeneficiary (object)required
One of:

CBT-specific beneficiary details for SEPA/IBAN wire transfers with Banking Circle FI-to-FI field limits.

beneficiary.​namestring[ 1 .. 35 ] charactersrequired

The beneficiary's full name. >= 1 character and <= 35 characters. An extended character set is accepted to cater for all European languages. If SEPA does not support a particular character, it is automatically converted to an acceptable alternative, in line with SEPA scheme guidance.

beneficiary.​ibanstring[ 15 .. 34 ] characters^[A-Z]{2}[0-9]{2}[A-Z0-9]{11,30}$required

International Bank Account Number, required for wire transfer over SEPA.

beneficiary.​bankIdentifierCodestring[ 8 .. 11 ] characters^[a-zA-Z0-9]{4}[a-zA-Z]{2}[a-zA-Z0-9]{2}[a-zA...

BIC (Bank Identifier Code) for wire transfer over SEPA.

beneficiary.​addressstring[ 1 .. 105 ] charactersrequired

The beneficiary's address. Required for correspondent banking transfers. Maximum 105 characters (split into 3x35-char lines by the provider).

beneficiary.​bankNamestring<= 150 characters

The beneficiary's bank name.

beneficiary.​bankAddressstring[ 1 .. 150 ] characters

The beneficiary's bank address.

beneficiary.​bankCountrystring= 2 characters^[A-Z]{2}$

The beneficiary's bank country in ISO 3166 alpha-2 format.

beneficiary.​nationalitystring(Nationality)= 2 characters^[A-Z]+$

Nationality of the user - using ISO 3166 alpha-2.

beneficiary.​dateOfBirthstring(date)(DateOfBirth)

The date of birth in ISO 8601 format (YYYY-MM-DD).

purposestring<= 255 charactersrequired

The purpose of the payment.

descriptionstring<= 35 characters

These details are passed to the beneficiary as the reference. This field is mandatory for wire transfers executed over SEPA. The allowed length is dependent on the payment type:

SEPA <= 35 characters. An extended character set is accepted to cater for all European languages. If SEPA does not support a particular character, it is automatically converted to an acceptable alternative, in line with SEPA scheme guidance.

Faster Payments <= 18 characters

externalDataArray of objects(CorrespondentBankingExternalData)

Additional external data as key-value pairs.

statestring(CorrespondentBankingOwtState)required

The state of the correspondent bank transfer transaction, as follows:

  • INVALID: The transfer has failed initial validation checks.
  • PENDING_CHALLENGE: The transfer requires the completion of a transaction confirmation challenge before it can be submitted.
  • SUBMITTED: The transfer has been submitted to the sending financial institution for processing.
  • REJECTED: The transfer that was submitted was rejected.
  • APPROVED: The transfer that was submitted has been approved and is being processed by the sending financial institution.
  • FAILED: There was an issue with the transfer, and the transaction has failed.
  • COMPLETED: The requested funds have been sent from the source instrument.
  • RETURNED: The transfer has been returned to the sender.
  • SCHEDULED: The transfer will be executed at the scheduled time.
  • CANCELLED: The scheduled transfer has been cancelled.
  • PENDING_CONFIRMATION: The transfer requires a manual confirmation by the user before proceeding.
Enum"INVALID""PENDING_CHALLENGE""SUBMITTED""REJECTED""APPROVED""FAILED""COMPLETED""RETURNED""SCHEDULED""CANCELLED"
creationTimestampinteger(int64)required

The time when the transaction was created, expressed in Epoch timestamp using millisecond precision.

scheduledTimestampstring(ScheduledTimestamp)^[0-9]+$

The epoch timestamp at which the transaction is scheduled to be executed.

cancellationReasonstring(TransactionCancellationReason)<= 50 characters^[ a-zA-Z0-9_-]+$

The reason the scheduled transaction was cancelled.

validationOutcomesArray of objects(CorrespondentBankingOwtValidationOutcome)
Response
application/json
{ "id": "string", "profileId": "string", "tag": "string", "sourceInstrument": { "type": "managed_accounts", "id": "string" }, "amount": { "currency": "str", "amount": 0 }, "originator": { "tag": "string", "name": "string", "address": "string", "country": "st", "bankAccountDetails": {}, "supplementaryInformation": {} }, "beneficiary": { "name": "string", "iban": "stringstringstr", "bankIdentifierCode": "stringst", "address": "string", "bankName": "string", "bankAddress": "string", "bankCountry": "st", "nationality": "st", "dateOfBirth": "2019-08-24" }, "purpose": "string", "description": "string", "externalData": [ {} ], "state": "INVALID", "creationTimestamp": 0, "scheduledTimestamp": "string", "cancellationReason": "string", "validationOutcomes": [ {} ] }

Operations

Operations

Manage

Operations