Make the API response object better structured
Currently, a response object like a tweet has a data field and includes field. This structure isn't really helpful, as the author is sent inside this "includes" field which also has other users, like a mentioned user. Instead of adding extra fields inside a totally seperate "includes" object, add these inside the "tweet" object itself. Like put the user who tweeted inside the "tweet.author" and the mentioned users inside "tweet.mentions" or something. These fields will not be present when they are not opted but will be present when opted in. This structure will really help library developers like me. As it is much more intuitive and most of other APIs do the same. The user object has the same problem.
tldr: remove the "includes" objet all together and add all the optional fields inside the single data object under appropriate properties like I have written above. Thanks.