Skip to main content

CreateClientDto

firstNamestringrequired

Possible values: non-empty and <= 100 characters

lastNamestringrequired

Possible values: non-empty and <= 100 characters

phonestringrequired

Possible values: Value must match regular expression /^\+?\d{6,20}$/

emailstring
nationalIdstring

Possible values: >= 3 characters and <= 40 characters

dobstring
addressstring

Possible values: non-empty and <= 500 characters

genderstring

Possible values: non-empty and <= 20 characters

dobPurposestring

Clients Phase 3 gap 7 — DPPA §11 minimisation. dob is accepted only when the caller declares why it's needed; enum captures the lawful purpose so retention + audit can be justified downstream.

Possible values: [underwriting_age_band, beneficiary_verification, kyc_identity_confirm, other]

consentAtstring

Clients Phase 2 gap 4 — DPPA §13 consent capture at create. Optional at DTO level so ops back-fills / migration paths can pass through; create() stamps Client.consentAt + emits client.consent.captured_at_create audit when the caller provides evidence.

consentEvidenceIdstring

DataTransferConsent id acting as evidence for the DPPA §13 capture.

CreateClientDto
{
"firstName": "string",
"lastName": "string",
"phone": "string",
"email": "string",
"nationalId": "string",
"dob": "string",
"address": "string",
"gender": "string",
"dobPurpose": "underwriting_age_band",
"consentAt": "string",
"consentEvidenceId": "string"
}