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