Skip to main content
POST
/
api
/
customer
/
{customerId}
/
crp
createNewCRP
curl --request POST \
  --url https://api.artemis.cynopsis.co/api/customer/{customerId}/crp \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --header 'X-Domain-ID: <x-domain-id>' \
  --data '
{
  "type": "CORPORATE",
  "active": true,
  "forms": {},
  "id": 123,
  "profileId": 123,
  "profileReferenceId": "<string>",
  "referenceId": "<string>",
  "roles": [
    {
      "role": "<string>",
      "appointedDate": "2023-12-25",
      "id": 123,
      "resignedDate": "2023-12-25"
    }
  ]
}
'
{
  "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>",
  "riskRating": "HIGH",
  "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>"
      }
    }
  ],
  "status": "ACCEPTED",
  "type": "CORPORATE",
  "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>"
}
This endpoint allows you to create a Customer Related Party (CRP) that is associated with an existing Primary Customer. A CRP can be either Individual or Corporate, and it must include:
  • A designated role (e.g., DIRECTOR, ULTIMATE HOLDING COMPANY).
  • Required particulars depending on whether it is an individual or a corporate entity.
Field Specifications:
  • evidenceCorroborated: Enum field that accepts either "YES" or "NO". Used in sourceOfFunds and sourceOfWealth arrays.

Create an Corporate CRP

Any CRP(s) will be associated with at least one primary customer. To create an corporate CRP, certain particulars must be filled in and a designated role must be given to the CRP. The CRP type in this case shall be CORPORATE.

Sample Request Body - Corporate CRP

{
  "type": "CORPORATE",
  "roles": [
    {
      "cid": "draft-4",
      "role": "ULTIMATE HOLDING COMPANY",
      "appointedDate": "2022-01-01",
      "resignedDate": null
    }
  ],
  "active": true,
  "other": {
    "entityType": "BANKS",
    "otherEntityType": "",
    "corporateWebsite": null,
    "status": "CURRENT",
    "sourceOfFunds": [
        {
          "id": "",
          "category": "",
          "amountDeclared": null,
          "evidenceCorroborated": "YES"
        }
        ],
        "sourceOfWealth": [
          {
            "id": "",
            "category": "",
            "amountDeclared": null,
            "evidenceCorroborated": "YES",
          }
    ],
    "bankAccountNumber": [],
    "undischargedBankrupt": "",
    "ownershipStructureLayer": "1",
    "variableCapitalCompany": "",
    "businessCessationDate": null
  },
  "particular": {
    "name": "Corporate CRP",
    "alias": [],
    "formerName": [],
    "countryOfIncorporation": "",
    "countryOfOperation": [
      "MALAYSIA"
    ],
    "dateOfIncorporation": null,
    "email": [],
    "address": [],
    "imonumber": null,
    "incorporateNumber": "",
    "incorporated": "",
    "phone": []
  },
  "profileReferenceId": "18011121212"
}

Sample Response Body - Success (200)

{
  "id": 928,
  "createdAt": "2022-07-26T04:37:52.221+00:00",
  "updatedAt": "2022-07-26T04:37:52.377+00:00",
  "createdBy": null,
  "updatedBy": null,
  "active": null,
  "parentId": 926,
  "profileId": 918,
  "type": "CORPORATE",
  "referenceId": null,
  "profileReferenceId": "18011121212",
  "particular": {
    "incorporated": null,
    "name": "Corporate CRP",
    "alias": [],
    "formerName": [],
    "countryOfIncorporation": "",
    "countryOfOperation": [
      "MALAYSIA"
    ],
    "address": [],
    "incorporateNumber": "",
    "phone": [],
    "email": [],
    "dateOfIncorporation": null,
    "dateOfIncorporationExpiry": null,
    "vendorName": null,
    "vendorEntityGuid": null,
    "imonumber": null
  },
  "other": {
    "entityType": "BANKS",
    "variableCapitalCompany": "",
    "ownershipStructureLayer": "1",
    "ownershipPercentage": 0.0,
    "dateOfIncorporation": null,
    "dateOfIncorporationExpiry": null,
    "sourceOfFunds": [
        {
          "id": "",
          "category": "",
          "amountDeclared": null,
          "evidenceCorroborated": "YES"
        }
        ],
        "sourceOfWealth": [
          {
            "id": "",
            "category": "",
            "amountDeclared": null,
            "evidenceCorroborated": "YES",
          }
    ],
    "status": "CURRENT",
    "bankAccountNumber": [],
    "undischargedBankrupt": null,
    "documentList": null,
    "businessCessationDate": null,
    "corporateWebsite": null
  },
  "vendorName": null,
  "vendorEntityGuid": null,
  "lastRiskAssessment": null,
  "roles": [
    {
      "id": 52,
      "createdAt": "2022-07-26T04:37:52.288+00:00",
      "updatedAt": "2022-07-26T04:37:52.289+00:00",
      "createdBy": null,
      "updatedBy": null,
      "role": "ULTIMATE HOLDING COMPANY",
      "appointedDate": "2022-01-01",
      "resignedDate": null
    }
  ],
  "listRoleAsText": [
    "ULTIMATE HOLDING COMPANY"
  ]
}

Authorizations

Authorization
string
header
required

The access token received from the authorization server in the OAuth 2.0 flow.

Headers

X-Domain-ID
integer<int64>
required

X-Domain-ID

Path Parameters

customerId
integer<int64>
required

customerId

Body

application/json

crpRequestDto

type
enum<string>
required
Available options:
CORPORATE,
INDIVIDUAL
active
boolean
forms
JsonNode · object
id
integer<int64>
profileId
integer<int64>
profileReferenceId
string
referenceId
string
roles
CRPRoleRequestDto · object[]

Response

OK

active
boolean
assignees
UserInfo · object[]
createdAt
Timestamp · object
createdBy
UserInfo · object
forms
JsonNode · object
id
integer<int64>
lastRiskAssessment
string<date-time>
listRoleAsText
string[]
notes
JsonNode · object
other
JsonNode · object
parentId
integer<int64>
particular
JsonNode · object
profileId
integer<int64>
profileReferenceId
string
referenceId
string
riskRating
enum<string>
Available options:
HIGH,
LOW,
MEDIUM,
MEDIUM_HIGH,
MEDIUM_LOW,
UNKNOWN
roles
CRPRoleResponseDto · object[]
status
enum<string>
Available options:
ACCEPTED,
CLEARED,
DRAFT,
PENDING,
REJECTED,
REQUEST_CHANGES
type
enum<string>
Available options:
CORPORATE,
INDIVIDUAL
updatedAt
Timestamp · object
updatedBy
UserInfo · object
vendorEntityGuid
string
vendorName
string