---
title: "Locked keep-warm refresh sweep across all Codex OAuth pool slots"
method: POST
path: "/api/oauth/keep-warm/codex"
tags: ["OAuth"]
---

# Locked keep-warm refresh sweep across all Codex OAuth pool slots

`POST /api/oauth/keep-warm/codex`

Enumerates codex_oauth_* slots and refreshes any older than ~7 days through the same locked getValidCodexOAuth path used at task time. Skips slots already benched by codex-auth-expiry-watch.

## Response `200`

Per-slot keep-warm outcomes

- object
  - `results` union[], required
    - union
      - object
        - `slot` number, required
        - `keySuffix` string, required
        - `outcome` 'warm', required
      - object
        - `slot` number, required
        - `keySuffix` string, required
        - `outcome` 'refreshed', required
      - object
        - `slot` number, required
        - `keySuffix` string, required
        - `outcome` 'skipped-benched', required
      - object
        - `slot` number, required
        - `outcome` 'no-credentials', required
      - object
        - `slot` number, required
        - `keySuffix` string, required
        - `outcome` 'failed', required
        - `reason` string, required

## Changes

- **2026-08-07** `06cac6a7c5bc` — 1 info
  - added the media type `application/json` for the response with the status `200`
- **2026-07-06** `b6297b37a0f5` — 1 info
  - endpoint added
- **2026-07-02** `0c910612f9ac` — 1 breaking
  - api path removed without deprecation

[Change history](https://skmtc.dev/desplega-ai/apis/agent-swarm-api/changes/api/oauth/keep-warm/codex/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-service-production.skmtc.workers.dev/v1/apis/desplega-ai/agent-swarm-api/revisions/e0acd2155cad/schema)
