Skip to Content

UserApi

All URIs are relative to https://business.apis.kesk.app/v1 

MethodHTTP requestDescription
addFavouriteProductPOST /favouritesAdd product to favourites
addUserEmailPOST /user/emailsAdd email address
addUserPhonePOST /user/phonesAdd phone number
appCreateVerificationSessionGET /user/idv/verification-sessionCreate identity verification session
appGetVerificationStatusGET /user/idv/verification-statusGet identity verification status
appSubmitNfcVerificationPOST /user/idv/nfc/submitSubmit NFC identity verification
cancelAccountDeletionPOST /user/cancel-account-deletionCancel account deletion
confirmAccountDeletionPOST /user/confirm-account-deletionConfirm account deletion with OTP
confirmDataExportPOST /user/confirm-data-exportConfirm data export with OTP
deleteAccountPOST /account/deleteDelete user account permanently
downloadExportGET /user/download-export/{filename}Download exported data file
getGdprStatusGET /user/gdpr-statusGet GDPR status
getMyProfileGET /users/meGet authenticated user profile
getProfileValidationGET /user/profile-validationValidate user profile status
getUserEmailGET /user/emails/{email_id}Get email address by ID
getUserPhoneGET /user/phones/{phone_id}Get phone number by ID
listFavouriteProductsGET /favouritesList favourite products
listUserEmailsGET /user/emailsList email addresses
listUserPhonesGET /user/phonesList phone numbers
registerFcmTokenPOST /account/fcm-tokensRegister FCM token for push notifications
removeFavouriteProductDELETE /favourites/{id}Remove product from favourites
removeUserEmailDELETE /user/emails/{email_id}Remove email address
removeUserPhoneDELETE /user/phones/{phone_id}Remove phone number
requestAccountDeletionPOST /user/request-account-deletionRequest account deletion
requestDataExportPOST /user/request-data-exportRequest user data export
setPrimaryUserEmailPUT /user/emails/{email_id}/make-defaultSet email as primary/default
setPrimaryUserPhonePUT /user/phones/{phone_id}/make-defaultSet phone number as primary/default
unregisterFcmTokenDELETE /account/fcm-tokens/{fcm_token}Unregister FCM token
verifyUserEmailPOST /user/emails/{email_id}/verifyVerify email address
verifyUserPhonePOST /user/phones/{phone_id}/verifyVerify phone number

addFavouriteProduct

MessageResponse addFavouriteProduct(AddFavouriteProductInput)

Add product to favourites

Marks a product as a favourite for the authenticated user.

Parameters

NameTypeDescriptionNotes
AddFavouriteProductInputAddFavouriteProductInput

Return type

MessageResponse

Authorization

JwtAuthScheme

HTTP request headers

  • Content-Type: application/json; charset=utf-8
  • Accept: application/json; charset=utf-8

addUserEmail

UserEmailResponse addUserEmail(CreateUserEmailRequest)

Add email address

Adds a new email address to the user’s account. Sends a verification email with a token to confirm ownership before the email can be used for account operations.

Parameters

NameTypeDescriptionNotes
CreateUserEmailRequestCreateUserEmailRequestEmail address to add to the user’s account

Return type

UserEmailResponse

Authorization

JwtAuthScheme

HTTP request headers

  • Content-Type: application/json; charset=utf-8
  • Accept: application/json; charset=utf-8

addUserPhone

UserPhoneNumberResponse addUserPhone(CreateUserPhoneNumberRequest)

Add phone number

Adds a new phone number to the user’s account with country code. Sends a verification SMS with a token to confirm ownership before the number can be used for account operations.

Parameters

NameTypeDescriptionNotes
CreateUserPhoneNumberRequestCreateUserPhoneNumberRequestPhone number and country code to add to the user’s account

Return type

UserPhoneNumberResponse

Authorization

JwtAuthScheme

HTTP request headers

  • Content-Type: application/json; charset=utf-8
  • Accept: application/json; charset=utf-8

appCreateVerificationSession

VerificationSession appCreateVerificationSession()

Create identity verification session

Initiates a new identity verification session using Stripe Identity. Returns client credentials required for the user to submit identity documents through the Stripe Identity SDK.

Parameters

This endpoint does not need any parameter.

Return type

VerificationSession

Authorization

JwtAuthScheme

HTTP request headers

  • Content-Type: Not defined
  • Accept: application/json; charset=utf-8

appGetVerificationStatus

