# API

Pareto APIs provide access to campaign data, vault analytics, token information, and third-party integrated services.

{% code title="Base URL" %}

```
https://api.pareto.credit/
```

{% endcode %}

This is the active **major version v1** of the API. All endpoints listed are part of the `v1` namespace.

## Quick start

1. **Request an API key** via [this form](https://tally.so/r/mY9y6B). Once approved, you will receive a key for authentication
2. Use your preferred HTTP client (e.g., Postman, Axios, cURL)
3. Add your API key as a **Bearer Token** in the `Authorization` header
4. Start by fetching vaults or campaign data:

<pre class="language-bash"><code class="lang-bash"><strong>curl -H "Authorization: Bearer YOUR_API_KEY" https://api.pareto.credit/v1/vaults
</strong></code></pre>

## Endpoints

#### [Campaigns](/developers/api/campaigns.md)

A campaign is a points-based engagement program that allows users to earn rewards by interacting with Pareto.

* `GET /v1/campaigns` — List all campaigns
* `GET /v1/campaigns/:campaignId` — Get campaign by ID
* `GET /v1/campaigns/:campaignId/points` — Get campaign points

#### [Chains](/developers/api/chains.md)

* `GET /v1/chains` — List supported chains
* `GET /v1/chains/:chainId` — Get chain by ID

#### [Operators](/developers/api/operators.md)

An entity managing or integrating with Pareto products.

* `GET /v1/operators` — List all operators
* `GET /v1/operators/:operatorId` — Get operator by ID

#### [Token blocks](/developers/api/token-blocks.md)

* `GET /v1/token-blocks` — List all token blocks
* `GET /v1/token-blocks/:tokenBlockId` — Get token block by ID

#### [Tokens](/developers/api/tokens.md)

* `GET /v1/tokens` — List all tokens
* `GET /v1/tokens/:tokenId` — Get token by ID

#### [Transactions](/developers/api/transactions.md)

* `GET /v1/transactions` — List all protocol transactions

#### [Vaults](/developers/api/vaults.md)

A yield-generating smart contract product.

* `GET /v1/vaults` — List all vaults
* `GET /v1/vaults/:vaultId` — Get vault by ID
* `GET /v1/vaults/performances` — Vault performance overview
* `GET /v1/vaults/:vaultId/integrations` — Integrations by vault ID

#### [Vault blocks](/developers/api/vault-blocks.md)

* `GET /v1/vault-blocks` — List all vault blocks
* `GET /v1/vault-blocks/:vaultBlockId` — Get vault block by ID
* `GET /v1/vault-latest-blocks` — Latest block data for vaults

#### [Vault categories](/developers/api/vault-categories.md)

* `GET /v1/vault-categories` — List all vault categories
* `GET /v1/vault-categories/:typeId` — Get category by ID

#### [Vault epochs](/developers/api/vault-epochs.md)

A predefined period for vault accounting.

* `GET /v1/vault-epochs` — List all vault epochs

#### [Vault performances](/developers/api/vault-performances.md)

* `GET /v1/vault-performances` — List all performance metrics
* `GET /v1/vault-performances/:vaultPerformanceId` — Get performance by ID

#### [Vault types](/developers/api/vault-types.md)

* `GET /v1/vault-types` — List all vault types
* `GET /v1/vault-types/:typeId` — Get vault type by ID

## Listing

All listing endpoints across the API (e.g., `/vaults`, `/transactions`, `/tokens`, etc.) follow a consistent response format in consuming paginated data throughout the API:

* `data`: an array of returned resources.
* `totalCount`: the total number of resources matching the query, useful for pagination.

```
{
  "data": [ /* items */ ],
  "totalCount": 123
}
```

## **Pagination, sorting, fields**

To control the number of items returned per request, you can use:

* `limit` — Number of items to return (default: 50, max: 200)
* `offset` — Number of items to skip before starting to collect the result set

```
GET /v1/vaults?limit=10&offset=20
```

The `sort` query parameter allows you to sort results by one or more fields:

* Use `field` for ascending order
* Use `-field` for descending order

```
GET /v1/vaults?sort=-createdAt
```

Some endpoints support the `fields` parameter, which lets you request only specific fields per object:

This can be useful for optimizing network performance and response size.

```
GET /v1/vaults?fields=_id,name,createdAt
```


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.pareto.credit/developers/api.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
