0% found this document useful (0 votes)
123 views76 pages

COSMIC Interface Specification v0.2

Uploaded by

quocbao24102000
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
123 views76 pages

COSMIC Interface Specification v0.2

Uploaded by

quocbao24102000
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd

Project COSMIC

Interface Specification Document for COSMIC


(Collaborative Sharing Of ML/TF Information
and Case) System

May 2023

Revision History

Interface Specification Page 1 of 76


Project COSMIC

Revision # Release Date Summary of Changes Author

0.1 15 May 2023 Draft Version for API Design Specs Paul Yan

0.2

Approval Page

Interface Specification Page 2 of 76


Project COSMIC

The endorsement on this document by an authorized representative from Monetary Authority


of Singapore (MAS) and 6 Financial Institutes (FIs) indicates the agreement with AvePoint
Singapore Ltd. Pte. on the Interface Specification Document for the Collaborative Sharing Of
ML/TF Information and Case system.

Reviewed By

Name and Designation Signature Date

Approved By

Name and Designation Signature Date

Table of Contents

Interface Specification Page 3 of 76


Project COSMIC

1 INTRODUCTION.......................................................................................
1.1 PURPOSE OF THE DOCUMENT..............................................................................................................6
1.2 SCOPE.............................................................................................................................................6
1.3 ACCEPTANCE CRITERIA.......................................................................................................................6
1.4 DEFINITIONS, ACRONYMS, ABBREVIATION..............................................................................................7

2 API DESIGN OVERVIEW............................................................................


2.1 INTERFACE APPROACH........................................................................................................................8
2.2 API DESIGN PRINCIPLE.......................................................................................................................9
2.3 API LIST OVERVIEW........................................................................................................................11

3 API USAGE OVERVIEW...........................................................................


3.1 API USAGE IN REQUEST WORKFLOW..................................................................................................13
3.2 API USAGE IN PROVIDE WORKFLOW..................................................................................................22
3.3 API USAGE IN ALERT WORKFLOW......................................................................................................30
3.4 COMMON APIS..............................................................................................................................38

4 COMMON ELEMENTS USED IN APIS.......................................................


4.1 ENTITY ELEMENT.............................................................................................................................43
4.2 NATIONALITY ELEMENT....................................................................................................................44
4.3 CONTACTINFO ELEMENT...................................................................................................................44
4.4 ADDRESS ELEMENT..........................................................................................................................44
4.5 ACCOUNT ELEMENT.........................................................................................................................45
4.6 TRANSACTION ELEMENT...................................................................................................................45
4.7 RFI ELEMENT..................................................................................................................................46
4.8 FEEDBACK ELEMENT........................................................................................................................46
4.9 TICKET IDENTIFIER ELEMENT..............................................................................................................47
4.10 CLARIFICATION ELEMENT..................................................................................................................47
4.11 ATTACHMENT ELEMENT....................................................................................................................47
4.12 BENEFICIARY ELEMENT.....................................................................................................................48
4.13 PAGING ELEMENT...........................................................................................................................48

5 API MESSAGE CODESET..........................................................................


5.1 ACTION TYPE..................................................................................................................................49
5.2 ACCOUNT TYPE...............................................................................................................................49
5.3 ACCOUNT STATUS...........................................................................................................................49
5.4 BANK CODE...................................................................................................................................50

Interface Specification Page 4 of 76


Project COSMIC

5.5 TYPE OF RISK..................................................................................................................................50


5.6 REQUEST STATUS............................................................................................................................50
5.7 PROVIDE STATUS.............................................................................................................................50
5.8 ALERT STATUS................................................................................................................................51
5.9 CATEGORY.....................................................................................................................................51
5.10 CREATION METHOD CODE................................................................................................................51
5.11 RESPONSE STATUS...........................................................................................................................51
5.12 SYSTEM IDTYPE...............................................................................................................................52
5.13 IDTYPE..........................................................................................................................................52

5.14 PHONE TYPE...................................................................................................................................52


5.15 ADDRESSTYPE.................................................................................................................................53
5.16 BOOLEAN CODE..............................................................................................................................53
5.17 TYPE OF PROFILE CODE....................................................................................................................53
5.18 LINKED TICKET REASON....................................................................................................................53

6 ERROR CODE AND EXCEPTION HANDLING..............................................

Interface Specification Page 5 of 76


Project COSMIC

1 Introduction

1.1 Purpose of the Document


The purpose of this Interface Specification document is to document down the interfacing
approach and implementation methods between Collaborative Sharing Of ML/TF Information
and Case (COSMIC) system and Financial Institutes’ (FIs) Internal Systems to fulfil the same batch
of business requirements as Web UI Portal for Request, Provide and Alert workflows.
This Interface Specification describes the data transfer rules and data items for the data request
between the COSMIC system and FI internal system by covering:
1) API Design Approach & Principles
2) API Usage in Request/Provide/Alert
3) API Elements and Code-sets
4) Error Code and Exception Handling
For the business requirements to be fulfilled by the APIs, there is another dedicated document –
Functional Specification to describe on it.

1.2 Scope
The implementation of COSMIC system is split into two phrases to cater the business
operation’s needs. This Interface Specification covers the API Interfaces in Phase 1 scope,
including:
1. APIs to fulfil Request workflow related functionalities.
2. APIs to fulfil Provide workflow related functionalities.
3. APIs to fulfil Alert workflow related functionalities.

1.3 Acceptance Criteria


The endorsement on this document indicates agreement to the Interface Approach, API Designs,
API Detail, Message Definitions and Conflict Handling described in this Interface Specification
document. The details in this document shall supersede all previous versions including prior
oral, correspondences, written proposal and communication from any documents. The
endorsement on this document by authorised representative shall indicate the document’s
acceptance and scope defined.

Interface Specification Page 6 of 76


Project COSMIC

1.4 Definitions, Acronyms, Abbreviation


Term Definition and description

FI Financial Institution
MAS Monetary Authority of Singapore
AML Anti-Money Laundering
AS Authorised Signatory
BIC Bank Identifier Code (typically used in SWIFT messaging)
BO Beneficiary owner
CCP Common Connectivity Platform
Entity The customer or prospect of which the suspicious activities are being
investigated or circulated. An entity can be either a business entity or an
individual.
Ticket The generic term for a Request, Provide, and Alert
RFI Request for information. For COSMIC, typically part of the COSMIC Request
workflow.
SLA Service-level agreement. It refers the response time of a ticket.
API Application Programming Interface
JSON JavaScript Object Notation

Interface Specification Page 7 of 76


Project COSMIC

2 API Design Overview

2.1 Interface Approach


The interface approach is designed and decided with the concept that COSMIC system will play
as a centralised platform for all FIs to subscribe to ensure data integration and security
guarantee.

In such case, COSMIC will implement APIs to interact with FI system as follows: FI System to
push or pull data to/from COSMIC.

1. FI A push data to COSMIC via calling Push API provided by COSMIC.


2. FI B pull data from COSMIC via calling Pull API provided by COSMIC.

No data will be pushed by COSMIC system to FI System. To pull data from COSMIC system, FIs
can implement in a way to pull data from COSMIC at any time when FI users utilize FI internal
system. Otherwise, FI can predefine a fixed frequency to call the Pull API from COSMIC to
retrieve data. The frequency will be discussed and aligned.

Under this approach, only inbound traffic firewall in COSMIC system and outbound traffic
firewall in FI System need to be opened. The API endpoints will be standardised and provided to
FI by AP. FIs will need to implement the logic to consume the APIs.

Interface Specification Page 8 of 76


Project COSMIC

2.2 API Design Principle


2.2.1 Design Mode
The REST API with JSON format message will be used to implement the APIs as
1. The REST API is the preferred API method due to its scalability and flexibility.
2. It enables cross-platform integration regardless of the programming language or
platform setup.
3. For RESTful APIs, JSON is the standard data transfer format and for data sharing, JSON is
recommended for promoting sharing of structured data.

2.2.2 Two Way SSL


Two-way SSL is a Mutual Authentication method where the client and server need to authentic-
ate and validate each other’s identities in each communication. It will be applied in the hand-
shake process to establish a reliable connection. The connection between FI System and CCP as
well as connect between CCP and COSMIC will leverage on HTTPS Protocol and encrypt via TLS
(Transport Layer Security).
Two-way SSL will restrict the connectivity to COSMIC only available to the authorised Clients. It
helps mitigate the risk of fraud in online transactions. The detailed process can refer to the fol-
lowing diagram.

Note: TLS1.3 is recommended and will be mandatory once TLS1.2 is end of support.

Interface Specification Page 9 of 76


Project COSMIC

To achieve the Two-way SSL, four private - public key pairs will need to be generated for the
whole integration process, with 1 key pair to be generated by FI.
No. Key Pairs Generated by Shared Used For
to

1 Private – Public Key A COSMIC CCP Share with CCP for Two Way authentication.

2 Private – Public Key B FI CCP Share with CCP for two-way authentication.

3 Private – Public Key C CCP FI Share with FI for two-way authentication.

4 Private – Public Key D CCP COSMIC Share with COSMIC for two-way authentication.

Note: FI for on boarding onto CCP, there are a set of technical requirements that each parti -
cipant would need to comply with.

2.2.3 Authentication and Payload Encryption


Every REST API call initiated by FIs will be encrypted and need to be authenticated. API Key will
be the method to be used to authenticate FI system access to the APIs in COSMIC. The API key
will be exchanged and authenticated between FI and CCP, CCP and COSMIC, the key will be indi-
cated in HTTP header in each AP call based on CCP onboarding guideline.
Besides, HTTP Request Method - POST Method will be designed for all the APIs request in COS-
MIC. FI can only call COSMIC API successfully by providing API Key and Account ID . these two
values will be passed as custom property in HTTP header.
Item Description