VerificationStatusResponse appGetVerificationStatus()

Get identity verification status

Retrieves the current status of the user’s identity verification from all available methods (Stripe Identity and NFC). Returns a combined status showing verification state from both sources.

Parameters

This endpoint does not need any parameter.

Return type

VerificationStatusResponse

Authorization

JwtAuthScheme

HTTP request headers

  • Content-Type: Not defined
  • Accept: application/json; charset=utf-8

appSubmitNfcVerification

NfcIdentityVerificationResponse appSubmitNfcVerification(NfcIdentityVerificationRequest)

Submit NFC identity verification

Submits NFC-based identity verification data extracted from a passport or ID card chip. Performs comprehensive validation including chip authentication, document expiry, and data integrity checks.

Parameters

NameTypeDescriptionNotes
NfcIdentityVerificationRequestNfcIdentityVerificationRequestNFC verification data

Return type

NfcIdentityVerificationResponse

Authorization

JwtAuthScheme

HTTP request headers

  • Content-Type: application/json; charset=utf-8
  • Accept: application/json; charset=utf-8

cancelAccountDeletion

AccountDeletionResponse cancelAccountDeletion()

Cancel account deletion

Cancels a pending account deletion request within the grace period. Allows users to restore their account before permanent deletion occurs.

Parameters

This endpoint does not need any parameter.

Return type

AccountDeletionResponse

Authorization

JwtAuthScheme

HTTP request headers

  • Content-Type: Not defined
  • Accept: application/json; charset=utf-8

confirmAccountDeletion

AccountDeletionResponse confirmAccountDeletion(ConfirmAccountDeletionPayload)

Confirm account deletion with OTP

Verifies the account deletion request using the OTP code sent to the user’s email. Upon successful verification, schedules account deletion after the grace period expires.

Parameters

NameTypeDescriptionNotes
ConfirmAccountDeletionPayloadConfirmAccountDeletionPayloadPayload containing the OTP verification code

Return type

AccountDeletionResponse

Authorization

JwtAuthScheme

HTTP request headers

  • Content-Type: application/json; charset=utf-8
  • Accept: application/json; charset=utf-8

confirmDataExport

DataExportResponse confirmDataExport(ConfirmDataExportPayload)

Confirm data export with OTP

Verifies the data export request using the OTP code sent to the user’s email. Upon successful verification, queues the data export job for processing and file generation.

Parameters

NameTypeDescriptionNotes
ConfirmDataExportPayloadConfirmDataExportPayloadPayload containing the OTP verification code

Return type

DataExportResponse

Authorization

JwtAuthScheme

HTTP request headers

  • Content-Type: application/json; charset=utf-8
  • Accept: application/json; charset=utf-8

deleteAccount

DeleteAccountResult deleteAccount(DeleteAccountRequest)

Delete user account permanently

Permanently deletes the authenticated user’s account after password verification. This action is immediate and irreversible, removing all user data from the system.

Parameters

NameTypeDescriptionNotes
DeleteAccountRequestDeleteAccountRequestPassword confirmation required to authorize account deletion

Return type

DeleteAccountResult

Authorization

JwtAuthScheme

HTTP request headers

  • Content-Type: application/json; charset=utf-8
  • Accept: application/json; charset=utf-8

downloadExport

String downloadExport(filename)

Download exported data file

Downloads a generated data export file. Verifies user ownership and file expiration before serving the export file. Files are typically available for a limited time after generation.

Parameters

NameTypeDescriptionNotes
filenameStringFilename of the export file to download[default to null]

Return type

String

Authorization

JwtAuthScheme

HTTP request headers

  • Content-Type: Not defined
  • Accept: application/json; charset=utf-8

getGdprStatus

GdprStatusResponse getGdprStatus()

Get GDPR status

Retrieves the user’s current GDPR status including any pending account deletion requests and recent data export requests with their processing status.

Parameters

This endpoint does not need any parameter.

Return type

GdprStatusResponse

Authorization

JwtAuthScheme

HTTP request headers

  • Content-Type: Not defined
  • Accept: application/json; charset=utf-8

getMyProfile

MyProfileResponse getMyProfile()

Get authenticated user profile

Retrieves the complete profile information for the currently authenticated user, including personal details, contact information, and media assets.

Parameters

This endpoint does not need any parameter.

Return type

MyProfileResponse

Authorization

JwtAuthScheme

HTTP request headers

  • Content-Type: Not defined
  • Accept: application/json; charset=utf-8

