openapi: 3.0.1
info:
title: Buyer Loans API Specification
# title: Seller Loans API Specification
# title: TradePay API Specification
version: 3.0.0
contact:
name: develop.hsbc
url: https://develop.hsbc.com/contact-us
description: |
Buyer Loans API specification PDF version can be download here
API Security at HSBC
HSBC considers API security as our highest priority and are constantly monitoring advancements in technology to improve our protection where possible.
The diagram below illustrates how Authentication, Authorisation, TLS and Message Level Encryption combined, stack up to provide you with world class API Security.
Find out more from API Security at HSBC
Guidance on Authentication/ Authorisation
- All our APIs confirm the identity of all requesters, this is Authentication.
- All our APIs are called and activated only by trusted systems, this is Authorisation.
- Both of the above are handled during the initial exchange between the Client Application and HSBC's API Gateway.
Find out more from Making an API Request
Authentication
Your Digital Identity
, which is a private-key-signed bearer token
generated per request, must be sent via Authorization
in the request
header
.
View details
Authorisation
It is required to specify customer's identity in all request in via X-HSBC-Trade-Finance-Token
in the request header
.
(Find out more)
Customer Identity:
Customer's identity is represented by obo.sub
in the jwt.claims
.
Customer's fulfilment ID:
Corresponding customer's tradeAccounts
must be sent via X-HSBC-Trade-Finance-Token
in the request header
.
(Find out more)Example:
"tradeAccounts": encrypt("{"accountCountry":"SG","institutionCode":"HSBC","accountNumbers":"123456789"}")
Types of connections
Depending on your use case, two types of Auth-N/ Auth-Z options you can consider:
Type |
Description |
API Profile ID (jwt.claims.sub) |
Credentials (client-public-key) |
Customer Identity(jwt.claims.obo.sub) |
Fulfilment ID (jwt.claims.tradeAccounts) |
Direct Connection (B2B) |
The API request represents an end customer/ client, with its own set of credentials. |
End Customer |
On-behalf of (B2B2B) |
The API request is sent via a partner to HSBC on-behalf of its' customers. HSBC perform Auth-N validation based on partner's credential |
Partner |
End Customer |
View example:
Type |
Claims in Bearer Token (X-HSBC-Trade-Finance-Token)(Find out more)
|
Direct Connection (B2B) |
{
 "sub": endCustomerAPIProfileId,
"tradeAccounts": encrypt("{"accountCountry":"SG","institutionCode":"HSBC","accountNumbers":"123456789"}")
}
|
On-behalf of (B2B2B) |
{
 "sub": partnerAPIProfileId,
  "obo": {
"sub": endCustomerAPIProfileId
},
"tradeAccounts": encrypt("{"accountCountry":"SG","institutionCode":"HSBC","accountNumbers":"123456789"}")
}
|
Guidance on Message Encryption and Message Content
The API specification generally provides two definitions for request and responses messages - Unencrypted
and Encrypted
using a oneOf
structure.
Version History
Current Version |
Date |
Descriptions |
3.0.0 |
2024-08-01 |
Alignment to 2024 WSIT Standard |
View changes
Version |
Date |
Descriptions |
1.0.0 |
2022-04-30 |
First Release |
3.0.0 |
2024-08-01 |
Alignment to 2024 WSIT Standard |
externalDocs:
# description: Trade Loans API Documentation
# url: https://develop.hsbc.com/trade-finance-trade-loans
description: Buyer Loans API Documentation
url: https://develop.hsbc.com/trade-finance-buyer-loans
# description: Seller Loans API Documentation
# url: https://develop.hsbc.com/trade-finance-seller-loans
# description: TradePay API Documentation
# url: https://develop.hsbc.com/trade-finance-tradepay
servers:
- url: https://sandbox.corporate-api.hsbc.com/trade-finance/mock/loans/v3
description: Mock Sandbox Environment URL (Coming soon)
- url: https://sandbox.corporate-api.hsbc.com/trade-finance/loans/v3
description: Smart Sandbox Environment URL (Coming soon)
- url: https://please.contact.implementation.manager.for.url.com/cmb-gtrf-mkt-ea-loans-uat-external-proxy/v3
description: Testing Environment URL
- url: https://please.contact.implementation.manager.for.url.com/cmb-gtrf-mkt-ea-loans-external-proxy/v3
description: Production Environment URL
tags:
- name: Buyer Loans
description: Request Trade loan for buyers
# - name: Seller Loans
# description: Request Trade loan for sellers
# - name: TradePay
# description: TradePay - Invoice financing
- name: Common Services
description: General Purpose APIs
paths:
/buyer-loans/standard/applications:
summary: Submit Buyer Loan Applications
description: Submit Buyer Loan Applications
post:
tags:
- Buyer Loans
summary: Submit Buyer Loan Applications
description: >-
Enables a buyer to directly submit a standard loan request to HSBC.
View Pre-requisites:
-
API Connection Profile has been created.
What is an API Connection Profile?
- Loan applicant possesses valid trade account in HSBC.
-
(Optional) Supporting documents have been submitted successfully via
Submit Supporting Documents API
. View Endpoint
View Post-conditions:
applicationId
are generated for the loan application Submitted
to HSBC.
-
It is possible to perform the following for this loan:
-
Enquires status of this and many other loans that have been submitted via
Request Trade Loan summary list
API. View Endpoint
-
Enquires full status updates of this loan via
Request Trade Loan status
API. View Endpoint
operationId: create-standard-buyer-loan-applications
security:
- Authorization: [ ]
X-HSBC-Trade-Finance-Token: [ ]
X-HSBC-Crypto-Signature: [ ]
parameters:
- $ref: "#/components/parameters/Authorization"
# - $ref: "#/components/parameters/X-HSBC-Trade-Finance-Token"
- $ref: "#/components/parameters/X-HSBC-CountryCode"
- $ref: "#/components/parameters/X-HSBC-Request-Correlation-Id"
- $ref: "#/components/parameters/X-HSBC-Request-Idempotency-Key"
# - $ref: "#/components/parameters/X-HSBC-Crypto-Signature"
requestBody:
$ref: '#/components/requestBodies/CreateStandardBuyerLoanApplicationRequestModel'
responses:
'201':
$ref: '#/components/responses/CreateStandardBuyerLoanApplicationResponseModel'
'400':
$ref: '#/components/responses/WsitBadRequest400Model'
'401':
$ref: '#/components/responses/WsitUnauthorized401Model'
'403':
$ref: '#/components/responses/WsitForbidden403Model'
'404':
$ref: '#/components/responses/WsitNotFound404Model'
'409':
$ref: '#/components/responses/WsitNotFound404Model'
'422':
$ref: '#/components/responses/WsitUnprocessableEntity422Model'
'500':
$ref: '#/components/responses/WsitInternalServerError500Model'
'502':
$ref: '#/components/responses/WsitIBadGateway502Model'
'503':
$ref: '#/components/responses/WsitServiceUnavailable503Model'
'504':
$ref: '#/components/responses/WsitGatewayTimeout504Model'
/buyer-loans/advanced/applications:
summary: Submit Buyer Loan Applications (Advanced)
description: Submit Buyer Loan Applications (Advanced)
post:
tags:
- Buyer Loans
summary: Submit Buyer Loan Applications (Advanced)
description: >-
Enables a buyer to directly submit a advanced loan request to HSBC.
View Pre-requisites:
-
API Connection Profile has been created.
What is an API Connection Profile?
- Loan applicant possesses valid trade account in HSBC.
-
(Optional) Supporting documents have been submitted successfully via
Submit Supporting Documents API
. View Endpoint
View Post-conditions:
applicationId
are generated for the loan application Submitted
to HSBC.
-
It is possible to perform the following for this loan:
-
Enquires status of this and many other loans that have been submitted via
Request Trade Loan summary list
API. View Endpoint
-
Enquires full status updates of this loan via
Request Trade Loan status
API. View Endpoint
operationId: create-advanced-buyer-loan-applications
security:
- Authorization: [ ]
X-HSBC-Trade-Finance-Token: [ ]
X-HSBC-Crypto-Signature: [ ]
parameters:
- $ref: "#/components/parameters/Authorization"
# - $ref: "#/components/parameters/X-HSBC-Trade-Finance-Token"
- $ref: "#/components/parameters/X-HSBC-CountryCode"
- $ref: "#/components/parameters/X-HSBC-Request-Correlation-Id"
- $ref: "#/components/parameters/X-HSBC-Request-Idempotency-Key"
# - $ref: "#/components/parameters/X-HSBC-Crypto-Signature"
requestBody:
$ref: '#/components/requestBodies/CreateAdvancedBuyerLoanApplicationRequestModel'
responses:
'201':
$ref: '#/components/responses/CreateAdvancedBuyerLoanApplicationResponseModel'
'400':
$ref: '#/components/responses/WsitBadRequest400Model'
'401':
$ref: '#/components/responses/WsitUnauthorized401Model'
'403':
$ref: '#/components/responses/WsitForbidden403Model'
'404':
$ref: '#/components/responses/WsitNotFound404Model'
'409':
$ref: '#/components/responses/WsitNotFound404Model'
'422':
$ref: '#/components/responses/WsitUnprocessableEntity422Model'
'500':
$ref: '#/components/responses/WsitInternalServerError500Model'
'502':
$ref: '#/components/responses/WsitIBadGateway502Model'
'503':
$ref: '#/components/responses/WsitServiceUnavailable503Model'
'504':
$ref: '#/components/responses/WsitGatewayTimeout504Model'
# /seller-loans/standard/applications:
# summary: Submit Seller Loan Applications
# description: Submit Seller Loan Applications
# post:
# tags:
# - Seller Loans
# summary: Submit Seller Loan Applications
# description: >-
# Enables a seller to directly submit a standard loan request to HSBC.
#
# View Pre-requisites:
#
# -
# API Connection Profile has been created.
# What is an API Connection Profile?
#
# - Loan applicant possesses valid trade account in HSBC.
# -
# (Optional) Supporting documents have been submitted successfully via
Submit Supporting Documents API
. View Endpoint
#
#
#
#
# View Post-conditions:
#
# applicationId
are generated for the loan application Submitted
to HSBC.
# -
# It is possible to perform the following for this loan:
#
# -
# Enquires status of this and many other loans that have been submitted via
Request Trade Loan summary list
API.View Endpoint
#
# -
# Enquires full status updates of this loan via
Request Trade Loan status
API. View Endpoint
#
#
#
#
#
# operationId: create-standard-seller-loan-applications
# security:
# - Authorization: [ ]
# X-HSBC-Trade-Finance-Token: [ ]
# X-HSBC-Crypto-Signature: [ ]
# parameters:
# - $ref: "#/components/parameters/Authorization"
# # - $ref: "#/components/parameters/X-HSBC-Trade-Finance-Token"
# - $ref: "#/components/parameters/X-HSBC-CountryCode"
# - $ref: "#/components/parameters/X-HSBC-Request-Correlation-Id"
# - $ref: "#/components/parameters/X-HSBC-Request-Idempotency-Key"
# # - $ref: "#/components/parameters/X-HSBC-Crypto-Signature"
# requestBody:
# $ref: '#/components/requestBodies/CreateStandardSellerLoanRequestApplicationRequestModel'
# responses:
# '201':
# $ref: '#/components/responses/CreateStandardSellerLoanApplicationResponseModel'
# '400':
# $ref: '#/components/responses/WsitBadRequest400Model'
# '401':
# $ref: '#/components/responses/WsitUnauthorized401Model'
# '403':
# $ref: '#/components/responses/WsitForbidden403Model'
# '404':
# $ref: '#/components/responses/WsitNotFound404Model'
# '409':
# $ref: '#/components/responses/WsitNotFound404Model'
# '422':
# $ref: '#/components/responses/WsitUnprocessableEntity422Model'
# '500':
# $ref: '#/components/responses/WsitInternalServerError500Model'
# '502':
# $ref: '#/components/responses/WsitIBadGateway502Model'
# '503':
# $ref: '#/components/responses/WsitServiceUnavailable503Model'
# '504':
# $ref: '#/components/responses/WsitGatewayTimeout504Model'
# /seller-loans/advanced/applications:
# summary: Submit Seller Loan Applications (Advanced)
# description: Submit Seller Loan Applications (Advanced)
# post:
# tags:
# - Seller Loans
# summary: Submit Seller Loan Applications (Advanced)
# description: >-
# Enables a seller to directly submit a advanced loan request to HSBC.
#
# View Pre-requisites:
#
# -
# API Connection Profile has been created.
# What is an API Connection Profile?
#
# - Loan applicant possesses valid trade account in HSBC.
# -
# (Optional) Supporting documents have been submitted successfully via
Submit Supporting Documents API
. View Endpoint
#
#
#
#
# View Post-conditions:
#
# applicationId
are generated for the loan application Submitted
to HSBC.
# -
# It is possible to perform the following for this loan:
#
# -
# Enquires status of this and many other loans that have been submitted via
Request Trade Loan summary list
API. View Endpoint
#
# -
# Enquires full status updates of this loan via
Request Trade Loan status
API. View Endpoint
#
#
#
#
#
# operationId: create-advanced-seller-loan-applications
# security:
# - Authorization: [ ]
# X-HSBC-Trade-Finance-Token: [ ]
# X-HSBC-Crypto-Signature: [ ]
# - $ref: "#/components/parameters/Authorization"
# # - $ref: "#/components/parameters/X-HSBC-Trade-Finance-Token"
# - $ref: "#/components/parameters/X-HSBC-CountryCode"
# - $ref: "#/components/parameters/X-HSBC-Request-Correlation-Id"
# - $ref: "#/components/parameters/X-HSBC-Request-Idempotency-Key"
# # - $ref: "#/components/parameters/X-HSBC-Crypto-Signature"
# requestBody:
# $ref: '#/components/requestBodies/CreateAdvancedSellerLoanApplicationRequestModel'
# responses:
# '201':
# $ref: '#/components/responses/CreateAdvancedSellerLoanApplicationResponseModel'
# '400':
# $ref: '#/components/responses/WsitBadRequest400Model'
# '401':
# $ref: '#/components/responses/WsitUnauthorized401Model'
# '403':
# $ref: '#/components/responses/WsitForbidden403Model'
# '404':
# $ref: '#/components/responses/WsitNotFound404Model'
# '409':
# $ref: '#/components/responses/WsitNotFound404Model'
# '422':
# $ref: '#/components/responses/WsitUnprocessableEntity422Model'
# '500':
# $ref: '#/components/responses/WsitInternalServerError500Model'
# '502':
# $ref: '#/components/responses/WsitIBadGateway502Model'
# '503':
# $ref: '#/components/responses/WsitServiceUnavailable503Model'
# '504':
# $ref: '#/components/responses/WsitGatewayTimeout504Model'
# /trade-loans/buyer/invoice-financing/tradepay/applications:
# summary: Submit Buyer Loan Applications
# description: Submit Buyer Loan Applications
# post:
# tags:
# - TradePay
# summary: Submit Buyer Loan Applications
# description: >-
# Enables a buyer to directly submit a TradePay loan request to HSBC.
#
# View Pre-requisites:
#
# -
# API Connection Profile has been created.
# What is an API Connection Profile?
#
# - Loan applicant possesses valid trade account in HSBC.
# -
# (Optional) Supporting documents have been submitted successfully via
Submit Supporting Documents API
. View Endpoint
#
#
#
#
# View Post-conditions:
#
# applicationId
are generated for the loan application Submitted
to HSBC.
# -
# It is possible to perform the following for this loan:
#
# -
# Enquires status of this and many other loans that have been submitted via
Request Trade Loan summary list
API. View Endpoint
#
# -
# Enquires full status updates of this loan via
Request Trade Loan status
API. View Endpoint
#
#
#
#
#
# operationId: create-tradepay-buyer-loan-applications
# security:
# - Authorization: [ ]
# X-HSBC-Trade-Finance-Token: [ ]
# X-HSBC-Crypto-Signature: [ ]
# parameters:
# - $ref: "#/components/parameters/Authorization"
# # - $ref: "#/components/parameters/X-HSBC-Trade-Finance-Token"
# - $ref: "#/components/parameters/X-HSBC-CountryCode"
# - $ref: "#/components/parameters/X-HSBC-Request-Correlation-Id"
# - $ref: "#/components/parameters/X-HSBC-Request-Idempotency-Key"
# # - $ref: "#/components/parameters/X-HSBC-Crypto-Signature"
# requestBody:
# $ref: '#/components/requestBodies/CreateTradePayBuyerLoanApplicationRequestModel'
# responses:
# '201':
# $ref: '#/components/responses/CreateTradePayBuyerLoanApplicationResponseModel'
# '400':
# $ref: '#/components/responses/WsitBadRequest400Model'
# '401':
# $ref: '#/components/responses/WsitUnauthorized401Model'
# '403':
# $ref: '#/components/responses/WsitForbidden403Model'
# '404':
# $ref: '#/components/responses/WsitNotFound404Model'
# '409':
# $ref: '#/components/responses/WsitNotFound404Model'
# '422':
# $ref: '#/components/responses/WsitUnprocessableEntity422Model'
# '500':
# $ref: '#/components/responses/WsitInternalServerError500Model'
# '502':
# $ref: '#/components/responses/WsitIBadGateway502Model'
# '503':
# $ref: '#/components/responses/WsitServiceUnavailable503Model'
# '504':
# $ref: '#/components/responses/WsitGatewayTimeout504Model'
# /trade-loans/seller/invoice-financing/tradepay/applications:
# summary: Submit Seller Loan Applications
# description: Submit Seller Loan Applications
# post:
# tags:
# - TradePay
# summary: Submit Seller Loan Applications
# description: >-
# Enables a seller to directly submit a TradePay loan request to HSBC.
#
# View Pre-requisites:
#
# -
# API Connection Profile has been created.
# What is an API Connection Profile?
#
# - Loan applicant possesses valid trade account in HSBC.
# -
# (Optional) Supporting documents have been submitted successfully via
Submit Supporting Documents API
. View Endpoint
#
#
#
#
# View Post-conditions:
#
# applicationId
are generated for the loan application Submitted
to HSBC.
# -
# It is possible to perform the following for this loan:
#
# -
# Enquires status of this and many other loans that have been submitted via
Request Trade Loan summary list
API. View Endpoint
#
# -
# Enquires full status updates of this loan via
Request Trade Loan status
API. View Endpoint
#
#
#
#
#
# operationId: create-tradepay-seller-loan-applications
# security:
# - Authorization: [ ]
# X-HSBC-Trade-Finance-Token: [ ]
# X-HSBC-Crypto-Signature: [ ]
# parameters:
# - $ref: "#/components/parameters/Authorization"
# # - $ref: "#/components/parameters/X-HSBC-Trade-Finance-Token"
# - $ref: "#/components/parameters/X-HSBC-CountryCode"
# - $ref: "#/components/parameters/X-HSBC-Request-Correlation-Id"
# - $ref: "#/components/parameters/X-HSBC-Request-Idempotency-Key"
# # - $ref: "#/components/parameters/X-HSBC-Crypto-Signature"
# requestBody:
# $ref: '#/components/requestBodies/CreateTradePaySellerLoanApplicationRequestModel'
# responses:
# '201':
# $ref: '#/components/responses/CreateTradePaySellerLoanApplicationResponseModel'
# '400':
# $ref: '#/components/responses/WsitBadRequest400Model'
# '401':
# $ref: '#/components/responses/WsitUnauthorized401Model'
# '403':
# $ref: '#/components/responses/WsitForbidden403Model'
# '404':
# $ref: '#/components/responses/WsitNotFound404Model'
# '409':
# $ref: '#/components/responses/WsitNotFound404Model'
# '422':
# $ref: '#/components/responses/WsitUnprocessableEntity422Model'
# '500':
# $ref: '#/components/responses/WsitInternalServerError500Model'
# '502':
# $ref: '#/components/responses/WsitIBadGateway502Model'
# '503':
# $ref: '#/components/responses/WsitServiceUnavailable503Model'
# '504':
# $ref: '#/components/responses/WsitGatewayTimeout504Model'
/trade-loans/extension-applications:
summary: Submit Loan Extension Applications
description: Submit Loan Extension Applications
post:
tags:
- Buyer Loans
# - Seller Loans
# - TradePay
summary: Submit Loan Extension Applications
description: >-
Enables directly submitting a loan extension request.
View Pre-requisites:
-
API Connection Profile has been created.
What is an API Connection Profile?
- Loan applicant possesses valid trade account in HSBC.
- Loan existed with
loanNumber
and status is Disbursed
.
View Post-conditions:
applicationId
are generated for the loan application Submitted
to HSBC.
-
It is possible to perform the following for this loan:
-
Enquires status of this and many other loans that have been submitted via
Request Trade Loan summary list
API. View Endpoint
-
Enquires full status updates of this loan via
Request Trade Loan status
API. View Endpoint
operationId: extend-loan-applications
security:
- Authorization: [ ]
X-HSBC-Trade-Finance-Token: [ ]
X-HSBC-Crypto-Signature: [ ]
parameters:
- $ref: "#/components/parameters/Authorization"
# - $ref: "#/components/parameters/X-HSBC-Trade-Finance-Token"
- $ref: "#/components/parameters/X-HSBC-CountryCode"
- $ref: "#/components/parameters/X-HSBC-Request-Correlation-Id"
- $ref: "#/components/parameters/X-HSBC-Request-Idempotency-Key"
# - $ref: "#/components/parameters/X-HSBC-Crypto-Signature"
requestBody:
$ref: '#/components/requestBodies/ExtendTradeLoanApplicationRequestModel'
responses:
'201':
$ref: '#/components/responses/ExtendTradeLoanApplicationResponseModel'
'400':
$ref: '#/components/responses/WsitBadRequest400Model'
'401':
$ref: '#/components/responses/WsitUnauthorized401Model'
'403':
$ref: '#/components/responses/WsitForbidden403Model'
'404':
$ref: '#/components/responses/WsitNotFound404Model'
'409':
$ref: '#/components/responses/WsitNotFound404Model'
'422':
$ref: '#/components/responses/WsitUnprocessableEntity422Model'
'500':
$ref: '#/components/responses/WsitInternalServerError500Model'
'502':
$ref: '#/components/responses/WsitIBadGateway502Model'
'503':
$ref: '#/components/responses/WsitServiceUnavailable503Model'
'504':
$ref: '#/components/responses/WsitGatewayTimeout504Model'
/trade-loans/settlement-applications:
summary: Submit Loan Settlement Applications
description: Submit Loan Settlement Applications
post:
tags:
- Buyer Loans
# - Seller Loans
# - TradePay
summary: Submit Loan Settlement Applications
description: >-
Enables directly submitting a loan settlement request.
View Pre-requisites:
-
API Connection Profile has been created.
What is an API Connection Profile?
- Loan applicant possesses valid trade account in HSBC.
- Loan existed with
loanNumber
and status is Disbursed
.
View Post-conditions:
applicationId
are generated for the loan application Submitted
to HSBC.
-
It is possible to perform the following for this loan:
-
Enquires status of this and many other loans that have been submitted via
Request Trade Loan summary list
API. View Endpoint
-
Enquires full status updates of this loan via
Request Trade Loan status
API. View Endpoint
operationId: settle-loan-applications
security:
- Authorization: [ ]
X-HSBC-Trade-Finance-Token: [ ]
X-HSBC-Crypto-Signature: [ ]
parameters:
- $ref: "#/components/parameters/Authorization"
# - $ref: "#/components/parameters/X-HSBC-Trade-Finance-Token"
- $ref: "#/components/parameters/X-HSBC-CountryCode"
- $ref: "#/components/parameters/X-HSBC-Request-Correlation-Id"
- $ref: "#/components/parameters/X-HSBC-Request-Idempotency-Key"
# - $ref: "#/components/parameters/X-HSBC-Crypto-Signature"
requestBody:
$ref: '#/components/requestBodies/SettleTradeLoanApplicationRequestModel'
responses:
'201':
$ref: '#/components/responses/SettleTradeLoanApplicationResponseModel'
'400':
$ref: '#/components/responses/WsitBadRequest400Model'
'401':
$ref: '#/components/responses/WsitUnauthorized401Model'
'403':
$ref: '#/components/responses/WsitForbidden403Model'
'404':
$ref: '#/components/responses/WsitNotFound404Model'
'409':
$ref: '#/components/responses/WsitNotFound404Model'
'422':
$ref: '#/components/responses/WsitUnprocessableEntity422Model'
'500':
$ref: '#/components/responses/WsitInternalServerError500Model'
'502':
$ref: '#/components/responses/WsitIBadGateway502Model'
'503':
$ref: '#/components/responses/WsitServiceUnavailable503Model'
'504':
$ref: '#/components/responses/WsitGatewayTimeout504Model'
/trade-loans:
summary: Request Trade Loan summary list
description: Request Trade Loan summary list
get:
tags:
- Buyer Loans
# - Seller Loans
# - TradePay
summary: Request Trade Loan summary list
description: >-
Request a status update on one or many trade loans.
View Pre-requisites:
-
API Connection Profile has been created.
What is an API Connection Profile?
- Loan applicant possesses valid trade account in HSBC.
View Post-conditions:
- A list of loans matches specified filtering criteria is retrieved.
-
Loans where status under
Submitted
and are not retrieved in the response. Check the status of these loan via Request Trade Loan status
API. View Endpoint.
Example: /trade-loans?applicationId={applicationId}
-
Enquires full status updates of this loan via
Request Trade Loan status
API. View Endpoint
-
It is possible to perform the following for this loan:
-
Extend the duration of loans via
Submit Loan extension applications
API. View Endpoint
-
Settle the duration of loans via
Submit Loan settlement applications
API. View Endpoint
-
Enquires full status updates of this loan via
Request Trade Loan status
API. View Endpoint
operationId: query-trade-loans
security:
- Authorization: [ ]
X-HSBC-Trade-Finance-Token: [ ]
X-HSBC-Crypto-Signature: [ ]
parameters:
- $ref: "#/components/parameters/Authorization"
# - $ref: "#/components/parameters/X-HSBC-Trade-Finance-Token"
- $ref: "#/components/parameters/X-HSBC-CountryCode"
- $ref: "#/components/parameters/X-HSBC-Request-Correlation-Id"
# - $ref: "#/components/parameters/X-HSBC-Crypto-Signature"
- $ref: "#/components/parameters/PageNumber"
- $ref: "#/components/parameters/PageSize"
- in: query
name: customerReference
schema:
$ref: "#/components/schemas/TaasCustomerReference"
- in: query
name: status
schema:
$ref: "#/components/schemas/LoanStatusValueSchema"
responses:
'200':
$ref: '#/components/responses/QueryTradeLoansResponseModel'
'400':
$ref: '#/components/responses/WsitBadRequest400Model'
'401':
$ref: '#/components/responses/WsitUnauthorized401Model'
'403':
$ref: '#/components/responses/WsitForbidden403Model'
'404':
$ref: '#/components/responses/WsitNotFound404Model'
'409':
$ref: '#/components/responses/WsitNotFound404Model'
'422':
$ref: '#/components/responses/WsitUnprocessableEntity422Model'
'500':
$ref: '#/components/responses/WsitInternalServerError500Model'
'502':
$ref: '#/components/responses/WsitIBadGateway502Model'
'503':
$ref: '#/components/responses/WsitServiceUnavailable503Model'
'504':
$ref: '#/components/responses/WsitGatewayTimeout504Model'
/trade-loans/{loanNumber}:
summary: Request Trade Loan status
description: Request Trade Loan status
get:
tags:
- Buyer Loans
# - Seller Loans
# - TradePay
summary: Request Trade Loan status
description: >-
Request full status update of a specific loan in real-time.
View Pre-requisites:
-
API Connection Profile has been created.
What is an API Connection Profile?
- Loan applicant possesses valid trade account in HSBC.
View Post-conditions:
- Specific loan matches
loanNumber
or applicationId
is retrieved.
-
It is possible to perform the following for this loan:
-
Extend the duration of loans via
Submit Loan extension applications
API. View Endpoint
-
Settle the duration of loans via
Submit Loan settlement applications
API. View Endpoint
operationId: query-trade-loan
security:
- Authorization: [ ]
X-HSBC-Trade-Finance-Token: [ ]
X-HSBC-Crypto-Signature: [ ]
parameters:
- $ref: "#/components/parameters/Authorization"
# - $ref: "#/components/parameters/X-HSBC-Trade-Finance-Token"
- $ref: "#/components/parameters/X-HSBC-CountryCode"
- $ref: "#/components/parameters/X-HSBC-Request-Correlation-Id"
# - $ref: "#/components/parameters/X-HSBC-Crypto-Signature"
- name: loanNumber
in: path
description: >-
Used this query parameter alone for querying a specific loan. e.g.
/trade-loans?applicationId=3fa85f64-5717-4562-b3fc-2c963f66afa6
/trade-loans/LNSG23040102
/trade-loans?loanNumber=LNSG23040102
required: true
schema:
type: string
pattern: ^(\W{1,20})|(\?applicationId=[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12})|(\?loanNumber=\W{1,20})$
minLength: 0
maxLength: 20
example: "?applicationId=3fa85f64-5717-4562-b3fc-2c963f66afa6"
responses:
'200':
$ref: '#/components/responses/QueryTradeLoanResponseModel'
'400':
$ref: '#/components/responses/WsitBadRequest400Model'
'401':
$ref: '#/components/responses/WsitUnauthorized401Model'
'403':
$ref: '#/components/responses/WsitForbidden403Model'
'404':
$ref: '#/components/responses/WsitNotFound404Model'
'409':
$ref: '#/components/responses/WsitNotFound404Model'
'422':
$ref: '#/components/responses/WsitUnprocessableEntity422Model'
'500':
$ref: '#/components/responses/WsitInternalServerError500Model'
'502':
$ref: '#/components/responses/WsitIBadGateway502Model'
'503':
$ref: '#/components/responses/WsitServiceUnavailable503Model'
'504':
$ref: '#/components/responses/WsitGatewayTimeout504Model'
/.well-known/health:
description: This API using for health check
get:
tags:
- Common Services
summary: Trade Finance API Health Status
description: Enquire Trade Finance API Health Status
operationId: get-health
security:
- Authorization: [ ]
X-HSBC-Trade-Finance-Token: [ ]
X-HSBC-Crypto-Signature: [ ]
parameters:
- $ref: "#/components/parameters/Authorization"
# - $ref: "#/components/parameters/X-HSBC-Trade-Finance-Token"
- $ref: "#/components/parameters/X-HSBC-CountryCode"
- $ref: "#/components/parameters/X-HSBC-Request-Correlation-Id"
responses:
'200':
$ref: '#/components/responses/Health_Response_200'
'400':
$ref: '#/components/responses/WsitBadRequest400Model'
'401':
$ref: '#/components/responses/WsitUnauthorized401Model'
'403':
$ref: '#/components/responses/WsitForbidden403Model'
'404':
$ref: '#/components/responses/WsitNotFound404Model'
'422':
$ref: '#/components/responses/WsitUnprocessableEntity422Model'
'500':
$ref: '#/components/responses/WsitInternalServerError500Model'
'502':
$ref: '#/components/responses/WsitIBadGateway502Model'
'503':
$ref: '#/components/responses/WsitServiceUnavailable503Model'
'504':
$ref: '#/components/responses/WsitGatewayTimeout504Model'
components:
examples:
healthResponseExample:
value:
code: EMKT200
message: Success
repliedTime: '2023-04-14 02:45:22'
responseData: Probe check is done!
CreateTradePaySellerLoanApplicationRequestModelExample:
summary: TradePaySellerLoanApplication
description: Example Request
value:
data:
authorizationInfo:
externalCustomerId: "wwee"
accountCountry: "HK"
institutionCode: "HSBC"
accountNumber: "181014200095"
loanNumber: "LN20231001001"
loan:
customerReference: "CRSG23040101"
startDate: "2023-04-01"
tenor: "30"
maturityDate: "2023-07-31"
loanCurrency: "SGD"
paymentToSupplierAmount:
currency: "SGD"
amount: "1234"
amountPaidByLoan: "1234"
repaymentInfo:
repaymentAccountNumber: "SGHSBC123456789123"
interestAccountNumber: "SGHSBC123456789123"
chargesAccountNumber: "SGHSBC123456789123"
beneficiary:
name: "BANK-SG001 Holdings Plc."
country: "SG"
addressLine1: "BANK-SG001 Tower #01-01"
addressLine2: "1 BANK-SG001 Street"
addressLine3: "SINGAPORE 12345"
beneficiaryBankInfo:
account: "112"
name: "BANK-SG001 Holdings Plc."
swiftBicBranchCode:
country: "SG"
addressLine1: "BANK-SG001 Tower #01-01"
addressLine2: "1 BANK-SG001 Street"
addressLine3: "SINGAPORE 12345"
instructionsToBank: "string"
invoices:
- number: "INV23030101"
issuedDate: "2023-03-01"
amount:
currency: "USD"
amount: "100.00"
outstandingAmount: "100.00"
taxAmount: "0.00"
adjustment:
debitOrCreditIndicator: "Credit"
adjustmentAmount: "0.00"
buyer:
name: "BANK-SG001 Holdings Plc."
country: "SG"
addressLine1: "BANK-SG001 Tower #01-01"
addressLine2: "1 BANK-SG001 Street"
addressLine3: "SINGAPORE 12345"
lineItems:
- id: "10"
name: "T-shirt"
unit:
quantity: "10"
debitOrCreditIndicator: "Credit"
amount: "100.00"
description: "Made in Singapore"
type: "GOODS"
debitOrCreditIndicator: "Credit"
totalAmount: "1000.00"
forwardContractDetails:
contractNumber: "SG23040102"
contractAmount:
currency: "SGD"
amount: "1234"
miscStates: "{\"additionalInfo\":\"something\"}"
CreateTradePaySellerLoanApplicationResponseModelExample:
summary: TradePaySellerLoanApplication
description: Example Response
value:
data:
applicationId: "46338647WB6V"
status:
value: "Submitted"
authorizationInfo:
externalCustomerId: "wwee"
accountCountry: "HK"
institutionCode: "HSBC"
accountNumber: "181014200095"
loanNumber: "LN20231001001"
loan:
customerReference: "CRSG23040101"
startDate: "2023-04-01"
tenor: "30"
maturityDate: "2023-07-31"
loanCurrency: "SGD"
paymentToSupplierAmount:
currency: "SGD"
amount: "1234"
amountPaidByLoan: "1234"
repaymentInfo:
repaymentAccountNumber: "SGHSBC123456789123"
interestAccountNumber: "SGHSBC123456789123"
chargesAccountNumber: "SGHSBC123456789123"
beneficiary:
name: "BANK-SG001 Holdings Plc."
country: "SG"
addressLine1: "BANK-SG001 Tower #01-01"
addressLine2: "1 BANK-SG001 Street"
addressLine3: "SINGAPORE 12345"
beneficiaryBankInfo:
account: "112"
name: "BANK-SG001 Holdings Plc."
swiftBicBranchCode:
country: "SG"
addressLine1: "BANK-SG001 Tower #01-01"
addressLine2: "1 BANK-SG001 Street"
addressLine3: "SINGAPORE 12345"
instructionsToBank: "string"
invoices:
- number: "INV23030101"
issuedDate: "2023-03-01"
amount:
currency: "USD"
amount: "100.00"
outstandingAmount: "100.00"
taxAmount: "0.00"
adjustment:
debitOrCreditIndicator: "Credit"
adjustmentAmount: "0.00"
buyer:
name: "BANK-SG001 Holdings Plc."
country: "SG"
addressLine1: "BANK-SG001 Tower #01-01"
addressLine2: "1 BANK-SG001 Street"
addressLine3: "SINGAPORE 12345"
lineItems:
- id: "10"
name: "T-shirt"
unit:
quantity: "10"
debitOrCreditIndicator: "Credit"
amount: "100.00"
description: "Made in Singapore"
type: "GOODS"
debitOrCreditIndicator: "Credit"
totalAmount: "1000.00"
forwardContractDetails:
contractNumber: "SG23040102"
contractAmount:
currency: "SGD"
amount: "1234"
miscStates: "{\"additionalInfo\":\"something\"}"
CreateTradePayBuyerLoanApplicationResponseModelExample:
summary: TradePayBuyerLoanApplication
description: Example Response
value:
data:
applicationId: "46338647WB6V"
status:
value: "Submitted"
authorizationInfo:
externalCustomerId: "wwee"
accountCountry: "HK"
institutionCode: "HSBC"
accountNumber: "181014200095"
loanNumber: "LN20231001001"
loan:
customerReference: "CRSG23040101"
startDate: "2023-04-01"
tenor: "30"
maturityDate: "2023-07-31"
loanCurrency: "SGD"
paymentToSupplierAmount:
currency: "SGD"
amount: "1234"
amountPaidByLoan: "1234"
repaymentInfo:
repaymentAccountNumber: "SGHSBC123456789123"
interestAccountNumber: "SGHSBC123456789123"
chargesAccountNumber: "SGHSBC123456789123"
beneficiary:
name: "BANK-SG001 Holdings Plc."
country: "SG"
addressLine1: "BANK-SG001 Tower #01-01"
addressLine2: "1 BANK-SG001 Street"
addressLine3: "SINGAPORE 12345"
beneficiaryBankInfo:
account: "112"
name: "BANK-SG001 Holdings Plc."
swiftBicBranchCode:
country: "SG"
addressLine1: "BANK-SG001 Tower #01-01"
addressLine2: "1 BANK-SG001 Street"
addressLine3: "SINGAPORE 12345"
instructionsToBank: "string"
invoices:
- number: "INV23030101"
issuedDate: "2023-03-01"
amount:
currency: "USD"
amount: "100.00"
outstandingAmount: "100.00"
taxAmount: "0.00"
adjustment:
debitOrCreditIndicator: "Credit"
adjustmentAmount: "0.00"
lineItems:
- id: "10"
name: "T-shirt"
unit:
quantity: "10"
debitOrCreditIndicator: "Credit"
amount: "100.00"
description: "Made in Singapore"
type: "GOODS"
debitOrCreditIndicator: "Credit"
totalAmount: "1000.00"
forwardContractDetails:
contractNumber: "SG23040102"
contractAmount:
currency: "SGD"
amount: "1234"
miscStates: "{\"additionalInfo\":\"something\"}"
CreateTradePayBuyerLoanApplicationRequestModelExample:
summary: TradePayBuyerLoanApplication
description: Example Request
value:
data:
authorizationInfo:
externalCustomerId: "wwee"
accountCountry: "HK"
institutionCode: "HSBC"
accountNumber: "181014200095"
loanNumber: "LN20231001001"
loan:
customerReference: "CRSG23040101"
startDate: "2023-04-01"
tenor: "30"
maturityDate: "2023-07-31"
loanCurrency: "SGD"
paymentToSupplierAmount:
currency: "SGD"
amount: "1234"
amountPaidByLoan: "1234"
repaymentInfo:
repaymentAccountNumber: "SGHSBC123456789123"
interestAccountNumber: "SGHSBC123456789123"
chargesAccountNumber: "SGHSBC123456789123"
beneficiary:
name: "BANK-SG001 Holdings Plc."
country: "SG"
addressLine1: "BANK-SG001 Tower #01-01"
addressLine2: "1 BANK-SG001 Street"
addressLine3: "SINGAPORE 12345"
beneficiaryBankInfo:
account: "112"
name: "BANK-SG001 Holdings Plc."
swiftBicBranchCode:
country: "SG"
addressLine1: "BANK-SG001 Tower #01-01"
addressLine2: "1 BANK-SG001 Street"
addressLine3: "SINGAPORE 12345"
instructionsToBank: "string"
invoices:
- number: "INV23030101"
issuedDate: "2023-03-01"
amount:
currency: "USD"
amount: "100.00"
outstandingAmount: "100.00"
taxAmount: "0.00"
adjustment:
debitOrCreditIndicator: "Credit"
adjustmentAmount: "0.00"
lineItems:
- id: "10"
name: "T-shirt"
unit:
quantity: "10"
debitOrCreditIndicator: "Credit"
amount: "100.00"
description: "Made in Singapore"
type: "GOODS"
debitOrCreditIndicator: "Credit"
totalAmount: "1000.00"
forwardContractDetails:
contractNumber: "SG23040102"
contractAmount:
currency: "SGD"
amount: "1234"
miscStates: "{\"additionalInfo\":\"something\"}"
QueryTradeLoanResponseModelExample:
summary: QueryTradeLoanResponseModelExample
description: Example Response
value:
data:
authorizationInfo:
accountCountry: "SG"
institutionCode: "HSBC"
accountNumber: "123456789"
productType: "BuyerLoan"
loanNumber: "LN20231001001"
status:
value: "Submitted"
customerReference: "CRSG23040101"
startDate: "2023-04-01"
tenor: "30"
maturityDate: "2023-07-31"
paymentToSupplierAmount:
currency: "SGD"
amount: "80"
amountPaidByLoan:
loanAmount:
currency: "SGD"
amount: "80"
outstanding: "70"
fixedOrVariableRateLoan:
currentInterestRate:
interestOutstanding:
totalInterestPaid:
interestCalculationPreference:
interestCollectionFrequency:
repaymentInfo:
repaymentAccountNumber: "SGHSBC123456789123"
interestAccountNumber: "SGHSBC123456789123"
chargesAccountNumber: "SGHSBC123456789123"
beneficiariesInfo:
- paymentMethod: LocalInCountryPayments
amount:
currency: "SGD"
amount: "12388507815481a16z"
name: "BANK-SG001 Holdings Plc."
referenceNumber: "Beneficiary reference number"
country: "SG"
addressLine1: "BANK-SG001 Tower #01-01"
addressLine2: "1 BANK-SG001 Street"
addressLine3: "SINGAPORE 12345"
beneficiaryBankInfo:
account: "AC-BEN-SG001"
name: "BANK-SG001 Holdings Plc."
swiftBicBranchCode: "EZIQXIO0IXL"
country: "SG"
addressLine1: "BANK-SG001 Tower #01-01"
addressLine2: "1 BANK-SG001 Street"
addressLine3: "SINGAPORE 12345"
dateRecorded: 2023-11-14
creationDateAndTime: 2023-11-14T10:32:14Z
QueryTradeLoansResponseModelExample:
summary: QueryTradeLoansResponseModel
description: Example Response
value:
data:
transactions:
- authorizationInfo:
accountCountry: "SG"
institutionCode: "HSBC"
accountNumber: "123456789"
productType: "BuyerLoan"
loanNumber: "LN20231001001"
status:
value: "Submitted"
customerReference: "CRSG23040101"
startDate: "2023-04-01"
tenor: "30"
maturityDate: "2023-07-31"
loanCurrency: "SGD"
paymentCurrency: "USD"
amountPaidByLoan: 1000.00
outstandingAmount:
currency: "SGD"
amount: "12388507815481a16z"
beneficiaryName: "BEN-SG001 Holdings Plc."
creationDateAndTime: 2023-11-14T10:32:14Z
meta:
totalItems: 12
pageSize: 1
pageNumber: 10
SettleTradeLoanApplicationResponseModelExample:
summary: SettleTradeLoan-applications
description: Example Response
value:
data:
applicationId: "46338647WB6V"
status:
value: "Submitted"
loanNumber: "LN20231001001"
repaymentInfo:
date: "2023-11-01"
amount: "10"
repaymentAccountNumber: "100123456789"
interestAccountNumber: "100123456789"
chargesAccountNumber: "100123456789"
instructionsToBank: "string"
miscStates: "{\"additionalInfo\":\"something\"}"
SettleTradeLoanApplicationRequestModelExample:
summary: SettleTradeLoan-applications
description: Example Request
value:
data:
loanNumber: "LN20231001001"
repaymentInfo:
date: "2023-11-01"
amount: "10"
repaymentAccountNumber: "100123456789"
interestAccountNumber: "100123456789"
chargesAccountNumber: "100123456789"
instructionsToBank: "string"
miscStates: "{\"additionalInfo\":\"something\"}"
ExtendTradeLoanApplicationRequestModelExample:
summary: ExtendTradeLoan-applications
description: Example Request
value:
data:
loanNumber: "LN20231001001"
loanExtensionDetail:
tenor: "120"
maturityDate: null
reasonForLoanExtension: "TEXT OF REASON"
instructionsToBank: "string"
miscStates: "{\"additionalInfo\":\"something\"}"
ExtendTradeLoanApplicationResponseModelExample:
summary: ExtendTradeLoan-applications
description: Example Response
value:
data:
applicationId: "46338647WB6V"
status:
value: "Submitted"
loanNumber: "LN20231001001"
loanExtensionDetail:
tenor: "120"
maturityDate: null
reasonForLoanExtension: "TEXT OF REASON"
instructionsToBank: "string"
miscStates: "{\"additionalInfo\":\"something\"}"
WsitUnencryptedAdvancedRequestModelExample:
summary: buyer-advanced-applications
description: Example Request
value:
data:
loanNumber: "LN20231001001"
loan:
typeOfGoods: "GOODS"
goodsShipped: "Y"
customerReference: "CRSG23040101"
startDate: "2023-04-01"
tenor: "30"
maturityDate: "2023-07-31"
loanCurrency: "SGD"
paymentToSupplierAmount:
currency: "SGD"
amount: "12388507815481a16z"
amountPaidByLoan: "8183446075888L"
shortFallAmount:
currency: "SGD"
amount: "12388507815481a16z"
shortFallDebitAccount: "8183446075888L"
repaymentInfo:
repaymentAccountNumber: "SGHSBC123456789123"
interestAccountNumber: "SGHSBC123456789123"
chargesAccountNumber: "SGHSBC123456789123"
interestCalculationPreferenceCode: "ResetHalfYearly"
interestCollectionFreqencyCode: "HalfYearly"
goodsDescription: "T-shirt"
beneficiary:
- amount:
currency: "SGD"
amount: "12388507815481a16z"
referenceNumber: "Beneficiary reference number"
name: "BANK-SG001 Holdings Plc."
country: "SG"
addressLine1: "BANK-SG001 Tower #01-01"
addressLine2: "1 BANK-SG001 Street"
addressLine3: "SINGAPORE 12345"
benefiaryBankInfo:
account: "AC-BEN-SG001"
name: "BANK-SG001 Holdings Plc."
swiftBicBranchCode: "EZIQXIO0IXL"
country: "SG"
addressLine1: "BANK-SG001 Tower #01-01"
addressLine2: "1 BANK-SG001 Street"
addressLine3: "SINGAPORE 12345"
supportingDocuments:
- id: "idd_10349C86-0000-C515-AB9B-65B893B9744B"
name: "test.tif"
category: "CustomerApplication"
instructionsToBank: "string"
miscStates: "{\"additionalInfo\":\"something\"}"
WsitDecryptedAdvancedBuyerLoanResponseModelExample:
summary: buyer-advanced-applications
description: Example Response
value:
data:
applicationId: "46338647WB6V"
status:
value: "Submitted"
loanNumber: "LN20231001001"
loan:
typeOfGoods: "GOODS"
goodsShipped: "Y"
customerReference: "CRSG23040101"
startDate: "2023-04-01"
tenor: "30"
maturityDate: "2023-07-31"
loanCurrency: "SGD"
paymentToSupplierAmount:
currency: "SGD"
amount: "12388507815481a16z"
amountPaidByLoan: "8183446075888L"
shortFallAmount:
currency: "SGD"
amount: "12388507815481a16z"
shortFallDebitAccount: "8183446075888L"
repaymentInfo:
repaymentAccountNumber: "SGHSBC123456789123"
interestAccountNumber: "SGHSBC123456789123"
chargesAccountNumber: "SGHSBC123456789123"
interestCalculationPreferenceCode: "ResetHalfYearly"
interestCollectionFreqencyCode: "HalfYearly"
goodsDescription: "T-shirt"
beneficiary:
- amount:
currency: "SGD"
amount: "12388507815481a16z"
referenceNumber: "Beneficiary reference number"
name: "BANK-SG001 Holdings Plc."
country: "SG"
addressLine1: "BANK-SG001 Tower #01-01"
addressLine2: "1 BANK-SG001 Street"
addressLine3: "SINGAPORE 12345"
benefiaryBankInfo:
account: "AC-BEN-SG001"
name: "BANK-SG001 Holdings Plc."
swiftBicBranchCode: "EZIQXIO0IXL"
country: "SG"
addressLine1: "BANK-SG001 Tower #01-01"
addressLine2: "1 BANK-SG001 Street"
addressLine3: "SINGAPORE 12345"
supportingDocuments:
- id: "idd_10349C86-0000-C515-AB9B-65B893B9744B"
name: "test.tif"
category: "CustomerApplication"
instructionsToBank: "string"
miscStates: "{\"additionalInfo\":\"something\"}"
WsitDecryptedResponseModelExample:
summary: buyer-standard-applications
description: Example Response
value:
data:
applicationId: "46338647WB6V"
status:
value: "Submitted"
loanNumber: "LN20231001001"
loan:
invoiceNumberBillReference: "81921021"
customerReference: "CRSG23040101"
typeOfGoods: "GOODS"
goodsShipped: "Y"
startDate: "2023-04-01"
tenor: "30"
maturityDate: "2023-07-31"
loanCurrency: "SGD"
paymentToSupplierAmount:
currency: "SGD"
amount: "12388507815481a16z"
amountPaidByLoan: "8183446075888L"
repaymentInfo:
repaymentAccountNumber: "SGHSBC123456789123"
interestAccountNumber: "SGHSBC123456789123"
chargesAccountNumber: "SGHSBC123456789123"
goodsDescription: "T-shirt"
beneficiary:
name: "BANK-SG001 Holdings Plc."
country: "SG"
addressLine1: "BANK-SG001 Tower #01-01"
addressLine2: "1 BANK-SG001 Street"
addressLine3: "SINGAPORE 12345"
benefiaryBankInfo:
account: "AC-BEN-SG001"
name: "BANK-SG001 Holdings Plc."
swiftBicBranchCode: "EZIQXIO0IXL"
country: "SG"
addressLine1: "BANK-SG001 Tower #01-01"
addressLine2: "1 BANK-SG001 Street"
addressLine3: "SINGAPORE 12345"
supportingDocuments:
- id: "idd_10349C86-0000-C515-AB9B-65B893B9744B"
name: "test.tif"
category: "CustomerApplication"
instructionsToBank: "string"
miscStates: "{\"additionalInfo\":\"something\"}"
WsitUnencryptedRequestModelExample:
summary: buyer-standard-applications
description: Example Request
value:
data:
loanNumber: "LN20231001001"
loan:
invoiceNumberBillReference: "81921021"
customerReference: "CRSG23040101"
typeOfGoods: "GOODS"
goodsShipped: "Y"
startDate: "2023-04-01"
tenor: "30"
maturityDate: "2023-07-31"
loanCurrency: "SGD"
paymentToSupplierAmount:
currency: "SGD"
amount: "12388507815481a16z"
amountPaidByLoan: "8183446075888L"
repaymentInfo:
repaymentAccountNumber: "SGHSBC123456789123"
interestAccountNumber: "SGHSBC123456789123"
chargesAccountNumber: "SGHSBC123456789123"
goodsDescription: "T-shirt"
beneficiary:
name: "BANK-SG001 Holdings Plc."
country: "SG"
addressLine1: "BANK-SG001 Tower #01-01"
addressLine2: "1 BANK-SG001 Street"
addressLine3: "SINGAPORE 12345"
benefiaryBankInfo:
account: "AC-BEN-SG001"
name: "BANK-SG001 Holdings Plc."
swiftBicBranchCode: "EZIQXIO0IXL"
country: "SG"
addressLine1: "BANK-SG001 Tower #01-01"
addressLine2: "1 BANK-SG001 Street"
addressLine3: "SINGAPORE 12345"
supportingDocuments:
- id: "idd_10349C86-0000-C515-AB9B-65B893B9744B"
name: "test.tif"
category: "CustomerApplication"
instructionsToBank: "string"
miscStates: "{\"additionalInfo\":\"something\"}"
WsitDecryptedStandardSellerLoanResponseModelExample:
summary: seller-standard-applications
description: Example Response
value:
data:
applicationId: "46338647WB6V"
status:
value: "Submitted"
authorizationInfo:
externalCustomerId: "wwee"
accountCountry: "HK"
institutionCode: "HSBC"
accountNumber: "181014200095"
loanNumber: "LN20231001001"
loan:
typeOfGoods: "GOODS"
goodsShipped: "Y"
customerReference: "CRSG23040101"
startDate: "2023-04-01"
tenor: "30"
maturityDate: "2023-07-31"
paymentToSupplierAmount:
currency: "SGD"
amount: "12388507815481a16z"
loanAmount:
currency: "SGD"
amount: "12388507815481a16z"
repaymentInfo:
repaymentAccountNumber: "SGHSBC123456789123"
interestAccountNumber: "SGHSBC123456789123"
chargesAccountNumber: "SGHSBC123456789123"
goodsDescription: "T-shirt"
buyers:
- name: "BANK-SG001 Holdings Plc."
country: "SG"
addressLine1: "BANK-SG001 Tower #01-01"
addressLine2: "1 BANK-SG001 Street"
addressLine3: "SINGAPORE 12345"
beneficiary:
name: "BANK-SG001 Holdings Plc."
country: "SG"
addressLine1: "BANK-SG001 Tower #01-01"
addressLine2: "1 BANK-SG001 Street"
addressLine3: "SINGAPORE 12345"
benefiaryBankInfo:
account: "AC-BEN-SG001"
name: "BANK-SG001 Holdings Plc."
swiftBicBranchCode: "EZIQXIO0IXL"
branchName: "branchName"
country: "SG"
addressLine1: "BANK-SG001 Tower #01-01"
addressLine2: "1 BANK-SG001 Street"
addressLine3: "SINGAPORE 12345"
supportingDocuments:
- id: "idd_10349C86-0000-C515-AB9B-65B893B9744B"
name: "test.tif"
category: "CustomerApplication"
instructionsToBank: "string"
miscStates: "{\"additionalInfo\":\"something\"}"
WsitUnencryptedStandardSellerLoanRequestModelExample:
summary: seller-standard-applications
description: Example Request
value:
data:
authorizationInfo:
externalCustomerId: "wwee"
accountCountry: "HK"
institutionCode: "HSBC"
accountNumber: "181014200095"
loanNumber: "LN20231001001"
loan:
typeOfGoods: "GOODS"
goodsShipped: "Y"
customerReference: "CRSG23040101"
startDate: "2023-04-01"
tenor: "30"
maturityDate: "2023-07-31"
paymentToSupplierAmount:
currency: "SGD"
amount: "12388507815481a16z"
loanAmount:
currency: "SGD"
amount: "12388507815481a16z"
repaymentInfo:
repaymentAccountNumber: "SGHSBC123456789123"
interestAccountNumber: "SGHSBC123456789123"
chargesAccountNumber: "SGHSBC123456789123"
goodsDescription: "T-shirt"
buyers:
- name: "BANK-SG001 Holdings Plc."
country: "SG"
addressLine1: "BANK-SG001 Tower #01-01"
addressLine2: "1 BANK-SG001 Street"
addressLine3: "SINGAPORE 12345"
beneficiary:
name: "BANK-SG001 Holdings Plc."
country: "SG"
addressLine1: "BANK-SG001 Tower #01-01"
addressLine2: "1 BANK-SG001 Street"
addressLine3: "SINGAPORE 12345"
benefiaryBankInfo:
account: "AC-BEN-SG001"
name: "BANK-SG001 Holdings Plc."
swiftBicBranchCode: "EZIQXIO0IXL"
branchName: "branchName"
country: "SG"
addressLine1: "BANK-SG001 Tower #01-01"
addressLine2: "1 BANK-SG001 Street"
addressLine3: "SINGAPORE 12345"
supportingDocuments:
- id: "idd_10349C86-0000-C515-AB9B-65B893B9744B"
name: "test.tif"
category: "CustomerApplication"
instructionsToBank: "string"
miscStates: "{\"additionalInfo\":\"something\"}"
CreateAdvancedSellerLoanApplicationRequestModelExample:
summary: seller-Advanced-applications
description: Example Request
value:
data:
authorizationInfo:
externalCustomerId: "wwee"
accountCountry: "HK"
institutionCode: "HSBC"
accountNumber: "181014200095"
loanNumber: "LN20231001001"
loan:
typeOfGoods: "GOODS"
goodsShipped: "Y"
customerReference: "CRSG23040101"
startDate: "2023-04-01"
tenor: "30"
maturityDate: "2023-07-31"
totalSupportingDocumentAmount:
currency: "USD"
amount: "80"
loanAmount:
currency: "SGD"
amount: "12388507815481a16z"
repaymentInfo:
repaymentAccountNumber: "SGHSBC123456789123"
interestAccountNumber: "SGHSBC123456789123"
chargesAccountNumber: "SGHSBC123456789123"
interestCalculationPreferenceCode: "556"
interestCollectionFreqencyCode: "123"
goodsDescription: "T-shirt"
buyers:
- name: "BANK-SG001 Holdings Plc."
country: "SG"
addressLine1: "BANK-SG001 Tower #01-01"
addressLine2: "1 BANK-SG001 Street"
addressLine3: "SINGAPORE 12345"
applicationOfFunds:
- paymentCurrency: "SGD"
bankInfo:
- accountNumberIBAN: "UH33-5HL813SO9P 1DNMRML"
countryTerritory: "SG"
branchCodeBicSwift: "SG"
name: "BANK-SG001 Holdings Plc."
branchName: "branchName"
addressLine1: "BANK-SG001 Tower #01-01"
addressLine2: "1 BANK-SG001 Street"
addressLine3: "SINGAPORE 12345"
forwardContractDetails:
- contractNumber: "SG23040102"
amount:
currency: "SGD"
amount: "1234"
supportingDocuments:
- id: "idd_10349C86-0000-C515-AB9B-65B893B9744B"
name: "test.tif"
category: "CustomerApplication"
instructionsToBank: "string"
miscStates: "{\"additionalInfo\":\"something\"}"
CreateAdvancedSellerLoanApplicationResponseModelExample:
summary: seller-Advanced-applications
description: Example Response
value:
data:
applicationId: "46338647WB6V"
status:
value: "Submitted"
authorizationInfo:
externalCustomerId: "wwee"
accountCountry: "HK"
institutionCode: "HSBC"
accountNumber: "181014200095"
loanNumber: "LN20231001001"
loan:
typeOfGoods: "GOODS"
goodsShipped: "Y"
customerReference: "CRSG23040101"
startDate: "2023-04-01"
tenor: "30"
maturityDate: "2023-07-31"
totalSupportingDocumentAmount:
currency: "USD"
amount: "80"
loanAmount:
currency: "SGD"
amount: "12388507815481a16z"
repaymentInfo:
repaymentAccountNumber: "SGHSBC123456789123"
interestAccountNumber: "SGHSBC123456789123"
chargesAccountNumber: "SGHSBC123456789123"
interestCalculationPreferenceCode: "556"
interestCollectionFreqencyCode: "123"
goodsDescription: "T-shirt"
buyers:
- name: "BANK-SG001 Holdings Plc."
country: "SG"
addressLine1: "BANK-SG001 Tower #01-01"
addressLine2: "1 BANK-SG001 Street"
addressLine3: "SINGAPORE 12345"
applicationOfFunds:
- paymentCurrency: "SGD"
bankInfo:
- accountNumberIBAN: "UH33-5HL813SO9P 1DNMRML"
countryTerritory: "SG"
branchCodeBicSwift: "SG"
name: "BANK-SG001 Holdings Plc."
branchName: "branchName"
addressLine1: "BANK-SG001 Tower #01-01"
addressLine2: "1 BANK-SG001 Street"
addressLine3: "SINGAPORE 12345"
forwardContractDetails:
- contractNumber: "SG23040102"
amount:
currency: "SGD"
amount: "1234"
supportingDocuments:
- id: "idd_10349C86-0000-C515-AB9B-65B893B9744B"
name: "test.tif"
category: "CustomerApplication"
instructionsToBank: "string"
miscStates: "{\"additionalInfo\":\"something\"}"
WsitEncryptedRequestBase64Model:
summary: EncryptedRequest
description: This is how the encrypted message body would look like.
value:
encryptedRequestBase64: LS0tLS1CRUdJTiBQR1AgTUVTU0FHRS0tLS0tClZlcnNpb246IEJDUEcgdjEuNjIKCmhRRU1BNlQ3Y2JqTEdRZ0VBUWdBajJtV0owVHZadTdWc3JQcmFQV2pQUkNHQmg4bUF6MEYrU3NPMlNBb1RBRHMKWjlPL0VXTnRuWUptU2hlVTRDRUp0azlDc1p6d0lURExHYXlxS3ovNmJsUlFjRHBhMEdyc3A0ZEw5am81bXBVRwphNDZFODdod040aEJGQ0dUMGl1alR4dTlnekN3YUhXVTdycHQzZzhCUXVIdHo2UlRxbkZzcFdTc3pxd1k2YStoCmZyek44WEJxM1lTaWRZR3pWaVhXR1FmMTFiQWdqcjA2WlVubUFpbHdJSXlLcjRTZlg0N2xSWWFha2Y4VVRuNlQKVUlWYjFhYW5PSHpFNXdRMTd1NHNid25jK1BtY3JQVUFOcXB0RHB4MWVBbE5sZTA5ZjRLamM3NnNnbGIrclVWVQp6VlBJaEcrMkhESTAvc2VCb2RNNDRFemRHTDhFUTlqUVFpV09qZWx2QnRMQUtRRk1ibThnREVNWVIrZ2ZaVHoyCmNzNVh1cGt3ZjF0cnBIRlQ2TDIzbTNyN0pJbHVrb0Jzc2JFakdXTnRhYStXYzJTcnNGL1B5WVJqVFo5dWk3RFQKMlZIbWV6Z2swQVRjeVRsYko2NEJScFJEcHJRMFdESVBSRG5JQmtzQmQvY1cvR0pReFRVT0dmV1ZxTUw2TGd5ZApJREJVZi8ramNxTWxoOHVpSVUvSlJnUE10eUJxenlYZGx3eWRDN2EzN3JFYmdMZEE0dGJsKzl3RTM4cWE2Vk9DCm0rdFJ5b0ZnRHVaT2g3dVVkZUNLWnM2SlhiOHF0MTRHMVRLd0JXTUdIc3VidTlOd0kyQmpEVGhzQWgxanZNcEUKcWJFS1YwR2pMUXc5NGRWTzgrZUFFeE9tMGFBNnBwQms1M2x1Cj1jamtoCi0tLS0tRU5EIFBHUCBNRVNTQUdFLS0tLS0K
WsitEncryptedResponseBase64Model:
summary: Encrypted Reponse
description: This is how the encrypted message body would look like.
value:
encryptedResponseBase64: LS0tLS1CRUdJTiBQR1AgTUVTU0FHRS0tLS0tClZlcnNpb246IEJDUEcgdjEuNjIKCmhRRU1BNlQ3Y2JqTEdRZ0VBUWdBajJtV0owVHZadTdWc3JQcmFQV2pQUkNHQmg4bUF6MEYrU3NPMlNBb1RBRHMKWjlPL0VXTnRuWUptU2hlVTRDRUp0azlDc1p6d0lURExHYXlxS3ovNmJsUlFjRHBhMEdyc3A0ZEw5am81bXBVRwphNDZFODdod040aEJGQ0dUMGl1alR4dTlnekN3YUhXVTdycHQzZzhCUXVIdHo2UlRxbkZzcFdTc3pxd1k2YStoCmZyek44WEJxM1lTaWRZR3pWaVhXR1FmMTFiQWdqcjA2WlVubUFpbHdJSXlLcjRTZlg0N2xSWWFha2Y4VVRuNlQKVUlWYjFhYW5PSHpFNXdRMTd1NHNid25jK1BtY3JQVUFOcXB0RHB4MWVBbE5sZTA5ZjRLamM3NnNnbGIrclVWVQp6VlBJaEcrMkhESTAvc2VCb2RNNDRFemRHTDhFUTlqUVFpV09qZWx2QnRMQUtRRk1ibThnREVNWVIrZ2ZaVHoyCmNzNVh1cGt3ZjF0cnBIRlQ2TDIzbTNyN0pJbHVrb0Jzc2JFakdXTnRhYStXYzJTcnNGL1B5WVJqVFo5dWk3RFQKMlZIbWV6Z2swQVRjeVRsYko2NEJScFJEcHJRMFdESVBSRG5JQmtzQmQvY1cvR0pReFRVT0dmV1ZxTUw2TGd5ZApJREJVZi8ramNxTWxoOHVpSVUvSlJnUE10eUJxenlYZGx3eWRDN2EzN3JFYmdMZEE0dGJsKzl3RTM4cWE2Vk9DCm0rdFJ5b0ZnRHVaT2g3dVVkZUNLWnM2SlhiOHF0MTRHMVRLd0JXTUdIc3VidTlOd0kyQmpEVGhzQWgxanZNcEUKcWJFS1YwR2pMUXc5NGRWTzgrZUFFeE9tMGFBNnBwQms1M2x1Cj1jamtoCi0tLS0tRU5EIFBHUCBNRVNTQUdFLS0tLS0K
schemas:
ISOCountryCode:
description: "[ISO 3166 Alpha-2 Country Code](https://www.iso.org/obp/ui/#search)"
type: string
maxLength: 2
pattern: ^(A(D|E|F|G|I|L|M|N|O|R|S|T|Q|U|W|X|Z)|B(A|B|D|E|F|G|H|I|J|L|M|N|O|R|S|T|V|W|Y|Z)|C(A|C|D|F|G|H|I|K|L|M|N|O|R|U|V|X|Y|Z)|D(E|J|K|M|O|Z)|E(C|E|G|H|R|S|T)|F(I|J|K|M|O|R)|G(A|B|D|E|F|G|H|I|L|M|N|P|Q|R|S|T|U|W|Y)|H(K|M|N|R|T|U)|I(D|E|Q|L|M|N|O|R|S|T)|J(E|M|O|P)|K(E|G|H|I|M|N|P|R|W|Y|Z)|L(A|B|C|I|K|R|S|T|U|V|Y)|M(A|C|D|E|F|G|H|K|L|M|N|O|Q|P|R|S|T|U|V|W|X|Y|Z)|N(A|C|E|F|G|I|L|O|P|R|U|Z)|OM|P(A|E|F|G|H|K|L|M|N|R|S|T|W|Y)|QA|R(E|O|S|U|W)|S(A|B|C|D|E|G|H|I|J|K|L|M|N|O|R|T|V|Y|Z)|T(C|D|F|G|H|J|K|L|M|N|O|R|T|V|W|Z)|U(A|G|M|S|Y|Z)|V(A|C|E|G|I|N|U)|W(F|S)|Y(E|T)|Z(A|M|W))$
example: SG
ISOCurrencyCode:
description: "[ISO 4217 Currency Code](https://en.wikipedia.org/wiki/ISO_4217)"
type: string
maxLength: 3
pattern: ^(?:AED|AFN|ALL|AMD|ANG|AOA|ARS|AUD|AWG|AZN|BAM|BBD|BDT|BGN|BHD|BIF|BMD|BND|BOB|BOV|BRL|BSD|BTN|BWP|BYN|BZD|CAD|CDF|CHE|CHF|CHW|CLF|CLP|CNY|COP|COU|CRC|CUC|CUP|CVE|CZK|DJF|DKK|DOP|DZD|EGP|ERN|ETB|EUR|FJD|FKP|GBP|GEL|GHS|GIP|GMD|GNF|GTQ|GYD|HKD|HNL|HRK|HTG|HUF|IDR|ILS|INR|IQD|IRR|ISK|JMD|JOD|JPY|KES|KGS|KHR|KMF|KPW|KRW|KWD|KYD|KZT|LAK|LBP|LKR|LRD|LSL|LYD|MAD|MDL|MGA|MKD|MMK|MNT|MOP|MRU|MUR|MVR|MWK|MXN|MXV|MYR|MZN|NAD|NGN|NIO|NOK|NPR|NZD|OMR|PAB|PEN|PGK|PHP|PKR|PLN|PYG|QAR|RON|RSD|RUB|RWF|SAR|SBD|SCR|SDG|SEK|SGD|SHP|SLL|SOS|SRD|SSP|STN|SVC|SYP|SZL|THB|TJS|TMT|TND|TOP|TRY|TTD|TWD|TZS|UAH|UGX|USD|USN|UYI|UYU|UYW|UZS|VES|VND|VUV|WST|XAF|XAG|XAU|XBA|XBB|XBC|XBD|XCD|XDR|XOF|XPD|XPF|XPT|XSU|XTS|XUA|XXX|YER|ZAR|ZMW|ZWL)$
example: SGD
ISODate:
description: "Full-date notation as defined by RFC 3339, section 5.6"
type: string
format: date
ISODateTime:
description: "The date-time notation as defined by RFC 3339, section 5.6"
type: string
format: date-time
ISOEmail:
description: "Email Address"
type: string
maxLength: 255
format: email
ISOHostName:
description: "Host name"
type: string
maxLength: 255
format: hostname
ISOIpv4:
description: "IP Address v4"
type: string
maxLength: 255
format: ipv4
ISOIpv6:
description: "IP Address v6"
type: string
maxLength: 255
format: ipv6
ISOUri:
description: "Resource URI"
type: string
maxLength: 255
format: uri
ISOUuid:
description: >
[Universal Unique Identifier] (https://en.wikipedia.org/wiki/Universally_unique_identifier)
type: string
format: uuid
WsitApplicationIdSchema:
allOf:
- $ref: '#/components/schemas/ISOUuid'
description: application ID, generated by bank system
maxLength: 30
example: 46338647WB6V
WsitAmountInCurrencySchema:
type: string
description: WsitAmountInCurrencySchema
pattern: ^(AED|AFN|ALL|AMD|ANG|AOA|ARS|AUD|AWG|AZN|BAM|BBD|BDT|BGN|BHD|BIF|BMD|BND|BOB|BOV|BRL|BSD|BTN|BWP|BYN|BZD|CAD|CDF|CHE|CHF|CHW|CLF|CLP|CNY|COP|COU|CRC|CUC|CUP|CVE|CZK|DJF|DKK|DOP|DZD|EGP|ERN|ETB|EUR|FJD|FKP|GBP|GEL|GHS|GIP|GMD|GNF|GTQ|GYD|HKD|HNL|HRK|HTG|HUF|IDR|ILS|INR|IQD|IRR|ISK|JMD|JOD|JPY|KES|KGS|KHR|KMF|KPW|KRW|KWD|KYD|KZT|LAK|LBP|LKR|LRD|LSL|LYD|MAD|MDL|MGA|MKD|MMK|MNT|MOP|MRU|MUR|MVR|MWK|MXN|MXV|MYR|MZN|NAD|NGN|NIO|NOK|NPR|NZD|OMR|PAB|PEN|PGK|PHP|PKR|PLN|PYG|QAR|RON|RSD|RUB|RWF|SAR|SBD|SCR|SDG|SEK|SGD|SHP|SLL|SOS|SRD|SSP|STN|SVC|SYP|SZL|THB|TJS|TMT|TND|TOP|TRY|TTD|TWD|TZS|UAH|UGX|USD|USN|UYI|UYU|UYW|UZS|VES|VND|VUV|WST|XAF|XAG|XAU|XBA|XBB|XBC|XBD|XCD|XDR|XOF|XPD|XPF|XPT|XSU|XTS|XUA|XXX|YER|ZAR|ZMW|ZWL)(([1-9]\d{0,10})|([1-9]\d{0,10}\.\d)|([1-9]\d{0,10}\.\d{2})|([1-9]\d{0,10}\.\d{3})|(0\.\d{2}[1-9])|(0\.\d[1-9])|(0\.[1-9]))$
WsitAmountSchema:
description: WSIT API Amount schema
pattern: ^[0-9]{1,14}(.[0-9]{1,3})?.$
type: string
WsitAmountModel:
type: object
description: WsitAmountModel
required:
- currency
- amount
properties:
currency:
$ref: '#/components/schemas/ISOCurrencyCode'
amount:
$ref: '#/components/schemas/WsitAmountSchema'
WsitDebitOrCreditIndicatorSchema:
type: string
description: Use debit (D) or Credit (c) to represent + and -
enum:
- Credit
- Debit
TaasPageNumberSchema:
description: Which page to be returned.
type: integer
minimum: 1
maximum: 1000
example: 1
TaasPageSizeSchema:
description: Maximum number or records to be returned per page
type: integer
minimum: 1
maximum: 1000
example: 10
TaasPaginationModel:
type: object
properties:
pageNumber:
$ref: '#/components/schemas/TaasPageNumberSchema'
pageSize:
$ref: '#/components/schemas/TaasPageSizeSchema'
TaasQueryHealthStatusResponseModel:
type: object
properties:
code:
type: string
description: response code
example: EMKT200
message:
type: string
description: response message
example: Success
repliedTime:
type: string
description: response time
format: date-time
correlationId:
type: string
description: response correlation Id
format: uuid
responseData:
type: string
description: response data
WsitBaseExceptionModel:
type: object
required:
- type
- title
properties:
type:
type: string
description: response type
example: /problem-details/types/validation-errors#authorizationInfo.accountNumber
title:
type: string
description: response error title
example: Fields invalid
status:
type: string
description: The HTTP status code
example: '400'
detail:
type: string
description: The detailed information of error
example: key and value must not be blank
errors:
type: array
description: Multiple error detail
items:
$ref: '#/components/schemas/WsitErrorDetailModel'
instance:
type: string
description: >
A reference that identifies the problem instance.
Note, any debug identifier that allows HSBC to quickly triage the
issue. e.g., correlation-id
example: d72b7d9b-ccd9-4f98-8fb8-dbb3067effc3
errorDateTime:
type: string
description: ISO 8601 Format timestamp
example: '2024-01-25T01:59:12.933Z'
WsitErrorDetailModel:
type: object
properties:
type:
type: string
description: the error type
detail:
type: string
description: the error detail
WsitTypeOrStatusModel:
type: object
description: Type or Status.
required:
- value
properties:
value:
type: string
description: Status value.
otherValue:
description: Used when status.value set to Other.
type: string
maxLength: 20
WsitTradeAccountNumberModel:
type: object
description: WsitTradeAccountNumberModel
properties:
accountCountry:
$ref: '#/components/schemas/ISOCountryCode'
institutionCode:
$ref: '#/components/schemas/institutionCode'
accountNumber:
$ref: '#/components/schemas/accountNumber'
institutionCode:
type: string
description: institutionCode
pattern: ^([A-Z ]{4})$
example: HSBC
accountNumber:
description: accountNumber
type: string
pattern: ^([0-9]{9,12})$
example: 123456789
WsitEncryptedAndBase64Schema:
description: >-
Message body you send to/ receive from the endpoint
. It is a base64
encoded string
consists of content encrypted by Public Key
of the receiver.
type: string
format: byte
example: LS0tLS1CRUdJTiBQR1AgTUVTU0FHRS0t...
WsitEncryptedRequestBase64Model:
title: EncryptedRequest
description: EncryptedRequest data
type: object
required:
- encryptedRequestBase64
properties:
encryptedRequestBase64:
$ref: '#/components/schemas/WsitEncryptedAndBase64Schema'
WsitEncryptedResponseBase64Model:
title: EncryptedResponse
description: EncryptedResponse data
type: object
required:
- encryptedResponseBase64
properties:
encryptedResponseBase64:
$ref: '#/components/schemas/WsitEncryptedAndBase64Schema'
WsitEncryptedEncodedSignedJWTSchema:
description: Encrypted, encoded and signed JWT.
type: string
pattern: ^(JWS (([A-Za-z0-9-_]+\.){2}[A-Za-z0-9-_]+))|(((200|201)(NoEnc)?)|400|401|403|404|409|422|500|503)$
WsitUnencryptedAdvancedRequestModel:
title: UnencryptedRequestBody
description: >-
Always wrapped with Top Level data
object.
type: object
required:
- data
properties:
data:
type: object
description: Top level object
$ref: '#/components/schemas/WsitUnencryptedAdvancedRequestModelData'
WsitUnencryptedAdvancedRequestModelData:
type: object
description: WsitUnencryptedRequestModelData
properties:
loanNumber:
$ref: '#/components/schemas/LoanNumber'
loan:
$ref: '#/components/schemas/LoanAdvancedInfoModel'
beneficiary:
description: beneficiaryLoanAdvancedInfoModel
type: array
minItems: 0
items:
$ref: '#/components/schemas/beneficiaryAdvancedDetail'
supportingDocuments:
description: >-
Specify documents that have been submitted prior to your application. Supports multiple documents.
Details of supporting documents
-
Required only if you have submitted supporting documents for this loan application via
Submit Supporting Documents API
. View Endpoint.
-
docId
and documentName
can be retrieved from Request Supporting Document Status API
. View Endpoint.
type: array
minItems: 0
items:
$ref: '#/components/schemas/SupportingDocumentModel'
instructionsToBank:
type: string
description: Special instructions
maxLength: 255
miscStates:
$ref: '#/components/schemas/TaasMiscStatesSchema'
WsitUnencryptedStandardSellerLoanRequestModel:
title: UnencryptedRequestBody
description: >-
Always wrapped with Top Level data
object.
type: object
required:
- data
properties:
data:
type: object
description: Top level object
$ref: '#/components/schemas/WsitUnencryptedStandardSellerLoanRequestModelData'
CreateAdvancedSellerLoanApplicationResponseModel:
title: UnencryptedResponseBody
description: >-
Always wrapped with Top Level data
object.
type: object
required:
- data
properties:
data:
type: object
description: Top level object
$ref: '#/components/schemas/CreateAdvancedSellerLoanApplicationResponseModelData'
CreateAdvancedSellerLoanApplicationResponseModelData:
type: object
description: CreateAdvancedSellerLoanApplicationResponseModelData
properties:
applicationId:
$ref: '#/components/schemas/WsitApplicationIdSchema'
status:
type: object
description: Application Status
properties:
value:
$ref: '#/components/schemas/LoanStatusValueSchema'
authorizationInfo:
$ref: '#/components/schemas/authorizationInfo'
loanNumber:
$ref: '#/components/schemas/LoanNumber'
loan:
$ref: '#/components/schemas/SellerAdvancedLoanInfoModel'
buyers:
description: buyers detail
type: array
minItems: 0
items:
$ref: '#/components/schemas/buyersDetail'
applicationOfFunds:
description: applicationOfFunds detail
type: array
minItems: 0
items:
$ref: '#/components/schemas/applicationOfFundsDetail'
forwardContractDetails:
description: forwardContract detail
type: array
minItems: 0
items:
$ref: '#/components/schemas/forwardContractDetails'
supportingDocuments:
description: >-
Specify documents that have been submitted prior to your application. Supports multiple documents.
Details of supporting documents
-
Required only if you have submitted supporting documents for this loan application via
Submit Supporting Documents API
. View Endpoint.
-
docId
and documentName
can be retrieved from Request Supporting Document Status API
. View Endpoint.
type: array
minItems: 0
items:
$ref: '#/components/schemas/SupportingDocumentModel'
instructionsToBank:
type: string
description: Special instructions
maxLength: 255
miscStates:
$ref: '#/components/schemas/TaasMiscStatesSchema'
CreateAdvancedSellerLoanApplicationRequestModel:
title: UnencryptedRequestBody
description: >-
Always wrapped with Top Level data
object.
type: object
required:
- data
properties:
data:
type: object
description: Top level object
$ref: '#/components/schemas/CreateAdvancedSellerLoanApplicationRequestModelData'
CreateAdvancedSellerLoanApplicationRequestModelData:
type: object
description: WsitUnencryptedRequestModelData
properties:
authorizationInfo:
$ref: '#/components/schemas/authorizationInfo'
loanNumber:
$ref: '#/components/schemas/LoanNumber'
loan:
$ref: '#/components/schemas/SellerAdvancedLoanInfoModel'
buyers:
description: buyers detail
type: array
minItems: 0
items:
$ref: '#/components/schemas/buyersDetail'
applicationOfFunds:
description: applicationOfFunds detail
type: array
minItems: 0
items:
$ref: '#/components/schemas/applicationOfFundsDetail'
forwardContractDetails:
description: forwardContract detail
type: array
minItems: 0
items:
$ref: '#/components/schemas/forwardContractDetails'
supportingDocuments:
description: >-
Specify documents that have been submitted prior to your application. Supports multiple documents.
Details of supporting documents
-
Required only if you have submitted supporting documents for this loan application via
Submit Supporting Documents API
. View Endpoint.
-
docId
and documentName
can be retrieved from Request Supporting Document Status API
. View Endpoint.
type: array
minItems: 0
items:
$ref: '#/components/schemas/SupportingDocumentModel'
instructionsToBank:
type: string
description: Special instructions
maxLength: 255
miscStates:
$ref: '#/components/schemas/TaasMiscStatesSchema'
forwardContractDetails:
type: object
description: forwardContractDetails
required:
- contractNumber
- amount
properties:
contractNumber:
$ref: '#/components/schemas/contractNumber'
amount:
type: object
description: forwardContractDetails amount
required:
- currency
- amountToBeUtilised
properties:
currency:
$ref: '#/components/schemas/ISOCurrencyCode'
amountToBeUtilised:
$ref: '#/components/schemas/WsitAmountSchema'
applicationOfFundsDetail:
type: object
description: applicationOfFundsDetail
required:
- paymentCurrency
- bankInfo
properties:
paymentCurrency:
$ref: '#/components/schemas/ISOCurrencyCode'
bankInfo:
description: bankInfo detail
type: array
minItems: 0
items:
$ref: '#/components/schemas/bankInfoDetail'
bankInfoDetail:
type: object
description: bankInfoDetail
required:
- accountNumberIBAN
- bankInfo
properties:
accountNumberIban:
$ref: '#/components/schemas/AccountNumberIBANSchema'
countryTerritory:
$ref: '#/components/schemas/ISOCountryCode'
branchCodeBicSwift:
$ref: '#/components/schemas/branchCodeBicSwift'
name:
$ref: '#/components/schemas/BeneficiaryBankName'
branchName:
$ref: '#/components/schemas/BeneficiaryBankBranchName'
addressLine1:
$ref: '#/components/schemas/BeneficiaryBankAddressLine1'
addressLine2:
$ref: '#/components/schemas/BeneficiaryBankAddressLine2'
addressLine3:
$ref: '#/components/schemas/BeneficiaryBankAddressLine3'
branchCodeBicSwift:
type: string
description: Bank branch code / BIC / SWIFT for the beneficiary/Payee
maxLength: 35
example: WEDHKHH
SellerAdvancedLoanInfoModel:
type: object
description: LoanInfoModel
required:
- typeOfGoods
- goodsShipped
- customerReference
- startDate
- tenor
- maturityDate
- totalSupportingDocumentAmount
- loanAmount
- repaymentInfo
properties:
typeOfGoods:
allOf:
- $ref: '#/components/schemas/LoanTypeOfGoods'
goodsShipped:
type: string
enum:
- Y
- N
description: Ship the Goods or not.
example: Y
customerReference:
allOf:
- $ref: '#/components/schemas/TaasCustomerReference'
example: 'CRSG23040101'
startDate:
allOf:
- $ref: '#/components/schemas/ISODate'
description: Loan Start Date
example: '2023-04-01'
tenor:
type: string
maxLength: 3
pattern: ^([1-9]|[1-9][0-9]|[12][0-9]{2}|3[0-5][0-9]|360)$
example: '30'
description: >-
Tenor days, only allow number from `1` to `360`.
maturityDate:
allOf:
- $ref: '#/components/schemas/ISODate'
description: >-
Loan due date. If this value is not specified, system shall calculate the `loanMaturityDate` by `loanStartDate` + `tenor`.
example: '2023-07-31'
totalSupportingDocumentAmount:
$ref: '#/components/schemas/WsitAmountModel'
loanAmount:
$ref: '#/components/schemas/WsitAmountModel'
repaymentInfo:
$ref: '#/components/schemas/repaymentInfoAdvanced'
goodsDescription:
maxLength: 34
type: string
description: Description of the goods
example: T-shirt
repaymentInfoAdvanced:
type: object
description: repaymentInfo
properties:
repaymentAccountNumber:
allOf:
- $ref: '#/components/schemas/LoanRepaymentAccount'
interestAccountNumber:
allOf:
- $ref: '#/components/schemas/LoanInterestRepaymentAccount'
chargesAccountNumber:
allOf:
- $ref: '#/components/schemas/LoanChargesRepaymentAccount'
interestCalculationPreferenceCode:
$ref: '#/components/schemas/interestCalculationPreferenceCode'
interestCollectionFreqencyCode:
$ref: '#/components/schemas/interestCollectionFreqencyCode'
WsitDecryptedStandardSellerLoanResponseModel:
title: UnencryptedResponseBody
description: >-
Always wrapped with Top Level data
object.
type: object
required:
- data
properties:
data:
type: object
description: Top level object
$ref: '#/components/schemas/WsitDecryptedStandardSellerLoanResponseModelData'
WsitDecryptedStandardSellerLoanResponseModelData:
type: object
description: WsitDecryptedStandardSellerLoanResponseModelData
properties:
applicationId:
$ref: '#/components/schemas/WsitApplicationIdSchema'
status:
type: object
description: Application Status
properties:
value:
$ref: '#/components/schemas/LoanStatusValueSchema'
authorizationInfo:
$ref: '#/components/schemas/authorizationInfo'
loanNumber:
$ref: '#/components/schemas/LoanNumber'
loan:
$ref: '#/components/schemas/SellerLoanInfoModel'
buyers:
description: buyers detail
type: array
minItems: 0
items:
$ref: '#/components/schemas/buyersDetail'
beneficiary:
$ref: '#/components/schemas/sellerBeneficiaryDetail'
supportingDocuments:
description: >-
Specify documents that have been submitted prior to your application. Supports multiple documents.
Details of supporting documents
-
Required only if you have submitted supporting documents for this loan application via
Submit Supporting Documents API
. View Endpoint.
-
docId
and documentName
can be retrieved from Request Supporting Document Status API
. View Endpoint.
type: array
minItems: 0
items:
$ref: '#/components/schemas/SupportingDocumentModel'
instructionsToBank:
type: string
description: Special instructions
maxLength: 255
miscStates:
$ref: '#/components/schemas/TaasMiscStatesSchema'
WsitUnencryptedStandardSellerLoanRequestModelData:
type: object
description: WsitUnencryptedRequestModelData
properties:
authorizationInfo:
$ref: '#/components/schemas/authorizationInfo'
loanNumber:
$ref: '#/components/schemas/LoanNumber'
loan:
$ref: '#/components/schemas/SellerLoanInfoModel'
buyers:
description: buyers detail
type: array
minItems: 0
items:
$ref: '#/components/schemas/buyersDetail'
beneficiary:
$ref: '#/components/schemas/sellerBeneficiaryDetail'
supportingDocuments:
description: >-
Specify documents that have been submitted prior to your application. Supports multiple documents.
Details of supporting documents
-
Required only if you have submitted supporting documents for this loan application via
Submit Supporting Documents API
. View Endpoint.
-
docId
and documentName
can be retrieved from Request Supporting Document Status API
. View Endpoint.
type: array
minItems: 0
items:
$ref: '#/components/schemas/SupportingDocumentModel'
instructionsToBank:
type: string
description: Special instructions
maxLength: 255
miscStates:
$ref: '#/components/schemas/TaasMiscStatesSchema'
authorizationInfo:
type: object
description: authorizationInfo
required:
- externalCustomerId
- accountCountry
- institutionCode
- accountNumber
properties:
externalCustomerId:
$ref: '#/components/schemas/externalCustomerId'
accountCountry:
$ref: '#/components/schemas/ISOCountryCode'
institutionCode:
$ref: '#/components/schemas/institutionCode'
accountNumber:
$ref: '#/components/schemas/accountNumber'
externalCustomerId:
type: string
maxLength: 100
description: This field is reserved for future functionality. No inputs are required.
example: 123456789
buyersDetail:
type: object
description: buyersDetail
required:
- account
- country
- addressLine1
- addressLine2
- addressLine3
properties:
name:
$ref: '#/components/schemas/BeneficiaryBankName'
country:
$ref: '#/components/schemas/BeneficiaryBankCountry'
addressLine1:
$ref: '#/components/schemas/BeneficiaryBankAddressLine1'
addressLine2:
$ref: '#/components/schemas/BeneficiaryBankAddressLine2'
addressLine3:
$ref: '#/components/schemas/BeneficiaryBankAddressLine3'
sellerBeneficiaryDetail:
type: object
description: beneficiaryBankInfo
required:
- account
- name
- swiftBicBranchCode
- branchName
- country
- addressLine1
- addressLine2
- addressLine3
properties:
account:
$ref: '#/components/schemas/BeneficiaryBankAccount'
name:
$ref: '#/components/schemas/BeneficiaryBankName'
swiftBicBranchCode:
$ref: '#/components/schemas/BankSwiftBicBranchCodeSchema'
branchName:
$ref: '#/components/schemas/BeneficiaryBankBranchName'
country:
$ref: '#/components/schemas/BeneficiaryBankCountry'
addressLine1:
$ref: '#/components/schemas/BeneficiaryBankAddressLine1'
addressLine2:
$ref: '#/components/schemas/BeneficiaryBankAddressLine2'
addressLine3:
$ref: '#/components/schemas/BeneficiaryBankAddressLine3'
SellerLoanInfoModel:
type: object
description: LoanInfoModel
required:
- typeOfGoods
- goodsShipped
- customerReference
- startDate
- tenor
- maturityDate
- loanCurrency
- loanAmount
- paymentToSupplierAmount
- repaymentInfo
properties:
typeOfGoods:
allOf:
- $ref: '#/components/schemas/LoanTypeOfGoods'
goodsShipped:
type: string
enum:
- Y
- N
description: Ship the Goods or not.
example: Y
customerReference:
allOf:
- $ref: '#/components/schemas/TaasCustomerReference'
example: 'CRSG23040101'
startDate:
allOf:
- $ref: '#/components/schemas/ISODate'
description: Loan Start Date
example: '2023-04-01'
tenor:
type: string
maxLength: 3
pattern: ^([1-9]|[1-9][0-9]|[12][0-9]{2}|3[0-5][0-9]|360)$
example: '30'
description: >-
Tenor days, only allow number from `1` to `360`.
maturityDate:
allOf:
- $ref: '#/components/schemas/ISODate'
description: >-
Loan due date. If this value is not specified, system shall calculate the `loanMaturityDate` by `loanStartDate` + `tenor`.
example: '2023-07-31'
paymentToSupplierAmount:
$ref: '#/components/schemas/WsitAmountModel'
loanAmount:
$ref: '#/components/schemas/WsitAmountModel'
repaymentInfo:
type: object
description: repaymentInfo
properties:
repaymentAccountNumber:
allOf:
- $ref: '#/components/schemas/LoanRepaymentAccount'
interestAccountNumber:
allOf:
- $ref: '#/components/schemas/LoanInterestRepaymentAccount'
chargesAccountNumber:
allOf:
- $ref: '#/components/schemas/LoanChargesRepaymentAccount'
goodsDescription:
maxLength: 34
type: string
description: Description of the goods
example: T-shirt
beneficiaryAdvancedDetail:
type: object
description: beneficiaryAdvancedDetail
required:
- amount
- referenceNumber
- country
- addressLine1
- addressLine2
- addressLine3
- beneficiaryBankInfo
properties:
amount:
$ref: '#/components/schemas/WsitAmountModel'
referenceNumber:
$ref: '#/components/schemas/BeneficiaryReferenceNumber'
name:
$ref: '#/components/schemas/BeneficiaryBankName'
country:
$ref: '#/components/schemas/BeneficiaryBankCountry'
addressLine1:
$ref: '#/components/schemas/BeneficiaryBankAddressLine1'
addressLine2:
$ref: '#/components/schemas/BeneficiaryBankAddressLine2'
addressLine3:
$ref: '#/components/schemas/BeneficiaryBankAddressLine3'
beneficiaryBankInfo:
$ref: '#/components/schemas/beneficiaryBankInfo'
WsitUnencryptedRequestModel:
title: UnencryptedRequestBody
description: >-
Always wrapped with Top Level data
object.
type: object
required:
- data
properties:
data:
type: object
description: Top level object
$ref: '#/components/schemas/WsitUnencryptedRequestModelData'
WsitUnencryptedRequestModelData:
type: object
description: WsitUnencryptedRequestModelData
properties:
loanNumber:
$ref: '#/components/schemas/LoanNumber'
loan:
$ref: '#/components/schemas/LoanInfoModel'
beneficiary:
$ref: '#/components/schemas/beneficiaryDetail'
supportingDocuments:
description: >-
Specify documents that have been submitted prior to your application. Supports multiple documents.
Details of supporting documents
-
Required only if you have submitted supporting documents for this loan application via
Submit Supporting Documents API
. View Endpoint.
-
docId
and documentName
can be retrieved from Request Supporting Document Status API
. View Endpoint.
type: array
minItems: 0
items:
$ref: '#/components/schemas/SupportingDocumentModel'
instructionsToBank:
type: string
description: Special instructions
maxLength: 255
miscStates:
$ref: '#/components/schemas/TaasMiscStatesSchema'
beneficiaryDetail:
type: object
description: beneficiaryDetail
required:
- account
- country
- addressLine1
- addressLine2
- addressLine3
- beneficiaryBankInfo
properties:
name:
$ref: '#/components/schemas/BeneficiaryBankName'
country:
$ref: '#/components/schemas/BeneficiaryBankCountry'
addressLine1:
$ref: '#/components/schemas/BeneficiaryBankAddressLine1'
addressLine2:
$ref: '#/components/schemas/BeneficiaryBankAddressLine2'
addressLine3:
$ref: '#/components/schemas/BeneficiaryBankAddressLine3'
beneficiaryBankInfo:
$ref: '#/components/schemas/beneficiaryBankInfo'
beneficiaryBankInfo:
type: object
description: beneficiaryBankInfo
required:
- account
- name
- swiftBicBranchCode
- country
- addressLine1
- addressLine2
- addressLine3
properties:
account:
$ref: '#/components/schemas/BeneficiaryBankAccount'
name:
$ref: '#/components/schemas/BeneficiaryBankName'
country:
$ref: '#/components/schemas/BeneficiaryBankCountry'
swiftBicBranchCode:
$ref: '#/components/schemas/BankSwiftBicBranchCodeSchema'
addressLine1:
$ref: '#/components/schemas/BeneficiaryBankAddressLine1'
addressLine2:
$ref: '#/components/schemas/BeneficiaryBankAddressLine2'
addressLine3:
$ref: '#/components/schemas/BeneficiaryBankAddressLine3'
healthResponse:
type: object
properties:
code:
type: string
description: response code
message:
type: string
description: response message
repliedTime:
type: string
description: response time
responseData:
type: string
description: response data
AdvancedBuyerLoanApplicationResponseModel:
title: DecryptedResponse
description: >-
Always wrapped with Top Level data
object.
type: object
required:
- data
properties:
data:
$ref: '#/components/schemas/AdvancedBuyerLoanApplicationResponseModelDataDetail'
meta:
$ref: '#/components/schemas/meta'
links:
$ref: '#/components/schemas/links'
AdvancedBuyerLoanApplicationResponseModelDataDetail:
type: object
description: Top level object
properties:
applicationId:
$ref: '#/components/schemas/WsitApplicationIdSchema'
status:
type: object
description: Application Status
properties:
value:
$ref: '#/components/schemas/LoanStatusValueSchema'
loanNumber:
$ref: '#/components/schemas/LoanNumber'
loan:
$ref: '#/components/schemas/LoanAdvancedInfoModel'
beneficiary:
description: beneficiaryLoanAdvancedInfoModel
type: array
minItems: 0
items:
$ref: '#/components/schemas/beneficiaryAdvancedDetail'
supportingDocuments:
description: >-
Specify documents that have been submitted prior to your application. Supports multiple documents.
Details of supporting documents
-
Required only if you have submitted supporting documents for this loan application via
Submit Supporting Documents API
. View Endpoint.
-
docId
and documentName
can be retrieved from Request Supporting Document Status API
. View Endpoint.
type: array
minItems: 0
items:
$ref: '#/components/schemas/SupportingDocumentModel'
instructionsToBank:
type: string
description: Special instructions
maxLength: 255
miscStates:
$ref: '#/components/schemas/TaasMiscStatesSchema'
WsitDecryptedResponseModel:
title: DecryptedResponse
description: >-
Always wrapped with Top Level data
object.
type: object
required:
- data
properties:
data:
$ref: '#/components/schemas/WsitUnencryptedRequestModelDataDetail'
meta:
$ref: '#/components/schemas/meta'
links:
$ref: '#/components/schemas/links'
meta:
description: response meta
type: object
required:
- totalItems
- pageNumber
- pageSize
properties:
totalItems:
type: integer
description: The total transactions avaialable on the criteria for the account number
maxLength: 10
example: 10
pageNumber:
$ref: '#/components/schemas/TaasPageNumberSchema'
pageSize:
$ref: '#/components/schemas/TaasPageSizeSchema'
links:
description: response link
type: object
required:
- self
- previous
- next
properties:
self:
$ref: '#/components/schemas/WsitHrefTypeBasicModel'
previous:
$ref: '#/components/schemas/WsitHrefTypeBasicModel'
next:
$ref: '#/components/schemas/WsitHrefTypeBasicModel'
WsitUnencryptedRequestModelDataDetail:
type: object
description: Top level object
properties:
applicationId:
$ref: '#/components/schemas/WsitApplicationIdSchema'
status:
type: object
description: Application Status
properties:
value:
$ref: '#/components/schemas/LoanStatusValueSchema'
loanNumber:
$ref: '#/components/schemas/LoanNumber'
loan:
$ref: '#/components/schemas/LoanInfoModel'
beneficiary:
$ref: '#/components/schemas/beneficiaryDetail'
supportingDocuments:
description: >-
Specify documents that have been submitted prior to your application. Supports multiple documents.
Details of supporting documents
-
Required only if you have submitted supporting documents for this loan application via
Submit Supporting Documents API
. View Endpoint.
-
docId
and documentName
can be retrieved from Request Supporting Document Status API
. View Endpoint.
type: array
minItems: 0
items:
$ref: '#/components/schemas/SupportingDocumentModel'
instructionsToBank:
type: string
description: Special instructions
maxLength: 255
miscStates:
$ref: '#/components/schemas/TaasMiscStatesSchema'
WsitHrefTypeBasicModel:
description: Link to a resource.
type: object
required:
- href
properties:
href:
$ref: '#/components/schemas/WsitHrefEntrySchema'
WsitHrefEntrySchema:
description: Link to a resource.
type: string
format: uri
TaasMiscStatesSchema:
description: >-
Leave **blank** unless other additional information needs to be specified. Must be in `stringy JSON`.
type: string
maxLength: 4000
example: "{\"additionalInfo\":\"something\"}"
TaasDocIdSchema:
description: 'Document id, returned by File Net. Doc id for the file upload to HSBC'
type: string
minLength: 40
maxLength: 40
pattern: ^[a-zA-Z]{3}_[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$
example: 'idd_10349C86-0000-C515-AB9B-65B893B9744B'
TaasDocUploadRequestIdSchema:
type: string
description: Request id for document upload, generated by HSBC API, client will use this request id to get the status of the document.
format: uuid
example: 3fa85f64-5717-4562-b3fc-2c963f66afa6
TaasSupportingDocumentModel:
required:
- formType
- docId
- name
- numPages
- imageFormat
- imageBytes
- hash
- docStatus
- docCategory
type: object
properties:
formType:
type: string
enum:
- p
example: 'P'
readOnly: true
docId:
allOf:
- $ref: '#/components/schemas/TaasDocUploadRequestIdSchema'
name:
description: 'Document Name the document uploaded by the client'
type: string
minLength: 1
maxLength: 255
example: 'test.tif'
docStatus:
allOf:
- $ref: '#/components/schemas/WsitTypeOrStatusModel'
- properties:
value:
type: string
description: 'Document upload status when upload the SupportingDocument to FileNet API. For the uploaded document with Virus Scan failed, cannot search out.'
enum:
- 'InProgress'
- 'Failed'
- 'Uploaded'
example: Uploaded
numPages:
description: 'Number of the document page'
type: string
minLength: 1
maxLength: 255
pattern: ^[1-9]\d{0,254}$
nullable: true
readOnly: true
example: 1
imageFormat:
description: 'Document format for the uploaded document'
type: string
minLength: 3
maxLength: 4
enum:
- BMP
- DOC
- DOCX
- GIF
- HTM
- HTML
- JPEG
- JPG
- MSG
- ODP
- ODS
- ODT
- OXPS
- PDF
- PNG
- PPT
- PPTX
- RTF
- TIF
- TIFF
- TXT
- VSD
- XLS
- XLSX
- XPS
- ZIP
readOnly: true
example: TIFF
imageBytes:
description: 'Document size within Bytes'
type: string
minLength: 0
maxLength: 255
pattern: ^\d{1,255}$
readOnly: true
example: 409844
hash:
description: 'Hash value for the uploaded document'
type: string
minLength: 0
maxLength: 255
readOnly: true
example: 'F4318B5E707877F3B1DC3BE48708E532'
failedReason:
type: string
description: Failed code. It will show when document upload failed.
maxLength: 255
failedCode:
type: string
description: Message to describe the reason why the uploaded document upload failed. It will show when document upload failed.
enum:
- E000
- E001
- E002
- E003
- E004
- E005
- E006
- E007
- E008
- E009
- E010
- E011
- E012
example: E000
failedMessage:
type: string
description: Message to describe the reason why the uploaded document upload failed. It will show when document upload failed.
enum:
- E000:Capture a Non-MKT error!
- E001:Virus Scan failed.
- E002:Virus Scan timeout
- E003:Merchant Id is not matched.
- E004:%s is missing or value empty.
- E005:%s length or precision is wrong, value is %s.
- E006:No data found in Data file.
- E007:Value %s does not match header type.
- E008:Number of data fields does not match number of headers.
- E009:Data file parsing failed.
- E010:Data file parsing timeout.
- E011:Upload file failed.
- E012:Upload file timeout.
example: E000:Capture a Non-MKT error!
TaasCustomerReference:
description: >-
Reference number for tracing of transactions, specified by customer or generate by partner's platform, if required.
type: string
maxLength: 30
minLength: 0
example: CRHK230101_01
AccountNumberIBANSchema:
type: string
description: Account number of the Bank
maxLength: 35
pattern: ^([A-Z]{2}[ \-]?[0-9]{2})(?=(?:[ \-]?[A-Z0-9]){9,30}$)((?:[ \-]?[A-Z0-9]{3,5}){2,7})([ \-]?[A-Z0-9]{1,3})?$
BankSwiftBicBranchCodeSchema:
description: Bank swift code
type: string
pattern: ^[A-Z]{4}[A-Z]{2}[A-Z0-9]{2,5}$
FaxNumber_TAAS:
description: "Fax Number"
type: string
maxLength: 255
pattern: ^$|^[\+]?[(]?[0-9]{3}[)]?[-\s\.]?[0-9]{3}[-\s\.]?[0-9]{4,6}$
Percentage_TAAS:
description: "Percentage, 2 decimal places."
type: string
pattern: ^(0|[1-9]\d{0,1})(\.\d{1,3})?([%])$
PhoneNumber_TAAS:
description: "Phone Number"
type: string
maxLength: 255
pattern: ^$|^[\+]?[(]?[0-9]{3}[)]?[-\s\.]?[0-9]{3}[-\s\.]?[0-9]{4,6}$
LoanEntityContactText:
type: string
maxLength: 31
description: Address Line Text
example: 'Address Line 1'
LoanNumber:
type: string
description: Loan number generated by bank
maxLength: 255
example: LN20231001001
LoanCurrency:
allOf:
- $ref: '#/components/schemas/ISOCurrencyCode'
description: 'Currency of loan.'
example: 'SGD'
LoanEntityName:
type: string
maxLength: 35
description: 'Name of Entity.'
example: Corporate Ltd.
BuyerName:
allOf:
- $ref: '#/components/schemas/LoanEntityName'
description: 'Name of buyer.'
example: 'BUY-US001 Holdings Plc.'
BuyerCountry:
allOf:
- $ref: '#/components/schemas/ISOCountryCode'
description: 'Country Code of buyer.'
example: 'US'
BuyerAddressLine1:
allOf:
- $ref: '#/components/schemas/LoanEntityContactText'
description: 'Address line 1 of buyer.'
example: 'BUY-US001 Tower #01-01'
BuyerAddressLine2:
allOf:
- $ref: '#/components/schemas/LoanEntityContactText'
description: 'Address line 2 of buyer. .'
example: '1 BUY-US001 Street'
BuyerAddressLine3:
allOf:
- $ref: '#/components/schemas/LoanEntityContactText'
description: 'Address line 3 of buyer. .'
example: 'USA'
BeneficiaryName:
allOf:
- $ref: '#/components/schemas/LoanEntityName'
description: 'Name of beneficiary'
example: 'BEN-SG001 Holdings Plc.'
BeneficiaryReferenceNumber:
type: string
maxLength: 255
description: 'Reference Number of beneficiary.'
example: '12232322'
BeneficiaryCountry:
allOf:
- $ref: '#/components/schemas/ISOCountryCode'
description: 'Country/ market of beneficiary.'
example: 'SG'
BeneficiaryAddressLine1:
allOf:
- $ref: '#/components/schemas/LoanEntityContactText'
description: 'Address line 1 of beneficiary.'
example: 'BEN-SG001 Tower #01-01'
BeneficiaryAddressLine2:
allOf:
- $ref: '#/components/schemas/LoanEntityContactText'
description: 'Address line 2 of beneficiary. .'
example: '1 BEN-SG001 Street'
BeneficiaryAddressLine3:
allOf:
- $ref: '#/components/schemas/LoanEntityContactText'
description: 'Address line 3 of beneficiary. .'
example: 'SINGAPORE 12345'
BeneficiaryBankAccount:
type: string
maxLength: 34
description: 'Bank account of beneficiary.'
example: AC-BEN-SG001
BeneficiaryBankName:
allOf:
- $ref: '#/components/schemas/LoanEntityName'
description: "Name of beneficiary's bank."
example: 'BANK-SG001 Holdings Plc.'
BeneficiaryBankBranchName:
type: string
description: BeneficiaryBankBranchName
maxLength: 35
example: ''
BeneficiaryBankCountry:
allOf:
- $ref: '#/components/schemas/ISOCountryCode'
description: "Country Code of beneficiary's bank."
example: 'SG'
BeneficiaryBankAddressLine1:
allOf:
- $ref: '#/components/schemas/LoanEntityContactText'
description: "Address line 1 of beneficiary's bank."
example: 'BANK-SG001 Tower #01-01'
BeneficiaryBankAddressLine2:
allOf:
- $ref: '#/components/schemas/LoanEntityContactText'
description: "Address line 2 of beneficiary's bank. ."
example: '1 BANK-SG001 Street'
BeneficiaryBankAddressLine3:
allOf:
- $ref: '#/components/schemas/LoanEntityContactText'
description: "Address line 3 of beneficiary's bank. ."
example: 'SINGAPORE 12345'
LoanInterestCalculationPreference:
type: string
enum:
- ResetHalfYearly
- Fixed
- Floating
- ResetWeekly
- ResetMonthly
- ResetQuarterly
- ResetYearly
description: >-
Interest calculation preference.
LoanInterestCollectionFrequency:
type: string
enum:
- HalfYearly
- Weekly
- Monthly
- Yearly
- Quarterly
description: >-
Interest collection frequency.
LoanOutstandingAmount:
allOf:
- $ref: '#/components/schemas/WsitAmountSchema'
description: >-
`outStadningAmount` = **Net Loan Amount** - sum of `repaymentAmount`.
example: '750.00'
LoanTypeOfGoods:
type: string
enum:
- 'GOODS'
- 'SERVICES'
- 'EXPENSES'
description: >-
Type of goods.
Possible values are `GOODS`, `SERVICE` and `EXPENSES`.
LoanRepaymentAccount:
type: string
maxLength: 255
description: Loan repayment Account
example: 'SGHSBC123456789123'
LoanInterestRepaymentAccount:
allOf:
- $ref: '#/components/schemas/LoanRepaymentAccount'
description: >-
Bank account number used to pay interest.
example: 'SGHSBC123456789123'
LoanChargesRepaymentAccount:
allOf:
- $ref: '#/components/schemas/LoanRepaymentAccount'
description: >-
Bank account number used to pay charges. Must be the same as `interestRepaymentAccount`.
example: 'SGHSBC123456789123'
LoanStatusValueSchema:
type: string
description: "Status of Loan."
enum:
- 'Submitted'
- 'InProgress'
- 'Cancelled'
- 'Disbursed'
- 'ExtensionSubmitted'
- 'SettlementSubmitted'
- 'Settled'
- 'ReturnedByBank'
minLength: 2
maxLength: 255
LoanAdvancedInfoModel:
type: object
description: LoanInfoModel
required:
- typeOfGoods
- goodsShipped
- customerReference
- startDate
- tenor
- maturityDate
- loanCurrency
- loanAmount
- paymentToSupplierAmount
- repaymentInfo
properties:
typeOfGoods:
allOf:
- $ref: '#/components/schemas/LoanTypeOfGoods'
goodsShipped:
type: string
enum:
- Y
- N
description: Ship the Goods or not.
example: Y
customerReference:
allOf:
- $ref: '#/components/schemas/TaasCustomerReference'
example: 'CRSG23040101'
startDate:
allOf:
- $ref: '#/components/schemas/ISODate'
description: Loan Start Date
example: '2023-04-01'
tenor:
type: string
maxLength: 3
pattern: ^([1-9]|[1-9][0-9]|[12][0-9]{2}|3[0-5][0-9]|360)$
example: '30'
description: >-
Tenor days, only allow number from `1` to `360`.
maturityDate:
allOf:
- $ref: '#/components/schemas/ISODate'
description: >-
Loan due date. If this value is not specified, system shall calculate the `loanMaturityDate` by `loanStartDate` + `tenor`.
example: '2023-07-31'
loanCurrency:
allOf:
- $ref: '#/components/schemas/LoanCurrency'
paymentToSupplierAmount:
allOf:
- $ref: '#/components/schemas/WsitAmountModel'
- properties:
amountPaidByLoan:
allOf:
- $ref: '#/components/schemas/WsitAmountSchema'
shortFallAmount:
$ref: '#/components/schemas/shortFallAmount'
repaymentInfo:
type: object
description: repaymentInfo
properties:
repaymentAccountNumber:
allOf:
- $ref: '#/components/schemas/LoanRepaymentAccount'
interestAccountNumber:
allOf:
- $ref: '#/components/schemas/LoanInterestRepaymentAccount'
chargesAccountNumber:
allOf:
- $ref: '#/components/schemas/LoanChargesRepaymentAccount'
interestCalculationPreferenceCode:
$ref: '#/components/schemas/interestCalculationPreferenceCode'
interestCollectionFreqencyCode:
$ref: '#/components/schemas/interestCollectionFreqencyCode'
goodsDescription:
maxLength: 34
type: string
description: Description of the goods
example: T-shirt
LoanInfoModel:
type: object
description: LoanInfoModel
required:
- typeOfGoods
- goodsShipped
- invoiceNumberBillReference
- customerReference
- startDate
- tenor
- maturityDate
- loanCurrency
- loanAmount
- paymentToSupplierAmount
- repaymentInfo
properties:
typeOfGoods:
allOf:
- $ref: '#/components/schemas/LoanTypeOfGoods'
goodsShipped:
type: string
enum:
- Y
- N
description: Ship the Goods or not.
example: Y
invoiceNumberBillReference:
description: Invoice number or bill reference
type: string
maxLength: 255
example: '81921021'
customerReference:
allOf:
- $ref: '#/components/schemas/TaasCustomerReference'
example: 'CRSG23040101'
startDate:
allOf:
- $ref: '#/components/schemas/ISODate'
description: Loan Start Date
example: '2023-04-01'
tenor:
type: string
maxLength: 3
pattern: ^([1-9]|[1-9][0-9]|[12][0-9]{2}|3[0-5][0-9]|360)$
example: '30'
description: >-
Tenor days, only allow number from `1` to `360`.
maturityDate:
allOf:
- $ref: '#/components/schemas/ISODate'
description: >-
Loan due date. If this value is not specified, system shall calculate the `loanMaturityDate` by `loanStartDate` + `tenor`.
example: '2023-07-31'
loanCurrency:
allOf:
- $ref: '#/components/schemas/LoanCurrency'
paymentToSupplierAmount:
allOf:
- $ref: '#/components/schemas/WsitAmountModel'
- properties:
amountPaidByLoan:
allOf:
- $ref: '#/components/schemas/WsitAmountSchema'
repaymentInfo:
type: object
description: repaymentInfo
properties:
repaymentAccountNumber:
allOf:
- $ref: '#/components/schemas/LoanRepaymentAccount'
interestAccountNumber:
allOf:
- $ref: '#/components/schemas/LoanInterestRepaymentAccount'
chargesAccountNumber:
allOf:
- $ref: '#/components/schemas/LoanChargesRepaymentAccount'
goodsDescription:
maxLength: 34
type: string
description: Description of the goods
example: T-shirt
interestCalculationPreferenceCode:
type: string
description: >-
Interest calculation preference
If the user set up by HSBC is standard user, no need input this value just keep blank.
If the user is advanced user, this field is optional.
enum:
- ResetHalfYearly
- Fixed
- Floating
- ResetWeekly
- ResetMonthly
- ResetQuarterly
- ResetYearly
maxLength: 255
example: ResetHalfYearly
interestCollectionFreqencyCode:
type: string
description: >-
Interest collection frequency.
If the user set up by HSBC is standard user, no need input this value just keep blank.
If the user is advanced user, this field is optional
enum:
- HalfYearly
- Weekly
- Monthly
- Yearly
- Quarterly
maxLength: 255
example: HalfYearly
shortFallAmount:
type: object
description: shortFallAmountInfoModel
required:
- currency
- amount
- shortFallDebitAccount
properties:
currency:
$ref: '#/components/schemas/ISOCurrencyCode'
amount:
$ref: '#/components/schemas/WsitAmountSchema'
shortFallDebitAccount:
$ref: '#/components/schemas/shortFallDebitAccount'
shortFallDebitAccount:
description: >-
Debit account to cover shortfall. **Must not be empty** if `shortFallAmount` **=/=** `0`.
type: string
maxLength: 255
example: ''
LoanRelatedInfoModel:
type: object
description: LoanRelatedInfoModel
required:
- buyers
- applicationOfFunds
- invoices
properties:
buyers:
type: array
items:
allOf:
- $ref: '#/components/schemas/EntityInfoModel'
beneficiariesInfo:
type: array
minItems: 0
items:
allOf:
- $ref: '#/components/schemas/EntityInfoModel'
- properties:
beneficiaryBankInfo:
allOf:
- $ref: '#/components/schemas/EntityInfoModel'
applicationOfFunds:
description: applicationOfFunds
type: array
minItems: 0
items:
$ref: '#/components/schemas/FundApplicationModel'
foreignExchangeDetails:
type: array
minItems: 0
items:
$ref: '#/components/schemas/ForeignExchangeDetailsModel'
invoices:
type: array
minItems: 0
items:
$ref: '#/components/schemas/InvoiceModel'
forwardContractDetails:
type: array
minItems: 0
items:
$ref: '#/components/schemas/ForwardContractDetailModel'
supportingDocuments:
description: >-
Specify documents that have been submitted prior to your application. Supports multiple documents.
Details of supporting documents
-
Required only if you have submitted supporting documents for this loan application via
Submit Supporting Documents API
. View Endpoint.
-
docId
and documentName
can be retrieved from Request Supporting Document Status API
. View Endpoint.
type: array
items:
$ref: '#/components/schemas/SupportingDocumentModel'
instructionsToBank:
type: string
description: Special instructions
maxLength: 255
miscStates:
$ref: '#/components/schemas/TaasMiscStatesSchema'
QueryTradeLoansResponseModel:
title: UnencryptedResponseBody
description: >-
Always wrapped with Top Level data
object.
type: object
required:
- data
properties:
data:
type: object
description: Top level object
properties:
transactions:
type: array
description: transactions account
items:
$ref: '#/components/schemas/transactionsAccountDetail'
meta:
$ref: '#/components/schemas/meta'
transactionsAccountDetail:
type: object
description: QueryTradeLoansResponseModelData
required:
- authorizationInfo
- productType
- loanNumber
- status
- typeOfGoods
- goodsShipped
- invoiceNumberBillReference
- customerReference
- startDate
- tenor
- maturityDate
- loanCurrency
- loanAmount
- paymentToSupplierAmount
- repaymentInfo
properties:
authorizationInfo:
$ref: '#/components/schemas/WsitTradeAccountNumberModel'
productType:
type: string
description: productType
maxLength: 255
enum:
- BuyerLoan
- SellerLoan
loanNumber:
type: string
description: Loan Number
maxLength: 255
example: 'LNSG23040102'
status:
type: object
description: Application Status
properties:
value:
$ref: '#/components/schemas/LoanStatusValueSchema'
customerReference:
allOf:
- $ref: '#/components/schemas/TaasCustomerReference'
example: 'CRSG23040101'
startDate:
allOf:
- $ref: '#/components/schemas/ISODate'
description: Loan Start Date
example: '2023-04-01'
tenor:
type: string
maxLength: 3
pattern: ^([1-9]|[1-9][0-9]|[12][0-9]{2}|3[0-5][0-9]|360)$
example: '30'
description: >-
Tenor days, only allow number from `1` to `360`.
maturityDate:
allOf:
- $ref: '#/components/schemas/ISODate'
description: >-
Loan due date. If this value is not specified, system shall calculate the `loanMaturityDate` by `loanStartDate` + `tenor`.
example: '2023-07-31'
loanCurrency:
allOf:
- $ref: '#/components/schemas/LoanCurrency'
paymentCurrency:
$ref: '#/components/schemas/ISOCurrencyCode'
amountPaidByLoan:
$ref: '#/components/schemas/WsitAmountSchema'
outstandingAmount:
$ref: '#/components/schemas/WsitAmountModel'
beneficiaryName:
$ref: '#/components/schemas/BeneficiaryName'
creationDateAndTime:
$ref: '#/components/schemas/ISODateTime'
QueryTradeLoanResponseModel:
title: UnencryptedResponseBody
description: >-
Always wrapped with Top Level data
object.
type: object
required:
- data
properties:
data:
type: object
description: Top level object
$ref: '#/components/schemas/QueryTradeLoanResponseModelDetail'
QueryTradeLoanResponseModelDetail:
type: object
description: QueryTradeLoanResponseModelDetail
required:
- authorizationInfo
- productType
- loanNumber
- status
- typeOfGoods
- goodsShipped
- invoiceNumberBillReference
- customerReference
- startDate
- tenor
- maturityDate
- loanCurrency
- loanAmount
- paymentToSupplierAmount
- repaymentInfo
properties:
authorizationInfo:
$ref: '#/components/schemas/WsitTradeAccountNumberModel'
productType:
type: string
description: productType
maxLength: 255
enum:
- BuyerLoan
- SellerLoan
loanNumber:
type: string
description: Loan Number
maxLength: 255
example: 'LNSG23040102'
status:
type: object
description: Application Status
properties:
value:
$ref: '#/components/schemas/LoanStatusValueSchema'
customerReference:
allOf:
- $ref: '#/components/schemas/TaasCustomerReference'
example: 'CRSG23040101'
startDate:
allOf:
- $ref: '#/components/schemas/ISODate'
description: Loan Start Date
example: '2023-04-01'
tenor:
type: string
maxLength: 3
pattern: ^([1-9]|[1-9][0-9]|[12][0-9]{2}|3[0-5][0-9]|360)$
example: '30'
description: >-
Tenor days, only allow number from `1` to `360`.
maturityDate:
allOf:
- $ref: '#/components/schemas/ISODate'
description: >-
Loan due date. If this value is not specified, system shall calculate the `loanMaturityDate` by `loanStartDate` + `tenor`.
example: '2023-07-31'
paymentToSupplierAmount:
allOf:
- $ref: '#/components/schemas/WsitAmountModel'
- properties:
amountPaidByLoan:
allOf:
- $ref: '#/components/schemas/WsitAmountSchema'
loanAmount:
allOf:
- $ref: '#/components/schemas/WsitAmountModel'
- properties:
outstandingAmount:
allOf:
- $ref: '#/components/schemas/WsitAmountSchema'
fixedOrVariableRateLoan:
type: string
enum:
- Fixed
- Variable
description: Fixed or Variable Rate for the loan
example: Fixed
currentInterestRate:
$ref: '#/components/schemas/Percentage_TAAS'
interestOutstanding:
$ref: '#/components/schemas/WsitAmountInCurrencySchema'
totalInterestPaid:
$ref: '#/components/schemas/WsitAmountInCurrencySchema'
interestCalculationPreference:
$ref: '#/components/schemas/interestCalculationPreferenceCode'
interestCollectionFrequency:
$ref: '#/components/schemas/interestCollectionFreqencyCode'
repaymentInfo:
type: object
description: repaymentInfo
required:
- repaymentAccountNumber
- interestAccountNumber
- chargesAccountNumber
properties:
repaymentAccountNumber:
allOf:
- $ref: '#/components/schemas/LoanRepaymentAccount'
interestAccountNumber:
allOf:
- $ref: '#/components/schemas/LoanInterestRepaymentAccount'
chargesAccountNumber:
allOf:
- $ref: '#/components/schemas/LoanChargesRepaymentAccount'
beneficiariesInfo:
description: beneficiariesInfo
type: array
minItems: 0
items:
$ref: '#/components/schemas/beneficiariesInfoDetail'
dateRecorded:
$ref: '#/components/schemas/ISODate'
creationDateAndTime:
$ref: '#/components/schemas/ISODateTime'
beneficiariesInfoDetail:
allOf:
- type: object
required:
- paymentMethod
- amount
- name
- referenceNumber
- country
- addressLine1
- addressLine2
- addressLine3
- beneficiaryBankInfo
properties:
paymentMethod:
$ref: '#/components/schemas/paymentMethod'
amount:
$ref: '#/components/schemas/WsitAmountModel'
name:
allOf:
- $ref: '#/components/schemas/BeneficiaryBankName'
referenceNumber:
allOf:
- $ref: '#/components/schemas/BeneficiaryReferenceNumber'
country:
allOf:
- $ref: '#/components/schemas/BeneficiaryBankCountry'
addressLine1:
allOf:
- $ref: '#/components/schemas/BeneficiaryBankAddressLine1'
addressLine2:
allOf:
- $ref: '#/components/schemas/BeneficiaryBankAddressLine2'
addressLine3:
allOf:
- $ref: '#/components/schemas/BeneficiaryBankAddressLine3'
beneficiaryBankInfo:
$ref: '#/components/schemas/beneficiaryBankInfo'
paymentMethod:
type: string
description: Payment method, such as local payment, oversea
Return blank value with API downstream HIE
enum:
- LocalInCountryPayments
- CrossBorderPayments
maxLength: 255
example: LocalInCountryPayments
SettleTradeLoanApplicationResponseModel:
title: UnencryptedResponseBody
description: >-
Always wrapped with Top Level data
object.
type: object
required:
- data
properties:
data:
type: object
description: Top level object
$ref: '#/components/schemas/LoanSettlementModel'
CreateTradePaySellerLoanApplicationResponseModel:
title: UnencryptedResponseBody
description: >-
Always wrapped with Top Level data
object.
type: object
required:
- data
properties:
data:
type: object
description: Top level object
$ref: '#/components/schemas/CreateTradePaySellerLoanApplicationResponseModelData'
CreateTradePaySellerLoanApplicationResponseModelData:
type: object
description: CreateTradePayBuyerLoanApplicationRequestModelData
required:
- applicationId
- status
- authorizationInfo
- loan
- beneficiary
- instructionsToBank
- invoices
- forwardContractDetails
- miscStates
properties:
applicationId:
$ref: '#/components/schemas/WsitApplicationIdSchema'
status:
type: object
description: Application Status
properties:
value:
$ref: '#/components/schemas/LoanStatusValueSchema'
authorizationInfo:
$ref: '#/components/schemas/authorizationInfo'
loan:
$ref: '#/components/schemas/tradepay_loansDetail'
beneficiary:
$ref: '#/components/schemas/beneficiaryDetail'
instructionsToBank:
$ref: '#/components/schemas/instructionsToBank'
invoices:
type: array
description: invoices information
minItems: 0
items:
$ref: '#/components/schemas/InvoiceModel_Seller'
forwardContractDetails:
$ref: '#/components/schemas/ForwardContractDetailModel'
miscStates:
$ref: '#/components/schemas/TaasMiscStatesSchema'
CreateTradePaySellerLoanApplicationRequestModel:
title: UnencryptedRequestBody
description: >-
Always wrapped with Top Level data
object.
type: object
required:
- data
properties:
data:
type: object
description: Top level object
$ref: '#/components/schemas/CreateTradePaySellerLoanApplicationRequestModelData'
CreateTradePaySellerLoanApplicationRequestModelData:
type: object
description: CreateTradePayBuyerLoanApplicationRequestModelData
required:
- authorizationInfo
- loan
- beneficiary
- instructionsToBank
- invoices
- forwardContractDetails
- miscStates
properties:
authorizationInfo:
$ref: '#/components/schemas/authorizationInfo'
loan:
$ref: '#/components/schemas/tradepay_loansDetail'
beneficiary:
$ref: '#/components/schemas/beneficiaryDetail'
instructionsToBank:
$ref: '#/components/schemas/instructionsToBank'
invoices:
type: array
description: invoices seller loan
minItems: 0
items:
$ref: '#/components/schemas/InvoiceModel_Seller'
forwardContractDetails:
$ref: '#/components/schemas/ForwardContractDetailModel'
miscStates:
$ref: '#/components/schemas/TaasMiscStatesSchema'
InvoiceModel_Seller:
title: InvoiceModel_Seller
description: InvoiceModel_Seller
type: object
required:
- amount
- currency
- number
- issuedDate
- buyer
- lineItems
properties:
number:
type: string
maxLength: 255
description: Invoice number or bill reference
example: 'INV23030101'
issuedDate:
allOf:
- $ref: '#/components/schemas/ISODate'
description: 'Date of invoice'
example: '2023-03-01'
amount:
allOf:
- $ref: '#/components/schemas/WsitAmountModel'
- properties:
outstandingAmount:
allOf:
- $ref: '#/components/schemas/WsitAmountSchema'
description: 'outstanding amount of invoice.'
example: '1000.00'
taxAmount:
description: Tax amount. Input 0 if not involved.
allOf:
- $ref: '#/components/schemas/WsitAmountSchema'
example: '0.00'
adjustment:
type: object
description: adjustment info
properties:
debitOrCreditIndicator:
allOf:
- $ref: '#/components/schemas/WsitDebitOrCreditIndicatorSchema'
adustmentAmount:
description: Adjustment amount. When client does early repayment, there is some adjustment amount applied.
allOf:
- $ref: '#/components/schemas/WsitAmountSchema'
example: '0.00'
buyer:
allOf:
- $ref: '#/components/schemas/buyersDetail'
lineItems:
type: array
description: lineItems info
minItems: 0
items:
$ref: '#/components/schemas/LineItemModel'
CreateTradePayBuyerLoanApplicationRequestModel:
title: UnencryptedRequestBody
description: >-
Always wrapped with Top Level data
object.
type: object
required:
- data
properties:
data:
type: object
description: Top level object
$ref: '#/components/schemas/CreateTradePayBuyerLoanApplicationRequestModelData'
CreateTradePayBuyerLoanApplicationRequestModelData:
type: object
description: CreateTradePayBuyerLoanApplicationRequestModelData
required:
- authorizationInfo
- loan
- beneficiary
- instructionsToBank
- invoices
- forwardContractDetails
- miscStates
properties:
authorizationInfo:
$ref: '#/components/schemas/authorizationInfo'
loan:
$ref: '#/components/schemas/tradepay_loansDetail'
beneficiary:
$ref: '#/components/schemas/beneficiaryDetail'
instructionsToBank:
$ref: '#/components/schemas/instructionsToBank'
invoices:
type: array
description: invoices info
minItems: 0
items:
$ref: '#/components/schemas/InvoiceModel'
forwardContractDetails:
$ref: '#/components/schemas/ForwardContractDetailModel'
miscStates:
$ref: '#/components/schemas/TaasMiscStatesSchema'
CreateTradePayBuyerLoanApplicationResponseModel:
title: UnencryptedResponseBody
description: >-
Always wrapped with Top Level data
object.
type: object
required:
- data
properties:
data:
type: object
description: Top level object
$ref: '#/components/schemas/CreateTradePayBuyerLoanApplicationResponseModelData'
CreateTradePayBuyerLoanApplicationResponseModelData:
type: object
description: CreateTradePayBuyerLoanApplicationResponseModelData
required:
- applicationId
- status
- authorizationInfo
- loan
- beneficiary
- instructionsToBank
- invoices
- forwardContractDetails
- miscStates
properties:
applicationId:
$ref: '#/components/schemas/WsitApplicationIdSchema'
status:
type: object
description: Application Status
properties:
value:
$ref: '#/components/schemas/LoanStatusValueSchema'
authorizationInfo:
$ref: '#/components/schemas/authorizationInfo'
loan:
$ref: '#/components/schemas/tradepay_loansDetail'
beneficiary:
$ref: '#/components/schemas/beneficiaryDetail'
instructionsToBank:
$ref: '#/components/schemas/instructionsToBank'
invoices:
type: array
description: invoices info
minItems: 0
items:
$ref: '#/components/schemas/InvoiceModel'
forwardContractDetails:
$ref: '#/components/schemas/ForwardContractDetailModel'
miscStates:
$ref: '#/components/schemas/TaasMiscStatesSchema'
instructionsToBank:
type: string
description: Special instructions
maxLength: 255
tradepay_loansDetail:
type: object
description: tradepay_loansDetail
required:
- customerReference
- startDate
- tenor
- maturityDate
- loanCurrency
- paymentToSupplierAmount
- repaymentInfo
properties:
customerReference:
allOf:
- $ref: '#/components/schemas/TaasCustomerReference'
example: 'CRSG23040101'
startDate:
allOf:
- $ref: '#/components/schemas/ISODate'
description: Loan Start Date
example: '2023-04-01'
tenor:
type: string
maxLength: 3
pattern: ^([1-9]|[1-9][0-9]|[12][0-9]{2}|3[0-5][0-9]|360)$
example: '30'
description: >-
Tenor days, only allow number from `1` to `360`.
maturityDate:
allOf:
- $ref: '#/components/schemas/ISODate'
description: >-
Loan due date. If this value is not specified, system shall calculate the `loanMaturityDate` by `loanStartDate` + `tenor`.
example: '2023-07-31'
loanCurrency:
allOf:
- $ref: '#/components/schemas/LoanCurrency'
paymentToSupplierAmount:
allOf:
- $ref: '#/components/schemas/WsitAmountModel'
- properties:
amountPaidByLoan:
allOf:
- $ref: '#/components/schemas/WsitAmountSchema'
repaymentInfo:
type: object
description: repaymentInfo
properties:
repaymentAccountNumber:
allOf:
- $ref: '#/components/schemas/LoanRepaymentAccount'
interestAccountNumber:
allOf:
- $ref: '#/components/schemas/LoanInterestRepaymentAccount'
chargesAccountNumber:
allOf:
- $ref: '#/components/schemas/LoanChargesRepaymentAccount'
SettleTradeLoanApplicationRequestModel:
title: UnencryptedRequestBody
description: >-
Always wrapped with Top Level data
object.
type: object
required:
- data
properties:
data:
type: object
description: Top level object
$ref: '#/components/schemas/SettleTradeLoanApplicationRequestModelData'
SettleTradeLoanApplicationRequestModelData:
type: object
description: SettleTradeLoanApplicationRequestModelData
required:
- loanNumber
- repaymentInfo
properties:
loanNumber:
$ref: '#/components/schemas/LoanNumber'
repaymentInfo:
$ref: '#/components/schemas/repaymentInfo'
instructionToBank:
type: string
description: The reason why the client want to extend the loan.
maxLength: 255
example: TEXT OF REASON
miscStates:
$ref: '#/components/schemas/TaasMiscStatesSchema'
ExtendTradeLoanApplicationRequestModel:
title: UnencryptedRequestBody
description: >-
Always wrapped with Top Level data
object.
type: object
required:
- data
properties:
data:
type: object
description: Top level object
$ref: '#/components/schemas/ExtendTradeLoanApplicationRequestModelData'
ExtendTradeLoanApplicationRequestModelData:
type: object
description: ExtendTradeLoanApplicationRequestModelData
required:
- loanNumber
- loanExtensionDetail
properties:
loanNumber:
$ref: '#/components/schemas/LoanNumber'
loanExtensionDetail:
$ref: '#/components/schemas/loanExtensionDetail'
instructionToBank:
type: string
description: The reason why the client want to extend the loan.
maxLength: 255
example: TEXT OF REASON
miscStates:
$ref: '#/components/schemas/TaasMiscStatesSchema'
ExtendTradeLoanApplicationResponseModel:
title: UnencryptedResponseBody
description: >-
Always wrapped with Top Level data
object.
type: object
required:
- data
properties:
data:
type: object
description: Top level object
$ref: '#/components/schemas/LoanExtensionModel'
LoanExtensionModel:
description: LoanExtensionModel
type: object
required:
- applicationId
- loanNumber
- loanExtensionDetail
properties:
applicationId:
allOf:
- $ref: '#/components/schemas/WsitApplicationIdSchema'
readOnly: true
status:
type: object
description: Application Status
properties:
value:
$ref: '#/components/schemas/LoanStatusValueSchema'
loanNumber:
$ref: '#/components/schemas/LoanNumber'
loanExtensionDetail:
$ref: '#/components/schemas/loanExtensionDetail'
instructionToBank:
type: string
description: The reason why the client want to extend the loan.
maxLength: 255
example: TEXT OF REASON
miscStates:
$ref: '#/components/schemas/TaasMiscStatesSchema'
loanExtensionDetail:
type: object
description: loanExtensionDetail
required:
- tenor
- reasonForLoanExtension
properties:
tenor:
type: string
pattern: ^([1-9]|[1-9][0-9]|[1-9][0-9][0-9])$
example: '30'
description: >-
Tenor days, only allow number from `1` to `999`.
maturityDate:
allOf:
- $ref: '#/components/schemas/ISODate'
description: >-
Loan due date. If this value is not specified, system shall calculate the `loanMaturityDate` by `loanStartDate` + `tenor`.
example: '2023-07-31'
reasonForLoanExtension:
type: string
description: The reason why the client want to extend the loan.
maxLength: 255
example: TEXT OF REASON
LoanSettlementModel:
type: object
description: LoanSettlementModel
required:
- applicationId
- loanNumber
- repaymentInfo
properties:
applicationId:
allOf:
- $ref: '#/components/schemas/WsitApplicationIdSchema'
readOnly: true
status:
type: object
description: Application Status
properties:
value:
$ref: '#/components/schemas/LoanStatusValueSchema'
loanNumber:
$ref: '#/components/schemas/LoanNumber'
repaymentInfo:
$ref: '#/components/schemas/repaymentInfo'
instructionToBank:
type: string
description: The reason why the client want to extend the loan.
maxLength: 255
example: TEXT OF REASON
miscStates:
$ref: '#/components/schemas/TaasMiscStatesSchema'
repaymentInfo:
type: object
description: repaymentInfo
required:
- date
- amount
- repaymentAccountNumber
properties:
date:
allOf:
- $ref: '#/components/schemas/ISODate'
description: Repayment Date for the loan
amount:
allOf:
- $ref: '#/components/schemas/WsitAmountSchema'
description: Repayment Amount
repaymentAccountNumber:
allOf:
- $ref: '#/components/schemas/LoanRepaymentAccount'
interestAccountNumber:
allOf:
- $ref: '#/components/schemas/LoanInterestRepaymentAccount'
chargesAccountNumber:
allOf:
- $ref: '#/components/schemas/LoanChargesRepaymentAccount'
EntityInfoModel:
allOf:
- type: object
required:
- account
- name
- swiftBicBranchCode
- country
- addressLine1
properties:
account:
allOf:
- $ref: '#/components/schemas/BeneficiaryBankAccount'
paymentMethod:
type: string
maxLength: 255
example: 'local payment'
amount:
$ref: '#/components/schemas/WsitAmountModel'
referenceNumber:
allOf:
- $ref: '#/components/schemas/BeneficiaryReferenceNumber'
name:
allOf:
- $ref: '#/components/schemas/BeneficiaryBankName'
swiftBicBranchCode:
allOf:
- $ref: '#/components/schemas/BankSwiftBicBranchCodeSchema'
branchName:
allOf:
- $ref: '#/components/schemas/BeneficiaryBankBranchName'
country:
allOf:
- $ref: '#/components/schemas/BeneficiaryBankCountry'
addressLine1:
allOf:
- $ref: '#/components/schemas/BeneficiaryBankAddressLine1'
addressLine2:
allOf:
- $ref: '#/components/schemas/BeneficiaryBankAddressLine2'
addressLine3:
allOf:
- $ref: '#/components/schemas/BeneficiaryBankAddressLine3'
InvoiceModel:
title: InvoiceModel
description: InvoiceModel_buyerloan
type: object
required:
- amount
- currency
- number
- issuedDate
- lineItems
properties:
number:
type: string
maxLength: 255
description: Invoice number or bill reference
example: 'INV23030101'
issuedDate:
allOf:
- $ref: '#/components/schemas/ISODate'
description: 'Date of invoice'
example: '2023-03-01'
amount:
allOf:
- $ref: '#/components/schemas/WsitAmountModel'
- properties:
outstandingAmount:
allOf:
- $ref: '#/components/schemas/WsitAmountSchema'
description: 'outstanding amount of invoice.'
example: '1000.00'
taxAmount:
description: Tax amount. Input 0 if not involved.
allOf:
- $ref: '#/components/schemas/WsitAmountSchema'
example: '0.00'
adjustment:
type: object
description: adjustment info
properties:
debitOrCreditIndicator:
allOf:
- $ref: '#/components/schemas/WsitDebitOrCreditIndicatorSchema'
adustmentAmount:
description: Adjustment amount. When client does early repayment, there is some adjustment amount applied.
allOf:
- $ref: '#/components/schemas/WsitAmountSchema'
example: '0.00'
lineItems:
type: array
description: lineItems info
minItems: 0
items:
$ref: '#/components/schemas/LineItemModel'
LineItemModel:
type: object
description: LineItemModel info
properties:
id:
type: string
description: Number of the item line, start from 1
maxLength: 5
pattern: ^([1-9]|[0-9]\d{1,4})$
example: '1'
name:
description: Name for the item
type: string
maxLength: 255
example: 'T-shirt'
unit:
type: object
description: unit information
properties:
qantity:
type: string
pattern: ^[1-9]\d{0,254}$
description: Quantity for the item
example: '10'
debitOrCreditIndicator:
allOf:
- $ref: '#/components/schemas/WsitDebitOrCreditIndicatorSchema'
amount:
allOf:
- $ref: '#/components/schemas/WsitAmountSchema'
description: Unit Price for the item
example: '100.00'
description:
type: string
maxLength: 255
description: Description of the item line.
example: 'Made in Singapore'
type:
allOf:
- $ref: '#/components/schemas/LoanTypeOfGoods'
debitOrCreditIndicator:
allOf:
- $ref: '#/components/schemas/WsitDebitOrCreditIndicatorSchema'
totalAmount:
allOf:
- $ref: '#/components/schemas/WsitAmountSchema'
description: >-
The total value for the item. The value equal to `itemLineUnitPrice` * `itemLineQuantity`.
example: '1000.00'
FundApplicationModel:
required:
- bankInfo
- paymentCurrency
type: object
properties:
paymentCurrency:
allOf:
- $ref: '#/components/schemas/ISOCurrencyCode'
description: Currency of payment, can be different with loanCurrency, no verification in the API
bankInfo:
type: array
items:
allOf:
- properties:
accountNumberIban:
$ref: '#/components/schemas/AccountNumberIBANSchema'
countryTerritory:
allOf:
- $ref: '#/components/schemas/ISOCountryCode'
description: Bank country/ territory for the beneficiary/ payee.
- $ref: '#/components/schemas/EntityInfoModel'
description: Beneficiary bank info
ForeignExchangeDetailsModel:
required:
- amount
- contractReferenceNumber
type: object
properties:
contractReferenceNumber:
type: string
maxLength: 16
example: FXLNSG23040102
description: 'Contract Reference number for exchange rate that client and bank make an agreement.'
amount:
type: object
properties:
currency:
allOf:
- $ref: '#/components/schemas/ISOCurrencyCode'
description: >-
Currency agreed in the contract, same as `loanCurrency`.
amountToBeUtilised:
allOf:
- $ref: '#/components/schemas/WsitAmountSchema'
description: >-
Amount in the contract defined to be exchanged. Less than `loanAmount`.
ForwardContractDetailModel:
type: object
description: ForwardContractDetailModel
required:
- contractNumber
- contractAmount
properties:
contractNumber:
$ref: '#/components/schemas/contractNumber'
contractAmount:
allOf:
- $ref: '#/components/schemas/WsitAmountModel'
contractNumber:
type: string
maxLength: 16
example: SG23040102
description: 'Contract Reference number for exchange rate that client and bank make an agreement.'
SupportingDocumentModel:
required:
- id
- name
- category
type: object
properties:
formType:
description: formType for SupportingDocumentModel
type: string
enum:
- p
example: 'P'
readOnly: true
id:
allOf:
- $ref: '#/components/schemas/TaasDocIdSchema'
name:
description: 'Document Name the document uploaded by the client'
type: string
maxLength: 255
example: 'test.tif'
category:
description: Document category
type: string
enum:
- CustomerApplication
writeOnly: true
parameters:
Authorization:
name: Authorization
in: header
description: >-
This header is sent along with X-HSBC-Trade-Finance-Token
as your Digital Identity, which is a private-key-signed Bearer Token
generated per request with the prefix JWS
.(Find out more)
required: true
schema:
$ref: '#/components/schemas/WsitEncryptedEncodedSignedJWTSchema'
examples:
TokenExample:
value: 'JWS eyJ2ZXIiOiIxLjAiLCJraWQiOiJDNDg4MUVFNEM4RTk4RjNFIiwidHlwIjoiSldUIiwiYWxnIjoiUFMyNTYifQ.eyJzdWIiOiJUQUFTMDAwMFAwMDAwMSIsImF1ZCI6ImJhYXMiLCJwYXlsb2FkX2hhc2hfYWxnIjoiUlNBU0hBMjU2IiwicGF5bG9hZF9oYXNoIjoiZWEzMjFhODc1YmJhZDAzNWQ3ZGU3YjJlYTU2MjJmYmUzODIyODg5MGYzYTlhMWNiMWM4ZTNiNjc3NDBjOTE4YyIsImlhdCI6MTcyNzk0MjMwMiwib2JvIjp7InN1YiI6IlRBQVMwMDAwQzAwMDAxIn0sImp0aSI6IjQ0Y2E2NDkyLTZmZTctNDg3OC1hNjg3LTFlODc1MzY0OWY0ZSJ9.V2ogwdtYPZXsh6E8_QOQZFRP_q0cWinmzMmPZJ44iRrKCR8wWMnW_Gs8dHAOvlcDu-3_nODv9n_9XCMn7CSvPgpcx2OwSgu2aRGwpU6RKwYLBq-fnPbQb11sEUmDbXh26xxo1qJPOHM1s3GA8AeAAORm7m_T0zfJ2Mpn_ay4s2Mxq1PSRSbFO70kLdBa8VjVqJnYRx0LmTyT3fKqX1W5P8glQCwkrNLfjcyFdxcD4deUpCol8m4UDsh3CkZiv1IBdJ1l--sVcSbklKgxJwAs-T2CrK1yHYvH1an5R8u_kKmwKGpQ2TLpp0UdikJaStGmVE-u8gK33VdLvMH5J4fRIdzOQlJym0IhxKBzi8vaSh-QSLJYP_6kso8A8eepiUevwXOWLd2CVupp0J8-OzgN3rYIliPR6b6AFJunIf8p1ia2-E5G5VgcYh-XK31p1VbbhS3ny8dZgSe9qde0YcFBTMpbdzLYH-yIgopzFCxO2jb5LlkEs2RCDwSUZOavN3HX'
Mock_200:
value: 200
Mock_201:
value: 201
Mock_201_Decrypted:
value: 201NoEnc
Mock_400:
value: 400
Mock_401:
value: 401
Mock_403:
value: 403
X-HSBC-Trade-Finance-Token:
name: X-HSBC-Trade-Finance-Token
in: header
description: >-
Bearer Token
which contain Partner and Customer Profile Identifiers. (Find out more)
required: true
schema:
$ref: '#/components/schemas/WsitEncryptedEncodedSignedJWTSchema'
example: 'JWS eyJ2ZXIiOiIxLjAiLCJraWQiOiJDNDg4MUVFNEM4RTk4RjNFIiwidHlwIjoiSldUIiwiYWxnIjoiUFMyNTYifQ.eyJzdWIiOiJUQUFTMDAwMFAwMDAwMSIsImF1ZCI6ImJhYXMiLCJpYXQiOjE3Mjc5NDIzMDIsIm9ibyI6eyJzdWIiOiJUQUFTMDAwMEMwMDAwMSJ9LCJqdGkiOiI0NGNhNjQ5Mi02ZmU3LTQ4NzgtYTY4Ny0xZTg3NTM2NDlmNGUifQ.JNtjTaNCpGgTCRzR1nbAi-lmHBwP1_ZFmVLAR1VKrc-WRlPGf88O9T-x5jBsKN0GgDyAr9jOKN91Q2GNP2c7gD5R_weiH8NprbFMcv_bpte-7QUrLj0Z99Lfm4sPtpZ6ckGF9_mfgvmPcskUPY5_q85KNV1jXODHGiR2nNmYbXmAjHyMvHi6K4i3g6U0_t2N6SgnzUzTa7c35XCuhHX6wklsaSqpwNMzhZ3l3gqw39-4xpOi0lYo60n0dB2MAIo_Wv6CIZJiyZj7Ns0d6UTD6jhMgPxpTyCvG4iG828OTQZzLUZAkIUV-czF_GOoaaMSC1f48980zWFAeGzkScmN35uLnDPvoU9SFiFcJ8eGx7L6AYvyWGUvCQQcK9eLoiGCVIgoOPmLCOcWASkPlUe0Fg1EBYmHiwoUgVzl7nYgCvXMi_TwpI-RrBie07zzxsEbl6wQjY5rZVlykYq0hfm5ilzw-13AbEZ8jJInLhhcwzf9pk77cqVc8hbCdnbeU41g'
X-HSBC-Request-Correlation-Id:
name: X-HSBC-Request-Correlation-Id
in: header
description: >-
The unique identifier (UUID) of request triggered to access HSBC API service, generated by your platform.
What is Universally unique identifier (UUID)?
required: true
schema:
type: string
format: uuid
maxLength: 36
example: 83a37bff-b5a3-43b6-8628-7afb2565dbe7
X-HSBC-CountryCode:
name: X-HSBC-CountryCode
in: header
description: >-
Specify which country/ market this request is generated, format as per ISO 3166 Alpha-2-code.
What is ISO3166 Alpha-2-code?
Find out which countries/ markets are supported?
# Find out which countries/ markets are supported?
# Find out which countries/ markets are supported?
required: true
schema:
$ref: '#/components/schemas/ISOCountryCode'
X-HSBC-Request-Idempotency-Key:
name: X-HSBC-Request-Idempotency-Key
in: header
description: The unique identifier (UUID) that you submit as a request header, that helps bank to indentify your request is not duplicated.
required: true
schema:
type: string
format: uuid
maxLength: 36
example: 83a37bff-b5a3-43b6-8628-7afb2565dbe7
X-HSBC-Crypto-Signature:
name: X-HSBC-Crypto-Signature
in: header
description: Select if you would like to verify HSBC signature on message responds from API. Recommend to set this value to false.
required: true
schema:
type: boolean
example: true
PageNumber:
name: pageNumber
in: query
description: |
Which page you would like to retrieve.
required: true
schema:
$ref: '#/components/schemas/TaasPageNumberSchema'
PageSize:
name: pageSize
in: query
description: |
Maximum records to be retrieved in a page.
required: true
schema:
$ref: '#/components/schemas/TaasPageSizeSchema'
StartDateTime:
name: startDateTime
in: query
description: |
Start Date.
schema:
type: string
format: date
EndDateTime:
name: endDateTime
in: query
description: |
End Date.
schema:
type: string
format: date
# Security scheme definitions
requestBodies:
CreateTradePaySellerLoanApplicationRequestModel:
description: >-
To make a request:
- Prepares the raw request content as per
UnencryptedRequest
schema.
-
Encrypts the
UnencryptedRequest
body and Base64
encodes it as per WsitEncryptedRequestBase64Model
schema.
View guidance on Message Level Encryption
content:
application/json:
schema:
$ref: '#/components/schemas/CreateTradePaySellerLoanApplicationRequestModel'
# oneOf:
# - $ref: '#/components/schemas/WsitUnencryptedRequestModel'
# - $ref: '#/components/schemas/WsitEncryptedRequestBase64Model'
examples:
UnencryptedRequest:
$ref: '#/components/examples/CreateTradePaySellerLoanApplicationRequestModelExample'
Encrypted Request (Base64):
$ref: '#/components/examples/WsitEncryptedRequestBase64Model'
required: true
CreateTradePayBuyerLoanApplicationRequestModel:
description: >-
To make a request:
- Prepares the raw request content as per
UnencryptedRequest
schema.
-
Encrypts the
UnencryptedRequest
body and Base64
encodes it as per WsitEncryptedRequestBase64Model
schema.
View guidance on Message Level Encryption
content:
application/json:
schema:
$ref: '#/components/schemas/CreateTradePayBuyerLoanApplicationRequestModel'
# oneOf:
# - $ref: '#/components/schemas/WsitUnencryptedRequestModel'
# - $ref: '#/components/schemas/WsitEncryptedRequestBase64Model'
examples:
UnencryptedRequest:
$ref: '#/components/examples/CreateTradePayBuyerLoanApplicationRequestModelExample'
Encrypted Request (Base64):
$ref: '#/components/examples/WsitEncryptedRequestBase64Model'
required: true
SettleTradeLoanApplicationRequestModel:
description: >-
To make a request:
- Prepares the raw request content as per
UnencryptedRequest
schema.
-
Encrypts the
UnencryptedRequest
body and Base64
encodes it as per WsitEncryptedRequestBase64Model
schema.
View guidance on Message Level Encryption
content:
application/json:
schema:
$ref: '#/components/schemas/SettleTradeLoanApplicationRequestModel'
# oneOf:
# - $ref: '#/components/schemas/WsitUnencryptedRequestModel'
# - $ref: '#/components/schemas/WsitEncryptedRequestBase64Model'
examples:
UnencryptedRequest:
$ref: '#/components/examples/SettleTradeLoanApplicationRequestModelExample'
Encrypted Request (Base64):
$ref: '#/components/examples/WsitEncryptedRequestBase64Model'
required: true
ExtendTradeLoanApplicationRequestModel:
description: >-
To make a request:
- Prepares the raw request content as per
UnencryptedRequest
schema.
-
Encrypts the
UnencryptedRequest
body and Base64
encodes it as per WsitEncryptedRequestBase64Model
schema.
View guidance on Message Level Encryption
content:
application/json:
schema:
$ref: '#/components/schemas/ExtendTradeLoanApplicationRequestModel'
# oneOf:
# - $ref: '#/components/schemas/WsitUnencryptedRequestModel'
# - $ref: '#/components/schemas/WsitEncryptedRequestBase64Model'
examples:
UnencryptedRequest:
$ref: '#/components/examples/ExtendTradeLoanApplicationRequestModelExample'
Encrypted Request (Base64):
$ref: '#/components/examples/WsitEncryptedRequestBase64Model'
required: true
CreateAdvancedBuyerLoanApplicationRequestModel:
description: >-
To make a request:
- Prepares the raw request content as per
UnencryptedRequest
schema.
-
Encrypts the
UnencryptedRequest
body and Base64
encodes it as per WsitEncryptedRequestBase64Model
schema.
View guidance on Message Level Encryption
content:
application/json:
schema:
$ref: '#/components/schemas/WsitUnencryptedAdvancedRequestModel'
# oneOf:
# - $ref: '#/components/schemas/WsitUnencryptedRequestModel'
# - $ref: '#/components/schemas/WsitEncryptedRequestBase64Model'
examples:
UnencryptedRequest:
$ref: '#/components/examples/WsitUnencryptedAdvancedRequestModelExample'
Encrypted Request (Base64):
$ref: '#/components/examples/WsitEncryptedRequestBase64Model'
required: true
CreateStandardSellerLoanRequestApplicationRequestModel:
description: >-
To make a request:
- Prepares the raw request content as per
UnencryptedRequest
schema.
-
Encrypts the
UnencryptedRequest
body and Base64
encodes it as per WsitEncryptedRequestBase64Model
schema.
View guidance on Message Level Encryption
content:
application/json:
schema:
$ref: '#/components/schemas/WsitUnencryptedStandardSellerLoanRequestModel'
# oneOf:
# - $ref: '#/components/schemas/WsitUnencryptedRequestModel'
# - $ref: '#/components/schemas/WsitEncryptedRequestBase64Model'
examples:
UnencryptedRequest:
$ref: '#/components/examples/WsitUnencryptedStandardSellerLoanRequestModelExample'
Encrypted Request (Base64):
$ref: '#/components/examples/WsitEncryptedRequestBase64Model'
required: true
CreateStandardBuyerLoanApplicationRequestModel:
description: >-
To make a request:
- Prepares the raw request content as per
UnencryptedRequest
schema.
-
Encrypts the
UnencryptedRequest
body and Base64
encodes it as per WsitEncryptedRequestBase64Model
schema.
View guidance on Message Level Encryption
content:
application/json:
schema:
$ref: '#/components/schemas/WsitUnencryptedRequestModel'
# oneOf:
# - $ref: '#/components/schemas/WsitUnencryptedRequestModel'
# - $ref: '#/components/schemas/WsitEncryptedRequestBase64Model'
examples:
UnencryptedRequest:
$ref: '#/components/examples/WsitUnencryptedRequestModelExample'
Encrypted Request (Base64):
$ref: '#/components/examples/WsitEncryptedRequestBase64Model'
required: true
CreateAdvancedSellerLoanApplicationRequestModel:
description: >-
To make a request:
- Prepares the raw request content as per
UnencryptedRequest
schema.
-
Encrypts the
UnencryptedRequest
body and Base64
encodes it as per WsitEncryptedRequestBase64Model
schema.
View guidance on Message Level Encryption
content:
application/json:
schema:
$ref: '#/components/schemas/CreateAdvancedSellerLoanApplicationRequestModel'
# oneOf:
# - $ref: '#/components/schemas/WsitUnencryptedRequestModel'
# - $ref: '#/components/schemas/WsitEncryptedRequestBase64Model'
examples:
UnencryptedRequest:
$ref: '#/components/examples/CreateAdvancedSellerLoanApplicationRequestModelExample'
Encrypted Request (Base64):
$ref: '#/components/examples/WsitEncryptedRequestBase64Model'
required: true
responses:
CreateTradePaySellerLoanApplicationResponseModel:
description: >-
OK (How to process response message)
content:
application/json:
schema:
$ref: '#/components/schemas/CreateTradePaySellerLoanApplicationResponseModel'
examples:
UnencryptedRequest:
$ref: '#/components/examples/CreateTradePaySellerLoanApplicationResponseModelExample'
CreateTradePayBuyerLoanApplicationResponseModel:
description: >-
OK (How to process response message)
content:
application/json:
schema:
$ref: '#/components/schemas/CreateTradePayBuyerLoanApplicationResponseModel'
examples:
UnencryptedRequest:
$ref: '#/components/examples/CreateTradePayBuyerLoanApplicationResponseModelExample'
QueryTradeLoanResponseModel:
description: >-
OK (How to process response message)
content:
application/json:
schema:
$ref: '#/components/schemas/QueryTradeLoanResponseModel'
examples:
UnencryptedRequest:
$ref: '#/components/examples/QueryTradeLoanResponseModelExample'
QueryTradeLoansResponseModel:
description: >-
OK (How to process response message)
content:
application/json:
schema:
$ref: '#/components/schemas/QueryTradeLoansResponseModel'
examples:
UnencryptedRequest:
$ref: '#/components/examples/QueryTradeLoansResponseModelExample'
SettleTradeLoanApplicationResponseModel:
description: >-
OK (How to process response message)
content:
application/json:
schema:
$ref: '#/components/schemas/SettleTradeLoanApplicationResponseModel'
examples:
UnencryptedRequest:
$ref: '#/components/examples/SettleTradeLoanApplicationResponseModelExample'
ExtendTradeLoanApplicationResponseModel:
description: >-
OK (How to process response message)
content:
application/json:
schema:
$ref: '#/components/schemas/ExtendTradeLoanApplicationResponseModel'
examples:
UnencryptedRequest:
$ref: '#/components/examples/ExtendTradeLoanApplicationResponseModelExample'
CreateStandardSellerLoanApplicationResponseModel:
description: >-
OK (How to process response message)
content:
application/json:
schema:
$ref: '#/components/schemas/WsitDecryptedStandardSellerLoanResponseModel'
examples:
UnencryptedRequest:
$ref: '#/components/examples/WsitDecryptedStandardSellerLoanResponseModelExample'
CreateAdvancedSellerLoanApplicationResponseModel:
description: >-
OK (How to process response message)
content:
application/json:
schema:
$ref: '#/components/schemas/CreateAdvancedSellerLoanApplicationResponseModel'
examples:
UnencryptedRequest:
$ref: '#/components/examples/CreateAdvancedSellerLoanApplicationResponseModelExample'
CreateAdvancedBuyerLoanApplicationResponseModel:
description: >-
OK (How to process response message)
content:
application/json:
schema:
$ref: '#/components/schemas/AdvancedBuyerLoanApplicationResponseModel'
examples:
UnencryptedRequest:
$ref: '#/components/examples/WsitDecryptedAdvancedBuyerLoanResponseModelExample'
CreateStandardBuyerLoanApplicationResponseModel:
description: >-
OK (How to process response message)
content:
application/json:
schema:
$ref: '#/components/schemas/WsitDecryptedResponseModel'
examples:
UnencryptedRequest:
$ref: '#/components/examples/WsitDecryptedResponseModelExample'
Health_Response_200:
description: Successful operation.
content:
'*/*':
schema:
$ref: '#/components/schemas/healthResponse'
examples:
healthResponseExample:
$ref: '#/components/examples/healthResponseExample'
WsitHealthResponse200Model:
description: >-
Bad Request. Invalid API request headers/ querying parameters/ payload. (Find out more)
content:
application/json:
schema:
$ref: '#/components/schemas/WsitDecryptedResponseModel'
WsitBadRequest400Model:
description: >-
Bad Request. Invalid API request headers/ querying parameters/ payload. (Find out more)
content:
application/json:
schema:
$ref: '#/components/schemas/WsitBaseExceptionModel'
examples:
Requester Input Error - Single:
summary: Bad request - Single Error
description: A required parameter is missing/ invalid in the request body. Please refer to respective API specification.
value:
type: /problem-details/types/validation-errors#%paramKey001%
title: Fields invalid
status: '400'
detail: key and value must not be blank.
instance: d72b7d9b-ccd9-4f98-8fb8-dbb3067effc3
errorDateTime: '2021-09-29T11:42:52.332Z'
Requester Input Error - Multiple:
summary: Bad request - multiple errors
description: More than 1 required parameters are missing/ invalid in the request body. Please refer to respective API specification.
value:
type: /problem-details/types/validation-errors
title: Fields invalid
status: '400'
detail: Fields invalid
errors:
- type: /problem-details/types/validation-errors#%paramKey001%
detail: key and value must not be blank.
- type: /problem-details/types/validation-errors#%paramKey002%
detail: key and value must not be blank.
instance: 1d9294e7-20ea-4c34-9a89-c18a47254e8e
errorDateTime: '2021-09-29T11:42:52.332Z'
WsitUnauthorized401Model:
description: >-
Unauthorized. Invalid Token/ Client's PGP Private Key. (Find out more)
content:
application/json:
schema:
$ref: '#/components/schemas/WsitBaseExceptionModel'
examples:
Invalid Json Web Token:
summary: Invalid JWT Signature
description: >-
Error occurs when Bank verifies JWT Signature from client's API Request. (Find out more)
value:
type: /auth-error/code/EDSPER2005
title: Invalid JWT Signature
status: '401'
detail: JWT Signature validation failed / Invalid JWT Signature
instance: 1d9294e7-20ea-4c34-9a89-c18a47254e8e
errorDateTime: '2021-09-29T11:42:52.332Z'
WsitForbidden403Model:
description: >-
**Forbidden.** [(Find out more)](#authorisation)
content:
application/json:
schema:
$ref: '#/components/schemas/WsitBaseExceptionModel'
examples:
Unauthorized access of resource:
summary: Access Forbidden
description: >-
Error occurs when Bank verifies client's `fulfilment id` for access of target resource. [(Find out more)](#authorisation)
value:
type: /problem-details/types/customer-info-invalid
title: Customer info invalid
status: '403'
detail: AuthZ check failed, please check your customer info
instance: 1d9294e7-20ea-4c34-9a89-c18a47254e8e
errorDateTime: '2021-09-29T11:42:52.332Z'
WsitNotFound404Model:
description: >-
Not Found.
content:
application/json:
schema:
$ref: '#/components/schemas/WsitBaseExceptionModel'
examples:
Resource not found:
summary: Resource not found
description: No resource are fond based on the querying parameters. Please try to widen the search criteria.
value:
type: /problem-details/types/data-not-found
title: data not found
status: '404'
detail: data not found
instance: 1d9294e7-20ea-4c34-9a89-c18a47254e8e
errorDateTime: '2021-09-29T11:42:52.332Z'
WsitConflict409Model:
description: >-
Conflict.
content:
application/json:
schema:
$ref: '#/components/schemas/WsitBaseExceptionModel'
examples:
Duplicated Idempotency-Key:
summary: Request is duplicated
description: >-
Request is denied due to another request with the same X-HSBC-Request-Idempotency-Key
in http request header was received.
value:
type: /problem-details/types/incorrect-idempotency-key
title: Header Required Field Incorrect
status: '429'
detail: 'Duplicated X-HSBC-Request-Idempotency-Key: #a3a83c37-bdb9-46ab-85ff-79e259a9dc47'
instance: 0d4b2d43-1d9d-4690-a898-15fabe42e57c
errorDateTime: '2023-05-05T08:11:45.248311'
WsitUnprocessableEntity422Model:
description: >-
Unprocessable Entity.
content:
application/json:
schema:
$ref: '#/components/schemas/WsitBaseExceptionModel'
examples:
Another Application is in progress:
summary: Another Application is in progress
description: >-
Request is denied due to another application with the same dcNumber
is being processed.
value:
type: /problem-details/type/process-error
title: Unprocessable Content
status: '422'
detail: Application is in progress.
instance: 0d4b2d43-1d9d-4690-a898-15fabe42e57c
errorDateTime: '2023-05-05T08:11:45.248311'
Crypto Error - Invalid Bank Key:
summary: Crypto Error - Invalid Client PGP Key
description: >-
Request is denied due to unidentified bank key. Please refer to Making an API Request.
value:
type: PAYLOAD-INCORRECT
title: Request Payload Incorrect
status: '422'
detail: Provided Key id does not match the key client used on this payload
instance: fcf11c06-90b2-4da4-8c5f-6e7ff03b4797
errorDateTime: '2022-05-31T11:21:40.178Z'
Crypto Error - Invalid Client PGP Key Signature:
description: >-
Request is denied due to unidentified client key signature. Please refer to Making an API Request.
value:
type: SIGNATURE-FAILURE
title: SIGNATURE_FAILURE
status: '422'
detail: SIGNATURE_FAILURE
instance: f11a5ee5-15e4-4d63-954a-274e58a60cae
dateTime: '2022-03-03T10:27:34.409Z'
Crypto Error - Invalid PGP Data Type:
description: >-
Request is denied due to unidentified PGP Data Type. Please refer to Making an API Request.
value:
type: PAYLOAD-INCORRECT
title: Request Payload Incorrect
status: '422'
detail: payload unknown PGP Data type
instance: fcf11c06-90b2-4da4-8c5f-6e7ff03b4797
errorDateTime: '2022-05-31T11:21:40.178Z'
Crypto Error - Encrypted Data is null:
description: >-
Request is denied due to encrypted data is null. Please refer to Making an API Request.
value:
type: PAYLOAD-INCORRECT
title: Request Payload Incorrect
status: '422'
detail: PGPPublicKeyEncryptedData is null
instance: fcf11c06-90b2-4da4-8c5f-6e7ff03b4797
errorDateTime: '2022-05-31T11:21:40.178Z'
WsitInternalServerError500Model:
description: >-
Internal Server Error.
content:
application/json:
schema:
$ref: '#/components/schemas/WsitBaseExceptionModel'
examples:
error_500:
summary: Example response
description: Example response
value:
type: /problem-details/types/internal-server-error
title: Internal Server Error
status: '500'
detail: Internal Server Error.
instance: 1d9294e7-20ea-4c34-9a89-c18a47254e8e
errorDateTime: '2021-09-29T11:42:52.332Z'
WsitIBadGateway502Model:
description: >-
Bad Gateway.
content:
application/json:
schema:
$ref: '#/components/schemas/WsitBaseExceptionModel'
examples:
error_502:
summary: Example response
description: Example response
value:
type: /problem-details/types/bad-gateway
title: Bad Gateway
status: '502'
detail: Bad Gateway.
instance: 1d9294e7-20ea-4c34-9a89-c18a47254e8e
errorDateTime: '2021-09-29T11:42:52.332Z'
WsitServiceUnavailable503Model:
description: >-
Service Unavailable.
content:
application/json:
schema:
$ref: '#/components/schemas/WsitBaseExceptionModel'
examples:
error_503:
summary: Example response
description: Example response
value:
type: /problem-details/types/service-unavailable
title: Service Unavailable
status: '503'
detail: Service Unavailable.
instance: 1d9294e7-20ea-4c34-9a89-c18a47254e8e
errorDateTime: '2021-09-29T11:42:52.332Z'
error_503_scheduled_downtime:
summary: Example response (Scheduled Downtime)
description: Example response (Scheduled Downtime)
value:
type: /problem-details/types/service-unavailable-scheduled-downtime
title: Service Unavailable - Scheduled
status: '503'
detail: >-
Service Unavailable - Scheduled. The service is unavailable between
2022-07-14T01:00:00.000Z and 2022-07-14T02:00:00.000Z
instance: d72b7d9b-ccd9-4f98-8fb8-dbb3067effc3
errorDateTime: '2022-07-14T01:42:52.332Z'
WsitGatewayTimeout504Model:
description: >-
Gateway Timeout.
content:
application/json:
schema:
$ref: '#/components/schemas/WsitBaseExceptionModel'
examples:
error_504:
summary: Example response
description: Example response
value:
type: /problem-details/types/gateway-timeout
title: Gateway Timeout
status: '504'
detail: Gateway Timeout.
instance: 1d9294e7-20ea-4c34-9a89-c18a47254e8e
errorDateTime: '2021-09-29T11:42:52.332Z'
securitySchemes:
Authorization: # JSON Web Token
type: http
scheme: apiKey
description: >-
*Required
Your Digital Identity, which is a private-key-signed Bearer Token
generated per request, must be sent via Authorization
in the request header
. (Find out more)
Example: JWS eyJ2ZXIiOiIxLjAiLCJraWQiOiJFMzYzQ0VGRjAwMThBMjAyIiwid...
Name: Authorization
in: header
X-HSBC-Trade-Finance-Token: # JSON Web Token
type: apiKey
in: header
name: X-HSBC-Trade-Finance-Token
description: >-
*Required
Similar to Authorization
, which is a private-key-signed Bearer Token
generated per request, with additional information such as Partner and Customer relationships, and other additional claims
(if required). Must be sent via X-HSBC-Trade-Finance-Token
in the http request header.(Find out more)
Example: 'JWS eyJ2ZXIiOiIxLjAiLCJraWQiOiJDNDg
X-HSBC-Crypto-Signature: # JSON Web Token
type: apiKey
in: header
name: X-HSBC-Crypto-Signature
description: >-
If set to true
, signature verification of your encrypted message shall be performed by bank, and shall response with encrypted message with signature from Bank. Default value is true