Skip to main content
GET
/
api
/
v1
/
repositories
/
{repo_id}
/
ownership
Bus-factor signal + capped human contributors for one repo (spec §8).
curl --request GET \
  --url https://api.example.com/api/v1/repositories/{repo_id}/ownership \
  --header 'X-API-Key: <api-key>'
{
  "bus_factor": 123,
  "contributors": [
    {
      "commit_count": 123,
      "name": "<string>",
      "share": 123,
      "is_bot": false
    }
  ],
  "contributors_total": 123,
  "human_author_count": 123,
  "top_author_share": 123,
  "computed_at": "2023-11-07T05:31:56Z",
  "top_author": {
    "name": "<string>",
    "share": 123
  },
  "window": {
    "end": "2023-11-07T05:31:56Z",
    "start": "2023-11-07T05:31:56Z"
  }
}

Authorizations

X-API-Key
string
header
required

Headers

X-Workspace-Id
string | null

Path Parameters

repo_id
string<uuid>
required

Query Parameters

limit
integer
default:100

Maximum items to return.

Required range: 1 <= x <= 500
offset
integer
default:0

Items to skip.

Required range: x >= 0

Cookies

riftmap_access
string | null

Response

Successful Response

Per-repo ownership signal + capped human contributors (spec §8).

Returns the signal computed at the latest completed scan of the repo's connected org. When no signal row exists yet (OWNERSHIP_SIGNAL_ENABLED is off, or the scan ran before backfill), all numeric fields are 0, top_author/window/computed_at are null, and contributors is empty — endpoints stay callable so agents do not need to special-case "ownership not enabled yet".

bus_factor
integer
required
contributors
ContributorEntry · object[]
required
contributors_total
integer
required
human_author_count
integer
required
top_author_share
number
required
computed_at
string<date-time> | null
top_author
TopAuthor · object

Name + share of the single top contributor (humans only).

window
OwnershipWindow · object

The trailing window the signal was computed over.