Skip to main content

Interface: Participant

Participant payload for REST API flow:

  • chat.addParticipants (POST /chats/{id}/participants)
  • chat.sendMessage (POST /chats/{id}/messages — participants[] on new chats)
  • chat.create (POST /chats — participants[] on creation)

Lenient: backend only requires id; everything else is optional and sanitized server-side (see components/schemas/ParticipantInput in openapi.yml). If you're building a signed iframe URL instead, use UrlRecipient — that flow has stricter rules.

Properties​

email?​

optional email?: string


id​

id: string


is_bot?​

optional is_bot?: boolean

Marks the participant as a bot. Only read when this call creates the user — for someone the backend already knows the field is ignored, so the flag cannot be turned around later.


optional link?: string


name?​

optional name?: string


picture?​

optional picture?: string


rights?​

optional rights?: object

Per-chat right overrides applied when the participant is attached (booleans + edit_messages/delete_messages/pin_messages enums — same shape as updateParticipantRights). Read back via getParticipantRights.

can_press_buttons?​

optional can_press_buttons?: boolean | null

create_pool?​

optional create_pool?: boolean | null

delete_messages?​

optional delete_messages?: "none" | "my" | "any" | null

edit_messages?​

optional edit_messages?: "none" | "my" | "any" | null

kick_users?​

optional kick_users?: boolean | null

leave_chats?​

optional leave_chats?: boolean | null

participate_pool?​

optional participate_pool?: boolean | null

pin_messages?​

optional pin_messages?: "none" | "for_me" | "for_everyone" | null

react_messages?​

optional react_messages?: boolean | null

send_audio?​

optional send_audio?: boolean | null

send_documents?​

optional send_documents?: boolean | null

send_location?​

optional send_location?: boolean | null

send_messages?​

optional send_messages?: boolean | null

send_photos?​

optional send_photos?: boolean | null

send_read_state?​

optional send_read_state?: boolean | null

send_typing?​

optional send_typing?: boolean | null

send_voices?​

optional send_voices?: boolean | null

track_presence?​

optional track_presence?: boolean | null

track_read_state?​

optional track_read_state?: boolean | null