HTTP Request Method POST

Signed Authentication token that will be sent by FI through


Bearer HTTP Authorization header i.e.
HTTP Authorization Header
Authorization: API Key <Key value>

A string that is used by COSMIC to identify FI, this ID will also


be used to cross-check with signed Authentication Token. For
Account ID detailed account id values, please refer to Bank Code. i.e.

AccountID: 1001

Then, to ensure that the sensitive data is encrypted during transit, the HTTP message needs to
be encrypted via RSA 256. The detailed process can refer to the following diagram.

Interface Specification Page 10 of 76


Project COSMIC

To achieve the Payload Encryption, two private - public key pairs will need to be generated for
the whole integration process, with 1 key pair to be generated by FI.
Key Pairs Generated by Shared to Used For

Private – Public Key E COSMIC FI Share with FI for payload encryption.

Private – Public Key F FI COSMIC Share with COSMIC for payload encryption.

*Note: COSMIC will generate different keys for each FI.

2.2.4 API Payload


There will be a restriction on both the request payload size and response payload size to cater
for the network bandwidth and API Responsiveness.
Currently, MAS API Gateway limitation is 10 MB maximum per API call but some FI’s API Gate -
way limitation is 5MB maximum per API call. Considering the file format allowed for attachment,
5 MB will be set as the constraint for each API call, where all FIs need to standardize the maxi-
mum payload size as 5 MB.
To ensure each API request will not exceed the maximum payload size, FIs need to cater for be-
low two scenarios and implement in a way such:
1. Attachment upload and download - the single attachment size shall be < 3MB consider-
ing the file size will be increased after encryption in system.
2. Get ticket list by pagination - the maximum number of tickets that FI system can pull
from COSMIC in one single request is 100.

2.3 API List Overview


To achieve the business feature and functions for Request, Provide and Alert in Phase 1 via the
API calls to push data to COSMIC and pull data from COSMIC, 10 APIs will be implemented in
total.

Interface Specification Page 11 of 76


Project COSMIC

APIs developed in Phase 1 will be released in v1.0 endpoint -


https://eservices.mas.gov.sg/cosmic/v1.0.
API List
S/N End Point Description

Allow Requesting FI to submit, close and withdraw Request, and allow Re-
sponding FI to respond, reject Request by providing specific parameters
1 /FIRTicket
with different action type identified in “request body”. This API also allows
FIs to send clarification or post feedback to Request.

Allow Providing FI to submit, update and withdraw Provide by providing


specific parameters with different action type identified in “request body”.
2 /FIPTicket
This API also allows FI to send clarification or post feedback to the specific
Provide.

3 /FIATicket Allow FI to submit, update and deactivate Alert.

Allow FI to upload single attachment to specific Request/Provide/Alert or


4 /FITicketAtt specific RFI in request, please call this API before submitting request/pro-
vide, or before responding request if you want to upload attachment(s).

Allow Requesting FI and Responding FI to download Request list with FI


filter.
5 / GetRPTickets
Allow Providing FI and Receiving FI to download Provide list with FI filter.

Allow FIs to download full Alert list or incremental list with time range con-
6 /GetAlertList
dition.

7 /GetTicket Allow FIs to retrieve single Request/Provide/Alert details by COSMIC ID.

8 /GetTicketAtt Allow FIs to download single attachment by COSMICID and file name.

Allow FIs to download Alert list with advanced filter, such as Entity ID,
9 /GetENTAlerts Country Code, and DOB/DOI. This list includes all details of Alerts which
match the filter.

Allow FI to download Request, Provide and Alert related audit entries with
10 /GetAudit
time range filter.

Notes:
1. Out of security concern, all the APIs can only be called via HTTP POST method. In the
case that if FI wants to “Get” certain information from COSMIC, FI needs to embed the
parameters into “post-data” rather than insert parameters in URL via HTTP GET method.

Interface Specification Page 12 of 76


Project COSMIC

2. As per the Encryption and Decryption mechanism illustrated above in Section 2.2.3, the
“post-data” sent from FI must be encrypted by the public key generated by COSMIC.
Also, the respond data sent from COSMIC needs to be encrypted by the public key
generated by FI.

Interface Specification Page 13 of 76


Project COSMIC

3 API Usage Overview

3.1 API Usage in Request Workflow


3.1.1 API Usage Diagram for Request

3.1.2 Description
Activity Activity Description API Message Used

0.1 – Upload At- If a Request ticket has attachment, FITicketAtt


tachment Requesting FI can upload the attach-
ment and post it to COSMIC via API.
Refer to Upload attachment for the de-
Similarly, Responding FI
tailed attributes in API.
can upload the attach-
ment for RFI when re-
sponding to the Request
Ticket via API.
COSMIC will return attach-
ment id in response data.
This id should be included
in the request body when
Requesting FI submits
request or Responding FI
responds RFI with attach-
ment.

Interface Specification Page 14 of 76


Project COSMIC

1 - Submit Request Requesting FI determines FIRTicket


that the entity meets the
threshold to trigger Re-
quest workflow. Refer to Requesting FI submit Request
ticket without attachment for the de-
If there is attachment in
tailed attributes in API.
Request Ticket, the Re-
questing FI must indicate
the attachment ids in re-
quest body.

2 - Download Re- Responding FI can download the GetRPTicket


quest Tickets Request Tickets by calling COSMIC
API.
Refer to Responding FI download Re-
*Note: If the Request ticket contains
quest Tickets for the detailed attributes
Attachment(s), the file name & size
in API.
will be returned together with the
Request Ticket information. Re-
sponding FI can then download doc-
uments via API.

Similarly, Requesting FI can pull the


Request Tickets from COSMIC API to:
 Pull Clarification Message
 Pull Response
 Pull Rejected Request tick-
ets with justification.

3 – Download At- If the Request ticket contains attach- GetTicketAtt


tachment ment, Responding FI can download
Refer to Download attachment for the
attachment via COSMIC API.
detailed attributes in API.

4 – Send Clarifica- When the Request ticket is not FIRTicket


tion Message closed, both Requesting FI and Re-
sponding FI can send clarification
message via API. This is to facilitate Refer to Requesting FI/Responding FI
the communication between the send clarification message for the de-
sRequesting FI and Responding FI. tailed attributes in API.

5.1 - Respond Re- Responding FI responds to the Re- FIRTicket


quest Tickets quest Tickets via API.
Refer to Responding FI responded with
*Note: It is optional for Responding requested information and send feed-
FI to post feedback in this activity. back for the detailed attributes in API.

Interface Specification Page 15 of 76


Project COSMIC

5.2 – Reject Re- Responding FI rejects the Request FIRTicket


quest Tickets Tickets via API.

Refer to Responding FI reject the Request


ticket for the detailed attributes in API.

6 – Withdraw Re- Requesting FI withdraws Request FIRTicket


quest Tickets via API.

Refer to Requesting FI withdraw the Re-


quest ticket for the detailed attributes in
API.

7- Close Request After pulling the Request Tickets, FIRTicket


Requesting FI can close the Request
Ticket by acknowledging the re-
sponse or rejection. Refer to Requesting FI close Request
ticket (Acknowledge Response and post
feedback/ Rejection) for the detailed
attributes in API.

8-Pull clarification FI pull clarifications GetRPTickets

Refer to FI to pull clarification of Re-


quest/Provide for the detailed Attributes
in API.

3.1.3 API Usage

3.1.3.1 Requesting FI to submit request.

API Endpoint /FIRTicket

Post Data Sample

Response Data Sample

Post Data Schema:


Field Name Field Type Mandatory Description

Parameters Element Y

Set actionType = “S” in this case, for


actionType CodeSet Y more details, please refer to Action
Type

Interface Specification Page 16 of 76


Project COSMIC

Summary Element Y

requestingFI CodeSet Y Bank Code

respondingFI CodeSet Y Bank Code

For FI to provide the linked ticket num-


linkedTticketNo String (500) N ber. This field will be mandatory if
linked to other ticket.

The reason code is a configurable


Y if linkedTick- parameter in COSMIC. This field will be
linkedTticketReason CodeSet etNo contains mandatory if linkedticketNo contains
valueN value. Please refer to Linked Ticket
Reason

A list of risk type. Please refer to Type


typeOfRisks CodeSet Y
of Risk

Red flag defined by MAS admin, spe-


cify red flag id with “;” as separator if
identifiedRedFlags String Y there are multiple red flags need to be
tagged. Please refer to Identified Red
Flag Code

Indicate attachment ids if this Request


have attachments uploaded, use “;” to
split if there are multiple attachments.
attachmentIds String (500) N
Please refer to API to Upload Attach-
ment to get attachment id informa-
tion.

Ref No that will be used for FI against


fiInternalRefNo String (500) Y
their internal system

String
requestDescription Y Description/Summary of request
(10,000)

createdBy String Y Ticket created by value.

entities Element Y Entity Element

rfi Element Y Rfi Element

transactions Element YNY Transaction Element

Response Data Schema:


Field Name Field Type Description

Interface Specification Page 17 of 76


Project COSMIC

statusCode CodeSet Response Status

message String (10,000) API Response message description

contentTrackId String (500) To identify the latest update of current ticket.

ElementString
COSMICIdticketIdentifiers Ticket Identifier Element
(500)

3.1.3.2 Requesting FI/Responding FI to download Request tickets.

API Endpoint /GetRPPRTickets

Post Data Sample

Response Data Sample

Post Data Schema:


Field Name Field Type Mandatory Description

paging Element N Paging Element

Parameters Element N

Set ticketCategory = “R” in


