> ## Documentation Index
> Fetch the complete documentation index at: https://docs.core3.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Projects Data API

> REST API for project listings, PoL scores, ratings, search, and project detail sections—served behind the CORE3 gateway at projects_data.

The **Projects Data** service exposes JSON endpoints for CORE3 project intelligence: aggregate and per-project Probability of Loss (PoL), ratings, search, and structured sections (security, financial, and related domains). Public traffic reaches it through the CORE3 **API gateway**, which mounts the service under the `projects_data` path prefix.

<Tip>If you're interested in our API, feel free to reach out via [info@core3.io](mailto:info@core3.io)</Tip>

## Base URL

All paths in the machine-readable specification are relative to the gateway mount:

```text theme={null}
https://api.core3.io/projects_data
```

Append the versioned route from the spec (for example `/v1/...`). A full request for a project PoL history chart over the last 30 days looks like this:

```bash theme={null}
curl -sS "https://api.core3.io/projects_data/v1/ethereum/pol/history/chart?days=30" \
  -H "x-api-key: core3_your_key_here"
```

In that URL, `ethereum` is the `{slug}` path parameter for the project; the segment `pol` is part of the fixed route (PoL score).

## Authentication

Every request must include a valid API key in the **`x-api-key`** header. Keys issued for this API begin with the prefix **`core3_`**.

```bash theme={null}
curl -sS "https://api.core3.io/projects_data/v1/health" \
  -H "x-api-key: core3_live_0123456789abcdef"
```

Do not embed keys in client-side public code. Prefer a backend or serverless proxy that adds the header.

## Conventions

* **HTTP method:** All documented operations use `GET`.
* **Version:** Routes are under `/v1`.
* **`{slug}`:** Project identifier in the path (examples in the spec use values like `hacken`; your integration should use the slug returned by list, ratings, or search endpoints).
* **History by range:** Several PoL endpoints expect Unix timestamp bounds: required query parameters **`from`** and **`to`** (seconds, inclusive range per your integration's contract).
* **History by chart window:** Chart-oriented endpoints accept optional **`days`** (integer `1`–`365`). Omit `days` for all-time history, as described in the spec.

## Endpoint map

### Health

| Method | Path         | Summary                                         |
| ------ | ------------ | ----------------------------------------------- |
| `GET`  | `/v1/health` | Liveness and dependency status (`200` / `503`). |

### PoL score

| Method | Path                                       | Query / path notes           |
| ------ | ------------------------------------------ | ---------------------------- |
| `GET`  | `/v1/pol`                                  | Current index-level PoL.     |
| `GET`  | `/v1/pol/history`                          | `from`, `to` (required).     |
| `GET`  | `/v1/pol/history/chart`                    | `days` optional (`1`–`365`). |
| `GET`  | `/v1/{slug}/pol/current`                   | Project current PoL.         |
| `GET`  | `/v1/{slug}/pol/history`                   | `from`, `to` (required).     |
| `GET`  | `/v1/{slug}/pol/history/chart`             | `days` optional.             |
| `GET`  | `/v1/{slug}/pol/by_category`               | Breakdown by category.       |
| `GET`  | `/v1/{slug}/pol/by_category/history`       | `from`, `to` (required).     |
| `GET`  | `/v1/{slug}/pol/by_category/history/chart` | `days` optional.             |
| `GET`  | `/v1/{slug}/pol/by_metric`                 | Breakdown by metric.         |
| `GET`  | `/v1/{slug}/pol/by_metric/history`         | `from`, `to` (required).     |
| `GET`  | `/v1/{slug}/pol/by_metric/history/chart`   | `days` optional.             |

### Projects

| Method | Path                                           | Query / path notes         |
| ------ | ---------------------------------------------- | -------------------------- |
| `GET`  | `/v1/list`                                     | Full project list payload. |
| `GET`  | `/v1/{slug}`                                   | Core project record.       |
| `GET`  | `/v1/{slug}/security`                          | Security section.          |
| `GET`  | `/v1/{slug}/financial`                         | Financial section.         |
| `GET`  | `/v1/{slug}/reputational`                      | Reputational section.      |
| `GET`  | `/v1/{slug}/regulatory`                        | Regulatory section.        |
| `GET`  | `/v1/{slug}/proof_of_voice`                    | Proof of Voice section.    |
| `GET`  | `/v1/{slug}/proof_of_voice/history/chart`      | `days` optional.           |
| `GET`  | `/v1/{slug}/operational`                       | Operational section.       |
| `GET`  | `/v1/{slug}/financial/inflation/history/chart` | `days` optional.           |

### Ratings

| Method | Path                     | Query notes                                                                                                                                                                                                                        |
| ------ | ------------------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `GET`  | `/v1/ratings`            | Pagination: `page` (default `1`), `page_size` (default `20`, max `50`). Filters: `categories`, `market_cap`, `chains`, `compliance` (arrays). Sort: `sort_by` (default `rank`), `sort_direction` (`ASC` / `DESC`, default `DESC`). |
| `GET`  | `/v1/ratings/parameters` | Available sorting and filtering metadata for ratings.                                                                                                                                                                              |

### Search

| Method | Path                  | Query notes                         |
| ------ | --------------------- | ----------------------------------- |
| `GET`  | `/v1/search`          | **`search`** (required)—text query. |
| `GET`  | `/v1/search/trending` | Trending projects list.             |

## Errors and status codes

Follow HTTP semantics. The health endpoint documents **`503`** when checks fail; other routes return standard client and server errors according to gateway and service behavior. On failure, read the response body for any structured message your client already handles.

## Next steps

* Use **`GET /v1/ratings/parameters`** when building ratings UI so sort and filter controls match server-supported values.
* Pair this reference with [Probability of Loss (PoL)](/probability-of-loss) and [Project PoL methodology](/project-pol-methodology) for interpretation of PoL fields in responses.

<Tip>If you're interested in our API, feel free to reach out via [info@core3.io](mailto:info@core3.io)</Tip>
