Create a Confirmation Letter

Create a confirmation letter download task. The task is processed asynchronously — use Query a Confirmation Letter to poll for the result and obtain a pre-signed download URL when the task completes.
Request Parameters
requestIdstring
required
Idempotency key. Assign a unique value (e.g., UUID) per request to safely retry without creating duplicate tasks. Maximum 64 characters.
confirmationLetterTypestring
required
Type of letter to generate.

Valid Values:

STATEMENT_DETAIL_LETTER — Transaction proof letter based on statement records. Requires statementDetailLetterParams.
ACCOUNT_VERIFICATION_LETTER — Official global account verification information. Requires accountVerificationLetterParams.
statementDetailLetterParamsStatementDetailLetterParams
Required when confirmationLetterType is STATEMENT_DETAIL_LETTER.
Show child parametersShow child parameters
accountVerificationLetterParamsAccountVerificationLetterParams
Required when confirmationLetterType is ACCOUNT_VERIFICATION_LETTER.
Show child parametersShow child parameters
Response Parameters
resultResult
See Result.
idstring
Unique identifier of the download task. Use this value to query the task status via Query a Confirmation Letter.
statusstring
Task status. A newly created task is always PROCESSING.

Valid Values:

PROCESSING — The task is being processed.
SUCCESS — The task completed successfully.
FAILED — The task failed.
createdAtdatetime
Timestamp when the task was created. ISO 8601 extended format (e.g., 2026-04-27T12:08:56+08:00).
Error Codes
resultCoderesultStatusresultMessageTroubleshooting
SUCCESSSsuccessN/A
REPEAT_REQ_INCONSISTENTFA request with the same requestId already exists but with different parameters. Use a new requestId or the same parameters.The `requestId` was previously used with different parameters. Generate a new unique `requestId` for this request.
ORDER_NOT_EXISTFThe specified statement does not exist. Verify the statementId and retry.The `statementId` in `statementDetailLetterParams` does not match any existing statement. Verify the value via List Statements.
Definition
POST /api/open/v1/confirmationLetters/create
Request
{
"requestId": "f18d0117-095a-4782-a9f1-eeb16c3b****",
"confirmationLetterType": "STATEMENT_DETAIL_LETTER",
"statementDetailLetterParams": {
  "statementId": "STM202604230001",
  "electronicallySigned": true,
  "language": "EN_GB"
}
}
Response
{
"result": {
  "resultCode": "SUCCESS",
  "resultMessage": "success",
  "resultStatus": "S"
},
"id": "f18d0117-095a-4782-a9f1-eeb16c3b****",
"status": "PROCESSING",
"createdAt": "2026-04-27T12:08:56+08:00"
}