ticketCategory CodeSet Y this case, for more details,
please refer to Category

Ref No that will be used for FI


fiInternalRefNo String N
against their internal system

respondingFI CodeSet N Bank Code

requestingFI CodeSet N Bank Code

Use “;” as splitter if multiple


status needs to be filtered.
ticketStatus CodeSetCodeSet N
For more details, please refer
to Request Status,

startDateTime Date Time (YYYY-MM- N Date Range - Start Date (Last

Interface Specification Page 18 of 76


Project COSMIC

DD'T'HH:mm:ssZ) update time for request)

Date Time (YYYY-MM- Date Range - Start Date (Last


endDateTime N
DD'T'HH:mm:ssZ) update time for request)

Response Data Schema:


Field Name Field Type Description

paging Element Paging Element

FIRTickets Element

System generated unique ID to track


COSMICId String (500)
each Request, Provide and Alert

requestingFI CodeSet Bank Code

respondingFI CodeSet Bank Code

typeOfRisks CodeSetString (500) Type of Risk

Red flag defined by MAS admin, specify


red flag id with “;” as separator if there
identifiedRedFlags String are multiple red flags need to be
tagged. Please refer to Identified Red
Flag Code

ticketStatus CodeSet Request Status

Ref No that will be used for FI against


fiInternalRefNo String (500)
their internal system

For FI to provide the linked ticket num-


linkedTticketNo String(500) ber. This field will be mandatory if
linked to other ticket.

The reason code is a configurable para-


meter in COSMIC. This field will be
linkedTticketReason CodeSet mandatory if linkedticketNo contains
value. Please refer to Linked Ticket
Reason

requestDescription String (10,000) Description/Summary of request

responseSummary String (10,000) Summary of response

sla Integer SLA. SLA will not trigger if FI calls


GetRPTickets API.

Interface Specification Page 19 of 76


Project COSMIC

Date Time (YYYY-MM-


respondingStartTime Start time for Responding
DD'T'HH:mm:ssZ)

Date Time (YYYY-MM-


respondingEndTime End time for Responding
DD'T'HH:mm:ssZ)

createdBy String Ticket created by user

modifiedBy String Ticket modified by user

Date Time (YYYY-MM-


submittedDate Submit date
DD'T'HH:mm:ssZ)

Request last changed date, status


Date Time (YYYY-MM-
modifiedDate change and new chat message sent will
DD'T'HH:mm:ssZ)
reflect Request modifiedDate.

contentTrackIdMD5 String (500) contentTrackIdMD5 value for ticket

rejectionReason CodeSetString (500) rejection code Reason Codedescription

rejectionReasonText String (10000) Other input when reject code is others

withdrawReason CodeSetString (500) Withdraw reason Reason Code

Other input when withdraw reason is


withdrawReasonText String (10000)
others

entities Element Entity Element

ticketIdentifiers Element Ticket Identifier Element

3.1.3.3 Requesting FI/Responding FI to send Clarification message.

API Endpoint /FIRTicket


Post Data Sample

Response Data Sample

Post Data Schema


Field Name Field Type Mandatory Description

Interface Specification Page 20 of 76


Project COSMIC

Parameters Element Y

Set actionType = “C” in this case, for


actionType CodeSet Y more details, please refer to Action
Type

System generated unique ID to track


COSMICId String (500) Y
each Request, Provide and Alert

cClarification Element Y Clarification Element

Response Data Schema


Field Name Field Type Description

statusCode CodeSet Response Status

message String (10,000) Detail message

chatIid String (500) Chat id in system

3.1.3.4 Responding FI to respond with requested information and feedback.

API Endpoint /FIRTicket


Post Data Sample

Response Data Sample

Post Data Schema:


Field Name Field Type Mandatory Description

Parameters Element Y

Set actionType = “Rp” in this case, for


actionType CodeSet Y more details, please refer to Action
Type

System generated unique ID to track


COSMICId String (500) Y
each Request, Provide and Alert

responseSummary String (10,000) N Respond rfi summary

attachmentIds String (500) N Indicate attachment ids if this Request

Interface Specification Page 21 of 76


Project COSMIC

have attachments uploaded, use “;” to


split if there are multiple attachments.

Please refer to API to Upload Attach-


ment to get attachment id information.

rfis Element Y Rfi Element

feedback Element N Feedback Element

Response Data Schema


Field Name Field Type Description

statusCode CodeSet Response Status

message String (10,000) Detail message

3.1.3.5 Responding FI to reject the request and feedback.

API Endpoint /FIRTicket


Post Data Sample

Response Data Sample

Post Data Schema


Field Name Field Type Mandatory Description

Parameters Element Y

Set actionType = “Rj” in


actionType Element Y this case, for more details,
please refer to Action Type

COSMICId String (500) Y

rejectCode String (500) Y Reject code Reason Code

Y if reject code is
rejectReason String (10,000) Reject code description
otherrejectcode=99

feedback Element N Feedback Element

Interface Specification Page 22 of 76


Project COSMIC

Response Data Schema


Field Name Field Type Description

statusCode CodeSet Response Status

message String (10,000) Detail message

3.1.3.6 Requesting FI to withdraw the Request ticket.

API Endpoint /FIRTicket

Post Data Sample

Response Data Sample

Post Data Schema


Field Name Field Type Mandatory Description

Parameters Element Y

Set actionType = “W” in


this case, for more de-
actionType CodeSet Y
tails, please refer to Ac-
tion Type

COSMICId String (500) Y COSMIC Id

Withdraw reason Reason


withdrawReason CodeSetString (500) Y
Code

Y when withdraw Other inputs when with-


withdrawReasonText String (10000)
reason is others draw reason is others

modifiedBy String Y Modified by user

Response Data Schema


Field Name Field Type Link

Interface Specification Page 23 of 76


Project COSMIC

statusCode CodeSet Response Status

contentTrackId String (500)

message String (10,000) Response message description

3.1.3.7 Requesting FI to close Request ticket (Acknowledge Response and post feedback/
Rejection)

API Endpoint /FIRTicket


Post Data Sample

Response Data Sample

Post Data Schema


Field Name Field Type Mandatory Description

Parameters Element Y

Set actionType = “Ak” in this


actionType CodeSet Y case, for more details, please
refer to Action Type

COSMICId String (500) Y COSMIC Id

Feedback Element Y Feedback Element

modifiedBy String Y Modified by user

Response Data Schema


Field Name Field Type Description

statusCode CodeSet Response Status

message String (10,000) Response message detail

Interface Specification Page 24 of 76


Project COSMIC

contentTrackId String (500)

3.2 API Usage in Provide Workflow


3.2.1[3.1.4] API Usage Diagram for Provide

3.2.2[3.1.5] Description
Activity Activity Description API Message Used

0.1 – Upload At- If there is an attach- FITicketAtt


tachment ment on the Providing
ticket, Providing FI can
upload the attachment
and post it to COSMIC Refer to Sample of uploading at-
via API. tachment to Request/Provide for
the detailed Attributes in API.

COSMIC will return at-


tachment id in response
data. This id should be
included in /FIPTicket
post data when FI sub-
mit provide.

Interface Specification Page 25 of 76


Project COSMIC

1- Submit Provide Providing FI determines FIPTicket


that customer meets
the threshold to trigger
information sharing.
The Responding FI can Refer to Providing FI submit
then prepare JSON mes- Providefor the detailed Attributes
sage with full Provide in API.
Ticket information and
post it to COSMIC via
API.

2-Download Providing FI can download the GetRPTickets


Provide Tickets Provide Tickets by calling COSMIC
API.

Similarly, Receiving FI can pull the Refer to Download the provide list. for the
Provide Tickets from COSMIC API. detailed Attributes in API.

3-Download at- Providing FI & Receiving FI down- GetTicketAtt


tachment load attachment in Provide
Refer to for Sample of downloading attach-
ment from Request/Provide the detailed
Attributes in API.

4-Send Clarifica- Providing FI & Receiving FI send FIPTicket


tion message for clarification
Refer to Send clarification message.for the
detailed Attributes in API.

5-Update Provide Providing FI update the Provide, FI FIPTicket


can update specific information
such as entity, transaction by Refer to Providing FI update Provide. for
providing specific elements in the detailed Attributes in API.
post-data.

6-Close Provide Receiving FI closes the provide and FIPTicket


provide feedback
Refer to Receiving FI acknowledge the
provide and send feedback. for the detailed
Attributes in API.

7- Withdraw Providing FI withdraws provide FIPTicket


Provide
Refer to Providing FI withdraw Provide. for
the detailed Attributes in API.

Interface Specification Page 26 of 76


Project COSMIC

8-Pull clarification FI pulls clarification GetRPTickets

Refer to FI to pull clarification of Request/


Provide for the detailed Attributes in API.

3.2.3[3.1.6] API Usage

3.2.3.1[3.1.6.1] Providing FI to submit Provide.

API Endpoint /FIPTicket


Post Data Sample

Response Data Sample

Post Data Schema


Field Name Field Type Mandatory Description

Parameter Element Y

Set actionType = “S” in this case,


actionType CodeSet Y for more details, please refer to Ac-
tion Type

Summary Element Y

providingFI CodeSet Y The bank that initiates the Provide

receivingFI CodeSet Y The bank that receives the Provide

description String (10,000) Y Description/summary of Provide

typesOfRisk CodeSet Y Type of Risk

Red flag defined by MAS admin,


specify red flag id with “;” as separ-
identifiedRedFlags String Y ator if there are multiple red flags
need to be tagged. Please refer to
Identified Red Flag Code

attachmentIds String (500) N Indicate attachment ids if this Re-


quest have attachments uploaded,

