---
title: "Create or update a yield source token for toolbox Admin"
method: POST
path: "/v3/toolbox/admin/config/yield-sources/{source}/tokens"
tags: ["Auth"]
---

# Create or update a yield source token for toolbox Admin

`POST /v3/toolbox/admin/config/yield-sources/{source}/tokens`

Upserts a toolbox-managed yield source token. The entry key is derived from chain ID and token address, so saving the same token updates its database override.

## Path parameters

- `source` string, required

## Request body

- YieldSourceTokenRequest
  - `chainId` integer, required
  - `address` string, required — Valid EVM address. Lowercase or correctly checksummed mixed-case input is accepted.
  - `symbol` string
  - `apyMapping` string — Source-specific mapping expression that extracts the token APY from the adapter response.
  - `metadata` object — Optional token metadata passed to custom APY adapters.
  - `enabled` boolean

## Response `200`

Yield source token saved.

- object
  - `data` YieldSourceTokenResponse
    - `entryKey` string, required
    - `source` string, required
    - `chainId` integer, required
    - `address` string, required
    - `symbol` string
    - `apyMapping` string
    - `metadata` object
    - `enabled` boolean, required
    - `origin` 'yaml' | 'toolbox', required
    - `createdAt` string, date-time, nullable
    - `updatedAt` string, date-time, nullable
    - `createdBy` string, nullable
    - `updatedBy` string, nullable
    - `validationError` string — Validation failure that caused a persisted override to be disabled.

## Other responses

- `400` — Bad request
- `401` — Unauthorized
- `403` — Forbidden
- `404` — Not found
- `413` — Request body too large
- `415` — Unsupported media type
- `500` — Internal server error

---

[API](https://skmtc.dev/euler/apis/euler-data-api-v3.md) · [All operations](https://skmtc.dev/euler/apis/euler-data-api-v3/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/euler/euler-data-api-v3/revisions/9e69e7cdb054/schema)
