Manage authentication for your users.
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.
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.
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.
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.
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.
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).
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.
The tag field is a custom field that can be used to search and filter.
The managed account from which funds will be collected.
The amount to transfer.
The currency expressed in ISO-4217 code. Example: GBP, EUR, USD.
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)
The tag field is a custom field that can be used to search and filter.
Full name of the individual as documented on official ID.
Account and financial institution details of the originator (travel rule mandatory).
Can be either an account number or an International Bank Account Number (IBAN).
CBT-specific beneficiary details for SEPA/IBAN wire transfers with Banking Circle FI-to-FI field limits.
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.
International Bank Account Number, required for wire transfer over SEPA.
BIC (Bank Identifier Code) for wire transfer over SEPA.
The beneficiary's address. Required for correspondent banking transfers. Maximum 105 characters (split into 3x35-char lines by the provider).
The beneficiary's bank country in ISO 3166 alpha-2 format.
Nationality of the user - using ISO 3166 alpha-2.
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
Additional external data as key-value pairs.
- Weavr Sandbox Environmenthttps://sandbox.weavr.io/multi/correspondent_bank_transfers
- Mock serverhttps://api.weavr.io/_mock/products/multi/openapi/correspondent_bank_transfers
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
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"
}'Success
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.
The tag field is a custom field that can be used to search and filter.
The source managed account from where the funds were taken.
The amount transferred.
The currency expressed in ISO-4217 code. Example: GBP, EUR, USD.
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)
The tag field is a custom field that can be used to search and filter.
Full name of the individual as documented on official ID.
Account and financial institution details of the originator (travel rule mandatory).
Can be either an account number or an International Bank Account Number (IBAN).
CBT-specific beneficiary details for SEPA/IBAN wire transfers with Banking Circle FI-to-FI field limits.
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.
International Bank Account Number, required for wire transfer over SEPA.
BIC (Bank Identifier Code) for wire transfer over SEPA.
The beneficiary's address. Required for correspondent banking transfers. Maximum 105 characters (split into 3x35-char lines by the provider).
The beneficiary's bank country in ISO 3166 alpha-2 format.
Nationality of the user - using ISO 3166 alpha-2.
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
Additional external data as key-value pairs.
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.
The time when the transaction was created, expressed in Epoch timestamp using millisecond precision.
The epoch timestamp at which the transaction is scheduled to be executed.
The reason the scheduled transaction was cancelled.
{ "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": [ { … } ] }
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.
The limit of the results for paging, starting at the offset. Limit is always capped at 100.
Filter by the managed account/card profile. Leave out to fetch all managed accounts/card.
Filter by the source instrument id. Must be specified when source.type is provided.
Filter by the source instrument type. Must be specified when source.id is provided.
Filter for correspondent bank transfer transactions created after createdFrom timestamp, expressed in Epoch timestamp using millisecond precision.
Filter for correspondent bank transfer transactions created before createdTo timestamp, expressed in Epoch timestamp using millisecond precision.
Filter for correspondent bank transfer transactions executed after executedFrom timestamp, expressed in Epoch timestamp using millisecond precision.
Filter for correspondent bank transfer transactions executed before executedTo timestamp, expressed in Epoch timestamp using millisecond precision.
Filter by the correspondent bank transfer tag. The exact tag must be provided, as wildcards are not supported.
Filter by the state of the correspondent bank transfer transaction.
- Weavr Sandbox Environmenthttps://sandbox.weavr.io/multi/correspondent_bank_transfers
- Mock serverhttps://api.weavr.io/_mock/products/multi/openapi/correspondent_bank_transfers
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
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'{ "transfer": [ { … } ], "count": 0, "responseCount": 0 }
- Weavr Sandbox Environmenthttps://sandbox.weavr.io/multi/correspondent_bank_transfers/{id}
- Mock serverhttps://api.weavr.io/_mock/products/multi/openapi/correspondent_bank_transfers/{id}
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
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'Success
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.
The tag field is a custom field that can be used to search and filter.
The source managed account from where the funds were taken.
The amount transferred.
The currency expressed in ISO-4217 code. Example: GBP, EUR, USD.
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)
The tag field is a custom field that can be used to search and filter.
Full name of the individual as documented on official ID.
Account and financial institution details of the originator (travel rule mandatory).
Can be either an account number or an International Bank Account Number (IBAN).
CBT-specific beneficiary details for SEPA/IBAN wire transfers with Banking Circle FI-to-FI field limits.
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.
International Bank Account Number, required for wire transfer over SEPA.
BIC (Bank Identifier Code) for wire transfer over SEPA.
The beneficiary's address. Required for correspondent banking transfers. Maximum 105 characters (split into 3x35-char lines by the provider).
The beneficiary's bank country in ISO 3166 alpha-2 format.
Nationality of the user - using ISO 3166 alpha-2.
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
Additional external data as key-value pairs.
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.
The time when the transaction was created, expressed in Epoch timestamp using millisecond precision.
The epoch timestamp at which the transaction is scheduled to be executed.
The reason the scheduled transaction was cancelled.
{ "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": [ { … } ] }