Interface Specification Page 27 of 76


Project COSMIC

use “;” to split if there are multiple


attachments.

Please refer to API to Upload At-


tachment to get attachment id in-
formation.

Ref No that will be used for FI


fiInternalRefNo String (500) Y
against their internal system

For FI to provide the linked ticket


linkedTticketNo String(500) N number. This field will be mandat-
ory if linked to other ticket.

The reason code is a configurable


parameter in COSMIC. This field
linkedTtick-
CodeSet N will be mandatory if linkedticketNo
etReason
contains value. Please refer to
Linked Ticket Reason

To indicate how many receiving FI


numReceivingFI Integer Y received provide information for
same entity

createdBy String Y Ticket created by.

Date Time (YYYY-MM- Date when the Red Flag for Provide
identifiedDate Y
DD'T'HH:mm:ssZ) identified

entities Element Y Entity Element

transactions Element NY Transaction Element

Response Data Schema


Field Name Field Type Link

statusCode CodeSet Response Status

String
message Response description.
(10,000)

contentTrackId String (500) To identify the latest update of current ticket.

Element-
COSMICIdticketIdentifiers Ticket Identifier Element
String(500)

Interface Specification Page 28 of 76


Project COSMIC

3.2.3.2[3.1.6.2] Providing FI to update Provide.

API Endpoint /FIPTicket


Post Data Sample

Response Data Sample

Note: the above sample json shows FI to only update Provide entity account information via /
FIPTicket.

Post Data Schema


Field Name Field Type Mandatory Description

Parameters Element Y

Set actionType = “U” in this case,


actionType CodeSet Y for more details, please refer to
Action Type

COSMICId String (500) Y

Summary Element Y

Reason for updating provide.


reasonForUpdate CodeSetString (500) Y
Please refer to Reason Code

description String (10,000) N Description/Summary of provide

For FI to provide the linked ticket


linkedTticketNo String(500) N number. This field will be man-
datory if linked to other ticket.

The reason code is a configurable


parameter in COSMIC. This field
linkedTticketReason CodeSet N will be mandatory if linkedtick-
etNo contains value. Please refer
to Linked Ticket Reason

To indicate how many receiving


numReceivingFI Integer N FI received provide information
for same entity

typesOfRisk CodeSet N Type of Risk

identifiedRedFlags String(500) N Identified Red Flag Code

Interface Specification Page 29 of 76


Project COSMIC

modifiedBy String Y Provide modified by user

Date Time (YYYY-MM- Date when the Red Flag for


identifiedDate N
DD'T'HH:mm:ssZ) Provide identified

contentTrackIdMD5 value for


ticket, this value can be found
from “GetTicket” API, you must
indicate ticket’s contentTrackId
contentTrackIdMD5 String (500) Y
MD5 so COSMIC can compare
with latest ticket contentTrackId
MD5 to do the conflict check-
handling.

Specify only if FI want to update


entities Element N this element, for more details,
please refer to Entity Element

Specify only if FI want to update


this element, for more details,
transactions Element N
please refer to Transaction Ele-
ment

Response Data Schema


Field Name Field Type Description

statusCode CodeSet Response Status

contentTrackId value for ticket, this value can be


found from “GetTicket” API, you must indicate
contentTrackId String (500) ticket’s contentTrackId so COSMIC can compare
with latest ticket contentTrackId to do the conflict
handling.

message String (10,000) Detail response message

3.2.3.3[3.1.6.3] Providing FI to withdraw Provide.

API Endpoint /FIPTicket


Post Data Sample

Response Data Sample

Interface Specification Page 30 of 76


Project COSMIC

Post Data Schema


Field Name Field Type Mandatory Description

Parameters Element Y

Set actionType = “W” in this case, for


actionType CodeSet Y more details, please refer to Action
Type

COSMICId String (500) Y COSMIC Id

String (500) Y Withdraw reason

withdrawReason CodeSet Y Withdraw reason Reason Code

Y is withdraw
withdrawReasonText- String Other inputs when withdraw reason
reason is oth-
modifiedBy (10000)String is othersWithdrawn by
ersY

modifiedBy String Y Withdraw user

Response Data Schema


Field Name Field Type Description

statusCode CodeSet Response Status

message String (10,000) Detail response message

contentTrackId String (500)

3.2.3.4[3.1.6.4] FIs to download the Provide tickets.

API Endpoint /GetRPTickets


Post Data Sample

Response Data Sample

Post Data Schema


Field Name Field Type Mandatory Description

Interface Specification Page 31 of 76


Project COSMIC

Parameters Element Y

Set ticketCategory = “2” in this


ticketCategory CodeSet Y case, for more details, please
refer to Category

fiInternalRefNo String N

receivingFI CodeSet N Bank Code

Use “;” as splitter if multiple


status needs to be filtered. For
ticketStatus CodeSet N
more details, please refer to
Provide Status

Date Time (YYYY-MM-


startDateTime Y Last update time
DD'T'HH:mm:ssZ)

Date Time (YYYY-MM-


endDateTime N Last update time
DD'T'HH:mm:ssZ)

paging element N Paging Element

Response Data Schema


Field Name Field Type Description

FIPTickets Element

COSMICId String (500)

providingFI CodeSet Bank Code

receivingFI CodeSet Bank Code

typeOfRisks CodeSet Type of Risk

ticketStatus CodeSet Provide Status

Red flag defined by MAS admin, specify red


flag id with “;” as separator if there are mul-
identifiedRedFlags String
tiple red flags need to be tagged. Please refer
to Identified Red Flag Code

Ref No that will be used for FI against their


fiInternalRefNo String (500)
internal system

description String (10,000) Description/Summary of provide

linkedTicketNo String (500) The existing ticket number. For FI to provide

Interface Specification Page 32 of 76


Project COSMIC

the linked ticket number. This field will be


mandatory if linkedticketcategory contains
value.

The reason code is a configurable parameter


linkedTticketReason CodeSet in COSMIC. This field will be mandatory if
linkedticketcategory contains value.

To indicate how many receiving FI received


numReceivingFI Integer provide information for same entityLink
Ticket Reason

createdBy String Ticket created by

modifiedBy String Ticket modified by

Date Time (YYYY-MM-


submittedDate Ticket submitted date
DD'T'HH:mm:ssZ)

Date Time (YYYY-MM-


modifiedDate Ticket modified date
DD'T'HH:mm:ssZ)

reasonForUpdate CodeSetString (500) Update reason

rejectionReason CodeSet Rejection reason Reason Code

rejectionReasonText String (10000) Other input when reject code is others

withdrawReason CodeSetString (500) Withdraw reason Reason Code

withdrawReasonText String (10000) Other input when withdraw reason is others

Date Time (YYYY-MM-


identifiedDate Date when the Red Flag for Provide identified
DD'T'HH:mm:ssZ)

entities Element Entity Element

ticketIdentifiers Element Ticket Identifier Element

3.2.3.5[3.1.6.5] FIs to send clarification message.

API Endpoint /FIPTicket


Post Data Sample

Response Data Sample

Interface Specification Page 33 of 76


Project COSMIC

Post Data Schema


Field Name Field Type Mandatory Description

Parameters Element Y

Set actionType = “C” in this case,


actionType CodeSet Y for more details, please refer to
Action Type

COSMICId String (500) Y

clarification Element Y Clarification Element

Response Data Schema


Field Name Field Type Description

statusCode CodeSet Response Status

message String (10,000) Detail response message

chatIid String (500) Chat id in system.

3.2.3.6[3.1.6.6] Receiving FI to acknowledge Provide and feedback.

API Endpoint /FIPTicket


Post Data Sample

Response Data Sample

Post Data Schema


Field Name Field Type Mandatory Description

Parameters Element Y

actionType CodeSet Y Set actionType = “Ak” in this case,


for more details, please refer to
Action Type

Interface Specification Page 34 of 76


Project COSMIC

COSMICId String (500) Y

feedback Element Y Feedback Element

Response Data Schema


Field Name Field Type Description

statusCode CodeSet Response Status

message String (10,000) Detail response message

contentTrackId String (500)

3.3 API Usage in Alert Workflow


3.3.1[3.1.7] API Usage Diagram for Alert

3.3.2[3.1.8] Description
Activity Activity Description API Message Used

1-Submit alert Alerting FI submit an Alert ticket


FIATicket
with a FIATicket message and
posts it via API to COSMIC Refer to Alerting FI submit an
alert for the detailed attributes
in API.

2-Update Alert Alerting FI update the alert


FIATicket

Interface Specification Page 35 of 76


Project COSMIC

Refer to Alerting FI update


alert. for the detailed attributes
in API.

3-Deactivate Alert Alerting FI deactivate alert


FIATicket
Refer to Alerting FI deactiv-
ate alert. for the detailed at-
tributes in API.

4.1-Download full Alert list All FIs view/download Full Alert GetAlertList
list

Refer to All FIs download alert


list. for the detailed attributes
in API.

4.2-Download incremental All FIs view/download Incre- GetAlertList


Alert list mental Alert list

Refer to All FIs download alert


list. for the detailed attributes
in API.
5-Download Alert list by All FIs view/download alert ticket GetEntAlerts
Entity list for single entity

Refer to All FIs download alert


tickets info for single entity. for
the detailed attributes in API.

3.3.3[3.1.9] API Usage

3.3.3.1[3.1.9.1] Alerting FI to submit an Alert.

API Endpoint /FIATicket


Post Data Sample

Interface Specification Page 36 of 76


Project COSMIC

Response Data Sample

Post Data Schema


Field Name Field Type Mandatory Description

Parameters Element Y

Set actionType = “S” in this case,


actionType CodeSet Y for more details, please refer to
Action Type

