Skip to content

Weavr Multi Product BackOffice API (v3)

Weavr Multi Back Office API allows you, as an innovator, to perform various back office operations concerning identities and their instruments, without requiring the users to be logged in.

A token is to be obtained through the access_token method, and this will allow relevant operations to be performed on behalf of this same identity.

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

Access Token

Acquire a token granting you access to perform sensitive operations on behalf of an identity.

Operations

User Impersonation

Operations

Corporates

Operations

Consumers

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.
With the access_token representing the identity and the consent of the identity, you will be able to create and invite authorised users for the Identity.

Creating and inviting users on behalf of identities are restricted features; by default these endpoints are not available for use.

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. These accounts can also be used as sources and destinations in the transfer transaction.

With the access_token representing the identity and the consent of the identity, you will be able to operations on the identity's managed accounts, such as getting a managed account's details and retrieving its statement.

Operations

Get a managed account

Request

Fetch the managed account identified by the id in path.

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

The unique identifier of the Managed Account.

curl -i -X GET \
  'https://api.weavr.io/_mock/products/multi-backoffice/openapi/managed_accounts/{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 a Managed Account.

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.

friendlyNamestring[ 1 .. 50 ] charactersrequired

The friendly name given to the managed account.

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

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

balancesobject(ManagedInstrumentBalance)required

Instruments with funds have 2 balances, the availableBalance indicating the funds that are available for transactions such as purchases, and the actualBalance indicating the funds that are actually on the instrument.

balances.​availableBalanceinteger(int64)

The funds available for transactions on the instrument. Funds that are blocked or pending are not included in the available balance.

balances.​actualBalanceinteger(int64)

The funds that are actually on the instrument. Funds that are blocked or pending, due to for example, a purchase authorisation or a pending deposit, are included in the actual balance.

stateobject(ManagedInstrumentState)required
state.​statestring(InstrumentState)required

The state of the instrument indicating what it can and cannot do as follows:

  • ACTIVE: The instrument is in an active state and can be used in transactions.
  • BLOCKED: The instrument is temporarily blocked and cannot be used. Any funds on the instrument are also frozen. The blockedReason provides more information as to why it was blocked.
  • DESTROYED: The instrument has been permanently destroyed. The destroyReason provides more information as to why it was destroyed.
  • NOT_ENABLED: The instrument is not enabled for use, since the linked user has not completed all necessary verification steps.
Enum"ACTIVE""BLOCKED""DESTROYED""NOT_ENABLED"
state.​blockedReasonstring(BlockedReason)

The reason why the instrument has been blocked:

  • USER: The root, or an authorised user, of the identity owning the instrument has temporarily blocked the instrument.
  • SYSTEM: The platform or an administrator of the platform has temporarily blocked the instrument.
  • LOST: The instrument has been blocked because it was marked as lost.
Enum"USER""SYSTEM""LOST"
state.​destroyedReasonstring(DestroyedReason)

The reason why the instrument has been destroyed:

  • SYSTEM: The platform or an administrator of the platform has destroyed the instrument.
  • USER: The root, or an authorised user, of the identity owning the instrument has destroyed the instrument.
  • LOST: The instrument was automatically destroyed as it was marked as lost.
  • STOLEN: The instrument was automatically destroyed as it was marked as stolen.
  • EXPIRED: The instrument was automatically destroyed as it expired.
  • COMPROMISED: The instrument was automatically destroyed as it was marked as compromised.
Enum"SYSTEM""USER""LOST""STOLEN""EXPIRED""COMPROMISED"
creationTimestampinteger(int64)required

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

Response
application/json
{ "id": "string", "profileId": "string", "tag": "string", "friendlyName": "string", "currency": "str", "balances": { "availableBalance": 0, "actualBalance": 0 }, "state": { "state": "ACTIVE", "blockedReason": "USER", "destroyedReason": "SYSTEM" }, "creationTimestamp": 0 }

Get a managed account statement

Request

Returns a list of transactions against the managed account identified by the id path parameter, matching the criteria provided in the request.

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

The unique identifier of the managed account.

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.

statementLimitinteger(int32)[ 1 .. 500 ]

The limit of the results for statements paging, starting at the offset. Limit is capped at 500.

orderByTimestampstring

Orders the result in ascending or descending order.

  • ASC: Ascending order, oldest transactions first.
  • DESC: Descending order, most recent transactions first.

If not specified, the transactions will be returned in descending order.

Enum"ASC""DESC"
fromTimestampinteger(int64)

Filter for transactions having transaction timestamp after fromTimestamp. Timestamp is expressed in Epoch timestamp using millisecond precision. If omitted, all matching transactions up to the present will be included.

toTimestampinteger(int64)

Filter for transactions having transaction timestamp before toTimestamp. Timestamp is expressed in Epoch timestamp using millisecond precision. If omitted, all matching transactions up to the present will be included. If both fromTimestamp and toTimestamp are provided, toTimestamp must be greater than fromTimestamp.

showFundMovementsOnlyboolean

Deprecated. Use singleEntryPerTransaction instead.

Returns only the entries which contain fund movements.

singleEntryPerTransactionboolean

Returns transactions that span multiple movements as a single entry. Only includes transactions that have been completed. Defaults to true for PDF statements, false otherwise. Note: due to the fact that only completed transactions are included, some transactions that are in progress and have modified the balance of the instrument will not be shown, which could lead to seemingly inconsistent balance being displayed.

transactionTypeArray of strings(TransactionType)unique

Filter by the transaction type. Leave out to fetch all entries.

Items Enum"INSTRUMENT_CREATE""INSTRUMENT_BLOCK""INSTRUMENT_UNBLOCK""INSTRUMENT_DELETE""AUTHORISATION""SETTLEMENT""MANUAL_TRANSACTION""TRANSFER""SEND""DEPOSIT"
Headers
acceptstring

A request parameter specifying the type of response the client would like. Must be one of application/json, application/pdf or text/csv.

The default response type (application/json) will be returned if specified incorrectly or not specified.

curl -i -X GET \
  'https://api.weavr.io/_mock/products/multi-backoffice/openapi/managed_accounts/{id}/statement?offset=0&statementLimit=1&orderByTimestamp=ASC&fromTimestamp=0&toTimestamp=0&showFundMovementsOnly=true&singleEntryPerTransaction=true&transactionType=INSTRUMENT_CREATE' \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>' \
  -H 'accept: string' \
  -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.

Body
entryArray of objects(StatementEntry)
countinteger(int32)

The total number of records (excluding the paging limit).

responseCountinteger(int32)

The total number of records returned in this response.

startBalanceobject(CurrencyAmount)

The start balance amount in the instrument's currency. Empty for debit cards.

endBalanceobject(CurrencyAmount)

The end balance amount in the instrument's currency. Empty for debit cards.

footerstring

The footer description for the current statement

Response
{ "entry": [ { … } ], "count": 0, "responseCount": 0, "startBalance": { "currency": "str", "amount": 0 }, "endBalance": { "currency": "str", "amount": 0 }, "footer": "string" }

Managed Cards

Managed Cards are a type of financial instrument offered by Weavr. Cards created in prepaid mode have their own balance, whereas those created in debit mode tap into the balance of their parent Managed Accounts. Apart from being used at merchants for puchases, prepaid mode cards can also be used as sources and destinations in the transfer transaction.

With the access_token representing the identity and the consent of the identity, you will be able to perform operations on the identity's Managed Cards, such as getting a Managed Card's details and managing its spend rules.

Operations

Transfers

Operations

Fees

Operations

Operations

Operations

Manage

Operations