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

# Programmatic Access

> Automate project provisioning, API key management, yield enablement, fee configuration, and reporting through the Programmatic API

## Overview

The Yield.xyz **Programmatic API** gives you full control over the dashboard without manual interaction. It is designed for teams that need deeper integration, such as automating project creation, managing API keys, enabling yields, configuring fees, and pulling reports — all through a dedicated set of admin-level endpoints.

<Info>
  The Programmatic API is separate from the standard Yield API. It uses a dedicated **Admin API Key** (`X-ADMIN-API-KEY`) and is intended for administrative and platform-operator use cases — not end-user flows.
</Info>

***

## What You Can Do

<CardGroup cols={2}>
  <Card title="Projects" icon="folder-open">
    Create, update, list, and delete projects programmatically — one per client, workspace, or environment.
  </Card>

  <Card title="API Keys" icon="key">
    Mint, rotate, and revoke project-level API keys that authenticate requests to the Yield API.
  </Card>

  <Card title="Enabled Yields" icon="seedling">
    Control which yield integrations are available per project — enable or disable individually or in bulk.
  </Card>

  <Card title="Fee Configuration" icon="money-bill-wave">
    Set deposit, management, and performance fees per integration on a per-project basis.
  </Card>

  <Card title="Reports" icon="chart-line">
    Pull transaction and staking activity across all or individual projects for reconciliation and analytics.
  </Card>
</CardGroup>

***

## When to Use Programmatic Access

Programmatic access is ideal when you need to:

* **Automate onboarding** — Spin up projects and keys for new clients without touching the dashboard.
* **Manage at scale** — Maintain dozens or hundreds of projects with different yield sets and fee schedules.
* **Build platform integrations** — Embed Yield.xyz capabilities into your own product, routing all configuration through your backend.
* **Enforce consistency** — Apply standardized configurations across projects via code rather than manual setup.

***

## Authentication

All programmatic endpoints require a **Programmatic Access API Key**, passed via the `X-ADMIN-API-KEY` header. This key is scoped to your team and is **not** the same as project-level API keys used by the Yield API.

<Steps>
  <Step title="Open the dashboard">
    Log in to [dashboard.yield.xyz](https://dashboard.yield.xyz)
  </Step>

  <Step title="Navigate to Developers">
    Click your avatar (top-right) and select **\</> Developers**
  </Step>

  <Step title="Create an Admin API Key">
    Click **Create API Key** to generate your Programmatic Access key
  </Step>
</Steps>

<Frame>
  <img className="rounded-xl" src="https://mintcdn.com/yieldxyz/o-XR0yx4LV97PLUx/images/documentation/advance-setup/programmatic-access.png?fit=max&auto=format&n=o-XR0yx4LV97PLUx&q=85&s=ca2b19bc4d07da676b9b02ca4e1e0548" alt="Description" width="2524" height="1772" data-path="images/documentation/advance-setup/programmatic-access.png" />
</Frame>

<Warning>
  Store the API key securely — it grants full administrative access to your team's projects and configuration. The key is only shown once at creation time.
</Warning>

***

## Base URL

All programmatic endpoints are served from:

```
https://api.stakek.it/v1/programmatic/
```

***

## Available Endpoints

| Resource              | Endpoints                                                                               | Description                               |
| --------------------- | --------------------------------------------------------------------------------------- | ----------------------------------------- |
| **Projects**          | `POST / GET / PATCH / DELETE` `/v1/programmatic/projects`                               | Create, list, update, and delete projects |
| **Keys**              | `POST / GET / PATCH / DELETE` `/v1/programmatic/projects/{projectId}/keys`              | Manage API keys per project               |
| **Enabled Yields**    | `POST / GET / DELETE` `/v1/programmatic/projects/{projectId}/yields/enabled`            | Enable or disable yield integrations      |
| **Fee Configuration** | `POST / GET / PATCH / DELETE` `/v1/programmatic/projects/{projectId}/fee-configuration` | Configure fees per integration            |
| **Reports**           | `GET /v1/programmatic/report-entries`                                                   | Pull transaction and staking activity     |

***

## Next Steps

<CardGroup cols={2}>
  <Card title="Programmatic Access Guide" icon="book" href="/guides/dashboard-configuration/programmatic-access">
    Step-by-step guide with examples for every endpoint
  </Card>

  <Card title="Payout Wallets" icon="wallet" href="/documentation/advanced-setup/dashboard-configuration/payout-wallets">
    Configure fee collection wallets
  </Card>
</CardGroup>
