Learning Central

Client Services

North America

clientsupport@svb.com
1.800.774.7390 | 408.654.4636
5:00 AM – 5:30 PM PT M-F

United Kingdom

ukclientservice@svb.com
0800.023.1441 | +44.207.367.7881
8:00 AM – 1:30 AM GMT

Bill Pay Classic

1.866.321.6563
4:30 AM PT - 11:00 PM PT M-F

Card Services

Cards Issued in the U.S.

cardservices@svb.com
1.866.553.3481
001.408.654.1039 (international)

Cards Issued in the UK
Support, lost, or stolen

0800.023.1062
+44.0.207.367.7852 (international)

Elite Cards

1.866.940.5920 | 408.654.7720

Lost or Stolen Cards

1.844.274.0771
001.408.654.1039 (international)

FX Trade Desk

North America

1.888.313.4029
IntFXT@svb.com
5:00 AM PT – 4:00 PM PT

United Kingdom

+1.44.0.207.367.7880
ukfxtraders@svb.com
8:00 AM BST – 5:OO PM BST

SVB Asset Management

1.866.719.9117
samoperations@svb.com

SVB Cash Sweep

1.800.774.7390 | 408.654.4636
clientservice@svb.com

More Support Contacts

API Services for UK Accounts

APIs noted below are based on Version 3.1 of Open Banking (OBIE) standards and definitions, and are currently not in SVB’s production platform. Note: These will be introduced, as we will transition to Version 3.1 later in 2019.

SVB has published a set of APIs to enable Payment Initiation Services Providers (PISPs) and Account Information Services Providers (AISPs) to develop applications that would allow SVB's clients to view account information and initiate payments using their UK accounts held at SVB. The APIs are classified in to these broad categories:

  • UK Authentication Services:  APIs that enable AISPs, PISPs and Confirmation of Funds to generate access tokens and initiate consent authorization workflows on behalf of their users.
  • UK Account Services:  APIs that enable AISPs to retrieve account information on behalf of SVB's clients, provided the client has consented the AISP to access account information.
  • UK Payment Services:  APIs that enable PISPs to initiate following payments on behalf of SVB's clients from the client's accounts held at SVB UK, provided the client has consented to the payment:
    • Domestic Payments (Faster Payments, CHAPS, BACS, Transfers)
    • Domestic Scheduled Payments (Faster Payments, CHAPS, BACS)
    • Domestic Standing Orders (Faster Payments, CHAPS, BACS)
    • International Payments
    • International Scheduled Payments (Only Cross Border Same Currency & SEPA)
    • International Standing Orders (Only Cross Border Same Currency & SEPA)
    • File Payments
  • UK Confirmation of Funds: APIs that enable AISPs to retrieve fund confirmation details from CBPII on behalf of SVB's clients, provided the client has consented the AISP to access account information.
  • Open Banking Dynamic Client Registration: For TPP registration via the Open Banking Implementation Entity (OBIE).

The documentation below sets out the functions, attributes and outputs which should be used to develop applications that call our logic. Once you have reviewed this document, our Sandbox and registration for test and production can be found through the following link: https://dev.svb.com/

See below to review the documentation for the APIs currently available. 

Release Notes:

V3.1 aligns with the Open Banking V3.1 schema and implements the domestic-payments endpoint in place of prior version payments endpoint. 

For payments in the sandbox, the following endpoints are available:

 

Payment Operation

Sandbox Endpoints

Domestic Payments

POST /V3.1/domestic-payment-consents

GET /V3.1/domestic-payment-consents/{ConsentId}

GET /V3.1/domestic-payment-consents/{ConsentId}/funds-confirmation

POST /V3.1/domestic-payments

GET /V3.1/domestic-payments/{DomesticPaymentId} 

Domestic Scheduled Payments

 

POST /V3.1/domestic-scheduled-payment-consents

GET /V3.1/domestic-scheduled-payment-consents/{ConsentId}

POST /V3.1/domestic-scheduled-payments

GET /v3.1/domestic-scheduled-payments/{DomesticScheduledPaymentId}

Domestic Standing Orders

POST /V3.1/domestic-standing-order-consents

GET /V3.1/domestic-standing-order-consents/{ConsentId}

POST /V3.1/domestic-standing-orders

GET /v3.1/domestic-standing-orders/{DomesticStandingOrderId}

File Payments

POST /V3.1/file-payment-consents

GET /V3.1/file-payment-consents/{ConsentId}

POST /V3.1/file-payment-consents/{ConsentId}/file

GET /V3.1/file-payment-consents/{ConsentId}/file

POST /V3.1/file-payments

GET /V3.1/file-payments/{FilePaymentId}

GET /V3.1/file-payments/{FilePaymentId}/report-file

International Payments

POST /V3.1/international-payment-consents

GET /V3.1/international-payment-consents/{ConsentId}

GET /V3.1/international-payment-consents/{ConsentId}/funds-confirmation

POST /V3.1/international-payments

GET /v3.1/international-payments/{InternationalPaymentId}

International Scheduled Payments

POST /V3.1/international-scheduled-payment-consents

GET /V3.1/international-scheduled-payment-consents/{ConsentId}

GET /V3.1/international-scheduled-payment-consents/{ConsentId}/funds-confirmation

POST /V3.1/international-scheduled-payments

GET /V3.1/international-scheduled-payments/{InternationalScheduledPaymentId}

International Standing Orders

POST /V3.1/international-standing-order-consents

GET /V3.1/international-standing-order-consents/{ConsentId}

POST /V3.1/international-standing-orders

GET /V3.1/international-standing-orders/{InternationalStandingOrderPaymentId}



UK Authentication Services

 

AUTHENTICATION

SVB uses OAuth2 to authenticate and authorize requests to our APIs. Calling the Authentication API triggers the online banking login flow and enables our customers to grant consent to a Third Party Provider (TPP) for Account Information or Payment Initiation purposes. After granting consent, the customer is redirected back to the TPP site.

POST /token:


This API generates the Oauth2 token for the client_credentials, authorization_code and refresh_token grant types.

The POST request must be made with the below mandatory attributes in the header:

Name

Description

Type

Authorization

The Basic Authorization header containing the encoded AISP/PISP credentials eg: Basic

String

Content-Type

Value should be application/x-www-form-urlencoded

String

 

The POST body should contain the following attributes:

 

Name

Description

Type

grant_type

Grant type must be client_credentials if you are generating either a payment request or an account request. Grant type must be authorization_code, if you are generating a resource access token post authorization. Grant type must be refresh_token, if you are refreshing an access token using a refresh token.

Available values : client_credentials, authorization_code, refresh_token

String

scope

Scope of access. Provide accounts if your transaction is an account request. Provide payments if your transaction is a payment request.

Available values: accounts, payments

String

code

Authorization Code must be provided only if you are generating a resource access token post authorization. This must be presented only if the grant_type is authorization_code.

String

redirect_uri

The redirect URL that the AISP/PISP has registered with SVB. This is the URL to which the end user must be redirected post authorization. This is a required field if you are generating a resource access token post authorization using authorization_code grant type

String

refresh_token

The value of the refresh_token to be presented with the refresh_token grant type to refresh the access token. Not applicable for the other supported grant types.

String

 

Types of possible responses are listed below:

 

Code

Description

200

OK- Success

400

Bad Request

302

Redirect response

401

Unauthorized

404

Not Found

500

Internal Server Error

 

Sample Success Response for the client_credentials grant type:

 

{

 "access_token": "4a79dc52-9a97-498e-8cb7-edbd5c4d",

 "token_type": "bearer",

 "expires_in": 72000,

 "scope": "accounts"

}

Sample Success Response for the authorization_code grant type:

 

{

 "access_token": "5cef1068-66a7-412f-9336-75be1f",

 "refresh_token": "bbb5c34a-0d08-4634-9941-84961b",

 "token_type": "bearer",

 "expires_in": 72000,

 "scope": "accounts"

}

Error Response Structure:

 

{

 "error": "string",

 "errorDescription": "string"

}

Error Response Example:

 

{

 "error": "invalid_scope",

 "error_description": "Invalid scope: account"

}

GET /authorize

 

This API will enable the authorization of a previously generated account request id/ payment Id by the TPP. Invoking this request with valid query parameters will trigger the consent flow which involves the online banking login flow.

 

The request must be made with the following query parameters;

 

Name

Description

Type

redirect_uri

The registered URI of the AISP/PISP to be invoked after user consent authorization

String

scope

The scope for which the token will be granted consent.

Possible values : Accounts, Payments

String

response_type

As per OAuth2.0 specs, this should be code

String

client_id

The API consumer key provided by SVB to the AISP/PISP

String

AccountRequestId

The AccountRequestId provided to the AISP by SVB. This must be provided when authorizing an account request

String

PaymentId

The PaymentId provided to the PISP by SVB. This must be provided when authorizing a payment request

String

 

Code

Description

302

Found

400

Bad Request

401

Unauthorized

404

Not Found

500

Internal Server Error

 

The Location header in the 302 response provides the authorization code in case of success and would specify the error in case of a valid error scenario, as query parameters. In case of any other error scenarios, the above HTTP codes will be returned.

 

UK Account Services

 

ACCOUNT SERVICES

Account information APIs provide information for SVB UK accounts held by the bank‘s customers. Our Account Services are open to authorised Account Information Service Providers (AISPs) to offer account aggregation services to customers. Our APIs provide details on transactions, balances, and account information for payment accounts held in the UK, compliant with PSD2 regulation.

The following API end points are available for AISPs to retrieve account information on behalf of SVB’s clients. AISPs can initiate a retrieval request upon the customer’s consent. It is the obligation of the AISP to request and manage the consent of clients.

 

POST /v3.1/account-access-consents

 

The account-access-requests endpoint allows the TPP to generate and acquire an account request id.

 

The POST request must be made with the below mandatory attributes in the header:

 

Name

Description

Type

Required

Authorization

An Authorization Bearer Token as per https://tools.ietf.org/html/rfc6750 sent as Bearer. This token must have been created using the post /token end point using client_credentials as the grant_type.

String

Yes

x-consumer-key

The API consumer key provided by SVB to AISP

String

Yes

x-customer-user-agent

Indicates the user-agent that the PSU is using.

String

Yes

x-fapi-customer-ip-address

The PSU's IP address if the PSU is currently logged in with the TPP.

String

No

x-fapi-customer-last-logged-time

The time when the PSU last logged in with the TPP. All dates in the HTTP headers are represented as RFC 7231 Full Dates. An example is below: Sun, 10 Sep 2017 19:43:31 UTC

String

No

x-fapi-financial-id

The unique id of the ASPSP to which the request is issued. The unique id will be issued by OB.

String

No

x-fapi-interaction-id

An RFC4122 UID used as a correlation id.

String

No

 

The POST request body must contain the following attributes:

 

Name

Description

Type

Required

obReadConsent1Param

Example Value:

{

  "Data": {

    "ExpirationDateTime": "2019-03-11T21:23:18.538Z",

    "Permissions": [

      "ReadAccountsBasic"

    ],

    "TransactionFromDateTime": "2019-03-11T21:23:18.538Z",

    "TransactionToDateTime": "2019-03-11T21:23:18.538Z"

  },

  "Risk": {}

}

Object

Yes

 

The following responses are possible:

 

Code

Description

200

OK

201

Account request successfully created

400

Bad Request

401

Unauthorized - any error caused due to invalid authentication credentials

403

Forbidden

404

Not Found

405

Method Not Allowed

415

Unsupported Media Type

429

Too Many Requests

500

Internal server error

On getting a 201 response, an account request object is presented with the following attributes:

 

Name

Description

Type

Data

The mandatory object containing permissions pertaining to the account-request

object

Data.Permissions

This is a list of permission strings that may be consented by the PSU and requested for authorization with SVB. Currently supported values for permissions are:

ReadAccountsBasic, ReadAccountsDetail, ReadBalances, ReadTransactionsDetail

array

Data.CreationDateTime

Date and time at which the resource was created. All dates in the JSON payloads are represented in ISO 8601 date-time format. All date-time fields in responses must include the timezone. An example is below: 2017-04-05T10:43:07+00:00

datetime

ExpirationDateTime

Date and time at which the resource will expire. All dates in the JSON payloads are represented in ISO 8601 date-time format.

datetime

Data.Status

Specifies the status of the account request resource.

Following statuses are possible: Authorised, AwaitingAuthorization, Rejected, Revoked

String

Data.accountRequestId

Unique identification as assigned to identify the account request resource.

String

 

Sample Request Body:

{

  "Data": {

    "Permissions": [

      "ReadAccountsDetail",

      "ReadBalances",

      "ReadTransactionsDetail",

      "ReadDirectDebits",

      "ReadStandingOrdersDetail",

      "ReadScheduledPaymentsBasic",

      "ReadStandingOrdersBasic",

      "ReadScheduledPaymentsDetail"

    ]

  },

  "Risk": {}

}

Sample Response Body:

{

    "Data": {

        "ConsentId": "5628e971-3ce2-40d3-8b0b-35cbaa1ec813",

        "CreationDateTime": "2019-03-11T22:11:26Z",

        "Status": "AwaitingAuthorisation",

        "StatusUpdateDateTime": "2019-03-11T22:11:26Z",

        "Permissions": [

            "ReadAccountsDetail",

            "ReadBalances",

            "ReadTransactionsDetail",

            "ReadDirectDebits",

            "ReadStandingOrdersDetail",

            "ReadScheduledPaymentsBasic",

            "ReadStandingOrdersBasic",

            "ReadScheduledPaymentsDetail"

        ]

    },

    "Risk": {},

}

Please refer to the documentation on the Authentication page for the GET /authorize API for details on authorizing an account request id.

 

GET /account-access-consents/{ConsentID}

 

The GET account-requests endpoint allows the AISP to retrieve the details pertaining to an account request id. The account request Id must be sent as a URL path parameter.

 

The GET request must be made with the below mandatory attributes in the header.

  

Name

Description

Type

Required

Authorization

An Authorization Bearer Token as per https://tools.ietf.org/html/rfc6750 sent as Bearer.

This token must have been created using the post /token end point using client_credentials as the grant_type.

String

Yes

ConsentId

Consent ID

String

Yes

x-consumer-key

The API consumer key provided by SVB to AISP/PISP

String

Yes

x-customer-user-agent

Indicates the user-agent that the PSU is using.

String

No

x-fapi-customer-ip-address

The PSU's IP address if the PSU is currently logged in with the TPP.

String

No

x-fapi-customer-last-logged-time

The time when the PSU last logged in with the TPP. All dates in the HTTP headers are represented as RFC 7231 Full Dates. An example is below: Sun, 10 Sep 2017 19:43:31 UTC

String

No

x-fapi-financial-id

The unique id of the ASPSP to which the request is issued. The unique id will be issued by OB.

String

No

x-fapi-interaction-id

An RFC4122 UID used as a correlation id.

String

No

 

The following responses are possible:

 

Code

Description

200

Account Request resource successfully retreived (response comes back with a single account request object)

400

Bad Request

401

Unauthorized - any error caused due to invalid authentication credentials

403

Forbidden

404

Not Found

405

Method Not Allowed

406

Not Acceptable

429

Too Many Requests

500

Internal server error

 

On getting a 200 response, an account request object is presented with the following attributes:

 

Name

Description

Type

Data

The mandatory object containing permissions pertaining to the account-request

object

Data.Permissions

This is a list of permission strings that may be consented by the PSU and requested for authorization with SVB. Currently supported values for permissions are:

"ReadAccountsDetail", "ReadBalances", "ReadTransactionsDetail", "ReadDirectDebits", "ReadStandingOrdersDetail", "ReadScheduledPaymentsBasic", "ReadStandingOrdersBasic", "ReadScheduledPaymentsDetail"

array

Data.CreationDateTime

Date and time at which the resource was created. All dates in the JSON payloads are represented in ISO 8601 date-time format. All date-time fields in responses must include the timezone. An example is below: 2017-04-05T10:43:07+00:00

datetime

Data.ExpirationDateTime

Date and time at which the resource will expire.

datetime

Data.StatusUpdateDateTime

Date and time of last update.

datetime

 Data.TransactionFromDateTime

Transaction data range start

datetime

Data.TransactionToDateTime

Transaction date range end

datetime

Data.Status

Specifies the status of the account request resource. Following statuses are possible: Authorised, AwaitingAuthorization,Rejected,Revoked

String

Data.accountRequestId

Unique identification as assigned to identify the account request resource.

String

 

Sample Response Body:

 