Summary Element Y

To indicate whether the entity is a


isProspect Boolean Y
prospect or not

For FI to provide the linked ticket


linkedTticketNo String(500) N number. This field will be mandat-
ory if linked to other ticket.

The reason code is a configurable


parameter in COSMIC. This field
linkedTticketReason CodeSet N will be mandatory if linkedtick-
etNo contains value. Please refer
to Linked Ticket Reason

typeOfRisks CodeSet Y Type of Risk

Red flag defined by MAS admin,


specify red flag id with “;” as sep-
identifiedRedFlags String(500) Y
arator if there are multiple red
flags need to be tagged.

Date Time (YYYY-MM- Date when the latest red flag iden-
identifiedDate Y
DD'T'HH:mm:ssZ) tified

STR number that caused the alert


strNo String (500) Y
to be triggered

Date Time (YYYY-MM- Date of STR filed will be auto pop-


strDate Y
DD'T'HH:mm:ssZ)) ulate from STR Number.

relationshipDate Date Time Y Date when the bank established


relationship with the customer
(YYYY-MM-DD)

Interface Specification Page 37 of 76


Project COSMIC

Date when the bank decided to


Date Time (YYYY-MM- exit relationship with the cus-
decisionDate Y
DD) tomer / the date when the bank
decided to reject a customer

Describe the reason for alerting


description String (10,000) Y
other banks.

Actual date when the bank de-


Date Time (YYYY-MM- cided to exit relationship with the
exitDate NY
DD) customer / the date when the
bank decided to reject a customer

Ticket created by. An identification


number is required here. COSMIC
will use the identification number
createdBy String Y (e.g., NRIC/FIN) to identify the
user as stored in COSMIC to dis-
play the Created By/Modified
user.

Beneficiaries Element NY Beneficiary Element

Entities Element Y Entity Element

Response Data Schema


Field Name Field Type Description

statusCode CodeSet Response Status

message String (10,000) Detail response message

contentTrackId String (500) To identify the latest update of current ticket.

COSMICIdticketIden- String (500)Ele-


Ticket Identifier Element
tifiers ment

3.3.3.2[3.1.9.2] Alerting FI to deactivate Alert.

API Endpoint /FIATicket


Post Data Sample

Response Data Sample

Interface Specification Page 38 of 76


Project COSMIC

Post Data Schema


Field Name Field Type Mandatory Description

Parameters Element Y

COSMICId String (500) Y Ticket COSMIC Id

Set actionType = “D” in this case, for


actionType CodeSet Y more details, please refer to Action
Type

deactivateReason String (500) Y Reason for deactivation

modifiedBy String Y Alert deactivated by

Response Data Schema


Field Name Field Type Description

statusCode CodeSet Response Status

message String (10,000) Detail response message

contentTrackId String (500)

3.3.3.3[3.1.9.3] Alerting FI to update Alert.

API Endpoint /FIATicket


Post Data Sample

Response Data
Sample

Post Data Schema


Field Name Field Type Mandatory Description

Parameters Element Y

Interface Specification Page 39 of 76


Project COSMIC

Set actionType = “U” in this case,


actionType CodeSet Y for more details, please refer to
Action Type

System generated unique ID to


COSMICId String (500) Y track each Request, Provide and
Alert

FIATicket Element Y

Reason for updating Alert, please


reasonForUpdate CodeSet Y
refer to Reason Code

To indicate whether the entity is a


isProspect Boolean N
prospect or not

For FI to provide the linked ticket


linkedTticketNo String(500) N number. This field will be mandat-
ory if linked to other ticket.

The reason code is a configurable


parameter in COSMIC. This field
linkedTtick-
CodeSet N will be mandatory if linkedtick-
etReason
etNo contains value. Please refer
to Linked Ticket Reason

typeOfRisks CodeSet N Type of Risk

Red flag defined by MAS admin,


specify red flag id with “;” as sep-
identifiedRedFlags String(500) N
arator if there are multiple red
flags need to be tagged.

Date Time (YYYY-MM- Date when the latest red flag


identifiedDate N
DD'T'HH:mm:ssZ) identified

STR number that caused the alert


strNo String (500) N
to be triggered

Date Time (YYYY-MM- Date of STR filed will be auto pop-


strDate N
DD'T'HH:mm:ssZ) ulate from STR Number.

Date Time (YYYY-MM- Date when the bank established


relationshipDate N
DD'T'HH:mm:ssZ) relationship with the customer

Date when the bank decided to


Date Time (YYYY-MM- exit relationship with the cus-
decisionDate N
DD'T'HH:mm:ssZ) tomer / the date when the bank
decided to reject a customer

description String(10,000) N Describe the reason for alerting

Interface Specification Page 40 of 76


Project COSMIC

other banks.

Date Time (YYYY-MM-


exitDate N Date of Actual Exit Relationship
DD'T'HH:mm:ssZ)

createdBy String N Ticket created by

contentTrackIdMD5 value for


ticket, this value can be found
from “GetTicket” API, you must
contentTrack-
String(500) Y indicate ticket’s contentTrack-
IdMD5
IdMD5 so COSMIC can compare
with latest ticket MD5 to do the
conflict check.

Beneficiaries Element N Beneficiary Element

Entities Element N Entity Element

Response Data Schema


Field Name Field Type Description

statusCode CodeSet Response Status

contentTrackId String(500) return the new content track id in COSMIC after update.

message String (10,000) Detail response message

messageIdentifiers Element Message Identifier Element

3.3.3.4[3.1.9.4] All FIs to download the Alert list.


API Endpoint /GetAlertList

Post Data Sample

Response Data Sample


(full alert list)

Interface Specification Page 41 of 76


Project COSMIC

Response Data Sample


(incremental alert list)

Note: The “startDateTime” is not mandatory in “post-date”. If caller doesn’t specify startDate-
Time, COSMIC will return the full alert list with pagination. An Entity will be included in the Full
List unless all the records under it were expired. If specified, only entities associated with
changed alert from “startDateTime” to “Current Date” will be reported, and the calculation of
number of Active/Inactive/Expired is based on associated alert’s current status.

Post Data Schema


Field Name Field Type Mandatory Description

paging element N Paging Element

Date Time (YYYY-MM-


startDateTime N Last update time of alert
DD'T'HH:mm:ssZ)

Response Data Schema


Field Name Field Type Description

statusCode CodeSet

message String

paging element Paging Element

FIATickets Element

Entity Name that will be reported in the ticket


entityName String (500)
for suspicious actions

typeOfProfile-
countryOfIncor- CodeSetCodeSet Entity type, please refer to Type of Profile Code
poration

To indicate whether the entity is a prospect or


isProspectentityId BooleanString (500) notIndividual IC/passport number or Bbusiness
registration number

isProspect- Identification Type, please refer to idType.To


BooleanCodeSet
typeOfId indicate whether the entity is a prospect or not

entityId- String (500)CodeSet Business registration numberType of Profile


typeOfProfile Code

Interface Specification Page 42 of 76


Project COSMIC

Date Time (YYYY-MM- Date of birth / Year the business was incorpor-
dateOfBirth
DD'T'HH:mm:ssZ) ated

For individual entity, please refer to


nationnalitiesy ElementString (500) Nationality / Country of IncorporationNational-
ity Element

countryOfIncor-
CodeSet For business entity.
poration

Date Time (YYYY-MM-


lastModifiedTime Last modified time of entity
DD'T'HH:mm:ssZ)

activeCount Integer The count of active alert

exitedCount Integer The count of exited relationship count

notExitedCount Integer The count of not exited relationship count

inactiveCount Integer The count of inactive alert

The count of expired alert. Only available in


expiredCount Integer
download incremental alert list.

3.3.3.5[3.1.9.5] All FIs to download Alert tickets info for a single entity.
API Endpoint /GetENTAlerts

Post Data Sample

Response Data Sample

Post Data Schema


Field Name Field Type Mandatory Description

paging Element N Paging Element

Parameters Element Yes

entityId String (500) Yes Individual IC/passport number or

Interface Specification Page 43 of 76


Project COSMIC

business registration number

Nationality / Country of Incorpor-


nationality String (500)
Yes, one of ation
them is
Date Time (YYYY-MM- mandatory Date of birth / Year the business
dateOfBirth
DD'T'HH:mm:ssZ) was incorporated

Response Data Schema


Field Name Field Type Description

statusCode CodeSet Response Status

message String (10,000)

paging Element Paging Element

FIATickets Element Array list of alert ticket.

Summary Element

COSMICID String (500) COSMIC Id

To indicate whether the entity is a prospect or


IsProspect Boolean
not

For FI to provide the linked ticket number. This


linkedTticketNo String(500)
field will be mandatory if linked to other ticket.

The reason code is a configurable parameter in


COSMIC. This field will be mandatory if
linkedTticketReason CodeSet
linkedticketNo contains value. Please refer to
Linked Ticket Reason

typeofRisks Codeset Type of Risk

Red flag defined by MAS admin, specify red


identifiedRedFlags String(500) flag id with “;” as separator if there are mul-
tiple red flags need to be tagged.

Date Time (YYYY-


identifiedDate MM- Date when the latest red flag identified
DD'T'HH:mm:ssZ)

STR number that caused the alert to be


strNo String (500)
triggered

strDate Date Time (YYYY- Date of STR filed will be auto populate from
MM-

Interface Specification Page 44 of 76


Project COSMIC

DD'T'HH:mm:ssZ) STR Number.

Date Time (YYYY- Date when the bank established relationship


relationshipDate
MM-DD) with the customer

Date when the bank decided to exit relation-


Date Time (YYYY-
decisionDate ship with the customer / the date when the
MM-DD)
bank decided to reject a customer

