NAV Navbar
Issuing API

Introduction

This documentation describes the ISSUING REST API and resources provided by RS2. Our endpoints are designed to in accordance with the JSON API Specification. Various resources are presented which can be used to cover a variety of use cases.

How to use this document

This document is made up into the following two main sections:

  1. The first part contains generic information on the JSON:API specification on which this API is based on, the API Schema documentation describing each resource and endpoint in detail and an Errors section. These sections are generic and can be used as a technical reference during API integration in order to find information about attributes, their data types, supported resource relationships and other technical specifications.
  2. The second part describes in detail various use cases and indicate the flow and sequence of requests required to fulfil a particular task. Request examples as well as required and request specific field documentation are provided in each usecase.

Version

This documentation represents version 1.166.33774+1.2587edb8 (rel-166) of the RS2 Issuing API API generated on Fri 22 Nov 2024 14:57:11 UTC

JSON:API

The Issuing API API is mostly based on the JSON:API v1.0 specification. All JSON:API resources are marked as such in the API Schema documentation by having their type set to JSON:API Resource while non-JSON:API JSON objects are marked as JSON Object. JSON:API resources benefit from all the functionality as per the specification such as inclusion of related resources in response body, specifying in requests which fields to return in order to minimize message data, sorting, pagination and filtering. For a full and detailed list of JSON:API functionality, please refer to the official JSON:API documentation @ https://jsonapi.org/format/1.0.

Resources

Resources represent specific BankWORKS items of data. Resources can be interacted with using the following HTTP methods. For resource HTTP method support please refer to the API schema section of this document.

Anatomy of a resource:

Resource relationships

Relationships allow resources to be linked together. Relationships also allow other features such as filtering and resource inclusion to be used in context of the related resource. Please refer to the below sections for more information on resource inclusion and filtering.

GET /merchants/clientNumber=10050000/addresses

The above example returns the addresses resources linked to a particular merchant.

Resource Inclusion (compound documents)

Resource inclusion allows multiple related resources to be included in a single response. The url parameter include as shown in the below examples:

GET /merchants?include=addresses,contracts

In the above example the addresses and contracts are returned in the response.

The dot notation can be used to include related resources in the response

GET /merchants/clientNumber=12345678?include=contracts.accounts

When using the include feature, the response would contain the relationship information between the main resource and the included resource as well as the resources included in the included object as shown in the below snippit.


{
  "data": [
    {
      "id": "clientNumber=10050000",
      "type": "merchants",
      "attributes": {        
        ...
      }
    }
  ],
  "relationships": {
    "addresses": {
      "data": [
        {
          "id": "clientNumber=00000105&addressCategory=001&effectiveDate=2024-06-06",
          "type": "addresses"
        },
        {
          "id": "clientNumber=00000105&addressCategory=006&effectiveDate=2024-06-06",
          "type": "addresses"
        }
      ]
    }
  },
  "included": [
    {
      "id": "clientNumber=00000105&addressCategory=001&effectiveDate=2024-06-06",
      "type": "addresses",
      "attributes": {
        "addressLine1": "Standard Address",
        "addressLine2": "150, Fifth Avenue",
        "city": "New York",
        "postCode": "10011",
      }
    },
    {
      "id": "clientNumber=00000105&addressCategory=006&effectiveDate=2024-06-06",
      "type": "addresses",
      "attributes": {
        "addressLine1": "Another Standard Address",
        "addressLine2": "150, Fifth Avenue",
        "city": "New York",
        "postCode": "10011",
      }
    }
  ]
}
      

Filtering

Filtering allows a response to return a subset of the available resources that match the criteria requested. The full format of the filter operator is as follows: 

filter [resource type] [attribute / attribute path][operator]=value

For example: &filter[payments][paymentDate][LE]=2023-04-14

Available filtering operators:

Operator Description
EQ Equals operator where values match exactly
NEQ Not equals where values do not match
LIKE Where the values matches the specified pattern. It is usually not case-sensitive and makes use of % as wildcard, but may different depending on the underlying implementation

Note: The % character should be URL encoded %25

LT Lower than the specified value
LE Lower than or equal to the specified value
GT Greater than the specified value
GE Greater than or equal to the specified value

Example: Filtering by attribute

The first example is a simple attribute filter.

GET /merchants?filter[companyName][EQ]=ANA

The second example filters on a nested object's attribute and an additional attribute (multi-attribute filtering).

GET /merchants?filter[mainContactDetails.contactName][LIKE]=%25Smith&filter[status][EQ]=001

Example: Filtering a resource collection by a nested relationship property

Note: the optional resource type [merchants] is provided to indicate that the merchants resource is to be filtered by the country attribute of it's addresses relationship. The result would have been the same without the [merchants] and [EQ] operators.

GET /merchants?filter[merchants][addresses.country][EQ]=MLT

Sparse Fieldsets

Response attributes can be minified to avoid returning any necessary resource attributes. The fields url parameter is used for this purpose and can be applied to the main resource being requested as well any included resources. In case of multiple resource types being returned, the resource type should be indicated with the sorting as shown in the below example:

GET /merchants/clientNumber=10050000?include=addresses&fields[merchants]=clientNumber,status,tradeName&fields[addresses]=postCode,state,country

The response would contain the ID's of the resources being included as well as the resources included. Refer to the compound documents section for an example.

Sorting

The resource response may be sorted by a number of attributes in ascending or descending order. In the below examples a list of payments with a paymentDate value that fits within a particular date range is returned sorted by clientNumber in ascending order and paymentDate in reverse chronological order (notice the - sign)

The sort url parameter is used to indicate sorting.

GET /payments?filter[payments][paymentDate][GE]=2023-04-10&filter[payments][paymentDate][LE]=2023-04-14&sort=clientNumber,-paymentDate

Pagination

Pagination allows control over the number of resources returned in the response per page. If no pagination is set, the default is 20 resources per page. The page[offset] (to skip a number of resources, 0 being the first resource) and page[limit] (the number of resources to be returned per page).

The respons includes links to the other pages:

Simple example to return a single resource per page:

GET /merchants?page[limit]=1


{
  "data": [
    {
      "id": "clientNumber=10050000",
      "type": "merchants",
      "attributes": {        
        ...
      }
    }
  ],
  "links": {
    "first": "/wsm/jsonapi/merchants?page[limit]=1",
    "last": "/wsm/jsonapi/merchants?page[limit]=1&page[offset]=3",
    "next": "/wsm/jsonapi/merchants?page[limit]=1&page[offset]=1"
  },
  "meta": {
    "totalResourceCount": 4
  }
}
      

Below is a slightly more complex example which returns the contract records belonging to a merchant using the merchant → contracts relationship. In addition the a list of records effective as of the current posting date are returned sorted in reverse chronological order and a page limit of 1 resource per is assigned. Such an example is a way of returning the current effective record out of a collection having the effectiveDate attribute.

GET /merchants/clientNumber=10050002/contracts?filter[effectiveDate][LE]=2024-06-06&sort=-effectiveDate&page[limit]=1

API Schema

The below is a list of endpoints and resources used by the API.

Resource Relationship Diagram

/oauth2/token

Format: JSON Object

Object used to return both access and refresh tokens.

Permitted HTTP request method:

POST :

ACCESS TOKEN:

To request an access token, provide the key-value pair for Authorization, Content-type, and grant type under the Header and Body sections.

Header

  • Authorization: Basic dXNlcm5hbWU6cGFzc3dvcmQ= (base64 encoded value of ‘username:password’)

  • Content Type: application/x-www-form-urlencoded

Body

  • grant_type: client_credentials

REFRESH TOKEN:

To refresh an access token, provide the base64 encoded value of ‘username:’ in the Authorization header along with the grant_type set to ‘refresh_token’ and the value of the refresh_token in the body.

Header:

  • Authorization: Basic dXNlcm5hbWU6 (base64 encoded value of ‘username:’)

  • Content Type: application/x-www-form-urlencoded

Body

  • grant_type: refresh_token

  • refresh_token: refresh token value

Name Description
access_token
string

The unique access token value. This value must be provided in the Authorization HTTP header for all API calls.

refresh_token
string

The value of the refresh token that is used to obtain a new access token after it has expired.

expires_in
string

The number of seconds remaining till the access token expires

grant_type
string

The OAuth2 grant type. The value should always be either ‘client_credentials’ or ‘refresh_token’ and is present only in request body.

/api/user-management/userpassword

Format: JSON Object

User password management endpoint.

Permitted HTTP request method:

PUT :

Updates a user’s password, providing the new password in the request body.

IMPORTANT NOTE: Password is required to be changed after the first or initial access token request. Otherwise the following API requests will have an error. Purpose of this is to officially activate the user.

Name Description
newPassword
string

The new password for the user represented in the access token request from Authorization header. The new password must meet the following requirements for security:

  • MUST contain at least seven characters
  • MUST contain at least one uppercase letter
  • MUST contain at least one lowercase letter
  • MUST contain at least one number
  • MUST contain at least one special character
  • MUST NOT contain two consecutive identical characters
  • MUST NOT contain username
  • MUST NOT have been used in the previous 5 changes

/accountDefinitions

Format: JSON:API Resource

Resource holding the account types that are made available to cardholders for a particular institution. The account types available as accountDefintinions act as ‘blueprints’ upon which cardholder accounts are created. The possible account types applicable for a cardholder are restricted by the service contract (see contractDefinitions and contracts).

Permitted JSON:API resource operation:

GET /accountDefinitions :

Retrieve all accountDefinitions available.

More information on JSON:API resource access: https://jsonapi.org/format/#fetching

Name Description
accountTypeId
string (3)

Indicates the type of account.

Refer to API Data Mapping documentation for account definitions available for the institution.

accountCurrency
string (3)

Currency in SWIFT format of the account definition.

Example:

  • EUR

  • USD

  • GBP

In cases where value consists of 3 digits:

  • 998 means not applicable

  • 999 means applicable to all currencies

Refer to API Data Mapping documentation for possible values.

serviceContractId
string (3)

The service contract ID under which the account definition is packaged. Refer to API Data Mapping documentation for possible values.

accountCategory
string (3)

Account categorisation for information purposes.

Refer to API Data Mapping documentation for possible values.

createOnDemand
string (3)

The condition by which the account is created by the system in cases where the account is not yet available.

Refer to API Data Mapping documentation for possible values.

shadowAccountFlag
string (3)

Binary value (Yes - 001 or No 000). Set to Yes in the case of shadow account types (accounts updated daily with retail balances).

Refer to API Data Mapping documentation for possible values.

paymentMethod
string (3)

Defines the sequence of sub-balances being replenished by payments.

Refer to API Data Mapping documentation for possible values.

balanceResetMode
string (3)

Used in Individual Billing Cycles to determine at what level account balances are to be reset during end of Individual Close Cycle.

Refer to API Data Mapping documentation for possible values.

billingCycle
string (3)

Denotes the default billing cycle applicable to accounts based on this account definition.

Refer to API Data Mapping documentation for possible values.

billingCycleMode
string (3)

Indicates how the billing cycle is defined. For example, user defined or contract based. Refer to API Data Mapping documentation for possible values.

currentCycleStart
date

Assigned cycle start date for this definition.

currentCycleEnd
date

Assigned cycle end date for this definition.

cycleAccountTypeId
string (3)

Account type ID of the cycle.

Refer to API Data Mapping documentation for possible values.

cycleAccountCurrency
string (3)

Account currency of the cycle.

Refer to API Data Mapping documentation for possible values.

statementGeneration
string (3)

Defines the conditions when a statement should be generated for the account definition.

Refer to API Data Mapping documentation for possible values.

statementType
string (3)

The type of statement generated for the account definition.

Refer to API Data Mapping documentation for possible values.

recordDate
date

The record creation date.

generatePaymentHistory
string (3)

Defines whether payment history records are generated for the particular account type.

Refer to API Data Mapping documentation for possible values.

generateValueBalance
string (3)

Defines whether value balance records are generated for the particular account type.

Refer to API Data Mapping documentation for possible values.

interestMethod
string (3)

Defines the interest generation method for the account.

Refer to API Data Mapping documentation for possible values.

postInterestToSource
string (3)

Defines whether capitalized interest is posted to the same account or another.

Refer to API Data Mapping documentation for possible values.

bonusReplenishmentOrder
string

Defines the sequence of sub-balances being replenished by bonus transactions.

Refer to API Data Mapping documentation for possible values.

creditInterestReplenishmentOrder
string

Defines the sequence of sub-balances being replenished by credit interest.

Refer to API Data Mapping documentation for possible values.

paymentReplenishmentOrder
string

Defines the sequence of sub-balances being replenished by payments.

Refer to API Data Mapping documentation for possible values.

prepaymentId
string (6)

Identifies Prepayment Definition ID as in CHT_PREPAYMENT_ID (PrePayment, Default or N/A).

Relationships
{id}/billingCycleDefinition

Returns the BankWORKS billing cycle definition linked to this resource.

{id}/limitDefinition

Returns the applicable account limit type definition for this account definition.

{id}/globalLimitDefinition

Returns the applicable global limit for this account definition. The global limit is a limit on cardholder contract level and acts on top of the account level limit.

/accountFeeDefinitions

Format: JSON:API Resource

Resource holding all account fee rules.  Account fees can be contract based or individual account fees.  Contract based fees are account fee setup rules linked to a service contract.  Cardholder based fees are cardholder specific account fees that override a particular contract based fee.  Account fees are grouped by service contract and tariff.  Account fees rules use an effectiveDate to indicate when the rule comes into effect.

Permitted JSON:API resource operation:

GET /accountFeeDefinitions :

Retrieve a list of all cardholder account fee rules.

More information on JSON:API resource access: https://jsonapi.org/format/#fetching

Name Description
accountTypeId
string (3)

Defines the type of account on which the fees are applied.

Refer to API Data Mapping documentation for possible values.

accountCurrency
string (3)

Currency in SWIFT format of the account on which the account fees are applied. In cases where value consists of 3 digits:

  • 998 means not applicable
  • 999 means applicable to all currencies.

Refer to API Data Mapping documentation for possible values.

chargeType
string (3)

The type of fee such as a commission.

Refer to API Data Mapping documentation for possible values.

isContractFee
boolean

Boolean value indicating if the fee is a contract fee, i.e institution default setup or not, i.e a client specific override.

serviceContractId
string (3)

The service contract to which the account fee applies.

Refer to API Data Mapping documentation for possible values.

clientFeeId
string (3)

The transaction type of the generated fee, eg Card Subscription Fee, Account Maintenance Fee.

Refer to API Data Mapping documentation for possible values.

effectiveDate
date

The date in ISO 8601 format when the account fee definition becomes effective.

expiryDate
date

The date in ISO 8601 format when the account fee definition can no longer be used.

triggerOperator
string (3)

Sign operator related to trigger source and trigger value.

Refer to API Data Mapping documentation for possible values.

triggerPeriod
string (3)

Defines when and how often the fee process is run, eg Daily, End of Cycle etc.

Refer to API Data Mapping documentation for possible values.

triggerRuleId
string (3)

Defines a set of rules related to the generic fee.

Refer to API Data Mapping documentation for possible values.

triggerSource
string (3)

Defines the value or event that triggers the fee process, eg new account.

Refer to API Data Mapping documentation for possible values.

triggerValueLow
object

Used by trigger sources requiring values, for Overdue amount > 500. Note that all trigger amount currencies MUST match. Maximum allowed length (including decimal point) is 18.

Name Description
value
decimal

The quantative decimal monetary amount (eg. 1.1)

currency
string

The ISO 4217 currency code (eg. 'EUR')

triggerValueHigh
object

Used by trigger sources requiring maximum values, for example tiered fees. Note that all trigger amount currencies MUST match. Maximum allowed length (including decimal point) is 18.

Name Description
value
decimal

The quantative decimal monetary amount (eg. 1.1)

currency
string

The ISO 4217 currency code (eg. 'EUR')

periodReference
string (3)

Used to determine the value date of the fee, eg Posting Date.

Refer to API Data Mapping documentation for possible values.

referenceOperator
string (3)

Sign operator related to fixedPeriod following the periodReference.

Refer to API Data Mapping documentation for possible values.

clientTariff
string (3)

Tariff package for the account fee.

Refer to API Data Mapping documentation for possible values.

feeBase
object

The standard amount generated for the account fee. Note that all fee amount currencies MUST match. Maximum allowed length (including decimal point) is 11.

Name Description
value
decimal

The quantative decimal monetary amount (eg. 1.1)

currency
string

The ISO 4217 currency code (eg. 'EUR')

feeMinimum
object

Indicates the minimum value that can be charged for the account if the feeBase and feePercent values are LOWER than this value. Note that all fee amount currencies MUST match. Maximum allowed length (including decimal point) is 11.

Name Description
value
decimal

The quantative decimal monetary amount (eg. 1.1)

currency
string

The ISO 4217 currency code (eg. 'EUR')

feeMaximum
object

Indicates the maximum value that can be charged for the account if the feeBase and feePercent values are GREATER than this value. Note that all fee amount currencies MUST match. Maximum allowed length (including decimal point) is 11.

Name Description
value
decimal

The quantative decimal monetary amount (eg. 1.1)

currency
string

The ISO 4217 currency code (eg. 'EUR')

feeMode
string (3)

Suppress or generate the fee.

Refer to API Data Mapping documentation for possible values.

feePercent
number (11)

The percentage value used to generate the fee for account fee trigger setup. Maximum allowed length (including decimal point) is 11.

feeTransactionType
string (3)

The transaction type of the generated fee.

Refer to API Data Mapping documentation for possible values.

fixedPeriod
number

Number of days due after the periodReference.

maximum: 999

objectLevel
string (3)

Defined for which level the application fee is being generated, eg Level, Group Level, First Service etc.

Refer to API Data Mapping documentation for possible values.

tierLevel
string (3)

Enables the setting up of the same fee but with a different trigger value high and low.

Refer to API Data Mapping documentation for possible values.

postFeeToSource
string (3)

Defines where the fee is posted to the account to which it is applied, select Yes or No. If value set to No, posting instructions are used to look up the real amount.

Refer to API Data Mapping documentation for possible values.

/authorisations

Format: JSON:API Resource

Resource representing online authorizations. It is possible to retrieve a list of all online authorizations available for your user and create card not present authorizations. Refer to the use cases for more information.

Permitted JSON:API resource operations:

GET /authorisations :

Retrieve a list of all online authorisations.

More information on JSON:API resource access: https://jsonapi.org/format/#fetching

POST /authorisations :

Create a new authorisation transaction.

More information on JSON:API resource creation: https://jsonapi.org/format/#crud-creating

Name Description
cardNumber
string (19)

The cardholder’s card number. The value is returned in masked format.

To filter with this field, you will need to use the LIKE operator with wildcard(%25) and the last four digits of the card, together with a filter for other fields if needed.

  • filter[cardNumber][LIKE]=%258906
transactionStatus
string (3)

Indicates the authorization transaction status.

  • 005 - Pending
  • 006 - Matched
  • 009 - Cleared
  • 013 - Purged
expiryDate
string (4)

The expiry date of the card in YYMM format.

messageTypeId
string (4)

4-digit ISO code indicating the authorization message.

  • 0100 - Authorization
  • 0200 - Financial Request
  • 0220 - Advice
  • 0420 - Reversal Advice
transactionDate
string

Local date and time of the transaction originating at the point of service in ISO 8601 format.

transmissionDate
string

The transaction date and time at point of service in UTC 0, expressed in ISO 8601 format.

amount
object

Requested amount for this authorization.

Name Description
value
decimal

The quantative decimal monetary amount (eg. 1.1)

currency
string

The ISO 4217 currency code (eg. 'EUR')

transactionType
string (2)

A 2-digit code indicating the processing code of the transaction type.

  • 00 - Purchase
  • 20 - Refund
authIndicator
string (1)

Indicates if the authorization is a pre-auth or a recurring as indicated in the below list. If the value is left empty, it indicates a normal authorization.

  • R - Recurring Transaction
  • A - Pre-authorization Incremental
  • P - Pre-authorization Aggregate
responseCode
string (2)

2-digit ISO code value indicating the switch response.

reasonCode
string (2)

2-digit ISO code value to indicate the reason code for reversal advice.

  • 12 - User cancellation
  • 68 - Timeout
authorisationCode
string (6)

The 6-character external authorization code (for example, from card schemes).

stan
string (6)

The System Trace Audit Number. A six digit code that must be unique for an online request. Used in conjunction with the transmissionDate and messageType ID to uniquely identify an authorisation.

retrievalReference
string (12)

A 12-digit identifier used as a transaction reference for retrieval purposes.

externalReference
string (36)

A client-specific external identifier value. The value of the externalReference must be unique for each transaction.

eCom
object

Object containing eCommerce related attributes, for eCommerce transactions.

Name Description
cvc2
string (4)

The 3 or 4 digits card cvc2 security attribute.

3dSecure
string (42)

The Universal Cardholder Authentication Field value used for 3D secure transport. VISA specs consist of 40 Hexadecimal characters, numbers [0-9] and capital letters [A-F].

xid
string (42)

The Universal Cardholder Authentication Field value used for 3D secure transport.

securityLevelindicator
string (3)

Indicates if the eCommerce channel is encrypted and if UCAF is supported or not by the merchant. The below positions 1, 2 and 3 indicate the options of the secure level indicator.

  • 21x - Channel Encrypted
  • 22x - Encrypted MasterPass
  • 91x - No Security Protocol
  • xx0 - UCAF not supported
  • xx1 - UCAF supported
  • xx2 - UCAF present
cvc2ResultCode
string (1)

Indicates response of CVC2 check.

  • M - Match
  • P - Not Processed
  • S - CVV2 should be on the card, but merchant indicated that it was not
  • U - Unknown/Issuer does not participate
  • X - Server provider did not respond
pos
object

Object containing point of service specific attributes.

Name Description
terminalId
string (8)

The identifier of the terminal from which the request is coming.

panEntry
string (3)

3-digit value used to identify the method by which the card number was captured by the terminal. The first 2 digits indicate the PAN entry mode, last digit is the pin indicator which should be 0 for eCommerce transactions.

  • 01x - Manual
posCondition
string (2)

2-digit ISO value that is used to identify the point of service event of the authorization.

  • 59 - eCommerce
  • 07 - Phone/ARU order
  • 08 - Mail order
avs
object

Object containing Address Verification System attributes

Name Description
postCode
string (9)

Cardholder postcode, for AVS verification, up to 9 characters

streetAddress
string (20)

Cardholder street information for AVS verficiation, up to 20 characters. Alphabetic numbers should be sent in a numeric format. For example, ‘1 second avenue’ should be sent as ‘1 2nd avenue’

response
string (1)

AVS Response.

  • A - Post code MISMATCH, Street address MATCH
  • B - Post code NOT VERIFIED, Street address MATCH
  • M - Post code MATCH, Street address MATCH
  • N - Post code MISTMATCH, Street address MISMATCH
  • P - Post code MATCH, Street adress NOT VERIFIED
  • R - RETRY;SYSTEM, Street address UNAVAILABLE
  • U - Post code NOT VERIFIED, Street address NOT VERIFIED
  • Z - Post code MATCH, street address MISMATCH
Relationships
{id}/originalAuth
of type /authorisations

Links an authorization to another authorization for specific scenarios such as reversal, where the reversal must cancel out an existing authorization. Refer to use cases for more specific information.

/balanceCycles

Format: JSON:API Resource

Represents BankWORKS account cycle book balance records. Each cycle represents a billing period determined by the billing cycle method applicable to the account. Balances are maintained in eight separate sub-balances, four reflecting activity for debit type transactions and four reflecting activity for credit type transactions.

Permitted JSON:API resource operation:

GET /balanceCycles :

Get a list of balances for all client accounts per cycle.

More information on JSON:API resource access: https://jsonapi.org/format/#fetching

Name Description
accountNumber
string (11)

11-digit BankWORKS generated account identifier. Unique per institution

beginBalance
object

The balance brought forward from the previous cycle.

Name Description
value
decimal

The quantative decimal monetary amount (eg. 1.1)

currency
string

The ISO 4217 currency code (eg. 'EUR')

currentBalance
object

The current balance based on processed transactions. This balance amount does not consider pending authorisations.

Name Description
value
decimal

The quantative decimal monetary amount (eg. 1.1)

currency
string

The ISO 4217 currency code (eg. 'EUR')

cycleStartDate
date

The billing cycle start date.

cycleEndDate
date

The billing cycle end date.

processingStatus
string (3)

Indicates the status of the cycle i.e. Current (004) or Closed (015).

Refer to API Data Mapping documentation for possible values.

credits
object

Credit balances

Name Description
balancePayments
object

The total amount of payments affected during this cycle.

balanceRefunds
object

The total amount of refunds received during this cycle.

balanceInterest
object

The total amount of interest credited during this cycle.

balanceBonus
object

The total amount of bonuses received during this cycle.

transactionCount
number

Denotes the total number of CREDIT transactions posted during the current cycle.

debits
object

Debit balances

Name Description
balanceCash
object

The amount of cash withdrawals affected during this cycle.

balanceRetail
object

The amount of purchases affected during this cycle.

balanceInterest
object

The amount of debit interest posted during this cycle.

balanceCharges
object

The amount of charges generated during this cycle.

transactionCount
number

Denotes the total number of DEBIT transactions posted during the current cycle.

lastAmendmentDate
date

The date this record was changed last.

Relationships
{id}/issAccount
of type /issAccounts

Returns the BankWORKS client account linked to the balance record.

/billingCycleDefinitions

Format: JSON:API Resource

This resource represents the various billing cycles available under an institution. Billing cycles represent the period of time between cardholder billing statements. Account cycle book balances are generated based on the billing cycle selected for an account. Account billing cycles are defaulted according to the account definitions setup for the particular account type. Certain accounts may permit the billing cycle to be modified should a different billing period be desired. This can be achieved by defining an instruction via billing cycle instructions which is subsequently executed as part of the billing cycle end processing.

Permitted JSON:API resource operation:

GET /billingCycleDefinitions :

Get a list of billing cycle definitions.

More information on JSON:API resource access: https://jsonapi.org/format/#fetching

Name Description
billingCycle
string (3)

The billing cycle definition identifier.

Refer to API Data Mapping documentation for possible values.

cycleStartDate
date

Indicates the billing cycle start date.

cycleEndDate
date

Indicates the billing cycle end date.

status
string (3)

Denotes the status of the billing cycle.

Refer to API Data Mapping documentation for possible values.

recordDate
date

The record creation date.

/billingCycleInstructions

Format: JSON:API Resource

A resource for creating, reviewing and maintaining (unprocessed) account billing cycle change instructions. Billing cycle change instructions are created whenever a billing cycle switch for an account is desired. Billing cycle instructions are processed at end of cycle processing and the new account billing cycle is defined as desired. Whether an account supports user defined billing cycle modifications or not is determined by the business rules that govern the account.

Permitted JSON:API resource operations:

GET /billingCycleInstructions :

Retrieval of submitted billing cycle change instructions. A status of each instruction is provided to identify if a particular instruction has been processed or is still pending.

More information on JSON:API resource access: https://jsonapi.org/format/#fetching

POST /billingCycleInstructions :

Creation of a new billing cycle change instructions for an account. This applies only to specific accounts which allow a user defined billing cycle. The billing cycle mode is a property of the Account Definition (/accountDefinitions.billingCycleMode)

More information on JSON:API resource creation: https://jsonapi.org/format/#crud-creating

PATCH /billingCycleInstructions/{id} :

Modify an unprocessed billing cycle change instruction. Completed instructions cannot be modified.

More information on JSON:API resource updates: https://jsonapi.org/format/#crud-updating

DELETE /billingCycleInstructions/{id} :

Deletion of a completed billing cycle change instruction. Processed instructions cannot be deleted.

More information on JSON:API resource deletion: https://jsonapi.org/format/#crud-deleting

Name Description
newBillingCycle
string (3)

Indicates the new billing cycle to be used following instruction execution.

Refer to API Data Mapping documentation for possible values.

newCycleStart
date

Indicates the next cycle starting date.

newCycleEnd
date

Indicates the end date of the first billing cycle generated based on the newly selected billing cycle.

originalBillingCycle
string (3)

Indicates the current billing cycle applied to the account. Once the instruction is successfully executed, the billing cycle will be updated to the newBillingCycle value.

Refer to API Data Mapping documentation for possible values.

originalCycleEnd
date

A date indicating the closure of the current active cycle. As part of the end of cycle processing, the billing cycle change instruction will be processed and the account billing cycle updated.

status
string (3)

Indicates the current processing status of the instruction. Pending instructions have a status of (101 - Entered) and once processed will show a status of (102- Completed). One can also cancel an instruction provided the current status is not yet completed.

Refer to API Data Mapping documentation for possible values.

recordDate
date

The record creation date.

Relationships
{id}/issAccount
of type /issAccounts

An account for which the billing instruction applies to.

{id}/billingCycleDefinition

Billing cycle definition of the new billing cycle linked to this instruction.

/cardAccumulatorDefinitions

Format: JSON:API Resource

This defines the business rules for establishing restrictions on authorising card transactions. This definitions resource describes the default accumulator limit parameters related to card services definitions. These rules are inherited by any card generated on a the card service definitions.

Permitted JSON:API resource operations:

GET /cardAccumulatorDefinitions :

Returns all or one card parameter record.

More information on JSON:API resource access: https://jsonapi.org/format/#fetching

POST /cardAccumulatorDefinitions :

Creation of new accumulator rules for a card service definition.

More information on JSON:API resource creation: https://jsonapi.org/format/#crud-creating

PATCH /cardAccumulatorDefinitions/{id} :

Modifies an existing card parameter record which is effective today or in the future. Past effective records cannot be modified.

More information on JSON:API resource updates: https://jsonapi.org/format/#crud-updating

DELETE /cardAccumulatorDefinitions/{id} :

Delete a card accumulator definition entry.

More information on JSON:API resource deletion: https://jsonapi.org/format/#crud-deleting

Name Description
parameterType
string (3)

Parameter type for this definition.

Example: 001 (eComm + MoTo), 003 (ATM), 005 (Ctls-woPIN).

Refer to API Data Mapping documentation for possible values.

clientTariff
string (3)

The tariff assigned for the specific card type.

Refer to API Data Mapping documentation for possible values.

transactionType
string (3)

The transaction type for card limits and usages.

Example: 005 (Purchase), 006 (Refund (Credit)), 009 (ATM cash Withdrawal)

Refer to API Data Mapping documentation for possible values.

effectiveDate
date

The date in ISO 8601 format when the card accumulator definition record becomes effective for the client. The value can be future dated and cannot be less than the posting date. If not provided, this will be defaulted to posting date.

dailyLimit
object

Daily limit attributes.

Name Description
amount
object

Limit amount within 24-hour period.

frequency
number

Total number of authorisations allowed for this velocity within 24-hour period.

maximum: 99999999

windowLimit
object

Window limit attributes.

Name Description
amount
object

Limit amount within the window timeframe.

frequency
number

Total number of authorisations allowed for this velocity within the window timeframe.

maximum: 99999999

numberOfDays
number

The number of days that make up the window range the velocity parameters apply for.

maximum: 999

minTransactionLimit
object

The minimum amount allowed for a single transaction. Note that all limit and usage amount currencies MUST match. Maximum allowed length for the value attribute (including decimal point) is 18.

Name Description
value
decimal

The quantative decimal monetary amount (eg. 1.1)

currency
string

The ISO 4217 currency code (eg. 'EUR')

maxTransactionLimit
object

The maximum amount allowed for a single transaction. Note that all limit and usage amount currencies MUST match. Maximum allowed length for the value attribute (including decimal point) is 18.

Name Description
value
decimal

The quantative decimal monetary amount (eg. 1.1)

currency
string

The ISO 4217 currency code (eg. 'EUR')

maxPinTries
number

The maximum limit allowed for PIN entry.

processInstruction
string (3)

Can be (003) Express or (100) Standard Application. Defaulted to standard if not provided.

Refer to API Data Mapping documentation for possible values.

recordDate
date

The date in ISO 8601 format when the card accumulator definition record was created.

Relationships
{id}/cardAccumulators

The accumulator record for a specific card to which this definition is linked to. Effective date needs to be taken into consideration as the relationship gives access to past, current and future effective data.

{id}/cardServiceDefinitions

Card service definition related to this card parameter definition. Effective date needs to be taken into consideration as the relationship gives access to past, current and future effective data.

{id}/contractDefinition

The service contract under which the card accumulator rule is grouped.

{id}/velocityParameters

Related velocity parameters for which this setup is created.

/cardAccumulators

Format: JSON:API Resource

Resource to get or set the accumulator thresholds for issued cards.

Name Description
accumulatorCurrency
string (3)

Currency reference for card accumulator checks.BWT_CURRENCY, Taken from cardAccumulatorDefinitions passed during POST.

effectiveDate
date

The date in ISO 8601 format when the card accumulator record becomes effective for the client. The value can be future dated and cannot be less than the posting date. If not provided, this will be defaulted to posting date.

expiryDate
date

The card accumulator expiry date in ISO 8601 format. This is defaulted to 9999-12-31 if not provided.

dailyLimit
object

Daily limit attributes.

Name Description
amount
object

Limit amount within 24-hour period.

frequency
number

Total number of authorisations allowed for this velocity within 24-hour period.

maximum: 99999999

windowLimit
object

Window limit attributes.

Name Description
amount
object

Limit amount within the window timeframe.

frequency
number

Total number of authorisations allowed for this velocity within the window timeframe.

maximum: 99999999

numberOfDays
number

The number of days that make up the window range the velocity parameters apply for.

maximum: 999

usage
object

Card accumulator usage information

Name Description
dailyFrequency
number

The calculated total number of authorisations occurred for the card within 24-hour period.

dailyAmount
object

Current day usage amount.

windowAmount
object

The usage amount for this timeframe.

windowFrequency
number

The calculated total number of authorisations occurred within the specified time window.

lastAmendmentDate
date

Date in ISO 8601 format when the accumulator record was last modified.

minTransactionLimit
object

The minimum amount allowed for a single transaction. Note that all limit and usage amount currencies MUST match. Maximum allowed length for the value attribute (including decimal point) is 18.

Name Description
value
decimal

The quantative decimal monetary amount (eg. 1.1)

currency
string

The ISO 4217 currency code (eg. 'EUR')

maxTransactionLimit
object

The maximum amount allowed for a single transaction. Note that all limit and usage amount currencies MUST match. Maximum allowed length for the value attribute (including decimal point) is 18.

Name Description
value
decimal

The quantative decimal monetary amount (eg. 1.1)

currency
string

The ISO 4217 currency code (eg. 'EUR')

recordDate
date

Creation date of the card accumulator record.

Relationships
{id}/card
of type /cards

The card affected by the accumulator rule.

{id}/cardAccumulatorDefinitions

The accumulator definition or business rule on which this accumulator record is based.

/cardholders

Format: JSON:API Resource

Resource representing the cardholder clients under the institution. Each resource represents a cardholder record. Relationships are available for retrieval of additional cardholder related resources such as addresses and contracts.

Permitted JSON:API resource operations:

GET /cardholders :

Get all cardholder resources available.

More information on JSON:API resource access: https://jsonapi.org/format/#fetching

POST /cardholders :

Create a new cardholder. Note: Refer to cardholder onboarding use cases for more information on cardholder onboarding.

More information on JSON:API resource creation: https://jsonapi.org/format/#crud-creating

PATCH /cardholders/{id} :

Modify an existing cardholder identified with the resource ID.

More information on JSON:API resource updates: https://jsonapi.org/format/#crud-updating

DELETE /cardholders/{id} :

Delete a cardholder identified by ID. Deletion is only possible for non-active (status 023 - In Process) cardholders.

More information on JSON:API resource deletion: https://jsonapi.org/format/#crud-deleting

Name Description
clientNumber
string (8)

8-digit BankWORKS client number unique that is unique per institution. System generated if not provided during new cardholder definition. A unique number must be provided if user defined.

rbsClientNumber
string (20)

External cardholder reference number.

status
string (3)

Indicates the current status of the cardholder in BankWORKS.

Refer to API Data Mapping documentation for possible values.

idNumber
string (15)

The national ID card number.

title
string (3)

Cardholder’s salutation.

Refer to API Data Mapping documentation for possible values.

firstName
string (15)

First name of the cardholder.

lastName
string (26)

Last name of the cardholder.

gender
string (3)

Gender of the cardholder.

Refer to API Data Mapping documentation for possible values.

birthDate
date

Date of birth in ISO 8601 format

birthPlace
string (15)

Cardholder’s place of birth.

birthName
string (20)

Cardholder’s birth name.

shortName
string (26)

Cardholder’s short name.

mobile1
string (15)

Primary mobile phone number.

mobile2
string (15)

Secondary mobile phone number.

fathersName
string (20)

Name of cardholder’s father.

language
string (3)

Cardholder’s language.

Refer to API Data Mapping documentation for possible values.

nationality
string (3)

Nationality of the cardholder.

Refer to API Data Mapping documentation for possible values.

residenceStatus
string (3)

Indicates if the carhdolder is a resident of the hosting country. Defaulted to 001 if not provided indicating a Resident.

Refer to API Data Mapping documentation for possible values.

residenceStatusDate
date

The date in ISO 8601 format relating to the client’s current residence state.

residenceType
string (3)

Defines the type of residence for the cardholder such as, own house or rented flat. Defaulted to 000 if not provided indicating Unknown.

Refer to API Data Mapping documentation for possible values.

maritalStatus
string (3)

Cardholder’s marital status.

Refer to API Data Mapping documentation for possible values.

maritalStatusDate
date

Date in ISO 8601 format of last change in marital status.

passportNumber
string (15)

The cardholder’s national passport number.

drivingLicenseNumber
string (15)

The cardholder’s national driving license number.

employerName
string (35)

Cardholder’s employment company or individual.

employmentDate
date

Applicant’s date of employment in ISO 8601 format.

employmentPosition
string (3)

Cardholder’s current employment position.

Refer to API Data Mapping documentation for possible values.

employmentStatus
string (3)

Cardholder’s current employment status.

Refer to API Data Mapping documentation for possible values.

employmentExtraInfo
string (3)

May contain extra additional numeric information related to the employment status (e.g. for part time employee, might be interpreted as no. of hrs worked weekly).

incomeAmount
number (18)

Income amount of applicant.

incomeRange
string (3)

Income range of applicant.

Refer to API Data Mapping documentation for possible values.

processingRegion
string (3)

Defines the processing region of the cardholder. Used for transaction processing.

Refer to API Data Mapping documentation for possible values.

mastercardABU
string

Flag that indicates the cardholder’s Mastercard Automatic Billing Updater (ABU) registration status.

Refer to API Data Mapping documentation for possible values.

Sample values:

  • 001 - N/A

  • 003 - Registered

recordDate
date

The record creation date.

Relationships
{id}/accounts
of type /issAccounts

BankWORKS account/s assigned to the cardholder.

{id}/addresses
of type /issAddresses

The address linked to the cardholder. A cardholder may be linked to multiple addresses. Effective date needs to be taken into consideration as the relationship gives access to past, current and future effective data.

{id}/cards
of type /cards

Card/s linked to the cardholder.

{id}/contracts
of type /issContracts

The contract or contracts that are assigned to the cardholder. Effective date needs to be taken into consideration as the relationship gives access to past, current and future effective data.

{id}/settlementPackages

Cardholder bank account details for settlement purposes. A cardholder may have multiple settlement options.

/cardholderTransactions

Format: JSON:API Resource

A resource to retrieve cardholder transactions.

Permitted JSON:API resource operation:

GET /cardholderTransactions :

Get all cardholder resources available.

More information on JSON:API resource access: https://jsonapi.org/format/#fetching

Name Description
recordDate
date

Indicates the processing date.

transactionDateTime
date-time

Date and time of the transaction.

transactionStatus
string (3)

Indicates the current transaction status.

Refer to API Data Mapping documentation for possible values.

transactionSlip
string (11)

Auto-generated transaction slip as reference.

clientNumber
string (8)

The BankWORKS 8-digit client number.

accountNumber
string (11)

The account number where the transaction is posted.

merchantName
string (25)

Represents the merchant name shown on the cardholder statement.

For non card-based transactions this would show the transaction narrative.

merchantCity
string (13)

The merchant city where the transaction occurred if available.

merchantCountry
string (3)

The merchant country where the transaction occurred if available.

Refer to API Data Mapping documentation for possible values.

destinationSign
string (1)

Possible values:

  • D - Debit
  • C - Credit

Represents the destination sign based on the transaction type. The sign is reversed if the transaction is a reversal.

transactionAmountGross
object

The gross transaction amount in the original transaction currency.

Name Description
value
decimal

The quantative decimal monetary amount (eg. 1.1)

currency
string

The ISO 4217 currency code (eg. 'EUR')

transactionAmountNet
object

The net transaction amount in the original transaction currency.

Name Description
value
decimal

The quantative decimal monetary amount (eg. 1.1)

currency
string

The ISO 4217 currency code (eg. 'EUR')

accountAmount
object

The transaction amount converted to the cardholder’s account currency.

Name Description
value
decimal

The quantative decimal monetary amount (eg. 1.1)

currency
string

The ISO 4217 currency code (eg. 'EUR')

accountChargeAmount
object

The transaction charge applied to the cardholder.

Name Description
value
decimal

The quantative decimal monetary amount (eg. 1.1)

currency
string

The ISO 4217 currency code (eg. 'EUR')

fxRate
string (8)

FX rate derived from the transaction and account amount values up to 5 decimal points.

cardNumber
string (19)

The masked card number value showing the last 4-digits visible. Please use the cardAlias to filter by card.

cardAlias
string (25)

An alternative card identification means. The cardAlias replaces the cardNumber for referencing the card without any use of sensitive details.

businessClass
string (4)

Indicates the business classification of the merchant where the transaction occurred.

Refer to API Data Mapping documentation for possible values.

acquirerReference
string (23)

The transaction ARN value. This will not be available for pending online transactions.

authCode
string (6)

The authorisation code of the transaction. This would only be available for card based transactions.

responseCode
string (3)

3-digit code value indicating the switch response.

transactionType
string (3)

Indicates the kind of transaction that has taken place.

Refer to API Data Mapping documentation for possible values.

transactionSource
string (3)

Indicates the transaction source channel.

Refer to API Data Mapping documentation for possible values.

terminalCapability
string (3)

The terminal capability for PAN PIN entry.

Refer to API Data Mapping documentation for possible values.

captureMethod
string (3)

Describes how the transaction was generated from the data capture point of view. Example:

  • 010 Manual
  • 100 Electronic
  • 001 Card swiped, signature
  • etc…

Refer to API Data Mapping documentation for possible values.

postConditionCode
string (3)

3-digit code that is used to identify the point of service event of the authorization.

Refer to API Data Mapping documentation for possible values.

/cardInstructions

Format: JSON:API Resource

To get a list of all available card instructions

Permitted JSON:API resource operations:

GET /cardInstructions :

Retrieve all card instructions.

More information on JSON:API resource access: https://jsonapi.org/format/#fetching

POST /cardInstructions :

Create a new card instruction.

More information on JSON:API resource creation: https://jsonapi.org/format/#crud-creating

Name Description
cardInstruction
string

Numeric value of the card instruction.

Refer to BankWorks (API) Data Mapping documentation for possible values.

description
string (20)

Textual description of the card instruction.

cardAlias
string

Card alias used instead of the card number.

trackingNumber
string

Unique number to identify the pre-generated cards.

pinBlock
string

Encrypted PIN block.

embossLine1
string (26)

Detail used for card embossing. Format: alphanumeric and special characters except for pipe (|) symbol.

embossLine2
string (26)

Detail used for card embossing. Format: alphanumeric and special characters except for pipe (|) symbol.

/cardDetailInstructions

Format: JSON:API Resource

A resource that can be used to retrieve card sensitive information. Clients intending to use this resource MUST be PCI compliant. Card secure details can be retrieved one request at a time.

Name Description
cardAlias
string

Card alias used instead of the card number to retrieve data.

cardDetailType
string

The attribute needed to be retrieved. Can be one of

  • EXPIRY_DATE
  • CARD_NUMBER
  • CVV

/cards

Format: JSON:API Resource

This resource holds information of all issued cards. In BankWORKS cards are cardholder services based on ‘issuing’ type services. Cards are also linked to the cardholder’s contract.

Permitted JSON:API resource operations:

GET /cards :

Retrieve all card resources.

More information on JSON:API resource access: https://jsonapi.org/format/#fetching

POST /cards :

Create a new card for the client. This is for cardholder boarding only. Addition of cards for existing cardholders is yet to be supported.

More information on JSON:API resource creation: https://jsonapi.org/format/#crud-creating

DELETE /cards/{id} :

Delete a single card for one that’s not yet onboarded. Deletion is not possible for onboarded card resource.

More information on JSON:API resource deletion: https://jsonapi.org/format/#crud-deleting

Name Description
cardAlias
string

An alternative card identification means. The cardAlias replaces the cardNumber for referencing the card without any use of sensitive details.

cardStatus
string (3)

Indicates the current card status.

(For example: 000 (Inactive), 001 (Active), 004 (Permanent Block).

Refer to API Data Mapping documentation for possible values.

embossLine1
string (26)

Detail used for card embossing. Format: alphanumeric and special characters except for pipe (|) symbol.

embossLine2
string (26)

Detail used for card embossing. Format: alphanumeric and special characters except for pipe (|) symbol.

embossLine3
string (26)

Detail used for card embossing.

plasticType
string (3)

Identifies the type of plastic to be generated by the embosser. In the case of virtual card only, plastic type of 500 needs to be provided.

Refer to API Data Mapping documentation for possible values.

serviceCategoryCode
string (3)

The Service Category for this Card.

Refer to API Data Mapping documentation for possible values.

serviceId
string (3)

Indicates the card Service ID the card is based on.

This MAY be passed instead of the cardServiceDefinitions relationship in case the Service ID value is known.

Refer to API Data Mapping documentation for possible values.

lastIssueDate
date

Date in ISO 8601 format on which the card was last issued.

clientTariff
string (3)

Indicates the card tariff package assigned for the card.

Refer to API Data Mapping documentation for possible values.

lastFeeDate
date

Date in ISO 8601 format indicating last card fee generation date.

recordDate
date

The record creation date.

Relationships
{id}/cardAccumulators

Applicable card acumulators. Effective date needs to be taken into consideration as the relationship gives access to past, current and future effective data.

{id}/cardholder
of type /cardholders

Relationship to the client resource if a private cardholder contract.

{id}/commercialClient

Relationship to the client resource if a commercial contract.

{id}/cardServiceDefinitions

Relationship to the card service definition resource.

{id}/accounts
of type /issAccounts

The accounts where the card may post transactions to. These are determined by system posting rules.

{id}/contracts
of type /issContracts

Related client contract for this card. Effective date needs to be taken into consideration as the relationship gives access to past, current and future effective data.

{id}/installmentInstructions

Any installment instruction/s related to this card.

{id}/poiSetting

The card information linked to the card POI (point of interaction) setting.

/cardPoiSettings

Format: JSON:API Resource

This resource can be used to control card point of interaction settings such as E-Commerce transctions, ATM withdrawals freeze card etc. Card POI settings can be accessed through the cards resource using a relationship and are not created by default for a card.

Card POI Settings work on top of existing card accumulator limits and institution velocity parameters.

If no Card POI settings resource exists for a card it can be defined. By default, no POI settings means everything is enabled unless other limitations at other levels are in place, such as accumulators or velocity parameters.

Permitted JSON:API resource operations:

GET /cardPoiSettings :

Retrieve all the POI (point of interaction) settings of all issued cards.

More information on JSON:API resource access: https://jsonapi.org/format/#fetching

POST /cardPoiSettings :

Create a new POI (point of interaction) setting of an issued card.

More information on JSON:API resource creation: https://jsonapi.org/format/#crud-creating

PATCH /cardPoiSettings/{id} :

Modify an existing POI (point of interaction) setting with the resource ID.

More information on JSON:API resource updates: https://jsonapi.org/format/#crud-updating

Name Description
disableEcommerce
string (3)

A flag indicating if card’s eCommerce transactions are blocked.

Valid values:

  • 000 - No (eCommerce Enabled)

  • 001 - Yes (eCommerce Disabled)

disableContactless
string (3)

A flag indicating if card’s contactless transactions are blocked.

Valid values:

  • 000 - No (Contactless Enabled)

  • 001 - Yes (Contactless Disabled)

disableSwipe
string (3)

A flag indicating if card’s swipe transactions are blocked.

Valid values:

  • 000 - No (Swipe Card Enabled)

  • 001 - Yes (Swipe Card Disabled)

disableAtm
string (3)

A flag indicating if ATM withdrawals are blocked.

Valid values:

  • 000 - No (ATM Enabled)

  • 001 - Yes (ATM Disabled)

suspendCardActivities
string (3)

A flag indicating if all card’s activities are blocked.

Valid values:

  • 000 - No (Allow Card Activities)

  • 001 - Yes (Suspend Card Activities)

allowedCountries
List (800)

An array of countries provided in the ISO 3-letter format (ex: [“USA”,“MLT”,“ITA”]).

If null or 999 value, all countries available will be allowed.

If 000, all countries are blocked, meaning all transactions will be declined.

The list of countries provided must be valid values.

Please note: This feature does not override any existing Issuer Institution limitations such as velocity parameters.

allowedMccGroups
List (800)

An array of MCC groups provided in the BW index field format (ex: [“002”,“005”,“006”]).

If null or 999 value, all available MCC groups will be allowed (see /mccGroupRangeDefinitions, the values provided must map with the isoBussClassGroup setup available, refer to Retrieve MCC Group Ranges use case).

If 000, all MCC groups are blocked, meaning all transactions will be declined.

The list of mcc group provided must be valid values.

Please note: This feature does not override any existing Issuer Institution MCC restrictions.

lastAmendmentDate
date-time

The date and time when the setting was last updated. E.g. 2024-07-09T07:23:45

recordDate
date

This is the creation date of the card POI setting.

Relationships
{id}/card
of type /cards

The card resource for which this POI setting will be applied to.

/cardServiceDefinitions

Format: JSON:API Resource

Represents the issuing services (card services), that are available for the institution. Card service definitions are used to define what cards a cardholder may apply for and must be seen in context of a service contract.

Permitted JSON:API resource operation:

GET /cardServiceDefinitions :

Read only resource. The resource will be used to retrieve a listing of available Issuer service.

More information on JSON:API resource access: https://jsonapi.org/format/#fetching

Name Description
serviceId
string (3)

The card service identifier.

Refer to API Data Mapping documentation for possible values.

cardBrand
string (3)

The card brand of the card product resource.

Refer to API Data Mapping documentation for possible values.

cardOrganization
string (3)

The card organisation of the card based product.

Refer to API Data Mapping documentation for possible values.

effectiveDate
date

The date in ISO 8601 format when the card service definition record becomes effective for the client.

cardEffectiveDateMode
string (3)

A system defined index used in the Card Console process to determine the effective date for Card Accumulator and Card Status Change.

Example: 001 (Posting Date), 002 (Previous Expiry Plus 1).

Refer to API Data Mapping documentation for possible values.

serviceBeneficiary
string (3)

Specifies the client level benefetting from the service, for example client client, billing level.

_one of 001 (Member Client), 002 (Billing level), 003 (not applicable), 004 (Grp Yes, Acct Yes), 005 (Grp Yes, Acct Option)__

Refer to API Data Mapping documentation for possible values.

serviceType
string (3)

Card service type (debit card, credit card, charge card).

Refer to API Data Mapping documentation for possible values.

plasticType
string (3)

A user specified label for a type of plastic used for card embossing.

Refer to API Data Mapping documentation for possible values.

areaOfEvent
string (3)

Defines transaction destination for issuer services.

Refer to API Data Mapping documentation for possible values.

cardLength
number

The total length of the card number (PAN).

maximum: 99

binLength
number

Defines the length of the card product BIN. Based on BIN values.

maximum: 99

startBinValue
string

The start BIN of the card product.

endBinValue
string

The end BIN of the card product.

selectionkey
string (20)

A unique record key generated upon record update.

sequenceLength
number

Based on PAN length entered.

maximum: 99

sequenceNumber
string

The sequence number counter used to generate card numbers.

serviceCategoryCode
string (3)

User defined type of coding for card embossing.

Refer to API Data Mapping documentation for possible values.

cardEncodingScheme
string (3)

Client specific. Identifies the type of encoding to which the service contract applies.

Refer to API Data Mapping documentation for possible values.

commonGroupExpiry
string (3)

A user specified label for a card product or a group of card brands.

Refer to API Data Mapping documentation for possible values.

numberGenerationMethod
string (3)

Specifies the generation of sequence numbers (Sequential, Random).

Refer to API Data Mapping documentation for possible values.

wrongPinLimit
number

The default wrong pin limit counter for a card product.maximum: 999

dailyPinReset
string

Identifies if the wrong PIN limit should be reset daily or not. Possible values are 001 (YES) or 000 (NO) for the specific (card) service ID (type).

applicationId
string (3)

Application identifier.

Example: 002 (Authorization Controls), 003 (Cardholder Verification (PIN))

Refer to API Data Mapping documentation for possible values.

memberId
string

Field used to populate the member ID fo rthe respective transaction during BIN lookup processing. Applies for ONUS cards.

productId
string

A user-specified label for a card product or a group of card brands.

pvki
number

Pin verification key index.

minimum: 1, maximum: 6

track3DataType
string (3)

User specified track 3 data if applicable.

Refer to API Data Mapping documentation for possible values.

emergencyExpiry
string

Select the period of time (in months) for which the the emergency card will expire.

firstRenewalPeriod
string (3)

Used to generate card expiry date for new cards.

Refer to API Data Mapping documentation for possible values.

subsequentRenewalPeriod
string (3)

Used to generate card expiry date for renewal cards.

Refer to API Data Mapping documentation for possible values.

reissueExpiryMode
string

Identifies how the generation of expiry date will be done for Card Reissue.

Refer to API Data Mapping documentation for possible values.

reissueThreshold
string

Identifies the period before card expiry for which replacement is ignored, e.g. one month, two months. If a replacement card is requested within the threshold then the cardholder must wait until the next renewal date for the card.

replacementThreshold
string

Defines the minimum number of months till card expiry allowing card replacement.

replacementExpiryMode
string

Identifies how the generation of expiry date will be done for Card Replacement.

Refer to API Data Mapping documentation for possible values.

noteText
string

Free text notes on the service definition.

maximum: 2000

Relationships
{id}/cardAccumulatorDefinitions

The related card accumulator definitions for this card service setup. Effective date needs to be taken into consideration as the relationship gives access to past, current and future effective data.

{id}/cards
of type /cards

Issued cards based on the card service definition.

{id}/contractDefinition

The service contract definition under which the card service is grouped.

{id}/velocityParameters

The velocity limit parameters related applicable to the card service definition. Effective date needs to be taken into consideration as the relationship gives access to past, current and future effective data.

/commercialClients

Format: JSON:API Resource

A resource representing commercial issuing clients. Commercial clients are entities at the group or sub-group level of commercial hierarchies representing an organisational structure for segregating cardholders. An example would be corporate cards split by department under an organisation.

Permitted JSON:API resource operation:

GET /commercialClients :

Get all the commercial clients.

More information on JSON:API resource access: https://jsonapi.org/format/#fetching

Name Description
clientNumber
string (8)

BankWORKS 8-digit client number uniquely identifying the commercial client.

clientNumberRbs
string (20)

External commercial client reference number.

status
string (3)

Indicates the current status of the cardholder.

Refer to API Data Mapping documentation for possible values.

clientType
string (3)

Indicates the type for the client. For example, 006 - Commercial.

Refer to API Data Mapping documentation for possible values.

mainContactDetails
object
Name Description
title
string

Client main contact’s salutation.

contactName
string (315)

Main contact’s name.

mobile1
string (15)

Main contact’s mobile phone, number 1.

mobile2
string (15)

Main contact’s mobile phone, number 2.

vatRegistrationNumber
string (15)

VAT number of the commercial client.

registrationNumber
string (15)

The commercial client registration number.

registrationDate
date

Commercial client date of registration.

residenceStatus
string (3)

Refer to BankWorks (API) Data Mapping documentation for possible values.

residenceStatusDate
date

The date in ISO 8601 format relating to the Commercial client’s current residence state.

language
string (3)

Main language of the commercial client.

Refer to BankWorks (API) Data Mapping documentation for possible values.

shortName
string (26)

Short name.

companyName
string (45)

Commercial client company name.

legalForm
string (3)

Related to the legal form of the merchant. Such as:

  • 000 n/a
  • 001 Limited
  • 002 Joint Stock
  • 003 Plc
  • 004 GmbH
  • 005 Societe Anonyme
  • 006 Company
  • 007 Corporation
  • 029 Sole Proprietor

Refer to BankWorks (API) Data Mapping documentation for possible values.

tradeName
string (25)

The name under which the commercial client is trading.

businessClass
string (4)

The ISO 4-digit business classification code.

Refer to BankWorks (API) Data Mapping documentation for possible values.

Relationships
{id}/accounts
of type /issAccounts

Relationship to the client’s accounts.

{id}/addresses
of type /issAddresses

Relationship to the client’s addresses.

{id}/cards
of type /cards

Relationship to the client’s cards.

{id}/contracts
of type /issContracts

Relationship to the client’s contracts.

{id}/settlementPackages

Relationship to the client’s settlement details.

/contractDefinitions

Format: JSON:API Resource

Resource representing the service contract definitions available. Each contract definition encapsulates a number of services and accounts which are available as relationships. Service contracts are categorised by contract type which serves as an instruction for processing to drive specific functionality tied to each business type. Refer to contracts for client contracts based on these definitions.

Permitted JSON:API resource operation:

GET /contractDefinitions :

Get all service contract definitions applicable to your institution.

More information on JSON:API resource access: https://jsonapi.org/format/#fetching

Name Description
serviceContractId
string (3)

Service contract package identifier.

Refer to API Data Mapping documentation for possible values.

contractType
string (3)

Specification of the service contract from a business perspective such as issuer, acquirer, clearing or suspense.

Refer to API Data Mapping documentation for possible values.

description
string (2000)

Free text description of the service contract.

reviewPeriod
string (3)

Specifies how frequently the serviceContract should be revised.

Refer to API Data Mapping documentation for possible values.

Relationships
{id}/accountDefinitions

Accounts types that are linked to the service contract.

{id}/cardServiceDefinitions

Issuing (card) service definitions linked to the service contract. Effective date needs to be taken into consideration as the relationship gives access to past, current and future effective data.

{id}/issContracts
of type /issContracts

Client contracts that are based on the service contract definition. Effective date needs to be taken into consideration as the relationship gives access to past, current and future effective data.

{id}/limitDefinitions

Account limit definitions linked to the service contract.

{id}/serviceDefinitions

Non issuing services definitions that are linked to the service contract. Effective date needs to be taken into consideration as the relationship gives access to past, current and future effective data.

{id}/velocityParameters

The velocity parameters setup for the service contract. Effective date needs to be taken into consideration as the relationship gives access to past, current and future effective data.

/currencyRates

Format: JSON:API Resource

Resource to manage FX rates. New currency rates may be added, exiting rates may also be modified via this resource.

Permitted JSON:API resource operations:

GET /currencyRates :

Retrieve a list of available currency rates.

More information on JSON:API resource access: https://jsonapi.org/format/#fetching

POST /currencyRates :

Add a new currency rate.

More information on JSON:API resource creation: https://jsonapi.org/format/#crud-creating

PATCH /currencyRates/{id} :

Update an existing currency rate.

More information on JSON:API resource updates: https://jsonapi.org/format/#crud-updating

DELETE /currencyRates/{id} :

Delete an existing currency rate.

More information on JSON:API resource deletion: https://jsonapi.org/format/#crud-deleting

Name Description
currency
string (3)

The currency SWIFT code to which the rate information applies. In cases where value consists of 3 digits, 998 means not applicable and 999 means applicable to all currencies.

Refer to API Data Mapping documentation for possible values.

baseCurrency
string (3)

Defines the currency in SWIFT code format to which all rates of the same category are expressed. In cases where value consists of 3 digits, 998 means not applicable and 999 means applicable to all currencies.

Refer to API Data Mapping documentation for possible values.

fxRateCategory
string (3)

Description of FX rate provider.

Refer to API Data Mapping documentation for possible values.

effectiveDate
date

The date and time in ISO 8601 format when the currency rate becomes effective, in conjunction with effectiveTime. If the effective date is not specified, then the current date + 1 at 00:00:00 is assumed.

groupIdNo
string (11)

When a currency rate is effected through an API call the value of this field is all zeroes. When currency rates are uploaded through a batch file, the file number is inserted in this field. This enables the user to query all the currency rates pertaining to a particular file load.

calculationBase
string (3)

Defines if the rate will be used as loaded, multiplied or divided.

Refer to API Data Mapping documentation for possible values.

rateFormula
string (3)

Defines how the middle rate is being expressed, Standard, Inverted.

Refer to API Data Mapping documentation for possible values.

middleRate
number

FX middle rate. Maximum allowed length (including decimal point) is 16.

purchaseRate
number

FX buy rate. Maximum allowed length (including decimal point) is 16.

salesRate
number

FX sell rate. Maximum allowed length (including decimal point) is 16.

/currencyRateSpreads

Format: JSON:API Resource

Resource for retrieving and managing FX rate spreads.

Permitted JSON:API resource operations:

GET /currencyRateSpreads :

To get a list of available currency rates.

More information on JSON:API resource access: https://jsonapi.org/format/#fetching

POST /currencyRateSpreads :

Add a new currency rate spread.

More information on JSON:API resource creation: https://jsonapi.org/format/#crud-creating

PATCH /currencyRateSpreads/{id} :

Update an existing currency rate spread.

More information on JSON:API resource updates: https://jsonapi.org/format/#crud-updating

DELETE /currencyRateSpreads/{id} :

Delete an existing currency rate spread.

More information on JSON:API resource deletion: https://jsonapi.org/format/#crud-deleting

Name Description
currency
string (3)

The currency in SWIFT code format to which the rate information applies. In cases where value consists of 3 digits, 998 means not applicable and 999 means applicable to all currencies.

Refer to API Data Mapping documentation for possible values.

baseCurrency
string (3)

Defines the currency in SWIFT code format to which all rates of the same category are expressed. In cases where value consists of 3 digits, 998 means not applicable and 999 means applicable to all currencies.

Refer to API Data Mapping documentation for possible values.

fxRateCategory
string (3)

Description of FX rate provider eg. Own, VISA etc.

Refer to API Data Mapping documentation for possible values.

effectiveDate
date

The date in ISO 8601 format when the currency rate becomes effective. If an effective date is not provided, the current system date is assumed.

percentFxSpread
string (3)

Defines whether percentage FX spread is applied for the particular FX rate category.

Refer to API Data Mapping documentation for possible values.

purchaseSpread
number

Value used to calculate purchase rate if spread is applied. Maximum allowed length (including decimal point) is 16.

salesSpread
number

Value used to calculate sales rate if spread applied. Maximum allowed length (including decimal point) is 16.

percentSalesSpread
number

Percentage used to calculate sales rate if spread applied. Field open only if percentage FX spread flag set to Yes - 001. Maximum allowed length (including decimal point) is 9.

percentPurchaseSpread
number

Percentage used to calculate purchase rate if spread is applied. Only applicable if percentFXSpread flag is Yes - 001. Maximum allowed length (including decimal point) is 9.

fluctuationThreshold
number

Tolerated fluctuation between the FX rate being input and the latest effective FX rate.

maximum: 999999999

recordDate
date

The record creation date.

/installmentInstructions

Format: JSON:API Resource

This resource is used to initiate an instruction for a cardholder transaction to be converted to installments provided the transaction and the originating merchant must be qualified for installments. One can also view, modify, or delete an existing instruction.

Permitted JSON:API resource operations:

GET /installmentInstructions :

Returns all or one installment instructions regardless of the status.

More information on JSON:API resource access: https://jsonapi.org/format/#fetching

POST /installmentInstructions :

Initiates an instruction to convert a transaction to installments with qualifying transaction parameters.

More information on JSON:API resource creation: https://jsonapi.org/format/#crud-creating

PATCH /installmentInstructions/{id} :

Modifies an instruction which is not yet processed or Completed (status 002).

More information on JSON:API resource updates: https://jsonapi.org/format/#crud-updating

DELETE /installmentInstructions/{id} :

Deletes an instruction which is not yet processed or Completed (status 002).

More information on JSON:API resource deletion: https://jsonapi.org/format/#crud-deleting

Name Description
transactionSlip
string (11)

Slip reference of the original transaction to be converted to installments.

Example: 00300011314

transactionInformation
object

Information on the original transaction to be converted to installments.

Name Description
accountAmount
object

Amount of the transaction converted to account’s currency if different than original transaction currency.

transactionAmount
object

Amount of the original transaction in originating transaction’s currency.

installmentAmount
object

Regular installment amount to be paid after initial payment or first installment. This can be provided on POST/PATCH request or automatically calculated.

Name Description
value
decimal

The quantative decimal monetary amount (eg. 1.1)

currency
string

The ISO 4217 currency code (eg. 'EUR')

firstInstallmentAmount
object

Initial payment for the installment.

Name Description
value
decimal

The quantative decimal monetary amount (eg. 1.1)

currency
string

The ISO 4217 currency code (eg. 'EUR')

lastInstallment
object

Calculated amount last installment payment dependent on initial and regular payments.

Name Description
value
decimal

The quantative decimal monetary amount (eg. 1.1)

currency
string

The ISO 4217 currency code (eg. 'EUR')

loanAmount
object

Calculated amount for the transaction to be converted to installments with interest rate if applicable.

Name Description
value
decimal

The quantative decimal monetary amount (eg. 1.1)

currency
string

The ISO 4217 currency code (eg. 'EUR')

interestPercent
number

Interest percentage of loan amount.

numberOfInstallments
string (3)

Number of installments including the first and last installment.

Refer to API Data Mapping documentation for possible values.

status
string (3)

3-digit reference of the instruction status.

One of 008 (Approved), 007 (Entered), 002 (Completed)

Refer to API Data Mapping documentation for possible values.

merchantId
string (20)

Merchant number reference for which the transaction originated. This will be automatically populated for On-Us merchants. For non-OnUs merchant, ID will need to be provided on request.

merchantName
string

Descriptive name of the merchant for which the transaction occurred.

notes
string

Free-text note for the installment instruction.

recordDate
date

Date for when the instruction was created.

Relationships
{id}/card
of type /cards

Including this will provide card details for the installment instruction.

{id}/sourceAccount
of type /issAccounts

This is the source account of the original transaction for which this instruction is created.

{id}/destinationAccount
of type /issAccounts

This is the installment account for which the installment amounts will be transferred to.

{id}/contracts
of type /issContracts

The contract related to the instruction.

/issAccountBalanceTransfers

Format: JSON:API Resource

Resource representing account balance transfer instructions. Balance transfer instructions require a source and destination accounts of to be known. These accounts can be passed using the available relationships and need to be based on the same currency. Instructions will be executed once they are picked up for processing.

Permitted JSON:API resource operations:

GET /issAccountBalanceTransfers :

Get a list of all balance transfer instructions.

More information on JSON:API resource access: https://jsonapi.org/format/#fetching

POST /issAccountBalanceTransfers :

Create a new balance transfer instruction.

More information on JSON:API resource creation: https://jsonapi.org/format/#crud-creating

PATCH /issAccountBalanceTransfers/{id} :

Modify an instruction identified by the resource ID. Status 002 (Completed) instructions cannot be modified.

More information on JSON:API resource updates: https://jsonapi.org/format/#crud-updating

DELETE /issAccountBalanceTransfers/{id} :

Delete an instruction identified by the resource ID. Status 002 (Completed) instructions cannot be deleted.

More information on JSON:API resource deletion: https://jsonapi.org/format/#crud-deleting

Name Description
transactionSlip
string (11)

System generated 11-digit unique transaction transfer instruction identifier.

transferType
string (3)

Defines the type of transfer being effected.

Examples may include: 403 (Redemption Cash), 404 (Redemption Air Miles), 416 (Redemption Qualifying Miles), 950 (Misc. DR transaction), 951 (Misc. CR transaction).

Refer to API Data Mapping documentation for possible values.

transferAmount
object

The amount being transferred in the currency of the source account.

Name Description
value
decimal

The quantative decimal monetary amount (eg. 1.1)

currency
string

The ISO 4217 currency code (eg. 'EUR')

status
string (3)

Indicates the current processing status of the balance transfer instruction.

Refer to API Data Mapping documentation for possible values.

transactionNarrative
string (100)

A free-text transaction description, up to 100 characters.

recordDate
date

Indicates the transfer instruction creation date based on the posting date at time of creation.

Relationships
{id}/sourceAccount
of type /issAccounts

Relationship linking the instruction to the source account.

{id}/destinationAccount
of type /issAccounts

Relationship linking the instruction to the destination account.

/issAccounts

Format: JSON:API Resource

Represents BankWORKS client sub-accounts. Each individual account is based on an account definition rule which acts as a blueprint for the account and linked to a client contract

Permitted JSON:API resource operations:

GET /issAccounts :

Get a list of client accounts.

More information on JSON:API resource access: https://jsonapi.org/format/#fetching

POST /issAccounts :

Create or assign an account to the client.

More information on JSON:API resource creation: https://jsonapi.org/format/#crud-creating

PATCH /issAccounts/{id} :

Amend an account assigned to the client.

More information on JSON:API resource updates: https://jsonapi.org/format/#crud-updating

DELETE /issAccounts/{id} :

Delete account of a client. Deletion of account is not possible once client is already onboarded.

More information on JSON:API resource deletion: https://jsonapi.org/format/#crud-deleting

Name Description
accountNumber
string (11)

BankWORKS 11-digit internal account number. Unique per institution.

clientAccountName
string (35)

Cardholder account alias.

accountTypeId
string (3)

Indicates the account type of the client account. When defining new accounts, this attribute along with the accountCurrency can be supplied as an alternative to the accountDefinitions relationship.

Refer to API Data Mapping documentation for possible values.

accountCurrency
string (3)

Indicates the currency of the account. The currency is represented in 3 letter SWIFT format such as EUR, USD etc.

When defining new accounts, this attribute along with the accountTypeId can be supplied as an alternative to the accountDefinitions relationship.

Refer to API Data Mapping documentation for possible values.

status
string (3)

The current status of the account such as one of the following:

  • 001 Active
  • 002 Closed
  • 003 Suspended.

Refer to API Data Mapping documentation for possible values.

accountNumberRbs
string (28)

External RBS account number reference.

billingCycle
string (3)

Indicates the billing cycle applicable for the account.

Refer to API Data Mapping documentation for possible values.

billingLevel
string (3)

Indicates if the cardholder account holds settlement responsibilities for the related sub-hierarchy.

  • 001 Billing level
  • 000 Not billing level
statementGeneration
string (3)

Indicates the statement generation rule applicable for this account.

Refer to API Data Mapping documentation for possible values.

statementType
string (3)

The type of statement applicable for this account.

Refer to API Data Mapping documentation for possible values.

lastAccrualDateCredit
date

Last credit interest accrual date in ISO 8601 format.

lastAccrualDateDebit
date

Last debit interest accrual date in ISO 8601 format.

availabilityAmount
object

This is the calculated available amount for the account based on the account limit setup.

Name Description
value
decimal

The quantative decimal monetary amount (eg. 1.1)

currency
string

The ISO 4217 currency code (eg. 'EUR')

lastFeeDate
date

Last account fee generation date in ISO 8601 format.

lastStatementDate
date

Last statement generation date in ISO 8601 format.

recordDate
date

The record creation date.

Relationships
{id}/accountDefinition

Relationship to the account definition resource.

{id}/cardholder
of type /cardholders

Relationship to the client resource if a private cardholder client.

{id}/commercialClient

Relationship to the client resource if a commercial client.

{id}/contracts
of type /issContracts

Client contract resources linked to this account. Effective date needs to be taken into consideration as the relationship gives access to past, current and future effective data.

{id}/settlementPackage

Bank account settlement information related to this BankWORKS account. Only billing level accounts require settlement details to be defined.

{id}/accountFeeDefinitions

Account fees applicable for the cardholder account based on the client contract tariff assigned. Contract based account fees as well as individual client specific account fees overriding contract based fees are available. Effective date needs to be taken into consideration as the relationship gives access to past, current and future effective data.

{id}/accountLimits
of type /limits

Applicable account limits linked to the account. Effective date needs to be taken into consideration as the relationship gives access to past, current and future effective data.

{id}/globalClientLimits
of type /limits

Links to the global client account limit. The global client limit is a limit that acts on top of the account limit. Effective date needs to be taken into consideration as the relationship gives access to past, current and future effective data.

{id}/balanceCycles
of type /balanceCycles

Cycle balances related to the account, includes past cycles and the current cycle.

{id}/cycleChangeInstructions

Billing cycle instructions linked to the account.

/issAddresses

Format: JSON:API Resource

Represents BankWORKS client addresses. All address records have an effectiveDate value which indicates when the record becomes effective. Addresses in BankWORKS are categorised and each client can have a single effective address per category.

Permitted JSON:API resource operations:

GET /issAddresses :

Get a list of all client addresses.

More information on JSON:API resource access: https://jsonapi.org/format/#fetching

POST /issAddresses :

Create a new client address record. Can be used to create present or future effective changes to a past effected address record.

More information on JSON:API resource creation: https://jsonapi.org/format/#crud-creating

PATCH /issAddresses/{id} :

Update is only possible on a present or future effective address record. In order to modify a past effected address, a new address record needs to be created using POST having a present or future dated effectiveDate value.

More information on JSON:API resource updates: https://jsonapi.org/format/#crud-updating

DELETE /issAddresses/{id} :

Delete address resource belonging to client that is not yet on-boarded or future effective address records.

More information on JSON:API resource deletion: https://jsonapi.org/format/#crud-deleting

Name Description
addressCategory
string (3)

The address category identifier for the returned client address resource are the following but not limited to:

  • 001 Standard
  • 006 Statement

A client must have at least one standard (001).

Refer to API Data Mapping documentation for possible values.

effectiveDate
date

The date in ISO 8601 format when the address becomes effective. The value can be future dated and cannot be less than the posting date. If not provided, the current posting date is automatically assumed.

expiryDate
date

The date in ISO 8601 format when the address record is no longer taken into consideration. Can be used for temporary addresses. Date must be in the future.

addressLine1
string (35)

Address line typically used for building information but not limited to house name, number, floor, unit and block number.

addressLine2
string (35)

Address line typically used for street information such as street number and name.

addressLine3
string (35)

Extra address properties that might be required and are not catered for by the attributes available.

addressLine4
string (35)

Extra address properties that might be required and are not catered for by the attributes available.

addressLine5
string (35)

Extra address properties that might be required and are not catered for by the attributes available.

contactName
string (35)

Main contact name for the address.

city
string (35)

Client’s city.

state
string (3)

3 digit identifier for the client’s state/region.

Refer to API Data Mapping documentation for possible values.

country
string (3)

The ISO 3-letter country code. In cases where value consists of 3 digits, 000 means not applicable and 999 means applicable to all countries.

Refer to API Data Mapping documentation for possible values.

postCode
string (20)

Client’s postcode.

poBox
string (10)

P.O. Box details.

telephone1
string (15)

Primary address fixed line number, for example, a client’s home or business telephone number.

telephone2
string (15)

Secondary address fixed line number for example a secondary business telephone number.

faxWork
string (15)

Office fax number.

addressLanguage
string (3)

3-digit identifier for the client language associated with the address.

Refer to API Data Mapping documentation for possible values.

deliveryMethod
string (3)

3-digit value indicating the preferred delivery option for correspondence. Defaulted to not applicable (000) - Not applicable, if not provided.

Refer to API Data Mapping documentation for possible values.

emailAddress
string (60)

Client’s e-mail address.

recordDate
date

The record creation date.

Relationships
{id}/cardholder
of type /cardholders

Relationship to the cardholder linked to the address.

{id}/commercialClient

Relationship to the commercial client linked to the address.

/issContracts

Format: JSON:API Resource

Resource representing client contract information. Each record returned represents a service contract assigned to a client along with specific client contract setup. Contracts have an effective date which dictates when the contract becomes active. This resource keeps history of contract records assigned to the client as well as any upcoming contract amendments.

Permitted JSON:API resource operations:

GET /issContracts :

Get a list of all client contracts available.

More information on JSON:API resource access: https://jsonapi.org/format/#fetching

POST /issContracts :

Define new contract resource for a new client. Creation of new contracts is not possible following client onboarding. Can be used to create future effective changes to a current contract record.

More information on JSON:API resource creation: https://jsonapi.org/format/#crud-creating

PATCH /issContracts/{id} :

Update a contract record for a client that is not yet onboarded or a future effective contract record. In order to modify a current contract, a new contract record needs to be created having a future dated effectiveDate value.

More information on JSON:API resource updates: https://jsonapi.org/format/#crud-updating

DELETE /issContracts/{id} :

Delete contract resource for a client that is not yet onboarded or future effective contract records.

More information on JSON:API resource deletion: https://jsonapi.org/format/#crud-deleting

Name Description
contractCategory
string (3)

The contract category determines the type of hierarchy.

  • 001 - Private cardholder contracts
  • 002 - Commercial cardholder contracts
serviceContractId
string (3)

Indicates the service contract ID linked to the client contract.

This MAY be passed instead of the contractDefinitions relationship in case the Service Contract ID value is known.

Refer to API Data Mapping documentation for possible values.

parentClientNumber
string (8)

Indicates the client number of the parent client in the hierarchy. This is an optional attribute that can be provided instead of the parentContracts relationship when defining a lower level client in a hiearchy.

status
string (3)

Indicates the status of the client contract.

Refer to API Data Mapping documentation for possible values.

groupNumber
string (8)

8-digit number indicating a billing and settlement hiearchical group. In this case, the group number indicates the hierarchy the contract form parts of. This field’s value is auto-generated.

clientLevel
string (3)

Indicates the position of the current node resource within the group hierarchy. The top most level is identified as the Group level, the bottom level is the Member level. Any level in between the group and member levels is referred to as a Sub-group level node. Required only when onboarding a new client.

Refer to API Data Mapping documentation for possible values.

effectiveDate
date

The date in ISO 8601 format on which the hierarchy link record becomes effective for the client. The value can be future dated and cannot be less than the posting date. If not provided, posting date +1 value is assumed only post-boarding.

settlementMethod
string (3)

Indicates the method how the client will settle with the bank. Identifies how outstanding balances are settled. Required only when onboarding a new client.

Refer to API Data Mapping documentation for possible values.

postingMethod
string (3)

The tariff under which the client falls when posting to the clients account.

Refer to API Data Mapping documentation for possible values.

clientTariff
string (3)

Indicates the client tariff package assigned. Required only when onboarding a new client.

chargeTierLevel
string (3)

Enables setting up of the same fee with different value high and value low triggers.

Refer to API Data Mapping documentation for possible values.

clientScheme
string (3)

Indicates the rebate tariff applicable for the contract.

contractReference
string (8)

Cardholder contract document reference.

bankReference
string (8)

External additional reference number of the cardholder with the bank.

institutionAccountOfficer
string (3)

Officer in charge of the client contract.

Refer to API Data Mapping documentation for possible values.

clientBranch
string (3)

Contract application branch details. Related to the institutionAccountOfficer.

Refer to API Data Mapping documentation for possible values.

tierGroup
string (3)

An identifier used to group a set of rates that need to be applied during tiered pricing generation.

Refer to API Data Mapping documentation for possible values.

recordDate
date

The record creation date.

Relationships
{id}/contractDefinition

Relationship to the service contract definition resource.

{id}/cardholder
of type /cardholders

Relationship to the client resource if a private cardholder contract.

{id}/commercialClient

Relationship to the client resource if a commercial contract.

{id}/parentContracts
of type /issContracts

Optional relationship to build a hierarchy. Links to the parent contract, one level up the client hierarchy. Effective date needs to be taken into consideration as the relationship gives access to past, current and future effective data.

Alternatively if the parent client number is known, the attribute can be used instead of this relationship.

{id}/accounts
of type /issAccounts

Cardholder accounts linked to the contract.

{id}/services
of type /issServices

Client service/s created under the client contract. Effective date needs to be taken into consideration as the relationship gives access to past, current and future effective data.

/issServices

Format: JSON:API Resource

Represents service assignments to BankWORKS clients, such as cardholders. Client services are based on a service definition which acts as a ‘blueprint’. The service definitions available for a given client are dictated by the service contract assigned to that client, represented by contracts.

Permitted JSON:API resource operations:

GET /issServices :

Retrieve a list of all assigned services for clients.

More information on JSON:API resource access: https://jsonapi.org/format/#fetching

POST /issServices :

Create a new client service linked to the client contract. Service must be linked with serviceDefinition upon which it is based. Can be used to create future effective changes to a current service record.

More information on JSON:API resource creation: https://jsonapi.org/format/#crud-creating

PATCH /issServices/{id} :

Update existing client settlement information.

More information on JSON:API resource updates: https://jsonapi.org/format/#crud-updating

DELETE /issServices/{id} :

Delete service resource for a client that is not yet onboarded or future effective service records.

More information on JSON:API resource deletion: https://jsonapi.org/format/#crud-deleting

Name Description
clientNumber
string

The BankWORKS 8-digit client number.

groupNumber
string

Indicates the client hierarchy group the service relates to. Refer to contracts relationship below for linking service to contract.

serviceId
string

BankWORKS service identifier.

Refer to API Data Mapping documentation for possible values.

serviceCategory
string (3)

Indicates the service category of the client service.

Refer to API Data Mapping documentation for possible values.

status
string (3)

Indicates the current status of the client service.

Refer to API Data Mapping documentation for possible values.

effectiveDate
date

The date in ISO 8601 format when the client service becomes effective. The value can be future dated and cannot be less than the posting date. If not provided, posting date +1 value is assumed only post-boarding.

expiryDate
date

The date in ISO 8601 format when the client service expires and no longer applies.

clientTariff
string (3)

Indicates the applicable transaction charge rules. Defaults to “000” if not provided. Applicable only to card based issuing services. For miscellaneous service tariff, refer to the contracts resource.

Refer to API Data Mapping documentation for possible values.

reviewDate
date

Indicates the service revision date in ISO 8601 format.

airMilesNumber
string

Airline loyalty program number.

serviceNumber
string
recordDate
date

The record creation date in ISO8601 format.

Relationships
{id}/serviceDefinitions

Institution’s service definition setup applicable for the client service. Effective date needs to be taken into consideration as the relationship gives access to past, current and future effective data.

{id}/contracts
of type /issContracts

Service contracts that this service relates to. Effective date needs to be taken into consideration as the relationship gives access to past, current and future effective data.

{id}/serviceFeeDefinitions

Miscellaneous service fees applicable to the client service based on the client contract tariff. Effective date needs to be taken into consideration as the relationship gives access to past, current and future effective data.

/issSettlementPackages

Format: JSON:API Resource

Represents third party Retail Banking System (RBS) bank details of clients, general funding banking information necessary to enable the settlement of client accounts and client transactions by the bank’s financial systems. The attributes are grouped as Payables and Receivables used to pay and collect funds from the client. Information must be stored within the payable attributes, as this is the default set used by the system regardless of the direction of funds. Under certain specific circumstances when an account in BankWORKS requires payments and collections instructions to be routed to two different banking accounts, then the payable and receivables attribute groups may be used.

Permitted JSON:API resource operations:

GET /issSettlementPackages :

Retrieve a list of all settlement details defined.

More information on JSON:API resource access: https://jsonapi.org/format/#fetching

POST /issSettlementPackages :

Define new client settlement information.

More information on JSON:API resource creation: https://jsonapi.org/format/#crud-creating

PATCH /issSettlementPackages/{id} :

Update existing client settlement information.

More information on JSON:API resource updates: https://jsonapi.org/format/#crud-updating

DELETE /issSettlementPackages/{id} :

Delete settlementPackage resource for a client that is not yet on-boarded. Deletion of settlementPackage is not possible following client on-boarding.

More information on JSON:API resource deletion: https://jsonapi.org/format/#crud-deleting

Name Description
accountCurrency
string (3)

The currency of the counter bank account in SWIFT currency code format. In cases where value consists of 3 digits:

  • 998 means not applicable
  • 999 means applicable to all currencies.

Refer to API Data Mapping documentation for possible values.

settlementCategory
string (3)

Settlement information category descriptor such as Payable or Receivable.

Refer to API Data Mapping documentation for possible values.

bankClearingNumber
string (8)

Information regarding the account’s bank details.

receiverCountryCode
string (3)

The country where the bank account information is located. In cases where value consists of 3 digits:

  • 000 means not applicable
  • 999 means applicable to all countries.

Refer to API Data Mapping documentation for possible values.

payableDetails
object
Name Description
bankContactName
string (35)

The counter bank contact name used for PAYABLES.

bankTelNumber
string (15)

The counter bank telephone number used for PAYABLES.

confirmationMethod
string (3)

The routing channel used for example Fax, mail, SWIFT etc.

Refer to API Data Mapping documentation for possible values.

counterBankAccount
string (35)

The counter RBS bank account number used to settle PAYABLES.

counterBankAccountName
string (35)

The counter bank account name used for PAYABLES.

counterBankCity
string (35)

The counter bank’s city used for PAYABLES.

counterBankName
string (40)

The counter bank name used for PAYABLES.

counterBankNumber
string (11)

The counter bank number where the counter bank account used for PAYABLES is domiciled.

counterClientNumber
string (8)

The RBS client number used for PAYABLES.

fundingNarrative
string (18)

Contains funding information applicable for PAYABLES.

ibanReference
string (35)

The counter bank account IBAN used for PAYABLES.

paymentReference
string (24)

The reference to be included in the outward payment transaction.

receivableDetails
object
Name Description
bankContactName
string (35)

The counter bank contact name used for RECEIVABLES.

bankTelNumber
string (15)

The counter bank telephone number used for RECEIVABLES.

counterBankAccount
string (35)

The counter RBS bank account number used to settle RECEIVABLES.

counterBankAccountName
string (35)

The counter bank account name used for RECEIVABLES.

counterBankCity
string (35)

The counter bank’s city used for RECEIVABLES.

counterBankName
string (40)

The counter bank name used for RECEIVABLES.

counterBankNumber
string (11)

The counter bank number where the counter bank account used for RECEIVABLES is domiciled.

fundingNarrative
string (18)

Contains funding information applicable for RECEIVABLES.

ibanReference
string (35)

The counter bank account IBAN used for RECEIVABLES.

contingencyLiabilityAccount
string (11)

The RBS account that is used in case the counter RBS bank account is not able to fullfil the RECEIVABLE obligation.

correspondingBankAccount
string (16)

The NOSTRA/VOSTRO bank account of the affiliate institution.

correspondingBankNumber
string (35)

The bank number of the affiliate institution where the counter bank Nostro/Vostro are domiciled.

recordDate
date

The record creation date in ISO8601 format.

Relationships
{id}/accounts
of type /issAccounts

Accounts settled by this settlement package.

{id}/cardholder
of type /cardholders

Cardholder who owns the settlement information.

{id}/commercialClient

Commercial client who owns the settlement information.

/limits

Format: JSON:API Resource

Resource representing the cardholder account limits. Account limits are based off the limitDefinition rules. Refer to methods available for possible actions on a client limit.

Permitted JSON:API resource operations:

GET /limits :

To get all available account limits

More information on JSON:API resource access: https://jsonapi.org/format/#fetching

POST /limits :

Post request is made in order to create new account Limits as well as creating new limits with future effective date with existing account Limits number.

More information on JSON:API resource creation: https://jsonapi.org/format/#crud-creating

PATCH /limits/{id} :

Amend is only applicable on future effective limits.

More information on JSON:API resource updates: https://jsonapi.org/format/#crud-updating

DELETE /limits/{id} :

Deletion is only applicable on future effective limits.

More information on JSON:API resource deletion: https://jsonapi.org/format/#crud-deleting

Name Description
limitNumber
string (11)

BankWORKS 11-digit number identifying the limit.

limitLevel
string (3)

The limit level identifies the account level to which this limit pertains.

Refer to API Data Mapping documentation for possible values.

effectiveDate
date-time

The date in ISO 8601 format on which the limit record becomes effective for the provided card. If left empty, the current system date is assumed.

expiryDate
date

The date in ISO 8601 format on which the limit is no longer effective. Expiry date must be greater than the effectiveDate.

clientLimit
object

The amount of credit the limit provides.

Name Description
value
decimal

The quantative decimal monetary amount (eg. 1.1)

currency
string

The ISO 4217 currency code (eg. 'EUR')

limitOverrideAmount
number

A calculated attribute that identifies the amount that the limit can be overriden.

limitOverridePercent
string (11)

A percentage, exceeding the limit, within which authorization approval is allowed.

cashLimitPercent
number

A percentage in which authorization approval for Cash transactions is allowed.

retailBalance
object

Retail balance amount.

Name Description
value
decimal

The quantative decimal monetary amount (eg. 1.1)

currency
string

The ISO 4217 currency code (eg. 'EUR')

recordDate
date

The record creation date.

Relationships
{id}/accounts
of type /issAccounts

BankWorks client account related to this resource.

{id}/contracts
of type /issContracts

Client contract related to this resource. Effective date needs to be taken into consideration as the relationship gives access to past, current and future effective data.

{id}/limitDefinition

The limits definition for which this resource is created from.

{id}/parentLimits
of type /limits

Parent limit related to this resource.

/limitDefinitions

Format: JSON:API Resource

Resource containing a list of limit types that can be used for card accounts. The limit definitions available within this resource are available at service contract level. In order to create a client account limit based on one of these definitions, the client contract must be related to the same contract definition as the limit definition.

Permitted JSON:API resource operation:

GET /limitDefinitions :

To get all available limit definitions defined for all institution service contracts.

More information on JSON:API resource access: https://jsonapi.org/format/#fetching

Name Description
limitTypeId
string (3)

Identifies the type of limit being used.

One of 000 (Not applicable), 001 (Revolving credit), 005 (Prepaid Card), 007 (Installment Loan), 999 (All)

Refer to API Data Mapping documentation for possible values.

category
string

Further categorisation of the limit for information purposes, such as Overdraft limit.

One of 001 (Overdraft), 002 (FX transaction), 003 (FX settlement), 004 (Guarantees), 005 (Letter of credit) _

Refer to API Data Mapping documentation for possible values.

currency
string (3)

The limit currency in SWIFT code format.

Example: USD

Refer to API Data Mapping documentation for possible values.

distributionType
string

Defines how the limit is used by cardholders belonging to the same hierarchy, i.e. forming part of the same contracts group.

One of 001 (Shared), 002 (Allocated), 003 (User-defined), 004 (Group) _

Refer to API Data Mapping documentation for possible values.

internalOverridePercent
number (11)

A percentage, the accepted exceeding override amount limit, within accepted authorization.

overrideCategories
string

Defines business categories allowing further override (e.g. T&E - Travel and Entertaining merchant group).

Refer to API Data Mapping documentation for possible values.

overrideCategoryPercent
number (11)

A percentage, exceeding category type, within accepted authorization.

reviewPeriod
string

Denotes to which billing cycle the account definition is assigned.

recordDate
date

The record creation date in ISO8601 format.

Relationships
{id}/accountDefinition

BankWorks account definition for which this resource is linked to.

{id}/contractDefinition

BankWorks contract definition related to this resource.

/mccGroupRangeDefinitions

Format: JSON:API Resource

A resource to retrieve grouped MCC ranges that are allowed through by the online switch. This resource may be used to identify what MCC groups may be passed in the cardPoiSettings for card level blockage of particular MCCs as desired by the cardholder.

Permitted JSON:API resource operation:

GET /mccGroupRangeDefinitions :

Retrieve MCC grouped ranges.

More information on JSON:API resource access: https://jsonapi.org/format/#fetching

Name Description
recordDate
date

Record creation date.

mccGroupCategory
string (3)

Links a business class group under a category.

Refer to API Data Mapping documentation for account definitions available for the institution.

mccBussClassGroup
string (3)

A grouping of MCCs that can be further classified by category (see mccGroupCategory).

Refer to API Data Mapping documentation for account definitions available for the institution.

mccStartRange
string (4)

The first Merchant Category Code included in the range.

mccEndRange
string (4)

The last Merchant Category Code included in the range.

/miscellaneousBatches

Format: JSON:API Resource

A resource representing miscellaneous acquirer batch input, batch transactions. Batches are linked to the institution client and have a processingStatus indicating the current state of the batch. More information on the processingStatus is available in the attribute description. A batch requires transactions to be linked to it in order to be approved for processing. These individual transactions linked to a batch can be defined in /miscellaneousBatchSlips and linked to the batch transaction by specifying the batch ID in the relationship of the transaction.

Permitted JSON:API resource operations:

GET /miscellaneousBatches :

Retrieval of all batches available regardless of processing status.

More information on JSON:API resource access: https://jsonapi.org/format/#fetching

POST /miscellaneousBatches :

Creation of a new batch. This would have an Entered status (007) and would require the individual transactions part of this batch to be defined prior to Approving (status 008) for processing. Refer to /miscellaneousBatchSlips for more info on the resource dedicated to the individual transactions.

More information on JSON:API resource creation: https://jsonapi.org/format/#crud-creating

PATCH /miscellaneousBatches/{id} :

To modify properties of a batch. Can only be accepted if the batch processingStatus (TRANSACTION_STATUS) is NOT In Process (001) / Loaded (005).

More information on JSON:API resource updates: https://jsonapi.org/format/#crud-updating

DELETE /miscellaneousBatches/{id} :

To delete the properties of a batch. Can only be accepted if the batch processingStatus (TRANSACTION_STATUS) is NOT In Process (001) / Loaded (005).

There are 2 options that will need to be looked as to how a batch can be deleted: - Either sending a DELETE request on the batch which results in WSM deleting the linked transactions as well - Otherwise, only allowing the DELETE of the batch if there no linked transactions (transactions would have to be deleted individually)

More information on JSON:API resource deletion: https://jsonapi.org/format/#crud-deleting

Name Description
transactionSlip
string

Auto-generated transaction slip as reference.

numberOriginalSlip
string (11)

Free text reference up to 11 characters. This field can be used to refer to an external (outside of BankWORKS) transaction. If this is null/empty, it will be generated similar with transactionSlip.

transactionType
string (3)

It will be determine on approval of the batch.

Either ‘950’ (Misc. DR transaction) or ‘951’ (Misc. CR transaction) depending on the overall balance after summing up the transactions in the batch which could result in an overall Debit or Credit amount.

The totalBatchAmount attribute documentation highlights how the overall balance of a batch can be determined.

processingStatus
string (3)

The processing status indicates the current state of the batch. A batch initially has an Entered (007) status.

An Error (003) status indicates potential issues with the batch / transaction input. This would require amendment of the batch or transaction to correct the problem and re-approval of the batch to close it for processing.

Once a batch of transactions is successfully processed, the processingStatus will indicate a value of Loaded (005).

totalBatchAmount
object

If it is 0, the totalBatchAmount can be calculated by calculating the Sum of transactionAmountGross values provided in the slips. This should be done upon sending a PATCH request to set the processingStatus to ‘008’, as this would indicate that all the required slips have been entered and linked to the batch.

In order to calculate this amount the following need to be considered: -Transaction amount of the individual slips -Transaction type of each slip. The transaction type determines the respective DR/CR indicator. To determine if a transaction is a debit or credit AT DESTINATION, the BWT_BATCH_TRANSACTIONS entry will need to be checked with the equivalent in BWT_BATCH_TRANSACTIONS in order to retrieve the DESTINATION_SIGN. The first character of the DESTINATION_SIGN field indicates whether the transaction will be a C (Credit) or D (Debit) at destination. -Finally once the amount is converted to the destination sign. The REVERSAL_FLAG value must be considered. A credit (plus) to the merchant account that is reversed (REVERSAL_FLAG = 001) results in a debit to the merchant account (minus) and vice versa.

Alternatively, if provided, the totalBatchAmount Value must match with the Sum of the slip amounts provided. This value would be validated when approving the transaction for processing by setting processingStatus to ‘008’.

Total Batch Amount currency, indicates the currency of the batch. Any transactions linked to the batch must match with this batch currency.

Name Description
value
decimal

The quantative decimal monetary amount (eg. 1.1)

currency
string

The ISO 4217 currency code (eg. 'EUR')

numberOfSlips
number

If not provided, the number of slips can be calculated on the number of individual transaction slips provided in the slips list.This should be done upon sending a PATCH request to set the processingStatus to ‘008’, as this would indicate that all the required slips have been entered and linked to the batch. Alternatively, if provided, the numberOfSlips value should match with the count of slips provided. This value would be validated when approving the transaction for processing by setting processingStatus to ‘008’

recordDate
date-only

Date on which the batch was created.

Relationships
{id}/transactions

Individual transactions linked to this batch.

/miscellaneousBatchSlips

Format: JSON:API Resource

Represents individual miscellaneous transactions created for adhoc merchant servicing requirements. These individual transactions are batched (batch header is represented by the batch relationship to /miscellaneousBatches. The transactions represented by this resource are not yet processed and posted to merchant accounts. Transactions are processed once the back office miscellaneous batch processing is executed.

Permitted JSON:API resource operations:

GET /miscellaneousBatchSlips :

Retrieval of all individual transactions regardless of the batch the transactions are linked to.

More information on JSON:API resource access: https://jsonapi.org/format/#fetching

POST /miscellaneousBatchSlips :

Create an individual transaction added to the batch. Refer to mandatory values and relationship. Note transactions can only be added to a batch if the batch processingStatus is either Entered (007) or Error (003).

More information on JSON:API resource creation: https://jsonapi.org/format/#crud-creating

PATCH /miscellaneousBatchSlips/{id} :

Modification of an individual transaction properties. Note, transaction can only be modified if the linked batch processingStatus is either Entered (007) or Error (003).

More information on JSON:API resource updates: https://jsonapi.org/format/#crud-updating

DELETE /miscellaneousBatchSlips/{id} :

Deletion of an individual transaction. Note, transactions can only be deleted if the linked batch has an Entered (007) or Error (003) processingStatus.

More information on JSON:API resource deletion: https://jsonapi.org/format/#crud-deleting

Name Description
transactionSlip
string (11)

Auto-generated transaction slip as reference.

numberOriginalSlip
string (11)

Free text reference up to 11 characters. This field can be used to refer to an external (outside of BankWORKS) transaction. If this is null/empty, it will be generated similar with transactionSlip.

transactionType
string (3)

Type of transaction i.e. Miscellaneous Debit (950), Miscellaneous Credit (951), etc.

transactionCategory
string (3)

This value is used to identify what category the transaction belongs to, e.g Charges & Fees, Adjustments, etc.

transactionDate
date-only

Date of the transaction. Must be less than or equal to the current posting date.

valueDate
date-only

The date from when action can be taken upon a transaction.

reversalFlag
string (3)

Indicator used to identify if the transaction is reversed or not. Defaulted to 000 (No).

cardAlias
string

A numeric combination used to mask card number. This attribute is used only to retrieve the alias of card number and cannot be used for post or patch.

cardNumber
string

Card number used for the individual transaction. This should only be used for adding or modifying a transaction. Upon resource retrieval, cardAlias is being displayed instead of the clear card number.

clientNumber
string (8)

Auto-populated based on the related account provided.

transactionAmountGross
object

The amount of the individual transaction. Must be greater than 0 and the currency value must match with the batch currency!

Name Description
value
decimal

The quantative decimal monetary amount (eg. 1.1)

currency
string

The ISO 4217 currency code (eg. 'EUR')

narrative
string (30)

Free text reference. If not provided default to the transactionType TEXTUAL description.

recordDate
date-only

Date on which transaction was created.

Relationships
{id}/batch

A transaction must always be linked to a batch.

Note, transaction can only be linked to a batch if changes are allowed, i.e processing status either Entered (007) or Error (003).

{id}/issAccount
of type /issAccounts

A transaction must either be linked to this account or via cardNumber.

/productChargeDefinitions

Format: JSON:API Resource

Institution and client specific product fee setup used for the generation of product charges. Product charge setup uses an effectiveDate to indicate when the rule comes into effect. Product charge rules are grouped into tariffs and further grouped by contractDefinition under a particular service contract.

Permitted JSON:API resource operation:

GET /productChargeDefinitions :

Retrieve a list of all product charge rules.

More information on JSON:API resource access: https://jsonapi.org/format/#fetching

Name Description
serviceContractId
string (3)

A package of services to which the transaction charges apply.

Refer to API Data Mapping documentation for possible values.

isContractFee
boolean

Boolean value indicating if the fee is a contract fee, i.e institution default setup or not, i.e a client specific override.

clientTariff
string (3)

Tariff enables to set up transaction charges within the service contract e.g. Regular, Visa Classic, VIP etc.

Refer to API Data Mapping documentation for possible values.

chargeType
string (3)

The type of fee such as Bonus, VAT, etc.

Refer to API Data Mapping documentation for possible values.

feeCategory
string (3)

The type of transaction charge, e.g. Transaction Fee, VAT Additional charges.

Refer to API Data Mapping documentation for possible values.

effectiveDate
date

The date in ISO 8601 format when the product charge definition becomes effective.

expiryDate
date

The date in ISO 8601 format when the product charge definition can no longer be used.

chargeTierLevel
string (3)

User specified labels for charge tiers.

Refer to API Data Mapping documentation for possible values.

transactionType
string (3)

The transaction type on which the charge can be applied. Can also indicate all transactions.

Refer to API Data Mapping documentation for possible values.

transactionCurrency
string (3)

SWIFT value indicating the transaction currencies on which the product charge can be applied. In cases where value consists of 3 digits, 998 means not applicable and 999 means applicable to all currencies.

Refer to API Data Mapping documentation for possible values.

sourceTransactionType
string (3)

Refer to API Data Mapping documentation for possible values.

areaOfEvent
string (3)

Defines where the transaction took place.

Refer to API Data Mapping documentation for possible values.

captureMethod
string (3)

Describes how the transaction was generated from the data capture point of view. Example:

  • 010 Manual
  • 100 Electronic
  • 001 Card swiped, signature
  • etc…

Refer to API Data Mapping documentation for possible values.

feeId
string (3)

Fee identifier used for cardholder reporting.

Refer to API Data Mapping documentation for possible values.

feePercent
number

The percentage value used to generate the fee for product based on fee trigger setup. Maximum allowed length (including decimal point) is 11.

feeBase
object

The standard amount generated for the product fee. Note that all fee amount currencies MUST match. Maximum allowed length (including decimal point) is 11.

Name Description
value
decimal

The quantative decimal monetary amount (eg. 1.1)

currency
string

The ISO 4217 currency code (eg. 'EUR')

feeMinimum
object

Indicates the minimum value that can be charged for the product if the feeBase and feePercent values are LOWER than this value. Note that all fee amount currencies MUST match. Maximum allowed length (including decimal point) is 11.

Name Description
value
decimal

The quantative decimal monetary amount (eg. 1.1)

currency
string

The ISO 4217 currency code (eg. 'EUR')

feeMaximum
object

Indicates the maximum value that can be charged for the product if the feeBase and feePercent values are GREATER than this value. Note that all fee amount currencies MUST match. Maximum allowed length (including decimal point) is 11.

Name Description
value
decimal

The quantative decimal monetary amount (eg. 1.1)

currency
string

The ISO 4217 currency code (eg. 'EUR')

feeMode
string (3)

Suppress or generate the fee.

Refer to API Data Mapping documentation for possible values.

mathOperator
string (3)

Refer to API Data Mapping documentation for possible values.

roundingMode
string (3)

Configures the fee to round the charge amount according to the currency exponent.

Refer to API Data Mapping documentation for possible values.

numberOfDays
number (3)

maximum: 999

postingMethod
string (3)

Defines if the fee is generated as a separate transaction (Gross + Charges) or applied to the transaction (Net).

Refer to API Data Mapping documentation for possible values.

serviceId
string (3)

Service to which the transaction charge applies.

Refer to API Data Mapping documentation for possible values.

serviceType
string (3)

Describes the type of card service the fee definition applies to. It can be n/a.

Refer to API Data Mapping documentation for possible values.

plIndInward
string (3)

The transaction type of the fee set up as an inward charge.

Refer to API Data Mapping documentation for possible values.

plIndOutward
string (3)

The transaction type of the fee set up as an outward charge.

Refer to API Data Mapping documentation for possible values.

valueDayReference
string (3)

Determines the value date of the transaction on which the charge is applied.

Refer to API Data Mapping documentation for possible values.

/serviceDefinitions

Format: JSON:API Resource

Represents the non issuing (card) services defined for the institution with any service contract specific information. The services available for assignment to clients would be dictated by the client contract. In order to view the services assigned to clients refer to services. Services are further organised under a service category.

Permitted JSON:API resource operation:

GET /serviceDefinitions :

Retrieve all available services.

More information on JSON:API resource access: https://jsonapi.org/format/#fetching

Name Description
serviceId
string (3)

A user specified label for a card product or a group of card brands.

Refer to API Data Mapping documentation for possible values.

cardBrand
string (3)

The card brand of the card product resource.

Refer to API Data Mapping documentation for possible values.

cardOrganization
string (3)

The card organisation of the card based product.

Refer to API Data Mapping documentation for possible values.

effectiveDate
date

The date in ISO 8601 format when the record becomes effective and can be used.

serviceType
string (3)

Card service type (debit card, credit card, charge card).

Refer to API Data Mapping documentation for possible values.

serviceCategory
string (3)

Based on business - Acquirer, Issuer, Device, Clearing, Other.

Refer to API Data Mapping documentation for possible values.

serviceBeneficiary
string (3)

Specifies the client level benefetting from the service. Such as one of:

  • 001 Member Client
  • 002 Billing level
  • 003 not applicable
  • 004 Grp Yes, Acct Yes
  • 005 Grp Yes, Acct Option
noteText
string

Free text notes on the service definition.

maximum: 999

/serviceFeeDefinitions

Format: JSON:API Resource

Retrieval of miscellaneous service fee setup of an institution including client specific overides. Service fee setup uses an effectiveDate to indicate when the rule comes into effect.

Permitted JSON:API resource operation:

GET /serviceFeeDefinitions :

Retrieve a list of all miscellaneous service fee rules.

More information on JSON:API resource access: https://jsonapi.org/format/#fetching

Name Description
chargeType
string (3)

Charge type for the service fee.

Refer to API Data Mapping documentation for possible values.

clientFeeId
string (3)

The transaction type of the generated fee, eg Card Subscription Fee, Account Maintenance Fee.

Refer to API Data Mapping documentation for possible values.

clientTariff
string (3)

Tariff package for the service fee.

Refer to API Data Mapping documentation for possible values.

isContractFee
boolean

Boolean value indicating if the fee is a contract fee, i.e institution default setup or not, i.e a client specific override.

effectiveDate
date

Date in ISO 8601 format when the fee becomes live and can be used.

expiryDate
date

Date in ISO 8601 format when the fee expires and no longer applies.

feeTransactionType
string (3)

The transaction type of the generated fee.

Refer to API Data Mapping documentation for possible values.

feeBase
object

The standard amount generated for the service fee. Note that all fee amount currencies MUST match. Maximum allowed length (including decimal point) is 11.

Name Description
value
decimal

The quantative decimal monetary amount (eg. 1.1)

currency
string

The ISO 4217 currency code (eg. 'EUR')

feeMinimum
object

Indicates the minimum value that can be charged for the service if the feeBase and feePercent values are LOWER than this value. Note that all fee amount currencies MUST match. Maximum allowed length (including decimal point) is 11.

Name Description
value
decimal

The quantative decimal monetary amount (eg. 1.1)

currency
string

The ISO 4217 currency code (eg. 'EUR')

feeMaximum
object

Indicates the maximum value that can be charged for the service if the feeBase and feePercent values are GREATER than this value. Note that all fee amount currencies MUST match. Maximum allowed length (including decimal point) is 11.

Name Description
value
decimal

The quantative decimal monetary amount (eg. 1.1)

currency
string

The ISO 4217 currency code (eg. 'EUR')

feePercent
number (3)

The percentage value used to generate the fee for service based on fee trigger setup. Maximum allowed length (including decimal point) is 11.

feeMode
string (3)

Suppress or generate the fee.

Refer to API Data Mapping documentation for possible values.

fixedPeriod
number

Number of days due after the periodReference.

maximum: 999

triggerRuleId
string (3)

Defines a set of rules related to the generic fee.

Refer to API Data Mapping documentation for possible values.

triggerSource
string (3)

Defines the value or event that triggers the fee process, eg new service.

Refer to API Data Mapping documentation for possible values.

triggerValueLow
object

Used by trigger sources requiring values, for Overdue amount > 500. Note that all trigger amount currencies MUST match. Maximum allowed length (including decimal point) is 18.

Name Description
value
decimal

The quantative decimal monetary amount (eg. 1.1)

currency
string

The ISO 4217 currency code (eg. 'EUR')

triggerValueHigh
object

Used by trigger sources requiring maximum values, for example tiered fees. Note that all trigger amount currencies MUST match. Maximum allowed length (including decimal point) is 18.

Name Description
value
decimal

The quantative decimal monetary amount (eg. 1.1)

currency
string

The ISO 4217 currency code (eg. 'EUR')

triggerOperator
string (3)

Sign operator related to trigger source and trigger value.

Refer to API Data Mapping documentation for possible values.

triggerPeriod
string (3)

Defines when and how often the fee process is run, eg Daily, End of Cycle etc.

Refer to API Data Mapping documentation for possible values.

objectLevel
string (3)

Defined for which level the service fee or account fee is being generated, eg Level, Group Level, First Service, Supplementary Service.

Refer to API Data Mapping documentation for possible values.

periodReference
string (3)

Determines the value date of the fee, eg. Posting Date.

postFeeToSource
string

Refer to API Data Mapping documentation for possible values.

referenceOperator
string (3)

Sign operator related to fixedPeriod following the periodReference.

Refer to API Data Mapping documentation for possible values.

reportForm
string (3)

Information used for statement generation purposes.

Refer to API Data Mapping documentation for possible values.

serviceContractId
string (3)

The service contract to which the service fee applies.

Refer to API Data Mapping documentation for possible values.

tierLevel
string (3)

Applies fee to a tier level. Enables the setting up of the same fee but with a different trigger value high and low.

Refer to API Data Mapping documentation for possible values.

recordDate
date

The record creation date in ISO8601 format.

/velocityParameters

Format: JSON:API Resource

By making use of this Velocity feature, a client can block, restrict, or set a transaction amount limit and/or number of transactions for a specific MCC and/or group of countries (ie. high risk countries), under a particular product.

Permitted JSON:API resource operations:

GET /velocityParameters :

Returns all or one velocity parameters defined in the setup table.

More information on JSON:API resource access: https://jsonapi.org/format/#fetching

POST /velocityParameters :

Creates a new velocity record to restrict or limit card transactions on a particular group of MCC, Country, or Service Contract.Validations Effective date must be greater than or equal to the current posting date.

More information on JSON:API resource creation: https://jsonapi.org/format/#crud-creating

PATCH /velocityParameters/{id} :

Modify a velocity record which is only effective today or in the future. Past effective records cannot be modified.

More information on JSON:API resource updates: https://jsonapi.org/format/#crud-updating

DELETE /velocityParameters/{id} :

Delete an existing velocity parameter.

More information on JSON:API resource deletion: https://jsonapi.org/format/#crud-deleting

Name Description
velocityLevel
string (3)

Identifies the velocity profile level for the velocity rule.

Refer to API Data Mapping documentation for possible values.

countryGroup
string (3)

Identifies the country group ID of countries where card activity is blocked by the velocity parameter.

Refer to API Data Mapping documentation for possible values.

mccGroup
string (3)

Identifies the merchant category group blocked by the velocity parameter.

Refer to API Data Mapping documentation for possible values.

effectiveDate
date

The date in ISO 8601 format on which the velocity parameter becomes effective. If left empty, the current system date is assumed.

expiryDate
date

The date in ISO 8601 format on which the velocity parameter is no longer effective. If left empty, the date 9999-12-31 is assumed.

transactionType
string (3)

The transaction type to which the velocity parameter applies, eg. Purchase transaction. Transaction type may be set to ‘All’ in order to apply the accumulator rule to all transaction types available.

Refer to API Data Mapping documentation for possible values.

dailyLimit
object

Daily limit attributes.

Name Description
amount
object

Limit amount within 24-hour period.

frequency
number

Total number of authorisations allowed for this velocity within 24-hour period.

maximum: 99999999

windowLimit
object

Window limit attributes.

Name Description
amount
object

Limit amount within the window timeframe.

frequency
number

Total number of authorisations allowed for this velocity within the window timeframe.

maximum: 99999999

numberOfDays
number

The number of days that make up the window range the velocity parameters apply for.

maximum: 999

maxTransactionLimit
object

The maximum amount allowed for a single transaction. Note that all limit and usage amount currencies MUST match. Maximum allowed length for the value attribute (including decimal point) is 18.

Name Description
value
decimal

The quantative decimal monetary amount (eg. 1.1)

currency
string

The ISO 4217 currency code (eg. 'EUR')

minTransactionLimit
object

The minimum amount allowed for a single transaction. Note that all limit and usage amount currencies MUST match. Maximum allowed length for the value attribute (including decimal point) is 18.

Name Description
value
decimal

The quantative decimal monetary amount (eg. 1.1)

currency
string

The ISO 4217 currency code (eg. 'EUR')

maxTransLimitNotPresent
object

The maximum amount allowed for a single transaction. Note that all limit and usage amount currencies MUST match. Maximum allowed length for the value attribute (including decimal point) is 18.

Name Description
value
decimal

The quantative decimal monetary amount (eg. 1.1)

currency
string

The ISO 4217 currency code (eg. 'EUR')

areaOfEvent
string (3)

Refer to API Data Mapping documentation for possible values.

negativeResponse
string

Response code that will be retuned by the CommServer if the authorisation is declined.

recordDateTime
date-time

Date when the accumulator check will be expired. Default to 31-12-9999 unless provided.

Relationships
{id}/cardServiceDefinitions

Card service definitions related to this velocity parameters. Effective date needs to be taken into consideration as the relationship gives access to past, current and future effective data.

{id}/contractDefinition

The contract definition linked to this velocity parameter.

Errors

API errors are identified by their response HTTP status codes. The below is a list of error codes that can be returned by the API:

HTTP Code Description
400 Bad Request - Your request is invalid. Examples of bad requests are:
401 Unauthorized - Invalid values in either the Authorization header or the refresh_token in body. This can be caused due to expirted tokens or invalid credentials.
403 Forbidden - You do not have access rights to the content or to perform an action. Examples of forbidden requests are:
404 Not Found - Requested resource does not exists.

Authentication

Authentication is based on OAuth2. In order to perform any API request, you need to first obtain a valid access_token which needs to be included as an Authorization header in each subsequent request. Note that the access_token has a limited lifespan and would need to be refreshed when it expires. This is possible by using the refresh_token in order to obtain a new valid access_token.

Please contact our help desk if you need a set of credentials to access the APIs.

Access Token

To request an access token, provide the base64 encoded value of ‘username:password’ in the Authorization header (Basic Auth) with a grant_type set to ‘client_credentials’ in the body.

Request

POST https://wsmdemo.rs2.com/wsm/oauth2/token

Request Headers

AuthorizationBasic {{base64(username:password)}}

Request Body

An object of type oauth2/token with the following attributes:

Name Description
grant_type
string
required

The OAuth2 grant type. The value should always be either ‘client_credentials’.

Response

HTTP 200 (OK)

Response body will contain the created object of type oauth2/token .

Refresh Token

To refresh an access token, provide the base64 encoded value of ‘username:’ in the Authorization header along with the grant_type set to ‘refresh_token’ and the value of the refresh_token in the body.

Request

POST https://wsmdemo.rs2.com/wsm/oauth2/token

Request Headers

Authorization{{authorizationHeader}}

Request Body

An object of type oauth2/token with the following attributes:

Name Description
refresh_token
string
required

The value of the refresh token that is used to obtain a new access token after it has expired.

grant_type
string
required

The OAuth2 grant type. The value should always be either ‘refresh_token’.

Response

HTTP 200 (OK)

Response body will contain the created object of type oauth2/token .

Change User Password

Updates user’s password, providing the new password in the request body.

Request

PUT https://wsmdemo.rs2.com/wsm/api/user-management/userpassword

Request Headers

Content-Typeapplication/json
AuthorizationBearer 6c99f200-2022-4cb3-ba6b-4955843c226c

Request Body

An object of type api/user-management/userpassword with the following attributes:

Name Description
newPassword
string
required

The new password for the user represented in the access token request from Authorization header. The new password must meet the following requirements for security:

  • MUST contain at least seven characters
  • MUST contain at least one uppercase letter
  • MUST contain at least one lowercase letter
  • MUST contain at least one number
  • MUST contain at least one special character
  • MUST NOT contain two consecutive identical characters
  • MUST NOT contain username
  • MUST NOT have been used in the previous 5 changes

Response

HTTP 200 (OK)

Service Contract Definitions

This section provides example use cases related to the retrieval of business setup rules linked to a service contract. In BankWORKS, a service contract is the main grouping of accounts, card and non-card services, limits, and card parameters and thresholds setup that can be assigned to a cardholder.

The requests provided are intended to serve as examples for retrieval of such data. Our API provides more flexibility, allowing additional filtering to be applied or even the inclusion of multiple related resources in a single request.

Pricing

This section provides request samples for the retrieval of contract based fees & charges setup. Any individual client fee setup would be handled in the client information section.

Account Fees

Account fees are periodical fees that can be generated by BankWORKS for cardholder billing of any account types assigned. These are grouped by service contract and client tariff. In addition, account fees can be contract-based (part of the service contract) or else individual specific cardholder overrides of a contract based fee. This means that a cardholder may only have a specific overrides of available contract based fees.

This example request is intended for the retrieval of all contract based account fees linked to a particular service contract regardless of the clientTariff. In some cases, such as client boarding, it would be necessary to include additional filters such as the clientTariff.

Request

GET https://wsmdemo.rs2.com/wsm/jsonapi/accountFeeDefinitions?filter[serviceContractId]=100&filter[isContractFee]=true&sort=serviceContractId,clientTariff

Request Headers

AuthorizationBearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Content-Typeapplication/vnd.api+json
Acceptapplication/vnd.api+json
Crnk-Compacttrue

Request Parameters

filter[serviceContractId] 100
filter[isContractFee] true
sort serviceContractId,clientTariff

Response

HTTP 200 (OK)

Response body will contain the requested JSON:API resource of type accountFeeDefinitions .

Product Charges

Product charges are transaction charge rules for card service definitions - card based products. Product charges are grouped by service contract and by clientTariff. In addition, product charges can be contract based, part of the service contract structure, or cardholder specific. The below request example retrieves all the CONTRACT based rules linked to a particular service contract sorted by tariff.

Request

GET https://wsmdemo.rs2.com/wsm/jsonapi/productChargeDefinitions?filter[serviceContractId]=100&filter[isContractFee]=true&sort=serviceContractId,clientTariff

Request Headers

AuthorizationBearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Content-Typeapplication/vnd.api+json
Acceptapplication/vnd.api+json
Crnk-Compacttrue

Request Parameters

filter[serviceContractId] 100
filter[isContractFee] true
sort serviceContractId,clientTariff

Response

HTTP 200 (OK)

Response body will contain the requested JSON:API resource of type productChargeDefinitions .

Service Fees

Services fees are periodical fees that can be generated by BankWORKS for cardholder billing of any other non-card based services assigned. These are grouped by service contract and also by client tariff. In addition, services fees can be contract-based (part of the service contract) or else individual cardholder overrides. This means that a cardholder may only have a specific overrides of available contract based fees.

This example request is intended for the retrieval of all contract based service fees linked to a particular service contract regardless of the clientTariff. In some cases, such as client boarding, it would be necessary to include additional filters such as the clientTariff.

Request

GET https://wsmdemo.rs2.com/wsm/jsonapi/serviceFeeDefinitions?filter[serviceContractId]=100&filter[isContractFee]=true&sort=serviceContractId,clientTariff

Request Headers

AuthorizationBearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Content-Typeapplication/vnd.api+json
Acceptapplication/vnd.api+json
Crnk-Compacttrue

Request Parameters

filter[serviceContractId] 100
filter[isContractFee] true
sort serviceContractId,clientTariff

Response

HTTP 200 (OK)

Response body will contain the requested JSON:API resource of type serviceFeeDefinitions .

Cardholder Contract Definitions

This call retrieves a list of all available pre-defined issuing (cardholder) service contract definitions.

Request

GET https://wsmdemo.rs2.com/wsm/jsonapi/contractDefinitions?filter[serviceContractId]=002

Request Headers

AuthorizationBearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Acceptapplication/vnd.api+json
Content-Typeapplication/vnd.api+json

Request Parameters

filter[contractType] 001
filter[serviceContractId] 002

Response

HTTP 200 (OK)

Response body will contain the requested JSON:API resource of type contractDefinitions .

Account Type Definitions

An account type definition represents an individual combination of an account type (such as main cardholder account) with a currency. These account types are grouped under a service contract, represented by a contractDefinitions resource.

This request example returns all the available accountDefinitions linked to a single service contract and sorts the result by accountTypeId and accountCurrency values. Additional filtering may also be added in order to return the desired subset of accounts available.

Request

GET https://wsmdemo.rs2.com/wsm/jsonapi/contractDefinitions/serviceContractId=113/accountDefinitions?sort=accountTypeId,accountCurrency&filter[accountCurrency]=EUR

Request Headers

AuthorizationBearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Acceptapplication/vnd.api+json
Content-Typeapplication/vnd.api+json
Crnk-Compacttrue

Request Parameters

sort accountTypeId,accountCurrency
filter[accountCurrency] EUR

Response

HTTP 200 (OK)

Response body will contain the requested JSON:API resource of type accountDefinitions .

Card Service Definitions

This will return all available card service definitions under the specified contract definition. The card service definitions returned represent the cards that are available under a service contract.

In this example, the results are sorted by various attributes including the effective date in descending order.

Request

GET https://wsmdemo.rs2.com/wsm/jsonapi/contractDefinitions/serviceContractId=113/cardServiceDefinitions?filter[effectiveDate][LE]=2024-04-01&sort=serviceId,cardOrganization,cardBrand,-effectiveDate

Request Headers

AuthorizationBearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Content-Typeapplication/vnd.api+json
Acceptapplication/vnd.api+json
Crnk-Compacttrue

Request Parameters

filter[effectiveDate][LE] 2024-04-01
sort serviceId,cardOrganization,cardBrand,-effectiveDate

Response

HTTP 200 (OK)

Response body will contain the requested JSON:API resource of type cardServiceDefinitions .

Other Service Definitions

This will return non-card product services that may be available under the service contract.

In this example, the results are sorted by various attributes including the effective date in descending order.

Request

GET https://wsmdemo.rs2.com/wsm/jsonapi/contractDefinitions/serviceContractId=113/serviceDefinitions?filter[effectiveDate][LE]=2024-02-01&sort=serviceId,cardOrganization,cardBrand,-effectiveDate

Request Headers

AuthorizationBearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Content-Typeapplication/vnd.api+json
Acceptapplication/vnd.api+json
Crnk-Compacttrue

Request Parameters

filter[effectiveDate][LE] 2024-02-01
sort serviceId,cardOrganization,cardBrand,-effectiveDate

Response

HTTP 200 (OK)

Response body will contain the requested JSON:API resource of type serviceDefinitions .

Limit Definitions

This resource will return the limit definitions related to the contract definition.

Request

GET https://wsmdemo.rs2.com/wsm/jsonapi/accountDefinitions/accountTypeId=001&accountCurrency=EUR&serviceContractId=100/limitDefinition

Request Headers

AuthorizationBearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Acceptapplication/vnd.api+json
Content-Typeapplication/vnd.api+json
Crnk-compacttrue

Response

HTTP 200 (OK)

Response body will contain the requested JSON:API resource of type limitDefinitions .

Global Limit Definitions

This resource will return the global limit definitions related to the Account Type Definition retrieved from the second use case.

Request

GET https://wsmdemo.rs2.com/wsm/jsonapi/accountDefinitions/accountTypeId=001&accountCurrency=EUR&serviceContractId=100/globalLimitDefinition

Request Headers

AuthorizationBearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Acceptapplication/vnd.api+json
Content-Typeapplication/vnd.api+json
Crnk-Compacttrue

Response

HTTP 200 (OK)

Response body will contain the requested JSON:API resource of type limitDefinitions .

Cardholder Onboarding

This collection will cover the sequential calls for standalone cardholder boarding.

The requests in this section provide information on all resources that can be defined at cardholder boarding stage. The approach taken, groups a number of requests based on their dependency. In summary:

  1. The cardholder is defined first
  2. Any resource linked (via relationships) directly to the cardholder is defined in the subsequent request
  3. Any resource linked to the cardholder contract is defined in the subsequent request.
  4. The cardholder is activated in BankWORKS.

Some important points to note:

  • A cardholder is not active in BankWORKS prior to processing. During boarding, the cardholder will have a status indicating that the application is in process of being defined. Following the definition of all cardholder resources, it is necessary to activate the cardholder via Process Application endpoint. More information is available in the example requests provided. Cardholders that are are in the process of being onboarded have a ttl (time to live) value. More information about each individual resource is provided per request, as well as a generic description in the API Schema section of this document.

A note on - meta: (object) - ttl: (integer)

The remaining time to live in seconds of the resource. Once the value reaches 0, the resource will expire, and hence deleted. This attribute applies only to cardholders and all its relevant resources which are not yet onboarded i.e. status in progress (023) or in error (024). The ttl will be set once the resource is posted and will be reset once the resource is patched or a related resource is posted or patched. The ttl value will be set 2592000 seconds (30 days), however, RS2 reserves the right to change this value.

Onboarding via JSON Patch

This use case section contains a sample sequential requests to onboard a cardholder via bulk request (or JSON Patch method).

1. Create Cardholder

This will create the main details of the cardholder to be onboarded.

Request

POST https://wsmdemo.rs2.com/wsm/jsonapi/cardholders

Request Headers

AuthorizationBearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Acceptapplication/vnd.api+json
Content-Typeapplication/vnd.api+json
Crnk-Compacttrue

Request Body

A JSON:API resource of type cardholders with the following attributes:

Name Description
clientNumber
string (8)

8-digit BankWORKS client number unique that is unique per institution. System generated if not provided during new cardholder definition. A unique number must be provided if user defined.

rbsClientNumber
string (20)

External cardholder reference number.

status
string (3)

Indicates the current status of the cardholder in BankWORKS.

Refer to API Data Mapping documentation for possible values.

idNumber
string (15)
required

The national ID card number.

title
string (3)
required

Cardholder’s salutation.

Refer to API Data Mapping documentation for possible values.

firstName
string (15)
required

First name of the cardholder.

lastName
string (26)
required

Last name of the cardholder.

gender
string (3)
required

Gender of the cardholder.

Refer to API Data Mapping documentation for possible values.

birthDate
date
required

Date of birth in ISO 8601 format

birthPlace
string (15)

Cardholder’s place of birth.

birthName
string (20)

Cardholder’s birth name.

shortName
string (26)
required

Cardholder’s short name.

mobile1
string (15)

Primary mobile phone number.

mobile2
string (15)

Secondary mobile phone number.

fathersName
string (20)

Name of cardholder’s father.

language
string (3)
required

Cardholder’s language.

Refer to API Data Mapping documentation for possible values.

nationality
string (3)
required

Nationality of the cardholder.

Refer to API Data Mapping documentation for possible values.

residenceStatus
string (3)
required

Indicates if the carhdolder is a resident of the hosting country. Defaulted to 001 if not provided indicating a Resident.

Refer to API Data Mapping documentation for possible values.

residenceStatusDate
date

The date in ISO 8601 format relating to the client’s current residence state.

residenceType
string (3)
required

Defines the type of residence for the cardholder such as, own house or rented flat. Defaulted to 000 if not provided indicating Unknown.

Refer to API Data Mapping documentation for possible values.

maritalStatus
string (3)

Cardholder’s marital status.

Refer to API Data Mapping documentation for possible values.

maritalStatusDate
date

Date in ISO 8601 format of last change in marital status.

passportNumber
string (15)

The cardholder’s national passport number.

drivingLicenseNumber
string (15)

The cardholder’s national driving license number.

employerName
string (35)

Cardholder’s employment company or individual.

employmentDate
date

Applicant’s date of employment in ISO 8601 format.

employmentPosition
string (3)
required

Cardholder’s current employment position.

Refer to API Data Mapping documentation for possible values.

employmentStatus
string (3)
required

Cardholder’s current employment status.

Refer to API Data Mapping documentation for possible values.

employmentExtraInfo
string (3)

May contain extra additional numeric information related to the employment status (e.g. for part time employee, might be interpreted as no. of hrs worked weekly).

incomeAmount
number (18)

Income amount of applicant.

incomeRange
string (3)
required

Income range of applicant.

Refer to API Data Mapping documentation for possible values.

processingRegion
string (3)

Defines the processing region of the cardholder. Used for transaction processing.

Refer to API Data Mapping documentation for possible values.

mastercardABU
string

Flag that indicates the cardholder’s Mastercard Automatic Billing Updater (ABU) registration status.

Refer to API Data Mapping documentation for possible values.

Sample values:

  • 001 - N/A

  • 003 - Registered

recordDate
date

The record creation date.

Relationships

Response

HTTP 201 (Created)

Response body will contain the created JSON:API resource of type cardholders .

2. Create Addresses, Contract, Settlement

This request has multiple calls to onboarding and will create cardholder Addresses, Contract, and Settlement Information (if client is a billing level). These represent direct resources that can be linked to the cardholder defined in previous step without any dependency to other cardholder resources.

ADDRESS CREATION:

This call will create cardholder address/es depending on what address categories are required upon onboarding.

Other addresses optional address categories are available and may be used if required. Every address to be created must be linked to the cardholder being onboarded. Refer to mandatory relationship for more information.

CONTRACT CREATION:

Creation of a contract resource for a new client and is MANDATORY for onboarding . Refer to mandatory relationships for more information.

SETTLEMENT INFORMATION CREATION:

This will define the settlement information including RBS bank account number of the cardholder and is MANDATORY only if a billing level account is to be created. Multiple settlement information/package can be added (up to 99). This number will be set automatically and stored in settlementNumber as part of the resource ID.

Request

PATCH https://wsmdemo.rs2.com/wsm/jsonapi

Request Headers

AuthorizationBearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Content-Typeapplication/json-patch+json
Acceptapplication/json-patch+json
Crnk-Compacttrue

Request Body

This request body contains of a numer of JSON Patch operations to perform bulk actions on the issAddresses, issContracts and issSettlementPackages JSON:API resources. Follow the example in order to see how to perform the JSON Patch call. Below are the JSON:API resource objects accepted in this JSON Patch call.

issAddresses object
Name Description
addressCategory
string (3)
required

The address category identifier for the returned client address resource are the following but not limited to:

  • 001 Standard
  • 006 Statement

A client must have at least one standard (001).

Refer to API Data Mapping documentation for possible values.

effectiveDate
date

The date in ISO 8601 format when the address becomes effective. The value can be future dated and cannot be less than the posting date. If not provided, the current posting date is automatically assumed.

expiryDate
date

The date in ISO 8601 format when the address record is no longer taken into consideration. Can be used for temporary addresses. Date must be in the future.

addressLine1
string (35)
required

Address line typically used for building information but not limited to house name, number, floor, unit and block number.

addressLine2
string (35)

Address line typically used for street information such as street number and name.

addressLine3
string (35)

Extra address properties that might be required and are not catered for by the attributes available.

addressLine4
string (35)

Extra address properties that might be required and are not catered for by the attributes available.

addressLine5
string (35)

Extra address properties that might be required and are not catered for by the attributes available.

contactName
string (35)

Main contact name for the address.

city
string (35)
required

Client’s city.

state
string (3)

3 digit identifier for the client’s state/region.

Refer to API Data Mapping documentation for possible values.

country
string (3)
required

The ISO 3-letter country code. In cases where value consists of 3 digits, 000 means not applicable and 999 means applicable to all countries.

Refer to API Data Mapping documentation for possible values.

postCode
string (20)
required

Client’s postcode.

poBox
string (10)

P.O. Box details.

telephone1
string (15)

Primary address fixed line number, for example, a client’s home or business telephone number.

telephone2
string (15)

Secondary address fixed line number for example a secondary business telephone number.

faxWork
string (15)

Office fax number.

addressLanguage
string (3)

3-digit identifier for the client language associated with the address.

Refer to API Data Mapping documentation for possible values.

deliveryMethod
string (3)

3-digit value indicating the preferred delivery option for correspondence. Defaulted to not applicable (000) - Not applicable, if not provided.

Refer to API Data Mapping documentation for possible values.

emailAddress
string (60)

Client’s e-mail address.

recordDate
date

The record creation date.

Relationships
cardholder
required

Link to the cardholder resource ID previously defined in the cardholder resource creation stage.

issContracts object
Name Description
contractCategory
string (3)

The contract category determines the type of hierarchy.

  • 001 - Private cardholder contracts
  • 002 - Commercial cardholder contracts
serviceContractId
string (3)

Indicates the service contract ID linked to the client contract.

This MAY be passed instead of the contractDefinitions relationship in case the Service Contract ID value is known.

Refer to API Data Mapping documentation for possible values.

parentClientNumber
string (8)

Indicates the client number of the parent client in the hierarchy. This is an optional attribute that can be provided instead of the parentContracts relationship when defining a lower level client in a hiearchy.

status
string (3)

Indicates the status of the client contract.

Refer to API Data Mapping documentation for possible values.

clientLevel
string (3)
required

Indicates the BankWORKS hierarchical level for the client contract. The following values are possible:

  • 002 - Group (the parent client)
  • 001 - Member (a standalone client without a parent group linked to it)
effectiveDate
date

The date in ISO 8601 format on which the hierarchy link record becomes effective for the client. The value can be future dated and cannot be less than the posting date. If not provided, posting date +1 value is assumed only post-boarding.

settlementMethod
string (3)
required

Indicates the method how the client will settle with the bank. Identifies how outstanding balances are settled. Required only when onboarding a new client.

Refer to API Data Mapping documentation for possible values.

postingMethod
string (3)
required

The tariff under which the client falls when posting to the clients account.

Refer to API Data Mapping documentation for possible values.

clientTariff
string (3)
required

Indicates the client tariff package assigned. Required only when onboarding a new client.

chargeTierLevel
string (3)

Enables setting up of the same fee with different value high and value low triggers.

Refer to API Data Mapping documentation for possible values.

clientScheme
string (3)

Indicates the rebate tariff applicable for the contract.

contractReference
string (8)

Cardholder contract document reference.

bankReference
string (8)

External additional reference number of the cardholder with the bank.

institutionAccountOfficer
string (3)

Officer in charge of the client contract.

Refer to API Data Mapping documentation for possible values.

clientBranch
string (3)

Contract application branch details. Related to the institutionAccountOfficer.

Refer to API Data Mapping documentation for possible values.

tierGroup
string (3)

An identifier used to group a set of rates that need to be applied during tiered pricing generation.

Refer to API Data Mapping documentation for possible values.

recordDate
date

The record creation date.

Relationships
contractDefinition

An optional relationship to the service contract resource. Mandatory If a value is not passed in serviceContractId.

cardholder

Relationship to the client resource if a private cardholder contract.

commercialClient

Relationship to the client resource if a commercial contract.

parentContracts

Optional relationship to build a hierarchy. Links to the parent contract, one level up the client hierarchy. Effective date needs to be taken into consideration as the relationship gives access to past, current and future effective data.

Alternatively if the parent client number is known, the attribute can be used instead of this relationship.

issSettlementPackages object
Name Description
accountCurrency
string (3)

The currency of the counter bank account in SWIFT currency code format. In cases where value consists of 3 digits:

  • 998 means not applicable
  • 999 means applicable to all currencies.

Refer to API Data Mapping documentation for possible values.

settlementCategory
string (3)

Settlement information category descriptor such as Payable or Receivable.

Refer to API Data Mapping documentation for possible values.

bankClearingNumber
string (8)

Information regarding the account’s bank details.

receiverCountryCode
string (3)

The country where the bank account information is located. In cases where value consists of 3 digits:

  • 000 means not applicable
  • 999 means applicable to all countries.

Refer to API Data Mapping documentation for possible values.

payableDetails
object
Name Description
bankContactName
string (35)

The counter bank contact name used for PAYABLES.

bankTelNumber
string (15)

The counter bank telephone number used for PAYABLES.

confirmationMethod
string (3)

The routing channel used for example Fax, mail, SWIFT etc.

Refer to API Data Mapping documentation for possible values.

counterBankAccount
string (35)

The counter RBS bank account number used to settle PAYABLES.

counterBankAccountName
string (35)

The counter bank account name used for PAYABLES.

counterBankCity
string (35)

The counter bank’s city used for PAYABLES.

counterBankName
string (40)

The counter bank name used for PAYABLES.

counterBankNumber
string (11)

The counter bank number where the counter bank account used for PAYABLES is domiciled.

counterClientNumber
string (8)

The RBS client number used for PAYABLES.

fundingNarrative
string (18)

Contains funding information applicable for PAYABLES.

ibanReference
string (35)

The counter bank account IBAN used for PAYABLES.

paymentReference
string (24)

The reference to be included in the outward payment transaction.

receivableDetails
object
Name Description
bankContactName
string (35)

The counter bank contact name used for RECEIVABLES.

bankTelNumber
string (15)

The counter bank telephone number used for RECEIVABLES.

counterBankAccount
string (35)

The counter RBS bank account number used to settle RECEIVABLES.

counterBankAccountName
string (35)

The counter bank account name used for RECEIVABLES.

counterBankCity
string (35)

The counter bank’s city used for RECEIVABLES.

counterBankName
string (40)

The counter bank name used for RECEIVABLES.

counterBankNumber
string (11)

The counter bank number where the counter bank account used for RECEIVABLES is domiciled.

fundingNarrative
string (18)

Contains funding information applicable for RECEIVABLES.

ibanReference
string (35)

The counter bank account IBAN used for RECEIVABLES.

contingencyLiabilityAccount
string (11)

The RBS account that is used in case the counter RBS bank account is not able to fullfil the RECEIVABLE obligation.

correspondingBankAccount
string (16)

The NOSTRA/VOSTRO bank account of the affiliate institution.

correspondingBankNumber
string (35)

The bank number of the affiliate institution where the counter bank Nostro/Vostro are domiciled.

recordDate
date

The record creation date in ISO8601 format.

Relationships
cardholder
required

Link to the cardholder resource ID previously defined in the cardholder resource creation stage.

Response

HTTP 200 (OK)

Response body will contain the result of the JSON PATCH operation for the following resources: issAddresses issContracts issSettlementPackages

2.1 Revert Addresses, Addendums, Contract, Settlement

This is a sample rollback call for deleting the previous bulk call. Only include deletion for the successful operations from previous bulk request.

Request

PATCH https://wsmdemo.rs2.com/wsm/jsonapi

Request Headers

AuthorizationBearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Content-Typeapplication/json-patch+json
Acceptapplication/json-patch+json
Crnk-Compacttrue

Request Body

Response

3. Create Limits

ACCOUNTS LIMITS CREATION:

This post request will create an account limit that will serve as a spending threshold for the cardholder. A limit definition and cardholder contract are required to be linked in relationships object.

GLOBAL LIMITS CREATION:

This post request will create an account limit that will serve as a spending threshold for the cardholder. A limit definition and cardholder contract are required to be linked in relationships object.

IMPORTANT NOTE:
The resource ID generated after a successful post request is only for initialization. The actual resource ID AFTER being onboarded successfully can be retrieved using GET request to accounts and including the relationship to accountLimits and globalClientLimits. From the response body, accountLimits
and globalClientLimits resource ID respectively should be returned under the accounts relationships.

Request

PATCH https://wsmdemo.rs2.com/wsm/jsonapi

Request Headers

AuthorizationBearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Content-Typeapplication/json-patch+json
Acceptapplication/json-patch+json
Crnk-Compacttrue

Request Body

A JSON:API resource of type limits with the following attributes:

Name Description
limitNumber
string (11)

BankWORKS 11-digit number identifying the limit.

limitLevel
string (3)
required

The limit level identifies the account level to which this limit pertains.

Refer to API Data Mapping documentation for possible values.

effectiveDate
date-time

The date in ISO 8601 format on which the limit record becomes effective for the provided card. If left empty, the current system date is assumed.

expiryDate
date
required

The date in ISO 8601 format on which the limit is no longer effective. Expiry date must be greater than the effectiveDate.

clientLimit
object
required

The amount of credit the limit provides.

Name Description
value
decimal

The quantative decimal monetary amount (eg. 1.1)

currency
string

The ISO 4217 currency code (eg. 'EUR')

limitOverrideAmount
number

A calculated attribute that identifies the amount that the limit can be overriden.

limitOverridePercent
string (11)

A percentage, exceeding the limit, within which authorization approval is allowed.

cashLimitPercent
number

A percentage in which authorization approval for Cash transactions is allowed.

retailBalance
object

Retail balance amount.

Name Description
value
decimal

The quantative decimal monetary amount (eg. 1.1)

currency
string

The ISO 4217 currency code (eg. 'EUR')

recordDate
date

The record creation date.

Relationships
contracts
required

Client contract related to this resource. Effective date needs to be taken into consideration as the relationship gives access to past, current and future effective data.

limitDefinition
required

The limits definition for which this resource is created from.

parentLimits

Parent limit related to this resource.

Response

HTTP 200 (OK)

Response body will contain the updated JSON:API resource of type limits .

3.1 Revert Limits

This is a sample rollback call for deleting the previous bulk call. Only include deletion for the successful operations from previous bulk request.

Request

PATCH https://wsmdemo.rs2.com/wsm/jsonapi

Request Headers

AuthorizationBearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Content-Typeapplication/json-patch+json
Acceptapplication/json-patch+json
Crnk-Compacttrue

Request Body

Response

4. Create Accounts and Card Service

ACCOUNTS CREATION:

This call is MANDATORY for cardholder onboarding. Every account boarded forms part of an account hierarchy (based on the Account Type and Currency combination, for example Payment Account EUR) which is based on the same strucutre as a client hierarchy. Billing level accounts require a settlementPackage to be linked to. This can be any settlementPackage resource defined earlier during onboarding. More information on the attributes and relationships is available below.

SERVICES CREATION:

This call is OPTIONAL. A cardholder can have a number of optional services defined during onboarding. Mandatory services are automatically created during onboarding processing, part of the final step. An individual service resource must be created for each service to be onboarded and must be based on existing service definition rules part of the cardholder’s service contract. More information information is available in the relationships section.

CARD CREATION

This will create a card for the cardholder to be onboarded. The request requires the cardholder service contract previously created and the card service definition as reference for the card service to be created.

Request

PATCH https://wsmdemo.rs2.com/wsm/jsonapi

Request Headers

AuthorizationBearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Content-Typeapplication/json-patch+json
Acceptapplication/json-patch+json
Crnk-Compacttrue

Request Body

This request body contains of a numer of JSON Patch operations to perform bulk actions on the issAccounts and cards JSON:API resources. Follow the example in order to see how to perform the JSON Patch call. Below are the JSON:API resource objects accepted in this JSON Patch call.

issAccounts object
Name Description
clientAccountName
string (35)

Cardholder account alias.

accountTypeId
string (3)

Indicates the account type of the client account. When defining new accounts, this attribute along with the accountCurrency can be supplied as an alternative to the accountDefinitions relationship.

Refer to API Data Mapping documentation for possible values.

accountNumberRbs
string (28)

External RBS account number reference.

statementGeneration
string (3)

Indicates the statement generation rule applicable for this account.

Refer to API Data Mapping documentation for possible values.

statementType
string (3)

The type of statement applicable for this account.

Refer to API Data Mapping documentation for possible values.

availabilityAmount
object

This is the calculated available amount for the account based on the account limit setup.

Name Description
value
decimal

The quantative decimal monetary amount (eg. 1.1)

currency
string

The ISO 4217 currency code (eg. 'EUR')

recordDate
date

The record creation date.

Relationships
accountDefinition

An optional relationship to the service definition resource. Mandatory If a value is not passed in accountTypeId and accountCurrency attributes.

contracts
required

Link to the cardholder contract defined during contract creation.

settlementPackage

Bank account settlement information related to this BankWORKS account. Only billing level accounts require settlement details to be defined.

accountLimits

Applicable account limits linked to the account. Effective date needs to be taken into consideration as the relationship gives access to past, current and future effective data.

globalClientLimits

Links to the global client account limit. The global client limit is a limit that acts on top of the account limit. Effective date needs to be taken into consideration as the relationship gives access to past, current and future effective data.

balanceCycles

Cycle balances related to the account, includes past cycles and the current cycle.

cycleChangeInstructions

Billing cycle instructions linked to the account.

cards object
Name Description
embossLine1
string (26)

Detail used for card embossing. Format: alphanumeric and special characters except for pipe (|) symbol. If not provided, this will be defaulted to the first and last name of the cardholder.

embossLine2
string (26)

Detail used for card embossing. Format: alphanumeric and special characters except for pipe (|) symbol.

serviceId
string (3)

Indicates the card Service ID the card is based on.

This MAY be passed instead of the cardServiceDefinitions relationship in case the Service ID value is known.

Refer to API Data Mapping documentation for possible values.

Relationships
commercialClient

Relationship to the client resource if a commercial contract.

cardServiceDefinitions

An optional relationship to the card service definition resource. Mandatory If a value is not passed in serviceId.

contracts
required

Related client contract for this card. Effective date needs to be taken into consideration as the relationship gives access to past, current and future effective data.

poiSetting

The card information linked to the card POI (point of interaction) setting.

Response

HTTP 200 (OK)

Response body will contain the result of the JSON PATCH operation for the following resources: issAccounts cards

4.1 Revert Accounts and Card Service

This is a sample rollback call for deleting the previous bulk call. Only include deletion for the successful operations from previous bulk request.

Request

PATCH https://wsmdemo.rs2.com/wsm/jsonapi

Request Headers

AuthorizationBearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Content-Typeapplication/json-patch+json
Acceptapplication/json-patch+json
Crnk-Compacttrue

Request Body

Response

5. Process Application

Reference resource: cardholders

This call is MANDATORY and the last step to onboard a cardholder.

After the required API onboarding resources are created, status of the cardholder needs to be set to either 001 (Active) or 003 (Suspended) by sending a PATCH request to cardholders API. Suspended status is only used if there are necessary post process or manual intervention after onboarding and before the cardholder is activated.

This PATCH request triggers the AIM and APM to process the cardholder application. When the back-end application processing is successful, an API response of 200 or 201 (successful) will be passed as well indicating an cardholder is onboarded successfully with that status.

In case there are any processing errors, the error details will be indicated in the response and the cardholder status will be set to 024 (In Error).

Request

PATCH https://wsmdemo.rs2.com/wsm/jsonapi/cardholders/client

Request Headers

AuthorizationBearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Acceptapplication/vnd.api+json
Content-Typeapplication/vnd.api+json

Request Body

Response

HTTP 200 (OK)

Supplementary Cardholder Boarding

This use case section covers the requests for onboarding a Supplementary Cardholder. Prior to onboarding, the parent group to be linked to the supplementary cardholder can be done in either of two ways:

  • Upgrading an existing member level (standalone cardholder) to a parent group and using this to be linked to the supplementary cardholder to be onboarded.
  • Retrieving the existing and active parent group contract and using this to be linked to the supplementary cardholder to be onboarded.

1. Get Member Level to Upgrade

This is a sample request to get a specific cardholder that will be upgraded to a Group Level. This will then be used as the main client of the supplementary cardholder that will be onboarded in the 4th request.

Request

GET https://wsmdemo.rs2.com/wsm/jsonapi/cardholders/clientNumber=90000347?fields=id

Request Headers

AuthorizationBearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Acceptapplication/vnd.api+json
Content-Typeapplication/vnd.api+json
Crnk-compacttrue

Request Parameters

fields id

Response

HTTP 200 (OK)

Response body will contain the requested JSON:API resource of type cardholders .

2. Upgrade Member to Group Level

This request will upgrade the member level cardholder to a parent group level providing the client number of the cardholder to be upgraded and clientLevel should be at a Group (002) level.

Request

POST https://wsmdemo.rs2.com/wsm/jsonapi/issContracts

Request Headers

AuthorizationBearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Acceptapplication/vnd.api+json
Content-Typeapplication/vnd.api+json
Crnk-Compacttrue

Request Body

A JSON:API resource of type issContracts with the following attributes:

Name Description
contractCategory
string (3)

The contract category determines the type of hierarchy.

  • 001 - Private cardholder contracts
  • 002 - Commercial cardholder contracts
serviceContractId
string (3)

Indicates the service contract ID linked to the client contract.

This MAY be passed instead of the contractDefinitions relationship in case the Service Contract ID value is known.

Refer to API Data Mapping documentation for possible values.

parentClientNumber
string (8)

Indicates the client number of the parent client in the hierarchy. This is an optional attribute that can be provided instead of the parentContracts relationship when defining a lower level client in a hiearchy.

status
string (3)

Indicates the status of the client contract.

Refer to API Data Mapping documentation for possible values.

groupNumber
string (8)

8-digit number indicating a billing and settlement hiearchical group. In this case, the group number indicates the hierarchy the contract form parts of. This field’s value is auto-generated.

clientLevel
string (3)
required

Indicates the position of the current node resource within the group hierarchy. The top most level is identified as the Group level, the bottom level is the Member level. Any level in between the group and member levels is referred to as a Sub-group level node. Required only when onboarding a new client.

Refer to API Data Mapping documentation for possible values.

effectiveDate
date

The date in ISO 8601 format on which the hierarchy link record becomes effective for the client. The value can be future dated and cannot be less than the posting date. If not provided, posting date +1 value is assumed only post-boarding.

settlementMethod
string (3)

Indicates the method how the client will settle with the bank. Identifies how outstanding balances are settled. Required only when onboarding a new client.

Refer to API Data Mapping documentation for possible values.

postingMethod
string (3)

The tariff under which the client falls when posting to the clients account.

Refer to API Data Mapping documentation for possible values.

clientTariff
string (3)

Indicates the client tariff package assigned. Required only when onboarding a new client.

chargeTierLevel
string (3)

Enables setting up of the same fee with different value high and value low triggers.

Refer to API Data Mapping documentation for possible values.

clientScheme
string (3)

Indicates the rebate tariff applicable for the contract.

contractReference
string (8)

Cardholder contract document reference.

bankReference
string (8)

External additional reference number of the cardholder with the bank.

institutionAccountOfficer
string (3)

Officer in charge of the client contract.

Refer to API Data Mapping documentation for possible values.

clientBranch
string (3)

Contract application branch details. Related to the institutionAccountOfficer.

Refer to API Data Mapping documentation for possible values.

tierGroup
string (3)

An identifier used to group a set of rates that need to be applied during tiered pricing generation.

Refer to API Data Mapping documentation for possible values.

recordDate
date

The record creation date.

Relationships
contractDefinition

An optional relationship to the service contract resource. Mandatory If a value is not passed in serviceContractId.

cardholder

Relationship to the client resource if a private cardholder contract.

commercialClient

Relationship to the client resource if a commercial contract.

parentContracts

Optional relationship to build a hierarchy. Links to the parent contract, one level up the client hierarchy. Effective date needs to be taken into consideration as the relationship gives access to past, current and future effective data.

Alternatively if the parent client number is known, the attribute can be used instead of this relationship.

Response

HTTP 201 (Created)

Response body will contain the created JSON:API resource of type issContracts .

3. Get Parent Contract

This request can be use to get the contract of a parent client already active in the system if by any chance the request for level upgrade (request #2) was already done in the past.

The returned parent contract ID will then be used as a pre-requisite to onboard a supplementary cardholder linking the parent contract to it on the next request (request #4 Supplementary Cardholder).

Request

GET https://wsmdemo.rs2.com/wsm/jsonapi/issContracts?include=cardholder&filter[cardholder.clientNumber]=90000170&fields=id&filter[clientLevel]=002

Request Headers

AuthorizationBearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Acceptapplication/vnd.api+json
Content-Typeapplication/vnd.api+json
Crnk-compacttrue

Request Parameters

include cardholder
filter[cardholder.clientNumber] 90000170
fields id
filter[clientLevel] 002

Response

HTTP 200 (OK)

Response body will contain the requested JSON:API resource of type issContracts with cardholderas included resources.

4. Supplementary Cardholder Non-Billing

This will onboard a member (supplementary) level client linking the parent contract in the request. Parent contract is retrieved either from request #2 or 3.

This call creates and processes a carhdolder application in a single request through the API gateway without the need to send individual resource creation. This request is an orchestration of multiple calls into one but still follows the requirements mentioned in the main documentation for each resource. Please note that the access token must be valid for more than 30 seconds for this orchestration to take place.

The following resources are supported:

Resource Description
cardholder (required) This is the main resource to which everything is related to. This must be provided at the top-level.
addresses (required) The addresses are related to the cardholder and must be provided as an array and part of the cardholder resource.
contracts (required) The contract is related to the cardholder and must be provided as a single-element array and part of the cardholder resource. From the relationships object, the parentContracts array object is required in order to indicate the client to be onboarded is a supplementary of an existing and active parent client.
cards The card services are linked to a cardholder through the contract and can be provided as an array and part of the contract resource.
services Any miscellaneous services are linked to a cardholder through the contract and can be provided as an array and part of the contract resource.
settlementPackages The settlement packages are related to the cardholder and can be provided as an array and part of the cardholder resource. This is required for billing cardholders.
accounts (required) Accounts can be defined at two different levels:

1. billing level - can be passed as an array and part of the respective settlementPackage resource

2. non-billing level - can be passed as an array and part of the contract resource
accountLimits Account limits can be defined during boarding. This can be provided as an array and part of the accounts resource.

In case of a successful onboarding, all the cardholder data (including the generated IDs) will be retrieved and returned.

In case there are any errors, any successful resources created prior to the failing resource will be reverted and another cardholder application with the correct data must be sent again. In order to identify the problematic resource which has thrown the error, make sure to refer to the pointer value found inside the meta element of the corresponding error. This will contain the path of the resource in error (if any). In cases where the resource is part of an array, a zero-based index will be included to identify the specific resource.

Request

POST {{gatewayHost}}/wsm/jsonapi/cardholderApplications

Request Headers

AuthorizationBearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Acceptapplication/vnd.api+json
Content-Typeapplication/vnd.api+json
Crnk-Compacttrue

Request Body

This request body contains of a numer of JSON Patch operations to perform bulk actions on the cardholders, issAddresses, issContracts, issSettlementPackages, issAccounts, limits and cards JSON:API resources. Follow the example in order to see how to perform the JSON Patch call. Below are the JSON:API resource objects accepted in this JSON Patch call.

cardholders object
Name Description
clientNumber
string (8)

8-digit BankWORKS client number unique that is unique per institution. System generated if not provided during new cardholder definition. A unique number must be provided if user defined.

rbsClientNumber
string (20)

External cardholder reference number.

status
string (3)

Indicates the current status of the cardholder in BankWORKS.

Refer to API Data Mapping documentation for possible values.

idNumber
string (15)
required

The national ID card number.

title
string (3)
required

Cardholder’s salutation.

Refer to API Data Mapping documentation for possible values.

firstName
string (15)
required

First name of the cardholder.

lastName
string (26)
required

Last name of the cardholder.

gender
string (3)
required

Gender of the cardholder.

Refer to API Data Mapping documentation for possible values.

birthDate
date
required

Date of birth in ISO 8601 format

birthPlace
string (15)

Cardholder’s place of birth.

birthName
string (20)

Cardholder’s birth name.

shortName
string (26)
required

Cardholder’s short name.

mobile1
string (15)

Primary mobile phone number.

mobile2
string (15)

Secondary mobile phone number.

fathersName
string (20)

Name of cardholder’s father.

language
string (3)
required

Cardholder’s language.

Refer to API Data Mapping documentation for possible values.

nationality
string (3)
required

Nationality of the cardholder.

Refer to API Data Mapping documentation for possible values.

residenceStatus
string (3)
required

Indicates if the carhdolder is a resident of the hosting country. Defaulted to 001 if not provided indicating a Resident.

Refer to API Data Mapping documentation for possible values.

residenceStatusDate
date

The date in ISO 8601 format relating to the client’s current residence state.

residenceType
string (3)
required

Defines the type of residence for the cardholder such as, own house or rented flat. Defaulted to 000 if not provided indicating Unknown.

Refer to API Data Mapping documentation for possible values.

maritalStatus
string (3)

Cardholder’s marital status.

Refer to API Data Mapping documentation for possible values.

maritalStatusDate
date

Date in ISO 8601 format of last change in marital status.

passportNumber
string (15)

The cardholder’s national passport number.

drivingLicenseNumber
string (15)

The cardholder’s national driving license number.

employerName
string (35)

Cardholder’s employment company or individual.

employmentDate
date

Applicant’s date of employment in ISO 8601 format.

employmentPosition
string (3)
required

Cardholder’s current employment position.

Refer to API Data Mapping documentation for possible values.

employmentStatus
string (3)
required

Cardholder’s current employment status.

Refer to API Data Mapping documentation for possible values.

employmentExtraInfo
string (3)

May contain extra additional numeric information related to the employment status (e.g. for part time employee, might be interpreted as no. of hrs worked weekly).

incomeAmount
number (18)

Income amount of applicant.

incomeRange
string (3)
required

Income range of applicant.

Refer to API Data Mapping documentation for possible values.

processingRegion
string (3)

Defines the processing region of the cardholder. Used for transaction processing.

Refer to API Data Mapping documentation for possible values.

mastercardABU
string

Flag that indicates the cardholder’s Mastercard Automatic Billing Updater (ABU) registration status.

Refer to API Data Mapping documentation for possible values.

Sample values:

  • 001 - N/A

  • 003 - Registered

recordDate
date

The record creation date.

Relationships
issAddresses object
Name Description
addressCategory
string (3)
required

The address category identifier for the returned client address resource are the following but not limited to:

  • 001 Standard
  • 006 Statement

A client must have at least one standard (001).

Refer to API Data Mapping documentation for possible values.

effectiveDate
date

The date in ISO 8601 format when the address becomes effective. The value can be future dated and cannot be less than the posting date. If not provided, the current posting date is automatically assumed.

expiryDate
date

The date in ISO 8601 format when the address record is no longer taken into consideration. Can be used for temporary addresses. Date must be in the future.

addressLine1
string (35)
required

Address line typically used for building information but not limited to house name, number, floor, unit and block number.

addressLine2
string (35)

Address line typically used for street information such as street number and name.

addressLine3
string (35)

Extra address properties that might be required and are not catered for by the attributes available.

addressLine4
string (35)

Extra address properties that might be required and are not catered for by the attributes available.

addressLine5
string (35)

Extra address properties that might be required and are not catered for by the attributes available.

contactName
string (35)

Main contact name for the address.

city
string (35)
required

Client’s city.

state
string (3)

3 digit identifier for the client’s state/region.

Refer to API Data Mapping documentation for possible values.

country
string (3)
required

The ISO 3-letter country code. In cases where value consists of 3 digits, 000 means not applicable and 999 means applicable to all countries.

Refer to API Data Mapping documentation for possible values.

postCode
string (20)
required

Client’s postcode.

poBox
string (10)

P.O. Box details.

telephone1
string (15)

Primary address fixed line number, for example, a client’s home or business telephone number.

telephone2
string (15)

Secondary address fixed line number for example a secondary business telephone number.

faxWork
string (15)

Office fax number.

addressLanguage
string (3)

3-digit identifier for the client language associated with the address.

Refer to API Data Mapping documentation for possible values.

deliveryMethod
string (3)

3-digit value indicating the preferred delivery option for correspondence. Defaulted to not applicable (000) - Not applicable, if not provided.

Refer to API Data Mapping documentation for possible values.

emailAddress
string (60)

Client’s e-mail address.

recordDate
date

The record creation date.

Relationships
cardholder

Relationship to the cardholder linked to the address.

commercialClient

Relationship to the commercial client linked to the address.

issContracts object
Name Description
contractCategory
string (3)

The contract category determines the type of hierarchy.

  • 001 - Private cardholder contracts
  • 002 - Commercial cardholder contracts
serviceContractId
string (3)

Indicates the service contract ID linked to the client contract.

This MAY be passed instead of the contractDefinitions relationship in case the Service Contract ID value is known.

Refer to API Data Mapping documentation for possible values.

parentClientNumber
string (8)

Indicates the client number of the parent client in the hierarchy. This is an optional attribute that can be provided instead of the parentContracts relationship when defining a lower level client in a hiearchy.

status
string (3)

Indicates the status of the client contract.

Refer to API Data Mapping documentation for possible values.

clientLevel
string (3)
required

Indicates the BankWORKS hierarchical level for the client contract. The following values are possible:

  • 002 - Group (the parent client)
  • 001 - Member (a standalone client without a parent group linked to it)
effectiveDate
date

The date in ISO 8601 format on which the hierarchy link record becomes effective for the client. The value can be future dated and cannot be less than the posting date. If not provided, posting date +1 value is assumed only post-boarding.

settlementMethod
string (3)
required

Indicates the method how the client will settle with the bank. Identifies how outstanding balances are settled. Required only when onboarding a new client.

Refer to API Data Mapping documentation for possible values.

postingMethod
string (3)
required

The tariff under which the client falls when posting to the clients account.

Refer to API Data Mapping documentation for possible values.

clientTariff
string (3)
required

Indicates the client tariff package assigned. Required only when onboarding a new client.

chargeTierLevel
string (3)

Enables setting up of the same fee with different value high and value low triggers.

Refer to API Data Mapping documentation for possible values.

clientScheme
string (3)

Indicates the rebate tariff applicable for the contract.

contractReference
string (8)

Cardholder contract document reference.

bankReference
string (8)

External additional reference number of the cardholder with the bank.

institutionAccountOfficer
string (3)

Officer in charge of the client contract.

Refer to API Data Mapping documentation for possible values.

clientBranch
string (3)

Contract application branch details. Related to the institutionAccountOfficer.

Refer to API Data Mapping documentation for possible values.

tierGroup
string (3)

An identifier used to group a set of rates that need to be applied during tiered pricing generation.

Refer to API Data Mapping documentation for possible values.

recordDate
date

The record creation date.

Relationships
contractDefinition

An optional relationship to the service contract resource. Mandatory If a value is not passed in serviceContractId.

cardholder

Relationship to the client resource if a private cardholder contract.

commercialClient

Relationship to the client resource if a commercial contract.

parentContracts

If defining a cardholder that is part of a hierarchy below the GROUP level, the parent cardholder contract needs to be provided. Standalone MEMBER level clients do not require a parent contract to be linked to rather a direct relationship to contractDefinition.

issSettlementPackages object
Name Description
accountCurrency
string (3)

The currency of the counter bank account in SWIFT currency code format. In cases where value consists of 3 digits:

  • 998 means not applicable
  • 999 means applicable to all currencies.

Refer to API Data Mapping documentation for possible values.

settlementCategory
string (3)

Settlement information category descriptor such as Payable or Receivable.

Refer to API Data Mapping documentation for possible values.

bankClearingNumber
string (8)

Information regarding the account’s bank details.

receiverCountryCode
string (3)

The country where the bank account information is located. In cases where value consists of 3 digits:

  • 000 means not applicable
  • 999 means applicable to all countries.

Refer to API Data Mapping documentation for possible values.

payableDetails
object
Name Description
bankContactName
string (35)

The counter bank contact name used for PAYABLES.

bankTelNumber
string (15)

The counter bank telephone number used for PAYABLES.

confirmationMethod
string (3)

The routing channel used for example Fax, mail, SWIFT etc.

Refer to API Data Mapping documentation for possible values.

counterBankAccount
string (35)

The counter RBS bank account number used to settle PAYABLES.

counterBankAccountName
string (35)

The counter bank account name used for PAYABLES.

counterBankCity
string (35)

The counter bank’s city used for PAYABLES.

counterBankName
string (40)

The counter bank name used for PAYABLES.

counterBankNumber
string (11)

The counter bank number where the counter bank account used for PAYABLES is domiciled.

counterClientNumber
string (8)

The RBS client number used for PAYABLES.

fundingNarrative
string (18)

Contains funding information applicable for PAYABLES.

ibanReference
string (35)

The counter bank account IBAN used for PAYABLES.

paymentReference
string (24)

The reference to be included in the outward payment transaction.

receivableDetails
object
Name Description
bankContactName
string (35)

The counter bank contact name used for RECEIVABLES.

bankTelNumber
string (15)

The counter bank telephone number used for RECEIVABLES.

counterBankAccount
string (35)

The counter RBS bank account number used to settle RECEIVABLES.

counterBankAccountName
string (35)

The counter bank account name used for RECEIVABLES.

counterBankCity
string (35)

The counter bank’s city used for RECEIVABLES.

counterBankName
string (40)

The counter bank name used for RECEIVABLES.

counterBankNumber
string (11)

The counter bank number where the counter bank account used for RECEIVABLES is domiciled.

fundingNarrative
string (18)

Contains funding information applicable for RECEIVABLES.

ibanReference
string (35)

The counter bank account IBAN used for RECEIVABLES.

contingencyLiabilityAccount
string (11)

The RBS account that is used in case the counter RBS bank account is not able to fullfil the RECEIVABLE obligation.

correspondingBankAccount
string (16)

The NOSTRA/VOSTRO bank account of the affiliate institution.

correspondingBankNumber
string (35)

The bank number of the affiliate institution where the counter bank Nostro/Vostro are domiciled.

recordDate
date

The record creation date in ISO8601 format.

Relationships
cardholder

Cardholder who owns the settlement information.

commercialClient

Commercial client who owns the settlement information.

issAccounts object
Name Description
clientAccountName
string (35)

Cardholder account alias.

accountTypeId
string (3)

Indicates the account type of the client account. When defining new accounts, this attribute along with the accountCurrency can be supplied as an alternative to the accountDefinitions relationship.

Refer to API Data Mapping documentation for possible values.

accountNumberRbs
string (28)

External RBS account number reference.

statementGeneration
string (3)

Indicates the statement generation rule applicable for this account.

Refer to API Data Mapping documentation for possible values.

statementType
string (3)

The type of statement applicable for this account.

Refer to API Data Mapping documentation for possible values.

availabilityAmount
object

This is the calculated available amount for the account based on the account limit setup.

Name Description
value
decimal

The quantative decimal monetary amount (eg. 1.1)

currency
string

The ISO 4217 currency code (eg. 'EUR')

recordDate
date

The record creation date.

Relationships
accountDefinition

An optional relationship to the service definition resource. Mandatory If a value is not passed in accountTypeId and accountCurrency attributes.

contracts
required

Link to the cardholder contract defined during contract creation.

settlementPackage

Bank account settlement information related to this BankWORKS account. Only billing level accounts require settlement details to be defined.

accountFeeDefinitions

Account fees applicable for the cardholder account based on the client contract tariff assigned. Contract based account fees as well as individual client specific account fees overriding contract based fees are available. Effective date needs to be taken into consideration as the relationship gives access to past, current and future effective data.

accountLimits

Applicable account limits linked to the account. Effective date needs to be taken into consideration as the relationship gives access to past, current and future effective data.

globalClientLimits

Links to the global client account limit. The global client limit is a limit that acts on top of the account limit. Effective date needs to be taken into consideration as the relationship gives access to past, current and future effective data.

balanceCycles

Cycle balances related to the account, includes past cycles and the current cycle.

cycleChangeInstructions

Billing cycle instructions linked to the account.

limits object
Name Description
limitNumber
string (11)

BankWORKS 11-digit number identifying the limit.

limitLevel
string (3)
required

The limit level identifies the account level to which this limit pertains.

Refer to API Data Mapping documentation for possible values.

effectiveDate
date-time

The date in ISO 8601 format on which the limit record becomes effective for the provided card. If left empty, the current system date is assumed.

expiryDate
date
required

The date in ISO 8601 format on which the limit is no longer effective. Expiry date must be greater than the effectiveDate.

clientLimit
object
required

The amount of credit the limit provides.

Name Description
value
decimal

The quantative decimal monetary amount (eg. 1.1)

currency
string

The ISO 4217 currency code (eg. 'EUR')

limitOverrideAmount
number

A calculated attribute that identifies the amount that the limit can be overriden.

limitOverridePercent
string (11)

A percentage, exceeding the limit, within which authorization approval is allowed.

cashLimitPercent
number

A percentage in which authorization approval for Cash transactions is allowed.

retailBalance
object

Retail balance amount.

Name Description
value
decimal

The quantative decimal monetary amount (eg. 1.1)

currency
string

The ISO 4217 currency code (eg. 'EUR')

recordDate
date

The record creation date.

Relationships
contracts
required

Client contract related to this resource. Effective date needs to be taken into consideration as the relationship gives access to past, current and future effective data.

limitDefinition
required

The limits definition for which this resource is created from.

parentLimits

Parent limit related to this resource.

cards object
Name Description
embossLine1
string (26)

Detail used for card embossing. Format: alphanumeric and special characters except for pipe (|) symbol. If not provided, this will be defaulted to the first and last name of the cardholder.

embossLine2
string (26)

Detail used for card embossing. Format: alphanumeric and special characters except for pipe (|) symbol.

serviceId
string (3)

Indicates the card Service ID the card is based on.

This MAY be passed instead of the cardServiceDefinitions relationship in case the Service ID value is known.

Refer to API Data Mapping documentation for possible values.

Relationships
cardServiceDefinitions
required

Relationship to the card service definition resource.

contracts
required

Related client contract for this card. Effective date needs to be taken into consideration as the relationship gives access to past, current and future effective data.

poiSetting

The card information linked to the card POI (point of interaction) setting.

Response

HTTP 201 (Created)

Response body will contain the result of the JSON PATCH operation for the following resources: cardholders issAddresses issContracts issSettlementPackages issAccounts limits cards

Single Request Billing

This will onboard a standalone cardholder under a billing level account via a single request for all the resources required.

This call creates and processes a carhdolder application in a single request through the API gateway without the need to send individual resource creation. This request is an orchestration of multiple calls into one but still follows the requirements mentioned in the main documentation for each resource. Please note that the access token must be valid for more than 30 seconds for this orchestration to take place.

The following resources are supported:

Resource Description
cardholder (required) This is the main resource to which everything is related to. This must be provided at the top-level.
addresses (required) The addresses are related to the cardholder and must be provided as an array and part of the cardholder resource.
contracts (required) The contract is related to the cardholder and must be provided as a single-element array and part of the cardholder resource.
cards The card services are linked to a cardholder through the contract and can be provided as an array and part of the contract resource.
services Any miscellaneous services are linked to a cardholder through the contract and can be provided as an array and part of the contract resource.
settlementPackages (required) The settlement packages are related to the cardholder and can be provided as an array and part of the cardholder resource. This is required for billing cardholders.
accounts (required) Accounts can be defined at two different levels:

1. billing level - can be passed as an array and part of the respective settlementPackage resource

2. non-billing level - can be passed as an array and part of the contract resource
accountLimits Account limits can be defined during boarding. This can be provided as an array and part of the accounts resource.

For further details on the resources to be provided in the request, please refer to the individual requests in the cardholder onboarding via JSON Patch use case above.

In case of a successful onboarding, all the cardholder data (including the generated IDs) will be retrieved and returned.

In case there are any errors, any successful resources created prior to the failing resource will be reverted and another cardholder application with the correct data must be sent again. In order to identify the problematic resource which has thrown the error, make sure to refer to the pointer value found inside the meta element of the corresponding error. This will contain the path of the resource in error (if any). In cases where the resource is part of an array, a zero-based index will be included to identify the specific resource.

Request

POST {{gatewayHost}}/wsm/jsonapi/cardholderApplications

Request Headers

AuthorizationBearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Acceptapplication/vnd.api+json
Content-Typeapplication/vnd.api+json
Crnk-Compacttrue

Request Body

This request body contains of a numer of JSON Patch operations to perform bulk actions on the cardholders, issAddresses, issContracts, issSettlementPackages, issAccounts, limits and cards JSON:API resources. Follow the example in order to see how to perform the JSON Patch call. Below are the JSON:API resource objects accepted in this JSON Patch call.

cardholders object
Name Description
clientNumber
string (8)

8-digit BankWORKS client number unique that is unique per institution. System generated if not provided during new cardholder definition. A unique number must be provided if user defined.

rbsClientNumber
string (20)

External cardholder reference number.

status
string (3)

Indicates the current status of the cardholder in BankWORKS.

Refer to API Data Mapping documentation for possible values.

idNumber
string (15)
required

The national ID card number.

title
string (3)
required

Cardholder’s salutation.

Refer to API Data Mapping documentation for possible values.

firstName
string (15)
required

First name of the cardholder.

lastName
string (26)
required

Last name of the cardholder.

gender
string (3)
required

Gender of the cardholder.

Refer to API Data Mapping documentation for possible values.

birthDate
date
required

Date of birth in ISO 8601 format

birthPlace
string (15)

Cardholder’s place of birth.

birthName
string (20)

Cardholder’s birth name.

shortName
string (26)
required

Cardholder’s short name.

mobile1
string (15)

Primary mobile phone number.

mobile2
string (15)

Secondary mobile phone number.

fathersName
string (20)

Name of cardholder’s father.

language
string (3)
required

Cardholder’s language.

Refer to API Data Mapping documentation for possible values.

nationality
string (3)
required

Nationality of the cardholder.

Refer to API Data Mapping documentation for possible values.

residenceStatus
string (3)
required

Indicates if the carhdolder is a resident of the hosting country. Defaulted to 001 if not provided indicating a Resident.

Refer to API Data Mapping documentation for possible values.

residenceStatusDate
date

The date in ISO 8601 format relating to the client’s current residence state.

residenceType
string (3)
required

Defines the type of residence for the cardholder such as, own house or rented flat. Defaulted to 000 if not provided indicating Unknown.

Refer to API Data Mapping documentation for possible values.

maritalStatus
string (3)

Cardholder’s marital status.

Refer to API Data Mapping documentation for possible values.

maritalStatusDate
date

Date in ISO 8601 format of last change in marital status.

passportNumber
string (15)

The cardholder’s national passport number.

drivingLicenseNumber
string (15)

The cardholder’s national driving license number.

employerName
string (35)

Cardholder’s employment company or individual.

employmentDate
date

Applicant’s date of employment in ISO 8601 format.

employmentPosition
string (3)
required

Cardholder’s current employment position.

Refer to API Data Mapping documentation for possible values.

employmentStatus
string (3)
required

Cardholder’s current employment status.

Refer to API Data Mapping documentation for possible values.

employmentExtraInfo
string (3)

May contain extra additional numeric information related to the employment status (e.g. for part time employee, might be interpreted as no. of hrs worked weekly).

incomeAmount
number (18)

Income amount of applicant.

incomeRange
string (3)
required

Income range of applicant.

Refer to API Data Mapping documentation for possible values.

processingRegion
string (3)

Defines the processing region of the cardholder. Used for transaction processing.

Refer to API Data Mapping documentation for possible values.

mastercardABU
string

Flag that indicates the cardholder’s Mastercard Automatic Billing Updater (ABU) registration status.

Refer to API Data Mapping documentation for possible values.

Sample values:

  • 001 - N/A

  • 003 - Registered

recordDate
date

The record creation date.

Relationships
issAddresses object
Name Description
addressCategory
string (3)
required

The address category identifier for the returned client address resource are the following but not limited to:

  • 001 Standard
  • 006 Statement

A client must have at least one standard (001).

Refer to API Data Mapping documentation for possible values.

effectiveDate
date

The date in ISO 8601 format when the address becomes effective. The value can be future dated and cannot be less than the posting date. If not provided, the current posting date is automatically assumed.

expiryDate
date

The date in ISO 8601 format when the address record is no longer taken into consideration. Can be used for temporary addresses. Date must be in the future.

addressLine1
string (35)
required

Address line typically used for building information but not limited to house name, number, floor, unit and block number.

addressLine2
string (35)

Address line typically used for street information such as street number and name.

addressLine3
string (35)

Extra address properties that might be required and are not catered for by the attributes available.

addressLine4
string (35)

Extra address properties that might be required and are not catered for by the attributes available.

addressLine5
string (35)

Extra address properties that might be required and are not catered for by the attributes available.

contactName
string (35)

Main contact name for the address.

city
string (35)
required

Client’s city.

state
string (3)

3 digit identifier for the client’s state/region.

Refer to API Data Mapping documentation for possible values.

country
string (3)
required

The ISO 3-letter country code. In cases where value consists of 3 digits, 000 means not applicable and 999 means applicable to all countries.

Refer to API Data Mapping documentation for possible values.

postCode
string (20)
required

Client’s postcode.

poBox
string (10)

P.O. Box details.

telephone1
string (15)

Primary address fixed line number, for example, a client’s home or business telephone number.

telephone2
string (15)

Secondary address fixed line number for example a secondary business telephone number.

faxWork
string (15)

Office fax number.

addressLanguage
string (3)

3-digit identifier for the client language associated with the address.

Refer to API Data Mapping documentation for possible values.

deliveryMethod
string (3)

3-digit value indicating the preferred delivery option for correspondence. Defaulted to not applicable (000) - Not applicable, if not provided.

Refer to API Data Mapping documentation for possible values.

emailAddress
string (60)

Client’s e-mail address.

recordDate
date

The record creation date.

Relationships
cardholder
required

Link to the cardholder resource ID previously defined in the cardholder resource creation stage.

commercialClient

Relationship to the commercial client linked to the address.

issContracts object
Name Description
contractCategory
string (3)

The contract category determines the type of hierarchy.

  • 001 - Private cardholder contracts
  • 002 - Commercial cardholder contracts
serviceContractId
string (3)

Indicates the service contract ID linked to the client contract.

This MAY be passed instead of the contractDefinitions relationship in case the Service Contract ID value is known.

Refer to API Data Mapping documentation for possible values.

parentClientNumber
string (8)

Indicates the client number of the parent client in the hierarchy. This is an optional attribute that can be provided instead of the parentContracts relationship when defining a lower level client in a hiearchy.

status
string (3)

Indicates the status of the client contract.

Refer to API Data Mapping documentation for possible values.

clientLevel
string (3)
required

Indicates the BankWORKS hierarchical level for the client contract. The following values are possible:

  • 002 - Group (the parent client)
  • 001 - Member (a standalone client without a parent group linked to it)
effectiveDate
date

The date in ISO 8601 format on which the hierarchy link record becomes effective for the client. The value can be future dated and cannot be less than the posting date. If not provided, posting date +1 value is assumed only post-boarding.

settlementMethod
string (3)
required

Indicates the method how the client will settle with the bank. Identifies how outstanding balances are settled. Required only when onboarding a new client.

Refer to API Data Mapping documentation for possible values.

postingMethod
string (3)
required

The tariff under which the client falls when posting to the clients account.

Refer to API Data Mapping documentation for possible values.

clientTariff
string (3)
required

Indicates the client tariff package assigned. Required only when onboarding a new client.

chargeTierLevel
string (3)

Enables setting up of the same fee with different value high and value low triggers.

Refer to API Data Mapping documentation for possible values.

clientScheme
string (3)

Indicates the rebate tariff applicable for the contract.

contractReference
string (8)

Cardholder contract document reference.

bankReference
string (8)

External additional reference number of the cardholder with the bank.

institutionAccountOfficer
string (3)

Officer in charge of the client contract.

Refer to API Data Mapping documentation for possible values.

clientBranch
string (3)

Contract application branch details. Related to the institutionAccountOfficer.

Refer to API Data Mapping documentation for possible values.

tierGroup
string (3)

An identifier used to group a set of rates that need to be applied during tiered pricing generation.

Refer to API Data Mapping documentation for possible values.

recordDate
date

The record creation date.

Relationships
contractDefinition

An optional relationship to the service contract resource. Mandatory If a value is not passed in serviceContractId.

cardholder
required

Link to the cardholder resource ID previously defined in the cardholder resource creation stage.

commercialClient

Relationship to the client resource if a commercial contract.

parentContracts

If defining a cardholder that is part of a hierarchy below the GROUP level, the parent cardholder contract needs to be provided. Standalone MEMBER level clients do not require a parent contract to be linked to rather a direct relationship to contractDefinition.

issSettlementPackages object
Name Description
accountCurrency
string (3)

The currency of the counter bank account in SWIFT currency code format. In cases where value consists of 3 digits:

  • 998 means not applicable
  • 999 means applicable to all currencies.

Refer to API Data Mapping documentation for possible values.

settlementCategory
string (3)

Settlement information category descriptor such as Payable or Receivable.

Refer to API Data Mapping documentation for possible values.

bankClearingNumber
string (8)

Information regarding the account’s bank details.

receiverCountryCode
string (3)

The country where the bank account information is located. In cases where value consists of 3 digits:

  • 000 means not applicable
  • 999 means applicable to all countries.

Refer to API Data Mapping documentation for possible values.

payableDetails
object
Name Description
bankContactName
string (35)

The counter bank contact name used for PAYABLES.

bankTelNumber
string (15)

The counter bank telephone number used for PAYABLES.

confirmationMethod
string (3)

The routing channel used for example Fax, mail, SWIFT etc.

Refer to API Data Mapping documentation for possible values.

counterBankAccount
string (35)

The counter RBS bank account number used to settle PAYABLES.

counterBankAccountName
string (35)

The counter bank account name used for PAYABLES.

counterBankCity
string (35)

The counter bank’s city used for PAYABLES.

counterBankName
string (40)

The counter bank name used for PAYABLES.

counterBankNumber
string (11)

The counter bank number where the counter bank account used for PAYABLES is domiciled.

counterClientNumber
string (8)

The RBS client number used for PAYABLES.

fundingNarrative
string (18)

Contains funding information applicable for PAYABLES.

ibanReference
string (35)

The counter bank account IBAN used for PAYABLES.

paymentReference
string (24)

The reference to be included in the outward payment transaction.

receivableDetails
object
Name Description
bankContactName
string (35)

The counter bank contact name used for RECEIVABLES.

bankTelNumber
string (15)

The counter bank telephone number used for RECEIVABLES.

counterBankAccount
string (35)

The counter RBS bank account number used to settle RECEIVABLES.

counterBankAccountName
string (35)

The counter bank account name used for RECEIVABLES.

counterBankCity
string (35)

The counter bank’s city used for RECEIVABLES.

counterBankName
string (40)

The counter bank name used for RECEIVABLES.

counterBankNumber
string (11)

The counter bank number where the counter bank account used for RECEIVABLES is domiciled.

fundingNarrative
string (18)

Contains funding information applicable for RECEIVABLES.

ibanReference
string (35)

The counter bank account IBAN used for RECEIVABLES.

contingencyLiabilityAccount
string (11)

The RBS account that is used in case the counter RBS bank account is not able to fullfil the RECEIVABLE obligation.

correspondingBankAccount
string (16)

The NOSTRA/VOSTRO bank account of the affiliate institution.

correspondingBankNumber
string (35)

The bank number of the affiliate institution where the counter bank Nostro/Vostro are domiciled.

recordDate
date

The record creation date in ISO8601 format.

Relationships
cardholder
required

Link to the cardholder resource ID previously defined in the cardholder resource creation stage.

commercialClient

Commercial client who owns the settlement information.

issAccounts object
Name Description
clientAccountName
string (35)

Cardholder account alias.

accountTypeId
string (3)

Indicates the account type of the client account. When defining new accounts, this attribute along with the accountCurrency can be supplied as an alternative to the accountDefinitions relationship.

Refer to API Data Mapping documentation for possible values.

accountNumberRbs
string (28)

External RBS account number reference.

statementGeneration
string (3)

Indicates the statement generation rule applicable for this account.

Refer to API Data Mapping documentation for possible values.

statementType
string (3)

The type of statement applicable for this account.

Refer to API Data Mapping documentation for possible values.

availabilityAmount
object

This is the calculated available amount for the account based on the account limit setup.

Name Description
value
decimal

The quantative decimal monetary amount (eg. 1.1)

currency
string

The ISO 4217 currency code (eg. 'EUR')

recordDate
date

The record creation date.

Relationships
accountDefinition

An optional relationship to the account definition resource. Mandatory If a value is not passed in accountTypeId and accountCurrency attributes.

commercialClient

Relationship to the client resource if a commercial client.

contracts
required

Link to the cardholder contract defined during contract creation.

settlementPackage

Bank account settlement information related to this BankWORKS account. Only billing level accounts require settlement details to be defined.

accountLimits

Applicable account limits linked to the account. Effective date needs to be taken into consideration as the relationship gives access to past, current and future effective data.

globalClientLimits

Links to the global client account limit. The global client limit is a limit that acts on top of the account limit. Effective date needs to be taken into consideration as the relationship gives access to past, current and future effective data.

balanceCycles

Cycle balances related to the account, includes past cycles and the current cycle.

cycleChangeInstructions

Billing cycle instructions linked to the account.

limits object
Name Description
limitNumber
string (11)

BankWORKS 11-digit number identifying the limit.

limitLevel
string (3)
required

The limit level identifies the account level to which this limit pertains.

Refer to API Data Mapping documentation for possible values.

effectiveDate
date-time

The date in ISO 8601 format on which the limit record becomes effective for the provided card. If left empty, the current system date is assumed.

expiryDate
date
required

The date in ISO 8601 format on which the limit is no longer effective. Expiry date must be greater than the effectiveDate.

clientLimit
object
required

The amount of credit the limit provides.

Name Description
value
decimal

The quantative decimal monetary amount (eg. 1.1)

currency
string

The ISO 4217 currency code (eg. 'EUR')

limitOverrideAmount
number

A calculated attribute that identifies the amount that the limit can be overriden.

limitOverridePercent
string (11)

A percentage, exceeding the limit, within which authorization approval is allowed.

cashLimitPercent
number

A percentage in which authorization approval for Cash transactions is allowed.

retailBalance
object

Retail balance amount.

Name Description
value
decimal

The quantative decimal monetary amount (eg. 1.1)

currency
string

The ISO 4217 currency code (eg. 'EUR')

recordDate
date

The record creation date.

Relationships
contracts
required

Client contract related to this resource. Effective date needs to be taken into consideration as the relationship gives access to past, current and future effective data.

limitDefinition
required

The limits definition for which this resource is created from.

parentLimits

Parent limit related to this resource.

cards object
Name Description
embossLine1
string (26)

Detail used for card embossing. Format: alphanumeric and special characters except for pipe (|) symbol. If not provided, this will be defaulted to the first and last name of the cardholder.

embossLine2
string (26)

Detail used for card embossing. Format: alphanumeric and special characters except for pipe (|) symbol.

serviceId
string (3)

Indicates the card Service ID the card is based on.

This MAY be passed instead of the cardServiceDefinitions relationship in case the Service ID value is known.

Refer to API Data Mapping documentation for possible values.

Relationships
commercialClient

Relationship to the client resource if a commercial contract.

cardServiceDefinitions

An optional relationship to the card service definition resource. Mandatory If a value is not passed in serviceId.

contracts
required

Related client contract for this card. Effective date needs to be taken into consideration as the relationship gives access to past, current and future effective data.

poiSetting

The card information linked to the card POI (point of interaction) setting.

Response

Single Request Billing : HTTP 201 (Created)

Singe Card : HTTP 201 (Created)

Multiple Cards : HTTP 201 (Created)

Emboss line mismatch : HTTP 400 (Bad Request)

Response body will contain the result of the JSON PATCH operation for the following resources: cardholders issAddresses issContracts issSettlementPackages issAccounts limits cards

Single Request Billing Simplified

This will onboard a standalone cardholder under a billing level account via a single request for all the resources required.

The simplified use case is similar to the regular use case but uses attribute alternatives to a number of relationships. This approach may simplify smaller integrations as the resource IDs of the relationships do not need to be known.

This call creates and processes a carhdolder application in a single request through the API gateway without the need to send individual resource creation. This request is an orchestration of multiple calls into one but still follows the requirements mentioned in the main documentation for each resource. Please note that the access token must be valid for more than 30 seconds for this orchestration to take place.

The following resources are supported:

Resource Description
cardholder (required) This is the main resource to which everything is related to. This must be provided at the top-level.
addresses (required) The addresses are related to the cardholder and must be provided as an array and part of the cardholder resource.
contracts (required) The contract is related to the cardholder and must be provided as a single-element array and part of the cardholder resource.
cards The card services are linked to a cardholder through the contract and can be provided as an array and part of the contract resource.
services Any miscellaneous services are linked to a cardholder through the contract and can be provided as an array and part of the contract resource.
settlementPackages (required) The settlement packages are related to the cardholder and can be provided as an array and part of the cardholder resource. This is required for billing cardholders.
accounts (required) Accounts can be defined at two different levels:

1. billing level - can be passed as an array and part of the respective settlementPackage resource

2. non-billing level - can be passed as an array and part of the contract resource
accountLimits Account limits can be defined during boarding. This can be provided as an array and part of the accounts resource.

For further details on the resources to be provided in the request, please refer to the individual requests in the cardholder onboarding via JSON Patch use case above.

In case of a successful onboarding, all the cardholder data (including the generated IDs) will be retrieved and returned.

In case there are any errors, any successful resources created prior to the failing resource will be reverted and another cardholder application with the correct data must be sent again. In order to identify the problematic resource which has thrown the error, make sure to refer to the pointer value found inside the meta element of the corresponding error. This will contain the path of the resource in error (if any). In cases where the resource is part of an array, a zero-based index will be included to identify the specific resource.

Request

POST {{gatewayHost}}/wsm/jsonapi/cardholderApplications

Request Headers

AuthorizationBearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Acceptapplication/vnd.api+json
Content-Typeapplication/vnd.api+json
Crnk-Compacttrue

Request Body

This request body contains of a numer of JSON Patch operations to perform bulk actions on the cardholders, issAddresses, issContracts, issSettlementPackages, issAccounts, limits and cards JSON:API resources. Follow the example in order to see how to perform the JSON Patch call. Below are the JSON:API resource objects accepted in this JSON Patch call.

cardholders object
Name Description
clientNumber
string (8)

8-digit BankWORKS client number unique that is unique per institution. System generated if not provided during new cardholder definition. A unique number must be provided if user defined.

rbsClientNumber
string (20)

External cardholder reference number.

status
string (3)

Indicates the current status of the cardholder in BankWORKS.

Refer to API Data Mapping documentation for possible values.

idNumber
string (15)
required

The national ID card number.

title
string (3)
required

Cardholder’s salutation.

Refer to API Data Mapping documentation for possible values.

firstName
string (15)
required

First name of the cardholder.

lastName
string (26)
required

Last name of the cardholder.

gender
string (3)
required

Gender of the cardholder.

Refer to API Data Mapping documentation for possible values.

birthDate
date
required

Date of birth in ISO 8601 format

birthPlace
string (15)

Cardholder’s place of birth.

birthName
string (20)

Cardholder’s birth name.

shortName
string (26)
required

Cardholder’s short name.

mobile1
string (15)

Primary mobile phone number.

mobile2
string (15)

Secondary mobile phone number.

fathersName
string (20)

Name of cardholder’s father.

language
string (3)
required

Cardholder’s language.

Refer to API Data Mapping documentation for possible values.

nationality
string (3)
required

Nationality of the cardholder.

Refer to API Data Mapping documentation for possible values.

residenceStatus
string (3)
required

Indicates if the carhdolder is a resident of the hosting country. Defaulted to 001 if not provided indicating a Resident.

Refer to API Data Mapping documentation for possible values.

residenceStatusDate
date

The date in ISO 8601 format relating to the client’s current residence state.

residenceType
string (3)
required

Defines the type of residence for the cardholder such as, own house or rented flat. Defaulted to 000 if not provided indicating Unknown.

Refer to API Data Mapping documentation for possible values.

maritalStatus
string (3)

Cardholder’s marital status.

Refer to API Data Mapping documentation for possible values.

maritalStatusDate
date

Date in ISO 8601 format of last change in marital status.

passportNumber
string (15)

The cardholder’s national passport number.

drivingLicenseNumber
string (15)

The cardholder’s national driving license number.

employerName
string (35)

Cardholder’s employment company or individual.

employmentDate
date

Applicant’s date of employment in ISO 8601 format.

employmentPosition
string (3)
required

Cardholder’s current employment position.

Refer to API Data Mapping documentation for possible values.

employmentStatus
string (3)
required

Cardholder’s current employment status.

Refer to API Data Mapping documentation for possible values.

employmentExtraInfo
string (3)

May contain extra additional numeric information related to the employment status (e.g. for part time employee, might be interpreted as no. of hrs worked weekly).

incomeAmount
number (18)

Income amount of applicant.

incomeRange
string (3)
required

Income range of applicant.

Refer to API Data Mapping documentation for possible values.

processingRegion
string (3)

Defines the processing region of the cardholder. Used for transaction processing.

Refer to API Data Mapping documentation for possible values.

mastercardABU
string

Flag that indicates the cardholder’s Mastercard Automatic Billing Updater (ABU) registration status.

Refer to API Data Mapping documentation for possible values.

Sample values:

  • 001 - N/A

  • 003 - Registered

recordDate
date

The record creation date.

Relationships
issAddresses object
Name Description
addressCategory
string (3)
required

The address category identifier for the returned client address resource are the following but not limited to:

  • 001 Standard
  • 006 Statement

A client must have at least one standard (001).

Refer to API Data Mapping documentation for possible values.

effectiveDate
date

The date in ISO 8601 format when the address becomes effective. The value can be future dated and cannot be less than the posting date. If not provided, the current posting date is automatically assumed.

expiryDate
date

The date in ISO 8601 format when the address record is no longer taken into consideration. Can be used for temporary addresses. Date must be in the future.

addressLine1
string (35)
required

Address line typically used for building information but not limited to house name, number, floor, unit and block number.

addressLine2
string (35)

Address line typically used for street information such as street number and name.

addressLine3
string (35)

Extra address properties that might be required and are not catered for by the attributes available.

addressLine4
string (35)

Extra address properties that might be required and are not catered for by the attributes available.

addressLine5
string (35)

Extra address properties that might be required and are not catered for by the attributes available.

contactName
string (35)

Main contact name for the address.

city
string (35)
required

Client’s city.

state
string (3)

3 digit identifier for the client’s state/region.

Refer to API Data Mapping documentation for possible values.

country
string (3)
required

The ISO 3-letter country code. In cases where value consists of 3 digits, 000 means not applicable and 999 means applicable to all countries.

Refer to API Data Mapping documentation for possible values.

postCode
string (20)
required

Client’s postcode.

poBox
string (10)

P.O. Box details.

telephone1
string (15)

Primary address fixed line number, for example, a client’s home or business telephone number.

telephone2
string (15)

Secondary address fixed line number for example a secondary business telephone number.

faxWork
string (15)

Office fax number.

addressLanguage
string (3)

3-digit identifier for the client language associated with the address.

Refer to API Data Mapping documentation for possible values.

deliveryMethod
string (3)

3-digit value indicating the preferred delivery option for correspondence. Defaulted to not applicable (000) - Not applicable, if not provided.

Refer to API Data Mapping documentation for possible values.

emailAddress
string (60)

Client’s e-mail address.

recordDate
date

The record creation date.

Relationships
cardholder
required

Link to the cardholder resource ID previously defined in the cardholder resource creation stage.

commercialClient

Relationship to the commercial client linked to the address.

issContracts object
Name Description
contractCategory
string (3)

The contract category determines the type of hierarchy.

  • 001 - Private cardholder contracts
  • 002 - Commercial cardholder contracts
serviceContractId
string (3)

Indicates the service contract ID linked to the client contract.

This MAY be passed instead of the contractDefinitions relationship in case the Service Contract ID value is known.

Refer to API Data Mapping documentation for possible values.

parentClientNumber
string (8)

Indicates the client number of the parent client in the hierarchy. This is an optional attribute that can be provided instead of the parentContracts relationship when defining a lower level client in a hiearchy.

status
string (3)

Indicates the status of the client contract.

Refer to API Data Mapping documentation for possible values.

clientLevel
string (3)
required

Indicates the BankWORKS hierarchical level for the client contract. The following values are possible:

  • 002 - Group (the parent client)
  • 001 - Member (a standalone client without a parent group linked to it)
effectiveDate
date

The date in ISO 8601 format on which the hierarchy link record becomes effective for the client. The value can be future dated and cannot be less than the posting date. If not provided, posting date +1 value is assumed only post-boarding.

settlementMethod
string (3)
required

Indicates the method how the client will settle with the bank. Identifies how outstanding balances are settled. Required only when onboarding a new client.

Refer to API Data Mapping documentation for possible values.

postingMethod
string (3)
required

The tariff under which the client falls when posting to the clients account.

Refer to API Data Mapping documentation for possible values.

clientTariff
string (3)
required

Indicates the client tariff package assigned. Required only when onboarding a new client.

chargeTierLevel
string (3)

Enables setting up of the same fee with different value high and value low triggers.

Refer to API Data Mapping documentation for possible values.

clientScheme
string (3)

Indicates the rebate tariff applicable for the contract.

contractReference
string (8)

Cardholder contract document reference.

bankReference
string (8)

External additional reference number of the cardholder with the bank.

institutionAccountOfficer
string (3)

Officer in charge of the client contract.

Refer to API Data Mapping documentation for possible values.

clientBranch
string (3)

Contract application branch details. Related to the institutionAccountOfficer.

Refer to API Data Mapping documentation for possible values.

tierGroup
string (3)

An identifier used to group a set of rates that need to be applied during tiered pricing generation.

Refer to API Data Mapping documentation for possible values.

recordDate
date

The record creation date.

Relationships
contractDefinition

An optional relationship to the service contract resource. Mandatory If a value is not passed in serviceContractId.

cardholder
required

Link to the cardholder resource ID previously defined in the cardholder resource creation stage.

commercialClient

Relationship to the client resource if a commercial contract.

parentContracts

If defining a cardholder that is part of a hierarchy below the GROUP level, the parent cardholder contract needs to be provided. Standalone MEMBER level clients do not require a parent contract to be linked to rather a direct relationship to contractDefinition.

issSettlementPackages object
Name Description
accountCurrency
string (3)

The currency of the counter bank account in SWIFT currency code format. In cases where value consists of 3 digits:

  • 998 means not applicable
  • 999 means applicable to all currencies.

Refer to API Data Mapping documentation for possible values.

settlementCategory
string (3)

Settlement information category descriptor such as Payable or Receivable.

Refer to API Data Mapping documentation for possible values.

bankClearingNumber
string (8)

Information regarding the account’s bank details.

receiverCountryCode
string (3)

The country where the bank account information is located. In cases where value consists of 3 digits:

  • 000 means not applicable
  • 999 means applicable to all countries.

Refer to API Data Mapping documentation for possible values.

payableDetails
object
Name Description
bankContactName
string (35)

The counter bank contact name used for PAYABLES.

bankTelNumber
string (15)

The counter bank telephone number used for PAYABLES.

confirmationMethod
string (3)

The routing channel used for example Fax, mail, SWIFT etc.

Refer to API Data Mapping documentation for possible values.

counterBankAccount
string (35)

The counter RBS bank account number used to settle PAYABLES.

counterBankAccountName
string (35)

The counter bank account name used for PAYABLES.

counterBankCity
string (35)

The counter bank’s city used for PAYABLES.

counterBankName
string (40)

The counter bank name used for PAYABLES.

counterBankNumber
string (11)

The counter bank number where the counter bank account used for PAYABLES is domiciled.

counterClientNumber
string (8)

The RBS client number used for PAYABLES.

fundingNarrative
string (18)

Contains funding information applicable for PAYABLES.

ibanReference
string (35)

The counter bank account IBAN used for PAYABLES.

paymentReference
string (24)

The reference to be included in the outward payment transaction.

receivableDetails
object
Name Description
bankContactName
string (35)

The counter bank contact name used for RECEIVABLES.

bankTelNumber
string (15)

The counter bank telephone number used for RECEIVABLES.

counterBankAccount
string (35)

The counter RBS bank account number used to settle RECEIVABLES.

counterBankAccountName
string (35)

The counter bank account name used for RECEIVABLES.

counterBankCity
string (35)

The counter bank’s city used for RECEIVABLES.

counterBankName
string (40)

The counter bank name used for RECEIVABLES.

counterBankNumber
string (11)

The counter bank number where the counter bank account used for RECEIVABLES is domiciled.

fundingNarrative
string (18)

Contains funding information applicable for RECEIVABLES.

ibanReference
string (35)

The counter bank account IBAN used for RECEIVABLES.

contingencyLiabilityAccount
string (11)

The RBS account that is used in case the counter RBS bank account is not able to fullfil the RECEIVABLE obligation.

correspondingBankAccount
string (16)

The NOSTRA/VOSTRO bank account of the affiliate institution.

correspondingBankNumber
string (35)

The bank number of the affiliate institution where the counter bank Nostro/Vostro are domiciled.

recordDate
date

The record creation date in ISO8601 format.

Relationships
cardholder
required

Link to the cardholder resource ID previously defined in the cardholder resource creation stage.

commercialClient

Commercial client who owns the settlement information.

issAccounts object
Name Description
clientAccountName
string (35)

Cardholder account alias.

accountTypeId
string (3)

Indicates the account type of the client account. When defining new accounts, this attribute along with the accountCurrency can be supplied as an alternative to the accountDefinitions relationship.

Refer to API Data Mapping documentation for possible values.

accountNumberRbs
string (28)

External RBS account number reference.

statementGeneration
string (3)

Indicates the statement generation rule applicable for this account.

Refer to API Data Mapping documentation for possible values.

statementType
string (3)

The type of statement applicable for this account.

Refer to API Data Mapping documentation for possible values.

availabilityAmount
object

This is the calculated available amount for the account based on the account limit setup.

Name Description
value
decimal

The quantative decimal monetary amount (eg. 1.1)

currency
string

The ISO 4217 currency code (eg. 'EUR')

recordDate
date

The record creation date.

Relationships
accountDefinition

An optional relationship to the account definition resource. Mandatory If a value is not passed in accountTypeId and accountCurrency attributes.

commercialClient

Relationship to the client resource if a commercial client.

contracts
required

Link to the cardholder contract defined during contract creation.

settlementPackage

Bank account settlement information related to this BankWORKS account. Only billing level accounts require settlement details to be defined.

accountLimits

Applicable account limits linked to the account. Effective date needs to be taken into consideration as the relationship gives access to past, current and future effective data.

globalClientLimits

Links to the global client account limit. The global client limit is a limit that acts on top of the account limit. Effective date needs to be taken into consideration as the relationship gives access to past, current and future effective data.

balanceCycles

Cycle balances related to the account, includes past cycles and the current cycle.

cycleChangeInstructions

Billing cycle instructions linked to the account.

limits object
Name Description
limitNumber
string (11)

BankWORKS 11-digit number identifying the limit.

limitLevel
string (3)
required

The limit level identifies the account level to which this limit pertains.

Refer to API Data Mapping documentation for possible values.

effectiveDate
date-time

The date in ISO 8601 format on which the limit record becomes effective for the provided card. If left empty, the current system date is assumed.

expiryDate
date
required

The date in ISO 8601 format on which the limit is no longer effective. Expiry date must be greater than the effectiveDate.

clientLimit
object
required

The amount of credit the limit provides.

Name Description
value
decimal

The quantative decimal monetary amount (eg. 1.1)

currency
string

The ISO 4217 currency code (eg. 'EUR')

limitOverrideAmount
number

A calculated attribute that identifies the amount that the limit can be overriden.

limitOverridePercent
string (11)

A percentage, exceeding the limit, within which authorization approval is allowed.

cashLimitPercent
number

A percentage in which authorization approval for Cash transactions is allowed.

retailBalance
object

Retail balance amount.

Name Description
value
decimal

The quantative decimal monetary amount (eg. 1.1)

currency
string

The ISO 4217 currency code (eg. 'EUR')

recordDate
date

The record creation date.

Relationships
contracts
required

Client contract related to this resource. Effective date needs to be taken into consideration as the relationship gives access to past, current and future effective data.

limitDefinition
required

The limits definition for which this resource is created from.

parentLimits

Parent limit related to this resource.

cards object
Name Description
embossLine1
string (26)

Detail used for card embossing. Format: alphanumeric and special characters except for pipe (|) symbol. If not provided, this will be defaulted to the first and last name of the cardholder.

embossLine2
string (26)

Detail used for card embossing. Format: alphanumeric and special characters except for pipe (|) symbol.

serviceId
string (3)

Indicates the card Service ID the card is based on.

This MAY be passed instead of the cardServiceDefinitions relationship in case the Service ID value is known.

Refer to API Data Mapping documentation for possible values.

Relationships
commercialClient

Relationship to the client resource if a commercial contract.

cardServiceDefinitions

An optional relationship to the card service definition resource. Mandatory If a value is not passed in serviceId.

contracts
required

Related client contract for this card. Effective date needs to be taken into consideration as the relationship gives access to past, current and future effective data.

poiSetting

The card information linked to the card POI (point of interaction) setting.

Response

HTTP 201 (Created)

Response body will contain the result of the JSON PATCH operation for the following resources: cardholders issAddresses issContracts issSettlementPackages issAccounts limits cards

Single Request Non-Billing

This will onboard a standalone cardholder under non-billing level account via a single request for all the resources required.

This call creates and processes a carhdolder application in a single request through the API gateway without the need to send individual resource creation. This request is an orchestration of multiple calls into one but still follows the requirements mentioned in the main documentation for each resource. Please note that the access token must be valid for more than 30 seconds for this orchestration to take place.

The following resources are supported:

Resource Description
cardholder (required) This is the main resource to which everything is related to. This must be provided at the top-level.
addresses (required) The addresses are related to the cardholder and must be provided as an array and part of the cardholder resource.
contracts (required) The contract is related to the cardholder and must be provided as a single-element array and part of the cardholder resource.
cards The card services are linked to a cardholder through the contract and can be provided as an array and part of the contract resource.
services Any miscellaneous services are linked to a cardholder through the contract and can be provided as an array and part of the contract resource.
settlementPackages The settlement packages are related to the cardholder and can be provided as an array and part of the cardholder resource.
accounts (required) Accounts can be defined at two different levels:

1. billing level - can be passed as an array and part of the respective settlementPackage resource

2. non-billing level - can be passed as an array and part of the contract resource
accountLimits Account limits can be defined during boarding. This can be provided as an array and part of the accounts resource.

For further details on the resources to be provided in the request, please refer to the individual requests in the cardholder onboarding via JSON Patch use case above.

In case of a successful onboarding, all the cardholder data (including the generated IDs) will be retrieved and returned.

In case there are any errors, any successful resources created prior to the failing resource will be reverted and another cardholder application with the correct data must be sent again. In order to identify the problematic resource which has thrown the error, make sure to refer to the pointer value found inside the meta element of the corresponding error. This will contain the path of the resource in error (if any). In cases where the resource is part of an array, a zero-based index will be included to identify the specific resource.

Request

POST {{gatewayHost}}/wsm/jsonapi/cardholderApplications

Request Headers

AuthorizationBearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Acceptapplication/vnd.api+json
Content-Typeapplication/vnd.api+json
Crnk-Compacttrue

Request Body

This request body contains of a numer of JSON Patch operations to perform bulk actions on the cardholders, issAddresses, issContracts, issSettlementPackages, issAccounts, limits and cards JSON:API resources. Follow the example in order to see how to perform the JSON Patch call. Below are the JSON:API resource objects accepted in this JSON Patch call.

cardholders object
Name Description
clientNumber
string (8)

8-digit BankWORKS client number unique that is unique per institution. System generated if not provided during new cardholder definition. A unique number must be provided if user defined.

rbsClientNumber
string (20)

External cardholder reference number.

status
string (3)

Indicates the current status of the cardholder in BankWORKS.

Refer to API Data Mapping documentation for possible values.

idNumber
string (15)
required

The national ID card number.

title
string (3)
required

Cardholder’s salutation.

Refer to API Data Mapping documentation for possible values.

firstName
string (15)
required

First name of the cardholder.

lastName
string (26)
required

Last name of the cardholder.

gender
string (3)
required

Gender of the cardholder.

Refer to API Data Mapping documentation for possible values.

birthDate
date
required

Date of birth in ISO 8601 format

birthPlace
string (15)

Cardholder’s place of birth.

birthName
string (20)

Cardholder’s birth name.

shortName
string (26)
required

Cardholder’s short name.

mobile1
string (15)

Primary mobile phone number.

mobile2
string (15)

Secondary mobile phone number.

fathersName
string (20)

Name of cardholder’s father.

language
string (3)
required

Cardholder’s language.

Refer to API Data Mapping documentation for possible values.

nationality
string (3)
required

Nationality of the cardholder.

Refer to API Data Mapping documentation for possible values.

residenceStatus
string (3)
required

Indicates if the carhdolder is a resident of the hosting country. Defaulted to 001 if not provided indicating a Resident.

Refer to API Data Mapping documentation for possible values.

residenceStatusDate
date

The date in ISO 8601 format relating to the client’s current residence state.

residenceType
string (3)
required

Defines the type of residence for the cardholder such as, own house or rented flat. Defaulted to 000 if not provided indicating Unknown.

Refer to API Data Mapping documentation for possible values.

maritalStatus
string (3)

Cardholder’s marital status.

Refer to API Data Mapping documentation for possible values.

maritalStatusDate
date

Date in ISO 8601 format of last change in marital status.

passportNumber
string (15)

The cardholder’s national passport number.

drivingLicenseNumber
string (15)

The cardholder’s national driving license number.

employerName
string (35)

Cardholder’s employment company or individual.

employmentDate
date

Applicant’s date of employment in ISO 8601 format.

employmentPosition
string (3)
required

Cardholder’s current employment position.

Refer to API Data Mapping documentation for possible values.

employmentStatus
string (3)
required

Cardholder’s current employment status.

Refer to API Data Mapping documentation for possible values.

employmentExtraInfo
string (3)

May contain extra additional numeric information related to the employment status (e.g. for part time employee, might be interpreted as no. of hrs worked weekly).

incomeAmount
number (18)

Income amount of applicant.

incomeRange
string (3)
required

Income range of applicant.

Refer to API Data Mapping documentation for possible values.

processingRegion
string (3)

Defines the processing region of the cardholder. Used for transaction processing.

Refer to API Data Mapping documentation for possible values.

mastercardABU
string

Flag that indicates the cardholder’s Mastercard Automatic Billing Updater (ABU) registration status.

Refer to API Data Mapping documentation for possible values.

Sample values:

  • 001 - N/A

  • 003 - Registered

recordDate
date

The record creation date.

Relationships
issAddresses object
Name Description
addressCategory
string (3)
required

The address category identifier for the returned client address resource are the following but not limited to:

  • 001 Standard
  • 006 Statement

A client must have at least one standard (001).

Refer to API Data Mapping documentation for possible values.

effectiveDate
date

The date in ISO 8601 format when the address becomes effective. The value can be future dated and cannot be less than the posting date. If not provided, the current posting date is automatically assumed.

expiryDate
date

The date in ISO 8601 format when the address record is no longer taken into consideration. Can be used for temporary addresses. Date must be in the future.

addressLine1
string (35)
required

Address line typically used for building information but not limited to house name, number, floor, unit and block number.

addressLine2
string (35)

Address line typically used for street information such as street number and name.

addressLine3
string (35)

Extra address properties that might be required and are not catered for by the attributes available.

addressLine4
string (35)

Extra address properties that might be required and are not catered for by the attributes available.

addressLine5
string (35)

Extra address properties that might be required and are not catered for by the attributes available.

contactName
string (35)

Main contact name for the address.

city
string (35)
required

Client’s city.

state
string (3)

3 digit identifier for the client’s state/region.

Refer to API Data Mapping documentation for possible values.

country
string (3)
required

The ISO 3-letter country code. In cases where value consists of 3 digits, 000 means not applicable and 999 means applicable to all countries.

Refer to API Data Mapping documentation for possible values.

postCode
string (20)
required

Client’s postcode.

poBox
string (10)

P.O. Box details.

telephone1
string (15)

Primary address fixed line number, for example, a client’s home or business telephone number.

telephone2
string (15)

Secondary address fixed line number for example a secondary business telephone number.

faxWork
string (15)

Office fax number.

addressLanguage
string (3)

3-digit identifier for the client language associated with the address.

Refer to API Data Mapping documentation for possible values.

deliveryMethod
string (3)

3-digit value indicating the preferred delivery option for correspondence. Defaulted to not applicable (000) - Not applicable, if not provided.

Refer to API Data Mapping documentation for possible values.

emailAddress
string (60)

Client’s e-mail address.

recordDate
date

The record creation date.

Relationships
cardholder
required

Link to the cardholder resource ID previously defined in the cardholder resource creation stage.

commercialClient

Relationship to the commercial client linked to the address.

issContracts object
Name Description
contractCategory
string (3)

The contract category determines the type of hierarchy.

  • 001 - Private cardholder contracts
  • 002 - Commercial cardholder contracts
serviceContractId
string (3)

Indicates the service contract ID linked to the client contract.

This MAY be passed instead of the contractDefinitions relationship in case the Service Contract ID value is known.

Refer to API Data Mapping documentation for possible values.

parentClientNumber
string (8)

Indicates the client number of the parent client in the hierarchy. This is an optional attribute that can be provided instead of the parentContracts relationship when defining a lower level client in a hiearchy.

status
string (3)

Indicates the status of the client contract.

Refer to API Data Mapping documentation for possible values.

clientLevel
string (3)
required

Indicates the BankWORKS hierarchical level for the client contract. The following values are possible:

  • 002 - Group (the parent client)
  • 001 - Member (a standalone client without a parent group linked to it)
effectiveDate
date

The date in ISO 8601 format on which the hierarchy link record becomes effective for the client. The value can be future dated and cannot be less than the posting date. If not provided, posting date +1 value is assumed only post-boarding.

settlementMethod
string (3)
required

Indicates the method how the client will settle with the bank. Identifies how outstanding balances are settled. Required only when onboarding a new client.

Refer to API Data Mapping documentation for possible values.

postingMethod
string (3)
required

The tariff under which the client falls when posting to the clients account.

Refer to API Data Mapping documentation for possible values.

clientTariff
string (3)
required

Indicates the client tariff package assigned. Required only when onboarding a new client.

chargeTierLevel
string (3)

Enables setting up of the same fee with different value high and value low triggers.

Refer to API Data Mapping documentation for possible values.

clientScheme
string (3)

Indicates the rebate tariff applicable for the contract.

contractReference
string (8)

Cardholder contract document reference.

bankReference
string (8)

External additional reference number of the cardholder with the bank.

institutionAccountOfficer
string (3)

Officer in charge of the client contract.

Refer to API Data Mapping documentation for possible values.

clientBranch
string (3)

Contract application branch details. Related to the institutionAccountOfficer.

Refer to API Data Mapping documentation for possible values.

tierGroup
string (3)

An identifier used to group a set of rates that need to be applied during tiered pricing generation.

Refer to API Data Mapping documentation for possible values.

recordDate
date

The record creation date.

Relationships
contractDefinition

An optional relationship to the service contract resource. Mandatory If a value is not passed in serviceContractId.

cardholder
required

Link to the cardholder resource ID previously defined in the cardholder resource creation stage.

commercialClient

Relationship to the client resource if a commercial contract.

parentContracts

If defining a cardholder that is part of a hierarchy below the GROUP level, the parent cardholder contract needs to be provided. Standalone MEMBER level clients do not require a parent contract to be linked to rather a direct relationship to contractDefinition.

issSettlementPackages object
Name Description
accountCurrency
string (3)

The currency of the counter bank account in SWIFT currency code format. In cases where value consists of 3 digits:

  • 998 means not applicable
  • 999 means applicable to all currencies.

Refer to API Data Mapping documentation for possible values.

settlementCategory
string (3)

Settlement information category descriptor such as Payable or Receivable.

Refer to API Data Mapping documentation for possible values.

bankClearingNumber
string (8)

Information regarding the account’s bank details.

receiverCountryCode
string (3)

The country where the bank account information is located. In cases where value consists of 3 digits:

  • 000 means not applicable
  • 999 means applicable to all countries.

Refer to API Data Mapping documentation for possible values.

payableDetails
object
Name Description
bankContactName
string (35)

The counter bank contact name used for PAYABLES.

bankTelNumber
string (15)

The counter bank telephone number used for PAYABLES.

confirmationMethod
string (3)

The routing channel used for example Fax, mail, SWIFT etc.

Refer to API Data Mapping documentation for possible values.

counterBankAccount
string (35)

The counter RBS bank account number used to settle PAYABLES.

counterBankAccountName
string (35)

The counter bank account name used for PAYABLES.

counterBankCity
string (35)

The counter bank’s city used for PAYABLES.

counterBankName
string (40)

The counter bank name used for PAYABLES.

counterBankNumber
string (11)

The counter bank number where the counter bank account used for PAYABLES is domiciled.

counterClientNumber
string (8)

The RBS client number used for PAYABLES.

fundingNarrative
string (18)

Contains funding information applicable for PAYABLES.

ibanReference
string (35)

The counter bank account IBAN used for PAYABLES.

paymentReference
string (24)

The reference to be included in the outward payment transaction.

receivableDetails
object
Name Description
bankContactName
string (35)

The counter bank contact name used for RECEIVABLES.

bankTelNumber
string (15)

The counter bank telephone number used for RECEIVABLES.

counterBankAccount
string (35)

The counter RBS bank account number used to settle RECEIVABLES.

counterBankAccountName
string (35)

The counter bank account name used for RECEIVABLES.

counterBankCity
string (35)

The counter bank’s city used for RECEIVABLES.

counterBankName
string (40)

The counter bank name used for RECEIVABLES.

counterBankNumber
string (11)

The counter bank number where the counter bank account used for RECEIVABLES is domiciled.

fundingNarrative
string (18)

Contains funding information applicable for RECEIVABLES.

ibanReference
string (35)

The counter bank account IBAN used for RECEIVABLES.

contingencyLiabilityAccount
string (11)

The RBS account that is used in case the counter RBS bank account is not able to fullfil the RECEIVABLE obligation.

correspondingBankAccount
string (16)

The NOSTRA/VOSTRO bank account of the affiliate institution.

correspondingBankNumber
string (35)

The bank number of the affiliate institution where the counter bank Nostro/Vostro are domiciled.

recordDate
date

The record creation date in ISO8601 format.

Relationships
cardholder
required

Link to the cardholder resource ID previously defined in the cardholder resource creation stage.

commercialClient

Commercial client who owns the settlement information.

issAccounts object
Name Description
clientAccountName
string (35)

Cardholder account alias.

accountTypeId
string (3)

Indicates the account type of the client account. When defining new accounts, this attribute along with the accountCurrency can be supplied as an alternative to the accountDefinitions relationship.

Refer to API Data Mapping documentation for possible values.

accountNumberRbs
string (28)

External RBS account number reference.

statementGeneration
string (3)

Indicates the statement generation rule applicable for this account.

Refer to API Data Mapping documentation for possible values.

statementType
string (3)

The type of statement applicable for this account.

Refer to API Data Mapping documentation for possible values.

availabilityAmount
object

This is the calculated available amount for the account based on the account limit setup.

Name Description
value
decimal

The quantative decimal monetary amount (eg. 1.1)

currency
string

The ISO 4217 currency code (eg. 'EUR')

recordDate
date

The record creation date.

Relationships
accountDefinition

An optional relationship to the service definition resource. Mandatory If a value is not passed in accountTypeId and accountCurrency attributes.

commercialClient

Relationship to the client resource if a commercial client.

contracts
required

Link to the cardholder contract defined during contract creation.

settlementPackage

Bank account settlement information related to this BankWORKS account. Only billing level accounts require settlement details to be defined.

accountLimits

Applicable account limits linked to the account. Effective date needs to be taken into consideration as the relationship gives access to past, current and future effective data.

globalClientLimits

Links to the global client account limit. The global client limit is a limit that acts on top of the account limit. Effective date needs to be taken into consideration as the relationship gives access to past, current and future effective data.

balanceCycles

Cycle balances related to the account, includes past cycles and the current cycle.

cycleChangeInstructions

Billing cycle instructions linked to the account.

limits object
Name Description
limitNumber
string (11)

BankWORKS 11-digit number identifying the limit.

limitLevel
string (3)
required

The limit level identifies the account level to which this limit pertains.

Refer to API Data Mapping documentation for possible values.

effectiveDate
date-time

The date in ISO 8601 format on which the limit record becomes effective for the provided card. If left empty, the current system date is assumed.

expiryDate
date
required

The date in ISO 8601 format on which the limit is no longer effective. Expiry date must be greater than the effectiveDate.

clientLimit
object
required

The amount of credit the limit provides.

Name Description
value
decimal

The quantative decimal monetary amount (eg. 1.1)

currency
string

The ISO 4217 currency code (eg. 'EUR')

limitOverrideAmount
number

A calculated attribute that identifies the amount that the limit can be overriden.

limitOverridePercent
string (11)

A percentage, exceeding the limit, within which authorization approval is allowed.

cashLimitPercent
number

A percentage in which authorization approval for Cash transactions is allowed.

retailBalance
object

Retail balance amount.

Name Description
value
decimal

The quantative decimal monetary amount (eg. 1.1)

currency
string

The ISO 4217 currency code (eg. 'EUR')

recordDate
date

The record creation date.

Relationships
contracts
required

Client contract related to this resource. Effective date needs to be taken into consideration as the relationship gives access to past, current and future effective data.

limitDefinition
required

The limits definition for which this resource is created from.

parentLimits

Parent limit related to this resource.

cards object
Name Description
embossLine1
string (26)

Detail used for card embossing. Format: alphanumeric and special characters except for pipe (|) symbol. If not provided, this will be defaulted to the first and last name of the cardholder.

embossLine2
string (26)

Detail used for card embossing. Format: alphanumeric and special characters except for pipe (|) symbol.

serviceId
string (3)

Indicates the card Service ID the card is based on.

This MAY be passed instead of the cardServiceDefinitions relationship in case the Service ID value is known.

Refer to API Data Mapping documentation for possible values.

Relationships
commercialClient

Relationship to the client resource if a commercial contract.

cardServiceDefinitions

An optional relationship to the card service definition resource. Mandatory If a value is not passed in serviceId.

contracts
required

Related client contract for this card. Effective date needs to be taken into consideration as the relationship gives access to past, current and future effective data.

poiSetting

The card information linked to the card POI (point of interaction) setting.

Response

HTTP 201 (Created)

Response body will contain the result of the JSON PATCH operation for the following resources: cardholders issAddresses issContracts issSettlementPackages issAccounts limits cards

Single Request Non-Billing Simplified

This will onboard a standalone cardholder under non-billing level account via a single request for all the resources required.

The simplified use case is similar to the regular use case but uses attribute alternatives to a number of relationships. This approach may simplify smaller integrations as the resource IDs of the relationships do not need to be known.

This call creates and processes a carhdolder application in a single request through the API gateway without the need to send individual resource creation. This request is an orchestration of multiple calls into one but still follows the requirements mentioned in the main documentation for each resource. Please note that the access token must be valid for more than 30 seconds for this orchestration to take place.

The following resources are supported:

Resource Description
cardholder (required) This is the main resource to which everything is related to. This must be provided at the top-level.
addresses (required) The addresses are related to the cardholder and must be provided as an array and part of the cardholder resource.
contracts (required) The contract is related to the cardholder and must be provided as a single-element array and part of the cardholder resource.
cards The card services are linked to a cardholder through the contract and can be provided as an array and part of the contract resource.
services Any miscellaneous services are linked to a cardholder through the contract and can be provided as an array and part of the contract resource.
settlementPackages The settlement packages are related to the cardholder and can be provided as an array and part of the cardholder resource.
accounts (required) Accounts can be defined at two different levels:

1. billing level - can be passed as an array and part of the respective settlementPackage resource

2. non-billing level - can be passed as an array and part of the contract resource
accountLimits Account limits can be defined during boarding. This can be provided as an array and part of the accounts resource.

For further details on the resources to be provided in the request, please refer to the individual requests in the cardholder onboarding via JSON Patch use case above.

In case of a successful onboarding, all the cardholder data (including the generated IDs) will be retrieved and returned.

In case there are any errors, any successful resources created prior to the failing resource will be reverted and another cardholder application with the correct data must be sent again. In order to identify the problematic resource which has thrown the error, make sure to refer to the pointer value found inside the meta element of the corresponding error. This will contain the path of the resource in error (if any). In cases where the resource is part of an array, a zero-based index will be included to identify the specific resource.

Request

POST {{gatewayHost}}/wsm/jsonapi/cardholderApplications

Request Headers

AuthorizationBearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Acceptapplication/vnd.api+json
Content-Typeapplication/vnd.api+json
Crnk-Compacttrue

Request Body

This request body contains of a numer of JSON Patch operations to perform bulk actions on the cardholders, issAddresses, issContracts, issSettlementPackages, issAccounts, limits and cards JSON:API resources. Follow the example in order to see how to perform the JSON Patch call. Below are the JSON:API resource objects accepted in this JSON Patch call.

cardholders object
Name Description
clientNumber
string (8)

8-digit BankWORKS client number unique that is unique per institution. System generated if not provided during new cardholder definition. A unique number must be provided if user defined.

rbsClientNumber
string (20)

External cardholder reference number.

status
string (3)

Indicates the current status of the cardholder in BankWORKS.

Refer to API Data Mapping documentation for possible values.

idNumber
string (15)
required

The national ID card number.

title
string (3)
required

Cardholder’s salutation.

Refer to API Data Mapping documentation for possible values.

firstName
string (15)
required

First name of the cardholder.

lastName
string (26)
required

Last name of the cardholder.

gender
string (3)
required

Gender of the cardholder.

Refer to API Data Mapping documentation for possible values.

birthDate
date
required

Date of birth in ISO 8601 format

birthPlace
string (15)

Cardholder’s place of birth.

birthName
string (20)

Cardholder’s birth name.

shortName
string (26)
required

Cardholder’s short name.

mobile1
string (15)

Primary mobile phone number.

mobile2
string (15)

Secondary mobile phone number.

fathersName
string (20)

Name of cardholder’s father.

language
string (3)
required

Cardholder’s language.

Refer to API Data Mapping documentation for possible values.

nationality
string (3)
required

Nationality of the cardholder.

Refer to API Data Mapping documentation for possible values.

residenceStatus
string (3)
required

Indicates if the carhdolder is a resident of the hosting country. Defaulted to 001 if not provided indicating a Resident.

Refer to API Data Mapping documentation for possible values.

residenceStatusDate
date

The date in ISO 8601 format relating to the client’s current residence state.

residenceType
string (3)
required

Defines the type of residence for the cardholder such as, own house or rented flat. Defaulted to 000 if not provided indicating Unknown.

Refer to API Data Mapping documentation for possible values.

maritalStatus
string (3)

Cardholder’s marital status.

Refer to API Data Mapping documentation for possible values.

maritalStatusDate
date

Date in ISO 8601 format of last change in marital status.

passportNumber
string (15)

The cardholder’s national passport number.

drivingLicenseNumber
string (15)

The cardholder’s national driving license number.

employerName
string (35)

Cardholder’s employment company or individual.

employmentDate
date

Applicant’s date of employment in ISO 8601 format.

employmentPosition
string (3)
required

Cardholder’s current employment position.

Refer to API Data Mapping documentation for possible values.

employmentStatus
string (3)
required

Cardholder’s current employment status.

Refer to API Data Mapping documentation for possible values.

employmentExtraInfo
string (3)

May contain extra additional numeric information related to the employment status (e.g. for part time employee, might be interpreted as no. of hrs worked weekly).

incomeAmount
number (18)

Income amount of applicant.

incomeRange
string (3)
required

Income range of applicant.

Refer to API Data Mapping documentation for possible values.

processingRegion
string (3)

Defines the processing region of the cardholder. Used for transaction processing.

Refer to API Data Mapping documentation for possible values.

mastercardABU
string

Flag that indicates the cardholder’s Mastercard Automatic Billing Updater (ABU) registration status.

Refer to API Data Mapping documentation for possible values.

Sample values:

  • 001 - N/A

  • 003 - Registered

recordDate
date

The record creation date.

Relationships
issAddresses object
Name Description
addressCategory
string (3)
required

The address category identifier for the returned client address resource are the following but not limited to:

  • 001 Standard
  • 006 Statement

A client must have at least one standard (001).

Refer to API Data Mapping documentation for possible values.

effectiveDate
date

The date in ISO 8601 format when the address becomes effective. The value can be future dated and cannot be less than the posting date. If not provided, the current posting date is automatically assumed.

expiryDate
date

The date in ISO 8601 format when the address record is no longer taken into consideration. Can be used for temporary addresses. Date must be in the future.

addressLine1
string (35)
required

Address line typically used for building information but not limited to house name, number, floor, unit and block number.

addressLine2
string (35)

Address line typically used for street information such as street number and name.

addressLine3
string (35)

Extra address properties that might be required and are not catered for by the attributes available.

addressLine4
string (35)

Extra address properties that might be required and are not catered for by the attributes available.

addressLine5
string (35)

Extra address properties that might be required and are not catered for by the attributes available.

contactName
string (35)

Main contact name for the address.

city
string (35)
required

Client’s city.

state
string (3)

3 digit identifier for the client’s state/region.

Refer to API Data Mapping documentation for possible values.

country
string (3)
required

The ISO 3-letter country code. In cases where value consists of 3 digits, 000 means not applicable and 999 means applicable to all countries.

Refer to API Data Mapping documentation for possible values.

postCode
string (20)
required

Client’s postcode.

poBox
string (10)

P.O. Box details.

telephone1
string (15)

Primary address fixed line number, for example, a client’s home or business telephone number.

telephone2
string (15)

Secondary address fixed line number for example a secondary business telephone number.

faxWork
string (15)

Office fax number.

addressLanguage
string (3)

3-digit identifier for the client language associated with the address.

Refer to API Data Mapping documentation for possible values.

deliveryMethod
string (3)

3-digit value indicating the preferred delivery option for correspondence. Defaulted to not applicable (000) - Not applicable, if not provided.

Refer to API Data Mapping documentation for possible values.

emailAddress
string (60)

Client’s e-mail address.

recordDate
date

The record creation date.

Relationships
cardholder
required

Link to the cardholder resource ID previously defined in the cardholder resource creation stage.

commercialClient

Relationship to the commercial client linked to the address.

issContracts object
Name Description
contractCategory
string (3)

The contract category determines the type of hierarchy.

  • 001 - Private cardholder contracts
  • 002 - Commercial cardholder contracts
serviceContractId
string (3)

Indicates the service contract ID linked to the client contract.

This MAY be passed instead of the contractDefinitions relationship in case the Service Contract ID value is known.

Refer to API Data Mapping documentation for possible values.

parentClientNumber
string (8)

Indicates the client number of the parent client in the hierarchy. This is an optional attribute that can be provided instead of the parentContracts relationship when defining a lower level client in a hiearchy.

status
string (3)

Indicates the status of the client contract.

Refer to API Data Mapping documentation for possible values.

clientLevel
string (3)
required

Indicates the BankWORKS hierarchical level for the client contract. The following values are possible:

  • 002 - Group (the parent client)
  • 001 - Member (a standalone client without a parent group linked to it)
effectiveDate
date

The date in ISO 8601 format on which the hierarchy link record becomes effective for the client. The value can be future dated and cannot be less than the posting date. If not provided, posting date +1 value is assumed only post-boarding.

settlementMethod
string (3)
required

Indicates the method how the client will settle with the bank. Identifies how outstanding balances are settled. Required only when onboarding a new client.

Refer to API Data Mapping documentation for possible values.

postingMethod
string (3)
required

The tariff under which the client falls when posting to the clients account.

Refer to API Data Mapping documentation for possible values.

clientTariff
string (3)
required

Indicates the client tariff package assigned. Required only when onboarding a new client.

chargeTierLevel
string (3)

Enables setting up of the same fee with different value high and value low triggers.

Refer to API Data Mapping documentation for possible values.

clientScheme
string (3)

Indicates the rebate tariff applicable for the contract.

contractReference
string (8)

Cardholder contract document reference.

bankReference
string (8)

External additional reference number of the cardholder with the bank.

institutionAccountOfficer
string (3)

Officer in charge of the client contract.

Refer to API Data Mapping documentation for possible values.

clientBranch
string (3)

Contract application branch details. Related to the institutionAccountOfficer.

Refer to API Data Mapping documentation for possible values.

tierGroup
string (3)

An identifier used to group a set of rates that need to be applied during tiered pricing generation.

Refer to API Data Mapping documentation for possible values.

recordDate
date

The record creation date.

Relationships
contractDefinition

An optional relationship to the service contract resource. Mandatory If a value is not passed in serviceContractId.

cardholder
required

Link to the cardholder resource ID previously defined in the cardholder resource creation stage.

commercialClient

Relationship to the client resource if a commercial contract.

parentContracts

If defining a cardholder that is part of a hierarchy below the GROUP level, the parent cardholder contract needs to be provided. Standalone MEMBER level clients do not require a parent contract to be linked to rather a direct relationship to contractDefinition.

issSettlementPackages object
Name Description
accountCurrency
string (3)

The currency of the counter bank account in SWIFT currency code format. In cases where value consists of 3 digits:

  • 998 means not applicable
  • 999 means applicable to all currencies.

Refer to API Data Mapping documentation for possible values.

settlementCategory
string (3)

Settlement information category descriptor such as Payable or Receivable.

Refer to API Data Mapping documentation for possible values.

bankClearingNumber
string (8)

Information regarding the account’s bank details.

receiverCountryCode
string (3)

The country where the bank account information is located. In cases where value consists of 3 digits:

  • 000 means not applicable
  • 999 means applicable to all countries.

Refer to API Data Mapping documentation for possible values.

payableDetails
object
Name Description
bankContactName
string (35)

The counter bank contact name used for PAYABLES.

bankTelNumber
string (15)

The counter bank telephone number used for PAYABLES.

confirmationMethod
string (3)

The routing channel used for example Fax, mail, SWIFT etc.

Refer to API Data Mapping documentation for possible values.

counterBankAccount
string (35)

The counter RBS bank account number used to settle PAYABLES.

counterBankAccountName
string (35)

The counter bank account name used for PAYABLES.

counterBankCity
string (35)

The counter bank’s city used for PAYABLES.

counterBankName
string (40)

The counter bank name used for PAYABLES.

counterBankNumber
string (11)

The counter bank number where the counter bank account used for PAYABLES is domiciled.

counterClientNumber
string (8)

The RBS client number used for PAYABLES.

fundingNarrative
string (18)

Contains funding information applicable for PAYABLES.

ibanReference
string (35)

The counter bank account IBAN used for PAYABLES.

paymentReference
string (24)

The reference to be included in the outward payment transaction.

receivableDetails
object
Name Description
bankContactName
string (35)

The counter bank contact name used for RECEIVABLES.

bankTelNumber
string (15)

The counter bank telephone number used for RECEIVABLES.

counterBankAccount
string (35)

The counter RBS bank account number used to settle RECEIVABLES.

counterBankAccountName
string (35)

The counter bank account name used for RECEIVABLES.

counterBankCity
string (35)

The counter bank’s city used for RECEIVABLES.

counterBankName
string (40)

The counter bank name used for RECEIVABLES.

counterBankNumber
string (11)

The counter bank number where the counter bank account used for RECEIVABLES is domiciled.

fundingNarrative
string (18)

Contains funding information applicable for RECEIVABLES.

ibanReference
string (35)

The counter bank account IBAN used for RECEIVABLES.

contingencyLiabilityAccount
string (11)

The RBS account that is used in case the counter RBS bank account is not able to fullfil the RECEIVABLE obligation.

correspondingBankAccount
string (16)

The NOSTRA/VOSTRO bank account of the affiliate institution.

correspondingBankNumber
string (35)

The bank number of the affiliate institution where the counter bank Nostro/Vostro are domiciled.

recordDate
date

The record creation date in ISO8601 format.

Relationships
cardholder
required

Link to the cardholder resource ID previously defined in the cardholder resource creation stage.

commercialClient

Commercial client who owns the settlement information.

issAccounts object
Name Description
clientAccountName
string (35)

Cardholder account alias.

accountTypeId
string (3)

Indicates the account type of the client account. When defining new accounts, this attribute along with the accountCurrency can be supplied as an alternative to the accountDefinitions relationship.

Refer to API Data Mapping documentation for possible values.

accountNumberRbs
string (28)

External RBS account number reference.

statementGeneration
string (3)

Indicates the statement generation rule applicable for this account.

Refer to API Data Mapping documentation for possible values.

statementType
string (3)

The type of statement applicable for this account.

Refer to API Data Mapping documentation for possible values.

availabilityAmount
object

This is the calculated available amount for the account based on the account limit setup.

Name Description
value
decimal

The quantative decimal monetary amount (eg. 1.1)

currency
string

The ISO 4217 currency code (eg. 'EUR')

recordDate
date

The record creation date.

Relationships
accountDefinition

An optional relationship to the service definition resource. Mandatory If a value is not passed in accountTypeId and accountCurrency attributes.

commercialClient

Relationship to the client resource if a commercial client.

contracts
required

Link to the cardholder contract defined during contract creation.

settlementPackage

Bank account settlement information related to this BankWORKS account. Only billing level accounts require settlement details to be defined.

accountLimits

Applicable account limits linked to the account. Effective date needs to be taken into consideration as the relationship gives access to past, current and future effective data.

globalClientLimits

Links to the global client account limit. The global client limit is a limit that acts on top of the account limit. Effective date needs to be taken into consideration as the relationship gives access to past, current and future effective data.

balanceCycles

Cycle balances related to the account, includes past cycles and the current cycle.

cycleChangeInstructions

Billing cycle instructions linked to the account.

limits object
Name Description
limitNumber
string (11)

BankWORKS 11-digit number identifying the limit.

limitLevel
string (3)
required

The limit level identifies the account level to which this limit pertains.

Refer to API Data Mapping documentation for possible values.

effectiveDate
date-time

The date in ISO 8601 format on which the limit record becomes effective for the provided card. If left empty, the current system date is assumed.

expiryDate
date
required

The date in ISO 8601 format on which the limit is no longer effective. Expiry date must be greater than the effectiveDate.

clientLimit
object
required

The amount of credit the limit provides.

Name Description
value
decimal

The quantative decimal monetary amount (eg. 1.1)

currency
string

The ISO 4217 currency code (eg. 'EUR')

limitOverrideAmount
number

A calculated attribute that identifies the amount that the limit can be overriden.

limitOverridePercent
string (11)

A percentage, exceeding the limit, within which authorization approval is allowed.

cashLimitPercent
number

A percentage in which authorization approval for Cash transactions is allowed.

retailBalance
object

Retail balance amount.

Name Description
value
decimal

The quantative decimal monetary amount (eg. 1.1)

currency
string

The ISO 4217 currency code (eg. 'EUR')

recordDate
date

The record creation date.

Relationships
contracts
required

Client contract related to this resource. Effective date needs to be taken into consideration as the relationship gives access to past, current and future effective data.

limitDefinition
required

The limits definition for which this resource is created from.

parentLimits

Parent limit related to this resource.

cards object
Name Description
embossLine1
string (26)

Detail used for card embossing. Format: alphanumeric and special characters except for pipe (|) symbol. If not provided, this will be defaulted to the first and last name of the cardholder.

embossLine2
string (26)

Detail used for card embossing. Format: alphanumeric and special characters except for pipe (|) symbol.

serviceId
string (3)

Indicates the card Service ID the card is based on.

This MAY be passed instead of the cardServiceDefinitions relationship in case the Service ID value is known.

Refer to API Data Mapping documentation for possible values.

Relationships
commercialClient

Relationship to the client resource if a commercial contract.

cardServiceDefinitions

An optional relationship to the card service definition resource. Mandatory If a value is not passed in serviceId.

contracts
required

Related client contract for this card. Effective date needs to be taken into consideration as the relationship gives access to past, current and future effective data.

poiSetting

The card information linked to the card POI (point of interaction) setting.

Response

HTTP 201 (Created)

Response body will contain the result of the JSON PATCH operation for the following resources: cardholders issAddresses issContracts issSettlementPackages issAccounts limits cards

Miscellaneous Batch Input

This resource represents Miscellaneous transactions i.e. adjustments manually entered in BankWorks. This is composed of miscellaenousBatches (batch) and its indivividual transactions (miscellaneousBatchSlips). Requests are sequentially placed from creation of batch to individual slips and down to Approving the miscellaneous batch and slips for processing. Delete, Get, and Patch requests (except for item 3) are optional in case some changes are needed.

1. Add New Batch

Creation of miscellaneous batch for the related transaction slips entry.

Request

POST https://wsmdemo.rs2.com/wsm/jsonapi/miscellaneousBatches

Request Headers

AuthorizationBearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Acceptapplication/vnd.api+json
Content-Typeapplication/vnd.api+json

Request Body

A JSON:API resource of type miscellaneousBatches with the following attributes:

Name Description
numberOriginalSlip
string (11)

Free text reference up to 11 characters. This field can be used to refer to an external (outside of BankWORKS) transaction. If this is null/empty, it will be generated similar with transactionSlip.

totalBatchAmount
object

If it is 0, the totalBatchAmount can be calculated by calculating the Sum of transactionAmountGross values provided in the slips. This should be done upon sending a PATCH request to set the processingStatus to ‘008’, as this would indicate that all the required slips have been entered and linked to the batch.

In order to calculate this amount the following need to be considered: -Transaction amount of the individual slips -Transaction type of each slip. The transaction type determines the respective DR/CR indicator. To determine if a transaction is a debit or credit AT DESTINATION, the BWT_BATCH_TRANSACTIONS entry will need to be checked with the equivalent in BWT_BATCH_TRANSACTIONS in order to retrieve the DESTINATION_SIGN. The first character of the DESTINATION_SIGN field indicates whether the transaction will be a C (Credit) or D (Debit) at destination. -Finally once the amount is converted to the destination sign. The REVERSAL_FLAG value must be considered. A credit (plus) to the merchant account that is reversed (REVERSAL_FLAG = 001) results in a debit to the merchant account (minus) and vice versa.

Alternatively, if provided, the totalBatchAmount Value must match with the Sum of the slip amounts provided. This value would be validated when approving the transaction for processing by setting processingStatus to ‘008’.

Total Batch Amount currency, indicates the currency of the batch. Any transactions linked to the batch must match with this batch currency.

Name Description
value
decimal

The quantative decimal monetary amount (eg. 1.1)

currency
string
required

The ISO 4217 currency code (eg. 'EUR')

numberOfSlips
number

If not provided, the number of slips can be calculated on the number of individual transaction slips provided in the slips list.This should be done upon sending a PATCH request to set the processingStatus to ‘008’, as this would indicate that all the required slips have been entered and linked to the batch. Alternatively, if provided, the numberOfSlips value should match with the count of slips provided. This value would be validated when approving the transaction for processing by setting processingStatus to ‘008’

Relationships

Response

HTTP 202 (Accepted)

Response body will contain the created JSON:API resource of type miscellaneousBatches .

1.1 Get Batches

Returns a batches and related transactions (miscellaneousBatchSlips).

Request

GET https://wsmdemo.rs2.com/wsm/jsonapi/miscellaneousBatches/?include=transactions,transactions.issAccount

Request Headers

AuthorizationBearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Acceptapplication/vnd.api+json
Content-Typeapplication/vnd.api+json
Crnk-compacttrue

Request Parameters

include transactions,transactions.issAccount

Response

HTTP 200 (OK)

Response body will contain the requested JSON:API resource of type miscellaneousBatches with transactions,transactions.issAccountas included resources.

1.2 Update or Cancelled Batch

This to update other batch attributes or cancellation of batch for unprocessed transactions.

Request

PATCH https://wsmdemo.rs2.com/wsm/jsonapi/miscellaneousBatches/{{miscellaneousBatchId}}

Request Headers

AuthorizationBearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Acceptapplication/vnd.api+json
Content-Typeapplication/vnd.api+json

Request Body

A JSON:API resource of type miscellaneousBatches with the following attributes:

Name Description
numberOriginalSlip
string (11)

Free text reference up to 11 characters. This field can be used to refer to an external (outside of BankWORKS) transaction. If this is null/empty, it will be generated similar with transactionSlip.

processingStatus
string (3)

The processing status indicates the current state of the batch. A batch initially has an Entered (007) status. The batch can be set to Cancelled (017). However, the batch or transactions related to this batch can still be modified or add a new transactions. Then the batch can be set to Approved (008) for processing.

Once a batch of transactions is successfully processed, the processingStatus will indicate a value of Loaded (005).

totalBatchAmount
object

If it is 0, the totalBatchAmount can be calculated by calculating the Sum of transactionAmountGross values provided in the slips. This should be done upon sending a PATCH request to set the processingStatus to ‘008’, as this would indicate that all the required slips have been entered and linked to the batch.

In order to calculate this amount the following need to be considered: -Transaction amount of the individual slips -Transaction type of each slip. The transaction type determines the respective DR/CR indicator. To determine if a transaction is a debit or credit AT DESTINATION, the BWT_BATCH_TRANSACTIONS entry will need to be checked with the equivalent in BWT_BATCH_TRANSACTIONS in order to retrieve the DESTINATION_SIGN. The first character of the DESTINATION_SIGN field indicates whether the transaction will be a C (Credit) or D (Debit) at destination. -Finally once the amount is converted to the destination sign. The REVERSAL_FLAG value must be considered. A credit (plus) to the merchant account that is reversed (REVERSAL_FLAG = 001) results in a debit to the merchant account (minus) and vice versa.

Alternatively, if provided, the totalBatchAmount Value must match with the Sum of the slip amounts provided. This value would be validated when approving the transaction for processing by setting processingStatus to ‘008’.

Total Batch Amount currency, indicates the currency of the batch. Any transactions linked to the batch must match with this batch currency.

Name Description
value
decimal

The quantative decimal monetary amount (eg. 1.1)

currency
string

The ISO 4217 currency code (eg. 'EUR')

numberOfSlips
number

If not provided, the number of slips can be calculated on the number of individual transaction slips provided in the slips list.This should be done upon sending a PATCH request to set the processingStatus to ‘008’, as this would indicate that all the required slips have been entered and linked to the batch. Alternatively, if provided, the numberOfSlips value should match with the count of slips provided. This value would be validated when approving the transaction for processing by setting processingStatus to ‘008’

Relationships

Response

HTTP 202 (Accepted)

Response body will contain the updated JSON:API resource of type miscellaneousBatches .

1.3 Delete Batch

Deletion of batch for unprocessed transactions.

Request

DELETE https://wsmdemo.rs2.com/wsm/jsonapi/miscellaneousBatches/{{miscellaneousBatchId}}

Request Headers

AuthorizationBearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Acceptapplication/vnd.api+json
Content-Typeapplication/vnd.api+json

Response

HTTP 500 (Internal Server Error)

Response body will contain the deleted JSON:API resource of type miscellaneousBatches .

2. Add New Batch Slip via Account

Creation of individual transaction slips that will compose the related batch.

Request

POST https://wsmdemo.rs2.com/wsm/jsonapi/miscellaneousBatchSlips

Request Headers

AuthorizationBearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Acceptapplication/vnd.api+json
Content-Typeapplication/vnd.api+json

Request Body

A JSON:API resource of type miscellaneousBatchSlips with the following attributes:

Name Description
numberOriginalSlip
string (11)

Free text reference up to 11 characters. This field can be used to refer to an external (outside of BankWORKS) transaction. If this is null/empty, it will be generated similar with transactionSlip.

transactionType
string (3)
required

Type of transaction i.e. Miscellaneous Debit (950), Miscellaneous Credit (951), etc.

transactionCategory
string (3)
required

This value is used to identify what category the transaction belongs to, e.g Charges & Fees, Adjustments, etc.

transactionDate
date-only

Date of the transaction. Must be less than or equal to the current posting date.

valueDate
date-only

The date from when action can be taken upon a transaction.

reversalFlag
string (3)

Indicator used to identify if the transaction is reversed or not. Defaulted to 000 (No).

cardAlias
string

A numeric combination used to mask card number. This attribute is used only to retrieve the alias of card number and cannot be used for post or patch.

cardNumber
string

Card number used for the individual transaction. This should only be used for adding or modifying a transaction. Upon resource retrieval, cardAlias is being displayed instead of the clear card number.

transactionAmountGross
object
required

The amount of the individual transaction. Must be greater than 0 and the currency value must match with the batch currency!

Name Description
value
decimal

The quantative decimal monetary amount (eg. 1.1)

currency
string

The ISO 4217 currency code (eg. 'EUR')

narrative
string (30)

Free text reference. If not provided default to the transactionType TEXTUAL description.

Relationships
batch
required

A transaction must always be linked to a batch.

Note, transaction can only be linked to a batch if changes are allowed, i.e processing status either Entered (007) or Error (003).

issAccount
required

A transaction must either be linked to this account or via cardNumber.

Response

HTTP 202 (Accepted)

Response body will contain the created JSON:API resource of type miscellaneousBatchSlips .

2. Add New Batch Slip via Card number

Creation of individual transaction slips that will compose the related batch.

Request

POST https://wsmdemo.rs2.com/wsm/jsonapi/miscellaneousBatchSlips

Request Headers

AuthorizationBearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Acceptapplication/vnd.api+json
Content-Typeapplication/vnd.api+json
Crnk-compacttrue

Request Body

A JSON:API resource of type miscellaneousBatchSlips with the following attributes:

Name Description
numberOriginalSlip
string (11)

Free text reference up to 11 characters. This field can be used to refer to an external (outside of BankWORKS) transaction. If this is null/empty, it will be generated similar with transactionSlip.

transactionType
string (3)
required

Type of transaction i.e. Miscellaneous Debit (950), Miscellaneous Credit (951), etc.

transactionCategory
string (3)
required

This value is used to identify what category the transaction belongs to, e.g Charges & Fees, Adjustments, etc.

transactionDate
date-only

Date of the transaction. Must be less than or equal to the current posting date.

valueDate
date-only

The date from when action can be taken upon a transaction.

reversalFlag
string (3)

Indicator used to identify if the transaction is reversed or not. Defaulted to 000 (No).

cardAlias
string

A numeric combination used to mask card number. This attribute is used only to retrieve the alias of card number and cannot be used for post or patch.

cardNumber
string

Card number used for the individual transaction. This should only be used for adding or modifying a transaction. Upon resource retrieval, cardAlias is being displayed instead of the clear card number.

transactionAmountGross
object
required

The amount of the individual transaction. Must be greater than 0 and the currency value must match with the batch currency!

Name Description
value
decimal

The quantative decimal monetary amount (eg. 1.1)

currency
string

The ISO 4217 currency code (eg. 'EUR')

narrative
string (30)

Free text reference. If not provided default to the transactionType TEXTUAL description.

Relationships
batch
required

A transaction must always be linked to a batch.

Note, transaction can only be linked to a batch if changes are allowed, i.e processing status either Entered (007) or Error (003).

issAccount
required

A transaction must either be linked to this account or via cardNumber.

Response

HTTP 202 (Accepted)

Response body will contain the created JSON:API resource of type miscellaneousBatchSlips .

2.1 Get Batch Slips

Retrieval of a specified individual batch slip including the batch (/miscellaneousBatches) and related account (/issAccounts).

Request

GET https://wsmdemo.rs2.com/wsm/jsonapi/miscellaneousBatchSlips?include=batch,issAccount&filter[batch.transactionSlip]=22700000117

Request Headers

AuthorizationBearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Acceptapplication/vnd.api+json
Content-Typeapplication/vnd.api+json
Crnk-compacttrue

Request Parameters

include batch,issAccount
filter[batch.transactionSlip] 22700000117

Response

HTTP 200 (OK)

Response body will contain the requested JSON:API resource of type miscellaneousBatchSlips with batch,issAccountas included resources.

2.2 Update Batch Slip

Amendment of any batch slips entered which status is Entered (007), In Error (003) or Cancelled (017) only.

Request

PATCH https://wsmdemo.rs2.com/wsm/jsonapi/miscellaneousBatchSlips/{{miscellaneousBatchSlipId}}

Request Headers

AuthorizationBearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Acceptapplication/vnd.api+json
Content-Typeapplication/vnd.api+json
Crnk-compacttrue

Request Body

A JSON:API resource of type miscellaneousBatchSlips with the following attributes:

Name Description
numberOriginalSlip
string (11)

Free text reference up to 11 characters. This field can be used to refer to an external (outside of BankWORKS) transaction. If this is null/empty, it will be generated similar with transactionSlip.

transactionType
string (3)

Type of transaction i.e. Miscellaneous Debit (950), Miscellaneous Credit (951), etc.

transactionCategory
string (3)

This value is used to identify what category the transaction belongs to, e.g Charges & Fees, Adjustments, etc.

transactionDate
date-only

Date of the transaction. Must be less than or equal to the current posting date.

valueDate
date-only

The date from when action can be taken upon a transaction.

reversalFlag
string (3)

Indicator used to identify if the transaction is reversed or not. Defaulted to 000 (No).

cardAlias
string

A numeric combination used to mask card number. This attribute is used only to retrieve the alias of card number and cannot be used for post or patch.

cardNumber
string

Card number used for the individual transaction. This should only be used for adding or modifying a transaction. Upon resource retrieval, cardAlias is being displayed instead of the clear card number.

transactionAmountGross
object

The amount of the individual transaction. Must be greater than 0 and the currency value must match with the batch currency!

Name Description
value
decimal

The quantative decimal monetary amount (eg. 1.1)

currency
string

The ISO 4217 currency code (eg. 'EUR')

narrative
string (30)

Free text reference. If not provided default to the transactionType TEXTUAL description.

Relationships
issAccount

A transaction must either be linked to this account or via cardNumber.

Response

HTTP 202 (Accepted)

Response body will contain the updated JSON:API resource of type miscellaneousBatchSlips .

2.3 Delete Batch Slip

Deletion of batch slips according to the qualified status.

Request

DELETE https://wsmdemo.rs2.com/wsm/jsonapi/miscellaneousBatchSlips/{{miscellaneousBatchSlipId}}

Request Headers

AuthorizationBearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Acceptapplication/vnd.api+json
Content-Typeapplication/vnd.api+json

Response

HTTP 500 (Internal Server Error)

Response body will contain the deleted JSON:API resource of type miscellaneousBatchSlips .

3. Approve Batch

Approving the batch by setting the processing status to Approved (008) to be sent to processing.

Request

PATCH https://wsmdemo.rs2.com/wsm/jsonapi/miscellaneousBatches/{{miscellaneousBatchId}}

Request Headers

AuthorizationBearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Acceptapplication/vnd.api+json
Content-Typeapplication/vnd.api+json

Request Body

A JSON:API resource of type with the following attributes:

Name Description

Response

HTTP 202 (Accepted)

Response body will contain the updated JSON:API resource of type miscBatches .

Client Cards and Instructions

This collection contains sample use cases on card instructions ie. activation pin changes, and other card status changes.

Pre-produced Card activation flow

The card activation flow described here is applicable for pre-produced card activation such as gift cards which are available off the shelf. A tracking number used to identify the card would be required in order to identify the cardholder for further personilisation.

1. Activate using tracking number

Activate card by creating an activate card instruction and providing the trackingNumber value of the card. Following successful activation the cardAlias value will be returned as part of the response.

Request

POST https://wsmdemo.rs2.com/wsm/jsonapi/cardInstructions

Request Headers

AuthorizationBearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Acceptapplication/vnd.api+json
Content-Typeapplication/vnd.api+json

Request Body

A JSON:API resource of type cardInstructions with the following attributes:

Name Description
cardInstruction
string
required

Numeric value of the card instruction.

Refer to BankWorks (API) Data Mapping documentation for possible values.

description
string (20)

Textual description of the card instruction.

cardAlias
string

Card alias used instead of the card number.

trackingNumber
string
required

Unique number to identify the pre-generated cards.

pinBlock
string

Encrypted PIN block.

embossLine1
string (26)

Detail used for card embossing. Format: alphanumeric and special characters except for pipe (|) symbol.

embossLine2
string (26)

Detail used for card embossing. Format: alphanumeric and special characters except for pipe (|) symbol.

Response

HTTP 201 (Created)

Response body will contain the created JSON:API resource of type cardInstructions .

2. Get cardholder account

Following successful activation of a card. The cardAlias value will be returned. This must be used to identify and perform actions on a card following card activation as the trackingNumber can only be used once. This step will return the account related to the card.

Request

GET https://wsmdemo.rs2.com/wsm/jsonapi/cards/cardAlias={{cardAlias}}/accounts

Request Headers

AuthorizationBearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Acceptapplication/vnd.api+json
Content-Typeapplication/vnd.api+json

Response

HTTP 200 (OK)

Response body will contain the requested JSON:API resource of type cards .

3. Update account RBS reference

Update a cardholder’s BankWORKS sub-account with the external RBS reference value (accountNumberRbs). The sub-account in question would be the BankWORKS sub-account related to the card (card - cardholderAccounts relationship).

Request

PATCH https://wsmdemo.rs2.com/wsm/jsonapi/issAccounts/{{accountId}}

Request Headers

AuthorizationBearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Acceptapplication/vnd.api+json
Content-Typeapplication/vnd.api+json

Request Body

A JSON:API resource of type issAccounts with the following attributes:

Name Description
accountNumber
string (11)

BankWORKS 11-digit internal account number. Unique per institution.

clientAccountName
string (35)

Cardholder account alias.

accountTypeId
string (3)

Indicates the account type of the client account. When defining new accounts, this attribute along with the accountCurrency can be supplied as an alternative to the accountDefinitions relationship.

Refer to API Data Mapping documentation for possible values.

accountCurrency
string (3)

Indicates the currency of the account. The currency is represented in 3 letter SWIFT format such as EUR, USD etc.

When defining new accounts, this attribute along with the accountTypeId can be supplied as an alternative to the accountDefinitions relationship.

Refer to API Data Mapping documentation for possible values.

status
string (3)

The current status of the account such as one of the following:

  • 001 Active
  • 002 Closed
  • 003 Suspended.

Refer to API Data Mapping documentation for possible values.

accountNumberRbs
string (28)

External RBS account number reference.

billingCycle
string (3)

Indicates the billing cycle applicable for the account.

Refer to API Data Mapping documentation for possible values.

billingLevel
string (3)

Indicates if the cardholder account holds settlement responsibilities for the related sub-hierarchy.

  • 001 Billing level
  • 000 Not billing level
statementGeneration
string (3)

Indicates the statement generation rule applicable for this account.

Refer to API Data Mapping documentation for possible values.

statementType
string (3)

The type of statement applicable for this account.

Refer to API Data Mapping documentation for possible values.

lastAccrualDateCredit
date

Last credit interest accrual date in ISO 8601 format.

lastAccrualDateDebit
date

Last debit interest accrual date in ISO 8601 format.

availabilityAmount
object

This is the calculated available amount for the account based on the account limit setup.

Name Description
value
decimal

The quantative decimal monetary amount (eg. 1.1)

currency
string

The ISO 4217 currency code (eg. 'EUR')

lastFeeDate
date

Last account fee generation date in ISO 8601 format.

lastStatementDate
date

Last statement generation date in ISO 8601 format.

recordDate
date

The record creation date.

Relationships
accountDefinition

Relationship to the account definition resource.

cardholder

Relationship to the client resource if a private cardholder client.

commercialClient

Relationship to the client resource if a commercial client.

contracts

Client contract resources linked to this account. Effective date needs to be taken into consideration as the relationship gives access to past, current and future effective data.

settlementPackage

Bank account settlement information related to this BankWORKS account. Only billing level accounts require settlement details to be defined.

accountFeeDefinitions

Account fees applicable for the cardholder account based on the client contract tariff assigned. Contract based account fees as well as individual client specific account fees overriding contract based fees are available. Effective date needs to be taken into consideration as the relationship gives access to past, current and future effective data.

accountLimits

Applicable account limits linked to the account. Effective date needs to be taken into consideration as the relationship gives access to past, current and future effective data.

globalClientLimits

Links to the global client account limit. The global client limit is a limit that acts on top of the account limit. Effective date needs to be taken into consideration as the relationship gives access to past, current and future effective data.

balanceCycles

Cycle balances related to the account, includes past cycles and the current cycle.

cycleChangeInstructions

Billing cycle instructions linked to the account.

Response

HTTP 200 (OK)

Response body will contain the updated JSON:API resource of type issAccounts .

Offline Pin Changes

Self-Select Pin Change

This is to give an instruction to bankWORKS to set a “010 - new PIN or update the offline PIN” of a card identified by the card alias.

Request

POST https://wsmdemo.rs2.com/wsm/jsonapi/cardInstructions

Request Headers

AuthorizationBearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Acceptapplication/vnd.api+json
Content-Typeapplication/vnd.api+json

Request Body

A JSON:API resource of type cardInstructions with the following attributes:

Name Description
cardInstruction
string
required

Numeric value of the card instruction.

Refer to BankWorks (API) Data Mapping documentation for possible values.

description
string (20)

Textual description of the card instruction.

cardAlias
string
required

Card alias used instead of the card number.

trackingNumber
string

Unique number to identify the pre-generated cards.

pinBlock
string
required

Encrypted PIN block.

embossLine1
string (26)

Detail used for card embossing. Format: alphanumeric and special characters except for pipe (|) symbol.

embossLine2
string (26)

Detail used for card embossing. Format: alphanumeric and special characters except for pipe (|) symbol.

Response

Response body will contain the created JSON:API resource of type cardInstructions .

Card Status Changes

Set to Temporary Suspend

This is to give an instruction to bankWORKS to set to “003 - Temporary Suspend” the latest card status record of the card of the specified card alias.

Request

POST https://wsmdemo.rs2.com/wsm/jsonapi/cardInstructions

Request Headers

AuthorizationBearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Acceptapplication/vnd.api+json
Content-Typeapplication/vnd.api+json

Request Body

A JSON:API resource of type cardInstructions with the following attributes:

Name Description
cardInstruction
string
required

Numeric value of the card instruction.

Refer to BankWorks (API) Data Mapping documentation for possible values.

description
string (20)

Textual description of the card instruction.

cardAlias
string
required

Card alias used instead of the card number.

trackingNumber
string

Unique number to identify the pre-generated cards.

pinBlock
string

Encrypted PIN block.

embossLine1
string (26)

Detail used for card embossing. Format: alphanumeric and special characters except for pipe (|) symbol.

embossLine2
string (26)

Detail used for card embossing. Format: alphanumeric and special characters except for pipe (|) symbol.

Response

HTTP 201 (Created)

Response body will contain the created JSON:API resource of type cardInstructions .

Set to Permanent Block

This is to give an instruction to bankWORKS to set to “004 - Permanent Block” the latest card status record of the card of the specified card alias.

Request

POST https://wsmdemo.rs2.com/wsm/jsonapi/cardInstructions

Request Headers

AuthorizationBearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Acceptapplication/vnd.api+json
Content-Typeapplication/vnd.api+json

Request Body

A JSON:API resource of type cardInstructions with the following attributes:

Name Description
cardInstruction
string
required

Numeric value of the card instruction.

Refer to BankWorks (API) Data Mapping documentation for possible values.

description
string (20)

Textual description of the card instruction.

cardAlias
string
required

Card alias used instead of the card number.

trackingNumber
string

Unique number to identify the pre-generated cards.

pinBlock
string

Encrypted PIN block.

embossLine1
string (26)

Detail used for card embossing. Format: alphanumeric and special characters except for pipe (|) symbol.

embossLine2
string (26)

Detail used for card embossing. Format: alphanumeric and special characters except for pipe (|) symbol.

Response

Response body will contain the created JSON:API resource of type cardInstructions .

Set to Pickup Lost

This is to give an instruction to bankWORKS to set to “019 - Pickup Lost” the latest card status record of the card of the specified card alias.

Request

POST https://wsmdemo.rs2.com/wsm/jsonapi/cardInstructions

Request Headers

AuthorizationBearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Acceptapplication/vnd.api+json
Content-Typeapplication/vnd.api+json

Request Body

A JSON:API resource of type cardInstructions with the following attributes:

Name Description
cardInstruction
string
required

Numeric value of the card instruction.

Refer to BankWorks (API) Data Mapping documentation for possible values.

description
string (20)

Textual description of the card instruction.

cardAlias
string
required

Card alias used instead of the card number.

trackingNumber
string

Unique number to identify the pre-generated cards.

pinBlock
string

Encrypted PIN block.

embossLine1
string (26)

Detail used for card embossing. Format: alphanumeric and special characters except for pipe (|) symbol.

embossLine2
string (26)

Detail used for card embossing. Format: alphanumeric and special characters except for pipe (|) symbol.

Response

HTTP 201 (Created)

Response body will contain the created JSON:API resource of type cardInstructions .

Set to Pickup Stolen

This is to give an instruction to bankWORKS to set to “020 - Pickup Stolen” the latest card status record of the card of the specified card alias.

Request

POST https://wsmdemo.rs2.com/wsm/jsonapi/cardInstructions

Request Headers

AuthorizationBearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Acceptapplication/vnd.api+json
Content-Typeapplication/vnd.api+json

Request Body

A JSON:API resource of type cardInstructions with the following attributes:

Name Description
cardInstruction
string
required

Numeric value of the card instruction.

Refer to BankWorks (API) Data Mapping documentation for possible values.

description
string (20)

Textual description of the card instruction.

cardAlias
string
required

Card alias used instead of the card number.

trackingNumber
string

Unique number to identify the pre-generated cards.

pinBlock
string

Encrypted PIN block.

embossLine1
string (26)

Detail used for card embossing. Format: alphanumeric and special characters except for pipe (|) symbol.

embossLine2
string (26)

Detail used for card embossing. Format: alphanumeric and special characters except for pipe (|) symbol.

Response

HTTP 0 ()

Response body will contain the created JSON:API resource of type cardInstructions .

Manual Renewal

This is to give an instruction to bankWORKS to set to “008 - Manual Renewal” the latest card status record of the card of the specified card alias.

Request

POST https://wsmdemo.rs2.com/wsm/jsonapi/cardInstructions

Request Headers

AuthorizationBearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Acceptapplication/vnd.api+json
Content-Typeapplication/vnd.api+json

Request Body

A JSON:API resource of type cardInstructions with the following attributes:

Name Description
cardInstruction
string
required

Numeric value of the card instruction.

Refer to BankWorks (API) Data Mapping documentation for possible values.

description
string (20)

Textual description of the card instruction.

cardAlias
string
required

Card alias used instead of the card number.

trackingNumber
string

Unique number to identify the pre-generated cards.

pinBlock
string

Encrypted PIN block.

embossLine1
string (26)

Detail used for card embossing. Format: alphanumeric and special characters except for pipe (|) symbol.

embossLine2
string (26)

Detail used for card embossing. Format: alphanumeric and special characters except for pipe (|) symbol.

Response

HTTP 201 (Created)

Response body will contain the created JSON:API resource of type cardInstructions .

Request for Replacement

This is to give an instruction to bankWORKS to do for a “009 - Replacement” for the latest card status record of the specified card alias.

bankWORKS will generate a new card number and new expiry date if the current expiry date is within the threshold.

Request

POST https://wsmdemo.rs2.com/wsm/jsonapi/cardInstructions

Request Headers

AuthorizationBearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Acceptapplication/vnd.api+json
Content-Typeapplication/vnd.api+json

Request Body

A JSON:API resource of type cardInstructions with the following attributes:

Name Description
cardInstruction
string
required

Numeric value of the card instruction.

Refer to BankWorks (API) Data Mapping documentation for possible values.

description
string (20)

Textual description of the card instruction.

cardAlias
string
required

Card alias used instead of the card number.

trackingNumber
string

Unique number to identify the pre-generated cards.

pinBlock
string

Encrypted PIN block.

embossLine1
string (26)

Detail used for card embossing. Format: alphanumeric and special characters except for pipe (|) symbol.

embossLine2
string (26)

Detail used for card embossing. Format: alphanumeric and special characters except for pipe (|) symbol.

Response

HTTP 0 ()

Response body will contain the created JSON:API resource of type cardInstructions .

Request for Re-issue & Keep Active

This is to give an instruction to bankWORKS to do for a “016 - Card Reissue” for the latest card status record of the specified card alias.

bankWORKS will keep the existing card number, however it will generate a new expiry date if the current expiry date is within the threshold.

Request

POST https://wsmdemo.rs2.com/wsm/jsonapi/cardInstructions

Request Headers

AuthorizationBearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Acceptapplication/vnd.api+json
Content-Typeapplication/vnd.api+json

Request Body

A JSON:API resource of type cardInstructions with the following attributes:

Name Description
cardInstruction
string
required

Numeric value of the card instruction.

Refer to BankWorks (API) Data Mapping documentation for possible values.

description
string (20)

Textual description of the card instruction.

cardAlias
string
required

Card alias used instead of the card number.

trackingNumber
string

Unique number to identify the pre-generated cards.

pinBlock
string

Encrypted PIN block.

embossLine1
string (26)

Detail used for card embossing. Format: alphanumeric and special characters except for pipe (|) symbol.

embossLine2
string (26)

Detail used for card embossing. Format: alphanumeric and special characters except for pipe (|) symbol.

Response

HTTP 0 ()

Response body will contain the created JSON:API resource of type cardInstructions .

Get Cardholder's Cards

Request example to retrieve all cards belonging to a particular cardholder identified by the client number value.

Request

GET https://wsmdemo.rs2.com/wsm/jsonapi/cardholders/client/cards

Request Headers

AuthorizationBearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Content-Typeapplication/vnd.api+json
Acceptapplication/vnd.api+json
Crnk-Compacttrue

Response

Get Client Card with related Accounts, Contract, and Installment Instructions : HTTP 200 (OK)

Get Cardholder's Cards : HTTP 200 (OK)

Response body will contain the requested JSON:API resource of type cards .

Get Cardholder Transactions

An example use case for getting the cardholder transactions associated with a specific card alias.

Request

GET https://wsmdemo.rs2.com/wsm/jsonapi/cards/cardAlias=0009000021300006690410501/transactions?filter[cardholderTransactions][recordDate][GE]=2024-07-01&filter[cardholderTransactions][recordDate][LE]=2024-07-31

Request Headers

AuthorizationBearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Content-Typeapplication/vnd.api+json
Acceptapplication/vnd.api+json
Crnk-Compacttrue

Request Parameters

filter[cardholderTransactions][recordDate][GE] 2024-07-01
filter[cardholderTransactions][recordDate][LE] 2024-07-31

Response

HTTP 200 (OK)

Response body will contain the result of the JSON PATCH operation for the following resources: merchants addresses

Retrieve Sensitive Card Details

A request example showing how sensitive card properties, namely the exposed card number, CVV and card expiry date can be retrieved. Clients intending to use this resource MUST be PCI compliant. Card secure details can be retrieved one request at a time.

Request

POST https://wsmdemo.rs2.com/wsm/jsonapi/cardDetailInstructions

Request Headers

AuthorizationBearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Content-Typeapplication/vnd.api+json
Acceptapplication/vnd.api+json
Crnk-Compacttrue

Request Body

A JSON:API resource of type cardDetailInstructions with the following attributes:

Name Description
cardAlias
string
required

Card alias used instead of the card number to retrieve data.

cardDetailType
string
required

The attribute needed to be retrieved. Can be one of

  • EXPIRY_DATE
  • CARD_NUMBER
  • CVV

Response

Retrieve Card Number : HTTP 201 (Created)

Retrieve Card CVV : HTTP 201 (Created)

Retrieve Card Expiry Date : HTTP 201 (Created)

Response body will contain the created JSON:API resource of type cardDetailInstructions .

Create an additional card service

This will create an additional card for an existing cardholder. The request requires an existing cardholder service contract and the card service definition for the card service to be added.

Request

POST https://wsmdemo.rs2.com/wsm/jsonapi/cards

Request Headers

AuthorizationBearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Acceptapplication/vnd.api+json
Content-Typeapplication/vnd.api+json
Crnk-Compacttrue

Request Body

A JSON:API resource of type cards with the following attributes:

Name Description
cardStatus
string (3)

Indicates the current card status.

(For example: 000 (Inactive), 001 (Active), 004 (Permanent Block).

Refer to API Data Mapping documentation for possible values.

plasticType
string (3)

Identifies the type of plastic to be generated by the embosser. In the case of virtual card only, plastic type of 500 needs to be provided.

Refer to API Data Mapping documentation for possible values.

serviceId
string (3)

Indicates the card Service ID the card is based on.

This MAY be passed instead of the cardServiceDefinitions relationship in case the Service ID value is known.

Refer to API Data Mapping documentation for possible values.

Relationships
cardServiceDefinitions

An optional relationship to the card service definition resource. Mandatory If a value is not passed in serviceId.

contracts
required

Related client contract for this card. Effective date needs to be taken into consideration as the relationship gives access to past, current and future effective data.

Response

Create an additional card service : HTTP 201 (Created)

Create an additional card service - short card alias : HTTP 201 (Created)

Response body will contain the created JSON:API resource of type cards .

Cards and Security Parameters

This section will serve as a guide on the use cases related to client cards. It involves retrieval of client cards, card service definitions, and card security parameters resources (please see individual use cases on Card Accumulator, Card Accumulator Definitions, and Velocity Parameters).

Card Accumulator

This section consists of use cases related to retrieving, adding, updating, and deleting Card Accumulator records. Please refer to individual use case for more information.

Get All Card Accumulators

This will retrieve all card accumulator records. Card, and card accumulator definitions are included in this request to check the related records.

Request

GET https://wsmdemo.rs2.com/wsm/jsonapi/cardAccumulators

Request Headers

AuthorizationBearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Content-Typeapplication/vnd.api+json
Acceptapplication/vnd.api+json
Crnk-Compacttrue

Response

Response body will contain the requested JSON:API resource of type cardAccumulators .

Get Card Accumulator of a Card

This request will retrieve only one record using the resource ID provided in the URL request.

Request

GET https://wsmdemo.rs2.com/wsm/jsonapi/cards/cardAlias=0000000007200000067848101/cardAccumulators

Request Headers

AuthorizationBearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Content-Typeapplication/vnd.api+json
Acceptapplication/vnd.api+json
Crnk-Compacttrue

Response

HTTP 200 (OK)

Response body will contain the requested JSON:API resource of type cardAccumulators .

Add Card Accumulator

This request will create a card accumulator threshold provided the card accumulator definition is passed via relationships.

Request

POST https://wsmdemo.rs2.com/wsm/jsonapi/cardAccumulators

Request Headers

AuthorizationBearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Content-Typeapplication/vnd.api+json
Acceptapplication/vnd.api+json
Crnk-Compacttrue

Request Body

A JSON:API resource of type cardAccumulators with the following attributes:

Name Description
accumulatorCurrency
string (3)

Currency reference for card accumulator checks.BWT_CURRENCY, Taken from cardAccumulatorDefinitions passed during POST.

effectiveDate
date

The date in ISO 8601 format when the card accumulator record becomes effective for the client. The value can be future dated and cannot be less than the posting date. If not provided, this will be defaulted to posting date.

expiryDate
date

The card accumulator expiry date in ISO 8601 format. This is defaulted to 9999-12-31 if not provided.

dailyLimit
object

Daily limit attributes.

Name Description
amount
object

Limit amount within 24-hour period.

frequency
number

Total number of authorisations allowed for this velocity within 24-hour period.

maximum: 99999999

windowLimit
object

Window limit attributes.

Name Description
amount
object

Limit amount within the window timeframe.

frequency
number

Total number of authorisations allowed for this velocity within the window timeframe.

maximum: 99999999

numberOfDays
number

The number of days that make up the window range the velocity parameters apply for.

maximum: 999

usage
object

Card accumulator usage information

Name Description
dailyFrequency
number

The calculated total number of authorisations occurred for the card within 24-hour period.

dailyAmount
object

Current day usage amount.

windowAmount
object

The usage amount for this timeframe.

windowFrequency
number

The calculated total number of authorisations occurred within the specified time window.

lastAmendmentDate
date

Date in ISO 8601 format when the accumulator record was last modified.

minTransactionLimit
object

The minimum amount allowed for a single transaction. Note that all limit and usage amount currencies MUST match. Maximum allowed length for the value attribute (including decimal point) is 18.

Name Description
value
decimal

The quantative decimal monetary amount (eg. 1.1)

currency
string

The ISO 4217 currency code (eg. 'EUR')

maxTransactionLimit
object

The maximum amount allowed for a single transaction. Note that all limit and usage amount currencies MUST match. Maximum allowed length for the value attribute (including decimal point) is 18.

Name Description
value
decimal

The quantative decimal monetary amount (eg. 1.1)

currency
string

The ISO 4217 currency code (eg. 'EUR')

recordDate
date

Creation date of the card accumulator record.

Relationships
card

The card affected by the accumulator rule.

cardAccumulatorDefinitions
required

The accumulator definition or business rule on which this accumulator record is based.

Response

HTTP 201 (Created)

Response body will contain the created JSON:API resource of type cardAccumulators .

Modify Card Accumulator

Only future effective records are allowed to be modified. Please check effectiveDate attribute passed in URL request as part of the resource ID.

Request

PATCH https://wsmdemo.rs2.com/wsm/jsonapi/cardAccumulators/{{cardAccumulatorId}}

Request Headers

AuthorizationBearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Content-Typeapplication/vnd.api+json
Acceptapplication/vnd.api+json
Crnk-Compacttrue

Request Body

A JSON:API resource of type cardAccumulators with the following attributes:

Name Description
accumulatorCurrency
string (3)

Currency reference for card accumulator checks.BWT_CURRENCY, Taken from cardAccumulatorDefinitions passed during POST.

effectiveDate
date

The date in ISO 8601 format when the card accumulator record becomes effective for the client. The value can be future dated and cannot be less than the posting date. If not provided, this will be defaulted to posting date.

expiryDate
date

The card accumulator expiry date in ISO 8601 format. This is defaulted to 9999-12-31 if not provided.

dailyLimit
object

Daily limit attributes.

Name Description
amount
object

Limit amount within 24-hour period.

frequency
number

Total number of authorisations allowed for this velocity within 24-hour period.

maximum: 99999999

windowLimit
object

Window limit attributes.

Name Description
amount
object

Limit amount within the window timeframe.

frequency
number

Total number of authorisations allowed for this velocity within the window timeframe.

maximum: 99999999

numberOfDays
number

The number of days that make up the window range the velocity parameters apply for.

maximum: 999

usage
object

Card accumulator usage information

Name Description
dailyFrequency
number

The calculated total number of authorisations occurred for the card within 24-hour period.

dailyAmount
object

Current day usage amount.

windowAmount
object

The usage amount for this timeframe.

windowFrequency
number

The calculated total number of authorisations occurred within the specified time window.

lastAmendmentDate
date

Date in ISO 8601 format when the accumulator record was last modified.

minTransactionLimit
object

The minimum amount allowed for a single transaction. Note that all limit and usage amount currencies MUST match. Maximum allowed length for the value attribute (including decimal point) is 18.

Name Description
value
decimal

The quantative decimal monetary amount (eg. 1.1)

currency
string

The ISO 4217 currency code (eg. 'EUR')

maxTransactionLimit
object

The maximum amount allowed for a single transaction. Note that all limit and usage amount currencies MUST match. Maximum allowed length for the value attribute (including decimal point) is 18.

Name Description
value
decimal

The quantative decimal monetary amount (eg. 1.1)

currency
string

The ISO 4217 currency code (eg. 'EUR')

recordDate
date

Creation date of the card accumulator record.

Relationships
card

The card affected by the accumulator rule.

cardAccumulatorDefinitions

The accumulator definition or business rule on which this accumulator record is based.

Response

HTTP 200 (OK)

Response body will contain the updated JSON:API resource of type cardAccumulators .

Delete Card Accumulator

Only future effective records can be deleted. Please check effectiveDate attribute from resource ID combination.

Request

DELETE https://wsmdemo.rs2.com/wsm/jsonapi/cardAccumulators/{{cardAccumulatorId}}

Request Headers

AuthorizationBearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Content-Typeapplication/vnd.api+json
Acceptapplication/vnd.api+json
Crnk-Compacttrue

Response

Response body will contain the deleted JSON:API resource of type cardAccumulators .

Card Accumulator Definitions

This section consists of use cases related to retrieving, adding, updating, and deleting Card Accumulator Definitions records. Please refer to individual use case for more information.

Get All Card Accumulator Definitions

This will retrieve all card accumulator definition records.

Request

GET https://wsmdemo.rs2.com/wsm/jsonapi/cardAccumulatorDefinitions

Request Headers

AuthorizationBearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Content-Typeapplication/vnd.api+json
Acceptapplication/vnd.api+json
Crnk-Compacttrue

Request Parameters

include cardAccumulators,cardServiceDefinitions

Response

HTTP 200 (OK)

Response body will contain the requested JSON:API resource of type cardAccumulatorDefinitions with cardAccumulators,cardServiceDefinitionsas included resources.

Get One Card Accumulator Definition

This will retrieve one card accumulation definition record provided via resource ID from the URL. Relationships to card accumulators, card service definitions, velocity parameters, and contract definitions were also included.

Request

GET https://wsmdemo.rs2.com/wsm/jsonapi/cardAccumulatorDefinitions/{{cardAccumulatorDefinitionId}}?include=cardAccumulators,cardServiceDefinitions,velocityParameters,contractDefinition

Request Headers

AuthorizationBearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Content-Typeapplication/vnd.api+json
Acceptapplication/vnd.api+json
Crnk-Compacttrue

Request Parameters

include cardAccumulators,cardServiceDefinitions,velocityParameters,contractDefinition

Response

HTTP 200 (OK)

Response body will contain the requested JSON:API resource of type cardAccumulatorDefinitions with cardAccumulators,cardServiceDefinitions,velocityParameters,contractDefinitionas included resources.

Add Card Accumulator Definitions

This will create a card accumulator definition to be used as a blueprint to create card accumulator for the cardholder. Required attributes and relationships must be provided.

Request

POST https://wsmdemo.rs2.com/wsm/jsonapi/cardAccumulatorDefinitions

Request Headers

AuthorizationBearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Content-Typeapplication/vnd.api+json
Acceptapplication/vnd.api+json
Crnk-Compacttrue

Request Body

A JSON:API resource of type cardAccumulatorDefinitions with the following attributes:

Name Description
parameterType
string (3)

Parameter type for this definition.

Example: 001 (eComm + MoTo), 003 (ATM), 005 (Ctls-woPIN).

Refer to API Data Mapping documentation for possible values.

clientTariff
string (3)

The tariff assigned for the specific card type.

Refer to API Data Mapping documentation for possible values.

transactionType
string (3)

The transaction type for card limits and usages.

Example: 005 (Purchase), 006 (Refund (Credit)), 009 (ATM cash Withdrawal)

Refer to API Data Mapping documentation for possible values.

effectiveDate
date

The date in ISO 8601 format when the card accumulator definition record becomes effective for the client. The value can be future dated and cannot be less than the posting date. If not provided, this will be defaulted to posting date.

dailyLimit
object
required

Daily limit attributes.

Name Description
amount
object

Limit amount within 24-hour period.

frequency
number

Total number of authorisations allowed for this velocity within 24-hour period.

maximum: 99999999

windowLimit
object
required

Window limit attributes.

Name Description
amount
object

Limit amount within the window timeframe.

frequency
number

Total number of authorisations allowed for this velocity within the window timeframe.

maximum: 99999999

numberOfDays
number

The number of days that make up the window range the velocity parameters apply for.

maximum: 999

minTransactionLimit
object
required

The minimum amount allowed for a single transaction. Note that all limit and usage amount currencies MUST match. Maximum allowed length for the value attribute (including decimal point) is 18.

Name Description
value
decimal

The quantative decimal monetary amount (eg. 1.1)

currency
string

The ISO 4217 currency code (eg. 'EUR')

maxTransactionLimit
object
required

The maximum amount allowed for a single transaction. Note that all limit and usage amount currencies MUST match. Maximum allowed length for the value attribute (including decimal point) is 18.

Name Description
value
decimal

The quantative decimal monetary amount (eg. 1.1)

currency
string

The ISO 4217 currency code (eg. 'EUR')

maxPinTries
number
required

The maximum limit allowed for PIN entry.

processInstruction
string (3)

Can be (003) Express or (100) Standard Application. Defaulted to standard if not provided.

Refer to API Data Mapping documentation for possible values.

recordDate
date

The date in ISO 8601 format when the card accumulator definition record was created.

Relationships
cardAccumulators

The accumulator record for a specific card to which this definition is linked to. Effective date needs to be taken into consideration as the relationship gives access to past, current and future effective data.

cardServiceDefinitions
required

Card service definition related to this card parameter definition. Effective date needs to be taken into consideration as the relationship gives access to past, current and future effective data.

contractDefinition

The service contract under which the card accumulator rule is grouped.

velocityParameters

Related velocity parameters for which this setup is created.

Response

HTTP 201 (Created)

Response body will contain the created JSON:API resource of type cardAccumulatorDefinitions .

Modify Card Accumulator Definition

Modification is only allowed for future effective records. Effective date can be found in resource ID combination passed in the URL for checking.

Request

PATCH https://wsmdemo.rs2.com/wsm/jsonapi/cardAccumulatorDefinitions/{{cardAccumulatorDefinitionId}}

Request Headers

AuthorizationBearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Content-Typeapplication/vnd.api+json
Acceptapplication/vnd.api+json
Crnk-Compacttrue

Request Body

A JSON:API resource of type cardAccumulatorDefinitions with the following attributes:

Name Description
parameterType
string (3)

Parameter type for this definition.

Example: 001 (eComm + MoTo), 003 (ATM), 005 (Ctls-woPIN).

Refer to API Data Mapping documentation for possible values.

clientTariff
string (3)

The tariff assigned for the specific card type.

Refer to API Data Mapping documentation for possible values.

transactionType
string (3)

The transaction type for card limits and usages.

Example: 005 (Purchase), 006 (Refund (Credit)), 009 (ATM cash Withdrawal)

Refer to API Data Mapping documentation for possible values.

effectiveDate
date

The date in ISO 8601 format when the card accumulator definition record becomes effective for the client. The value can be future dated and cannot be less than the posting date. If not provided, this will be defaulted to posting date.

dailyLimit
object

Daily limit attributes.

Name Description
amount
object

Limit amount within 24-hour period.

frequency
number

Total number of authorisations allowed for this velocity within 24-hour period.

maximum: 99999999

windowLimit
object

Window limit attributes.

Name Description
amount
object

Limit amount within the window timeframe.

frequency
number

Total number of authorisations allowed for this velocity within the window timeframe.

maximum: 99999999

numberOfDays
number

The number of days that make up the window range the velocity parameters apply for.

maximum: 999

minTransactionLimit
object

The minimum amount allowed for a single transaction. Note that all limit and usage amount currencies MUST match. Maximum allowed length for the value attribute (including decimal point) is 18.

Name Description
value
decimal

The quantative decimal monetary amount (eg. 1.1)

currency
string

The ISO 4217 currency code (eg. 'EUR')

maxTransactionLimit
object

The maximum amount allowed for a single transaction. Note that all limit and usage amount currencies MUST match. Maximum allowed length for the value attribute (including decimal point) is 18.

Name Description
value
decimal

The quantative decimal monetary amount (eg. 1.1)

currency
string

The ISO 4217 currency code (eg. 'EUR')

maxPinTries
number

The maximum limit allowed for PIN entry.

processInstruction
string (3)

Can be (003) Express or (100) Standard Application. Defaulted to standard if not provided.

Refer to API Data Mapping documentation for possible values.

recordDate
date

The date in ISO 8601 format when the card accumulator definition record was created.

Relationships
cardAccumulators

The accumulator record for a specific card to which this definition is linked to. Effective date needs to be taken into consideration as the relationship gives access to past, current and future effective data.

cardServiceDefinitions

Card service definition related to this card parameter definition. Effective date needs to be taken into consideration as the relationship gives access to past, current and future effective data.

contractDefinition

The service contract under which the card accumulator rule is grouped.

velocityParameters

Related velocity parameters for which this setup is created.

Response

HTTP 200 (OK)

Response body will contain the updated JSON:API resource of type cardAccumulatorDefinitions .

Delete Card Accumulator Definitions

Deletion is not allowed for future effective records. Effective date can be checked from the resource ID combination provided in the URL request.

Request

DELETE https://wsmdemo.rs2.com/wsm/jsonapi/cardAccumulatorDefinitions/{{cardAccumulatorDefinitionId}}

Request Headers

AuthorizationBearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Content-Typeapplication/vnd.api+json
Acceptapplication/vnd.api+json
Crnk-Compacttrue

Response

HTTP 201 (Created)

Response body will contain the deleted JSON:API resource of type cardAccumulatorDefinitions .

Card Service Definitions

This section consists of use cases related to retrieving, adding, updating, and deleting Card Service Definitions records. Please refer to individual use case for more information.

Get Multiple Card Service Definitions

Retrieve multiple card service definitions via filtered attributes.

Request

GET https://wsmdemo.rs2.com/wsm/jsonapi/cardServiceDefinitions?sort=-effectiveDate&filter[serviceContractId]=050&filter[serviceId]=009&include=cards,cardAccumulatorDefinitions

Request Headers

AuthorizationBearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Content-Typeapplication/vnd.api+json
Acceptapplication/vnd.api+json
Crnk-Compacttrue

Request Parameters

sort -effectiveDate
filter[serviceContractId] 050
filter[serviceId] 009
include cards,cardAccumulatorDefinitions

Response

HTTP 200 (OK)

Response body will contain the requested JSON:API resource of type cardServiceDefinitions with cards,cardAccumulatorDefinitionsas included resources.

Get One Card Service Definition

Retrieve one card service definition via resource id combination provided in the sample URL.

Request

GET https://wsmdemo.rs2.com/wsm/jsonapi/cardServiceDefinitions/serviceId=009&serviceContractId=003&cardBrand=068&cardOrganization=003&serviceType=001&effectiveDate=2020-07-01?include=cards,cardAccumulatorDefinitions,contractDefinition,velocityParameters

Request Headers

AuthorizationBearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Content-Typeapplication/vnd.api+json
Acceptapplication/vnd.api+json
Crnk-Compacttrue

Request Parameters

sort -effectiveDate
filter[serviceContractId] 050
filter[serviceId] 009
include cards,cardAccumulatorDefinitions,contractDefinition,velocityParameters

Response

HTTP 200 (OK)

Response body will contain the requested JSON:API resource of type cardServiceDefinitions with cards,cardAccumulatorDefinitions,contractDefinition,velocityParametersas included resources.

Velocity Parameters

This section consists of use cases related to retrieving, adding, updating, and deleting Velocity Parameters records. Please refer to individual use case for more information.

Get All Velocity Parameters

This request will retrieve all velocity parameters.

Request

GET https://wsmdemo.rs2.com/wsm/jsonapi/velocityParameters?include=cardServiceDefinitions,contractDefinition&sort=-effectiveDate

Request Headers

AuthorizationBearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Content-Typeapplication/vnd.api+json
Acceptapplication/vnd.api+json
Crnk-Compacttrue

Request Parameters

include cardServiceDefinitions,contractDefinition
sort -effectiveDate

Response

HTTP 200 (OK)

Response body will contain the requested JSON:API resource of type velocityParameters with cardServiceDefinitions,contractDefinitionas included resources.

Add Velocity Parameter

This request will create a velocity parameter provided the required attributes and relationship is passed.

Request

POST https://wsmdemo.rs2.com/wsm/jsonapi/velocityParameters

Request Headers

AuthorizationBearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Content-Typeapplication/vnd.api+json
Acceptapplication/vnd.api+json
Crnk-Compacttrue

Request Body

A JSON:API resource of type velocityParameters with the following attributes:

Name Description
velocityLevel
string (3)

Identifies the velocity profile level for the velocity rule.

Refer to API Data Mapping documentation for possible values.

countryGroup
string (3)

Identifies the country group ID of countries where card activity is blocked by the velocity parameter.

Refer to API Data Mapping documentation for possible values.

mccGroup
string (3)

Identifies the merchant category group blocked by the velocity parameter.

Refer to API Data Mapping documentation for possible values.

effectiveDate
date

The date in ISO 8601 format on which the velocity parameter becomes effective. If left empty, the current system date is assumed.

expiryDate
date

The date in ISO 8601 format on which the velocity parameter is no longer effective. If left empty, the date 9999-12-31 is assumed.

transactionType
string (3)

The transaction type to which the velocity parameter applies, eg. Purchase transaction. Transaction type may be set to ‘All’ in order to apply the accumulator rule to all transaction types available.

Refer to API Data Mapping documentation for possible values.

dailyLimit
object
required

Daily limit attributes.

Name Description
amount
object

Limit amount within 24-hour period.

frequency
number

Total number of authorisations allowed for this velocity within 24-hour period.

maximum: 99999999

windowLimit
object
required

Window limit attributes.

Name Description
amount
object

Limit amount within the window timeframe.

frequency
number

Total number of authorisations allowed for this velocity within the window timeframe.

maximum: 99999999

numberOfDays
number

The number of days that make up the window range the velocity parameters apply for.

maximum: 999

maxTransactionLimit
object
required

The maximum amount allowed for a single transaction. Note that all limit and usage amount currencies MUST match. Maximum allowed length for the value attribute (including decimal point) is 18.

Name Description
value
decimal

The quantative decimal monetary amount (eg. 1.1)

currency
string

The ISO 4217 currency code (eg. 'EUR')

minTransactionLimit
object
required

The minimum amount allowed for a single transaction. Note that all limit and usage amount currencies MUST match. Maximum allowed length for the value attribute (including decimal point) is 18.

Name Description
value
decimal

The quantative decimal monetary amount (eg. 1.1)

currency
string

The ISO 4217 currency code (eg. 'EUR')

maxTransLimitNotPresent
object
required

The maximum amount allowed for a single transaction. Note that all limit and usage amount currencies MUST match. Maximum allowed length for the value attribute (including decimal point) is 18.

Name Description
value
decimal

The quantative decimal monetary amount (eg. 1.1)

currency
string

The ISO 4217 currency code (eg. 'EUR')

areaOfEvent
string (3)

Refer to API Data Mapping documentation for possible values.

negativeResponse
string
required

Response code that will be retuned by the CommServer if the authorisation is declined.

recordDateTime
date-time

Date when the accumulator check will be expired. Default to 31-12-9999 unless provided.

Relationships
cardServiceDefinitions
required

Card service definitions related to this velocity parameters. Effective date needs to be taken into consideration as the relationship gives access to past, current and future effective data.

contractDefinition

The contract definition linked to this velocity parameter.

Response

HTTP 201 (Created)

Response body will contain the created JSON:API resource of type velocityParameters .

Modify Velocity Parameter

Only future effective records is allowed to be modified. Effective date can be checked by retrieving the resource via GET request or can be found in the resource id combination as well.

Request

PATCH https://wsmdemo.rs2.com/wsm/jsonapi/velocityParameters/{{velocityParameterId}}

Request Headers

AuthorizationBearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Content-Typeapplication/vnd.api+json
Acceptapplication/vnd.api+json
Crnk-Compacttrue

Request Body

A JSON:API resource of type velocityParameters with the following attributes:

Name Description
velocityLevel
string (3)

Identifies the velocity profile level for the velocity rule.

Refer to API Data Mapping documentation for possible values.

countryGroup
string (3)

Identifies the country group ID of countries where card activity is blocked by the velocity parameter.

Refer to API Data Mapping documentation for possible values.

mccGroup
string (3)

Identifies the merchant category group blocked by the velocity parameter.

Refer to API Data Mapping documentation for possible values.

effectiveDate
date

The date in ISO 8601 format on which the velocity parameter becomes effective. If left empty, the current system date is assumed.

expiryDate
date

The date in ISO 8601 format on which the velocity parameter is no longer effective. If left empty, the date 9999-12-31 is assumed.

transactionType
string (3)

The transaction type to which the velocity parameter applies, eg. Purchase transaction. Transaction type may be set to ‘All’ in order to apply the accumulator rule to all transaction types available.

Refer to API Data Mapping documentation for possible values.

dailyLimit
object

Daily limit attributes.

Name Description
amount
object

Limit amount within 24-hour period.

frequency
number

Total number of authorisations allowed for this velocity within 24-hour period.

maximum: 99999999

windowLimit
object

Window limit attributes.

Name Description
amount
object

Limit amount within the window timeframe.

frequency
number

Total number of authorisations allowed for this velocity within the window timeframe.

maximum: 99999999

numberOfDays
number

The number of days that make up the window range the velocity parameters apply for.

maximum: 999

maxTransactionLimit
object

The maximum amount allowed for a single transaction. Note that all limit and usage amount currencies MUST match. Maximum allowed length for the value attribute (including decimal point) is 18.

Name Description
value
decimal

The quantative decimal monetary amount (eg. 1.1)

currency
string

The ISO 4217 currency code (eg. 'EUR')

minTransactionLimit
object

The minimum amount allowed for a single transaction. Note that all limit and usage amount currencies MUST match. Maximum allowed length for the value attribute (including decimal point) is 18.

Name Description
value
decimal

The quantative decimal monetary amount (eg. 1.1)

currency
string

The ISO 4217 currency code (eg. 'EUR')

maxTransLimitNotPresent
object

The maximum amount allowed for a single transaction. Note that all limit and usage amount currencies MUST match. Maximum allowed length for the value attribute (including decimal point) is 18.

Name Description
value
decimal

The quantative decimal monetary amount (eg. 1.1)

currency
string

The ISO 4217 currency code (eg. 'EUR')

areaOfEvent
string (3)

Refer to API Data Mapping documentation for possible values.

negativeResponse
string

Response code that will be retuned by the CommServer if the authorisation is declined.

recordDateTime
date-time

Date when the accumulator check will be expired. Default to 31-12-9999 unless provided.

Relationships
cardServiceDefinitions

Card service definitions related to this velocity parameters. Effective date needs to be taken into consideration as the relationship gives access to past, current and future effective data.

contractDefinition

The contract definition linked to this velocity parameter.

Response

HTTP 200 (OK)

Response body will contain the updated JSON:API resource of type velocityParameters .

Delete Velocity Parameter

This will delete one record via resource ID provided. Only future effective records can be deleted.

Request

DELETE https://wsmdemo.rs2.com/wsm/jsonapi/velocityParameters/{{velocityParameterId}}

Request Headers

AuthorizationBearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Content-Typeapplication/vnd.api+json
Acceptapplication/vnd.api+json
Crnk-Compacttrue

Response

Response body will contain the deleted JSON:API resource of type velocityParameters .

Card POI Settings

The section provides use cases for controlling the card’s point of interaction settings. These settings are intended to provide cardholder controls on their cards. An example of a card setting is the disabling of eCommerce transactions on a card.

Retrieve Card POI Setting

This request will retrieve the card resource including its POI setting (if present). If there is no POI setting returned, then it must be initialized via POST request on /cardPoiSettings.

Request

GET https://wsmdemo.rs2.com/wsm/jsonapi/cards/cardAlias=0000015197400153966401601/poiSetting

Request Headers

AuthorizationBearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Content-Typeapplication/vnd.api+json
Acceptapplication/vnd.api+json
Crnk-Compacttrue

Response

HTTP 200 (OK)

Response body will contain the requested JSON:API resource of type cardPoiSettings .

Retrieve Client Card via Service ID with POI setting

This request will retrieve the card resource ID including its POI setting (if present). If there is no POI setting returned, then it must be initialized via POST request on /cardPoiSettings.

Request

GET https://wsmdemo.rs2.com/wsm/jsonapi/cardholders/clientNumber=00151974/cards?filter[cardServiceDefinitions.serviceId]=850&fields=id&include=poiSetting

Request Headers

AuthorizationBearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Acceptapplication/vnd.api+json
Content-Typeapplication/vnd.api+json
Crnk-Compacttrue

Request Parameters

filter[cardServiceDefinitions.serviceId] 850
fields id
include poiSetting

Response

HTTP 200 (OK)

Response body will contain the requested JSON:API resource of type cardPoiSettings with poiSettingas included resources.

Initiate Card POI setting

This request will initialize e-Commerce setting for the given card resource ID and should only be requested once per card in case there is no POI setting present. A setting (e.g. disableEcommerce) is optional and system it will default it to 000 (enabled) upon initialization.

For succeeding requests to enable/disable POI setting i.e. eCommerce, PATCH request on /cardPoiSettings should be used.

Card resource ID can be retrieved via the first GET request call of this section.

Request

POST https://wsmdemo.rs2.com/wsm/jsonapi/cardPoiSettings

Request Headers

AuthorizationBearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Acceptapplication/vnd.api+json
Content-Typeapplication/vnd.api+json
Crnk-Compacttrue

Request Body

A JSON:API resource of type cardPoiSettings with the following attributes:

Name Description
disableEcommerce
string (3)

A flag indicating if card’s eCommerce transactions are blocked.

Valid values:

  • 000 - No (eCommerce Enabled)

  • 001 - Yes (eCommerce Disabled)

disableContactless
string (3)

A flag indicating if card’s contactless transactions are blocked.

Valid values:

  • 000 - No (Contactless Enabled)

  • 001 - Yes (Contactless Disabled)

disableSwipe
string (3)

A flag indicating if card’s swipe transactions are blocked.

Valid values:

  • 000 - No (Swipe Card Enabled)

  • 001 - Yes (Swipe Card Disabled)

disableAtm
string (3)

A flag indicating if ATM withdrawals are blocked.

Valid values:

  • 000 - No (ATM Enabled)

  • 001 - Yes (ATM Disabled)

suspendCardActivities
string (3)

A flag indicating if all card’s activities are blocked.

Valid values:

  • 000 - No (Allow Card Activities)

  • 001 - Yes (Suspend Card Activities)

allowedCountries
List (800)

An array of countries provided in the ISO 3-letter format (ex: [“USA”,“MLT”,“ITA”]).

If null or 999 value, all countries available will be allowed.

If 000, all countries are blocked, meaning all transactions will be declined.

The list of countries provided must be valid values.

Please note: This feature does not override any existing Issuer Institution limitations such as velocity parameters.

allowedMccGroups
List (800)

An array of MCC groups provided in the BW index field format (ex: [“002”,“005”,“006”]).

If null or 999 value, all available MCC groups will be allowed (see /mccGroupRangeDefinitions, the values provided must map with the isoBussClassGroup setup available, refer to Retrieve MCC Group Ranges use case).

If 000, all MCC groups are blocked, meaning all transactions will be declined.

The list of mcc group provided must be valid values.

Please note: This feature does not override any existing Issuer Institution MCC restrictions.

Relationships
card
required

The card resource for which this POI setting will be applied to.

Response

Initiate Card POI setting - Successful : HTTP 201 (Created)

Initiate Card POI setting - Failure : HTTP 400 (Bad Request)

Response body will contain the created JSON:API resource of type cardPoiSettings .

Update Card POI Settings

This request will modify the POI setting e.g. enable/disable e-Commerce of a specified card via given card resource ID.

Card resource ID can be retrieved via the first GET request call of this section.

One or more flags must be submitted when sending a PATCH request.

Request

PATCH https://wsmdemo.rs2.com/wsm/jsonapi/cardPoiSettings/cardAlias=0000015197400153966401601

Request Headers

AuthorizationBearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Acceptapplication/vnd.api+json
Content-Typeapplication/vnd.api+json
Crnk-compacttrue

Request Body

A JSON:API resource of type cardPoiSettings with the following attributes:

Name Description
disableEcommerce
string (3)

A flag indicating if card’s eCommerce transactions are blocked.

Valid values:

  • 000 - No (eCommerce Enabled)

  • 001 - Yes (eCommerce Disabled)

disableContactless
string (3)

A flag indicating if card’s contactless transactions are blocked.

Valid values:

  • 000 - No (Contactless Enabled)

  • 001 - Yes (Contactless Disabled)

disableSwipe
string (3)

A flag indicating if card’s swipe transactions are blocked.

Valid values:

  • 000 - No (Swipe Card Enabled)

  • 001 - Yes (Swipe Card Disabled)

disableAtm
string (3)

A flag indicating if ATM withdrawals are blocked.

Valid values:

  • 000 - No (ATM Enabled)

  • 001 - Yes (ATM Disabled)

suspendCardActivities
string (3)

A flag indicating if all card’s activities are blocked.

Valid values:

  • 000 - No (Allow Card Activities)

  • 001 - Yes (Suspend Card Activities)

allowedCountries
List (800)

An array of countries provided in the ISO 3-letter format (ex: [“USA”,“MLT”,“ITA”]).

If null or 999 value, all countries available will be allowed.

If 000, all countries are blocked, meaning all transactions will be declined.

The list of countries provided must be valid values.

Please note: This feature does not override any existing Issuer Institution limitations such as velocity parameters.

allowedMccGroups
List (800)

An array of MCC groups provided in the BW index field format (ex: [“002”,“005”,“006”]).

If null or 999 value, all available MCC groups will be allowed (see /mccGroupRangeDefinitions, the values provided must map with the isoBussClassGroup setup available, refer to Retrieve MCC Group Ranges use case).

If 000, all MCC groups are blocked, meaning all transactions will be declined.

The list of mcc group provided must be valid values.

Please note: This feature does not override any existing Issuer Institution MCC restrictions.

Relationships

Response

Update Card POI Settings - Successful : HTTP 200 (OK)

Update Card POI Settings - Failure : HTTP 400 (Bad Request)

Response body will contain the updated JSON:API resource of type cardPoiSettings .

MCC Group Ranges Definitions

Retrieve MCC Group Ranges

This request will retrieve the available MCC group ranges used by the online switch during the authorization process.

Request

GET https://wsmdemo.rs2.com/wsm/jsonapi/mccGroupRangeDefinitions

Request Headers

AuthorizationBearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Content-Typeapplication/vnd.api+json
Acceptapplication/vnd.api+json
Crnk-Compacttrue

Response

HTTP 200 (OK)

Response body will contain the requested JSON:API resource of type cardPoiSettings .

This request will retrieve one card record including the related card service definitions, card accumulators.

Request

GET https://wsmdemo.rs2.com/wsm/jsonapi/cards/cardAlias=0009014547700110265870401?include=cardServiceDefinitions,cardAccumulators

Request Headers

AuthorizationBearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Content-Typeapplication/vnd.api+json
Acceptapplication/vnd.api+json
Crnk-Compacttrue

Request Parameters

include cardServiceDefinitions,cardAccumulators

Response

HTTP 200 (OK)

Response body will contain the requested JSON:API resource of type cards with cardServiceDefinitions,cardAccumulatorsas included resources.

Cardholder Client Details

This collection contains sample use cases on cardholder details maintenance ie. updates on settlement information, addresses, and main details of the cardholder.

Settlement Information

Client settlement information would be required to settle accounts with the client. A client in BankWORKS may have up to 99 settlement packages defined.

Delete Settlement Package

Delete a client settlement information.

Request

DELETE https://wsmdemo.rs2.com/wsm/jsonapi/issSettlementPackages/{{settlementPackagesId}}

Request Headers

AuthorizationBearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Content-Typeapplication/vnd.api+json
Acceptapplication/vnd.api+json
Crnk-Compacttrue

Response

HTTP 204 (No Content)

Client Settlement Packages

Return the a particular client’s settlementPackages. This would apply to any client type that may have settlementPackages.

Request

GET https://wsmdemo.rs2.com/wsm/jsonapi/cardholders/{{settlementPackagesId}}/settlementPackages

Request Headers

AuthorizationBearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Content-Typeapplication/vnd.api+json
Acceptapplication/vnd.api+json
Crnk-Compacttrue

Response

HTTP 0 ()

Response body will contain the requested JSON:API resource of type issSettlementPackages .

Modify Settlement Package

This sample request can be used to modify settlement information of the client.

Request

PATCH https://wsmdemo.rs2.com/wsm/jsonapi/issSettlementPackages/{{settlementPackagesId}}

Request Headers

AuthorizationBearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Acceptapplication/vnd.api+json
Content-Typeapplication/vnd.api+json
Crnk-Compacttrue

Request Body

A JSON:API resource of type issSettlementPackages with the following attributes:

Name Description
accountCurrency
string (3)

The currency of the counter bank account in SWIFT currency code format. In cases where value consists of 3 digits:

  • 998 means not applicable
  • 999 means applicable to all currencies.

Refer to API Data Mapping documentation for possible values.

settlementCategory
string (3)

Settlement information category descriptor such as Payable or Receivable.

Refer to API Data Mapping documentation for possible values.

bankClearingNumber
string (8)

Information regarding the account’s bank details.

receiverCountryCode
string (3)

The country where the bank account information is located. In cases where value consists of 3 digits:

  • 000 means not applicable
  • 999 means applicable to all countries.

Refer to API Data Mapping documentation for possible values.

payableDetails
object
Name Description
bankContactName
string (35)

The counter bank contact name used for PAYABLES.

bankTelNumber
string (15)

The counter bank telephone number used for PAYABLES.

confirmationMethod
string (3)

The routing channel used for example Fax, mail, SWIFT etc.

Refer to API Data Mapping documentation for possible values.

counterBankAccount
string (35)

The counter RBS bank account number used to settle PAYABLES.

counterBankAccountName
string (35)

The counter bank account name used for PAYABLES.

counterBankCity
string (35)

The counter bank’s city used for PAYABLES.

counterBankName
string (40)

The counter bank name used for PAYABLES.

counterBankNumber
string (11)

The counter bank number where the counter bank account used for PAYABLES is domiciled.

counterClientNumber
string (8)

The RBS client number used for PAYABLES.

fundingNarrative
string (18)

Contains funding information applicable for PAYABLES.

ibanReference
string (35)

The counter bank account IBAN used for PAYABLES.

paymentReference
string (24)

The reference to be included in the outward payment transaction.

receivableDetails
object
Name Description
bankContactName
string (35)

The counter bank contact name used for RECEIVABLES.

bankTelNumber
string (15)

The counter bank telephone number used for RECEIVABLES.

counterBankAccount
string (35)

The counter RBS bank account number used to settle RECEIVABLES.

counterBankAccountName
string (35)

The counter bank account name used for RECEIVABLES.

counterBankCity
string (35)

The counter bank’s city used for RECEIVABLES.

counterBankName
string (40)

The counter bank name used for RECEIVABLES.

counterBankNumber
string (11)

The counter bank number where the counter bank account used for RECEIVABLES is domiciled.

fundingNarrative
string (18)

Contains funding information applicable for RECEIVABLES.

ibanReference
string (35)

The counter bank account IBAN used for RECEIVABLES.

contingencyLiabilityAccount
string (11)

The RBS account that is used in case the counter RBS bank account is not able to fullfil the RECEIVABLE obligation.

correspondingBankAccount
string (16)

The NOSTRA/VOSTRO bank account of the affiliate institution.

correspondingBankNumber
string (35)

The bank number of the affiliate institution where the counter bank Nostro/Vostro are domiciled.

Relationships
commercialClient

Commercial client who owns the settlement information.

Response

HTTP 200 (OK)

Response body will contain the updated JSON:API resource of type issSettlementPackages .

Create Settlement Package

Creating a new settlement package linked to an existing client. An individual client may have up to 99 different settlement packages defined. Only cardholders residing at billing point would require settlementPackages to be set up.

Request

POST https://wsmdemo.rs2.com/wsm/jsonapi/issSettlementPackages

Request Headers

AuthorizationBearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Acceptapplication/vnd.api+json
Content-Typeapplication/vnd.api+json
Crnk-Compacttrue

Request Body

A JSON:API resource of type issSettlementPackages with the following attributes:

Name Description
accountCurrency
string (3)
required

The currency of the counter bank account in SWIFT currency code format. In cases where value consists of 3 digits:

  • 998 means not applicable
  • 999 means applicable to all currencies.

Refer to API Data Mapping documentation for possible values.

settlementCategory
string (3)

Settlement information category descriptor such as Payable or Receivable.

Refer to API Data Mapping documentation for possible values.

bankClearingNumber
string (8)

Information regarding the account’s bank details.

receiverCountryCode
string (3)

The country where the bank account information is located. In cases where value consists of 3 digits:

  • 000 means not applicable
  • 999 means applicable to all countries.

Refer to API Data Mapping documentation for possible values.

payableDetails
object
Name Description
bankContactName
string (35)

The counter bank contact name used for PAYABLES.

bankTelNumber
string (15)

The counter bank telephone number used for PAYABLES.

confirmationMethod
string (3)

The routing channel used for example Fax, mail, SWIFT etc.

Refer to API Data Mapping documentation for possible values.

counterBankAccount
string (35)

The counter RBS bank account number used to settle PAYABLES.

counterBankAccountName
string (35)

The counter bank account name used for PAYABLES.

counterBankCity
string (35)

The counter bank’s city used for PAYABLES.

counterBankName
string (40)

The counter bank name used for PAYABLES.

counterBankNumber
string (11)

The counter bank number where the counter bank account used for PAYABLES is domiciled.

counterClientNumber
string (8)

The RBS client number used for PAYABLES.

fundingNarrative
string (18)

Contains funding information applicable for PAYABLES.

ibanReference
string (35)

The counter bank account IBAN used for PAYABLES.

paymentReference
string (24)

The reference to be included in the outward payment transaction.

receivableDetails
object
Name Description
bankContactName
string (35)

The counter bank contact name used for RECEIVABLES.

bankTelNumber
string (15)

The counter bank telephone number used for RECEIVABLES.

counterBankAccount
string (35)

The counter RBS bank account number used to settle RECEIVABLES.

counterBankAccountName
string (35)

The counter bank account name used for RECEIVABLES.

counterBankCity
string (35)

The counter bank’s city used for RECEIVABLES.

counterBankName
string (40)

The counter bank name used for RECEIVABLES.

counterBankNumber
string (11)

The counter bank number where the counter bank account used for RECEIVABLES is domiciled.

fundingNarrative
string (18)

Contains funding information applicable for RECEIVABLES.

ibanReference
string (35)

The counter bank account IBAN used for RECEIVABLES.

contingencyLiabilityAccount
string (11)

The RBS account that is used in case the counter RBS bank account is not able to fullfil the RECEIVABLE obligation.

correspondingBankAccount
string (16)

The NOSTRA/VOSTRO bank account of the affiliate institution.

correspondingBankNumber
string (35)

The bank number of the affiliate institution where the counter bank Nostro/Vostro are domiciled.

recordDate
date

The record creation date in ISO8601 format.

Relationships
cardholder

Cardholder who owns the settlement information.

commercialClient

Commercial client who owns the settlement information.

Response

HTTP 201 (Created)

Response body will contain the created JSON:API resource of type issSettlementPackages .

Addresses

1. Get cardholder addresses

This call will retrieve the cardholder addresses. A cardholder may have one effective address per category. The effective date needs to be considered to identify what address currently applies.

Request

GET https://wsmdemo.rs2.com/wsm/jsonapi/cardholders/client/addresses

Request Headers

AuthorizationBearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Acceptapplication/vnd.api+json
Content-Typeapplication/vnd.api+json

Response

HTTP 200 (OK)

Response body will contain the requested JSON:API resource of type cardholders .

2. Update cardholder address

Note that it is only possible to amend address records that are future effective. If you wish to amend a current effective address record, a new address resource must be created with the desired changes.

Request

PATCH https://wsmdemo.rs2.com/wsm/jsonapi/issAddresses/clientNumber=00000002&addressCategory=022&effectiveDate=2020-05-01

Request Headers

AuthorizationBearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Acceptapplication/vnd.api+json
Content-Typeapplication/vnd.api+json

Request Body

A JSON:API resource of type issAddresses with the following attributes:

Name Description
expiryDate
date

The date in ISO 8601 format when the address record is no longer taken into consideration. Can be used for temporary addresses. Date must be in the future.

addressLine1
string (35)

Address line typically used for building information but not limited to house name, number, floor, unit and block number.

addressLine2
string (35)

Address line typically used for street information such as street number and name.

addressLine3
string (35)

Extra address properties that might be required and are not catered for by the attributes available.

addressLine4
string (35)

Extra address properties that might be required and are not catered for by the attributes available.

addressLine5
string (35)

Extra address properties that might be required and are not catered for by the attributes available.

contactName
string (35)

Main contact name for the address.

city
string (35)

Client’s city.

state
string (3)

3 digit identifier for the client’s state/region.

Refer to API Data Mapping documentation for possible values.

country
string (3)

The ISO 3-letter country code. In cases where value consists of 3 digits, 000 means not applicable and 999 means applicable to all countries.

Refer to API Data Mapping documentation for possible values.

postCode
string (20)

Client’s postcode.

poBox
string (10)

P.O. Box details.

telephone1
string (15)

Primary address fixed line number, for example, a client’s home or business telephone number.

telephone2
string (15)

Secondary address fixed line number for example a secondary business telephone number.

faxWork
string (15)

Office fax number.

addressLanguage
string (3)

3-digit identifier for the client language associated with the address.

Refer to API Data Mapping documentation for possible values.

deliveryMethod
string (3)

3-digit value indicating the preferred delivery option for correspondence. Defaulted to not applicable (000) - Not applicable, if not provided.

Refer to API Data Mapping documentation for possible values.

emailAddress
string (60)

Client’s e-mail address.

Relationships
commercialClient

Relationship to the commercial client linked to the address.

Response

HTTP 200 (OK)

Response body will contain the updated JSON:API resource of type issAddresses .

2. Create cardholder address

Creation of a future effective address resource linked to cardholder.

Request

POST https://wsmdemo.rs2.com/wsm/jsonapi/issAddresses/

Request Headers

AuthorizationBearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Acceptapplication/vnd.api+json
Content-Typeapplication/vnd.api+json

Request Body

A JSON:API resource of type issAddresses with the following attributes:

Name Description
addressCategory
string (3)
required

The address category identifier for the returned client address resource are the following but not limited to:

  • 001 Standard
  • 006 Statement

A client must have at least one standard (001).

Refer to API Data Mapping documentation for possible values.

effectiveDate
date

The date in ISO 8601 format when the address becomes effective. The value can be future dated and cannot be less than the posting date. If not provided, the current posting date is automatically assumed.

expiryDate
date

The date in ISO 8601 format when the address record is no longer taken into consideration. Can be used for temporary addresses. Date must be in the future.

addressLine1
string (35)
required

Address line typically used for building information but not limited to house name, number, floor, unit and block number.

addressLine2
string (35)

Address line typically used for street information such as street number and name.

addressLine3
string (35)

Extra address properties that might be required and are not catered for by the attributes available.

addressLine4
string (35)

Extra address properties that might be required and are not catered for by the attributes available.

addressLine5
string (35)

Extra address properties that might be required and are not catered for by the attributes available.

contactName
string (35)

Main contact name for the address.

city
string (35)
required

Client’s city.

state
string (3)

3 digit identifier for the client’s state/region.

Refer to API Data Mapping documentation for possible values.

country
string (3)
required

The ISO 3-letter country code. In cases where value consists of 3 digits, 000 means not applicable and 999 means applicable to all countries.

Refer to API Data Mapping documentation for possible values.

postCode
string (20)
required

Client’s postcode.

poBox
string (10)

P.O. Box details.

telephone1
string (15)

Primary address fixed line number, for example, a client’s home or business telephone number.

telephone2
string (15)

Secondary address fixed line number for example a secondary business telephone number.

faxWork
string (15)

Office fax number.

addressLanguage
string (3)

3-digit identifier for the client language associated with the address.

Refer to API Data Mapping documentation for possible values.

deliveryMethod
string (3)

3-digit value indicating the preferred delivery option for correspondence. Defaulted to not applicable (000) - Not applicable, if not provided.

Refer to API Data Mapping documentation for possible values.

emailAddress
string (60)

Client’s e-mail address.

recordDate
date

The record creation date.

Relationships
cardholder

Relationship to the cardholder linked to the address.

commercialClient

Relationship to the commercial client linked to the address.

Response

HTTP 201 (Created)

Response body will contain the created JSON:API resource of type issAddresses .

3. Delete cardholder address

Deletion is only possible for future effective address resources.

Request

DELETE https://wsmdemo.rs2.com/wsm/jsonapi/issAddresses/clientNumber=00000002&addressCategory=022&effectiveDate=2020-05-01

Request Headers

AuthorizationBearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Acceptapplication/vnd.api+json
Content-Typeapplication/vnd.api+json

Response

Response body will contain the deleted JSON:API resource of type issAddresses .

Get Cardholder (by Card Alias)

Request example to return a cardholder identified through a card owned by the cardholder using the cardAlias value.

Request

GET https://wsmdemo.rs2.com/wsm/jsonapi/cards/cardAlias={{cardAlias}}/cardholder

Request Headers

AuthorizationBearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Acceptapplication/vnd.api+json
Content-Typeapplication/vnd.api+json

Response

HTTP 200 (OK)

Response body will contain the requested JSON:API resource of type cards .

Get Cardholder (by id Number)

An example request that will return the cardholder related information based on the National Identity Card details. It is possible to filter by any other available attribute as well.

Request

GET https://wsmdemo.rs2.com/wsm/jsonapi/cardholders?filter[idNumber]=64564

Request Headers

AuthorizationBearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Acceptapplication/vnd.api+json
Content-Typeapplication/vnd.api+json
Crnk-compacttrue

Request Parameters

filter[idNumber] 64564

Response

HTTP 200 (OK)

Response body will contain the requested JSON:API resource of type cardholders .

Update Cardholder Details

Request example showing modification a variety of cardholder attributes. Please refer to the attributes listing for more information on what is amendable.

Request

PATCH https://wsmdemo.rs2.com/wsm/jsonapi/cardholders/client

Request Headers

AuthorizationBearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Acceptapplication/vnd.api+json
Content-Typeapplication/vnd.api+json

Request Body

A JSON:API resource of type cardholders with the following attributes:

Name Description
rbsClientNumber
string (20)

External cardholder reference number.

status
string (3)

Indicates the current status of the cardholder in BankWORKS.

Refer to API Data Mapping documentation for possible values.

idNumber
string (15)

The national ID card number.

title
string (3)

Cardholder’s salutation.

Refer to API Data Mapping documentation for possible values.

firstName
string (15)

First name of the cardholder.

lastName
string (26)

Last name of the cardholder.

gender
string (3)

Gender of the cardholder.

Refer to API Data Mapping documentation for possible values.

birthDate
date

Date of birth in ISO 8601 format

birthPlace
string (15)

Cardholder’s place of birth.

birthName
string (20)

Cardholder’s birth name.

shortName
string (26)

Cardholder’s short name.

mobile1
string (15)

Primary mobile phone number.

mobile2
string (15)

Secondary mobile phone number.

fathersName
string (20)

Name of cardholder’s father.

language
string (3)

Cardholder’s language.

Refer to API Data Mapping documentation for possible values.

nationality
string (3)

Nationality of the cardholder.

Refer to API Data Mapping documentation for possible values.

residenceStatus
string (3)

Indicates if the carhdolder is a resident of the hosting country. Defaulted to 001 if not provided indicating a Resident.

Refer to API Data Mapping documentation for possible values.

residenceStatusDate
date

The date in ISO 8601 format relating to the client’s current residence state.

residenceType
string (3)

Defines the type of residence for the cardholder such as, own house or rented flat. Defaulted to 000 if not provided indicating Unknown.

Refer to API Data Mapping documentation for possible values.

maritalStatus
string (3)

Cardholder’s marital status.

Refer to API Data Mapping documentation for possible values.

maritalStatusDate
date

Date in ISO 8601 format of last change in marital status.

passportNumber
string (15)

The cardholder’s national passport number.

drivingLicenseNumber
string (15)

The cardholder’s national driving license number.

employerName
string (35)

Cardholder’s employment company or individual.

employmentDate
date

Applicant’s date of employment in ISO 8601 format.

employmentPosition
string (3)

Cardholder’s current employment position.

Refer to API Data Mapping documentation for possible values.

employmentStatus
string (3)

Cardholder’s current employment status.

Refer to API Data Mapping documentation for possible values.

employmentExtraInfo
string (3)

May contain extra additional numeric information related to the employment status (e.g. for part time employee, might be interpreted as no. of hrs worked weekly).

incomeAmount
number (18)

Income amount of applicant.

incomeRange
string (3)

Income range of applicant.

Refer to API Data Mapping documentation for possible values.

processingRegion
string (3)

Defines the processing region of the cardholder. Used for transaction processing.

Refer to API Data Mapping documentation for possible values.

mastercardABU
string

Flag that indicates the cardholder’s Mastercard Automatic Billing Updater (ABU) registration status.

Refer to API Data Mapping documentation for possible values.

Sample values:

  • 001 - N/A

  • 003 - Registered

Relationships

Response

HTTP 200 (OK)

Response body will contain the updated JSON:API resource of type cardholders .

Commercial Client Details

This collection contains sample use cases on commercial client details maintenance ie. updates on settlement package and addresses of the commercial client.

Commercial Settlement Packages

Get Commercial Settlement Packages

An example use case for getting the commercial settlement packages.

Request

GET https://wsmdemo.rs2.com/wsm/jsonapi/commercialClients/{{commercialClientId}}/settlementPackages

Request Headers

AuthorizationBearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Content-Typeapplication/vnd.api+json
Acceptapplication/vnd.api+json
Crnk-Compacttrue

Response

HTTP 200 (OK)

Modify Commercial Settlement Package

This sample request can be used to modify settlement package of the commercial client.

Request

PATCH https://wsmdemo.rs2.com/wsm/jsonapi/issSettlementPackages/clientNumber=90000299&settlementNumber=01

Request Headers

AuthorizationBearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Acceptapplication/vnd.api+json
Content-Typeapplication/vnd.api+json
Crnk-Compacttrue

Request Body

A JSON:API resource of type issSettlementPackages with the following attributes:

Name Description
accountCurrency
string (3)

The currency of the counter bank account in SWIFT currency code format. In cases where value consists of 3 digits:

  • 998 means not applicable
  • 999 means applicable to all currencies.

Refer to API Data Mapping documentation for possible values.

settlementCategory
string (3)

Settlement information category descriptor such as Payable or Receivable.

Refer to API Data Mapping documentation for possible values.

bankClearingNumber
string (8)

Information regarding the account’s bank details.

receiverCountryCode
string (3)

The country where the bank account information is located. In cases where value consists of 3 digits:

  • 000 means not applicable
  • 999 means applicable to all countries.

Refer to API Data Mapping documentation for possible values.

payableDetails
object
Name Description
bankContactName
string (35)

The counter bank contact name used for PAYABLES.

bankTelNumber
string (15)

The counter bank telephone number used for PAYABLES.

confirmationMethod
string (3)

The routing channel used for example Fax, mail, SWIFT etc.

Refer to API Data Mapping documentation for possible values.

counterBankAccount
string (35)

The counter RBS bank account number used to settle PAYABLES.

counterBankAccountName
string (35)

The counter bank account name used for PAYABLES.

counterBankCity
string (35)

The counter bank’s city used for PAYABLES.

counterBankName
string (40)

The counter bank name used for PAYABLES.

counterBankNumber
string (11)

The counter bank number where the counter bank account used for PAYABLES is domiciled.

counterClientNumber
string (8)

The RBS client number used for PAYABLES.

fundingNarrative
string (18)

Contains funding information applicable for PAYABLES.

ibanReference
string (35)

The counter bank account IBAN used for PAYABLES.

paymentReference
string (24)

The reference to be included in the outward payment transaction.

receivableDetails
object
Name Description
bankContactName
string (35)

The counter bank contact name used for RECEIVABLES.

bankTelNumber
string (15)

The counter bank telephone number used for RECEIVABLES.

counterBankAccount
string (35)

The counter RBS bank account number used to settle RECEIVABLES.

counterBankAccountName
string (35)

The counter bank account name used for RECEIVABLES.

counterBankCity
string (35)

The counter bank’s city used for RECEIVABLES.

counterBankName
string (40)

The counter bank name used for RECEIVABLES.

counterBankNumber
string (11)

The counter bank number where the counter bank account used for RECEIVABLES is domiciled.

fundingNarrative
string (18)

Contains funding information applicable for RECEIVABLES.

ibanReference
string (35)

The counter bank account IBAN used for RECEIVABLES.

contingencyLiabilityAccount
string (11)

The RBS account that is used in case the counter RBS bank account is not able to fullfil the RECEIVABLE obligation.

correspondingBankAccount
string (16)

The NOSTRA/VOSTRO bank account of the affiliate institution.

correspondingBankNumber
string (35)

The bank number of the affiliate institution where the counter bank Nostro/Vostro are domiciled.

Relationships
commercialClient

Commercial client who owns the settlement information.

Response

HTTP 200 (OK)

Response body will contain the updated JSON:API resource of type issSettlementPackages .

Create Commercial Settlement Package

Creating a new settlement package linked to an existing client. An individual client may have up to 99 different settlement packages defined. Only cardholders residing at billing point would require settlementPackages to be set up.

Request

POST https://wsmdemo.rs2.com/wsm/jsonapi/issSettlementPackages

Request Headers

AuthorizationBearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Acceptapplication/vnd.api+json
Content-Typeapplication/vnd.api+json
Crnk-Compacttrue

Request Body

A JSON:API resource of type issSettlementPackages with the following attributes:

Name Description
accountCurrency
string (3)
required

The currency of the counter bank account in SWIFT currency code format. In cases where value consists of 3 digits:

  • 998 means not applicable
  • 999 means applicable to all currencies.

Refer to API Data Mapping documentation for possible values.

settlementCategory
string (3)

Settlement information category descriptor such as Payable or Receivable.

Refer to API Data Mapping documentation for possible values.

bankClearingNumber
string (8)

Information regarding the account’s bank details.

receiverCountryCode
string (3)

The country where the bank account information is located. In cases where value consists of 3 digits:

  • 000 means not applicable
  • 999 means applicable to all countries.

Refer to API Data Mapping documentation for possible values.

payableDetails
object
Name Description
bankContactName
string (35)

The counter bank contact name used for PAYABLES.

bankTelNumber
string (15)

The counter bank telephone number used for PAYABLES.

confirmationMethod
string (3)

The routing channel used for example Fax, mail, SWIFT etc.

Refer to API Data Mapping documentation for possible values.

counterBankAccount
string (35)

The counter RBS bank account number used to settle PAYABLES.

counterBankAccountName
string (35)

The counter bank account name used for PAYABLES.

counterBankCity
string (35)

The counter bank’s city used for PAYABLES.

counterBankName
string (40)

The counter bank name used for PAYABLES.

counterBankNumber
string (11)

The counter bank number where the counter bank account used for PAYABLES is domiciled.

counterClientNumber
string (8)

The RBS client number used for PAYABLES.

fundingNarrative
string (18)

Contains funding information applicable for PAYABLES.

ibanReference
string (35)

The counter bank account IBAN used for PAYABLES.

paymentReference
string (24)

The reference to be included in the outward payment transaction.

receivableDetails
object
Name Description
bankContactName
string (35)

The counter bank contact name used for RECEIVABLES.

bankTelNumber
string (15)

The counter bank telephone number used for RECEIVABLES.

counterBankAccount
string (35)

The counter RBS bank account number used to settle RECEIVABLES.

counterBankAccountName
string (35)

The counter bank account name used for RECEIVABLES.

counterBankCity
string (35)

The counter bank’s city used for RECEIVABLES.

counterBankName
string (40)

The counter bank name used for RECEIVABLES.

counterBankNumber
string (11)

The counter bank number where the counter bank account used for RECEIVABLES is domiciled.

fundingNarrative
string (18)

Contains funding information applicable for RECEIVABLES.

ibanReference
string (35)

The counter bank account IBAN used for RECEIVABLES.

contingencyLiabilityAccount
string (11)

The RBS account that is used in case the counter RBS bank account is not able to fullfil the RECEIVABLE obligation.

correspondingBankAccount
string (16)

The NOSTRA/VOSTRO bank account of the affiliate institution.

correspondingBankNumber
string (35)

The bank number of the affiliate institution where the counter bank Nostro/Vostro are domiciled.

recordDate
date

The record creation date in ISO8601 format.

Relationships
cardholder

Cardholder who owns the settlement information.

commercialClient

Commercial client who owns the settlement information.

Response

HTTP 201 (Created)

Response body will contain the created JSON:API resource of type issSettlementPackages .

Delete Commercial Settlement Package

Delete a commercial settlement package.

Request

DELETE https://wsmdemo.rs2.com/wsm/jsonapi/issSettlementPackages/{{settlementPackagesId}}

Request Headers

AuthorizationBearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Content-Typeapplication/vnd.api+json
Acceptapplication/vnd.api+json
Crnk-Compacttrue

Response

Commercial Addresses

Get Commercial Addresses

An example use case for getting the commercial client addresses.

Request

GET https://wsmdemo.rs2.com/wsm/jsonapi/commercialClients/{{commercialClientId}}/addresses?sort=addressCategory,-effectiveDate

Request Headers

AuthorizationBearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Content-Typeapplication/vnd.api+json
Acceptapplication/vnd.api+json
Crnk-Compacttrue

Request Parameters

sort addressCategory,-effectiveDate

Response

HTTP 200 (OK)

Update Commercial Address

Note that it is only possible to amend address records that are future effective. If you wish to amend a current effective address record, a new address resource must be created with the desired changes.

Request

PATCH https://wsmdemo.rs2.com/wsm/jsonapi/issAddresses/clientNumber=90000299&addressCategory=001&effectiveDate=2024-11-30

Request Headers

AuthorizationBearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Acceptapplication/vnd.api+json
Content-Typeapplication/vnd.api+json

Request Body

A JSON:API resource of type issAddresses with the following attributes:

Name Description
expiryDate
date

The date in ISO 8601 format when the address record is no longer taken into consideration. Can be used for temporary addresses. Date must be in the future.

addressLine1
string (35)

Address line typically used for building information but not limited to house name, number, floor, unit and block number.

addressLine2
string (35)

Address line typically used for street information such as street number and name.

addressLine3
string (35)

Extra address properties that might be required and are not catered for by the attributes available.

addressLine4
string (35)

Extra address properties that might be required and are not catered for by the attributes available.

addressLine5
string (35)

Extra address properties that might be required and are not catered for by the attributes available.

contactName
string (35)

Main contact name for the address.

city
string (35)

Client’s city.

state
string (3)

3 digit identifier for the client’s state/region.

Refer to API Data Mapping documentation for possible values.

country
string (3)

The ISO 3-letter country code. In cases where value consists of 3 digits, 000 means not applicable and 999 means applicable to all countries.

Refer to API Data Mapping documentation for possible values.

postCode
string (20)

Client’s postcode.

poBox
string (10)

P.O. Box details.

telephone1
string (15)

Primary address fixed line number, for example, a client’s home or business telephone number.

telephone2
string (15)

Secondary address fixed line number for example a secondary business telephone number.

faxWork
string (15)

Office fax number.

addressLanguage
string (3)

3-digit identifier for the client language associated with the address.

Refer to API Data Mapping documentation for possible values.

deliveryMethod
string (3)

3-digit value indicating the preferred delivery option for correspondence. Defaulted to not applicable (000) - Not applicable, if not provided.

Refer to API Data Mapping documentation for possible values.

emailAddress
string (60)

Client’s e-mail address.

Relationships
commercialClient

Relationship to the commercial client linked to the address.

Response

HTTP 200 (OK)

Response body will contain the updated JSON:API resource of type issAddresses .

Create Commercial Address

Creation of a future effective address resource linked to commercial client.

Request

POST https://wsmdemo.rs2.com/wsm/jsonapi/issAddresses/

Request Headers

AuthorizationBearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Acceptapplication/vnd.api+json
Content-Typeapplication/vnd.api+json

Request Body

A JSON:API resource of type issAddresses with the following attributes:

Name Description
addressCategory
string (3)
required

The address category identifier for the returned client address resource are the following but not limited to:

  • 001 Standard
  • 006 Statement

A client must have at least one standard (001).

Refer to API Data Mapping documentation for possible values.

effectiveDate
date

The date in ISO 8601 format when the address becomes effective. The value can be future dated and cannot be less than the posting date. If not provided, the current posting date is automatically assumed.

expiryDate
date

The date in ISO 8601 format when the address record is no longer taken into consideration. Can be used for temporary addresses. Date must be in the future.

addressLine1
string (35)
required

Address line typically used for building information but not limited to house name, number, floor, unit and block number.

addressLine2
string (35)

Address line typically used for street information such as street number and name.

addressLine3
string (35)

Extra address properties that might be required and are not catered for by the attributes available.

addressLine4
string (35)

Extra address properties that might be required and are not catered for by the attributes available.

addressLine5
string (35)

Extra address properties that might be required and are not catered for by the attributes available.

contactName
string (35)

Main contact name for the address.

city
string (35)
required

Client’s city.

state
string (3)

3 digit identifier for the client’s state/region.

Refer to API Data Mapping documentation for possible values.

country
string (3)
required

The ISO 3-letter country code. In cases where value consists of 3 digits, 000 means not applicable and 999 means applicable to all countries.

Refer to API Data Mapping documentation for possible values.

postCode
string (20)
required

Client’s postcode.

poBox
string (10)

P.O. Box details.

telephone1
string (15)

Primary address fixed line number, for example, a client’s home or business telephone number.

telephone2
string (15)

Secondary address fixed line number for example a secondary business telephone number.

faxWork
string (15)

Office fax number.

addressLanguage
string (3)

3-digit identifier for the client language associated with the address.

Refer to API Data Mapping documentation for possible values.

deliveryMethod
string (3)

3-digit value indicating the preferred delivery option for correspondence. Defaulted to not applicable (000) - Not applicable, if not provided.

Refer to API Data Mapping documentation for possible values.

emailAddress
string (60)

Client’s e-mail address.

recordDate
date

The record creation date.

Relationships
cardholder

Relationship to the cardholder linked to the address.

commercialClient

Relationship to the commercial client linked to the address.

Response

HTTP 201 (Created)

Response body will contain the created JSON:API resource of type issAddresses .

Delete Commercial Address

Deletion is only possible for future effective address resources.

Request

DELETE https://wsmdemo.rs2.com/wsm/jsonapi/issAddresses/clientNumber=00000002&addressCategory=022&effectiveDate=2020-05-01

Request Headers

AuthorizationBearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Acceptapplication/vnd.api+json
Content-Typeapplication/vnd.api+json

Response

Response body will contain the deleted JSON:API resource of type issAddresses .

Get Commercial Client (by VAT number)

An example use case for getting the commercial client filtered by VAT number.

Request

GET https://wsmdemo.rs2.com/wsm/jsonapi/commercialClients/?filter[vatRegistrationNumber]=2515199984

Request Headers

AuthorizationBearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Content-Typeapplication/vnd.api+json
Acceptapplication/vnd.api+json
Crnk-Compacttrue

Request Parameters

filter[vatRegistrationNumber] 2515199984

Response

HTTP 200 (OK)

Get Commercial Client Contracts

An example use case to retrieve the commercial client contracts. The request sorts by effectiveDate in descending order. This may include future dated contract modifications. Additional filtering on the effectiveDate may be employed if necessary.

Request

GET https://wsmdemo.rs2.com/wsm/jsonapi/commercialClients/{{commercialClientId}}/contracts?sort=-effectiveDate

Request Headers

AuthorizationBearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Content-Typeapplication/vnd.api+json
Acceptapplication/vnd.api+json
Crnk-Compacttrue

Request Parameters

sort -effectiveDate

Response

HTTP 200 (OK)

Get Commercial Member Clients

Example request to retrieve a list of cardholders by the parent client number. This can be used for instance in two level hierarchies to retrieve the list of member clients.

Request

GET https://wsmdemo.rs2.com/wsm/jsonapi/cardholders?filter[contracts.parentClientNumber]=00111121&fields[cardholders]=clientNumber,status,title,firstName,lastName&sort=clientNumber

Request Headers

AuthorizationBearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Content-Typeapplication/vnd.api+json
Acceptapplication/vnd.api+json
Crnk-Compacttrue

Request Parameters

filter[contracts.parentClientNumber] 00111121
fields[cardholders] clientNumber,status,title,firstName,lastName
sort clientNumber

Response

HTTP 200 (OK)

Cardholder Transactions

This collection includes sample use cases for cardholder transactions by card or account.

Get Card Transactions

An example use case for getting the cardholder transactions associated with a specific card alias.

Request

GET https://wsmdemo.rs2.com/wsm/jsonapi/cards/cardAlias=0009000021300006690410501/transactions?filter[cardholderTransactions][recordDate][GE]=2024-07-01&filter[cardholderTransactions][recordDate][LE]=2024-07-31

Request Headers

AuthorizationBearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Content-Typeapplication/vnd.api+json
Acceptapplication/vnd.api+json
Crnk-Compacttrue

Request Parameters

filter[cardholderTransactions][recordDate][GE] 2024-07-01
filter[cardholderTransactions][recordDate][LE] 2024-07-31

Response

Get Card Transactions - Null data : HTTP 200 (OK)

Get Card Transactions - Successful : HTTP 200 (OK)

Response body will contain the result of the JSON PATCH operation for the following resources: merchants addresses

Get Account Transactions

An example use case for getting the cardholder transactions associated with a specific account.

Request

GET https://wsmdemo.rs2.com/wsm/jsonapi/issAccounts/accountNumber=90000213001/transactions?filter[cardholderTransactions][recordDate][GE]=2024-07-01&filter[cardholderTransactions][recordDate][LE]=2024-07-31

Request Headers

AuthorizationBearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Content-Typeapplication/vnd.api+json
Acceptapplication/vnd.api+json
Crnk-Compacttrue

Request Parameters

filter[cardholderTransactions][recordDate][GE] 2024-07-01
filter[cardholderTransactions][recordDate][LE] 2024-07-31

Response

Get Account Transactions - Null data : HTTP 200 (OK)

Get Account Transactions - Successful : HTTP 200 (OK)

Response body will contain the result of the JSON PATCH operation for the following resources: merchants addresses

Client Contracts

In BankWORKS, a client contract represents a service contract assignment to a cardholder or other clients that can be assigned service contracts, such as brokers. This results in the contract being assigned a groupNumber indicating the hierarchy group. Each contract modification has an effectiveDate property indicating when that record becomes effective from a processing point of view.

Delete Contract

Delete a client contract. Deletion is only supported for future effective contracts, having an effective date greater than the current posting date.

Request

DELETE https://wsmdemo.rs2.com/wsm/jsonapi/issContracts/clientNumber=10050000&groupNumber=00000001&effectiveDate=2020-04-01&clientLevel=001

Request Headers

AuthorizationBearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Content-Typeapplication/vnd.api+json
Acceptapplication/vnd.api+json
Crnk-Compacttrue

Response

HTTP 204 (No Content)

Client Contracts

A request to retrieve client contracts. In this request example, additional filtering has been applied to filter by effectiveDate to be less or equal than the current date. The result is also being sorted by groupNumber and effectiveDate in descending order. This will result in the latest and current effetive contract being returned first, followed by a list of historical versions of the contract organised by reverse chronoligical order.

There can be cases where the future effective contract amendments would also be desired. In this case the filtering criteria can be amended as necessary. It is also possible to filter further using other attributes and also relationship based filtering if desired.

Request

GET https://wsmdemo.rs2.com/wsm/jsonapi/cardholders/client/contracts?filter[effectiveDate][LE]=2020-04-01&sort=groupNumber,-effectiveDate

Request Headers

AuthorizationBearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Content-Typeapplication/vnd.api+json
Acceptapplication/vnd.api+json
Crnk-Compacttrue

Request Parameters

filter[effectiveDate][LE] 2020-04-01
sort groupNumber,-effectiveDate

Response

HTTP 200 (OK)

Response body will contain the requested JSON:API resource of type issContracts .

Modify Contract Record

New contract records can be defined in order to ‘modify’ an existing client contract. Client contracts have an effectiveDate property which indicates the applicable contract setup for a given day (by retrieving the current effective contract). BankWORKS allows direct modification of client contracts only in specific scenarios, this covered in a separate PATCH request below.

The POST request can be sent whenever a client contract is effective in the past and needs to be modified by creating either: - a new contract record to be effective immediately (effectiveDate set to the current posting date). This can be done in cases the current effective contract is a past entry. - a new contract record to be future effective. This modifications to be set in the future which will be effective on a particular date

Note: Should the current effective contract record have an effectiveDate value that is equal to the current posting date, a PATCH request needs to be sent.

Request

PATCH https://wsmdemo.rs2.com/wsm/jsonapi/issContracts/clientNumber=10050000&groupNumber=00000001&effectiveDate=2020-04-01&clientLevel=001

Request Headers

AuthorizationBearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Acceptapplication/vnd.api+json
Content-Typeapplication/vnd.api+json
Crnk-Compacttrue

Request Body

A JSON:API resource of type issContracts with the following attributes:

Name Description
contractCategory
string (3)

The contract category determines the type of hierarchy.

  • 001 - Private cardholder contracts
  • 002 - Commercial cardholder contracts
serviceContractId
string (3)

Indicates the service contract ID linked to the client contract.

This MAY be passed instead of the contractDefinitions relationship in case the Service Contract ID value is known.

Refer to API Data Mapping documentation for possible values.

parentClientNumber
string (8)

Indicates the client number of the parent client in the hierarchy. This is an optional attribute that can be provided instead of the parentContracts relationship when defining a lower level client in a hiearchy.

status
string (3)

Indicates the status of the client contract.

Refer to API Data Mapping documentation for possible values.

settlementMethod
string (3)

Indicates the method how the client will settle with the bank. Identifies how outstanding balances are settled. Required only when onboarding a new client.

Refer to API Data Mapping documentation for possible values.

postingMethod
string (3)

The tariff under which the client falls when posting to the clients account.

Refer to API Data Mapping documentation for possible values.

clientTariff
string (3)

Indicates the client tariff package assigned. Required only when onboarding a new client.

chargeTierLevel
string (3)

Enables setting up of the same fee with different value high and value low triggers.

Refer to API Data Mapping documentation for possible values.

clientScheme
string (3)

Indicates the rebate tariff applicable for the contract.

contractReference
string (8)

Cardholder contract document reference.

bankReference
string (8)

External additional reference number of the cardholder with the bank.

institutionAccountOfficer
string (3)

Officer in charge of the client contract.

Refer to API Data Mapping documentation for possible values.

clientBranch
string (3)

Contract application branch details. Related to the institutionAccountOfficer.

Refer to API Data Mapping documentation for possible values.

tierGroup
string (3)

An identifier used to group a set of rates that need to be applied during tiered pricing generation.

Refer to API Data Mapping documentation for possible values.

Relationships
contractDefinition

Relationship to the service contract definition resource.

cardholder

Relationship to the client resource if a private cardholder contract.

commercialClient

Relationship to the client resource if a commercial contract.

Response

HTTP 0 ()

Response body will contain the updated JSON:API resource of type issContracts .

Create Contract Record

New contract records can be defined in order to ‘modify’ an existing client contract. Client contracts have an effectiveDate property which indicates the applicable contract setup for a given day (by retrieving the current effective contract). BankWORKS allows direct modification of client contracts only in specific scenarios, this covered in a separate PATCH request below.

The POST request can be sent whenever a client contract is effective in the past and needs to be modified by creating either:

  • a new contract record to be effective immediately (effectiveDate set to the current posting date). This can be done in cases the current effective contract is a past entry.
  • a new contract record to be future effective. This modifications to be set in the future which will be effective on a particular date

Note: Should the current effective contract record have an effectiveDate value that is equal to the current posting date, a PATCH request needs to be sent.

Request

POST https://wsmdemo.rs2.com/wsm/jsonapi/issContracts

Request Headers

AuthorizationBearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Acceptapplication/vnd.api+json
Content-Typeapplication/vnd.api+json
Crnk-Compacttrue

Request Body

A JSON:API resource of type issContracts with the following attributes:

Name Description
contractCategory
string (3)

The contract category determines the type of hierarchy.

  • 001 - Private cardholder contracts
  • 002 - Commercial cardholder contracts
serviceContractId
string (3)

Indicates the service contract ID linked to the client contract.

This MAY be passed instead of the contractDefinitions relationship in case the Service Contract ID value is known.

Refer to API Data Mapping documentation for possible values.

parentClientNumber
string (8)

Indicates the client number of the parent client in the hierarchy. This is an optional attribute that can be provided instead of the parentContracts relationship when defining a lower level client in a hiearchy.

status
string (3)

Indicates the status of the client contract.

Refer to API Data Mapping documentation for possible values.

effectiveDate
date

The date in ISO 8601 format on which the hierarchy link record becomes effective for the client. The value can be future dated and cannot be less than the posting date. If not provided, posting date +1 value is assumed only post-boarding.

settlementMethod
string (3)

Indicates the method how the client will settle with the bank. Identifies how outstanding balances are settled. Required only when onboarding a new client.

Refer to API Data Mapping documentation for possible values.

postingMethod
string (3)

The tariff under which the client falls when posting to the clients account.

Refer to API Data Mapping documentation for possible values.

clientTariff
string (3)

Indicates the client tariff package assigned. Required only when onboarding a new client.

chargeTierLevel
string (3)

Enables setting up of the same fee with different value high and value low triggers.

Refer to API Data Mapping documentation for possible values.

clientScheme
string (3)

Indicates the rebate tariff applicable for the contract.

contractReference
string (8)

Cardholder contract document reference.

bankReference
string (8)

External additional reference number of the cardholder with the bank.

institutionAccountOfficer
string (3)

Officer in charge of the client contract.

Refer to API Data Mapping documentation for possible values.

clientBranch
string (3)

Contract application branch details. Related to the institutionAccountOfficer.

Refer to API Data Mapping documentation for possible values.

tierGroup
string (3)

An identifier used to group a set of rates that need to be applied during tiered pricing generation.

Refer to API Data Mapping documentation for possible values.

Relationships
contractDefinition

An optional relationship to the service contract resource. Mandatory If a value is not passed in serviceContractId.

cardholder

Relationship to the client resource if a private cardholder contract.

commercialClient

Relationship to the client resource if a commercial contract.

Response

Response body will contain the created JSON:API resource of type issContracts .

Onboard an Additional Contract

This will onboard an additional contract to an existing BankWorks cardholder specifying a valid client number in the request and the related attributes for the new contract.

If the client number entered does not exist in BankWorks, it will automatically onboard a new client provided the required attributes are present.

This call creates and processes a carhdolder application in a single request through the API gateway without the need to send individual resource creation. This request is an orchestration of multiple calls into one but still follows the requirements mentioned in the main documentation for each resource. Please note that the access token must be valid for more than 30 seconds for this orchestration to take place.

The following resources are supported:

Resource Description
cardholder (required) This is the main resource to which everything is related to. This must be provided at the top-level. The attribute clientNumber is required which represents an valid and existing BankWorks client number to which an additional contract is to be added.
addresses (required) The addresses are related to the cardholder and must be provided as an array and part of the cardholder resource.
contracts (required) The contract is related to the cardholder and must be provided as a single-element array and part of the cardholder resource.
cards The card services are linked to a cardholder through the contract and can be provided as an array and part of the contract resource.
services Any miscellaneous services are linked to a cardholder through the contract and can be provided as an array and part of the contract resource.
settlementPackages The settlement packages are related to the cardholder and can be provided as an array and part of the cardholder resource.
accounts (required) Accounts can be defined at two different levels:

1. billing level - can be passed as an array and part of the respective settlementPackage resource

2. non-billing level - can be passed as an array and part of the contract resource
accountLimits Account limits can be defined during boarding. This can be provided as an array and part of the accounts resource.

For further details on the resources to be provided in the request, please refer to the individual requests in the cardholder onboarding via JSON Patch use case above.

In case of a successful onboarding, all the cardholder data (including the generated IDs) will be retrieved and returned.

In case there are any errors, any successful resources created prior to the failing resource will be reverted and another cardholder application with the correct data must be sent again. In order to identify the problematic resource which has thrown the error, make sure to refer to the pointer value found inside the meta element of the corresponding error. This will contain the path of the resource in error (if any). In cases where the resource is part of an array, a zero-based index will be included to identify the specific resource.

Request

POST {{gatewayHost}}/wsm/jsonapi/cardholderApplications

Request Headers

AuthorizationBearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Acceptapplication/vnd.api+json
Content-Typeapplication/vnd.api+json
Crnk-Compacttrue

Request Body

Response

New contract - standalone cardholder : HTTP 201 (Created)

New contract - supplementary cardholder : HTTP 201 (Created)

Client Accounts

Client indicates any BankWORKS client-sub accounts such as, cardholder account, installments account, bonus account, etc. A client account is part of the client contract and must be based on an account definition.

This section covers a number of use cases including, client account retrieval, cycle change instructions and balance cycle records retrieval, and creation of account balance transfers and the related source and destination accounts involved. Refer to the individual use cases for more details.

Client Limits

This section contains use cases in order to perform various requests for limits including retrieval, creation, modification, and deletion of a record. Please see individual requests for more information.

In BankWORKS there are 2 levels of limits:

  • Global Client Limit: A limit that is shared by all billing accounts of a client. Essentially, a client limit that works on top of the more granular account level.
  • Account Limit: A limit associated with the account. BankWORKS supports 3 types of account level limits:
    • Shared Limit: Single limit shared across all accounts in a cardholder hierarchy.
    • Allocated Limits: Each account in a cardholder hierarchy would have an allocated limit per account.
    • Group Shared (Joined Shared) Limits: Similar to shared limits, but works across various contract groups.

Get Account Limits

Retrieve the account limit associated with a particular account. Given that the limits have an effective date property it is important to note which resource applies by checking the effective date. In this example, the results are sorted by the limitNumber which identifies the limit as well as the effectiveDate in descending order to ensure that the latest limit update is shown on top. The effective date can be in the future.

Request

GET https://wsmdemo.rs2.com/wsm/jsonapi/issAccounts/{{accountId}}/accountLimits?sort=limitNumber,-effectiveDate

Request Headers

AuthorizationBearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Content-Typeapplication/vnd.api+json
Acceptapplication/vnd.api+json
Crnk-Compacttrue

Request Parameters

sort limitNumber,-effectiveDate

Response

HTTP 0 ()

Response body will contain the requested JSON:API resource of type limits .

Get Global Account Limits

Retrieve the global limit associated with a particular account, if availabe. Given that the limits have an effective date property it is important to note which resource applies by checking the effective date. In this example, the results are sorted by the limitNumber which identifies the limit as well as the effectiveDate in descending order to ensure that the latest limit update is shown on top. The effective date can be in the future.

Request

GET https://wsmdemo.rs2.com/wsm/jsonapi/issAccounts/{{accountId}}/globalClientLimits?sort=limitNumber,-effectiveDate

Request Headers

AuthorizationBearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Content-Typeapplication/vnd.api+json
Acceptapplication/vnd.api+json
Crnk-Compacttrue

Request Parameters

sort limitNumber,-effectiveDate

Response

HTTP 0 ()

Response body will contain the requested JSON:API resource of type limits .

Create New Account Limit

Define a new limit. POST can also be used to superseed an existing limit amount by creating a future effective limit record.

Request

POST https://wsmdemo.rs2.com/wsm/jsonapi/limits

Request Headers

AuthorizationBearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Acceptapplication/vnd.api+json
Content-Typeapplication/vnd.api+json

Request Body

A JSON:API resource of type limits with the following attributes:

Name Description
limitNumber
string (11)

BankWORKS 11-digit number identifying the limit.

limitLevel
string (3)
required

The limit level identifies the account level to which this limit pertains.

Refer to API Data Mapping documentation for possible values.

effectiveDate
date-time

The date in ISO 8601 format on which the limit record becomes effective for the provided card. If left empty, the current system date is assumed.

expiryDate
date
required

The date in ISO 8601 format on which the limit is no longer effective. Expiry date must be greater than the effectiveDate.

clientLimit
object

The amount of credit the limit provides.

Name Description
value
decimal

The quantative decimal monetary amount (eg. 1.1)

currency
string

The ISO 4217 currency code (eg. 'EUR')

limitOverrideAmount
number

A calculated attribute that identifies the amount that the limit can be overriden.

limitOverridePercent
string (11)

A percentage, exceeding the limit, within which authorization approval is allowed.

cashLimitPercent
number

A percentage in which authorization approval for Cash transactions is allowed.

retailBalance
object

Retail balance amount.

Name Description
value
decimal

The quantative decimal monetary amount (eg. 1.1)

currency
string

The ISO 4217 currency code (eg. 'EUR')

recordDate
date

The record creation date.

Relationships
accounts

BankWorks client account related to this resource.

contracts
required

Client contract related to this resource. Effective date needs to be taken into consideration as the relationship gives access to past, current and future effective data.

limitDefinition
required

The limits definition for which this resource is created from.

parentLimits

Parent limit related to this resource.

Response

HTTP 0 ()

Response body will contain the created JSON:API resource of type limits .

Update Future Effective Limit

Only future effective limits are allowed to be modified.

Request

PATCH https://wsmdemo.rs2.com/wsm/jsonapi/limits/limitNumber=90145584001&effectiveDate=2022-10-01T00:00

Request Headers

AuthorizationBearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Acceptapplication/vnd.api+json
Content-Typeapplication/vnd.api+json

Request Body

A JSON:API resource of type limits with the following attributes:

Name Description
limitNumber
string (11)

BankWORKS 11-digit number identifying the limit.

limitLevel
string (3)

The limit level identifies the account level to which this limit pertains.

Refer to API Data Mapping documentation for possible values.

effectiveDate
date-time

The date in ISO 8601 format on which the limit record becomes effective for the provided card. If left empty, the current system date is assumed.

expiryDate
date

The date in ISO 8601 format on which the limit is no longer effective. Expiry date must be greater than the effectiveDate.

clientLimit
object

The amount of credit the limit provides.

Name Description
value
decimal

The quantative decimal monetary amount (eg. 1.1)

currency
string

The ISO 4217 currency code (eg. 'EUR')

limitOverrideAmount
number

A calculated attribute that identifies the amount that the limit can be overriden.

limitOverridePercent
string (11)

A percentage, exceeding the limit, within which authorization approval is allowed.

cashLimitPercent
number

A percentage in which authorization approval for Cash transactions is allowed.

retailBalance
object

Retail balance amount.

Name Description
value
decimal

The quantative decimal monetary amount (eg. 1.1)

currency
string

The ISO 4217 currency code (eg. 'EUR')

recordDate
date

The record creation date.

Relationships
accounts

BankWorks client account related to this resource.

contracts

Client contract related to this resource. Effective date needs to be taken into consideration as the relationship gives access to past, current and future effective data.

limitDefinition

The limits definition for which this resource is created from.

parentLimits

Parent limit related to this resource.

Response

HTTP 0 ()

Response body will contain the updated JSON:API resource of type limits .

Delete Future Effective Limit

Only future effective limits are allowed to be deleted.

Request

DELETE https://wsmdemo.rs2.com/wsm/jsonapi/limits/limitNumber=90057376002&effectiveDate=2018-07-07T00:00

Request Headers

AuthorizationBearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Acceptapplication/vnd.api+json
Content-Typeapplication/vnd.api+json

Response

HTTP 204 (No Content)

Response body will contain the deleted JSON:API resource of type limits .

Get ParentLimits

This request will return the parent limit of the specified limit record.

Request

GET https://wsmdemo.rs2.com/wsm/jsonapi/limits/limitNumber=90145613001&effectiveDate=2022-02-23T16:56:23/parentLimits

Request Headers

AuthorizationBearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Acceptapplication/vnd.api+json
Content-Typeapplication/vnd.api+json

Response

HTTP 0 ()

Response body will contain the requested JSON:API resource of type limits .

Cardholder Accounts

This request will retrieve all accounts related to the specified cardholder client number from the filter. This will also include the account definition related to this cardholder account limited to a few attributes that define the account type and currency.

Request

GET https://wsmdemo.rs2.com/wsm/jsonapi/cardholders/client/accounts

Request Headers

AuthorizationBearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Acceptapplication/vnd.api+json
Content-Typeapplication/vnd.api+json
Crnk-compacttrue

Response

HTTP 200 (OK)

Response body will contain the requested JSON:API resource of type issAccounts .

Cardholder Account Transactions

An example use case for getting the cardholder transactions associated with a specific account.

Request

GET https://wsmdemo.rs2.com/wsm/jsonapi/issAccounts/accountNumber=90000213001/transactions?filter[cardholderTransactions][recordDate][GE]=2024-07-01&filter[cardholderTransactions][recordDate][LE]=2024-07-31

Request Headers

AuthorizationBearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Content-Typeapplication/vnd.api+json
Acceptapplication/vnd.api+json
Crnk-Compacttrue

Request Parameters

filter[cardholderTransactions][recordDate][GE] 2024-07-01
filter[cardholderTransactions][recordDate][LE] 2024-07-31

Response

HTTP 200 (OK)

Response body will contain the result of the JSON PATCH operation for the following resources: merchants addresses

Amend Cardholder Account

Example of account modification request. Refer to the attribute list for more information on the amendable attributes.

Request

PATCH https://wsmdemo.rs2.com/wsm/jsonapi/issAccounts/{{accountId}}

Request Headers

AuthorizationBearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Acceptapplication/vnd.api+json
Content-Typeapplication/vnd.api+json
Crnk-compacttrue

Request Body

A JSON:API resource of type issAccounts with the following attributes:

Name Description
clientAccountName
string (35)

Cardholder account alias.

accountTypeId
string (3)

Indicates the account type of the client account. When defining new accounts, this attribute along with the accountCurrency can be supplied as an alternative to the accountDefinitions relationship.

Refer to API Data Mapping documentation for possible values.

status
string (3)

The current status of the account such as one of the following:

  • 001 Active
  • 002 Closed
  • 003 Suspended.

Refer to API Data Mapping documentation for possible values.

accountNumberRbs
string (28)

External RBS account number reference.

statementGeneration
string (3)

Indicates the statement generation rule applicable for this account.

Refer to API Data Mapping documentation for possible values.

statementType
string (3)

The type of statement applicable for this account.

Refer to API Data Mapping documentation for possible values.

availabilityAmount
object

This is the calculated available amount for the account based on the account limit setup.

Name Description
value
decimal

The quantative decimal monetary amount (eg. 1.1)

currency
string

The ISO 4217 currency code (eg. 'EUR')

Relationships
accountDefinition

Relationship to the account definition resource.

commercialClient

Relationship to the client resource if a commercial client.

settlementPackage

Bank account settlement information related to this BankWORKS account. Only billing level accounts require settlement details to be defined.

accountLimits

Applicable account limits linked to the account. Effective date needs to be taken into consideration as the relationship gives access to past, current and future effective data.

globalClientLimits

Links to the global client account limit. The global client limit is a limit that acts on top of the account limit. Effective date needs to be taken into consideration as the relationship gives access to past, current and future effective data.

balanceCycles

Cycle balances related to the account, includes past cycles and the current cycle.

Response

HTTP 200 (OK)

Response body will contain the updated JSON:API resource of type issAccounts .

Get Current Account Cycle Book Balance

This will retrieve all balance cycle records related to the cardholder account. A filter was added in order to retrieve Current (004) processing status. Closed balance cycle records are indicated by processingStatus: 015.

Request

GET https://wsmdemo.rs2.com/wsm/jsonapi/issAccounts/{{accountId}}/balanceCycles?filter[processingStatus]=004

Request Headers

AuthorizationBearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Acceptapplication/vnd.api+json
Content-Typeapplication/vnd.api+json
Crnk-compacttrue

Request Parameters

filter[processingStatus] 004

Response

HTTP 200 (OK)

Response body will contain the requested JSON:API resource of type balanceCycles .

Add Client Account

This request will add an account to an existing cardholder.

Request

POST https://wsmdemo.rs2.com/wsm/jsonapi/issAccounts

Request Headers

AuthorizationBearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Acceptapplication/vnd.api+json
Content-Typeapplication/vnd.api+json
Crnk-Compacttrue

Request Body

A JSON:API resource of type issAccounts with the following attributes:

Name Description
accountNumber
string (11)

BankWORKS 11-digit internal account number. Unique per institution.

clientAccountName
string (35)

Cardholder account alias.

accountTypeId
string (3)

Indicates the account type of the client account. When defining new accounts, this attribute along with the accountCurrency can be supplied as an alternative to the accountDefinitions relationship.

Refer to API Data Mapping documentation for possible values.

accountCurrency
string (3)

Indicates the currency of the account. The currency is represented in 3 letter SWIFT format such as EUR, USD etc.

When defining new accounts, this attribute along with the accountTypeId can be supplied as an alternative to the accountDefinitions relationship.

Refer to API Data Mapping documentation for possible values.

status
string (3)

The current status of the account such as one of the following:

  • 001 Active
  • 002 Closed
  • 003 Suspended.

Refer to API Data Mapping documentation for possible values.

accountNumberRbs
string (28)

External RBS account number reference.

billingCycle
string (3)

Indicates the billing cycle applicable for the account.

Refer to API Data Mapping documentation for possible values.

billingLevel
string (3)

Indicates if the cardholder account holds settlement responsibilities for the related sub-hierarchy.

  • 001 Billing level
  • 000 Not billing level
statementGeneration
string (3)

Indicates the statement generation rule applicable for this account.

Refer to API Data Mapping documentation for possible values.

statementType
string (3)

The type of statement applicable for this account.

Refer to API Data Mapping documentation for possible values.

lastAccrualDateCredit
date

Last credit interest accrual date in ISO 8601 format.

lastAccrualDateDebit
date

Last debit interest accrual date in ISO 8601 format.

availabilityAmount
object

This is the calculated available amount for the account based on the account limit setup.

Name Description
value
decimal

The quantative decimal monetary amount (eg. 1.1)

currency
string

The ISO 4217 currency code (eg. 'EUR')

lastFeeDate
date

Last account fee generation date in ISO 8601 format.

lastStatementDate
date

Last statement generation date in ISO 8601 format.

recordDate
date

The record creation date.

Relationships
accountDefinition

An optional relationship to the service definition resource. Mandatory If a value is not passed in accountTypeId and accountCurrency attributes.

cardholder

Relationship to the client resource if a private cardholder client.

commercialClient

Relationship to the client resource if a commercial client.

contracts
required

Client contract resources linked to this account. Effective date needs to be taken into consideration as the relationship gives access to past, current and future effective data.

settlementPackage

Bank account settlement information related to this BankWORKS account. Only billing level accounts require settlement details to be defined.

accountFeeDefinitions

Account fees applicable for the cardholder account based on the client contract tariff assigned. Contract based account fees as well as individual client specific account fees overriding contract based fees are available. Effective date needs to be taken into consideration as the relationship gives access to past, current and future effective data.

accountLimits

Applicable account limits linked to the account. Effective date needs to be taken into consideration as the relationship gives access to past, current and future effective data.

globalClientLimits

Links to the global client account limit. The global client limit is a limit that acts on top of the account limit. Effective date needs to be taken into consideration as the relationship gives access to past, current and future effective data.

balanceCycles

Cycle balances related to the account, includes past cycles and the current cycle.

cycleChangeInstructions

Billing cycle instructions linked to the account.

Response

HTTP 201 (Created)

Response body will contain the created JSON:API resource of type issAccounts .

Client Services

The services section covers the client service assignments. A BankWORKS client can be assigned any service as long as the service is part of the service contract (determined by the available client contract).

Delete Service

Delete a client service record. Deletion is only supported for future effective services.

Request

DELETE https://wsmdemo.rs2.com/wsm/jsonapi/issServices/{{serviceId}}

Request Headers

AuthorizationBearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Content-Typeapplication/vnd.api+json
Acceptapplication/vnd.api+json
Crnk-Compacttrue

Response

HTTP 204 (No Content)

Client Services

Retrieval of client services regardless of the serviceCategory value. In this example, filtering is being applied to the group (implying a single service contract). Also, additional filtering has been applied to filter by effectiveDate to be less or equal than the current date. The result is also being sorted by groupNumber and effectiveDate in descending order. This will result in the latest and current effetive service being returned first, followed by a list of historical versions of the client serivce organised in reverse chronoligical order.

There can be cases where the future effective client services would also be desired. In this case the filtering criteria can be amended as necessary.

Note: It is also possible to filter further using other attributes and also relationship based filtering if desired such as the serviceCategory.

Request

GET https://wsmdemo.rs2.com/wsm/jsonapi/issServices?filter[clientNumber]={{serviceCardholderId}}&filter[groupNumber]={{serviceGroupId}}&filter[effectiveDate][LE]=2020-04-01&sort=groupNumber,serviceCategory,-effectiveDate

Request Headers

AuthorizationBearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Acceptapplication/vnd.api+json
Content-Typeapplication/vnd.api+json
Crnk-Compacttrue

Request Parameters

filter[clientNumber] {{serviceCardholderId}}
filter[groupNumber] {{serviceGroupId}}
filter[effectiveDate][LE] 2020-04-01
sort groupNumber,serviceCategory,-effectiveDate

Response

HTTP 200 (OK)

Response body will contain the requested JSON:API resource of type issServices .

Create Service Record

New client service records can be defined in order to ‘modify’ an existing client service (service definition already assigned to cardholder contract) or else applying for a service entirely (new service definition). Client services have an effectiveDate property which indicates when the particular record is effective. BankWORKS allows direct modification of client contracts only in specific scenarios, this covered in a separate PATCH request below.

The POST request can be sent whenever a client service is effective in the past and needs to be modified by creating either:

  • a new service record to be effective immediately (effectiveDate set to the current posting date). This can be done in case the current effective service is a past entry.
  • a new service record to be future effective.

Note: Should the current effective service record have an effectiveDate value that is equal to the current posting date, a PATCH request needs to be sent.

Request

POST https://wsmdemo.rs2.com/wsm/jsonapi/issServices

Request Headers

AuthorizationBearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Acceptapplication/vnd.api+json
Content-Typeapplication/vnd.api+json
Crnk-Compacttrue

Request Body

A JSON:API resource of type issServices with the following attributes:

Name Description
status
string (3)

Indicates the current status of the client service.

Refer to API Data Mapping documentation for possible values.

effectiveDate
date

The date in ISO 8601 format when the client service becomes effective. The value can be future dated and cannot be less than the posting date. If not provided, posting date +1 value is assumed only post-boarding.

clientTariff
string (3)

Indicates the applicable transaction charge rules. Defaults to “000” if not provided. Applicable only to card based issuing services. For miscellaneous service tariff, refer to the contracts resource.

Refer to API Data Mapping documentation for possible values.

airMilesNumber
string

Airline loyalty program number.

serviceNumber
string
recordDate
date

The record creation date in ISO8601 format.

Relationships
serviceDefinitions
required

An optional relationship to the service definition resource. Mandatory If a value is not passed in serviceId.

contracts
required

Link to the client contract the service will be linked to.

Response

HTTP 201 (Created)

Response body will contain the created JSON:API resource of type issServices .

Modify Service Record

Modification of a client service is allowed when the record is future dated or when the record to be modified is effective on the same posting date as the modification. In this request example, the status of service is being set to inactive.

Request

PATCH https://wsmdemo.rs2.com/wsm/jsonapi/issServices/{{serviceId}}

Request Headers

AuthorizationBearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Acceptapplication/vnd.api+json
Content-Typeapplication/vnd.api+json
Crnk-Compacttrue

Request Body

A JSON:API resource of type issServices with the following attributes:

Name Description
status
string (3)

Indicates the current status of the client service.

Refer to API Data Mapping documentation for possible values.

clientTariff
string (3)

Indicates the applicable transaction charge rules. Defaults to “000” if not provided. Applicable only to card based issuing services. For miscellaneous service tariff, refer to the contracts resource.

Refer to API Data Mapping documentation for possible values.

airMilesNumber
string

Airline loyalty program number.

serviceNumber
string
recordDate
date

The record creation date in ISO8601 format.

Relationships

Response

HTTP 200 (OK)

Response body will contain the updated JSON:API resource of type issServices .

Account Balance Transfer

Use cases in this section will be used to create, update, and delete sundry account balance transfers. This also includes retrieval of related source and destination accounts involved in the transaction.

Get Approved Balance Transfer Instructions

This request example returns all Approved (status 008) account balance instructions and includes the source and destination account resources. The account resources retruned are being limited to the accountNumber attribute only. It is possible to apply filtering as desired, which can include filtering on source or destination account.

Request

GET https://wsmdemo.rs2.com/wsm/jsonapi/issAccountBalanceTransfers?filter[status][EQ]=008&include=sourceAccount,destinationAccount&fields[issAccounts]=accountNumber

Request Headers

AuthorizationBearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Acceptapplication/vnd.api+json
Content-Typeapplication/vnd.api+json
Crnk-compacttrue

Request Parameters

filter[status][EQ] 008
include sourceAccount,destinationAccount
fields[issAccounts] accountNumber

Response

HTTP 200 (OK)

Response body will contain the requested JSON:API resource of type issAccountBalanceTransfers with sourceAccount,destinationAccountas included resources.

Create Account Balance Transfer

This request will create an account balance transfer. Source and destination accounts should be provided in the relationships.

Balance transfer instructions are not processed immediately. Refer to the status value to identify the processing status of the instruction.

Request

POST https://wsmdemo.rs2.com/wsm/jsonapi/issAccountBalanceTransfers

Request Headers

AuthorizationBearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Acceptapplication/vnd.api+json
Content-Typeapplication/vnd.api+json
Crnk-Compacttrue

Request Body

A JSON:API resource of type issAccountBalanceTransfers with the following attributes:

Name Description
transferType
string (3)
required

Defines the type of transfer being effected.

Examples may include: 403 (Redemption Cash), 404 (Redemption Air Miles), 416 (Redemption Qualifying Miles), 950 (Misc. DR transaction), 951 (Misc. CR transaction).

Refer to API Data Mapping documentation for possible values.

transferAmount
object
required

The amount being transferred in the currency of the source account.

Name Description
value
decimal

The quantative decimal monetary amount (eg. 1.1)

currency
string

The ISO 4217 currency code (eg. 'EUR')

transactionNarrative
string (100)

A free-text transaction description, up to 100 characters.

Relationships
sourceAccount
required

Relationship linking the instruction to the source account.

destinationAccount
required

Relationship linking the instruction to the destination account.

Response

HTTP 201 (Created)

Response body will contain the created JSON:API resource of type issAccountBalanceTransfers .

Update Account Balance Transfer

Modification of an unprocessed instruction. Updates are not allowed for Completed (002) status.

Request

PATCH https://wsmdemo.rs2.com/wsm/jsonapi/issAccountBalanceTransfers/transactionSlip=22700014799&sundryType=038&transferType=951

Request Headers

AuthorizationBearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Acceptapplication/vnd.api+json
Content-Typeapplication/vnd.api+json
Crnk-compacttrue

Request Body

A JSON:API resource of type issAccountBalanceTransfers with the following attributes:

Name Description
transferType
string (3)

Defines the type of transfer being effected.

Examples may include: 403 (Redemption Cash), 404 (Redemption Air Miles), 416 (Redemption Qualifying Miles), 950 (Misc. DR transaction), 951 (Misc. CR transaction).

Refer to API Data Mapping documentation for possible values.

transferAmount
object

The amount being transferred in the currency of the source account.

Name Description
value
decimal

The quantative decimal monetary amount (eg. 1.1)

currency
string

The ISO 4217 currency code (eg. 'EUR')

transactionNarrative
string (100)

A free-text transaction description, up to 100 characters.

Relationships
sourceAccount

Relationship linking the instruction to the source account.

destinationAccount

Relationship linking the instruction to the destination account.

Response

HTTP 200 (OK)

Response body will contain the updated JSON:API resource of type issAccountBalanceTransfers .

Delete Account Balance Transfer

Deletion of an unprocessed instruction. Deletion is not allowed for transfers which has been Completed (002).

Request

DELETE https://wsmdemo.rs2.com/wsm/jsonapi/issAccountBalanceTransfers/transactionSlip=22700014799&sundryType=038&transferType=951

Request Headers

AuthorizationBearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Acceptapplication/vnd.api+json
Content-Typeapplication/vnd.api+json

Response

HTTP 204 (No Content)

Response body will contain the deleted JSON:API resource of type issAccountBalanceTransfers .

Billing Cycle Changes

This section includes sample use cases to be used in retrieving, creating, updating (correcting or canceling), and deleting a billing cycle change instruction. Billing cycle definitions use case is there to retrieve all available billing cycle setup in BankWorks. Filters can be added in order to choose one billing cycle definition which the client account can switch to during the instruction creation.

All Billing Cycle Definitions

This request retrieves all billing cycle definitions.

Request

GET https://wsmdemo.rs2.com/wsm/jsonapi/billingCycleDefinitions

Request Headers

AuthorizationBearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Acceptapplication/vnd.api+json
Content-Typeapplication/vnd.api+json
Crnk-compacttrue

Response

HTTP 200 (OK)

Response body will contain the requested JSON:API resource of type billingCycleDefinitions .

Billing Cycle Instructions with Account

This request will retrieve the billing instruction/s for a specified account and will also return the account details.

Request

GET https://wsmdemo.rs2.com/wsm/jsonapi/billingCycleInstructions?include=issAccount,billingCycleDefinition

Request Headers

AuthorizationBearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Acceptapplication/vnd.api+json
Content-Typeapplication/vnd.api+json
Crnk-compacttrue

Request Parameters

filter[issAccount.accountNumber] 90116209002
include issAccount,billingCycleDefinition

Response

HTTP 200 (OK)

Response body will contain the requested JSON:API resource of type billingCycleInstructions with issAccount,billingCycleDefinitionas included resources.

Add a Billing Cycle Instruction

This request will create a billing cycle instruction. Required relationships must be provided. A relationship to billing cycle definition will serve as the new billing cycle the account will switch to.

Request

POST https://wsmdemo.rs2.com/wsm/jsonapi/billingCycleInstructions

Request Headers

AuthorizationBearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Acceptapplication/vnd.api+json
Content-Typeapplication/vnd.api+json
Crnk-compacttrue

Request Body

A JSON:API resource of type billingCycleInstructions with the following attributes:

Name Description
newBillingCycle
string (3)

Indicates the new billing cycle to be used following instruction execution.

Refer to API Data Mapping documentation for possible values.

newCycleStart
date

Indicates the next cycle starting date.

newCycleEnd
date

Indicates the end date of the first billing cycle generated based on the newly selected billing cycle.

originalBillingCycle
string (3)

Indicates the current billing cycle applied to the account. Once the instruction is successfully executed, the billing cycle will be updated to the newBillingCycle value.

Refer to API Data Mapping documentation for possible values.

originalCycleEnd
date

A date indicating the closure of the current active cycle. As part of the end of cycle processing, the billing cycle change instruction will be processed and the account billing cycle updated.

status
string (3)

Indicates the current processing status of the instruction. Pending instructions have a status of (101 - Entered) and once processed will show a status of (102- Completed). One can also cancel an instruction provided the current status is not yet completed.

Refer to API Data Mapping documentation for possible values.

recordDate
date

The record creation date.

Relationships
issAccount

An account for which the billing instruction applies to.

billingCycleDefinition
required

Billing cycle definition of the new billing cycle linked to this instruction.

Response

Add a Billing Cycle Instruction : HTTP 202 (Accepted)

Only User-defined billing cycle allowed : HTTP 403 (Forbidden)

Response body will contain the created JSON:API resource of type billingCycleInstructions .

Correct a New Billing Cycle Instruction

This request will correct the new billing cycle from an existing instruction in case a mistake was made.

Request

PATCH https://wsmdemo.rs2.com/wsm/jsonapi/billingCycleInstructions/{{billingCycleInstructionId}}

Request Headers

AuthorizationBearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Acceptapplication/vnd.api+json
Content-Typeapplication/vnd.api+json
Crnk-compacttrue

Request Body

A JSON:API resource of type billingCycleInstructions with the following attributes:

Name Description
newBillingCycle
string (3)

Indicates the new billing cycle to be used following instruction execution.

Refer to API Data Mapping documentation for possible values.

newCycleStart
date

Indicates the next cycle starting date.

newCycleEnd
date

Indicates the end date of the first billing cycle generated based on the newly selected billing cycle.

originalBillingCycle
string (3)

Indicates the current billing cycle applied to the account. Once the instruction is successfully executed, the billing cycle will be updated to the newBillingCycle value.

Refer to API Data Mapping documentation for possible values.

originalCycleEnd
date

A date indicating the closure of the current active cycle. As part of the end of cycle processing, the billing cycle change instruction will be processed and the account billing cycle updated.

status
string (3)

Indicates the current processing status of the instruction. Pending instructions have a status of (101 - Entered) and once processed will show a status of (102- Completed). One can also cancel an instruction provided the current status is not yet completed.

Refer to API Data Mapping documentation for possible values.

recordDate
date

The record creation date.

Relationships
issAccount

An account for which the billing instruction applies to.

billingCycleDefinition
required

Billing cycle definition of the new billing cycle linked to this instruction.

Response

HTTP 200 (OK)

Response body will contain the updated JSON:API resource of type billingCycleInstructions .

Cancel Billing Cycle Instruction

This request will cancel the instruction (status 103) provided the current status is not yet Completed (102).

Request

PATCH https://wsmdemo.rs2.com/wsm/jsonapi/billingCycleInstructions/{{billingCycleInstructionId}}

Request Headers

AuthorizationBearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Acceptapplication/vnd.api+json
Content-Typeapplication/vnd.api+json
Crnk-compacttrue

Request Body

A JSON:API resource of type billingCycleInstructions with the following attributes:

Name Description
newBillingCycle
string (3)

Indicates the new billing cycle to be used following instruction execution.

Refer to API Data Mapping documentation for possible values.

newCycleStart
date

Indicates the next cycle starting date.

newCycleEnd
date

Indicates the end date of the first billing cycle generated based on the newly selected billing cycle.

originalBillingCycle
string (3)

Indicates the current billing cycle applied to the account. Once the instruction is successfully executed, the billing cycle will be updated to the newBillingCycle value.

Refer to API Data Mapping documentation for possible values.

originalCycleEnd
date

A date indicating the closure of the current active cycle. As part of the end of cycle processing, the billing cycle change instruction will be processed and the account billing cycle updated.

status
string (3)
required

Indicates the current processing status of the instruction. Pending instructions have a status of (101 - Entered) and once processed will show a status of (102- Completed). One can also cancel an instruction provided the current status is not yet completed.

Refer to API Data Mapping documentation for possible values.

recordDate
date

The record creation date.

Relationships
issAccount

An account for which the billing instruction applies to.

billingCycleDefinition

Billing cycle definition of the new billing cycle linked to this instruction.

Response

HTTP 200 (OK)

Response body will contain the updated JSON:API resource of type billingCycleInstructions .

Delete Billing Cycle Instruction

Deletion is only allowed for Completed (102) instructions.

Request

DELETE https://wsmdemo.rs2.com/wsm/jsonapi/billingCycleInstructions/{{billingCycleInstructionId}}

Request Headers

AuthorizationBearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Acceptapplication/vnd.api+json
Content-Typeapplication/vnd.api+json
Crnk-compacttrue

Response

Response body will contain the deleted JSON:API resource of type billingCycleInstructions .

Installment Instructions

This section contains use cases in order to perform various requests for installment instructions including retrieval, creation, modification, and deletion of a record. Please see individual requests for more information.

All Installment Instructions

This request will retrieve all installment instructions.

Request

GET https://wsmdemo.rs2.com/wsm/jsonapi/installmentInstructions

Request Headers

AuthorizationBearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Content-Typeapplication/vnd.api+json
Acceptapplication/vnd.api+json
Crnk-Compacttrue

Response

Response body will contain the requested JSON:API resource of type installmentInstructions .

One Instruction with relationships

This will retrieve one instruction record based on the resource id passed in the URL request.

Request

GET https://wsmdemo.rs2.com/wsm/jsonapi/installmentInstructions/installmentSlip=14016403497?include=card,contracts.cardholder,sourceAccount,destinationAccount

Request Headers

AuthorizationBearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Content-Typeapplication/vnd.api+json
Acceptapplication/vnd.api+json
Crnk-Compacttrue

Request Parameters

include card,contracts.cardholder,sourceAccount,destinationAccount

Response

HTTP 200 (OK)

Response body will contain the requested JSON:API resource of type installmentInstructions with card,contracts.cardholder,sourceAccount,destinationAccountas included resources.

Add Installment Instruction

This will create an installment instruction provided no pending instruction was created or was not converted yet to installments for the given transactionSlip. A cardholder’s contract must be qualified ie. it has an Installments account and create-on-demand enabled for the instruction to be created. Minimum number of installments is 2.

Request

POST https://wsmdemo.rs2.com/wsm/jsonapi/installmentInstructions

Request Headers

AuthorizationBearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Content-Typeapplication/vnd.api+json
Acceptapplication/vnd.api+json
Crnk-Compacttrue

Request Body

A JSON:API resource of type installmentInstructions with the following attributes:

Name Description
transactionSlip
string (11)
required

Slip reference of the original transaction to be converted to installments.

Example: 00300011314

transactionInformation
object

Information on the original transaction to be converted to installments.

Name Description
accountAmount
object

Amount of the transaction converted to account’s currency if different than original transaction currency.

transactionAmount
object

Amount of the original transaction in originating transaction’s currency.

installmentAmount
object

Regular installment amount to be paid after initial payment or first installment. This can be provided on POST/PATCH request or automatically calculated.

Name Description
value
decimal

The quantative decimal monetary amount (eg. 1.1)

currency
string

The ISO 4217 currency code (eg. 'EUR')

firstInstallmentAmount
object

Initial payment for the installment.

Name Description
value
decimal

The quantative decimal monetary amount (eg. 1.1)

currency
string

The ISO 4217 currency code (eg. 'EUR')

lastInstallment
object

Calculated amount last installment payment dependent on initial and regular payments.

Name Description
value
decimal

The quantative decimal monetary amount (eg. 1.1)

currency
string

The ISO 4217 currency code (eg. 'EUR')

loanAmount
object

Calculated amount for the transaction to be converted to installments with interest rate if applicable.

Name Description
value
decimal

The quantative decimal monetary amount (eg. 1.1)

currency
string

The ISO 4217 currency code (eg. 'EUR')

interestPercent
number

Interest percentage of loan amount.

numberOfInstallments
string (3)

Number of installments including the first and last installment.

Refer to API Data Mapping documentation for possible values.

status
string (3)

3-digit reference of the instruction status.

One of 008 (Approved), 007 (Entered), 002 (Completed)

Refer to API Data Mapping documentation for possible values.

merchantId
string (20)

Merchant number reference for which the transaction originated. This will be automatically populated for On-Us merchants. For non-OnUs merchant, ID will need to be provided on request.

merchantName
string

Descriptive name of the merchant for which the transaction occurred.

notes
string

Free-text note for the installment instruction.

recordDate
date

Date for when the instruction was created.

Relationships
card

Including this will provide card details for the installment instruction.

sourceAccount

This is the source account of the original transaction for which this instruction is created.

destinationAccount

This is the installment account for which the installment amounts will be transferred to.

contracts

The contract related to the instruction.

Response

HTTP 201 (Created)

Response body will contain the created JSON:API resource of type installmentInstructions .

Modify a Pending Instruction

If current processing status is Completed (002), modification is not allowed.

Request

PATCH https://wsmdemo.rs2.com/wsm/jsonapi/installmentInstructions/{{installmentInstructionId}}

Request Headers

AuthorizationBearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Content-Typeapplication/vnd.api+json
Acceptapplication/vnd.api+json
Crnk-Compacttrue

Request Body

A JSON:API resource of type installmentInstructions with the following attributes:

Name Description
transactionSlip
string (11)

Slip reference of the original transaction to be converted to installments.

Example: 00300011314

transactionInformation
object

Information on the original transaction to be converted to installments.

Name Description
accountAmount
object

Amount of the transaction converted to account’s currency if different than original transaction currency.

transactionAmount
object

Amount of the original transaction in originating transaction’s currency.

installmentAmount
object

Regular installment amount to be paid after initial payment or first installment. This can be provided on POST/PATCH request or automatically calculated.

Name Description
value
decimal

The quantative decimal monetary amount (eg. 1.1)

currency
string

The ISO 4217 currency code (eg. 'EUR')

firstInstallmentAmount
object

Initial payment for the installment.

Name Description
value
decimal

The quantative decimal monetary amount (eg. 1.1)

currency
string

The ISO 4217 currency code (eg. 'EUR')

lastInstallment
object

Calculated amount last installment payment dependent on initial and regular payments.

Name Description
value
decimal

The quantative decimal monetary amount (eg. 1.1)

currency
string

The ISO 4217 currency code (eg. 'EUR')

loanAmount
object

Calculated amount for the transaction to be converted to installments with interest rate if applicable.

Name Description
value
decimal

The quantative decimal monetary amount (eg. 1.1)

currency
string

The ISO 4217 currency code (eg. 'EUR')

interestPercent
number

Interest percentage of loan amount.

numberOfInstallments
string (3)

Number of installments including the first and last installment.

Refer to API Data Mapping documentation for possible values.

status
string (3)

3-digit reference of the instruction status.

One of 008 (Approved), 007 (Entered), 002 (Completed)

Refer to API Data Mapping documentation for possible values.

merchantId
string (20)

Merchant number reference for which the transaction originated. This will be automatically populated for On-Us merchants. For non-OnUs merchant, ID will need to be provided on request.

merchantName
string

Descriptive name of the merchant for which the transaction occurred.

notes
string

Free-text note for the installment instruction.

recordDate
date

Date for when the instruction was created.

Relationships
card

Including this will provide card details for the installment instruction.

sourceAccount

This is the source account of the original transaction for which this instruction is created.

destinationAccount

This is the installment account for which the installment amounts will be transferred to.

contracts

The contract related to the instruction.

Response

HTTP 200 (OK)

Response body will contain the updated JSON:API resource of type installmentInstructions .

Delete an Instruction

Deletion is not allowed if current processing status of the instruction is already Completed (002).

Request

DELETE https://wsmdemo.rs2.com/wsm/jsonapi/installmentInstructions/{{installmentInstructionId}}

Request Headers

AuthorizationBearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Content-Typeapplication/vnd.api+json
Acceptapplication/vnd.api+json
Crnk-Compacttrue

Response

Response body will contain the deleted JSON:API resource of type installmentInstructions .

FX Rates

This section contains sample use cases for Currency Rates and Currency Rates Spreads which are used to maintain the BankWORKS FX rates and respective spread amounts.

Currency Rates

This section covers use cases for currency conversion rates API.

Get Currency Rates of a Specific Currency

This sample request retrieves a currency rate of a specified currency.

Request

GET https://wsmdemo.rs2.com/wsm/jsonapi/currencyRates?filter[currency]=USD

Request Headers

AuthorizationBearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Acceptapplication/vnd.api+json
Content-Typeapplication/vnd.api+json
Crnk-compacttrue

Request Parameters

filter[currency] USD

Response

HTTP 200 (OK)

Response body will contain the requested JSON:API resource of type currencyRates .

Add Currency Rates

This sample request will add a new record for currency rate conversion.

Request

POST https://wsmdemo.rs2.com/wsm/jsonapi/currencyRates

Request Headers

AuthorizationBearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Acceptapplication/vnd.api+json
Content-Typeapplication/vnd.api+json
Crnk-compacttrue

Request Body

A JSON:API resource of type currencyRates with the following attributes:

Name Description
currency
string (3)
required

The currency SWIFT code to which the rate information applies. In cases where value consists of 3 digits, 998 means not applicable and 999 means applicable to all currencies.

Refer to API Data Mapping documentation for possible values.

baseCurrency
string (3)

Defines the currency in SWIFT code format to which all rates of the same category are expressed. In cases where value consists of 3 digits, 998 means not applicable and 999 means applicable to all currencies.

Refer to API Data Mapping documentation for possible values.

fxRateCategory
string (3)

Description of FX rate provider.

Refer to API Data Mapping documentation for possible values.

effectiveDate
date

The date and time in ISO 8601 format when the currency rate becomes effective, in conjunction with effectiveTime. If the effective date is not specified, then the current date + 1 at 00:00:00 is assumed.

groupIdNo
string (11)

When a currency rate is effected through an API call the value of this field is all zeroes. When currency rates are uploaded through a batch file, the file number is inserted in this field. This enables the user to query all the currency rates pertaining to a particular file load.

calculationBase
string (3)

Defines if the rate will be used as loaded, multiplied or divided.

Refer to API Data Mapping documentation for possible values.

rateFormula
string (3)

Defines how the middle rate is being expressed, Standard, Inverted.

Refer to API Data Mapping documentation for possible values.

middleRate
number

FX middle rate. Maximum allowed length (including decimal point) is 16.

purchaseRate
number

FX buy rate. Maximum allowed length (including decimal point) is 16.

salesRate
number

FX sell rate. Maximum allowed length (including decimal point) is 16.

Response

HTTP 0 ()

Response body will contain the created JSON:API resource of type currencyRates .

Modify Currency Rates

This sample request will modify a currency rate conversion.

Request

PATCH https://wsmdemo.rs2.com/wsm/jsonapi/currencyRates/currency=EUR&effectiveDate=2023-09-01T00:00&fxRateCategory=001

Request Headers

AuthorizationBearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Acceptapplication/vnd.api+json
Content-Typeapplication/vnd.api+json
Crnk-compacttrue

Request Body

A JSON:API resource of type currencyRates with the following attributes:

Name Description
baseCurrency
string (3)

Defines the currency in SWIFT code format to which all rates of the same category are expressed. In cases where value consists of 3 digits, 998 means not applicable and 999 means applicable to all currencies.

Refer to API Data Mapping documentation for possible values.

groupIdNo
string (11)

When a currency rate is effected through an API call the value of this field is all zeroes. When currency rates are uploaded through a batch file, the file number is inserted in this field. This enables the user to query all the currency rates pertaining to a particular file load.

calculationBase
string (3)

Defines if the rate will be used as loaded, multiplied or divided.

Refer to API Data Mapping documentation for possible values.

rateFormula
string (3)

Defines how the middle rate is being expressed, Standard, Inverted.

Refer to API Data Mapping documentation for possible values.

middleRate
number

FX middle rate. Maximum allowed length (including decimal point) is 16.

purchaseRate
number

FX buy rate. Maximum allowed length (including decimal point) is 16.

salesRate
number

FX sell rate. Maximum allowed length (including decimal point) is 16.

Response

HTTP 0 ()

Response body will contain the updated JSON:API resource of type currencyRates .

Delete Currency Rates

This sample request will delete a currency conversion entry.

Request

DELETE https://wsmdemo.rs2.com/wsm/jsonapi/currencyRates/currency=EUR&effectiveDate=2023-09-01T00:00&fxRateCategory=001

Request Headers

AuthorizationBearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Acceptapplication/vnd.api+json
Content-Typeapplication/vnd.api+json
Crnk-compacttrue

Response

HTTP 204 (No Content)

Response body will contain the deleted JSON:API resource of type currencyRates .

Currency Rate Spreads

This section covers the use cases for grouping of currency rates by FX categories.

Get Currency Rates Spread of a specified Currency

This request will return a curerncy rate spread for a specified currency.

Request

GET https://wsmdemo.rs2.com/wsm/jsonapi/currencyRateSpreads?filter[currency]=USD

Request Headers

AuthorizationBearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Acceptapplication/vnd.api+json
Content-Typeapplication/vnd.api+json
Crnk-compacttrue

Request Parameters

filter[currency] USD

Response

HTTP 0 ()

Response body will contain the requested JSON:API resource of type currencyRateSpreads .

Add Currency Rates Spread

This request will add a record for currency rate spreads.

Request

POST https://wsmdemo.rs2.com/wsm/jsonapi/currencyRateSpreads

Request Headers

AuthorizationBearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Acceptapplication/vnd.api+json
Content-Typeapplication/vnd.api+json
Crnk-compacttrue

Request Body

A JSON:API resource of type currencyRateSpreads with the following attributes:

Name Description
currency
string (3)
required

The currency in SWIFT code format to which the rate information applies. In cases where value consists of 3 digits, 998 means not applicable and 999 means applicable to all currencies.

Refer to API Data Mapping documentation for possible values.

baseCurrency
string (3)

Defines the currency in SWIFT code format to which all rates of the same category are expressed. In cases where value consists of 3 digits, 998 means not applicable and 999 means applicable to all currencies.

Refer to API Data Mapping documentation for possible values.

fxRateCategory
string (3)
required

Description of FX rate provider eg. Own, VISA etc.

Refer to API Data Mapping documentation for possible values.

effectiveDate
date
required

The date in ISO 8601 format when the currency rate becomes effective. If an effective date is not provided, the current system date is assumed.

percentFxSpread
string (3)

Defines whether percentage FX spread is applied for the particular FX rate category.

Refer to API Data Mapping documentation for possible values.

purchaseSpread
number

Value used to calculate purchase rate if spread is applied. Maximum allowed length (including decimal point) is 16.

salesSpread
number

Value used to calculate sales rate if spread applied. Maximum allowed length (including decimal point) is 16.

percentSalesSpread
number

Percentage used to calculate sales rate if spread applied. Field open only if percentage FX spread flag set to Yes - 001. Maximum allowed length (including decimal point) is 9.

percentPurchaseSpread
number

Percentage used to calculate purchase rate if spread is applied. Only applicable if percentFXSpread flag is Yes - 001. Maximum allowed length (including decimal point) is 9.

fluctuationThreshold
number

Tolerated fluctuation between the FX rate being input and the latest effective FX rate.

maximum: 999999999

recordDate
date

The record creation date.

Response

HTTP 0 ()

Response body will contain the created JSON:API resource of type currencyRateSpreads .

Modify Currency Rates Spreads

This request will modify a specific record of currency rate spreads.

Request

PATCH https://wsmdemo.rs2.com/wsm/jsonapi/currencyRateSpreads/currency=EUR&effectiveDate=2022-04-01&fxRateCategory=001

Request Headers

AuthorizationBearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Acceptapplication/vnd.api+json
Content-Typeapplication/vnd.api+json
Crnk-compacttrue

Request Body

A JSON:API resource of type currencyRateSpreads with the following attributes:

Name Description
baseCurrency
string (3)

Defines the currency in SWIFT code format to which all rates of the same category are expressed. In cases where value consists of 3 digits, 998 means not applicable and 999 means applicable to all currencies.

Refer to API Data Mapping documentation for possible values.

percentFxSpread
string (3)

Defines whether percentage FX spread is applied for the particular FX rate category.

Refer to API Data Mapping documentation for possible values.

purchaseSpread
number

Value used to calculate purchase rate if spread is applied. Maximum allowed length (including decimal point) is 16.

salesSpread
number

Value used to calculate sales rate if spread applied. Maximum allowed length (including decimal point) is 16.

percentSalesSpread
number

Percentage used to calculate sales rate if spread applied. Field open only if percentage FX spread flag set to Yes - 001. Maximum allowed length (including decimal point) is 9.

percentPurchaseSpread
number

Percentage used to calculate purchase rate if spread is applied. Only applicable if percentFXSpread flag is Yes - 001. Maximum allowed length (including decimal point) is 9.

fluctuationThreshold
number

Tolerated fluctuation between the FX rate being input and the latest effective FX rate.

maximum: 999999999

Response

HTTP 0 ()

Response body will contain the updated JSON:API resource of type currencyRateSpreads .

Delete Currency Rates Spreads

This request will delete a currency rate spread record.

Request

DELETE https://wsmdemo.rs2.com/wsm/jsonapi/currencyRateSpreads/currency=EUR&effectiveDate=2022-04-01&fxRateCategory=001

Request Headers

AuthorizationBearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Acceptapplication/vnd.api+json
Content-Typeapplication/vnd.api+json
Crnk-compacttrue

Response

HTTP 204 (No Content)

Response body will contain the deleted JSON:API resource of type currencyRateSpreads .

Authorisations

This section contains a list of online authorization use cases that can be handled using the /authorisations API.

Get Auth. to Reverse

This request returns an authorisation identified by the retrievalReference value. Other filtering criteria such as transactionDate or other attributes may be used if desired. The attributes returned are a portion of those available as specified in the request URL.

Request

GET https://wsmdemo.rs2.com/wsm/jsonapi/authorisations?filter[retrievalReference]=987932704509&fields=transactionStatus,transactionDate,amount,responseCode,authorisationCode,stan,retrievalReference,transmissionDate,messageTypeId

Request Headers

AuthorizationBearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Content-Typeapplication/vnd.api+json
Acceptapplication/vnd.api+json
Crnk-Compacttrue

Request Parameters

filter[retrievalReference] 987932704509
fields transactionStatus,transactionDate,amount,responseCode,authorisationCode,stan,retrievalReference,transmissionDate,messageTypeId

Response

Get Auth. to Reverse - Internal FT : HTTP 200 (OK)

Get Auth. to Reverse - External FT : HTTP 200 (OK)

Response body will contain the requested JSON:API resource of type authorisations .

Authorization Reversal

A reversal authorization can be sent to cancel (void)an authorisation that has not been cleared.

This request creates a new authorization to cancel out the original authorization by providing it in the originalAuth relationship field. Full amount reversals are supported. The reason for reversal must be provided. Refer to /authorisations resource documentation for a list of possible values.

Request

POST https://wsmdemo.rs2.com/wsm/jsonapi/authorisations

Request Headers

AuthorizationBearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Acceptapplication/vnd.api+json
Content-Typeapplication/vnd.api+json
Crnk-Compacttrue

Request Body

A JSON:API resource of type authorisations with the following attributes:

Name Description
messageTypeId
string (4)
required

‘0420’ must be provided to indicate a reversal advice.

transmissionDate
string

The transaction date and time at point of service in UTC 0, expressed in ISO 8601 format.

reasonCode
string (2)
required

2-digit ISO code value to indicate the reason code for reversal advice.

  • 12 - User cancellation
  • 68 - Timeout
stan
string (6)

The System Trace Audit Number. A six digit code that must be unique for an online request. Used in conjunction with the transmissionDate and messageType ID to uniquely identify an authorisation.

Relationships
originalAuth
required

Links an authorization to another authorization for specific scenarios such as reversal, where the reversal must cancel out an existing authorization. Refer to use cases for more specific information.

Response

Reversal - Internal FT : HTTP 201 (Created)

Reversal - External FT : HTTP 201 (Created)

Response body will contain the created JSON:API resource of type authorisations .