{

    "clientName": "psd2",

    "clientFullName": "psd2.applicaition.INC",

    "consentType": "accounts",

    "consentMeta": "{\"Data\": {\"Permissions\": [\"ReadAccountsDetail\", \"ReadBalances\", \"ReadTransactionsDetail\", \"ReadDirectDebits\", \"ReadStandingOrdersDetail\", \"ReadScheduledPaymentsBasic\", \"ReadStandingOrdersBasic\", \"ReadScheduledPaymentsDetail\"]}, \"Risk\": {}}",

    "status": "AwaitingAuthorisation",

    "createdTime": "2019-03-11T22:11:26.919283",

    "statusUpdatedTime": "2019-03-11T22:11:26.919283"

}

GET /v3.1/accounts

 

This API allows you to retrieve the list of accounts available for the user who has granted you the consent. These are the same accounts that user can access on Online banking/Mobile banking to view their balances and transactions.

 

You will receive a response with the list of accounts only if the following conditions pertaining to the user are met.

 

  • The company to which the user belongs must be an active SVB client and must be eligible to access account information through an AISP
  • The user must be in an active status that allows the user to logon to Online Banking or Mobile Banking
  • The user must be eligible to access account information through an AISP
  • The consent provided by the user must be active

 

The Get request must be invoked with the following parameters in the header:

 

Name

Description

Type

Authorization

An Authorization Bearer Token as per https://tools.ietf.org/html/rfc6750 sent as Bearer . The token provided in the request must be the resource access token generated using an authorized consent

String

x-consumer-id

The API consumer key provided by SVB to AISP

String

Content-Type

Value should be application/json

String

 

 

Name

Description

Type

Required

Authorization

An Authorization Bearer Token as per https://tools.ietf.org/html/rfc6750 sent as Bearer.

This token must have been created using the post /token end point using client_credentials as the grant_type.

String

Yes

x-consumer-key

The API consumer key provided by SVB to AISP

String

No

x-customer-user-agent

Indicates the user-agent that the PSU is using.

String

No

x-fapi-customer-ip-address

The PSU's IP address if the PSU is currently logged in with the TPP.

String

No

x-fapi-customer-last-logged-time

The time when the PSU last logged in with the TPP. All dates in the HTTP headers are represented as RFC 7231 Full Dates. An example is below: Sun, 10 Sep 2017 19:43:31 UTC

String

No

x-fapi-financial-id

The unique id of the ASPSP to which the request is issued. The unique id will be issued by OB.

String

Yes

x-fapi-interaction-id

An RFC4122 UID used as a correlation id.

String

No

 

The following responses are possible:

 

Code

Description

200

OK (response comes back with an array of accounts)

400

Bad request

401

Unauthorized - any error caused due to invalid authentication credentials

403

Forbidden

404

Not found

405

Method not allowed

406

Not Acceptable

429

Too Many Requests

500

No active accounts available for user or any other Internal server error

503

Internal SVB system currently unavailable.

An SVB backend service returned an error, preventing the API from processing the AISP, PISP, or CBPII request.

The TPP user will be redirected to SVB Online Banking.

 

On getting a 200, an array of accounts is presented with the following attributes:

 

Name

Description

Type

Account.AccountId

A unique and immutable identifier used to identify the account resource.

String

Account.Currency

Identification of the currency in which the account is held. Currency code as published in the latest edition of the international standard ISO 4217. Codes for the representation of currencies and funds.

String

Account.NickName

The nickname of the account (or account title), assigned by the account owner on Online Banking, in order to provide an additional means of identification of the account.

String

Account.Account.SchemeName

Represents the scheme associated with the account. Value is "SortCodeAccountNumber" if the account currency is GBP and "IBAN" if the account currency is not GBP

String

Account.Account.Identification

The identification assigned to the account by SVB.

For GBP accounts, this field is a combination of SVBís UK Sort Code 621000 followed by the 8 digit account number. E.g. "62100011111111"

For non-GBP accounts, this field represents the IBAN of the account. E.g. "GB246210001111112"

String

Account.Account.Name

Account product name. e.g. "Current Plus Account"

String

Account.Servicer.Scheme

Name of the identification scheme, in a coded form as published in an external list. This is available only for non-GBP accounts and the value "BICFI" is provided

String

Account.Servicer.Identification

Unique and unambiguous identification of the servicing institution. This is available only for non-GBP accounts. The BIC of SVB(SVBKGB2L) is provided in this response.

String

 

Sample Response:

 

{

    "Data": {

        "Account": [

            {

                "AccountId": "4wjT1_jgTGIHw2JOHCQLJw==",

                "Currency": "GBP",

                "AccountType": "Personal",

                "AccountSubType": "CurrentAccount",

                "Nickname": "Bills",

                "Account": [

                    {

                        "SchemeName": "UK.OBIE.SortCodeAccountNumber",

                        "Identification": "80200110203345",

                        "Name": "Mr Kevin",

                        "SecondaryIdentification": "00021"

                    }

                ]

            },

            {

                "AccountId": "uEfBBTPsTuu2U5N7OIhl5Q==",

                "Currency": "GBP",

                "AccountType": "Personal",

                "AccountSubType": "CurrentAccount",

                "Nickname": "Household",

                "Account": [

                    {

                        "SchemeName": "UK.OBIE.SortCodeAccountNumber",

                        "Identification": "80200110203348",

                        "Name": "Mr Kevin"

                    }

                ]

            }

        ]

    },

    "Links": {

        "Self": "https://api.alphabank.com/open-banking/v3.1/aisp/accounts/"

    },

    "Meta": {

        "TotalPages": 1

    }

}

 

Error Response:

 

Name

Description

error

Category of error

errorDescription

Description of error

 

Sample error response:

 

{

  "error": "forbidden_request",

  "errorDescription": "User not authorized to perform this operation"

}

Error Messages:

 

error

errorDescription

Possible reasons

internal_error

Internal Server Error

Any system errors or network outages happening within SVB

invalid_request

Request header must contain a valid token, please refer to our API documentation on generating or refreshing token

  • Token is not valid
  • Token has expired

invalid_request

Sort code not reachable via Faster Payments

Sort code provided in the Creditor account information is valid but not reachable via Faster Payments

invalid_request

Payment amount must be less than or equal to 250000.00 for Faster Payments

SVB allows faster payments up to 250,000 GBP per transaction. If the payment amount is greater than 250,000 GBP, this error message is displayed.

invalid_request

Invalid Currency. Please refer to developer portal for field specifications

If currency provided is other than GBP

 

GET /v3.1/Accounts/{AccountId}

 

This API allows you to retrieve the details of a specific account, for the user who has granted you the consent.

 

You will receive a response with the details of the specific account only if the following conditions pertaining to the user are met.

 

  1. The company to which the user belongs must be an active SVB client and must be eligible to access account information through an AISP
  2. The user must be in an active status that allows the user to logon to Online Banking or Mobile Banking
  3. The user must be eligible to access account information through an AISP
  4. The consent provided by the user must be active
  5. The user must be eligible to view information for the specific account over the Online banking / Mobile banking channels

 

A pre-requisite to use this API endpoint is having the encrypted AccountId that was made available to you through a GET /accounts API call.

 

The Get request must be invoked with the following parameters in the header and must contain the encrypted AccountId that you received through the GET /accounts API:

 

Name

Description

Type

Required

AccountID

A unique identifier used to identify the account resource.

String

Yes

Authorization

An Authorization Bearer Token as per https://tools.ietf.org/html/rfc6750 sent as Bearer.

This token must have been created using the post /token end point using client_credentials as the grant_type.

String

Yes

x-consumer-key

The API consumer key provided by SVB to AISP

String

No

x-customer-user-agent

Indicates the user-agent that the PSU is using.

String

No

x-fapi-customer-ip-address

The PSU's IP address if the PSU is currently logged in with the TPP.

String

No

x-fapi-customer-last-logged-time

The time when the PSU last logged in with the TPP. All dates in the HTTP headers are represented as RFC 7231 Full Dates. An example is below: Sun, 10 Sep 2017 19:43:31 UTC

String

No

x-fapi-financial-id

The unique id of the ASPSP to which the request is issued. The unique id will be issued by OB.

String

No

x-fapi-interaction-id

An RFC4122 UID used as a correlation id.

String

No

 

The following responses are possible:

 

Code

Description

200

OK (response comes back with an array of accounts containing a single record)

400

Bad request

401

Unauthorized - any error caused due to invalid authentication credentials

403

Forbidden

404

Not found

405

Method Not Allowed

406

Not Acceptable

429

Too Many Requests

500

No active accounts available for user

503

Internal SVB system currently unavailable.

An SVB backend service returned an error, preventing the API from processing the AISP, PISP, or CBPII request.

The TPP user will be redirected to SVB Online Banking.

 

On getting a 200, an array of accounts with one single account, is presented with the following attributes:

 

Name

Description

Type

Account.AccountId

A unique and immutable identifier used to identify the account resource.

String

Account.Currency

Identification of the currency in which the account is held. Currency code as published in the latest edition of the international standard ISO 4217'Codes for the representation of currencies and fundsí

String

Acccount.NickName

The nickname of the account (or account title), assigned by the account owner on Online Banking, in order to provide an additional means of identification of the account.

String

Account.Account.

SchemeName

Represents the scheme (e.g., OBIE for Open Banking) associated with the account. Value is of on the following:

 

UK.OBIE.SortCodeAccountNumber

String

Account.Account.

Identification

The identification assigned to the account by SVB.

For GBP accounts, this field is a combination of SVBís UK Sort Code 621000 followed by the 8 digit account number. E.g. "62100011111111"

For non-GBP accounts, this field represents the IBAN of the account. E.g. "GB246210001111112"

String

Account.Account.Name

Account product name. e.g. "Current Plus Account"

String

Account.Account. SecondaryIdentification

Account product code

String

Account.Servicer.

Scheme

Name of the identification scheme, in a coded form as published in an external list. This is available only for non-GBP accounts and the value "BICFI" is provided

String

Account.Servicer.

Identification

Unique and unambiguous identification of the servicing institution. This is available only for non-GBP accounts. The BIC of SVB(SVBKGB2L) is provided in this response.

String

 

 

 

Account.Servicer.SchemeName

Example: BICFI

String

Account.Subtype

Example: CurrentAccount

String

Account.AccountType

Example: Personal

String

Account.Description

Description of account

String

 

Sample GET Request:

 

GET /accounts/{accountId}

 

Sample Response:

 

{

    "Data": {

        "Account": [

            {

                "AccountId": "4wjT1_jgTGIHw2JOHCQLJw==",

                "Currency": "GBP",

                "AccountType": "Personal",

                "AccountSubType": "CurrentAccount",

                "Nickname": "Bills",

                "Account": [

                    {

                        "SchemeName": "UK.OBIE.SortCodeAccountNumber",

                        "Identification": "80200110203345",

                        "Name": "Mr Kevin",

                        "SecondaryIdentification": "00021"

                    }

                ]

            },

            {

                "AccountId": "uEfBBTPsTuu2U5N7OIhl5Q==",

                "Currency": "GBP",

                "AccountType": "Personal",

                "AccountSubType": "CurrentAccount",

                "Nickname": "Household",

                "Account": [

                    {

                        "SchemeName": "UK.OBIE.SortCodeAccountNumber",

                        "Identification": "80200110203348",

                        "Name": "Mr Kevin"

                    }

                ]

            }

        ]

    },

    "Links": {

        "Self": "https://api.alphabank.com/open-banking/v3.1/aisp/accounts/"

    },

    "Meta": {

        "TotalPages": 1

    }

}

Error Response:

 

Name

Description

error

Category of error

errorDescription

Description of error

 

Sample error response:

 

{

  "error": "forbidden_request",

  "errorDescription": "User not authorized to perform this operation"

}

Error Messages:

 

error

errorDescription

Possible reasons

forbidden_request

User not authorized to perform this operation

  • User not in a valid status that allows the user to logon to online or mobile banking channels
  • Client not in an active status
  • User not entitled to perform transactions using the API channel
  • User has not permissioned the third party to invoke the GET /accounts API

forbidden_request

No active accounts available for user

User is not entitled to view balances and transactions on any eligible account on online and mobile banking

invalid_request

Request header must contain a valid token, please refer to our API documentation on generating or refreshing token

  • Token is not valid
  • Token has expired

 

GET /v3.1/accounts/{accountId}/balances

 

This API allows you to retrieve the balances for a specific account, available for the user who has granted you the consent.

 

You will receive a response with the balances only if the following conditions are met:

 

  1. The company to which the user belongs must be an active SVB client and must be eligible to access account information through an AISP
  2. The user must be in an active status that allows the user to logon to Online Banking or Mobile Banking
  3. The user must be eligible to access account information through an AISP
  4. The consent provided by the user must be active
  5. The user must be eligible to view information for the specific account over the Online banking / Mobile banking channels
  6. The requested account must be active

 

A pre-requisite to use this API endpoint is having the AccountId that was made available to you through a GET /accounts API call.

 

The Get request must be invoked with the following parameters in the header and must contain the encrypted AccountId that you received through the GET /accounts API in the query string:

 

Name

Description

Type

Required

AccountID

A unique identifier used to identify the account resource.

String

Yes

Authorization

An Authorization Bearer Token as per https://tools.ietf.org/html/rfc6750 sent as Bearer.

This token must have been created using the post /token end point using client_credentials as the grant_type.

String

Yes

x-consumer-key

The API consumer key provided by SVB to AISP

String

No

x-customer-user-agent

Indicates the user-agent that the PSU is using.

String

No

x-fapi-customer-ip-address

The PSU's IP address if the PSU is currently logged in with the TPP.

String

No

x-fapi-customer-last-logged-time

The time when the PSU last logged in with the TPP. All dates in the HTTP headers are represented as RFC 7231 Full Dates. An example is below: Sun, 10 Sep 2017 19:43:31 UTC

String

No

x-fapi-financial-id

The unique id of the ASPSP to which the request is issued. The unique id will be issued by OB.

String

No

x-fapi-interaction-id

An RFC4122 UID used as a correlation id.

String

No

 

The following responses are possible:

 

Code

Description

200

OK (response comes back with an array of accounts containing a single record)

400

Bad request

401

Unauthorized - any error caused due to invalid authentication credentials

403

Forbidden

404

Not found

405

Method Not Allowed

406

Not Acceptable

429

Too Many Requests

500

No active accounts available for user

503

Internal SVB system currently unavailable.

An SVB backend service returned an error, preventing the API from processing the AISP, PISP, or CBPII request.

The TPP user will be redirected to SVB Online Banking.

 

On getting a 200, an array of account balances is presented with the following attributes:

 

Name

Description

Type

Balance

