createNewCustomer
curl --request POST \
--url https://api.artemis.cynopsis.co/api/customer \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--header 'X-Domain-ID: <x-domain-id>' \
--data '
{
"profileReferenceId": "<string>",
"active": true,
"assigneeId": 123,
"batchUploadId": 123,
"forms": {},
"id": 123,
"profileId": 123,
"referenceId": "<string>",
"vendorEntityGuid": "<string>",
"vendorName": "<string>"
}
'import requests
url = "https://api.artemis.cynopsis.co/api/customer"
payload = {
"profileReferenceId": "<string>",
"active": True,
"assigneeId": 123,
"batchUploadId": 123,
"forms": {},
"id": 123,
"profileId": 123,
"referenceId": "<string>",
"vendorEntityGuid": "<string>",
"vendorName": "<string>"
}
headers = {
"X-Domain-ID": "<x-domain-id>",
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {
'X-Domain-ID': '<x-domain-id>',
Authorization: 'Bearer <token>',
'Content-Type': 'application/json'
},
body: JSON.stringify({
profileReferenceId: '<string>',
active: true,
assigneeId: 123,
batchUploadId: 123,
forms: {},
id: 123,
profileId: 123,
referenceId: '<string>',
vendorEntityGuid: '<string>',
vendorName: '<string>'
})
};
fetch('https://api.artemis.cynopsis.co/api/customer', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.artemis.cynopsis.co/api/customer",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'profileReferenceId' => '<string>',
'active' => true,
'assigneeId' => 123,
'batchUploadId' => 123,
'forms' => [
],
'id' => 123,
'profileId' => 123,
'referenceId' => '<string>',
'vendorEntityGuid' => '<string>',
'vendorName' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json",
"X-Domain-ID: <x-domain-id>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.artemis.cynopsis.co/api/customer"
payload := strings.NewReader("{\n \"profileReferenceId\": \"<string>\",\n \"active\": true,\n \"assigneeId\": 123,\n \"batchUploadId\": 123,\n \"forms\": {},\n \"id\": 123,\n \"profileId\": 123,\n \"referenceId\": \"<string>\",\n \"vendorEntityGuid\": \"<string>\",\n \"vendorName\": \"<string>\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("X-Domain-ID", "<x-domain-id>")
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.artemis.cynopsis.co/api/customer")
.header("X-Domain-ID", "<x-domain-id>")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"profileReferenceId\": \"<string>\",\n \"active\": true,\n \"assigneeId\": 123,\n \"batchUploadId\": 123,\n \"forms\": {},\n \"id\": 123,\n \"profileId\": 123,\n \"referenceId\": \"<string>\",\n \"vendorEntityGuid\": \"<string>\",\n \"vendorName\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.artemis.cynopsis.co/api/customer")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["X-Domain-ID"] = '<x-domain-id>'
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"profileReferenceId\": \"<string>\",\n \"active\": true,\n \"assigneeId\": 123,\n \"batchUploadId\": 123,\n \"forms\": {},\n \"id\": 123,\n \"profileId\": 123,\n \"referenceId\": \"<string>\",\n \"vendorEntityGuid\": \"<string>\",\n \"vendorName\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"active": true,
"assignees": [
{
"email": "<string>",
"firstName": "<string>",
"fullName": "<string>",
"id": 123,
"lastName": "<string>"
}
],
"createdAt": {
"date": 123,
"day": 123,
"hours": 123,
"minutes": 123,
"month": 123,
"nanos": 123,
"seconds": 123,
"time": 123,
"timezoneOffset": 123,
"year": 123
},
"createdBy": {
"email": "<string>",
"firstName": "<string>",
"fullName": "<string>",
"id": 123,
"lastName": "<string>"
},
"forms": {},
"id": 123,
"lastRiskAssessment": "2023-11-07T05:31:56Z",
"listRoleAsText": [
"<string>"
],
"notes": {},
"other": {},
"parentId": 123,
"particular": {},
"profileId": 123,
"profileReferenceId": "<string>",
"referenceId": "<string>",
"roles": [
{
"appointedDate": "2023-12-25",
"createdAt": {
"date": 123,
"day": 123,
"hours": 123,
"minutes": 123,
"month": 123,
"nanos": 123,
"seconds": 123,
"time": 123,
"timezoneOffset": 123,
"year": 123
},
"createdBy": {
"email": "<string>",
"firstName": "<string>",
"fullName": "<string>",
"id": 123,
"lastName": "<string>"
},
"id": 123,
"resignedDate": "2023-12-25",
"role": "<string>",
"updatedAt": {
"date": 123,
"day": 123,
"hours": 123,
"minutes": 123,
"month": 123,
"nanos": 123,
"seconds": 123,
"time": 123,
"timezoneOffset": 123,
"year": 123
},
"updatedBy": {
"email": "<string>",
"firstName": "<string>",
"fullName": "<string>",
"id": 123,
"lastName": "<string>"
}
}
],
"updatedAt": {
"date": 123,
"day": 123,
"hours": 123,
"minutes": 123,
"month": 123,
"nanos": 123,
"seconds": 123,
"time": 123,
"timezoneOffset": 123,
"year": 123
},
"updatedBy": {
"email": "<string>",
"firstName": "<string>",
"fullName": "<string>",
"id": 123,
"lastName": "<string>"
},
"vendorEntityGuid": "<string>",
"vendorName": "<string>"
}{
"status": 404,
"error": "Not Found",
"message": "The requested resource was not found.",
"path": "/api/customer"
}Step 1 — Create a Primary Customer
Create an Individual Primary Customer
POST
/
api
/
customer
createNewCustomer
curl --request POST \
--url https://api.artemis.cynopsis.co/api/customer \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--header 'X-Domain-ID: <x-domain-id>' \
--data '
{
"profileReferenceId": "<string>",
"active": true,
"assigneeId": 123,
"batchUploadId": 123,
"forms": {},
"id": 123,
"profileId": 123,
"referenceId": "<string>",
"vendorEntityGuid": "<string>",
"vendorName": "<string>"
}
'import requests
url = "https://api.artemis.cynopsis.co/api/customer"
payload = {
"profileReferenceId": "<string>",
"active": True,
"assigneeId": 123,
"batchUploadId": 123,
"forms": {},
"id": 123,
"profileId": 123,
"referenceId": "<string>",
"vendorEntityGuid": "<string>",
"vendorName": "<string>"
}
headers = {
"X-Domain-ID": "<x-domain-id>",
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {
'X-Domain-ID': '<x-domain-id>',
Authorization: 'Bearer <token>',
'Content-Type': 'application/json'
},
body: JSON.stringify({
profileReferenceId: '<string>',
active: true,
assigneeId: 123,
batchUploadId: 123,
forms: {},
id: 123,
profileId: 123,
referenceId: '<string>',
vendorEntityGuid: '<string>',
vendorName: '<string>'
})
};
fetch('https://api.artemis.cynopsis.co/api/customer', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.artemis.cynopsis.co/api/customer",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'profileReferenceId' => '<string>',
'active' => true,
'assigneeId' => 123,
'batchUploadId' => 123,
'forms' => [
],
'id' => 123,
'profileId' => 123,
'referenceId' => '<string>',
'vendorEntityGuid' => '<string>',
'vendorName' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json",
"X-Domain-ID: <x-domain-id>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.artemis.cynopsis.co/api/customer"
payload := strings.NewReader("{\n \"profileReferenceId\": \"<string>\",\n \"active\": true,\n \"assigneeId\": 123,\n \"batchUploadId\": 123,\n \"forms\": {},\n \"id\": 123,\n \"profileId\": 123,\n \"referenceId\": \"<string>\",\n \"vendorEntityGuid\": \"<string>\",\n \"vendorName\": \"<string>\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("X-Domain-ID", "<x-domain-id>")
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.artemis.cynopsis.co/api/customer")
.header("X-Domain-ID", "<x-domain-id>")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"profileReferenceId\": \"<string>\",\n \"active\": true,\n \"assigneeId\": 123,\n \"batchUploadId\": 123,\n \"forms\": {},\n \"id\": 123,\n \"profileId\": 123,\n \"referenceId\": \"<string>\",\n \"vendorEntityGuid\": \"<string>\",\n \"vendorName\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.artemis.cynopsis.co/api/customer")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["X-Domain-ID"] = '<x-domain-id>'
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"profileReferenceId\": \"<string>\",\n \"active\": true,\n \"assigneeId\": 123,\n \"batchUploadId\": 123,\n \"forms\": {},\n \"id\": 123,\n \"profileId\": 123,\n \"referenceId\": \"<string>\",\n \"vendorEntityGuid\": \"<string>\",\n \"vendorName\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"active": true,
"assignees": [
{
"email": "<string>",
"firstName": "<string>",
"fullName": "<string>",
"id": 123,
"lastName": "<string>"
}
],
"createdAt": {
"date": 123,
"day": 123,
"hours": 123,
"minutes": 123,
"month": 123,
"nanos": 123,
"seconds": 123,
"time": 123,
"timezoneOffset": 123,
"year": 123
},
"createdBy": {
"email": "<string>",
"firstName": "<string>",
"fullName": "<string>",
"id": 123,
"lastName": "<string>"
},
"forms": {},
"id": 123,
"lastRiskAssessment": "2023-11-07T05:31:56Z",
"listRoleAsText": [
"<string>"
],
"notes": {},
"other": {},
"parentId": 123,
"particular": {},
"profileId": 123,
"profileReferenceId": "<string>",
"referenceId": "<string>",
"roles": [
{
"appointedDate": "2023-12-25",
"createdAt": {
"date": 123,
"day": 123,
"hours": 123,
"minutes": 123,
"month": 123,
"nanos": 123,
"seconds": 123,
"time": 123,
"timezoneOffset": 123,
"year": 123
},
"createdBy": {
"email": "<string>",
"firstName": "<string>",
"fullName": "<string>",
"id": 123,
"lastName": "<string>"
},
"id": 123,
"resignedDate": "2023-12-25",
"role": "<string>",
"updatedAt": {
"date": 123,
"day": 123,
"hours": 123,
"minutes": 123,
"month": 123,
"nanos": 123,
"seconds": 123,
"time": 123,
"timezoneOffset": 123,
"year": 123
},
"updatedBy": {
"email": "<string>",
"firstName": "<string>",
"fullName": "<string>",
"id": 123,
"lastName": "<string>"
}
}
],
"updatedAt": {
"date": 123,
"day": 123,
"hours": 123,
"minutes": 123,
"month": 123,
"nanos": 123,
"seconds": 123,
"time": 123,
"timezoneOffset": 123,
"year": 123
},
"updatedBy": {
"email": "<string>",
"firstName": "<string>",
"fullName": "<string>",
"id": 123,
"lastName": "<string>"
},
"vendorEntityGuid": "<string>",
"vendorName": "<string>"
}{
"status": 404,
"error": "Not Found",
"message": "The requested resource was not found.",
"path": "/api/customer"
}Description
This endpoint creates a new Individual Primary Customer. You can submit either:- A minimal request with only the mandatory fields, or
- A full request with all optional fields.
-
To create a new individual primary customer, it is mandatory for the end user to provide their
profileReferenceIdand personal particulars (name,gender,countryOfResidence, andnationality) inside the request body. -
The
typefield must be set toINDIVIDUAL.
evidenceCorroborated: Enum field that accepts either"YES"or"NO". Used insourceOfFundsandsourceOfWealtharrays.
Sample Request Body 1 — Mandatory Fields Only
{
"active": true,
"profileReferenceId": "180062353535",
"other": {
"industry": "EDUCATION",
"occupation": "TEACHING PROFESSIONAL",
"onBoardingMode": "NON FACE-TO-FACE",
"paymentMode": [
"CREDIT CARD"
],
"productServiceComplexity": "SIMPLE"
},
"particular": {
"name": "Individual Primary Customer",
"gender": "MALE",
"countryOfResidence": "SINGAPORE",
"nationality": [
"SINGAPORE"
]
},
"type": "INDIVIDUAL",
"domainId": [
{{domain_id}}
],
"assigneeId": {{assignee_id}}
}
Sample Request Body 2 — All Fields
{
"active": true,
"profileReferenceId": "180062353535",
"other": {
"industry": "EDUCATION",
"occupation": "TEACHING PROFESSIONAL",
"onBoardingMode": "NON FACE-TO-FACE",
"paymentMode": [
"CREDIT CARD"
],
"productServiceComplexity": "SIMPLE",
"sourceOfFunds": [
{
"id": "9aefb2d3-6ab9-48c5-b111-fb6992794f8b",
"category": "LOTTERY/WINDFALL",
"amountDeclared": 10000000,
"evidenceCorroborated": "YES"
}
],
"sourceOfWealth": [
{
"id": "7bcde1f2-5ab8-47c4-a222-eb5881683c9a",
"category": "INHERITANCE",
"amountDeclared": 5000000,
"evidenceCorroborated": "YES"
}
],
"bankAccount": [],
"additionalInformation": "",
"natureOfBusinessRelationship": ""
},
"particular": {
"salutation": "",
"name": "Individual Primary Customer",
"alias": [],
"formerName": [],
"gender": "MALE",
"countryOfResidence": "SINGAPORE",
"nationality": [
"SINGAPORE"
],
"countryOfBirth": "",
"dateOfBirth": null,
"address": [],
"phone": [],
"email": [],
"identityDocumentType": "",
"identityNumber": "",
"identityIssuedDate": null,
"identityExpiryDate": null
},
"type": "INDIVIDUAL",
"domainId": [
{{domain_id}}
],
"assigneeId": {{assignee_id}}
}
Success Response — 200 OK
{
"id": 925,
"createdAt": "2022-07-26T04:21:41.616+00:00",
"updatedAt": "2022-07-26T04:21:41.636+00:00",
"createdBy": null,
"updatedBy": null,
"active": true,
"parentId": null,
"profileId": 915,
"type": "INDIVIDUAL",
"referenceId": null,
"profileReferenceId": "180062353535B",
"particular": {
"salutation": "",
"name": "Individual Primary Customer",
"alias": [],
"formerName": [],
"gender": "MALE",
"countryOfResidence": "SINGAPORE",
"nationality": [
"SINGAPORE"
],
"countryOfBirth": "",
"dateOfBirth": null,
"address": [],
"phone": [],
"email": [],
"identityDocumentType": "",
"identityNumber": "",
"identityIssuedDate": null,
"identityExpiryDate": null
},
"other": {
"industry": "EDUCATION",
"occupation": "TEACHING PROFESSIONAL",
"onBoardingMode": "NON FACE-TO-FACE",
"paymentMode": [
"CREDIT CARD"
],
"productServiceComplexity": "SIMPLE",
"sourceOfFunds": [
{
"id": "9aefb2d3-6ab9-48c5-b111-fb6992794f8b",
"category": "LOTTERY/WINDFALL",
"amountDeclared": 10000000,
"evidenceCorroborated": "YES"
}
],
"sourceOfWealth": [
{
"id": "7bcde1f2-5ab8-47c4-a222-eb5881683c9a",
"category": "INHERITANCE",
"amountDeclared": 5000000,
"evidenceCorroborated": "YES"
}
],
"bankAccount": [],
"natureOfBusinessRelationship": "",
"additionalInformation": "",
"documentList": null
},
"vendorName": "",
"vendorEntityGuid": "",
"lastRiskAssessment": null,
"status": "DRAFT",
"riskRating": "UNKNOWN",
"roles": [],
"listRoleAsText": []
}
Authorizations
OAuth2_Client_CredentialsOAuth2_Password
The access token received from the authorization server in the OAuth 2.0 flow.
Headers
X-Domain-ID
Body
application/json
customerDTO
Response
OK
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Available options:
HIGH, LOW, MEDIUM, MEDIUM_HIGH, MEDIUM_LOW, UNKNOWN Show child attributes
Show child attributes
Available options:
ACCEPTED, CLEARED, DRAFT, PENDING, REJECTED, REQUEST_CHANGES Available options:
CORPORATE, INDIVIDUAL Show child attributes
Show child attributes
Show child attributes
Show child attributes
⌘I
