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

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

Create a transfer transaction

Request

Transfers funds between managed accounts and managed cards belonging to the same corporate or consumer identity.

The 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.

sourceobject(InstrumentId)required

The managed account or managed card from where the funds will be transferred.

source.​idstring(Id)^[0-9]+$required
source.​typestring(InstrumentType)required
Enum"managed_cards""managed_accounts"
descriptionstring<= 255 characters^[a-zA-Z0-9\/\-?:().$_,'+\s#=!"%&*<>;\{@\r\n]...

The description details that are included in the transaction as reference.

destinationobject(InstrumentId)required

The managed account or managed card to where the funds will be transferred.

destination.​idstring(Id)^[0-9]+$required
destination.​typestring(InstrumentType)required
Enum"managed_cards""managed_accounts"
destinationAmountobject(CurrencyAmount)required

The amount, in same currency as the source and destination instruments, to be transferred to the destination (exclusive of any fee amount that may be specified in the profile).

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

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

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

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

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

curl -i -X POST \
  https://api.weavr.io/_mock/products/multi-backoffice/openapi/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",
    "source": {
      "id": "string",
      "type": "managed_cards"
    },
    "description": "string",
    "destination": {
      "id": "string",
      "type": "managed_cards"
    },
    "destinationAmount": {
      "currency": "str",
      "amount": 0
    },
    "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 a Transfer transaction.

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.

sourceobject(InstrumentId)required

The source managed account or card from where the funds were transferred.

source.​idstring(Id)^[0-9]+$required
source.​typestring(InstrumentType)required
Enum"managed_cards""managed_accounts"
destinationobject(InstrumentId)required

The destination managed account or card to where the funds were transferred.

destination.​idstring(Id)^[0-9]+$required
destination.​typestring(InstrumentType)required
Enum"managed_cards""managed_accounts"
destinationAmountobject(CurrencyAmount)required

The amount, in same currency as source and destination, that was transferred from the source to the destination instrument.

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

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

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

descriptionstring<= 255 characters^[a-zA-Z0-9\/\-?:().$_,'+\s#=!"%&*<>;\{@\r\n]...

The description details that are included in the transaction as reference.

statestring(TransactionState)required

Status of the transaction.

Enum"INITIALISED""COMPLETED""REJECTED""FAILED""PENDING""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.

executionTimestampstring(ExecutionTimestamp)^[0-9]+$

The epoch timestamp at which the transaction was executed, transitioning to a final state such as COMPLETED, REJECTED, or FAILED.

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

The reason the scheduled transaction was cancelled.

Response
application/json
{ "id": "string", "profileId": "string", "tag": "string", "source": { "id": "string", "type": "managed_cards" }, "destination": { "id": "string", "type": "managed_cards" }, "destinationAmount": { "currency": "str", "amount": 0 }, "description": "string", "state": "INITIALISED", "creationTimestamp": 0, "scheduledTimestamp": "string", "executionTimestamp": "string", "cancellationReason": "string" }

Get all transfer transactions

Request

Retrieves all the transfer transactions performed by the logged-in identity.

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 transfer profile. Leave out to fetch all transfer transactions.

instrumentIdobject(InstrumentId)

Filter by the source instrument id.

stateArray of strings(TransactionState)unique

Filter by the transfer transaction state. Leave out to fetch all states.

Items Enum"INITIALISED""COMPLETED""REJECTED""FAILED""PENDING""SCHEDULED""CANCELLED"
createdFrominteger(int64)

Filter for transfer transactions created after createdFrom timestamp. Timestamp is expressed in Epoch timestamp using millisecond precision. Leave out to fetch all transfers.

createdTointeger(int64)

Filter for transfer transactions created before createdTo timestamp. Timestamp is expressed in Epoch timestamp using millisecond precision. Leave out to fetch all transfers.

tagstring

Filter by the transfer tag. The exact tag must be provided, as wildcards are not supported. Leave out to fetch all entries.

curl -i -X GET \
  'https://api.weavr.io/_mock/products/multi-backoffice/openapi/transfers?offset=0&limit=1&profileId=string&id=string&type=managed_cards&state=INITIALISED&createdFrom=0&createdTo=0&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(Transfer)
countinteger(int32)

Total number of records (excluding the paging limit).

responseCountinteger(int32)

Total number of records returned in this response.

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

Get a transfer transaction

Request

Retrieve the transfer transaction identified by the id path parameter.

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

The unique identifier of the Transfer transaction.

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

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.

sourceobject(InstrumentId)required

The source managed account or card from where the funds were transferred.

source.​idstring(Id)^[0-9]+$required
source.​typestring(InstrumentType)required
Enum"managed_cards""managed_accounts"
destinationobject(InstrumentId)required

The destination managed account or card to where the funds were transferred.

destination.​idstring(Id)^[0-9]+$required
destination.​typestring(InstrumentType)required
Enum"managed_cards""managed_accounts"
destinationAmountobject(CurrencyAmount)required

The amount, in same currency as source and destination, that was transferred from the source to the destination instrument.

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

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

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

descriptionstring<= 255 characters^[a-zA-Z0-9\/\-?:().$_,'+\s#=!"%&*<>;\{@\r\n]...

The description details that are included in the transaction as reference.

statestring(TransactionState)required

Status of the transaction.

Enum"INITIALISED""COMPLETED""REJECTED""FAILED""PENDING""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.

executionTimestampstring(ExecutionTimestamp)^[0-9]+$

The epoch timestamp at which the transaction was executed, transitioning to a final state such as COMPLETED, REJECTED, or FAILED.

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

The reason the scheduled transaction was cancelled.

Response
application/json
{ "id": "string", "profileId": "string", "tag": "string", "source": { "id": "string", "type": "managed_cards" }, "destination": { "id": "string", "type": "managed_cards" }, "destinationAmount": { "currency": "str", "amount": 0 }, "description": "string", "state": "INITIALISED", "creationTimestamp": 0, "scheduledTimestamp": "string", "executionTimestamp": "string", "cancellationReason": "string" }

Fees

Operations

Operations

Operations

Manage

Operations