An array of balance records. This array will contain one record each for Ledger Balance (Represented as "InterimBooked") and Available Balance (Represented as "InterimAvailable)

Array

Balance.AccountId

A unique and immutable identifier used to identify the account resource.

String

Balance.Amount

Represents the Balance amount

 

Balance.Amount.Amount

Represents the absolute value of the balance amount.

Number

Balance.Amount.Currency

Account currency represented by a 3 character ISO currency code as prescribed in ISO 4217

String

Balance.CreditDebitIndicator

Indicates whether the balance provided in the record is a "Credit" or "Debit". A Credit balance indicates a positive balance and a debit balance indicates a negative balance

Number

Balance.Type

Indicates the type of balance presented in the record. Possible values are "InterimBooked" and "InterimAvailable".

String

Balance.DateTime

Date and Time at which the balance request was fulfilled by the API. Represented in Europe/London Timezone.

String

Balance.CreditLine

This tag presents the details of the credit line associated with an account. This tag is presented only if Balance.Type = "InterimAvailable".

Number 

Balance.CreditLine.Included

Implies whether the available balance includes an overdraft. Possible values are "true" and "false"

String

Balance.CreditLine.Amount

Credit limit assigned for the credit line

 

Balance.CreditLine.Amount.Amount

Absolute value of the credit limit assigned to the credit line. This value is "0" if "Included" flag is "false"

Number

Balance.CreditLine.Amount.Currency

Account currency represented by a 3 character ISO currency code as prescribed in ISO 4217

String

 

Enums:

 

Attribute

Enums

Description

Balance.Type

InterimBooked

Represents the ledger balance on the account which takes into consideration all posted transactions (excluding pending transactions).

InterimAvailable

Represents the available balance in the account including any overdraft limit associated with the account

 

Sample Response:

 

{

    "Data": {

        "Balance": [

            {

                "AccountId": "4wjT1_jgTGIHw2JOHCQLJw==",

                "CreditDebitIndicator": "Credit",

                "Type": "InterimAvailable",

                "DateTime": "2019-03-11T21:27:09.72-05:00",

                "Amount": {

                    "Amount": "1230.00",

                    "Currency": "GBP"

                },

                "CreditLine": [

                    {

                        "Included": true,

                        "Type": "Pre-Agreed",

                        "Amount": {

                            "Amount": "1000.00",

                            "Currency": "GBP"

                        }

                    }

                ]

            }

        ]

    },

 

Error Response:

 

Name

Description

error

Category of error

errorDescription

Description of error

 

Sample error response:

 

{

  "error": "forbidden_request",

  "errorDescription": "User not authorized to perform this operation"

}

Error Messages:

 

error

errorDescription

Possible reasons

forbidden_request

User not authorized to perform this operation

  • User not in a valid status that allows the user to logon to online or mobile banking channels
  • Client not in an active status
  • User not entitled to perform transactions using the API channel
  • User has not permissioned the third party to invoke the GET /accounts API

forbidden_request

No active accounts available for user

User is not entitled to view balances and transactions on any eligible account on online and mobile banking

Invalid_request

Request header must contain a valid token, please refer to our API documentation on generating or refreshing token

  • Token is not valid
  • Token has expired

Invalid_request

Invalid Account Id

Account Id not provided in the request

 

GET /v3.1/accounts/{accountId}/transactions

 

This API allows you to retrieve the transactions for a specific account, available for the user who has granted you the consent.

 

You will receive a response with the balances only if the following conditions are met:

 

  1. The company to which the user belongs must be an active SVB client and must be eligible to access account information through an AISP
  2. The user must be in an active status that allows the user to logon to Online Banking or Mobile Banking
  3. The user must be eligible to access account information through an AISP
  4. The consent provided by the user must be active
  5. The user must be eligible to view information for the specific account over the Online banking / Mobile banking channels
  6. The requested account must be active

 

This API must invoked with an AccountId and an optional "FromDate" and "ToDate". SVB will provide transaction data for a maximum period of 13 months at a time and 3 years of history is available at any point in time.

 

  1. If this API is invoked using a date range that is within 13 months and within 3 years from current date, data would be provided for the entire date range
  2. If the API is invoked with a date range that is greater than 13 months and within 3 years from current date, data would be provided only for a period of 13 months with the period ending on the specified "To Date"
  3. If the API is invoked with a date range that partly or entirely falls beyond 3 years from current date, data would be provided only for the requested period that overlaps with the last years and within 13 months
  4. If any part of the date range includes a future date, data would be provided for the future period only for 5 days from the current date (if data is available).
  5. If the API is invoked without specifying the from and to dates, data will be returned for the last 13 months from the current date
  6. If the API is invoked with just the "from date", data would be returned for a period of 13 months starting with the "from date". In case the 13 month period ends in a future date, data will be provided starting with from date up to 5 days after the current date
  7. If the API is invoked with only the "to date", data would be provided starting with the "to date" and going back in time by 13 months.

 

A pre-requisite to use this API endpoint is having the AccountId that was made available to you through a GET /accounts API call.

 

The Get request must be invoked with the following parameters:

 

Name

Description

Type

Mandatory

AccountId

Unique identifier provided by SVB for the account when making a GET /account call

String

Yes

fromBookingDateTime

The starting date of the date range for which transactions are requested.

Must be provided in ISO format without the timezone

String

No

toBookingDateTime

The ending date of the date range for which transactions are requested.

Must be provided in ISO format without the timezone

String

No

 

The following parameters must be provided in the request header:

 

Name

Description

Type

Required

AccountID

A unique identifier used to identify the account resource.

String

Yes

Authorization

An Authorization Bearer Token as per https://tools.ietf.org/html/rfc6750 sent as Bearer.

This token must have been created using the post /token end point using client_credentials as the grant_type.

String

Yes

fromBookingDateTime

The UTC ISO 8601 Date Time to filter transactions FROM NB Time component is optional - set to 00:00:00 for just Date. If the Date Time contains a timezone, the ASPSP must ignore the timezone component.

String

($date-time)

No

page

Page number will used for pagination.

Default is 1

Integer

No

toBookingDateTime

The UTC ISO 8601 Date Time to filter transactions TO NB Time component is optional - set to 00:00:00 for just Date. If the Date Time contains a timezone, the ASPSP must ignore the timezone component.

String

($date-time)

No

x-consumer-key

The API consumer key provided by SVB to AISP

String

No

x-customer-user-agent

Indicates the user-agent that the PSU is using.

String

No

x-fapi-customer-ip-address

The PSU's IP address if the PSU is currently logged in with the TPP.

String

No

x-fapi-customer-last-logged-time

The time when the PSU last logged in with the TPP. All dates in the HTTP headers are represented as RFC 7231 Full Dates. An example is below: Sun, 10 Sep 2017 19:43:31 UTC

String

No

x-fapi-financial-id

The unique id of the ASPSP to which the request is issued. The unique id will be issued by OB.

String

No

x-fapi-interaction-id

An RFC4122 UID used as a correlation id.

String

No

 

The following responses are possible:

 

Code

Description

200

OK (response comes back with an array of accounts containing a single record)

400

Bad request

401

Unauthorized - any error caused due to invalid authentication credentials

403

Forbidden

404

Not found

405

Method Not Allowed

406

Not Acceptable

429

Too Many Requests

500

No active accounts available for user

503

Internal SVB system currently unavailable.

An SVB backend service returned an error, preventing the API from processing the AISP, PISP, or CBPII request.

The TPP user will be redirected to SVB Online Banking.

 

On getting a 200, an array of account transactions is presented with the following attributes:

 

Name

Description

Type

Transaction

An array of transaction records. This array will contain one record for each accounting entry posted to the specified account

Array

Transaction.AccountId

A unique and immutable identifier used to identify the account resource.

String

Transaction.TransactionId

A unique identifier for each transaction. This identifier can be used to order the transactions chronologically

String

Transaction.TransactionReference

A reference identifier created for a transaction and is shared by all accounting entries that are part of the transaction. For example, if an outgoing payment results in a debit equivalent to the amount of payment and a debit corresponding to any fees associated with the payment, both accounting entries will have the same transaction reference. Hence this also helps to associate multiple accounting entries with a transaction performed.

String

Transaction.AddressLine

Address line 1

 

Transaction.Amount

Represents the amount of the transaction

 

Transaction.Amount.Amount

Represents the absolute value of the transaction amount.

Number

Transaction.Amount.Currency

Account currency represented by a 3 character ISO currency code as prescribed in ISO 4217

String

Transaction.CreditDebitIndicator

Indicates whether the transaction provided in the record is a Credit or Debit.

String

Transaction.Status

Status for all transactions will be Booked which implies that the transaction has been posted to the account permanently.

Pending transactions are currently not offered through our APIs

String

Transaction.BookingDateTime

Provides the booking date of the transaction in ISO format and in Europe/London timezone

String

Transaction.ValueDateTime

Provides the value date of the transaction in ISO format and in Europe/London timezone

String

Transaction.TransactionInformation

A detailed description of the transaction as appearing on the monthly account statement

String

Transaction.ProprietaryBankTransactionCode

Provides a transaction code associated with the transaction

 

Transaction.ProprietaryBankTransactionCode .Code

Provides the BAI code associated with the transaction.

Please refer to the list of BAI codes and their descriptions published on this developer portal

String

Transaction.ProprietaryBankTransactionCode .Issuer

Issuer of the code - "BAI"

String

Transaction.Balance

Provides details of running balance in the account after the transaction has been posted

 

Transaction.Balance.Amount

Running balance amount

 

Transaction.Balance.Amount.Amount

Absolute amount of the running balance

Number

Transaction.Balance.Amount.Currency

Account currency represented by a 3 character ISO currency code as prescribed in ISO 4217

String

Transaction.Balance.CreditDebitIndicator

Indicates whether the balance is a credit or a debit.

Credit indicates a positive running balance.

Debit indicates a negative running balance

String

Transaction.Balance.Type

The value InterimBooked is provided

String

 

Enums:

 

Attribute

Enums

Description

Transaction.CreditDebitIndicator

Credit

Transaction credits the account

Debit

Transaction debits the account

Transaction.Status

Booked

Transactions have been posted to the account and processed

Transaction.Balance.CreditDebitIndicator

Credit

Represents a positive balance

Debit

Represents a negative balance

 

BAI Codes:

 

BAI Code

Description

171

Loan Disbursement

174

Bank Giro Credit

195

Incoming Payment (UK)

206

Internal Transfer Credit

208

Incoming Payment (SWIFT)

252

Debit Reversal

266

Return Item Credit

295

ATM Credit

354

Interest Credit

359

Interest Adjustment Credit

369

Clearing Settlement Credit

391

Debit Mastercard Credit

398

Service Fee Reversal

399

Miscellaneous Credit

475

Paid Cheque

481

Loan Payment

495

Outgoing Payment (UK)

501

Incoming Direct Debit

506

Internal Transfer Debit

508

Outgoing Payment (SWIFT)

552

Credit Reversal

555

Unpaid Cheque Inward

566

Return Item Debit

595

ATM Withdrawal

654

Interest Charged

659

Interest Adjustment Debit

669

Clearing Settlement Debit

691

Debit MasterCard Fee

698

Service Fee

699

Miscellaneous Debit

721

Interest Paid (Credit on Loan)

722

Capital Repayment (Credit on Loan)

726

Loan Fees (Credit on Loan)

760

Loan Drawdown (Debit on Loan)

821

Debit Card Purchase

822

Debit Card Credit

824

Debit Card Refund

825

Debit Card Foreign Trx Fee

826

Debit Card Fee Refund

827

Incoming SEPA Payments

828

Outgoing SEPA Payments

829

Incoming BACS Payment

831

Outgoing BACS File

835

Unpaid Cheque Outward

836

Unpaid D/D

837

Unapplied BACS

964

Interest Withheld

 

Sample Response:

 

{

    "Data": {

        "Transaction": [

            {

                "AccountId": "4wjT1_jgTGIHw2JOHCQLJw==",

                "TransactionId": "123",

                "TransactionReference": "Ref 123",

                "CreditDebitIndicator": "Credit",

                "Status": "Booked",

                "BookingDateTime": "2019-02-26T05:22:58.5Z",

                "ValueDateTime": "2019-02-26T05:22:58.502Z",

                "Amount": {

                    "Amount": "10.00",

                    "Currency": "GBP"

                },

                "BankTransactionCode": {

                    "Code": "ReceivedCreditTransfer",

                    "SubCode": "DomesticCreditTransfer"

                },

                "ProprietaryBankTransactionCode": {

                    "Code": "Transfer",

                    "Issuer": "AlphaBank"

                },

                "TransactionInformation": "Cash from Aubrey",

                "Balance": {

                    "CreditDebitIndicator": "Credit",

                    "Type": "InterimBooked",

                    "Amount": {

                        "Amount": "230.00",

                        "Currency": "GBP"

                    }

                }

            }

        ]

    },

    "Links": {

        "Self": "http://dfw-vpz-apig04.ppdmz.local:9002/v3.1/sandbox/api/accounts/4wjT1_jgTGIHw2JOHCQLJw==/transactions?fromBookingDateTime=2017-12-05T00%3A00%3A00&toBookingDateTime=2018-01-02T23%3A59%3A59"

    },

    "Meta": {

        "TotalPages": 1,

        "FirstAvailableDateTime": "2019-02-06T05:22:58.502Z",

        "LastAvailableDateTime": "2019-03-08T05:22:58.502Z"

    }

}

 

 

Sample error response:

 

{

  "error": "forbidden_request",

  "errorDescription": "User not authorized to perform this operation"

}

Error Messages:

 

error

errorDescription

Possible reasons

invalid_request

User not authorized to perform this operation

  • User not in a valid status that allows the user to logon to online or mobile banking channels
  • Client not in an active status
  • User not entitled to perform transactions using the API channel
  • User has not permissioned the third party to invoke the GET /accounts API

forbidden_request

No active accounts available for user

User is not entitled to view balances and transactions on any eligible account on online and mobile banking

invalid_request

Invalid fromBookingDateTime

The fromBookingDateTime value provided is not in a valid format

invalid_request

Invalid toBookingDateTime

The toBookingDateTime value provided is not in a valid format

invalid_request

toBookingDateTime must fall after fromBookingDateTime

If toBookingDateTime is a date that occurs before fromBookingDateTime

invalid_request

Request header must contain a valid token, please refer to our API documentation on generating or refreshing token

  • Token is not valid
  • Token has expired

Invalid_request

Invalid Account Id

Account Id not provided in the request



UK Payment Services

 

PAYMENT INITIATION 

Payment APIs enable the transfer of funds from a client's account to a payee. Our Payment Initiation Services are open to authorised Payment Initiation Service Providers (PISPs) to offer payment and transfer services to clients. The initiation of transfer is done by the consumer, with the payee's account number provided by the PISP.

 

For initiating a transfer the user will have to provide the payment request Id and will have to authenticate using two-factor authentication following which an access token will be generated.

 

The following API end points are available for PISPs to initiate payments on behalf of SVB’s clients. PISPs will initiate a payment from a client's bank account upon the user's consent. It is the obligation of the PISP to request and manage the consent of clients. At this time, SVB’s API supports initiating Faster Payments only.  We will make additional payment schemes available over time.

 

POST /v3.1/domestic-payments-consents

 

The POST /domestic-payment-consents end point allows a PISP to create a payment request resource with SVB, by providing the requisite payment information.

 

The header of this POST request must contain the following information:

  

Name

Description

Type

Required

Authorization

An Authorization Bearer Token as per https://tools.ietf.org/html/rfc6750 sent as Bearer.

String

Yes

x-consumer-key

The API consumer key provided by SVB to AISP

String

Yes

x-customer-user-agent

Indicates the user-agent that the PSU is using.

String

No

x-fapi-customer-ip-address

The PSU's IP address if the PSU is currently logged in with the TPP.

String

No

x-fapi-customer-last-logged-time

The time when the PSU last logged in with the TPP. All dates in the HTTP headers are represented as RFC 7231 Full Dates. An example is below: Sun, 10 Sep 2017 19:43:31 UTC

String

No

x-fapi-financial-id

The unique id of the ASPSP to which the request is issued. The unique id will be issued by OB.

String

No

x-fapi-interaction-id

An RFC4122 UID used as a correlation id.

String

No

x-idempotency-key

Every request will be processed only once per x-idempotency-key. The Idempotency Key will be valid for 24 hours.

String

No

x-jws-signature

A detached JWS signature of the body of the payload.

String

No

 

The body of this POST request must contain the following information in the Data object:

 

Name

Description

Type

Required

Data.Initiation.

InstructionIdentification

Unique identification generated by the PISP to unambiguously identify the transaction. This identification is not passed on to the beneficiary

String

Yes

Data.Initiation.

EndtoEndIdentification

Unique reference generated by the PISP to internally reference the transaction. This identification is currently not being passed on to the beneficiary.

String

No

Data.Initiation.

LocalInstrument

Only Faster Payments are available today.

Enumerated list:

·         UK.OBIE.FPS

 

In the Sandbox, these are also available:

UK.OBIE.BACS

UK.OBIE.CHAPS

UK.OBIE.SEPA

String

Yes

Data.Initiation.

InstructedAmount.Amount

Amount

String

Yes

Data.Initiation.

InstructedAmount.Currency

Identification of the currency for the payment. Currency code as published in the latest edition of the international standard ISO 4217.

String

Yes

Data.Initiation.

CreditorAccount.
SchemeName

Provides the schemename.

Must be SortCodeAccountNumber for Faster Payments

String

Yes

Data.Initiation.

CreditorAccount.
Identification

Must provide the sort code and account number of the payee, for Faster Payments.

For Faster Payments, the length of this field must be 14. The first 6 characters of this field must be the Sort code and the next 8 characters must be the account number

String

Yes

Data.Initiation.

CreditorAccount.Name

Name of the payee.

String

Yes

Data.Initiation.

CreditorAccount.

SecondaryIdentification

Identification or reference number of the payee.

String

Yes

Data.Initiation.

RemittanceInformation.
Reference

Remittance reference number that is being provided by the originator of the payment. This information is sent to the payee as part of the payment

String

Yes

Data.Initiation.

RemittanceInformation.
Unstructured

Remittance information text that is being provided by the originator of the payment. This information is sent to the payee as part of the payment

String

Yes

Data.Risk.

PaymentContextCode

Provide the payment context. Possible values are:

  • BillPayment
  • EcommerceGoods
  • EcommerceServices
  • Other
  • PersonToPerson

Note: If risk information is not available, an empty Risk object must be passed in the JSON

String

No

Data.Risk.

MerchantCategoryCode

Category code conform to ISO 18245, related to the type of services or goods the merchant provides for the transaction.

Note: If risk information is not available, an empty Risk object must be passed in the JSON

String

No

Data.Risk. MerchantCustomerIdentification

 

String

No

Data.Risk.

DeliveryAddress

Address in this form:

"AddressLine": [

        "string"

      ],

      "BuildingNumber": "string",

      "Country": "string",

      "CountrySubDivision": [

        "string"

      ],

      "PostCode": "string",

      "StreetName": "string",

      "TownName": "string"

    },

 

 

 

The following responses are possible:

 

Code

Description

200

OK

201

Payment setup resource successfully created

400

Bad request

401

Unauthorized - any error caused due to invalid authentication credentials

403

Forbidden

404

Not found

405

Method Not Allowed

406

Not Acceptable

429

Too Many Requests

500

Internal server error

503

An SVB backend service returned an error, preventing the API from processing the AISP, PISP, or CBPII request.

The TPP user will be redirected to SVB Online Banking.

 

On getting a 201, a response with the following attributes is provided.

 

 

Name

Description

Type

Required

Data.Charges.Amount.

Amount

 

Amount

String

Yes

Data.Charges.Amount.

Currency

 

Identification of the currency for the payment. Currency code as published in the latest edition of the international standard ISO 4217.

String

Yes

Data.Charges.ConsentId

A valid ConsentId

String

Yes

Data.Charges.

ChargeBearer.

Example: BorneByCreditor

String

Yes

 

 

 

 

Data.DomesticPaymentId

Unique identification as assigned by SVB to uniquely identify the payment setup resource.

String

Yes

Data.CreationDateTime

Date and time at which the payment resource was created. All dates in the JSON payloads are represented in ISO 8601 date-time format. All date-time fields in responses must include the timezone. An example is below: 2017-04-05T10:43:07+00:00

Date

Time

Yes

Data.DomesticPaymentId

Unique identification as assigned by SVB to uniquely identify the payment setup resource.

String

Yes

Data. ExpectedExecutionDateTime

Date and time at which the payment resource was created.

Date

Time

Yes

Data. ExpectedSettlementDateTime

Date and time at which the payment resource was created.

Date

Time

Yes

 

 

 

 

Data.Initiation.

EndtoEndIdentification

As provided in the request

String

No

Data.Initiation. InstructionIdentification

As provided in the request

String

Yes

Data.Initiation.

LocalInstrument

As provided in the request

String

Yes

Data.Initiation.

InstructedAmount.Amount

As provided in the request

Number

Yes

Data.Initiation.

InstructedAmount.
Currency

As provided in the request

String

Yes

Data.Initiation.

CreditorAccount.
Identification

As provided in the request

String

Yes

Data.Initiation.

CreditorAccount.Name

As provided in the request

String

Yes

Data.Initiation.

CreditorAccount.

SchemeName

As provided in the request

String

Yes

Data.Initiation.

CreditorAccount.

SecondaryIdentification

As provided in the request

String

Yes

Data.Initiation

CreditorPostalAddress

An address in the format:

 

"AddressLine": [

          "string"

        ],

        "AddressType": "Business",

        "BuildingNumber": "string",

        "Country": "string",

        "CountrySubDivision": "string",

        "Department": "string",

        "PostCode": "string",

        "StreetName": "string",

        "SubDepartment": "string",

        "TownName": "string"

      },

