---
title: "List Owned Resources"
method: GET
path: "/v1/teams/{team_id}/owned-resources"
tags: ["teams"]
---

# List Owned Resources

`GET /v1/teams/{team_id}/owned-resources`

## Request

- Base URL: `https://api.pioneer.ai` (the document declares no server; this is the origin it was published from)
- URL: `https://api.pioneer.ai/v1/teams/{team_id}/owned-resources`
- Auth: one of:
  - API key in header `X-API-Key`
  - HTTP bearer
- TypeScript: <https://skmtc.dev/pioneer/apis/brain-api/docs/v1/teams/:team_id/owned-resources/get.ts> (a function with typed inputs; its response is checked against the schema)

List resources the caller must resolve before leaving.

Args:
    team_id: Team identifier.
    auth: Authenticated caller.

Returns:
    Owned resources and sole-member state.

Raises:
    HTTPException: If the caller is not a member.

## Path parameters

- `team_id` string, required

## Response `200`

Successful Response

- OwnedResourcesResponse: Response for ``GET /teams/{team_id}/owned-resources``. Each key in ``owned`` is a stable resource-type identifier (``projects``, ``datasets``, ``training_jobs``, ``project_evaluation_runs``, ``agent_runs``). Resource types with zero owned rows are omitted so the frontend can render an empty-state card directly when ``len(owned) == 0`` (and also includes ``is_sole_member`` so the UI can route to the destructive sole-member-leave flow without a second round-trip).
  - `success` boolean
  - `is_sole_member` boolean, required
  - `owned` object, required

## Other responses

- `422`: Validation Error

## Changes

- **2026-09-24** `0e5e86e2bae5`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/pioneer/apis/brain-api/changes/v1/teams/:team_id/owned-resources/get.md)

---

[API](https://skmtc.dev/pioneer/apis/brain-api.md) - [All operations](https://skmtc.dev/pioneer/apis/brain-api/llms.txt) - [OpenAPI document](https://skmtc.dev/pioneer/apis/brain-api/revisions/0e5e86e2bae5?raw)
