1. List Rooms

    [
      {
        "id": "uuid",
        "name": "Room Name",
        "owner": {"id": "uuid", "username": "owner_username"},
        "members": [{"id": "uuid", "username": "member_username"}],
        "is_private": false,
        "created_at": "timestamp",
        "updated_at": "timestamp"
      }
    ]
    
    
  2. Create Room

    {
      "name": "New Room Name",
      "is_private": false
    }
    
    
  3. Get Room Details

  4. Update Room

    {
      "name": "Updated Room Name",
      "is_private": true
    }
    
    
  5. Delete Room

  6. Join Room

    {
      "detail": "Joined the room successfully."
    }
    
    
  7. Leave Room

    {
      "detail": "Left the room successfully."
    }
    
    
  8. List Room Messages

    [
      {
        "id": "uuid",
        "room": "room_uuid",
        "sender": {"id": "uuid", "username": "sender_username"},
        "message": "Message content",
        "file": "file_url_if_any",
        "created_at": "timestamp",
        "updated_at": "timestamp"
      }
    ]
    
    
  9. Send Message

    {
      "message": "New message content"
    }
    
    
  10. Upload File Message

  11. Create Private Room

  12. Create Group Chat

    {
      "name": "Group Chat Name",
      "members": ["username1", "username2"]
    }
    
    

Note:

This documentation covers the basic CRUD operations for rooms and messages, as well as joining/leaving rooms and handling file uploads.