---
title: "Acquire a cross-process OAuth refresh lock"
method: POST
path: "/api/oauth/refresh-locks/{key}"
tags: ["OAuth"]
---

# Acquire a cross-process OAuth refresh lock

`POST /api/oauth/refresh-locks/{key}`

## Path parameters

- `key` string, required

## Request body

- object
  - `ttlMs` integer, required

## Response `200`

Lock acquired; returns the owner token

- object
  - `owner` string, required

## Other responses

- `400` — Validation error
- `409` — Lock is currently held by another caller

## Changes

- **2026-08-07** `06cac6a7c5bc` — 3 info
  - added the media type `application/json` for the response with the status `200`
  - added the media type `application/json` for the response with the status `400`
  - added the media type `application/json` for the response with the status `409`

[Change history](https://skmtc.dev/desplega-ai/apis/agent-swarm-api/changes/api/oauth/refresh-locks/:key/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)
