Skip to content

UpdateCustomerSelf

Endpoint

PUT /customer/me

Updates the public avatar reference for the authenticated customer. The server accepts a legacy UUID filename with an optional supported image extension, or a /storage/-prefixed equivalent, and normalizes the prefix. A UUID with an extension in the legacy format does not have to be registered through the upload endpoint. For newly uploaded files, use a public file created with purpose customer_avatar. Arbitrary URLs and private file references are rejected. See Upload Customer Avatar.

Authorization

Requires a SESSION_CUSTOMER token. A customer can update only the profile identified by that session.

Request

avatar is required and is a string of at most 4096 characters.

Request Parameters

Field Type Required Description
avatar string Yes Avatar reference, up to 4096 characters. A supported legacy UUID filename is accepted directly; newly uploaded files must be public and use purpose customer_avatar
{
  "avatar": "8e68414e-0e3f-48dd-b7b8-f5be9e26d4f7.svg"
}

Supported legacy avatar file extensions are svg, png, jpg, jpeg, webp, and gif. References without an extension are also accepted when they are UUIDs returned by the customer-avatar upload flow.

Response

Returns the complete customer JSON object in customer, including all fields listed below. Sensitive authentication fields such as password hashes and OTP secrets are not included.

{
  "customer": {
    "customer_id": 1,
    "external_id": "",
    "type": 0,
    "status": 0,
    "lifecycle_flags": 0,
    "customer_kind": 0,
    "conversion_flags": 0,
    "enable": 1,
    "enable_otp": 0,
    "deposit_allowed": 1,
    "withdrawal_allowed": 1,
    "first_name": "John",
    "last_name": "Smith",
    "middle_name": "",
    "full_name": "John Smith",
    "birth_date": 0,
    "citizenship": "",
    "country_of_residence": "",
    "address_of_residence": "",
    "avatar": "8e68414e-0e3f-48dd-b7b8-f5be9e26d4f7.svg",
    "email": "[email protected]",
    "phone": "+35700000000",
    "preferred_language": "en",
    "timezone": "Asia/Nicosia",
    "brand": "default",
    "desk": "",
    "manager_id": 0,
    "lead_source": "",
    "campaign": "",
    "affiliate_id": "",
    "introducer_id": "",
    "source_type": 1,
    "landing_url": "",
    "referrer_url": "",
    "utm_source": "",
    "utm_medium": "",
    "utm_campaign": "",
    "utm_content": "",
    "utm_term": "",
    "import_batch_id": "",
    "old_id": "",
    "created_by_import": 0,
    "assigned_manager_id": 0,
    "crm_stage": "",
    "segment": "",
    "tags_json": "",
    "email_verified": 0,
    "phone_verified": 0,
    "marketing_allowed": 0,
    "tax_id": "",
    "national_id": "",
    "pep_status": 0,
    "sanctions_status": 0,
    "risk_level": 0,
    "aml_status": 0,
    "kyc_status": 0,
    "kyc_current_level": 0,
    "kyc_required_level": 0,
    "kyc_risk_level": 0,
    "sales_status": 0,
    "risk_status": 0,
    "finance_status": 0,
    "kyc_updated_time": 0,
    "aml_updated_time": 0,
    "last_contact_time": 0,
    "first_contact_time": 0,
    "next_contact_time": 0,
    "conversion_time": 0,
    "last_login_time": 0,
    "archive_time": 0,
    "created_time": 1777600000,
    "updated_time": 1777600100,
    "created_by": 0,
    "updated_by": 0,
    "registration_ip": "",
    "meta_json": ""
  }
}
Field Type Description
customer object Complete updated customer profile
customer.avatar string Normalized avatar reference, without a leading /storage/ prefix

Other customer fields follow the shared Customer Fields schema.

Errors

HTTP Error Description
400 INVALID_AVATAR Avatar reference is missing, malformed, unsupported, an arbitrary URL, or a private file reference
401 INVALID_CUSTOMER_SESSION Session is invalid or does not contain a customer id
404 NOT_FOUND Customer identified by the session was not found
5xx FormatWebCode error Customer state could not be applied; the server returns the status and error code mapped from the underlying state-application result