description String (10,000) Describe the reason for alerting other banks.

Date when the bank exit relationship with the


Date Time (YYYY-
exitDate customer / the date when the bank decided to
MM-DD)
reject a customer

reasonforDeactivate String (10,000) Describe the reason for deactivating the alert

reasonforUpdate String (10,000) Describe the reason for updating the alert

Date Time (YYYY-


submittedDate MM- Submitted date
DD'T'HH:mm:ssZ)

Date Time (YYYY-


deactivateDate MM- Deactivate e date
DD'T'HH:mm:ssZ)

status CodeSet Alert Status

createdBy String Created by

modifiedBy String Modified by

alertingFI CodeSet Bank Code

Entity Element Entity Element

beneficiariesalertingFfIi ElementCodeSet Beneficiary ElementBank Code

Entity Element Entity Element

beneficiaries Element Beneficiary Element

Interface Specification Page 45 of 76


Project COSMIC

3.4[3.2] Common APIs


3.4.1[3.2.1] API to Upload Attachment
This API allows FI to upload attachment(s) to COSMIC system. COSMIC will return the Attach-
ment ID in response, which will be used by FIs in below three scenarios if there is a need for FI to
upload attachment(s).
1. Requesting FI to submit Request
2. Responding FI respond with requested information
3. Providing FI submit Provide

API Endpoint
/FITicketAtt

Post data sample

Response data
sample

Post Data Schema


Field Name Field Type Mandatory Description

attachmentInfo Element Y Attachment Element

Response Data Schema


Field Name Field Type Description

statusCode CodeSet Response Status

message String (10,000) Detail response message

attachmentId String (500) The id of uploaded attachment in COSMIC

3.4.2[3.2.2] API to Download Attachment


This API allows FI to download attachment(s) from Request, Request RFI and Provide. Caller
must specify the COSMICID and Filename in “post-data”.
API Endpoint /GetTicketAtt

Interface Specification Page 46 of 76


Project COSMIC

Post data sample

Response data
sample

Post Data Schema


Field Name Field Type Mandatory Description

Parameters Element Y

fileName String Y Attribute in Parameters.

rfiAttachment Boolean N Whether is attachment for RFI

COSMICID String (500) Y Same as above.

Response Data Schema


Field Name Field Type Description

statusCode CodeSet Response Status

message String (10,000)

attachmentInfo Element Attachment Element

3.4.3[3.2.3] API to Get Single Request/Provide/Alert Ticket


This API allows FI to download single Request, Provide or Alert ticket. Caller must specify the
COSMICID of the ticket in “post-data”.

API Endpoint /GetTicket

Post data sample

(Get Single RequestTicket)

Response data sample

(Get Single Request)

Interface Specification Page 47 of 76


Project COSMIC

Post data sample

(Get Single Provide)

Response data sample

(Get Single Provide)

Post data sample

(Get Single Request)

Response data sample

(Get Single AlertProvide)

Post Data Schema


Field Name Field Type Mandatory Description

Parameters Element Yes

System generated unique ID to track


COSMICId String (500) Yes
each Request, Provide and Alert

Response Data Schema of Get single Request:


Field Name Field Type Description

FIRTicket Element

System generated unique ID to track


COSMICId String (500)
each Request, Provide and Alert

requestingFI CodeSet Bank Code

respondingFI CodeSet Bank Code

typeOfRisks String (500) Type of Risk

Red flag defined by MAS admin, specify


red flag id with “;” as separator if there
identifiedRedFlags String
are multiple red flags need to be
tagged. Identified Red Flag Code

Interface Specification Page 48 of 76


Project COSMIC

ticketStatus CodeSet Request Status

Ref No that will be used for FI against


fiInternalRefNo String (500)
their internal system

For FI to provide the linked ticket num-


linkedTticketNo String(500) ber. This field will be mandatory if
linked to other ticket.

The reason code is a configurable para-


meter in COSMIC. This field will be
linkedTticketReason CodeSet mandatory if linkedticketNo contains
value. Please refer to Linked Ticket
Reason

requestDescription String (10,000) Description/Summary of request

responseSummary String (10,000) Summary of response

sla Integer SLA

Date Time (YYYY-MM-


respondingStartTime Start time for Responding
DD'T'HH:mm:ssZ)

Date Time (YYYY-MM-


respondingEndTime End time for Responding
DD'T'HH:mm:ssZ)

createdBy String Ticket created by user

modifiedBy String Ticket modified by user

Date Time (YYYY-MM-


submittedDate Submit date
DD'T'HH:mm:ssZ)

Request last changed date, status


Date Time (YYYY-MM-
modifiedDate change and new chat message sent will
DD'T'HH:mm:ssZ)
reflect Request modifiedDate.

To identify the latest update of current


contentTrackId String (500)
ticket.

rejectionReason String (500) rejection code description

withdrawReason String (500) Withdraw reason

entities Element Entity Element

transactions Element Transaction Element

postFeedback Element Feedback Element

Interface Specification Page 49 of 76


Project COSMIC

attachments Element Attachment Element

chats Element Clarification Element

ticketIdentifiers Element Ticket Identifier Element

rfis Element Rfi Element

Response Data Schema of Get Single Provide


Field Name Field Type Description

FIPTicket Element

COSMICId String (500)

providingFI CodeSet Bank Code

receivingFI CodeSet Bank Code

typeOfRisks CodeSet Type of Risk

ticketStatus CodeSet Provide Status

Red flag defined by MAS admin, specify red


flag id with “;” as separator if there are mul-
identifiedRedFlags String
tiple red flags need to be tagged.Identified
Red Flag Code

Ref No that will be used fo FI against their


fiInternalRefNo String (500)
internal system

description String (10,000) Description/Summary of provide

The existing ticket number. For FI to provide


the linked ticket number. This field will be
linkedTicketNo String (500)
mandatory if linkedticketcategory contains
value.

The reason code is a configurable parameter


linkedticketReason CodeSet in COSMIC. This field will be mandatory if
linkedticketcategory contains value.

To indicate how many receiving FI received


numReceivingFI Integer
provide information for same entity

createdBy String Ticket created by

modifiedBy String Ticket modified by

Interface Specification Page 50 of 76


Project COSMIC

Date Time (YYYY-MM-


submittedDate Ticket submitted date
DD'T'HH:mm:ssZ)

Date Time (YYYY-MM-


modifiedDate Ticket modified date
DD'T'HH:mm:ssZ)

To identify the latest update of current ticket.-


contentTrackId MD5 value for ticket, this
contentTrackIdMD5- String (500)String
value can be used in Update Provide function,
contentTrackId (500)
so COSMIC can do the version conflict hand-
ling.

reasonForUpdate String (500) Update reason

withdrawReason String (500) Withdraw reason

Date Time (YYYY-MM-


identifiedDate Date when the Red Flag for Provide identified
DD'T'HH:mm:ssZ)

entities Element Entity Element

transactions Element Transaction Element

feedback Element Feedback Element

chats Element Clarification Element

ticketIdentifiers Element Ticket Identifier Element

Response Data Schema of Get Single Alert


Field Name Field Type Description

statusCode CodeSet Response Status

message String (10,000)

FIATicket Element

COSMICID String (500) COSMIC Id

To indicate whether the entity is a prospect or


IsProspect Boolean
not

For FI to provide the linked ticket number. This


linkedticketNo String(500)
field will be mandatory if linked to other ticket.

linkedticketReason CodeSet The reason code is a configurable parameter in


COSMIC. This field will be mandatory if
linkedticketNo contains value. Please refer to

Interface Specification Page 51 of 76


Project COSMIC

Linked Ticket Reason

typeOfRiskss Codeset Type of Risk

Red flag defined by MAS admin, specify red


flag id with “;” as separator if there are mul-
identifiedRedFlags String(500)
tiple red flags need to be tagged. Please refer
toIdentified Red Flag Code

Date Time (YYYY-


identifiedDate MM- Date when the latest red flag identified
DD'T'HH:mm:ssZ)

STR number that caused the alert to be


strNo String (500)
triggered

Date Time (YYYY-


Date of STR filed will be auto populate from
strDate MM-
STR Number.
DD'T'HH:mm:ssZ)

Date Time (YYYY- Date when the bank established relationship


relationshipDate
MM-DD) with the customer

Date when the bank decided to exit relation-


Date Time (YYYY-
decisionDate ship with the customer / the date when the
MM-DD)
bank decided to reject a customer

description String (10,000) Describe the reason for alerting other banks.

Date when the bank exit relationship with the


Date Time (YYYY-
exitDate customer / the date when the bank decided to
MM-DD)
reject a customer

reasonforDeactivate String (10,000) Describe the reason for deactivating the alert

reasonforUpdate String (10,000) Describe the reason for updating the alert

Date Time (YYYY-


submittedDate MM- Submitted date
DD'T'HH:mm:ssZ)

Date Time (YYYY-


deactivateDate MM- Deactive date
DD'T'HH:mm:ssZ)

Date Time (YYYY-


modifiedDate MM- Ticket modified date
DD'T'HH:mm:ssZ)

contentTrackIdcontent- String (500)String To identify the latest update of current ticket.-


TrackIdMD5 (500) contentTrackIdMD5 value for ticket, this value

Interface Specification Page 52 of 76


Project COSMIC

can be used in Update Alert function, so COS-


MIC can do the version conflict handling.

status CodeSet Alert Status

creationMethod CodeSet Creation Method Code

createdBy String Created by

modifiedBy String Modified by

alertingFIfi CodeSet Bank Code

Entity Element Entity Element

beneficiaries Element Beneficiary Element

ticketIdentifiers Element Ticket Identifier Element

