---
title: "Get Owner"
method: GET
path: "/snapshots/{snapshot_id}/owners/{owner_key}"
tags: ["owners"]
---

# Get Owner

`GET /snapshots/{snapshot_id}/owners/{owner_key}`

Full profile for one contributor.

``owner_key`` is either the contributor's lower-cased email or
``name:<display>`` for anonymous-email entries. URL-encoded by the caller.

## Path parameters

- `snapshot_id` string, required
- `owner_key` string, required

## Response `200`

Successful Response

- OwnerProfileResponse
  - `key` string, required
  - `name` string, required
  - `email` string, nullable, required
  - `files_owned` integer, required
  - `hotspots_owned` integer, required
  - `silo_modules` integer, required
  - `dead_code_files_owned` integer, required
  - `dead_code_lines_owned` integer, required
  - `commit_count_90d` integer, required
  - `last_commit_at` string, date-time, nullable, required
  - `first_commit_at` string, date-time, nullable, required
  - `bus_factor_risk_files` integer, required
  - `lines_added_90d_est` integer, required
  - `lines_deleted_90d_est` integer, required
  - `modules` OwnerModuleRollup[], required
    - `module_path` string, required
    - `file_count` integer, required
    - `hotspot_count` integer, required
    - `dominant_pct` number, required
  - `top_files` OwnerFileEntry[], required
    - `file_path` string, required
    - `commit_count_90d` integer, required
    - `churn_percentile` number, required
    - `bus_factor` integer, required
    - `is_hotspot` boolean, required
    - `last_commit_at` string, date-time, nullable, required
    - `primary_owner_commit_pct` number, nullable, required
  - `files_touched_total` integer
  - `co_authors` OwnerCoAuthor[], required
    - `name` string, required
    - `email` string, nullable, required
    - `shared_files` integer, required
    - `co_change_strength` number, required
  - `co_authors_total` integer
  - `commit_categories` object, required
  - `agent_collab` OwnerAgentCollab — How much coding-agent activity lands on the files this person owns. Aggregated from the per-file agent-provenance rollup (GitMetadata) over the owner's primary-owned files — agent identity per commit lives on the commits surface, the per-file rollup only carries counts and tiers.
    - `files_with_agent_commits` integer, required
    - `agent_commit_count` integer, required
    - `agent_share_pct` number, nullable, required
    - `tier_counts` object

## Other responses

- `422` — Validation Error

## Changes

- **2026-09-25** `98c833b3480d` — 34 info
  - the response property `agent_collab/anyOf[subschema #1: OwnerAgentCollab]/agent_commit_count` became required for the status `200`
  - the response property `agent_collab/anyOf[subschema #1: OwnerAgentCollab]/agent_share_pct` became required for the status `200`
  - the response property `agent_collab/anyOf[subschema #1: OwnerAgentCollab]/files_with_agent_commits` became required for the status `200`
  - the response property `bus_factor_risk_files` became required for the status `200`
  - …30 more

[Change history](https://skmtc.dev/repowise/apis/repowise-hosted-api/changes/snapshots/:snapshot_id/owners/:owner_key/get.md)

---

[API](https://skmtc.dev/repowise/apis/repowise-hosted-api.md) · [All operations](https://skmtc.dev/repowise/apis/repowise-hosted-api/llms.txt) · [OpenAPI document](https://skmtc.dev/repowise/apis/repowise-hosted-api/revisions/29a9df53f763?raw)
