Individual Clients

Available webhook types: individual_client.created, individual_client.updated

Here's a JSON Schema that describes the available individual clients webhooks:

{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "title": "Individual Client Audit Event Schemas",
  "description": "JSON schemas for Individual Client audit events (Created and Updated)",
  "definitions": {
    "AccountStatus": {
      "type": "string",
      "enum": [
        "APPROVED",
        "WAITING_FOR_REVIEW", 
        "IN_REVIEW",
        "REJECTED",
        "OFF_BOARDED",
        "FROZEN",
        "PENDING_DOCUMENTS",
        "CLOSED_BY_CLIENT"
      ],
      "description": "Current account status of the individual client"
    },
    "ActivityStatus": {
      "type": "string", 
      "enum": ["ACTIVE", "NOT_ACTIVE"],
      "description": "Current activity status of the individual client"
    },
    "Gender": {
      "type": "string",
      "enum": ["MALE", "FEMALE"],
      "description": "Gender of the client"
    },
    "RiskLevel": {
      "type": "string",
      "enum": ["LOW", "MEDIUM", "HIGH"],
      "description": "Risk level label based on the score"
    },
    "IndividualClientCustomFieldDataCategory": {
      "type": "string",
      "enum": ["GENERAL", "ADDRESS", "CONTACT", "WORK", "FINANCIAL", "APPLICATION"],
      "description": "Category of the custom field"
    },
    "ClientRiskDto": {
      "type": "object",
      "description": "Risk assessment information",
      "required": ["score", "calculatedAt"],
      "properties": {
        "score": {
          "type": "number",
          "minimum": 0,
          "maximum": 100,
          "description": "Risk score value for the client. The score is a number between 0 and 100. 0-49 is low, 50-74 is medium, 75-100 is high",
          "example": 75
        },
        "level": {
          "$ref": "#/definitions/RiskLevel"
        },
        "reason": {
          "type": "string",
          "description": "Explanation for the assigned risk score",
          "example": "Multiple high-value transactions in high-risk jurisdictions"
        },
        "calculatedAt": {
          "type": "string",
          "format": "date-time",
          "description": "ISO timestamp when the risk was calculated",
          "example": "2023-08-15T14:30:00Z"
        }
      }
    },
    "CreateOrUpdateRiskDto": {
      "type": "object",
      "description": "Risk assessment data for creating or updating",
      "required": ["score"],
      "properties": {
        "score": {
          "type": "number",
          "minimum": 0,
          "maximum": 100,
          "description": "Risk score value for the client. The score is a number between 0 and 100. 0-49 is low, 50-74 is medium, 75-100 is high",
          "example": 75
        },
        "level": {
          "$ref": "#/definitions/RiskLevel"
        },
        "reason": {
          "type": "string",
          "description": "Explanation for the assigned risk score",
          "example": "Multiple high-value transactions in high-risk jurisdictions"
        }
      }
    },
    "IndividualClientAddressDto": {
      "type": "object",
      "description": "Address information of the client",
      "properties": {
        "addressLine1": {
          "type": "string",
          "description": "First line of the address",
          "example": "123 Main Street"
        },
        "addressLine2": {
          "type": "string",
          "description": "Second line of the address",
          "example": "Apt 4B"
        },
        "city": {
          "type": "string",
          "description": "City name",
          "example": "New York"
        },
        "country": {
          "type": "string",
          "description": "Country code in ISO format",
          "example": "USA"
        },
        "postalCode": {
          "type": "string",
          "description": "Postal code",
          "example": "10001"
        }
      }
    },
    "AdverseMediaDto": {
      "type": "object",
      "description": "Adverse media information",
      "required": ["isAdverseMedia"],
      "properties": {
        "isAdverseMedia": {
          "type": "boolean",
          "description": "Indicates if there is adverse media associated with the client",
          "example": false
        }
      }
    },
    "PoliticalExposureDto": {
      "type": "object",
      "description": "Political exposure information",
      "required": ["isPoliticallyExposed"],
      "properties": {
        "isPoliticallyExposed": {
          "type": "boolean",
          "description": "Indicates if the client is politically exposed",
          "example": false
        }
      }
    },
    "SanctionsDto": {
      "type": "object",
      "description": "Sanctions information",
      "required": ["isSanctioned"],
      "properties": {
        "isSanctioned": {
          "type": "boolean",
          "description": "Indicates if the client is under any sanctions",
          "example": false
        }
      }
    },
    "IndividualClientContactInformationDto": {
      "type": "object",
      "description": "Contact information of the client",
      "properties": {
        "emailAddress": {
          "type": "string",
          "format": "email",
          "description": "Email address of the client",
          "example": "[email protected]"
        },
        "phoneNumber": {
          "type": "string",
          "description": "Phone number of the client",
          "example": "+1-555-123-4567"
        }
      }
    },
    "IndividualClientGeneralInformationDto": {
      "type": "object",
      "description": "General information about the client",
      "properties": {
        "firstName": {
          "type": "string",
          "description": "First name of the client",
          "example": "John"
        },
        "middleName": {
          "type": "string",
          "description": "Middle name of the client",
          "example": "Michael"
        },
        "lastName": {
          "type": "string",
          "description": "Last name of the client",
          "example": "Doe"
        },
        "gender": {
          "$ref": "#/definitions/Gender"
        },
        "dateOfBirth": {
          "type": "string",
          "format": "date",
          "description": "Date of birth of the client in YYYY-MM-DD format",
          "example": "1993-08-15"
        },
        "citizenship": {
          "type": "string",
          "description": "Country code of citizenship",
          "example": "USA"
        },
        "personalId": {
          "type": "string",
          "description": "Personal identification number",
          "example": "123-45-6789"
        }
      }
    },
    "IndividualClientWorkInformationDto": {
      "type": "object",
      "description": "Work-related information of the client",
      "properties": {
        "occupation": {
          "type": "string",
          "description": "Current occupation of the client",
          "example": "Software Engineer"
        }
      }
    },
    "IndividualClientFinancialInformationDto": {
      "type": "object",
      "description": "Financial information of the client",
      "properties": {
        "annualDepositEstimate": {
          "type": "string",
          "description": "Estimated annual deposit amount",
          "example": "50000"
        }
      }
    },
    "IndividualClientApplicationInformationDto": {
      "type": "object",
      "description": "Application information of the client",
      "properties": {
        "submittedAt": {
          "type": "string",
          "format": "date-time",
          "description": "ISO timestamp when the application was submitted",
          "example": "2023-08-15T10:30:00Z"
        },
        "onboardedAt": {
          "type": "string",
          "format": "date-time",
          "description": "ISO timestamp when the client was onboarded",
          "example": "2023-08-20T14:30:00Z"
        },
        "nextPeriodicReview": {
          "type": "string",
          "format": "date-time",
          "description": "ISO timestamp for the next periodic review",
          "example": "2024-08-20T14:30:00Z"
        }
      }
    },
    "IndividualClientCustomFieldDataDto": {
      "type": "object",
      "description": "Custom field data for individual clients",
      "required": ["label", "value"],
      "properties": {
        "label": {
          "type": "string",
          "description": "Label of the custom field",
          "example": "Preferred Contact Time"
        },
        "value": {
          "oneOf": [
            {"type": "string"},
            {"type": "number"},
            {"type": "boolean"}
          ],
          "description": "Value of the custom field. Can be string, number, or boolean",
          "example": "Morning"
        },
        "category": {
          "$ref": "#/definitions/IndividualClientCustomFieldDataCategory"
        }
      }
    },
    "IndividualClientDto": {
      "type": "object",
      "description": "Complete Individual Client entity",
      "required": [
        "id",
        "accountStatus",
        "activityStatus", 
        "address",
        "adverseMedia",
        "application",
        "controls",
        "general",
        "politicalExposure",
        "riskHistory",
        "sanctions",
        "tags",
        "createdAt",
        "updatedAt"
      ],
      "properties": {
        "id": {
          "type": "string",
          "format": "uuid",
          "description": "Unique identifier of the client",
          "example": "123e4567-e89b-12d3-a456-426614174000"
        },
        "referenceId": {
          "type": "string",
          "description": "External reference ID",
          "example": "IND123"
        },
        "accountStatus": {
          "$ref": "#/definitions/AccountStatus"
        },
        "activityStatus": {
          "$ref": "#/definitions/ActivityStatus"
        },
        "address": {
          "$ref": "#/definitions/IndividualClientAddressDto"
        },
        "adverseMedia": {
          "$ref": "#/definitions/AdverseMediaDto"
        },
        "alerts": {
          "type": "array",
          "items": {
            "type": "string",
            "format": "uuid"
          },
          "description": "List of alert IDs associated with the client",
          "example": ["123e4567-e89b-12d3-a456-426614174000"]
        },
        "application": {
          "$ref": "#/definitions/IndividualClientApplicationInformationDto"
        },
        "contact": {
          "$ref": "#/definitions/IndividualClientContactInformationDto"
        },
        "controls": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "List of control measures applied",
          "example": ["enhanced-due-diligence", "quarterly-review"]
        },
        "currentRisk": {
          "$ref": "#/definitions/ClientRiskDto"
        },
        "onboardingRisk": {
          "$ref": "#/definitions/ClientRiskDto"
        },
        "customFields": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/definitions/IndividualClientCustomFieldDataDto"
          },
          "description": "Custom fields data",
          "example": {
            "customField1": {
              "label": "Preferred Contact Time",
              "value": "Morning",
              "category": "GENERAL"
            }
          }
        },
        "financial": {
          "$ref": "#/definitions/IndividualClientFinancialInformationDto"
        },
        "financialOperations": {
          "type": "array",
          "items": {
            "type": "string",
            "format": "uuid"
          },
          "description": "List of financial operation IDs",
          "example": ["123e4567-e89b-12d3-a456-426614174000"]
        },
        "general": {
          "$ref": "#/definitions/IndividualClientGeneralInformationDto"
        },
        "politicalExposure": {
          "$ref": "#/definitions/PoliticalExposureDto"
        },
        "riskHistory": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/ClientRiskDto"
          },
          "description": "Historical risk assessments"
        },
        "sanctions": {
          "$ref": "#/definitions/SanctionsDto"
        },
        "tags": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Tags associated with the client",
          "example": ["high-value", "vip-client"]
        },
        "createdAt": {
          "type": "string",
          "format": "date-time",
          "description": "ISO timestamp of creation",
          "example": "2023-08-15T10:30:00Z"
        },
        "updatedAt": {
          "type": "string",
          "format": "date-time", 
          "description": "ISO timestamp of last update",
          "example": "2023-08-20T14:30:00Z"
        },
        "work": {
          "$ref": "#/definitions/IndividualClientWorkInformationDto"
        }
      }
    },
    "UpdateIndividualClientDto": {
      "type": "object",
      "description": "Fields that can be updated in an individual client",
      "properties": {
        "general": {
          "$ref": "#/definitions/IndividualClientGeneralInformationDto"
        },
        "address": {
          "$ref": "#/definitions/IndividualClientAddressDto"
        },
        "contact": {
          "$ref": "#/definitions/IndividualClientContactInformationDto"
        },
        "work": {
          "$ref": "#/definitions/IndividualClientWorkInformationDto"
        },
        "financial": {
          "$ref": "#/definitions/IndividualClientFinancialInformationDto"
        },
        "application": {
          "$ref": "#/definitions/IndividualClientApplicationInformationDto"
        },
        "sanctions": {
          "$ref": "#/definitions/SanctionsDto"
        },
        "politicalExposure": {
          "$ref": "#/definitions/PoliticalExposureDto"
        },
        "adverseMedia": {
          "$ref": "#/definitions/AdverseMediaDto"
        },
        "customFields": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/definitions/IndividualClientCustomFieldDataDto"
          },
          "description": "Custom fields data for the client",
          "example": {
            "customField1": {
              "label": "Preferred Contact Time", 
              "value": "Morning",
              "category": "GENERAL"
            }
          }
        },
        "tagsToAdd": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Tags to add to the individual client"
        },
        "tagsToRemove": {
          "type": "array", 
          "items": {
            "type": "string"
          },
          "description": "Tags to remove from the individual client"
        },
        "controlsToAdd": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Controls to add to the individual client"
        },
        "controlsToRemove": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Controls to remove from the individual client"
        },
        "activityStatus": {
          "$ref": "#/definitions/ActivityStatus"
        },
        "accountStatus": {
          "$ref": "#/definitions/AccountStatus"
        },
        "currentRisk": {
          "$ref": "#/definitions/CreateOrUpdateRiskDto"
        },
        "onboardingRisk": {
          "$ref": "#/definitions/CreateOrUpdateRiskDto"
        }
      }
    }
  },
  "oneOf": [
    {
      "title": "Individual Client Created Audit Event",
      "description": "Audit event payload for when an individual client is created",
      "type": "object",
      "required": ["id", "entity"],
      "properties": {
        "id": {
          "type": "string",
          "format": "uuid",
          "description": "The ID of the individual client",
          "example": "123e4567-e89b-12d3-a456-426614174000"
        },
        "referenceId": {
          "type": "string",
          "description": "The reference ID of the individual client",
          "example": "IND123"
        },
        "entity": {
          "$ref": "#/definitions/IndividualClientDto",
          "description": "The complete individual client entity that was created"
        }
      },
      "additionalProperties": false,
      "examples": [
        {
          "id": "123e4567-e89b-12d3-a456-426614174000",
          "referenceId": "IND-001",
          "entity": {
            "id": "123e4567-e89b-12d3-a456-426614174000",
            "referenceId": "IND-001",
            "accountStatus": "APPROVED",
            "activityStatus": "ACTIVE",
            "address": {
              "addressLine1": "123 Main Street",
              "addressLine2": "Apt 4B", 
              "city": "New York",
              "country": "USA",
              "postalCode": "10001"
            },
            "adverseMedia": {
              "isAdverseMedia": false
            },
            "alerts": ["456e7890-f12b-34c5-d678-901234567890"],
            "application": {
              "submittedAt": "2023-08-15T10:30:00Z",
              "onboardedAt": "2023-08-20T14:30:00Z",
              "nextPeriodicReview": "2024-08-20T14:30:00Z"
            },
            "contact": {
              "emailAddress": "[email protected]",
              "phoneNumber": "+1-555-123-4567"
            },
            "controls": ["enhanced-due-diligence", "quarterly-review"],
            "currentRisk": {
              "score": 45,
              "level": "LOW",
              "reason": "Low risk profile based on initial assessment",
              "calculatedAt": "2023-08-20T14:30:00Z"
            },
            "onboardingRisk": {
              "score": 50,
              "level": "MEDIUM",
              "reason": "Standard onboarding risk assessment",
              "calculatedAt": "2023-08-15T10:30:00Z"
            },
            "customFields": {
              "passportNumber": {
                "label": "Passport Number",
                "value": "P123456789",
                "category": "GENERAL"
              },
              "occupation": {
                "label": "Occupation",
                "value": "Software Engineer",
                "category": "WORK"
              }
            },
            "financial": {
              "annualDepositEstimate": "50000"
            },
            "financialOperations": ["789e0123-f45b-67c8-d901-234567890123"],
            "general": {
              "firstName": "John",
              "middleName": "Michael",
              "lastName": "Doe",
              "gender": "MALE",
              "dateOfBirth": "1990-05-15",
              "citizenship": "USA",
              "personalId": "123-45-6789"
            },
            "politicalExposure": {
              "isPoliticallyExposed": false
            },
            "riskHistory": [
              {
                "score": 50,
                "level": "MEDIUM",
                "reason": "Initial onboarding assessment",
                "calculatedAt": "2023-08-15T10:30:00Z"
              }
            ],
            "sanctions": {
              "isSanctioned": false
            },
            "tags": ["high-value", "vip-client"],
            "createdAt": "2023-08-15T10:30:00Z",
            "updatedAt": "2023-08-20T14:30:00Z",
            "work": {
              "occupation": "Software Engineer"
            }
          }
        }
      ]
    },
    {
      "title": "Individual Client Updated Audit Event",
      "description": "Audit event payload for when an individual client is updated",
      "type": "object",
      "required": ["id", "updated"],
      "properties": {
        "id": {
          "type": "string",
          "format": "uuid",
          "description": "The ID of the individual client",
          "example": "123e4567-e89b-12d3-a456-426614174000"
        },
        "referenceId": {
          "type": "string",
          "description": "The reference ID of the individual client",
          "example": "IND123"
        },
        "updated": {
          "$ref": "#/definitions/UpdateIndividualClientDto",
          "description": "The fields that were updated in the individual client"
        },
        "previousValues": {
          "type": "object",
          "description": "The previous values of the updated fields",
          "additionalProperties": true
        }
      },
      "additionalProperties": false,
      "examples": [
        {
          "id": "123e4567-e89b-12d3-a456-426614174000",
          "referenceId": "IND-001",
          "updated": {
            "accountStatus": "IN_REVIEW",
            "address": {
              "addressLine1": "456 Oak Avenue",
              "city": "Los Angeles",
              "country": "USA",
              "postalCode": "90210"
            },
            "contact": {
              "emailAddress": "[email protected]",
              "phoneNumber": "+1-555-987-6543"
            }
          },
          "previousValues": {
            "accountStatus": "APPROVED",
            "address": {
              "addressLine1": "123 Main Street",
              "city": "New York",
              "country": "USA", 
              "postalCode": "10001"
            },
            "contact": {
              "emailAddress": "[email protected]",
              "phoneNumber": "+1-555-123-4567"
            }
          }
        },
        {
          "id": "123e4567-e89b-12d3-a456-426614174000",
          "referenceId": "IND-001",
          "updated": {
            "currentRisk": {
              "score": 75,
              "level": "HIGH",
              "reason": "Updated risk assessment due to suspicious activity patterns",
              "calculatedAt": "2023-08-25T16:00:00Z"
            },
            "tagsToAdd": ["high-risk", "requires-review"],
            "controlsToAdd": ["enhanced-monitoring"],
            "activityStatus": "NOT_ACTIVE"
          },
          "previousValues": {
            "currentRisk": {
              "score": 45,
              "level": "LOW",
              "reason": "Low risk profile based on initial assessment",
              "calculatedAt": "2023-08-20T14:30:00Z"
            },
            "activityStatus": "ACTIVE"
          }
        }
      ]
    }
  ]
}