---
title: "List available PnL providers"
method: GET
path: "/pnl/providers"
tags: ["PnL"]
---

# List available PnL providers

`GET /pnl/providers`

## Request

- Base URL: `https://data.kairos.trade`
- URL: `https://data.kairos.trade/pnl/providers`
- Auth: API key in header `X-Client-Id` and API key in header `X-Api-Key` and API key in header `X-Api-Secret`

Returns the set of providers the merged-PnL pipeline knows about, each with a human-readable description. For API-key callers, the set is additionally filtered to providers whose API access is currently enabled — JWT-user and admin callers are exempt from this check. No endpoint-specific rate limit; the global default of 100 requests/minute applies.

## Response `200`

List of available PnL providers.

- PnlProviderInfo[]
  - `name` string, required
  - `description` string, required

## Other responses

- `401`: No valid credential presented — missing/invalid API-key headers, or an invalid/expired session token.
- `403`: API key is missing the `position:read` scope, or the platform's API access is disabled via feature flag.
- `422`: Request failed FastAPI parameter validation.
- `429`: Rate limit exceeded for this route's sliding window, keyed on the session `sub` when authenticated and on the trusted client IP otherwise. Honor `Retry-After`. A per-API-key data ceiling (set per credential) rejects with `{"detail": "API key data rate limit exceeded"}` instead of the `error` envelope below.
- `503`: Per-venue API-access flag could not be read or validated.

---

[API](https://skmtc.dev/kairos/apis/kairos-data-api.md) - [All operations](https://skmtc.dev/kairos/apis/kairos-data-api/llms.txt) - [OpenAPI document](https://skmtc.dev/kairos/apis/kairos-data-api/revisions/cf6b76079e38?raw)