String

Yes

Data.Initiation

DebtorAccount.

Identification

As provided in the request

String

Yes

Data.Initiation

DebtorAccount.

Name

As provided in the request

String

Yes

Data.Initiation

DebtorAccount.

SchemeName

As provided in the request

String

Yes

Data.Initiation

DebtorAccount.

SecondaryIdentification

As provided in the request

String

Yes

Data.Initiation.

RemittanceInformation.
Reference

As provided in the request

String

Yes

Data.Initiation.

RemittanceInformation.
Unstructured

As provided in the request

String

Yes

 

 

 

 

Data.MultiAuthorisation.

ExpirationDateTime

As provided in the request

Date Time

No

Data.MultiAuthorisation.

LastUpdateTime

As provided in the request

Date Time

No

Data.MultiAuthorisation.

NumberReceived

As provided in the request

String

No

Data.MultiAuthorisation.

NumberRequired

As provided in the request

String

No

Data.MultiAuthorisation.

Status

As provided in the request

String

No

Data.Status

Specifies the status of the payment resource. Possible values are :

  • AcceptedTechnicalValidation- Payment resource has been created successfully
  • AcceptedCustomerProfile - Payment consent has been authorized by end user
  • Rejected - Payment resource has been rejected

String

Yes

Data.StatusUpdateDateTime

As provided in the request

String

Yes

 

 

Sample Request Body:

 

{

  "Data": {

    "Initiation": {

      "InstructionIdentification": "ACME412",

      "EndToEndIdentification": "FRESCO.21302.GFX.20",

      "LocalInstrument": "UK.OBIE.FPS",

      "InstructedAmount": {

        "Amount": "165.88",

        "Currency": "GBP"

      },

      "CreditorAccount": {

        "SchemeName": "UK.OBIE.SortCodeAccountNumber",

        "Identification": "20789893932230",

        "Name": "ACME Inc",

        "SecondaryIdentification": "0002"

      },

      "RemittanceInformation": {

        "Reference": "FRESCO-101",

        "Unstructured": "Internal ops code 5120101"

      }

    }

  },

  "Risk": {

    "PaymentContextCode": "EcommerceGoods",

    "MerchantCategoryCode": "5967",

    "MerchantCustomerIdentification": "053598653254",

    "DeliveryAddress": {

      "AddressLine": [

        "Flat 7",

        "Acacia Lodge"

      ],

      "StreetName": "Acacia Avenue",

      "BuildingNumber": "27",

      "PostCode": "GU31 2ZZ",

      "TownName": "Sparsholt",

      "CountySubDivision": [

        "Wessex"

      ],

      "Country": "UK"

    }

  }

}

 

 

Sample Response Body:

 

{

    "Data": {

        "ConsentId": "d8cde6f1-227e-468d-a1b2-7223c843ff4a",

        "CreationDateTime": "2019-03-11T21:43:15Z",

        "Initiation": {

            "InstructionIdentification": "ACME412",

            "EndToEndIdentification": "FRESCO.21302.GFX.20",

            "LocalInstrument": "UK.OBIE.FPS",

            "InstructedAmount": {

                "Amount": "165.88",

                "Currency": "GBP"

            },

            "CreditorAccount": {

                "SchemeName": "UK.OBIE.SortCodeAccountNumber",

                "Identification": "20789893932230",

                "Name": "ACME Inc",

                "SecondaryIdentification": "0002"

            },

            "RemittanceInformation": {

                "Unstructured": "Internal ops code 5120101",

                "Reference": "FRESCO-101"

            }

        }

    },

    "Risk": {

        "PaymentContextCode": "EcommerceGoods",

        "MerchantCategoryCode": "5967",

        "MerchantCustomerIdentification": "053598653254",

        "DeliveryAddress": {

            "AddressLine": [

                "Flat 7",

                "Acacia Lodge"

            ],

            "StreetName": "Acacia Avenue",

            "BuildingNumber": "27",

            "PostCode": "GU31 2ZZ",

            "TownName": "Sparsholt",

            "Country": "UK"

        }

    },

   

 

 

GET /v3.1/domestic-payment-consents/{ConsentId}

This end point allows a PISP to inquire the status of a payment request resource with SVB, by providing the ConsentId.

 

The header of this GET request must contain the following information:

 

Name

Description

Type

Required

Authorization

An Authorization Bearer Token as per https://tools.ietf.org/html/rfc6750 sent as Bearer.

This token must have been created using the post /token end point using client_credentials as the grant_type.

String

Yes

ConsentID

ConsentID

String

Yes

x-consumer-key

The API consumer key provided by SVB to AISP

String

Yes

x-customer-user-agent

Indicates the user-agent that the PSU is using.

String

No

x-fapi-customer-ip-address

The PSU's IP address if the PSU is currently logged in with the TPP.

String

No

x-fapi-customer-last-logged-time

The time when the PSU last logged in with the TPP. All dates in the HTTP headers are represented as RFC 7231 Full Dates. An example is below: Sun, 10 Sep 2017 19:43:31 UTC

String

No

x-fapi-financial-id

The unique id of the ASPSP to which the request is issued. The unique id will be issued by OB.

String

No

x-fapi-interaction-id

An RFC4122 UID used as a correlation id.

String

No

The paymentId provided by SVB on creation of the payment resource must be passed in the URL.

 

The following responses are possible:

 

Code

Description

200

OK(Payment resource successfully retrieved)

400

Bad request

401

Unauthorized - any error caused due to invalid authentication credentials

403

Forbidden

404

Not found

405

Method Not Allowed

406

Not Acceptable

429

Too Many Requests

500

No active accounts available for user

503

Internal SVB system currently unavailable.

An SVB backend service returned an error, preventing the API from processing the AISP, PISP, or CBPII request.

The TPP user will be redirected to SVB Online Banking.

 

 

 

Sample Response Body:

 

{

    "Data": {

        "ConsentId": "7bb19f8e-cdca-43e7-8119-98a79e5eaf48",

        "CreationDateTime": "2019-03-12T18:13:12Z",

        "Status": "AwaitingAuthorisation",

        "StatusUpdateDateTime": "2019-03-12T18:13:12Z",

        "Initiation": {

            "InstructionIdentification": "ACME412",

            "EndToEndIdentification": "FRESCO.21302.GFX.20",

            "LocalInstrument": "UK.OBIE.FPS",

            "InstructedAmount": {

                "Amount": "165.88",

                "Currency": "GBP"

            },

            "CreditorAccount": {

                "SchemeName": "UK.OBIE.SortCodeAccountNumber",

                "Identification": "20789893932230",

                "Name": "ACME Inc",

                "SecondaryIdentification": "0002"

            },

            "RemittanceInformation": {

                "Unstructured": "Internal ops code 5120101",

                "Reference": "FRESCO-101"

            }

        }

    },

    "Risk": {

        "PaymentContextCode": "EcommerceGoods",

        "MerchantCategoryCode": "5967",

        "MerchantCustomerIdentification": "053598653254",

        "DeliveryAddress": {

            "AddressLine": [

                "Flat 7",

                "Acacia Lodge"

            ],

            "StreetName": "Acacia Avenue",

            "BuildingNumber": "27",

            "PostCode": "GU31 2ZZ",

            "TownName": "Sparsholt",

            "Country": "UK"

        }

    },

}

 

 

 

GET /v3.1/domestic-payment-consents/{ConsentId}/funds-confirmation

This end point allows a PISP to perform a funds confirmation with SVB, by providing the ConsentId.

The header of this GET request must contain the following information:

 

Name

Description

Type

Required

Authorization

An Authorization Bearer Token as per https://tools.ietf.org/html/rfc6750 sent as Bearer.

This token must have been created using the post /token end point using client_credentials as the grant_type.

String

Yes

ConsentID

ConsentID

String

Yes

x-consumer-key

The API consumer key provided by SVB to AISP

String

Yes

x-customer-user-agent

Indicates the user-agent that the PSU is using.

String

No

x-fapi-customer-ip-address

The PSU's IP address if the PSU is currently logged in with the TPP.

String

No

x-fapi-customer-last-logged-time

The time when the PSU last logged in with the TPP. All dates in the HTTP headers are represented as RFC 7231 Full Dates. An example is below: Sun, 10 Sep 2017 19:43:31 UTC

String

No

x-fapi-financial-id

The unique id of the ASPSP to which the request is issued. The unique id will be issued by OB.

String

No

x-fapi-interaction-id

An RFC4122 UID used as a correlation id.

String

No

The paymentId provided by SVB on creation of the payment resource must be passed in the URL.

The following responses are possible:

 

Code

Description

200

OK(Payment resource successfully retrieved)

400

Bad request

401

Unauthorized - any error caused due to invalid authentication credentials

403

Forbidden

404

Not found

405

Method Not Allowed

406

Not Acceptable

429

Too Many Requests

500

No active accounts available for user

503

Internal SVB system currently unavailable.

An SVB backend service returned an error, preventing the API from processing the AISP, PISP, or CBPII request.

The TPP user will be redirected to SVB Online Banking.

 

 

 

Sample Response Body:

 

{

    "Data": {

        "FundsAvailableResult": {

            "FundsAvailableDateTime": "2019-03-13T03:38:55Z",

            "FundsAvailable": true

        }

    },

}

 

 

POST /V3.1/domestic-payments

 

The POST /domestic-payments end point allows a PISP to create a payment request resource with SVB, by providing the requisite payment information.

 

The header of this POST request must contain the following information:

  

Name

Description

Type

Required

Authorization

An Authorization Bearer Token as per https://tools.ietf.org/html/rfc6750 sent as Bearer.

This token must have been created using the post /token end point using client_credentials as the grant_type.

String

Yes

x-consumer-key

The API consumer key provided by SVB to AISP

String

Yes

x-customer-user-agent

Indicates the user-agent that the PSU is using.

String

No

x-fapi-customer-ip-address

The PSU's IP address if the PSU is currently logged in with the TPP.

String

No

x-fapi-customer-last-logged-time

The time when the PSU last logged in with the TPP. All dates in the HTTP headers are represented as RFC 7231 Full Dates. An example is below: Sun, 10 Sep 2017 19:43:31 UTC

String

No

x-fapi-financial-id

The unique id of the ASPSP to which the request is issued. The unique id will be issued by OB.

String

No

x-fapi-interaction-id

An RFC4122 UID used as a correlation id.

String

No

x-idempotency-key

Every request will be processed only once per x-idempotency-key. The Idempotency Key will be valid for 24 hours.

String

Yes

x-jws-signature

A detached JWS signature of the body of the payload.

String

Yes

 

 

The body of this POST request must contain the following information in the Data object:

 

 

 

Name

Description

Type

Required

Data.ConsentId

A valid ConsentId

String

Yes

Data.Initiation.

CreditorAccount.
Identification

As provided in the request

String

Yes

Data.Initiation.

CreditorAccount.Name

As provided in the request

String

Yes

Data.Initiation.

CreditorAccount.

SchemeName

As provided in the request

String

Yes

Data.Initiation.

CreditorAccount.

SecondaryIdentification

As provided in the request

String

Yes

Data.Initiation

CreditorPostalAddress

An address in the format:

 

"AddressLine": [

          "string"

        ],

        "AddressType": "Business",

        "BuildingNumber": "string",

        "Country": "string",

        "CountrySubDivision": "string",

        "Department": "string",

        "PostCode": "string",

        "StreetName": "string",

        "SubDepartment": "string",

        "TownName": "string"

      },

String

Yes

Data.Initiation

DebtorAccount.

Identification

As provided in the request

String

Yes

Data.Initiation

DebtorAccount.

Name

As provided in the request

String

Yes

Data.Initiation

DebtorAccount.

SchemeName

As provided in the request

String

Yes

Data.Initiation

DebtorAccount.

SecondaryIdentification

As provided in the request

String

Yes

Data.Initiation.

EndtoEndIdentification

As provided in the request

String

Yes

Data.Initiation.

InstructedAmount.Amount

 

String

Yes

Data.Initiation,

InstructedAmount.Currency

 

String

Yes

Data.Initiation. InstructionIdentification

As provided in the request

String

Yes

Data.Initiation.

LocalInstrument

As provided in the request

String

Yes

Data.Initiation.

RemittanceInformation.
Reference

As provided in the request

String

Yes

Data.Initiation.

RemittanceInformation.
Unstructured

As provided in the request

String

Yes

Data.Initiation.

SupplementaryData

As provided in the request

String

No

 

 

GET /v3.1/domestic-payments/{DomesticPaymentId}

The GET /domestic-payment-requests end point allows a PISP to inquire the status of a payment request resource with SVB, by providing the payment Id.

The header of this GET request must contain the following information:

 

Name

Description

Type

Required

Authorization

An Authorization Bearer Token as per https://tools.ietf.org/html/rfc6750 sent as Bearer.

This token must have been created using the post /token end point using client_credentials as the grant_type.

String

Yes

DomesticPaymentId

DomesticPaymentId

String

Yes

x-consumer-key

The API consumer key provided by SVB to AISP

String

Yes

x-customer-user-agent

Indicates the user-agent that the PSU is using.

String

No

x-fapi-customer-ip-address

The PSU's IP address if the PSU is currently logged in with the TPP.

String

No

x-fapi-customer-last-logged-time

The time when the PSU last logged in with the TPP. All dates in the HTTP headers are represented as RFC 7231 Full Dates. An example is below: Sun, 10 Sep 2017 19:43:31 UTC

String

No

x-fapi-financial-id

The unique id of the ASPSP to which the request is issued. The unique id will be issued by OB.

String

No

x-fapi-interaction-id

An RFC4122 UID used as a correlation id.

String

No

The paymentId provided by SVB on creation of the payment resource must be passed in the URL. 

The following responses are possible:

 

Code

Description

200

OK(Payment resource successfully retrieved)

400

Bad request

401

Unauthorized - any error caused due to invalid authentication credentials

403

Forbidden

404

Not found

405

Method Not Allowed

406

Not Acceptable

429

Too Many Requests

500

No active accounts available for user

503