Common Response Data Schema


Field Name Field Type Description

statusCode CodeSet Response Status

message String

3.4.4[3.2.4] FI to pull clarification of Request/Provide


API Endpoint /GetRPTickets
Post Data Sample

Response Data Sample

Post Data Schema


Field Name Field Type Mandatory Description

Interface Specification Page 53 of 76


Project COSMIC

Parameters Element Y

Set actionType = “Pc” in this case,


actionType CodeSet Y for more details, please refer to
Action Type

Set ticketCategory = R or ticket-


ticketCategory CodeSet NY Category = P in this case, for more
details, please refer to Category

Date Time (YYYY-


Chat created on timelast modified
startTime MM- N
time of provide
DD'T'HH:mm:ssZ)

Date Time (YYYY-


last modified time of provideChat
endTime MM- N
created on time
DD'T'HH:mm:ssZ)

paging element N Paging Element

Response Data Schema


Field Name Field Type Description

statusCode CodeSet Response Status

message String Detail response message

paging element Paging Element

Clarifications Element Clarification Element

3.4.5[3.2.5] API to Get Audit of Request, Provide and Alert


This API allows FI to download audit history for Request, Provide and Alert. Caller must specify
the COSMICID and Filename in “post-data”.
API Endpoint /GetAudit

Post data sample

Response data sample

Interface Specification Page 54 of 76


Project COSMIC

Post Data Schema


Field Name Field Type Mandatory Description

paging element N Paging Element

ticketCategory CodeSet Y Category

Specify this value to retrieve


COSMICId String (500) N single ticket activities with a
given time range.

eventType CodeSet N Audit Event Type

Date Time (YYYY-MM- Use this field to restrict activ-


startTime Y
DD'T'HH:mm:ssZ) ities’ action time from.

Date Time (YYYY-MM- Use this field to restrict activ-


endTime Y
DD'T'HH:mm:ssZ) ities’ action time to.

Response Data Schema


Field Name Field Type Description

statusCode CodeSet Response Status

message String

paging element Paging Element

TicketAudit Element

COSMICId String (500)

actionType String

Date Time (YYYY-MM-


actionTime Action occurred time.
DD'T'HH:mm:ssZ)

actionBy String Action who performed.

actionFI CodeSet FI the actor belongs to.

Detailed change log informationin JSON


auditchangeContents StringElement
format

Interface Specification Page 55 of 76


Project COSMIC

4 Common Elements Used in APIs

4.1 Entity Element


Definition: Entity information stored and used in Request, Provide and Alert.
Structure
Field Name Field Type Mandatory Description

Entity Name that will be reported in


entityName String (500) Y
the ticket for suspicious actions

entityId String (500) Y for business Corporate registry number

typeOfProfile CodeSet Y Please refer to Type of Profile Code

typeOfProfile CodeSet Y Type of Profile Code

relationship- Y if is a related
CodeSetString (500) Relationship name
Name entity

Y if relation-
relationship- shipName
String (500) Relationship name text
NameText CodeSet is oth-
ers

relationEffect- Date Time (YYYY-MM- Y if is a related


Relationship effective date
ivedate DD) entity

relationExpired- Date Time (YYYY-MM-


N
date DD)

relationEffect- Date Time (YYYY-MM- Y if is a related


Relationship effective date
ivedate DD) entity

relationExpired- Date Time (YYYY-MM- Y if is a related


Relationship expired date
date DD) entity

Alias, trading name, previous name


otherName String (500) N
etc.

Whether the individual is a Singapore


IsSGCitizen Boolean N Citizen. This field will be mandatory
when it is an individual entity.

Whether the individual is a Singapore


IsSGPR Boolean N PR. This field will be mandatory when
it is an individual entity.

Interface Specification Page 56 of 76


Project COSMIC

idType CodeSet Y idType

Individual IC/passport number or


idNumber String (500) Y
business registration number

Date Time (YYYY-MM- Date of birth / Year the business was


dateOfBirth Y
DD'T'HH:mm:ssZ) incorporated

countryOfIincor-
String (5)String (5) Y for businessN Country of incorporation
poration

cor-
porateRegistryN String (500) Y for businessN Corporate registry number
umberentityId

lastModified- Date Time (YYYY-MM-


N Last Modified Time
Time DD'T'HH:mm:ssZ)

Nationality / Country of Incorpora-


nationalities Element Y for individual tion, please refer to Nationality Ele-
ment,please

contactInfos Element YY Contact Element

addresses Element NY Address Element

Y in main en-
accounts Element Account Element
tityN

Please note below fields can’t be updated via API after Entity was created in COSMIC:
 typeOfProfile
 entityID
 dateOfBirth
 nationality

4.2 Nationality Element


Field Name Field Type Mandatory Description

Short form of the countries, ISO coun-


countryCode String (5) Y
try code using the 2 chars

Whether the individual is a Singapore


isSGCitiyzen Boolean N Citizen. This field will be mandatory
when it is an individual entity.

isSGPR Boolean N Whether the individual is a Singapore


PR. This field will be mandatory when

Interface Specification Page 57 of 76


Project COSMIC

it is an individual entity.

idType CodeSet Y idType

Individual IC/passport number or


idNumber String(500) Y
business registration number

4.3 Contactinfo Element


Definition: Entity contacts information.
Structure
Field Name Field Type Mandatory Description

phoneType CodeSet Y Phonetype Code

Digit for country code to use in con-


countryCode String (5) Y
tact (phone number)

areaCode String (500) Y areaCode

telephoneNo String (500) Y Telephone Number

4.4 Address Element


Definition: Residential address/ Registered or business address
Structure

Field Name Field Type Mandatory Description

countryCode String (5) Y Short form of the countries

addresstype CodeSet Y Addresstype Code

Whether the address is in struc-


isStructuredAdd Boolean Y
tured format

postalCode String (500) Y Address Info: Postal Code

city String N Address Info: City

streetName String N Address Info: Street

unitNo String N Address Info: Unit Number

floor String N Address Info: Floor

Interface Specification Page 58 of 76


Project COSMIC

houseNo String N Address Info: House Number

Address Info: Used for unstruc-


addressline1 String N
tured address

Address Info: Used for unstruc-


addressline2 String N
tured address

Address Info: Used for unstruc-


addressline3 String N
tured address

Address Info: Used for unstruc-


addressline4 String N
tured address

Address Info: Used for unstruc-


addressline5 String N
tured address

4.5 Account Element


Definition: Account information for entity.
Structure
Field Name Field Type Mandatory Description

accountNo. String (20) Y Account Number

accountType CodeSet Y Account Type

Date Time (YYYY-MM-


accountOpenDate Y Date the account was opened
DD)

accountStatus CodeSet Y Account Status

Date Time (YYYY-MM-


accountClosureDate N Date of account closure
DD)

Bank Code
bankCode CodeSet Y
4 digits bank code of CITIBANK,
DBS, HSBC, OCBC, SCB, UOB

4.6 Transaction Element


Definition: The transactions information stored and used in Request, Provide and Alert.

Interface Specification Page 59 of 76


Project COSMIC

Structure
Field Name Field Type Mandatory Description

Date Time (YYYY-MM-


transactionDate Y Transaction Date
DD'T'HH:mm:ssZ)

originatorAccountNo String (20) Y Account number

beneficiaryAc-
String (20) Y Account number
countNo

Transaction amount in ori-


amount Float Y
ginal currency

Currency Code. Please refer


currencyCode String (3) Y
to Currency Code

originatorName String (500) Y Entity name of originator

beneficiaryName String (500) Y Entity name of beneficiary

originatorFI CodeSet Y Bank Code

beneficiaryFI CodeSet Y Bank Code

Describe the observation


noted at transaction level,
summaryOfObserva- eg. unknown counterparty,
String N
tion passthrough transaction
with no apparent economic
purpose

4.7 Rfi Element


Definition: The Request for Info related information in Request workflow
Structure
Field Name Field Type Mandatory Description

questionId String (500) Y in download request question unique id

questionCode CodeSetString Y in submit request Specify the code if FI use the


(500) pre-defined question list.The
Y (either)in submit re- rfi question code
questY

Interface Specification Page 60 of 76


Project COSMIC

Specific questions from send-


questionText String (10,000) ing bank to responding bank
within the request ticket

responseBy String (500) Y in respond API Response by user

responseText String (10,000) Y in respond API Question reply

order int Y in download request

4.8 Feedback Element


Definition: The feedback information for Request and Provide workflows.
Structure
Field Name Field Type Mandatory Description

To provide feedback whether


the response from responding
postCaseFeedback Boolean Code NY
FI is satisfactory not. Please
refer to Boolean Code

CodeSetString Y if postCaseFeedback = not To provide feedback reason if it


feedbackReason
(10,000) truefalse is not satisfied. Reason Code

feedbackReason- Y if feedbackReason is oth-


String(10000) Feedback reason text
Text ers

Bank Code
sendingFI CodeSet Y
4 digits bank code of CITIBANK,
DBS, HSBC, OCBC, SCB, UOB

[4.9] Ticket Identifier Element


Definition: Identifier returned upon a Request/Provide/Alert ticket created.
Structure
Field Name Filed Type Mandatory Description

id String (500) Y ID Value

idType CodeSet Y System idType

idOwner String Y 4 digits bank code of CITIBANK, DBS,

Interface Specification Page 61 of 76


Project COSMIC

HSBC, OCBC, SCB, UOB

4.9[4.10] Clarification Element


Definition: Chat message for Request and Provide workflows.
Structure
Field Name Field Type Mandatory Description

Id of chat message, auto


chatIid String (500) Y in Response
generated by system.

Y in Responsein COSMIC ID of chat mes-


