---
title: "List Holdings"
method: GET
path: "/api/v1/holdings"
tags: ["Holdings"]
---

# List Holdings

`GET /api/v1/holdings`

## Request

- Base URL: `https://api.pensiata.me` (the document declares no server; this is the origin it was published from)
- URL: `https://api.pensiata.me/api/v1/holdings`
- Auth: API key in header `X-API-Key`

Query portfolio holdings with filters.

Data is quarterly portfolio holdings from 2006-2025 for Bulgarian pension funds.

**Filters:**
- Use `manager_slug` (e.g., 'dskrodina', 'saglasie') or `manager_id`
- Use `scheme_code` (e.g., 'upf', 'ppf', 'dpf') or `scheme_id`
- Use `date_from` and `date_to` to specify date range
- Use `min_share` to filter holdings with minimum portfolio share

**Pagination:**
- Default page size is 100, max is 1000
- Results are sorted by `as_of_date` descending by default

## Query parameters

- `manager_id` integer, nullable: Filter by manager ID
- `manager_slug` string, nullable: Filter by manager slug (e.g., 'dskrodina')
- `scheme_id` integer, nullable: Filter by scheme ID
- `scheme_code` string, nullable: Filter by scheme code (e.g., 'upf', 'ppf')
- `date_from` string, date, nullable: Start date (YYYY-MM-DD)
- `date_to` string, date, nullable: End date (YYYY-MM-DD)
- `instrument_type` string, nullable: Filter by instrument type name
- `issuer_name` string, nullable: Filter by issuer name (partial match)
- `min_share` number, nullable: Minimum portfolio share (%)
- `page` integer: Page number
- `page_size` integer: Items per page
- `sort_by` string: Sort field
- `sort_order` string: Sort order

## Cookies

- `access_token` string, nullable

## Response `200`

Successful Response

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/pensiata/apis/bulgarian-pension-fund-data-api.md) · [All operations](https://skmtc.dev/pensiata/apis/bulgarian-pension-fund-data-api/llms.txt) · [OpenAPI document](https://skmtc.dev/pensiata/apis/bulgarian-pension-fund-data-api/revisions/cd24747298ae?raw)