Internal SVB system currently unavailable.

An SVB backend service returned an error, preventing the API from processing the AISP, PISP, or CBPII request.

The TPP user will be redirected to SVB Online Banking.

 

On getting a 200, a response with the following attributes is provided.

 

Name

Description

Type

Data.PaymentId

Unique identification as assigned by SVB to uniquely identify the payment setup resource.

String

Data.CreationDateTime

Date and time at which the payment resource was created. All dates in the JSON payloads are represented in ISO 8601 date-time format. All date-time fields in responses must include the timezone. An example is below: 2017-04-05T10:43:07+00:00

DateTime

Data.Status

Specifies the status of the payment resource. Possible values are :

  • 1.AcceptedTechnicalValidation - Payment resource has been created successfully
  • 2.AcceptedCustomerProfile - Payment consent has been authorized by end user
  • 3.Rejected - Payment resource has been rejected

String

Data.Initiation.

EndtoEndIdentification

As provided in the payment resource creation request

String

Data.Initiation.

InstructionIdentification

As provided in the payment resource creation request

String

Data.Initiation.

PaymentScheme

As provided in the payment resource creation request

String

Data.Initiation.

InstructedAmount.Amount

As provided in the payment resource creation request

Number

Data.Initiation.

InstructedAmount.Currency

As provided in the payment resource creation request

String

Data.Initiation.

CreditorAccount.SchemeName

As provided in the payment resource creation request

String

Data.Initiation.

CreditorAccount.Identification

As provided in the payment resource creation request

String

Data.Initiation.

CreditorAccount.Name

As provided in the payment resource creation request

String

Data.Initiation.

RemittanceInformation.Unstructured

As provided in the payment resource creation request

String

Data.Risk.PaymentContextCode

As provided in the payment resource creation request

String

Data.Risk.MerchantCategoryCode

As provided in the payment resource creation request

String

 

 

 

Sample Response Body:

{

    "Data": {

        "DomesticPaymentId": "e3bb7232-9e93-4f20-ba90-899a5d7712d6",

        "ConsentId": "7bb19f8e-cdca-43e7-8119-98a79e5eaf48",

        "CreationDateTime": "2019-03-12T18:16:53.466939Z",

        "Status": "AcceptedSettlementInProcess",

        "ExpectedExecutionDateTime": "2019-03-12T13:17:05.321-05:00",

        "ExpectedSettlementDateTime": "2019-03-12T13:17:05.321-05:00",

        "Initiation": {

            "InstructionIdentification": "ACME412",

            "EndToEndIdentification": "FRESCO.21302.GFX.20",

            "LocalInstrument": "UK.OBIE.FPS",

            "InstructedAmount": {

                "Amount": "165.88",

                "Currency": "GBP"

            },

            "CreditorAccount": {

                "SchemeName": "UK.OBIE.SortCodeAccountNumber",

                "Identification": "20789893932230",

                "Name": "ACME Inc",

                "SecondaryIdentification": "0002"

            },

            "RemittanceInformation": {

                "Unstructured": "Internal ops code 5120101",

                "Reference": "FRESCO-101"

            }

        }

    },

}

 

Common Operations for All Payment Types 

These operations apply to payments: Delete (only prior to submission), payment submission (after user consent), and GET for status details.

** Note: Only domestic payments using Faster Payments are supported in production in this version.    **

 

Payments Deletion

** Please Note: This end point is only available for V1.0 **

DELETE /payments/{paymentId}

The DEL payments/{paymentId} end point allows a PISP to delete a payment request resource by providing the paymentId. A payment resource can be deleted only up to the time a payment submission has been made using the paymentId.

 

The header of this DEL request must contain the following information:

 

Name

Description

Type

Optional / Mandatory

Authorization

An Authorisation Bearer Token as per https://tools.ietf.org/html/rfc6750 sent as Bearer

String

Mandatory

x-consumer-key

The API consumer key provided by SVB to PISP

String

Mandatory

 

The paymentId provided by SVB on creation of the payment resource must be passed in the URL.

 

The following responses are possible:

 

Code

Description

204

Payment resource successfully deleted

400

Bad request

401

Unauthorized - any error caused due to invalid authentication credentials

403

Forbidden

404

Not found

405

Method Not Allowed

406

Not Acceptable

429

Too Many Requests

500

Internal server error

503

Internal SVB system currently unavailable.

An SVB backend service returned an error, preventing the API from processing the AISP, PISP, or CBPII request.

The TPP user will be redirected to SVB Online Banking.

 

 

Payments Submission 

A PISP can make a payment submission this API end point provided there is an authorized payment resource.

For a PISP to make a payment submission:  

  • The underlying payment resource must have been successfully authorized (consent granted) by a user of a SVB client.
  • PISP must have obtained an access token using the POST /token API once the payment resource was successfully authorized.
  • The payment resource must be in a "AcceptedCustomerProfile" status at the time of submission

POST /v3.1/domestic-payments

The header of this POST request must contain the following information:

 

Name

Description

Type

Required

Authorization

An Authorization Bearer Token as per https://tools.ietf.org/html/rfc6750 sent as Bearer

String

Yes

x-consumer-key

The API consumer key provided by SVB to AISP/PISP

String

Yes

x-idempotency-key

Every request will be processed only once per x-idempotency-key. The Idempotency Key will be valid for 24 hours.

String

No

x-fapi-interaction-id

An RFC4122 UID used as a correlation id.

String

No

 

The body of the request must contain the following information

 

Name

Description

Type

Required

Data.ConsentId

Unique identification as assigned by SVB to uniquely identify the payment setup resource.

String

Yes

Data.Initiation.

EndtoEndIdentification

As provided in the payment resource creation request

String

No

Data.Initiation.

InstructionIdentification

As provided in the payment resource creation request

String

Yes

Data.Initiation.

PaymentScheme

As provided in the payment resource creation request

String

Yes

Data.Initiation.

InstructedAmount.Amount

As provided in the payment resource creation request

Number

Yes

Data.Initiation.

InstructedAmount.Currency

As provided in the payment resource creation request

String

Yes

Data.Initiation.

CreditorAccount.SchemeName

As provided in the payment resource creation request

String

Yes

Data.Initiation.

CreditorAccount.Identification

As provided in the payment resource creation request

String

Yes

Data.Initiation.

CreditorAccount.Name

As provided in the payment resource creation request

String

Yes

Data.Initiation.

RemittanceInformation.Unstructured

As provided in the payment resource creation request

String

Yes

Data.Risk.

PaymentContextCode

As provided in the payment resource creation request

String

No

Data.Risk.

MerchantCategoryCode

As provided in the payment resource creation request

String

No

 

The following responses are possible:

 

Code

Description

201

Payment submission successful

400

Bad request

401

Unauthorized - any error caused due to invalid authentication credentials

403

Forbidden

404

Not found

405

Method Not Allowed

406

Not Acceptable

429

Too Many Requests

500

Internal server error

503

Internal SVB system currently unavailable.

An SVB backend service returned an error, preventing the API from processing the AISP, PISP, or CBPII request.

The TPP user will be redirected to SVB Online Banking.

 

On getting a 201, a response with the following attributes is provided.

 

Name

Description

Type

Data.CreationDateTime

Date and time at which the resource was created. All dates in the JSON payloads are represented in ISO 8601 date-time format. All date-time fields in responses must include the timezone. An example is below: 2017-04-05T10:43:07+00:00

String

Data.PaymentId

Unique identification as assigned by SVB to uniquely identify the payment setup resource.

String

Data.PaymentSubmissionId

Unique identification as assigned by SVB to uniquely identify the payment submission resource. This identification must be used when the PISP is requesting for status of the submission resource

String

Data.Status

Specifies the status of the payment resource at the time of submission.

The value Pending is returned for all submissions

String

 

Sample Request Body:

{

  "Data": {

    "ConsentId": "{{payment_request_id}}",

    "Initiation": {

      "InstructionIdentification": "ACME412",

      "LocalInstrument": "UK.OBIE.FPS",

      "EndToEndIdentification": "FRESCO.21302.GFX.20",

      "InstructedAmount": {

        "Amount": "165.88",

        "Currency": "GBP"

      },

        "CreditorAccount": {

        "SchemeName": "UK.OBIE.SortCodeAccountNumber",

        "Identification": "20789893932230",

        "Name": "ACME Inc",

        "SecondaryIdentification": "0002"

      },

      "RemittanceInformation": {

        "Reference": "FRESCO-101",

        "Unstructured": "Internal ops code 5120101"

      }

    }

  },

  "Risk": {

    "PaymentContextCode": "EcommerceGoods",

    "MerchantCategoryCode": "5967",

    "MerchantCustomerIdentification": "053598653254",

    "DeliveryAddress": {

      "AddressLine": [

        "Flat 7",

        "Acacia Lodge"

      ],

      "StreetName": "Acacia Avenue",

      "BuildingNumber": "27",

      "PostCode": "GU31 2ZZ",

      "TownName": "Sparsholt",

      "CountySubDivision": [

        "Wessex"

      ],

      "Country": "UK"

    }

  }

}

 

Sample Response Body:

{

    "Data": {

        "DomesticPaymentId": "e3bb7232-9e93-4f20-ba90-899a5d7712d6",

        "ConsentId": "7bb19f8e-cdca-43e7-8119-98a79e5eaf48",

        "CreationDateTime": "2019-03-12T18:16:53Z",

        "Status": "AcceptedSettlementInProcess",

        "Initiation": {

            "InstructionIdentification": "ACME412",

            "EndToEndIdentification": "FRESCO.21302.GFX.20",

            "LocalInstrument": "UK.OBIE.FPS",

            "InstructedAmount": {

                "Amount": "165.88",

                "Currency": "GBP"

            },

            "CreditorAccount": {

                "SchemeName": "UK.OBIE.SortCodeAccountNumber",

                "Identification": "20789893932230",

                "Name": "ACME Inc",

                "SecondaryIdentification": "0002"

            },

            "RemittanceInformation": {

                "Unstructured": "Internal ops code 5120101",

                "Reference": "FRESCO-101"

            }

        }

    },

}

 

Payments Status 

 

GET /domestic-payments/{PaymentSubmissionId}

 The GET /domestic-payments/{PaymentSubmissionId} end point allows a PISP to inquire the status of a payment submission resource with SVB, by providing the PaymentSubmissionId.

 The header of this GET request must contain the following information:

 

Name

Description

Type

Optional / Mandatory

Authorization

An Authorisation Bearer Token as per https://tools.ietf.org/html/rfc6750 sent as Bearer

String

Mandatory

x-consumer-key

The API consumer key provided by SVB to AISP/PISP

String

Mandatory

x-fapi-customer-id

Unique Id provided to SVB by Open Banking

String

Optional

 

The PaymentSubmissionId provided by SVB on creation of the payment resource must be passed in the URL.

The following responses are possible:

 

Code

Description

200

OK(Payment resource successfully retrieved)

400

Bad request

401

Unauthorized - any error caused due to invalid authentication credentials

403

Forbidden

404

Not found

405

Method Not Allowed

406

Not Acceptable

429

Too Many Requests

500

No active accounts available for user

503

Internal SVB system currently unavailable.

An SVB backend service returned an error, preventing the API from processing the AISP, PISP, or CBPII request.

The TPP user will be redirected to SVB Online Banking.

 

 

On getting a 200, a response with the following attributes is provided.

 

Name

Description

Type

Optional / Mandatory

Data.CreationDateTime

Date and time at which the payments submission resource was created. All dates in the JSON payloads are represented in ISO 8601 date-time format. All date-time fields in responses must include the timezone. An example is below: 2017-04-05T10:43:07+00:00

String

Mandatory

Data.PaymentSubmissionId

Unique identification as assigned by SVB to uniquely identify the payment submission resource.

String

Mandatory

Data.Status

Specifies the status of the payment resource at the time of submission.

The following values are possible:

  • Pending
  • AcceptedSettlementComplete
  • Rejected

String

Mandatory

 Sample Response Body:

 

{

  "Data": {

    "PaymentSubmissionId": "2f943d83-948d-4698-8880-8f7be7b9f594",

    "Status": "Pending",

    "CreationDateTime": "2018-06-07T00:21:52+01:00"

  }

}

 

Other Payment Endpoints

These payment endpoints follow the same header information provided for domestic payments, and return the same error codes with the exception of file-based payments (see below).  Sample request and response examples are provided below.

 

Domestic Scheduled Payments

POST /V3.1/domestic-scheduled-payment-consents

Sample Request Body:

{

  {

  "Data": {

    "Permission":"Create",

    "Initiation": {

      "InstructionIdentification": "ACME412",

      "RequestedExecutionDateTime": "2019-12-12T00:00:00+00:00",

      "InstructedAmount": {

        "Amount": "200.00",

        "Currency": "GBP"

      },

      "CreditorAccount": {

        "SchemeName": "UK.OBIE.SortCodeAccountNumber",

        "Identification": "20789893932230",

        "Name": "Tom Kirkman"

      },

      "RemittanceInformation": {

        "Reference": "DSR-037",

        "Unstructured": "Internal ops code 5120103"

      }

    }

  },

  "Risk": {

    "PaymentContextCode": "PartyToParty"

  }

}

Sample Response Body:

{

    "Data": {

        "ConsentId": "54b6f414-fd8a-499d-8405-88c9ff0fc8fd",

        "CreationDateTime": "2019-03-21T23:39:10Z",

        "Status": "AwaitingAuthorisation",

        "StatusUpdateDateTime": "2019-03-21T23:39:10Z",

        "Initiation": {

            "InstructionIdentification": "ACME412",

            "RequestedExecutionDateTime": "2019-12-12T00:00:00Z",

            "InstructedAmount": {

                "Amount": "200.00",

                "Currency": "GBP"

            },

            "CreditorAccount": {

                "SchemeName": "UK.OBIE.SortCodeAccountNumber",

                "Identification": "20789893932230",

                "Name": "Tom Kirkman"

            },

            "RemittanceInformation": {

                "Unstructured": "Internal ops code 5120103",

                "Reference": "DSR-037"

            }

        }

    },

    "Risk": {

        "PaymentContextCode": "PartyToParty"

    },

    "Links": {

        "Self": "https://uat.api.svb.com/v3.1/sandbox/api/domestic-scheduled-payment-consents/54b6f414-fd8a-499d-8405-88c9ff0fc8fd"

    }

}}

 

GET /V3.1/domestic-scheduled-payment-consents/{ConsentId}

{

    "Data": {

        "ConsentId": "d42460ff-85d1-4fb0-b7a8-307a19931199",

        "CreationDateTime": "2019-03-21T23:59:49Z",

        "Status": "Authorised",

        "StatusUpdateDateTime": "2019-03-22T00:05:06Z",

        "Permission": "Create",

        "Initiation": {

            "Frequency": "EvryDay",

            "Reference": "Pocket money for Damien",

            "FirstPaymentDateTime": "1976-06-06T06:06:06Z",

            "FinalPaymentDateTime": "1981-03-20T06:06:06Z",

            "FirstPaymentAmount": {

                "Amount": "6.66",

                "Currency": "GBP"

            },

            "RecurringPaymentAmount": {

                "Amount": "7.00",

                "Currency": "GBP"

            },

            "FinalPaymentAmount": {

                "Amount": "7.00",

                "Currency": "GBP"

            },

            "CreditorAccount": {

                "SchemeName": "UK.OBIE.SortCodeAccountNumber",

                "Identification": "20789893932230",

                "Name": "Bob Clements"

            }

        }

    },

    "Risk": {

        "PaymentContextCode": "PartyToParty"

    },

    "Links": {

        "Self": "https://uat.api.svb.com/v3.1/sandbox/api/domestic-standing-order-consents/d42460ff-85d1-4fb0-b7a8-307a19931199"

    }

}

POST /V3.1/domestic-scheduled-payments

Sample Request Body:

