Get creator or last rebaser/pusher of a branch

For a bunch (~100-1000) of changing branches for different Git repos I regularly have to check via REST API reliably who has been the (last) maintainer (either the creator of it or the person who changed the branch the last time, e.g. via rebase) on a remote gitlab repo (self hosted). I struggle to find a way that does not require to do tedious extra work.

We use the the branches endpoint to fetch the list of branches:

And then get information about it using the single branch endpoint:

Sadly the output of that branch does only provide the author of the last commit on this branch and neither the rebaser nor the creator. The last commit’s author is totally unrelated to the person who changed the branch’s pointer when a rebase has been done.

  "name": "master",
  "commit": {
    "id": "6641e91ec509bd4e0bf23414b37fdb470414c47",
    "short_id": "6641e91e",
    "created_at": "2021-03-03T10:53:28.000+01:00",
    "parent_ids": [
    "title": "I changed things",
    "message": "I changed things",
    "author_name": "the-developer",
    "author_email": "",
    "authored_date": "2021-03-03T10:53:13.000+01:00",
    "committer_name": "the-developer",
    "committer_email": "",
    "committed_date": "2021-03-03T10:53:28.000+01:00",
    "web_url": ""
  "merged": false,
  "protected": true,
  "developers_can_push": false,
  "developers_can_merge": true,
  "can_push": false,
  "default": true,
  "web_url": ""

Possible solutions I analyzed and which failed due to different reasons:

  1. Use Webhook to listen to push events
    Doesn’t work for old existing repos/branches and fails when the hooked-in app went offline.

  2. Use Events API endpoint to fetch all events from all time and filter them to relevant push events
    Would work but is a lot of error prone effort because we have to support paging (max 100 entries for over 1000 pages, every day a new one, and rate limiting throttles this to several minutes) and filtering gets harder over time. Idea was to push into a database just to have a quick way to access them – Still this is unnecessary hard to keep synchronized.

  3. Use GraphQL to fetch just the events for the branch we want to know
    That would let us work around the paging problem: Only one request for the data we need. Sadly the GraphML schema does not include the same events.

Any idea how to get the relevant information (creator or last change)?
Where can I file a feature request to either improve branch endpoint information or extend graphml schema?

Thanks for your time!