Skip to content

MyAccountService

Chatto exposes this service below /api/connect.

Shared message and enum definitions are documented in Shared Types And Enums.

Self-service account, profile, avatar, display preference, presence, custom-status, external identity, and account lifecycle commands for the authenticated user.

Updates the authenticated user’s login and/or display name.

POST /api/connect/chatto.api.v1.MyAccountService/UpdateProfile

Request to update the authenticated user’s profile. At least one field must be present.

FieldTypeDescription
display_nameoptional stringNew display name, when changing it. Empty clears the explicit display name. The server also rejects control and confusing invisible characters.
loginoptional stringNew login identifier, when changing it. The server accepts ASCII letters, digits, period, underscore, and hyphen, starting with a letter or digit.

Result of a profile update.

FieldTypeDescription
userUserUpdated user profile.

Uploads and sets the authenticated user’s avatar.

POST /api/connect/chatto.api.v1.MyAccountService/UploadAvatar

Request to upload and set the authenticated user’s avatar.

FieldTypeDescription
imageImageUploadImage payload. The server validates, resizes, and stores a WebP avatar.

Result of uploading the authenticated user’s avatar.

FieldTypeDescription
userUserUpdated user profile.

Deletes the authenticated user’s avatar. The call is idempotent.

POST /api/connect/chatto.api.v1.MyAccountService/DeleteAvatar

Request to delete the authenticated user’s avatar.

Result of deleting the authenticated user’s avatar.

FieldTypeDescription
userUserUpdated user profile.

Updates or adds the authenticated user’s password.

POST /api/connect/chatto.api.v1.MyAccountService/UpdatePassword

Request to update or add the authenticated user’s password.

FieldTypeDescription
passwordstringNew password. The server applies the same password policy as registration and password reset.
current_passwordstringCurrent password. Required when the account already has a password; omitted when adding the first password to a passwordless account.

Result of updating or adding the authenticated account password.

FieldTypeDescription
userUserCurrent authenticated user profile after the password update.

Updates the authenticated user’s display preferences.

POST /api/connect/chatto.api.v1.MyAccountService/UpdateSettings

Request to update the authenticated user’s display preferences. Omitted fields are left unchanged. An empty timezone clears the explicit timezone.

FieldTypeDescription
timezoneoptional stringIANA timezone override. Empty clears the override.
time_formatoptional TimeFormatPreferred time format.

Result of updating display preferences.

FieldTypeDescription
settingsUserSettingsStored settings after merging the request.

Lists configured external identity providers and identities linked to the authenticated account.

POST /api/connect/chatto.api.v1.MyAccountService/ListExternalIdentities

Request to list configured and linked external identities for the current user.

Finite snapshot of configured providers and linked external identities.

FieldTypeDescription
providersrepeated ExternalIdentityProviderConfigured providers the user may link.
linked_identitiesrepeated LinkedExternalIdentityProvider identities already linked to the authenticated user.

Creates a short-lived browser handoff URL for linking a provider identity to the authenticated account. The provider callback completes through chatto.auth.v1.ExternalIdentityAuthService.ConfirmExternalIdentityLink.

POST /api/connect/chatto.api.v1.MyAccountService/StartExternalIdentityLink

Request to start linking a configured provider to the current user.

FieldTypeDescription
provider_idstringProvider ID to link.
redirect_pathstringInternal path to return to after confirmation.
current_passwordstringCurrent password proof for accounts with a password when the active runtime credential is no longer fresh.

Result of preparing an external identity link flow.

FieldTypeDescription
start_urlstringBrowser URL that starts provider authorization on the target server origin.

Disconnects a provider identity from the authenticated account.

POST /api/connect/chatto.api.v1.MyAccountService/DisconnectExternalIdentity

Request to disconnect a linked provider identity from the authenticated user.

FieldTypeDescription
subject_hashstringStable one-way subject hash of the linked identity to disconnect.
current_passwordstringCurrent password proof for accounts with a password when the active runtime credential is no longer fresh.

Result: DisconnectExternalIdentityResponse

Section titled “Result: DisconnectExternalIdentityResponse”

Result of disconnecting a provider identity.

FieldTypeDescription
disconnectedboolTrue when the identity was disconnected.

Updates the current user’s live presence status. This state is transient: clients should refresh it periodically while visible, and should stop calling this RPC when the user chooses to appear offline.

POST /api/connect/chatto.api.v1.MyAccountService/UpdatePresence

Request to update the current user’s live presence status.

FieldTypeDescription
statusPresenceStatusLive status to store for the authenticated user. Offline is rejected.
user_selectedboolTrue when this update comes from a deliberate user selection rather than automatic idle/refresh updates. Automatic updates do not overwrite an active manually selected Away or Do Not Disturb status from another client.

Result of updating live presence.

FieldTypeDescription
statusPresenceStatusReportable status accepted and stored by the server.

Updates or replaces the current user’s custom status. Emoji and text are required, and expires_at must be omitted or in the future.

POST /api/connect/chatto.api.v1.MyAccountService/UpdateCustomStatus

Request to update or replace the current user’s custom status.

FieldTypeDescription
emojistringShort emoji marker displayed with the status.
textstringUser-written status text.
expires_atgoogle.protobuf.TimestampOptional future time after which clients should stop showing the status.

Result of updating the current user’s custom status.

FieldTypeDescription
statusCustomUserStatusStored custom status after validation and normalization.

Deletes the current user’s custom status. The call is idempotent and returns the resulting empty status state.

POST /api/connect/chatto.api.v1.MyAccountService/DeleteCustomStatus

Request to delete the current user’s custom status.

Result of deleting the current user’s custom status.

FieldTypeDescription
statusCustomUserStatusCurrent custom status after the operation. Usually absent after a clear.

Issues a short-lived token used to confirm self-deletion.

POST /api/connect/chatto.api.v1.MyAccountService/RequestAccountDeletion

Request a short-lived confirmation token for deleting the authenticated account.

Result of issuing an account deletion confirmation token.

FieldTypeDescription
confirmation_tokenstringConfirmation token. Clients must pass this to DeleteMyAccount.

Permanently deletes the authenticated account after token validation.

POST /api/connect/chatto.api.v1.MyAccountService/DeleteMyAccount

Request to permanently delete the authenticated account.

FieldTypeDescription
confirmation_tokenstringConfirmation token obtained from RequestAccountDeletion.

Result of deleting the authenticated account.

FieldTypeDescription
deletedboolTrue when the account was deleted.