---
title: "Idempotency Start"
method: POST
path: "/api/v1.idempotency.start"
tags: ["Idempotency"]
---

# Idempotency Start

`POST /api/v1.idempotency.start`

Start an idempotent request

## Request body

- IdempotencyStartIn
  - `namespace` string, nullable
  - `key` string, required
  - `lock_period_ms` integer, required — How long to hold the lock on start before releasing it.

## Response `200`

- union
  - object — Lock acquired, request should proceed
    - `status` 'started', required
  - object — Request is already in progress (locked)
    - `status` 'locked', required
  - object — Request was already completed, cached response returned
    - `status` 'completed', required
    - `data` IdempotencyCompleted, required
      - `response` integer[], required
      - `context` object, nullable

## Other responses

- `400`
- `401`
- `403`
- `422`

## Changes

- **2026-04-14** `7f5edfb12f87` — 2 breaking
  - the `key` request property's minLength was increased from `0` to `1`
  - the `namespace` request property's minLength was increased from `0` to `1`
- **2026-04-14** `14bcce06404b` — 1 breaking, 1 warning
  - added the pattern `^[a-zA-Z0-9\-/_.=+]+$` to the request property `namespace`
  - the `namespace` request property's maxLength was set to `256`
- **2026-04-03** `3ef4c7845d53` — 1 info
  - added the optional property `oneOf[subschema #3]/data/context` to the response with the `200` status
- **2026-04-03** `26c9e1d01ad8` — 1 breaking, 1 warning
  - added the new required request property `lock_period_ms`
  - removed the request property `ttl_ms`
- **2026-03-31** `f62be26d2a53` — 7 breaking, 6 warning, 3 info
  - added the new required request property `ttl_ms`
  - the `detail` response's property type changed from `string` to `array` for status `422`
  - removed the required property `code` from the response with the `422` status
  - removed the required property `type` from the response with the `400` status
  - …12 more

[Change history](https://skmtc.dev/svix/apis/diom-api/changes/api/v1.idempotency.start/post.md)

---

[API](https://skmtc.dev/svix/apis/diom-api.md) · [All operations](https://skmtc.dev/svix/apis/diom-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/svix/diom-api/revisions/2027bc3fbcfb/schema)