getProfileValidation

ProfileValidationResponse getProfileValidation()

Validate user profile status

Returns comprehensive profile validation status including email/phone verification and profile completeness. Use this endpoint proactively to check if the user has any outstanding validation requirements before making API calls that require them.

Parameters

This endpoint does not need any parameter.

Return type

ProfileValidationResponse

Authorization

JwtAuthScheme

HTTP request headers

  • Content-Type: Not defined
  • Accept: application/json; charset=utf-8

getUserEmail

UserEmailResponse getUserEmail(email_id)

Get email address by ID

Retrieves a specific email address by its ID. Returns the email details including verification status and whether it is set as the primary email.

Parameters

NameTypeDescriptionNotes
email_idLongUnique identifier of the email address[default to null]

Return type

UserEmailResponse

Authorization

JwtAuthScheme

HTTP request headers

  • Content-Type: Not defined
  • Accept: application/json; charset=utf-8

getUserPhone

UserPhoneNumberResponse getUserPhone(phone_id)

Get phone number by ID

Retrieves a specific phone number by its ID. Returns the phone details including verification status and whether it is set as the primary phone.

Parameters

NameTypeDescriptionNotes
phone_idLongUnique identifier of the phone number[default to null]

Return type

UserPhoneNumberResponse

Authorization

JwtAuthScheme

HTTP request headers

  • Content-Type: Not defined
  • Accept: application/json; charset=utf-8

listFavouriteProducts

PaginatedResponse_Favourite listFavouriteProducts(page, per_page)

List favourite products

Retrieves all products the user has marked as favourites.

Parameters

NameTypeDescriptionNotes
pageInteger[optional] [default to null]
per_pageInteger[optional] [default to null]

Return type

PaginatedResponse_Favourite

Authorization

JwtAuthScheme

HTTP request headers

  • Content-Type: Not defined
  • Accept: application/json; charset=utf-8

listUserEmails

PaginatedResponse_UserEmailResponse listUserEmails(page, per_page)

List email addresses

Retrieves all email addresses associated with the user’s account, including their verification status and whether they are set as the primary email for account communications.

Parameters

NameTypeDescriptionNotes
pageIntegerPage number for pagination (starts at 1)[optional] [default to null]
per_pageIntegerNumber of items per page (default: 20)[optional] [default to null]

Return type

PaginatedResponse_UserEmailResponse

Authorization

JwtAuthScheme

HTTP request headers

  • Content-Type: Not defined
  • Accept: application/json; charset=utf-8

listUserPhones

PaginatedResponse_UserPhoneNumberResponse listUserPhones(page, per_page)

List phone numbers

Retrieves all phone numbers associated with the user’s account, including their verification status and whether they are set as the primary number for SMS communications.

Parameters

NameTypeDescriptionNotes
pageIntegerPage number for pagination (starts at 1)[optional] [default to null]
per_pageIntegerNumber of items per page (default: 20)[optional] [default to null]

Return type

PaginatedResponse_UserPhoneNumberResponse

Authorization

JwtAuthScheme

HTTP request headers

  • Content-Type: Not defined
  • Accept: application/json; charset=utf-8

registerFcmToken

GenericSuccess registerFcmToken(RegisterFcmTokenRequest)

Register FCM token for push notifications

Registers a Firebase Cloud Messaging token for the authenticated user to enable push notifications. Associates the device token with the user account and platform type.

Parameters

NameTypeDescriptionNotes
RegisterFcmTokenRequestRegisterFcmTokenRequestFCM token and platform information to register

Return type

GenericSuccess

Authorization

JwtAuthScheme

HTTP request headers

  • Content-Type: application/json; charset=utf-8
  • Accept: application/json; charset=utf-8

removeFavouriteProduct

MessageResponse removeFavouriteProduct(id)

Remove product from favourites

Removes a product from the user’s favourites list.

Parameters

NameTypeDescriptionNotes
idLong[default to null]

Return type

MessageResponse

Authorization

JwtAuthScheme

HTTP request headers

  • Content-Type: Not defined
  • Accept: application/json; charset=utf-8

removeUserEmail

MessageResponse removeUserEmail(email_id)

Remove email address

Removes an email address from the user’s account. Primary email addresses may require setting a new primary email before removal.

Parameters

NameTypeDescriptionNotes
email_idLongUnique identifier of the email address to remove[default to null]

Return type

MessageResponse