{

  {

  "Data": {

    "Permission": "Create",

    "ConsentId": "{{payment_request_id}}",

    "Initiation": {

      "Frequency": "EvryDay",

      "Reference": "Pocket money for Damien",

      "FirstPaymentDateTime": "1976-06-06T06:06:06+00:00",

      "FirstPaymentAmount": {

        "Amount": "6.66",

        "Currency": "GBP"

      },    

      "RecurringPaymentAmount": {

        "Amount": "7.00",

        "Currency": "GBP"

      },   

      "FinalPaymentDateTime": "1981-03-20T06:06:06+00:00",

      "FinalPaymentAmount": {

        "Amount": "7.00",

        "Currency": "GBP"

      },

      "CreditorAccount": {

        "SchemeName": "UK.OBIE.SortCodeAccountNumber",

        "Identification": "20789893932230",

        "Name": "Bob Clements"

      }

    }

  },

  "Risk": {

    "PaymentContextCode": "PartyToParty"

  }

}

Sample Response Body:

{

    "Data": {

        "DomesticStandingOrderId": "744484b5-5e94-4009-9e62-59e2de671dec",

        "ConsentId": "d42460ff-85d1-4fb0-b7a8-307a19931199",

        "CreationDateTime": "2019-03-21T19:05:17.628-05:00",

        "StatusUpdateDateTime": "2019-03-21T19:05:17.628-05:00",

        "Initiation": {

            "Frequency": "EvryDay",

            "Reference": "Pocket money for Damien",

            "FirstPaymentDateTime": "1976-06-06T06:06:06Z",

            "FinalPaymentDateTime": "1981-03-20T06:06:06Z",

            "FirstPaymentAmount": {

                "Amount": "6.66",

                "Currency": "GBP"

            },

            "RecurringPaymentAmount": {

                "Amount": "7.00",

                "Currency": "GBP"

            },

            "FinalPaymentAmount": {

                "Amount": "7.00",

                "Currency": "GBP"

            },

            "CreditorAccount": {

                "SchemeName": "UK.OBIE.SortCodeAccountNumber",

                "Identification": "20789893932230",

                "Name": "Bob Clements"

            }

        },

        "MultiAuthorisation": {

            "Status": "AwaitingFurtherAuthorisation"

        }

    },

    "Links": {

        "Self": "https://uat.api.svb.com/v3.1/sandbox/api/domestic-standing-orders/744484b5-5e94-4009-9e62-59e2de671dec"

    }

}

GET /v3.1/domestic-scheduled-payments/{DomesticScheduledPaymentId}

Sample Response Body:

{

    "Data": {

        "DomesticStandingOrderId": "744484b5-5e94-4009-9e62-59e2de671dec",

        "ConsentId": "d42460ff-85d1-4fb0-b7a8-307a19931199",

        "CreationDateTime": "2019-03-22T00:05:17.617916Z",

        "Initiation": {

            "Frequency": "EvryDay",

            "Reference": "Pocket money for Damien",

            "FirstPaymentDateTime": "1976-06-06T06:06:06Z",

            "FinalPaymentDateTime": "1981-03-20T06:06:06Z",

            "FirstPaymentAmount": {

                "Amount": "6.66",

                "Currency": "GBP"

            },

            "RecurringPaymentAmount": {

                "Amount": "7.00",

                "Currency": "GBP"

            },

            "FinalPaymentAmount": {

                "Amount": "7.00",

                "Currency": "GBP"

            },

            "CreditorAccount": {

                "SchemeName": "UK.OBIE.SortCodeAccountNumber",

                "Identification": "20789893932230",

                "Name": "Bob Clements"

            }

        }

    },

    "Links": {

        "Self": "https://uat.api.svb.com/v3.1/sandbox/api/domestic-standing-orders/744484b5-5e94-4009-9e62-59e2de671dec"

    }

}

 

Domestic Standing Orders

POST /V3.1/domestic-standing-order-consents

Sample Request Body:

{

  "Data": {

    "Permission": "Create",

    "Initiation": {

      "Frequency": "EvryDay",

      "Reference": "Pocket money for Damien",

      "FirstPaymentDateTime": "1976-06-06T06:06:06+00:00",

      "FirstPaymentAmount": {

        "Amount": "6.66",

        "Currency": "GBP"

      },    

      "RecurringPaymentAmount": {

        "Amount": "7.00",

        "Currency": "GBP"

      },   

      "FinalPaymentDateTime": "1981-03-20T06:06:06+00:00",

      "FinalPaymentAmount": {

        "Amount": "7.00",

        "Currency": "GBP"

      },

      "CreditorAccount": {

        "SchemeName": "UK.OBIE.SortCodeAccountNumber",

        "Identification": "20789893932230",

        "Name": "Bob Clements"

      }

    }

  },

  "Risk": {

    "PaymentContextCode": "PartyToParty"

  }

}

Sample Response Body:

{

    "Data": {

        "ConsentId": "d42460ff-85d1-4fb0-b7a8-307a19931199",

        "CreationDateTime": "2019-03-21T23:59:49Z",

        "Status": "AwaitingAuthorisation",

        "StatusUpdateDateTime": "2019-03-21T23:59:49Z",

        "Permission": "Create",

        "Initiation": {

            "Frequency": "EvryDay",

            "Reference": "Pocket money for Damien",

            "FirstPaymentDateTime": "1976-06-06T06:06:06Z",

            "FinalPaymentDateTime": "1981-03-20T06:06:06Z",

            "FirstPaymentAmount": {

                "Amount": "6.66",

                "Currency": "GBP"

            },

            "RecurringPaymentAmount": {

                "Amount": "7.00",

                "Currency": "GBP"

            },

            "FinalPaymentAmount": {

                "Amount": "7.00",

                "Currency": "GBP"

            },

            "CreditorAccount": {

                "SchemeName": "UK.OBIE.SortCodeAccountNumber",

                "Identification": "20789893932230",

                "Name": "Bob Clements"

            }

        }

    },

    "Risk": {

        "PaymentContextCode": "PartyToParty"

    },

    "Links": {

        "Self": "https://uat.api.svb.com/v3.1/sandbox/api/domestic-standing-order-consents/d42460ff-85d1-4fb0-b7a8-307a19931199"

    }

}

GET /V3.1/domestic-standing-order-consents/{ConsentId}

{

    "Data": {

        "ConsentId": "d42460ff-85d1-4fb0-b7a8-307a19931199",

        "CreationDateTime": "2019-03-21T23:59:49Z",

        "Status": "Authorised",

        "StatusUpdateDateTime": "2019-03-22T00:05:06Z",

        "Permission": "Create",

        "Initiation": {

            "Frequency": "EvryDay",

            "Reference": "Pocket money for Damien",

            "FirstPaymentDateTime": "1976-06-06T06:06:06Z",

            "FinalPaymentDateTime": "1981-03-20T06:06:06Z",

            "FirstPaymentAmount": {

                "Amount": "6.66",

                "Currency": "GBP"

            },

            "RecurringPaymentAmount": {

                "Amount": "7.00",

                "Currency": "GBP"

            },

            "FinalPaymentAmount": {

                "Amount": "7.00",

                "Currency": "GBP"

            },

            "CreditorAccount": {

                "SchemeName": "UK.OBIE.SortCodeAccountNumber",

                "Identification": "20789893932230",

                "Name": "Bob Clements"

            }

        }

    },

    "Risk": {

        "PaymentContextCode": "PartyToParty"

    },

    "Links": {

        "Self": "https://uat.api.svb.com/v3.1/sandbox/api/domestic-standing-order-consents/d42460ff-85d1-4fb0-b7a8-307a19931199"

    }

}

 

 

POST /V3.1/domestic-standing-orders

Sample Request Body:

{

  "Data": {

    "Permission": "Create",

    "Initiation": {

      "Frequency": "EvryDay",

      "Reference": "Pocket money for Damien",

      "FirstPaymentDateTime": "1976-06-06T06:06:06+00:00",

      "FirstPaymentAmount": {

        "Amount": "6.66",

        "Currency": "GBP"

      },    

      "RecurringPaymentAmount": {

        "Amount": "7.00",

        "Currency": "GBP"

      },   

      "FinalPaymentDateTime": "1981-03-20T06:06:06+00:00",

      "FinalPaymentAmount": {

        "Amount": "7.00",

        "Currency": "GBP"

      },

      "CreditorAccount": {

        "SchemeName": "UK.OBIE.SortCodeAccountNumber",

        "Identification": "20789893932230",

        "Name": "Bob Clements"

      }

    }

  },

  "Risk": {

    "PaymentContextCode": "PartyToParty"

  }

}

Sample Response Body:

{

    "Data": {

        "ConsentId": "d42460ff-85d1-4fb0-b7a8-307a19931199",

        "CreationDateTime": "2019-03-21T23:59:49Z",

        "Status": "AwaitingAuthorisation",

        "StatusUpdateDateTime": "2019-03-21T23:59:49Z",

        "Permission": "Create",

        "Initiation": {

            "Frequency": "EvryDay",

            "Reference": "Pocket money for Damien",

            "FirstPaymentDateTime": "1976-06-06T06:06:06Z",

            "FinalPaymentDateTime": "1981-03-20T06:06:06Z",

            "FirstPaymentAmount": {

                "Amount": "6.66",

                "Currency": "GBP"

            },

            "RecurringPaymentAmount": {

                "Amount": "7.00",

                "Currency": "GBP"

            },

            "FinalPaymentAmount": {

                "Amount": "7.00",

                "Currency": "GBP"

            },

            "CreditorAccount": {

                "SchemeName": "UK.OBIE.SortCodeAccountNumber",

                "Identification": "20789893932230",

                "Name": "Bob Clements"

            }

        }

    },

    "Risk": {

        "PaymentContextCode": "PartyToParty"

    },

    "Links": {

        "Self": "https://uat.api.svb.com/v3.1/sandbox/api/domestic-standing-order-consents/d42460ff-85d1-4fb0-b7a8-307a19931199"

    }

}

 

GET /v3.1/domestic-standing-orders/{DomesticStandingOrderId}

{

    "Data": {

        "ConsentId": "d42460ff-85d1-4fb0-b7a8-307a19931199",

        "CreationDateTime": "2019-03-21T23:59:49Z",

        "Status": "Authorised",

        "StatusUpdateDateTime": "2019-03-22T00:05:06Z",

        "Permission": "Create",

        "Initiation": {

            "Frequency": "EvryDay",

            "Reference": "Pocket money for Damien",

            "FirstPaymentDateTime": "1976-06-06T06:06:06Z",

            "FinalPaymentDateTime": "1981-03-20T06:06:06Z",

            "FirstPaymentAmount": {

                "Amount": "6.66",

                "Currency": "GBP"

            },

            "RecurringPaymentAmount": {

                "Amount": "7.00",

                "Currency": "GBP"

            },

            "FinalPaymentAmount": {

                "Amount": "7.00",

                "Currency": "GBP"

            },

            "CreditorAccount": {

                "SchemeName": "UK.OBIE.SortCodeAccountNumber",

                "Identification": "20789893932230",

                "Name": "Bob Clements"

            }

        }

    },

    "Risk": {

        "PaymentContextCode": "PartyToParty"

    },

    "Links": {

        "Self": "https://uat.api.svb.com/v3.1/sandbox/api/domestic-standing-order-consents/d42460ff-85d1-4fb0-b7a8-307a19931199"

    }

}

 

File Payments

** Note: File Payments are only available in sandbox at this time. **

These operations follow the usual consent and authorization specifications but require upload of a file prior to submission. 

POST /V3.1/file-payment-consents

Sample Request Body:

{

  "Data": {

    "Initiation": {

      "FileType": "UK.OBIE.pain.001.001.08",

      "FileHash": "/C+cfEtQloGmkeP/5snjZs/Y6STxEH8AKjT6vl4xXNA=",

      "FileReference": "GB2OK238",

      "NumberOfTransactions": "3",

      "ControlSum": 66.00

    }

  }

}

 

 

Sample Response Body:

{

    "Data": {

        "ConsentId": "a2103041-2a90-4037-9c73-7a132aba655e",

        "CreationDateTime": "2019-03-13T20:17:07Z",

        "Status": "AwaitingUpload",

        "StatusUpdateDateTime": "2019-03-13T20:17:07Z",

        "Initiation": {

            "FileType": "UK.OBIE.pain.001.001.08",

            "FileHash": "/C+cfEtQloGmkeP/5snjZs/Y6STxEH8AKjT6vl4xXNA=",

            "FileReference": "GB2OK238",

            "NumberOfTransactions": "3",

            "ControlSum": 66

        }

    },

}

 

GET /V3.1/file-payment-consents

Sample Response Body:

{

    "Data": {

        "ConsentId": "a2103041-2a90-4037-9c73-7a132aba655e",

        "CreationDateTime": "2019-03-13T20:17:07Z",

        "Status": "AwaitingUpload",

        "StatusUpdateDateTime": "2019-03-13T20:17:07Z",

        "Initiation": {

            "FileType": "UK.OBIE.pain.001.001.08",

            "FileHash": "/C+cfEtQloGmkeP/5snjZs/Y6STxEH8AKjT6vl4xXNA=",

            "FileReference": "GB2OK238",

            "NumberOfTransactions": "3",

            "ControlSum": 66

        }

    },

}

 

 

POST /V3.1/file-payment-consents/{ConsentId}/file

The header of this POST request must contain the following information:

 

Name

Description

Type

Required

Authorization

An Authorization Bearer Token as per https://tools.ietf.org/html/rfc6750 sent as Bearer.

This token must have been created using the post /token end point using client_credentials as the grant_type.

String

Yes

x-consumer-key

The API consumer key provided by SVB to AISP

String

Yes

x-customer-user-agent

Indicates the user-agent that the PSU is using.

String

No

x-fapi-customer-ip-address

The PSU's IP address if the PSU is currently logged in with the TPP.

String

No

x-fapi-customer-last-logged-time

The time when the PSU last logged in with the TPP. All dates in the HTTP headers are represented as RFC 7231 Full Dates. An example is below: Sun, 10 Sep 2017 19:43:31 UTC

String

No

x-fapi-financial-id

The unique id of the ASPSP to which the request is issued. The unique id will be issued by OB.

String

No

x-fapi-interaction-id

An RFC4122 UID used as a correlation id.

String

No

x-idempotency-key

Every request will be processed only once per x-idempotency-key. The Idempotency Key will be valid for 24 hours.

String

No

x-jws-signature

A detached JWS signature of the body of the payload.

String

No

 

Sample Request Body:

 

{

  "Data": {

    "DomesticPayments": [

      {

        "InstructionIdentification": "ANSM020",

        "EndToEndIdentification": "FRESCO.21302.GFX.01",

        "LocalInstrument": "UK.OBIE.CHAPS",

        "InstructedAmount": {

          "Amount": "21.00",

          "Currency": "GBP"

        },

        "DebtorAccount": {

          "SchemeName": "UK.OBIE.SortCodeAccountNumber",

          "Identification": "11280001234567",

          "Name": "Andrea Smith"

        },

        "CreditorAccount": {

          "SchemeName": "UK.OBIE.SortCodeAccountNumber",

          "Identification": "08080021325698",

          "Name": "Bob Clements"

        },

        "CreditorPostalAddress": {

          "AddressType": "Correspondence",

          "StreetName": "Liberty",

          "BuildingNumber": "1",

          "PostCode": "AB1 2CD",

          "TownName": "London",

          "Country": "UK"

        },

        "RemittanceInformation": {

          "Reference": "FRESCO-037",

          "Unstructured": "Internal ops code 5120103"

        }

      },

      {

        "InstructionIdentification": "ANSM021",

        "EndToEndIdentification": "FRESCO.21302.GFX.02",

        "LocalInstrument": "UK.OBIE.BACS",

        "InstructedAmount": {

          "Amount": "22.00",

          "Currency": "GBP"

        },

        "DebtorAccount": {

          "SchemeName": "UK.OBIE.SortCodeAccountNumber",

          "Identification": "11280001234567",

          "Name": "Andrea Smith"

        },

        "CreditorAccount": {

          "SchemeName": "UK.OBIE.SortCodeAccountNumber",

          "Identification": "08080021325698",

          "Name": "Bob Clements"

        },

        "RemittanceInformation": {

          "Reference": "FRESCO-037",

          "Unstructured": "Internal ops code 5120103"

        }

      },

      {

        "InstructionIdentification": "ANSM022",

        "EndToEndIdentification": "FRESCO.21302.GFX.03",

        "InstructedAmount": {

          "Amount": "23.00",

          "Currency": "GBP"

        },

        "DebtorAccount": {

          "SchemeName": "UK.OBIE.SortCodeAccountNumber",

          "Identification": "11280001234567",

          "Name": "Andrea Smith"

        },

        "CreditorAccount": {

          "SchemeName": "UK.OBIE.SortCodeAccountNumber",

          "Identification": "08080021325698",

          "Name": "Bob Clements"

        },

        "RemittanceInformation": {

          "Reference": "FRESCO-037",

          "Unstructured": "Internal ops code 5120103"

        }

      }

    ]

  }

}

 

 

Sample Response Body:

{

    "Data": {

        "FundsConfirmationId": "c9687030-4e2f-44ea-8ba6-d65f667cf2be",

        "ConsentId": "e3ae5f71-0dd4-47e4-b7b6-7efd65992765",

        "CreationDateTime": "2019-03-13T03:16:15Z",

        "FundsAvailable": true,

        "Reference": "Purchase02",

        "InstructedAmount": {

            "Amount": "20.00",

            "Currency": "USD"

        }

    }

}

 

GET /V3.1/file-payment-consents/{ConsentId}/file

{

    "Data": {

        "ConsentId": "0cad19bb-c8d4-4673-a65e-0587dfa817aa",

        "CreationDateTime": "2019-03-13T21:12:01Z",

        "Status": "Authorised",

        "StatusUpdateDateTime": "2019-03-13T21:12:20Z",

        "Initiation": {

            "FileType": "UK.OBIE.pain.001.001.08",

            "FileHash": "/C+cfEtQloGmkeP/5snjZs/Y6STxEH8AKjT6vl4xXNA=",

            "FileReference": "GB2OK238",

            "NumberOfTransactions": "3",

            "ControlSum": 66

        }

    },

    "Links": {

        "Self": "https://uat.api.svb.com/v3.1/sandbox/api/file-payment-consents/0cad19bb-c8d4-4673-a65e-0587dfa817aa"

    }

}

 

 

POST /V3.1/file-payments

Sample Request Body:

{

    "Data": {

        "ConsentId": "{{payment_request_id}}",

        "Initiation": {

            "FileType": "UK.OBIE.pain.001.001.08",

            "FileHash": "/C+cfEtQloGmkeP/5snjZs/Y6STxEH8AKjT6vl4xXNA=",

            "FileReference": "GB2OK238",

            "NumberOfTransactions": "3",

            "ControlSum": 66.00

        }

    }

}

 

 

Sample Response Body:

 

{

    "Data": {

        "ConsentId": "e9f8bc17-58b8-455a-9428-53426a7b9333",

        "CreationDateTime": "2019-03-13T20:42:20Z",

        "Status": "Authorised",

        "StatusUpdateDateTime": "2019-03-13T20:43:48Z",

        "Initiation": {

            "FileType": "UK.OBIE.pain.001.001.08",

            "FileHash": "/C+cfEtQloGmkeP/5snjZs/Y6STxEH8AKjT6vl4xXNA=",

            "FileReference": "GB2OK238",

            "NumberOfTransactions": "3",

            "ControlSum": 66

        }

}

 

 

 

International Payments

POST /V3.1/international-payment-consents

Sample Request Body:

{

        "Data": {

               "Initiation": {

                       "InstructionIdentification": "ACME412",

                       "EndToEndIdentification": "FRESCO.21302.GFX.20",

                       "InstructionPriority": "Normal",

                       "CurrencyOfTransfer": "USD",

                       "InstructedAmount": {

                               "Amount": "165.88",

                               "Currency": "ZAR"

                       },

                       "CreditorAccount": {

                               "SchemeName": "UK.OBIE.SortCodeAccountNumber",

                               "Identification": "20789893932230",

                               "Name": "ACME Inc",

                               "SecondaryIdentification": "0002"

                       },

                       "RemittanceInformation": {

                               "Reference": "FRESCO-101",

                               "Unstructured": "Internal ops code 5120101"

                       },

                       "ExchangeRateInformation": {

                               "UnitCurrency": "USD",

                               "RateType": "Actual"

                       }

               }

        },

        "Risk": {

               "PaymentContextCode": "PartyToParty"

        }

}

 

Sample Response Body:

{

    "Data": {

        "ConsentId": "783f0378-19d4-4dbb-948b-afdba7c1db70",

        "CreationDateTime": "2019-03-22T00:16:02Z",

        "Status": "AwaitingAuthorisation",

        "StatusUpdateDateTime": "2019-03-22T00:16:02Z",

        "ExchangeRateInformation": {

            "UnitCurrency": "USD",

            "ExchangeRate": 1,

            "RateType": "Actual",

            "ExpirationDateTime": "2019-03-22T00:16:02Z"

        },

        "Initiation": {

            "InstructionIdentification": "ACME412",

            "EndToEndIdentification": "FRESCO.21302.GFX.20",

            "InstructionPriority": "Normal",

            "CurrencyOfTransfer": "USD",

            "InstructedAmount": {

                "Amount": "165.88",

                "Currency": "ZAR"

            },

            "ExchangeRateInformation": {

                "UnitCurrency": "USD",

                "RateType": "Actual"

            },

            "CreditorAccount": {

                "SchemeName": "UK.OBIE.SortCodeAccountNumber",

                "Identification": "20789893932230",

                "Name": "ACME Inc",

                "SecondaryIdentification": "0002"

            },

            "RemittanceInformation": {

                "Unstructured": "Internal ops code 5120101",

                "Reference": "FRESCO-101"

            }

        }

    },

    "Links": {

        "Self": "https://uat.api.svb.com/v3.1/sandbox/api/international-payment-consents/783f0378-19d4-4dbb-948b-afdba7c1db70"

    }

}

 

GET /V3.1/international-payment-consents/{ConsentId}

Sample Response Body:

{

    {

    "Data": {

        "ConsentId": "e5be690b-9368-43d1-b6c1-7e72ed4f0068",

        "CreationDateTime": "2019-03-22T00:22:33Z",

        "Status": "AwaitingAuthorisation",

        "StatusUpdateDateTime": "2019-03-22T00:22:33Z",

        "Initiation": {

            "InstructionIdentification": "ACME412",

            "EndToEndIdentification": "FRESCO.21302.GFX.20",

            "InstructionPriority": "Normal",

            "CurrencyOfTransfer": "USD",

            "InstructedAmount": {

                "Amount": "165.88",

                "Currency": "ZAR"

            },

            "ExchangeRateInformation": {

                "UnitCurrency": "USD",

                "RateType": "Actual"

            },

            "CreditorAccount": {

                "SchemeName": "UK.OBIE.SortCodeAccountNumber",

                "Identification": "20789893932230",

                "Name": "ACME Inc",

                "SecondaryIdentification": "0002"

            },

            "RemittanceInformation": {

                "Unstructured": "Internal ops code 5120101",

                "Reference": "FRESCO-101"

            }

        }

    },

    "Risk": {

        "PaymentContextCode": "PartyToParty"

    },

    "Links": {

        "Self": "https://uat.api.svb.com/v3.1/sandbox/api/international-payment-consents/e5be690b-9368-43d1-b6c1-7e72ed4f0068"

    }

}

GET /V3.1/international-payment-consents/{ConsentId}/funds-confirmation

Sample Response Body:

{

    {

    "Data": {

        "FundsAvailableResult": {

            "FundsAvailableDateTime": "2019-03-22T00:25:25Z",

            "FundsAvailable": true

        }

    },

    "Links": {

        "Self": "https://uat.api.svb.com/v3.1/sandbox/api/international-payment-consents/e5be690b-9368-43d1-b6c1-7e72ed4f0068/funds-confirmation"

    }

}

 

POST /V3.1/international-payments

Sample Request Body:

{

        "Data": {

               "Initiation": {

                       "InstructionIdentification": "ACME412",

                       "EndToEndIdentification": "FRESCO.21302.GFX.20",

                       "InstructionPriority": "Normal",

                       "CurrencyOfTransfer": "USD",

                       "InstructedAmount": {

                               "Amount": "165.88",

                               "Currency": "ZAR"

                       },

                       "CreditorAccount": {

                               "SchemeName": "UK.OBIE.SortCodeAccountNumber",

                               "Identification": "20789893932230",

                               "Name": "ACME Inc",

                               "SecondaryIdentification": "0002"

                       },

                       "RemittanceInformation": {

                               "Reference": "FRESCO-101",

                               "Unstructured": "Internal ops code 5120101"

                       },

                       "ExchangeRateInformation": {

                               "UnitCurrency": "USD",

                               "RateType": "Actual"

                       }

               }

        },

        "Risk": {

               "PaymentContextCode": "PartyToParty"

        }

}

 

Sample Response Body:

{

    {

    "Data": {

        "InternationalPaymentId": "91a2360e-8c78-41da-9c25-d8c77916f191",

        "ConsentId": "6aa83303-365c-4b2e-bc06-f1714c488cbd",

        "CreationDateTime": "2019-03-21T19:28:36.524-05:00",

        "Status": "AcceptedSettlementInProcess",

        "Initiation": {

            "InstructionIdentification": "ACME412",

            "EndToEndIdentification": "FRESCO.21302.GFX.20",

            "InstructionPriority": "Normal",

            "CurrencyOfTransfer": "USD",

            "InstructedAmount": {

                "Amount": "165.88",

                "Currency": "ZAR"

            },

            "ExchangeRateInformation": {

                "UnitCurrency": "ZAR",

                "RateType": "Actual"

            },

            "CreditorAccount": {

                "SchemeName": "UK.OBIE.SortCodeAccountNumber",

                "Identification": "20789893932230",

                "Name": "ACME Inc",

                "SecondaryIdentification": "0002"

            },

            "RemittanceInformation": {

                "Unstructured": "Internal ops code 5120101",

                "Reference": "FRESCO-101"

            }

        }

    },

    "Links": {

        "Self": "https://uat.api.svb.com/v3.1/sandbox/api/international-payments/91a2360e-8c78-41da-9c25-d8c77916f191"

    }

}

GET /v3.1/international-payments/{InternationalPaymentId}

Sample Request Body:

{

    "Data": {

        "InternationalPaymentId": "91a2360e-8c78-41da-9c25-d8c77916f191",

        "ConsentId": "6aa83303-365c-4b2e-bc06-f1714c488cbd",

        "CreationDateTime": "2019-03-22T00:28:36.520669Z",

        "Status": "AcceptedSettlementInProcess",

        "ExpectedExecutionDateTime": "2019-03-21T19:30:01.228-05:00",

        "ExpectedSettlementDateTime": "2019-03-21T19:30:01.229-05:00",

        "Initiation": {

            "InstructionIdentification": "ACME412",

            "EndToEndIdentification": "FRESCO.21302.GFX.20",

            "InstructionPriority": "Normal",

            "CurrencyOfTransfer": "USD",

            "InstructedAmount": {

                "Amount": "165.88",

                "Currency": "ZAR"

            },

            "ExchangeRateInformation": {

                "UnitCurrency": "ZAR",

                "RateType": "Actual"

            },

            "CreditorAccount": {

                "SchemeName": "UK.OBIE.SortCodeAccountNumber",

                "Identification": "20789893932230",

                "Name": "ACME Inc",

                "SecondaryIdentification": "0002"

            },

            "RemittanceInformation": {

                "Unstructured": "Internal ops code 5120101",

                "Reference": "FRESCO-101"

            }

        }

    },

    "Links": {

        "Self": "https://uat.api.svb.com/v3.1/sandbox/api/international-payments/91a2360e-8c78-41da-9c25-d8c77916f191"

    }

}

 

International Scheduled Payments

POST /V3.1/international-scheduled-payment-consents

Sample Request Body:

{

  "Data": {

    "Permission":"Create",

    "Initiation": {

      "InstructionIdentification": "ACME412",

      "EndToEndIdentification": "FRESCO.21302.GFX.20",

      "RequestedExecutionDateTime": "2019-12-12T00:00:00+00:00",

      "InstructedAmount": {

        "Amount": "165.88",

        "Currency": "USD"

      },

      "CurrencyOfTransfer":"USD",

      "CreditorAccount": {

        "SchemeName": "UK.OBIE.SortCodeAccountNumber",

        "Identification": "08080021325698",

        "Name": "ACME Inc",

        "SecondaryIdentification": "0002"

      },

      "RemittanceInformation": {

        "Reference": "FRESCO-101",

        "Unstructured": "Internal ops code 5120101"

      }

    }

  },

  "Risk": {

    "PaymentContextCode": "PartyToParty"

  }

}

 

Sample Response Body:

{

    {

    "Data": {

        "ConsentId": "45e70354-b7fd-4056-b552-714724520692",

        "CreationDateTime": "2019-03-22T00:35:23Z",

        "Status": "AwaitingAuthorisation",

        "StatusUpdateDateTime": "2019-03-22T00:35:23Z",

        "Initiation": {

            "InstructionIdentification": "ACME412",

            "EndToEndIdentification": "FRESCO.21302.GFX.20",

            "RequestedExecutionDateTime": "2019-12-12T00:00:00Z",

            "CurrencyOfTransfer": "USD",

            "InstructedAmount": {

                "Amount": "165.88",

                "Currency": "USD"

            },

            "CreditorAccount": {

                "SchemeName": "UK.OBIE.SortCodeAccountNumber",

                "Identification": "08080021325698",

                "Name": "ACME Inc",

                "SecondaryIdentification": "0002"

            },

            "RemittanceInformation": {

                "Unstructured": "Internal ops code 5120101",

                "Reference": "FRESCO-101"

            }

        }

    },

    "Risk": {

        "PaymentContextCode": "PartyToParty"

    },

    "Links": {

        "Self": "https://uat.api.svb.com/v3.1/sandbox/api/international-scheduled-payment-consents/45e70354-b7fd-4056-b552-714724520692"

    }

}-consents/f7e8823b-9c31-4e5b-a2c6-a99aaf7f4bde"

}

 

GET /V3.1/international-scheduled-payment-consents/{ConsentId}

Sample Response Body:

{

    "Data": {

        "ConsentId": "45e70354-b7fd-4056-b552-714724520692",

        "CreationDateTime": "2019-03-22T00:35:23Z",

        "Status": "AwaitingAuthorisation",

        "StatusUpdateDateTime": "2019-03-22T00:35:23Z",

        "Permission": "Create",

        "Initiation": {

            "InstructionIdentification": "ACME412",

            "EndToEndIdentification": "FRESCO.21302.GFX.20",

            "RequestedExecutionDateTime": "2019-12-12T00:00:00Z",

            "CurrencyOfTransfer": "USD",

            "InstructedAmount": {

                "Amount": "165.88",

                "Currency": "USD"

            },

            "CreditorAccount": {

                "SchemeName": "UK.OBIE.SortCodeAccountNumber",

                "Identification": "08080021325698",

                "Name": "ACME Inc",

                "SecondaryIdentification": "0002"

            },

            "RemittanceInformation": {

                "Unstructured": "Internal ops code 5120101",

                "Reference": "FRESCO-101"

            }

        }

    },

    "Risk": {

        "PaymentContextCode": "PartyToParty"

    },

    "Links": {

        "Self": "https://uat.api.svb.com/v3.1/sandbox/api/international-scheduled-payment-consents/45e70354-b7fd-4056-b552-714724520692"

    }

}

GET /V3.1/international-scheduled-payment-consents/{ConsentId}/funds-confirmation

Sample Response Body:

{

    "Data": {

        "FundsAvailableResult": {

            "FundsAvailableDateTime": "2019-03-22T00:39:14Z",

            "FundsAvailable": true

        }

    },

    "Links": {

        "Self": "https://uat.api.svb.com/v3.1/sandbox/api/international-scheduled-payment-consents/bb1412fd-89f7-4812-be0d-3ae487078541/funds-confirmation"

    }

}

POST /international-scheduled-payments

Sample Request Body:

{

  {

  "Data": {

    "Permission":"Create",

    "ConsentId": "{{payment_request_id}}",

    "Initiation": {

      "InstructionIdentification": "ACME412",

      "EndToEndIdentification": "FRESCO.21302.GFX.20",

      "RequestedExecutionDateTime": "2019-12-12T00:00:00+00:00",

      "InstructedAmount": {

        "Amount": "165.88",

        "Currency": "USD"

      },

      "CurrencyOfTransfer":"USD",

      "CreditorAccount": {

        "SchemeName": "UK.OBIE.SortCodeAccountNumber",

        "Identification": "08080021325698",

        "Name": "ACME Inc",

        "SecondaryIdentification": "0002"

      },

      "RemittanceInformation": {

        "Reference": "FRESCO-101",

        "Unstructured": "Internal ops code 5120101"

      }

    }

  },

  "Risk": {

    "PaymentContextCode": "PartyToParty"

  }

}

 

Sample Response Body:

{

    {

    "Data": {

        "InternationalScheduledPaymentId": "ac468f74-efe5-405a-941b-0cb0ec6dc243",

        "ConsentId": "08ad392d-4b7f-41ec-9b09-3783e984f352",

        "CreationDateTime": "2019-03-21T19:51:07.49-05:00",

        "Status": "InitiationCompleted",

        "ExpectedExecutionDateTime": "2019-12-12T00:00:00Z",

        "ExpectedSettlementDateTime": "2019-12-12T00:00:00Z",

        "Initiation": {

            "InstructionIdentification": "ACME412",

            "EndToEndIdentification": "FRESCO.21302.GFX.20",

            "RequestedExecutionDateTime": "2019-12-12T00:00:00Z",

            "CurrencyOfTransfer": "USD",

            "InstructedAmount": {

                "Amount": "165.88",

                "Currency": "USD"

            },

            "CreditorAccount": {

                "SchemeName": "UK.OBIE.SortCodeAccountNumber",

                "Identification": "08080021325698",

                "Name": "ACME Inc",

                "SecondaryIdentification": "0002"

            },

            "RemittanceInformation": {

                "Unstructured": "Internal ops code 5120101",

                "Reference": "FRESCO-101"

            }

        }

    },

    "Links": {

        "Self": "https://uat.api.svb.com/v3.1/sandbox/api/international-scheduled-payments/ac468f74-efe5-405a-941b-0cb0ec6dc243"

    }

}

GET /international-scheduled-payments/{InternationalScheduledPaymentId}

Sample Response Body:

{

    "Data": {

        "InternationalScheduledPaymentId": "ac468f74-efe5-405a-941b-0cb0ec6dc243",

        "ConsentId": "08ad392d-4b7f-41ec-9b09-3783e984f352",

        "CreationDateTime": "2019-03-22T00:51:07.483052Z",

        "Status": "InitiationCompleted",

        "Initiation": {

            "InstructionIdentification": "ACME412",

            "EndToEndIdentification": "FRESCO.21302.GFX.20",

            "RequestedExecutionDateTime": "2019-12-12T00:00:00Z",

            "CurrencyOfTransfer": "USD",

            "InstructedAmount": {

                "Amount": "165.88",

                "Currency": "USD"

            },

            "CreditorAccount": {

                "SchemeName": "UK.OBIE.SortCodeAccountNumber",

                "Identification": "08080021325698",

                "Name": "ACME Inc",

                "SecondaryIdentification": "0002"

            },

            "RemittanceInformation": {

                "Unstructured": "Internal ops code 5120101",

                "Reference": "FRESCO-101"

            }

        }

    },

    "Links": {

        "Self": "https://uat.api.svb.com/v3.1/sandbox/api/international-scheduled-payments/ac468f74-efe5-405a-941b-0cb0ec6dc243"

    }

}

 

International Standing Orders

 

POST /V3.1/international-standing-order-consents

Sample Request Body:

{

  "Data": {

    "Permission": "Create",

    "Initiation": {

      "Frequency": "EvryWorkgDay",

      "FirstPaymentDateTime": "2019-12-12T06:06:06+00:00",

      "FinalPaymentDateTime": "2020-03-20T06:06:06+00:00",

      "CreditorAccount": {

        "SchemeName": "UK.OBIE.IBAN",

        "Identification": "DE89370400440532013000",

        "Name": "Tom Kirkman"

      },

      "InstructedAmount": {

        "Amount": "20.00",

        "Currency": "EUR"

      },

      "CurrencyOfTransfer":"EUR"

    }

  },

  "Risk": {

    "PaymentContextCode": "PartyToParty"

  }

}

 

Sample Response Body:

{

    "Data": {

        "ConsentId": "308fde3a-b272-473d-a922-05b49f8793fe",

        "CreationDateTime": "2019-03-22T00:54:52Z",

        "Status": "AwaitingAuthorisation",

        "StatusUpdateDateTime": "2019-03-22T00:54:52Z",

        "Initiation": {

            "Frequency": "EvryWorkgDay",

            "FirstPaymentDateTime": "2019-12-12T06:06:06Z",

            "FinalPaymentDateTime": "2020-03-20T06:06:06Z",

            "CurrencyOfTransfer": "EUR",

            "InstructedAmount": {

                "Amount": "20.00",

                "Currency": "EUR"

            },

            "CreditorAccount": {

                "SchemeName": "UK.OBIE.IBAN",

                "Identification": "DE89370400440532013000",

                "Name": "Tom Kirkman"

            }

        }

    },

    "Risk": {

        "PaymentContextCode": "PartyToParty"

    },

    "Links": {

        "Self": "https://uat.api.svb.com/v3.1/sandbox/api/international-standing-order-consents/308fde3a-b272-473d-a922-05b49f8793fe"

    }

}

 

GET /V3.1/international-standing-order-consents/{ConsentId}

Sample Response Body:

{

    "Data": {

        "ConsentId": "308fde3a-b272-473d-a922-05b49f8793fe",

        "CreationDateTime": "2019-03-22T00:54:52Z",

        "Status": "AwaitingAuthorisation",

        "StatusUpdateDateTime": "2019-03-22T00:54:52Z",

        "Permission": "Create",

        "Initiation": {

            "Frequency": "EvryWorkgDay",

            "FirstPaymentDateTime": "2019-12-12T06:06:06Z",

            "FinalPaymentDateTime": "2020-03-20T06:06:06Z",

            "CurrencyOfTransfer": "EUR",

            "InstructedAmount": {

                "Amount": "20.00",

                "Currency": "EUR"

            },

            "CreditorAccount": {

                "SchemeName": "UK.OBIE.IBAN",

                "Identification": "DE89370400440532013000",

                "Name": "Tom Kirkman"

            }

        }

    },

    "Risk": {

        "PaymentContextCode": "PartyToParty"

    },

    "Links": {

        "Self": "https://uat.api.svb.com/v3.1/sandbox/api/international-standing-order-consents/308fde3a-b272-473d-a922-05b49f8793fe"

    }

}

 

POST /international-standing-orders

Sample Request Body:

{

  "Data": {

    "Permission": "Create",

    "ConsentId": "{{payment_request_id}}",

    "Initiation": {

      "Frequency": "EvryWorkgDay",

      "FirstPaymentDateTime": "2019-12-12T06:06:06+00:00",

      "FinalPaymentDateTime": "2020-03-20T06:06:06+00:00",

      "CreditorAccount": {

        "SchemeName": "UK.OBIE.IBAN",

        "Identification": "DE89370400440532013000",

        "Name": "Tom Kirkman"

      },

      "InstructedAmount": {

        "Amount": "20.00",

        "Currency": "EUR"

      },

      "CurrencyOfTransfer":"EUR"

    }

  },

  "Risk": {

    "PaymentContextCode": "PartyToParty"

  }

}

 

Sample Response Body:

{

    "Data": {

        "InternationalStandingOrderId": "8d6fe2e2-1e96-4074-b217-bdcb6b578311",

        "ConsentId": "fa7c1e13-eeb4-432f-8773-871c917e5906",

        "CreationDateTime": "2019-03-21T19:59:56.686-05:00",

        "Status": "InitiationCompleted",

        "Initiation": {

            "Frequency": "EvryWorkgDay",

            "FirstPaymentDateTime": "2019-12-12T06:06:06Z",

            "FinalPaymentDateTime": "2020-03-20T06:06:06Z",

            "CurrencyOfTransfer": "EUR",

            "InstructedAmount": {

                "Amount": "20.00",

                "Currency": "EUR"

            },

            "CreditorAccount": {

                "SchemeName": "UK.OBIE.IBAN",

                "Identification": "DE89370400440532013000",

                "Name": "Tom Kirkman"

            }

        }

    },

    "Links": {

        "Self": "https://uat.api.svb.com/v3.1/sandbox/api/international-standing-orders/8d6fe2e2-1e96-4074-b217-bdcb6b578311"

    }

}

 

GET /international-standing-orders/{InternationalStandingOrderPaymentId}

Sample Response Body:

{

    "Data": {

        "InternationalStandingOrderId": "8d6fe2e2-1e96-4074-b217-bdcb6b578311",

        "ConsentId": "fa7c1e13-eeb4-432f-8773-871c917e5906",

        "CreationDateTime": "2019-03-22T00:59:56.680962Z",

        "Status": "InitiationCompleted",

        "StatusUpdateDateTime": "2019-03-21T20:01:19.105-05:00",

        "Initiation": {

            "Frequency": "EvryWorkgDay",

            "FirstPaymentDateTime": "2019-12-12T06:06:06Z",

            "FinalPaymentDateTime": "2020-03-20T06:06:06Z",

            "CurrencyOfTransfer": "EUR",

            "InstructedAmount": {

                "Amount": "20.00",

                "Currency": "EUR"

            },

            "CreditorAccount": {

                "SchemeName": "UK.OBIE.IBAN",

                "Identification": "DE89370400440532013000",

                "Name": "Tom Kirkman"

            }

        }

    }

}

 

 

Funds Confirmation

**Please note this resource is not available in production at this time**

POST /v3.1/funds-confirmation-consents

This end point allows a PISP to Create Funds Confirmation Consent with SVB.

The header of this request must contain the following information:

 

 

Name

Description

Type

Required

Authorization

An Authorization Bearer Token as per https://tools.ietf.org/html/rfc6750 sent as Bearer. This token must have been created using the post /token end point using client_credentials as the grant_type.

String

Yes

obFundsConfirmationConsent1Param

Object in this format:

{

  "Data": {

    "DebtorAccount": {

      "Identification": "string",

      "Name": "string",

      "SchemeName": "string",

      "SecondaryIdentification": "string"

    },

    "ExpirationDateTime": "2019-03-13T02:49:44.987Z"

  }

}

String

Yes

x-consumer-key

The API consumer key provided by SVB to AISP

String

Yes

x-customer-user-agent

Indicates the user-agent that the PSU is using.

String

No

x-fapi-customer-ip-address

The PSU's IP address if the PSU is currently logged in with the TPP.

String

No

x-fapi-customer-last-logged-time

The time when the PSU last logged in with the TPP. All dates in the HTTP headers are represented as RFC 7231 Full Dates. An example is below: Sun, 10 Sep 2017 19:43:31 UTC

String

No

x-fapi-financial-id

The unique id of the ASPSP to which the request is issued. The unique id will be issued by OB.

String

No

x-fapi-interaction-id

An RFC4122 UID used as a correlation id.

String

No

 

 

Sample Request Body:

{

  "Data": {

    "ExpirationDateTime": "2019-02-19T23:26:59.925Z",

    "DebtorAccount": {

        "SchemeName": "UK.OBIE.SortCodeAccountNumber",

        "Identification": "20789893932230",

        "Name": "ACME Inc",

        "SecondaryIdentification": "0002"

    }

  }

}

 

 

Sample Response Body:

{

    "Data": {

        "ConsentId": "c5d78056-cb37-473d-8bb9-157b3eb67da0",

        "CreationDateTime": "2019-03-13T02:53:55Z",

        "Status": "AwaitingAuthorisation",

        "ExpirationDateTime": "2019-02-19T23:26:59.925Z",

        "DebtorAccount": {

            "SchemeName": "UK.OBIE.SortCodeAccountNumber",

            "Identification": "20789893932230",

            "Name": "ACME Inc",

            "SecondaryIdentification": "0002"

        }

    },

}

 

 

GET /v3.1/funds-confirmation-consents/{ConsentId}

This end point allows a PISP to inquire the status of a Funds Confirmation resource with SVB.

The header of this request must contain the following information:

 

 

 

Name

Description

Type

Required

Authorization

An Authorization Bearer Token as per https://tools.ietf.org/html/rfc6750 sent as Bearer. This token must have been created using the post /token end point using client_credentials as the grant_type.

String

Yes

ConsentId

ConsentId

String

Yes

x-consumer-key

The API consumer key provided by SVB to AISP

String

Yes

x-customer-user-agent

Indicates the user-agent that the PSU is using.

String

No

x-fapi-customer-ip-address

The PSU's IP address if the PSU is currently logged in with the TPP.

String

No

x-fapi-customer-last-logged-time

The time when the PSU last logged in with the TPP. All dates in the HTTP headers are represented as RFC 7231 Full Dates. An example is below: Sun, 10 Sep 2017 19:43:31 UTC

String

No

x-fapi-financial-id

The unique id of the ASPSP to which the request is issued. The unique id will be issued by OB.

String

No

x-fapi-interaction-id

An RFC4122 UID used as a correlation id.

String

No

 

Sample Response Body:

{

    "Data": {

        "ConsentId": "c5d78056-cb37-473d-8bb9-157b3eb67da0",

        "CreationDateTime": "2019-03-13T02:53:55Z",

        "Status": "AwaitingAuthorisation",

        "StatusUpdateDateTime": "2019-03-13T02:53:55Z",

        "ExpirationDateTime": "2019-02-19T23:26:59.925Z",

        "DebtorAccount": {

            "SchemeName": "UK.OBIE.SortCodeAccountNumber",

            "Identification": "20789893932230",

            "Name": "ACME Inc",

            "SecondaryIdentification": "0002"

        }

    },

}

 

 

DELETE /v3.1/funds-confirmation-consents/{ConsentId}

This end point allows a PISP to delete Funds Confirmation Consent with SVB before it is confirmed.

The header of this request must contain the following information:

 

 

 

Name

Description

Type

Required

Authorization

An Authorization Bearer Token as per https://tools.ietf.org/html/rfc6750 sent as Bearer. This token must have been created using the post /token end point using client_credentials as the grant_type.

String

Yes

ConsentId

ConsentId

String

Yes

x-consumer-key

The API consumer key provided by SVB to AISP

String

Yes

x-customer-user-agent

Indicates the user-agent that the PSU is using.

String

No

x-fapi-customer-ip-address

The PSU's IP address if the PSU is currently logged in with the TPP.

String

No

x-fapi-customer-last-logged-time

The time when the PSU last logged in with the TPP. All dates in the HTTP headers are represented as RFC 7231 Full Dates. An example is below: Sun, 10 Sep 2017 19:43:31 UTC

String

No

x-fapi-financial-id

The unique id of the ASPSP to which the request is issued. The unique id will be issued by OB.

String

No

x-fapi-interaction-id

An RFC4122 UID used as a correlation id.

String

No

 

 

POST /v3.1/funds-confirmation

This end point allows a PISP to perform Funds Confirmation with SVB.

The header of this request must contain the following information:

 

Name

Description

Type

Required

Authorization

An Authorization Bearer Token as per https://tools.ietf.org/html/rfc6750 sent as Bearer. This token must have been created using the post /token end point using client_credentials as the grant_type.

String

Yes

obFundsConfirmation1Param

Object in this format:

{

  "Data": {

    "ConsentId": "string",

    "InstructedAmount": {

      "Amount": "string",

      "Currency": "string"

    },

    "Reference": "string"

  }

}

String

Yes

x-consumer-key

The API consumer key provided by SVB to AISP

String

Yes

x-customer-user-agent

Indicates the user-agent that the PSU is using.

String

No

x-fapi-customer-ip-address

The PSU's IP address if the PSU is currently logged in with the TPP.

String

No

x-fapi-customer-last-logged-time

The time when the PSU last logged in with the TPP. All dates in the HTTP headers are represented as RFC 7231 Full Dates. An example is below: Sun, 10 Sep 2017 19:43:31 UTC

String

No

x-fapi-financial-id

The unique id of the ASPSP to which the request is issued. The unique id will be issued by OB.

String

No

x-fapi-interaction-id

An RFC4122 UID used as a correlation id.

String

No

 

 

 

Sample Request Body:

{

  "Data": {

    "ConsentId": "{{cbpii_request_id}}",

    "Reference": "Purchase02",

    "InstructedAmount": {

       "Amount": "20.00",

       "Currency": "USD"

    }

  }

}

 

 

Sample Response Body:

{

    "Data": {

        "FundsConfirmationId": "c9687030-4e2f-44ea-8ba6-d65f667cf2be",

        "ConsentId": "e3ae5f71-0dd4-47e4-b7b6-7efd65992765",

        "CreationDateTime": "2019-03-13T03:16:15Z",

        "FundsAvailable": true,

        "Reference": "Purchase02",

        "InstructedAmount": {

            "Amount": "20.00",

            "Currency": "USD"

        }

    }

}

 

 

Dynamic Client Registration

 

POST /v3.1/register

This end point allows a TPP to register with SVB via the Open Banking Implementation Entity (OBIE) dynamic client registration. 

This specification defines the APIs for a TPP to submit a Software Statement Assertion to an ASPSP for the purpose of creating OAuth clients that are registered with ASPSP.  Additional details are available here:

https://openbanking.atlassian.net/wiki/spaces/DZ/pages/937066600/Dynamic+Client+Registration+-+v3.1

 

Sample Request Body:

{

  "exp": 1560539867,

  "iat": 1560533867,

  "iss": "tppissueidid",

  "aud": "aud",

  "request_object_signing_alg": "ES256/PS256",

  "grant_types": [

    "authorization_code",

    "refresh_token",

    "client_credentials"

  ],

  "subject_type": "public",

  "application_type": "web",

  "redirect_uris": [

    "https://test.svb.com/"

  ],

  "software_id", "softwareId"

  "token_endpoint_auth_method": "client_secret_basic",

  "software_statement": "softwareStatement to be populated by TPP",

  "scopes": [

    "accounts",

    "payments",

    "fundsconfirmation"

  ],

  "response_types": [

    "code"

  ]

  "jti": "1c43b4db-4a83-4e53-9542-05166418f1cb"

}

 

Notes:

  1. SVB’s sandbox does not currently have a test endpoint for /register but will provide one as soon as possible, and will offer this in production later this year.
  2. SVB does not currently support “code id_token” as response_types.
  3. SVB supports only "token_endpoint_auth_method" which a value of "client_secret_basic".