# Namespace EchoHub.Core.DTOs | EchoHub Documentation

# Namespace EchoHub.Core.DTOs

### Classes

ApiResponse

ApiResponse<T>

AssignRoleRequest

AttachmentDto

  A file attached to a message. AsciiPreview holds the color-tag art for images (null otherwise). For end-to-end encrypted channels the content behind Url and the preview are ciphertext the server cannot read.

AvatarUploadResponse

BanRequest

ChannelCryptoDto

  Public crypto metadata for a channel — enough for a client to derive its join credential from a passphrase. Never includes the wrapped room key.

ChannelDto

ChannelMetaDto

  Human-facing summary of a channel (the `/meta` command). For encrypted channels the server still knows these figures — count, timestamps, and stored blob sizes — even though it cannot read the content itself. EstimatedSizeBytes is the sum of stored attachment blob sizes plus message text length, so it is an estimate, not an exact on-disk total.

ChannelOperationResult

CreateChannelRequest

CreateInviteRequest

DeleteAccountRequest

  Password re-confirmation for destructive self-service account actions.

EmbedDto

EncryptionKeyResponse

ErrorResponse

ExportedAttachmentDto

ExportedMessageDto

InviteDto

JoinChannelResult

KickRequest

LoginRequest

LoginResponse

MessageDto

MuteRequest

PaginatedResponse<T>

RefreshRequest

RegisterRequest

RekeyChannelRequest

  Passphrase change for an encrypted channel: the client proves knowledge of the old passphrase (old auth key), then supplies the re-wrapped room key under the new one.

ReplyRefDto

  Reference to the message a reply targets. Content is treated exactly like message content on the wire: transport-encrypted, and for end-to-end encrypted rooms it is room ciphertext the client must decrypt (the server truncates only plaintext snippets). Null on a MessageDto when the original message no longer exists.

SendMessageRequest

SendUrlRequest

ServerStatusDto

UpdateProfileRequest

UpdateStatusRequest

UpdateTopicRequest

UserDataExportDto

  Everything the server holds about a user, as stored. For end-to-end encrypted rooms the message content in here is room ciphertext — the server cannot include plaintext it never had.

UserDto

UserOperationResult

UserPresenceDto

UserProfileDto

### Enums

ChannelError

UserError