COSMICId String(500)
Response sage.

chatMessage String (10,000) Y Conversation Text

createdBy String Y Chat posted by

The clarification send time,


Date Time (YYYY-MM-
createdTime Y in Response auto generated by system if
DD'T'HH:mm:ssZ)
not specify.

Y in download
sendingFI CodeSet
request

4.10[4.11] Attachment Element


Definition: Information for uploaded attachments in Request and Provide workflows.
Structure
Field Name Field Type Mandatory Description

attachmentId String (500) Y Attachment Id

Y in upload or download Whether is attachment


rfiAttachment Boolean
attachments for RFI for RFI question

fileName String (500) Y Attachment file name

File size length of attach-


fileSize Integer Y
ment, the unit is byte.

fileType String (500) Y File type of attachment

Interface Specification Page 62 of 76


Project COSMIC

Y In upload or download
fileContent String Attachment file content
process

4.11[4.12] Beneficiary Element


Definition: Beneficiary information stored for Alert ticket.
Structure
Field Name Field Type Mandatory Description

beneficiaryaccount String (20) Y Account Number

beneficiaryName String (500) Y Name of Beneficiary

4.12[4.13] Audit change content


Structure
Field Name Field Type Mandatory Description

attributeName String (500) Y Attribute name which value changed

originalValue String (10000) Y The original attribute field value

newValue String (10000) Y The new value

4.13Paging Element
Definition: Pagination information, used for FI to download the tickets by specifying page size
and page number, the maximum page size can’t exceed 100 based on API payload constraint.
COSMIC will return top 10 results if FI didn’t specify pageSize.
Structure
Field Name Field Type Mandatory Description

The number of items returned in one


pageSize integer Y
page.

The current page number of return


pageNumber integer Y
items.

executionTime Date Time (YYYY- Y in response The execution time of query

Interface Specification Page 63 of 76


Project COSMIC

MM-
DD'T'HH:mm:ssZ)

Indicate if this is last page of all re-


havingNextPage Boolean Y if in Response
turned items.

Interface Specification Page 64 of 76


Project COSMIC

5 API Message CodeSet

5.1 Action Type


Code Description

S Create tickets

U Update tickets base information

Pd Pull tickets details

Rj Reject

W Withdraw

D Deactivate

C Send chat message

Pc Pull chat message

Ak Acknowledge

Rp Respond

5.2 Account Type


Code Description

0 Saving Account

1 Current Account

2 Credit Card

5.3 Account Status


Code Description

0 Active

1 Dormant

Interface Specification Page 65 of 76


Project COSMIC

2 Closed

3 Blocked

4 Seized

5.4 Bank Code


Code Description

1001 CITI Bank Code

1002 DBS Bank Code

1003 HSBC Bank Code

1004 OCBC Bank Code

1005 SCB Bank Code

1006 UOB Bank Code

5.5 Type of Risk


Code Description

0 Generic

1 Misuse of legal persons (MLP)

2 Trade Fraud

3 Sanctions Evasion

4 Others

5.6 Request Status


Code Description

Interface Specification Page 66 of 76


Project COSMIC

01 New (State: Active)

12 Pending Response (State: Active)

23 Pending Review (State: Active)

34 Close Responded (State: Inactive)

45 Rejected (State: Inactive)

56 Close Rejected (State: Inactive)

67 Cancelled (State: Inactive)

5.7 Provide Status


Code Description

01 New

12 Provide Completed – Pending Review

23 Provide Completed-Closed

34 Cancelled – Closed

5.8 Alert Status


Code Description

0 Active

1 Inactive

2 Expired

5.9 Category
Code Description

R1 Request

Interface Specification Page 67 of 76


Project COSMIC

P2 Provide

A3 Alert

[5.10] Creation Method Code


Code Description
0 Newly Created
1 Copy
2 Convert

Interface Specification Page 68 of 76


Project COSMIC

5.10[5.11] Response Status


Code Description

OK Response.
200

Bad Request

The request is not valid, this code is returned when


the server has attempted to process the request, but
400 some aspect of the request is not valid. Information
about the request is provided in the response body
and includes an error code and error message. Please
refer to Error Code and Exception Handling for cus-
tom error code details

Unauthorised request.

Possible value of <Error Message>

• Invalid account
401
• Invalid authorisation header

• Invalid time stamp

• Invalid nonce

404 Resource could not be found.

Indicates that a conflicting change has been detected


during an attempt to modify a resource. The re-
409 sponse body provides further information. Please
refer to Error Code and Exception Handling for more
details.

Content too large, the request entity is larger than


413
limits defined by server.

The request was well-formed but was unable to be


422 followed due to semantic errors. Please refer to Error
Code and Exception Handling for more details.

500 Internal Server Error

API Gateway Timeout.


504
Resolution: FI to resend the API call three times with
each interval as 10 seconds.
Interface Specification Page 69 of 76
Project COSMIC

5.11[5.12] System idType


Code Description

0 COSMIC

1 ID from FI System

5.12[5.13] idType
Code Description

0 NRIC/FIN

1 Passport

2 Others

3 Corporate registry

5.13[5.14] Phone type


Code Description

0 Home

1 Office

2 Mobile

5.14[5.15] Address Type


Code Description

0 Mailing

1 Residential

Interface Specification Page 70 of 76


Project COSMIC

[5.16] Boolean Code

[5.17]

[5.18] Code [5.19] Description

[5.20] 0 [5.21] None

[5.22] 1 [5.23] Yes

[5.24] 2 [5.25] No

[5.26]

[5.27] Entity Relationship Name Code


The entity relationship name code is a dynamic set that can be configured by MAS Admin, this
list can be retrieved by calling /GetConfig API which will be implemented at phase 2. TBD, the
value is not finalized.
Code Description

IF Immediate Family/Guardian

AS Authorised Signatory

IP Immediate Parent

.. …

5.15[5.28] Type of Profile Code


Code Description

100000000 Business

100000001 Individual

5.16[5.29] Audit Event Type


Code Description

Interface Specification Page 71 of 76


Project COSMIC

0 Create

1 Update
2 Delete

3 Access

5.17[5.30] Identified Red Flag Code


The identified red flag code is a dynamic set that can be configured by MAS Admin, this list can
be retrieved by calling /GetConfig API which will be implemented at phase 2. TBD, the value is
not finalized.
Code Description

C1 …

T1 …

… …

5.18[5.31] Currency Code


The currency code is a dynamic set that can be configured by MAS Admin, this list can be re -
trieved by calling /GetConfig API which will be implemented at phase 2. TBD, the value is not
finalized.
Code Description

SGD …

… …

[5.32] Linked Ticket Reason Code


The reason code is a dynamic set that can be configured by MAS Admin, this list can be retrieved
by calling /GetConfig API which will be implemented at phase 2. TBD, the value is not finalized.
Update – U, Withdraw – W, Link – L, Reject – R.
Code Description

U0R1 Data entry errorWithdraw and Re-issue

U02 Change in information

Interface Specification Page 72 of 76


Project COSMIC

C01 Different Responding FI

W01 This ticket is no longer relevant

L01 Follow up from previous ticket

R01 Incomplete information

Oothers

… …

Interface Specification Page 73 of 76


Project COSMIC

6 Error Code and Exception Handling


COSMIC API provides standard error codes in http response body with detailed error message to
illustrate the reason when error encountered to facilitate caller to troubleshoot and target on
problematic post data in http request.
Error code can be categorized into six types as listed below. Codes with same prefix represent
the same type of reason with different details.
Http Status Error Code Category Description
Code

400 IRxx Invalid Re- Structure for the JSON Request Body sub-
quest mitted to COSMIC is invalid, for example,
there is a brace missing in the JSON body.

Possible value of Code:

 IR001: Request body is invalid.

Resolution: Amend the JSON Request Body


and re-send the API call.

400 BRxx Business Er- Missing required attribute or element.


ror
Possible value of Code:

 BR001: Does not match threshold.

 BR002: At least one RFI.

 BR003: At least one entity in ticket.

 BR004: Main entity cannot be more


than one.

 BR005: At least one account in En-


tity.

 BR006: At least one transaction in


ticket.

 BR007: Record COSMIC ID is re-


quired.

 BR008: Invalid COSMIC ID.

Interface Specification Page 74 of 76


Project COSMIC

Resolution: FI to fill the entity info and re-


send the API call.

409 DCxx Data Conflict Updates submitted via API call is already for
an earlier version of a record, for example,
before API call for updating a Provide re-
ceived by COSMIC, the Provide is withdrawn.

Possible value of Code:

 DC001: Failed due to the data con-


flict.

Resolution: FI to pull the latest data from


COSMIC and continue with subsequent ac-
tions.

422 VFxx Data Valida- Attribute value for the JSON Request Body
tion Failed submitted to COSMIC is valid. However, cer-
tain attributes within it fail to meet its data
type validation logic.

Example: The datetime format is invalid or


exceed the maximum length of attribute.

Possible value of Code:

 VF001: The attribute {attribute


name} value exceeds the max length
{length}.

 VF002: Invalid value for attribute


{attribute name}

 VF003: Invalid File Type.

Resolution: FI to amend the attributes and


re-send the API call.

500 SExx System Ex- COSMIC API unexpected error.


ception
Example: SQL database exception

Interface Specification Page 75 of 76


Project COSMIC

Resolution: FI to resend the API call three


times with each interval as 10 seconds. If the
API call succeeds within the three times,
then COSMIC will return a success message.

If error occurs (not system exception) in API request, the http status code will be 200 status and
in the HTTP response body return a JSON containing detail status code and message, please re-
fer to the example of response.

Response Data Sample

Interface Specification Page 76 of 76

You might also like