For the first point, I think you are looking for this:
curl --header "PRIVATE-TOKEN: ****" "http://gitlab/api/v3/projects/:project_id:/merge_requests/:mr_id:/commits"
The second point can be found with the attribute author
curl --header "PRIVATE-TOKEN: ****" "http://gitlab/api/v3/projects/:project_id:/merge_requests/:mr_id:
the last point is harder when you have a commit list you can get diff
curl --header "PRIVATE-TOKEN: ****" "http://gitlab/api/v3/projects/:project_id:/repository/commits/:sha/diff
source share