Skip to content

Weavr Multi Product API (3.63.5)

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
Mock server
https://api.weavr.io/_mock/products/multi/openapi
Weavr Sandbox Environment
https://sandbox.weavr.io/multi

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

Reset contactless limit for a physical card

Request

For security purposes, the cardholder needs to provide the PIN after a number of contactless purchases. Use this operation to reset the physical card's contactless limit. The contactless limit can only be reset for physical cards having the wearable form factor.

Security
auth_token and api-key
Path
idstring^[0-9]+$required
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.

curl -i -X POST \
  'https://api.weavr.io/_mock/products/multi/openapi/managed_cards/{id}/physical/contactless_limit/reset' \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>' \
  -H 'api-key: YOUR_API_KEY_HERE' \
  -H 'idempotency-ref: string'

Responses

Success - No Content.

Headers
request-refstringrequired

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

Response
No content

Authorisation ForwardingWebhook

Request

Receive purchase authorisation events and choose if to approve or decline them by replying to the event.

Switch on Authorisation Forwarding in your Sandbox Innovator Portal and configure the Authorisation Forwarding URL to start receiving these events. Weavr will send webhook events on the following URL {Authorisation Forwarding URL}/managed_cards_authorisation_forwarding.

A response is expected in 1.5s, after which the Default Timeout Response configured in the card profile or the card authForwardingDefaultTimeoutDecision parameter will be used.

Security
webhooks_key
Headers
call-refstring

A call reference generated by the caller and unique to the caller to provide correlation between the caller and system with a maximum length of 255

published-timestampinteger(int64)required

The timestamp, expressed in Epoch timestamp using millisecond precision, when this event was published.

signature-v2stringrequired

The signature to verify the authenticity of this request. This is the base64 hash (HmacSHA256) of the call-ref + payload + published-timestamp using your API key.

signaturestringDeprecatedrequired

The signature to verify the authenticity of this request. This is the base64 hash (HmacSHA256) of the published-timestamp using your API key.

Bodyapplication/jsonrequired
cardIdstring^[0-9]+$required

The unique identifier of the card on which an authorisation is being performed

transactionIdstring^[0-9]+$required

The id of this transaction, for reference.

authorisationTypestring(CardAuthorisationDetailsAuthorisationType)required

The type of authorisation (Debit or Credit)

Enum"AUTHORISED""AUTHORISED_CREDIT"
sourceAmountobject(CurrencyAmount)required

The amount in the currency of the merchant.

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

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

sourceAmount.​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.

transactionAmountobject(CurrencyAmount)required

The amount in the currency of the card.

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

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

transactionAmount.​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.

totalTransactionCostobject(CurrencyAmount)required

The total amount to be deducted in the currency of the card. This is the summation of the transaction amount, forex padding and forex fees.

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

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

totalTransactionCost.​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.

transactionTimestampinteger(int64)required

The timestamp of the transaction, using epoch timestamp with millisecond precision.

merchantDataobject(MerchantData)required

Merchant related information

merchantData.​merchantNamestringrequired

The name of the merchant where the authorisation has been made.

merchantData.​merchantCategoryCodestringrequired

The merchant category code.

merchantData.​merchantIdstringrequired

The merchant ID.

merchantData.​merchantDescriptionstring

The merchant description

merchantData.​merchantStreetstring

The merchant street address (if available)

merchantData.​merchantCitystring

The merchant city (if available)

merchantData.​merchantStatestring

The merchant state address (if available)

merchantData.​merchantPostalCodestring

The merchant postal code (if available)

merchantData.​merchantCountrystring

The merchant country address

merchantData.​merchantTelephonestring

The merchant telephone number

merchantData.​merchantURLstring

The merchant URL

merchantData.​merchantNameOtherstring

The alternative merchant name

merchantData.​merchantNetworkIdstring

The merchant's network id

merchantData.​merchantContactstring

The merchant's contact (if available)

ownerobject(IdentityId)required

The owner of the card

owner.​typestringrequired

Indicates the identity type.

Enum"CONSUMER""CORPORATE"
owner.​idstring^[0-9]+$required

The identifier for the identity.

cardholderPresentstring(CardHolderPresent)

Optional detail indicating if the card holder was present when the authorisation occurred.

Enum"PRESENT""NOT_PRESENT""PRESENCE_UNKNOWN"
cardPresentboolean

Optional detail indicating if the card was present when the authorisation occurred.

authCodestring[ 1 .. 6 ] characters

The authorisation code associated with this authorisation.

forexPaddingobject(CurrencyAmount)

The forex padding amount, if any, that has been included in the transactionAmount. Forex padding is extra amount blocked to cater for currency fluctuation.

forexFeeobject(CurrencyAmount)

The forex fee, if set, that is included in the transactionAmount.

modestring

The card can be created in prepaid mode or debit mode.

  • A prepaid mode card has its own balance and can have funds transferred to or from it.
  • A debit mode card does not have its own balance but will be able to spend funds belonging to its parent managed account, subject to a configurable spend limit.
Discriminator
availableBalanceobject(CurrencyAmount)

The card available balance before this authorisation is processed.

application/json
{ "cardId": "string", "transactionId": "string", "authorisationType": "AUTHORISED", "sourceAmount": { "currency": "str", "amount": 0 }, "transactionAmount": { "currency": "str", "amount": 0 }, "totalTransactionCost": { "currency": "str", "amount": 0 }, "transactionTimestamp": 0, "merchantData": { "merchantName": "string", "merchantCategoryCode": "string", "merchantId": "string", "merchantDescription": "string", "merchantStreet": "string", "merchantCity": "string", "merchantState": "string", "merchantPostalCode": "string", "merchantCountry": "string", "merchantTelephone": "string", "merchantURL": "string", "merchantNameOther": "string", "merchantNetworkId": "string", "merchantContact": "string" }, "owner": { "type": "CONSUMER", "id": "string" }, "cardholderPresent": "PRESENT", "cardPresent": true, "authCode": "string", "forexPadding": { "currency": "str", "amount": 0 }, "forexFee": { "currency": "str", "amount": 0 }, "mode": "PREPAID_MODE", "availableBalance": { "currency": "str", "amount": 0 } }

Responses

Authorisation event received with APPROVED or DECLINED decision.

Bodyapplication/json
resultstring
Enum"APPROVED""DENIED"
Response
application/json
{ "result": "APPROVED" }

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

Sends

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

Operations

Transfers

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

Operations

Outgoing Wire Transfers

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

Operations

Incoming Wire Transfers

Webhooks

Operations

Operations

Manage

Operations