Authorization

JwtAuthScheme

HTTP request headers

  • Content-Type: Not defined
  • Accept: application/json; charset=utf-8

removeUserPhone

MessageResponse removeUserPhone(phone_id)

Remove phone number

Removes a phone number from the user’s account. Primary phone numbers may require setting a new primary number before removal.

Parameters

NameTypeDescriptionNotes
phone_idLongUnique identifier of the phone number to remove[default to null]

Return type

MessageResponse

Authorization

JwtAuthScheme

HTTP request headers

  • Content-Type: Not defined
  • Accept: application/json; charset=utf-8

requestAccountDeletion

AccountDeletionResponse requestAccountDeletion(body)

Request account deletion

Initiates a GDPR-compliant account deletion request with grace period. Sends an OTP verification code to the user’s primary email to confirm the deletion request.

Parameters

NameTypeDescriptionNotes
bodyObjectRequest payload for account deletion preferences

Return type

AccountDeletionResponse

Authorization

JwtAuthScheme

HTTP request headers

  • Content-Type: application/json; charset=utf-8
  • Accept: application/json; charset=utf-8

requestDataExport

DataExportResponse requestDataExport(body)

Request user data export

Initiates a GDPR-compliant data export request for the authenticated user. Sends an OTP verification code to the user’s primary email to confirm the export request.

Parameters

NameTypeDescriptionNotes
bodyObjectRequest payload containing data export preferences

Return type

DataExportResponse

Authorization

JwtAuthScheme

HTTP request headers

  • Content-Type: application/json; charset=utf-8
  • Accept: application/json; charset=utf-8

setPrimaryUserEmail

UserEmailResponse setPrimaryUserEmail(email_id)

Set email as primary/default

Sets the specified email address as the primary email for the user’s account. The primary email is used for account communications and notifications.

Parameters

NameTypeDescriptionNotes
email_idLongUnique identifier of the email address to set as primary[default to null]

Return type

UserEmailResponse

Authorization

JwtAuthScheme

HTTP request headers

  • Content-Type: Not defined
  • Accept: application/json; charset=utf-8

setPrimaryUserPhone

UserPhoneNumberResponse setPrimaryUserPhone(phone_id)

Set phone number as primary/default

Sets the specified phone number as the primary phone for the user’s account. The primary phone is used for SMS communications and two-factor authentication.

Parameters

NameTypeDescriptionNotes
phone_idLongUnique identifier of the phone number to set as primary[default to null]

Return type

UserPhoneNumberResponse

Authorization

JwtAuthScheme

HTTP request headers

  • Content-Type: Not defined
  • Accept: application/json; charset=utf-8

unregisterFcmToken

GenericSuccess unregisterFcmToken(fcm_token)

Unregister FCM token

Removes a Firebase Cloud Messaging token from the user’s account. Use this when a device is logged out or the user wants to stop receiving push notifications on a specific device.

Parameters

NameTypeDescriptionNotes
fcm_tokenStringFCM token to remove from the user’s account[default to null]

Return type

GenericSuccess

Authorization

JwtAuthScheme

HTTP request headers

  • Content-Type: Not defined
  • Accept: application/json; charset=utf-8

verifyUserEmail

UserEmailResponse verifyUserEmail(email_id, VerificationTokenRequest)

Verify email address

Verifies ownership of an email address using the verification token sent to the email. Verified emails can be used for account recovery and sensitive operations.

Parameters

NameTypeDescriptionNotes
email_idLongUnique identifier of the email address to verify[default to null]
VerificationTokenRequestVerificationTokenRequestPayload containing the verification token from email

Return type

UserEmailResponse

Authorization

JwtAuthScheme

HTTP request headers

  • Content-Type: application/json; charset=utf-8
  • Accept: application/json; charset=utf-8

verifyUserPhone

UserPhoneNumberResponse verifyUserPhone(phone_id, VerificationTokenRequest)

Verify phone number

Verifies ownership of a phone number using the verification token sent via SMS. Verified phone numbers can be used for account recovery and two-factor authentication.

Parameters

NameTypeDescriptionNotes
phone_idLongUnique identifier of the phone number to verify[default to null]
VerificationTokenRequestVerificationTokenRequestPayload containing the verification token from SMS

Return type

UserPhoneNumberResponse

Authorization

JwtAuthScheme

HTTP request headers

  • Content-Type: application/json; charset=utf-8
  • Accept: application/json; charset=utf-8