---
title: "Test and append keys to a credential pool"
method: POST
path: "/api/config/pool-keys"
tags: ["Config"]
---

# Test and append keys to a credential pool

`POST /api/config/pool-keys`

## Request

- Base URL: `http://localhost:3013`
- URL: `http://localhost:3013/api/config/pool-keys`
- Auth: HTTP bearer

## Request body

- object
  - `key` string, required
  - `value` string, required
  - `baseUrl` string, nullable: Base URL for the check only. Null tests the provider default. Omit to use the stored URL.

## Response `200`

Updated credential pool and checks

- object
  - `key` string, required
  - `source` 'stored' | 'env' | 'none', required
  - `readOnly` boolean, required
  - `keys` object[], required
    - `index` integer, required
    - `suffix` string, required
    - `status` 'ok' | 'rejected' | 'rate_limited' | 'unchecked', required
    - `error` string, nullable, required
    - `checkedAt` string, nullable, required
    - `rateLimitedUntil` string, nullable, required
  - `checks` object[], required
    - `suffix` string, required
    - `result` 'verified' | 'rejected' | 'not_tested', required
    - `httpStatus` number, nullable, required
    - `error` string, nullable, required

## Other responses

- `400`: Invalid key
- `403`: Config administration and permission to read all secrets required
- `409`: Duplicate key or deployment env pool
- `422`: Provider rejected a key. Nothing was saved.

## Changes

- **2026-10-26** `fb54d6d637a2`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/desplega-ai/apis/agent-swarm-api/changes/api/config/pool-keys/post.md)

---

[API](https://skmtc.dev/desplega-ai/apis/agent-swarm-api.md) - [All operations](https://skmtc.dev/desplega-ai/apis/agent-swarm-api/llms.txt) - [OpenAPI document](https://skmtc.dev/desplega-ai/apis/agent-swarm-api/revisions/7e4c7198192a?raw)
