---
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-28** `a542ced3f593` — 12 warning, 12 info
  - added the new `invalid-input` enum value to the `type` response property for the response status `400`
  - added the new `invalid-input` enum value to the `type` response property for the response status `401`
  - added the new `invalid-input` enum value to the `type` response property for the response status `403`
  - added the new `invalid-input` enum value to the `type` response property for the response status `422`
  - …20 more
- **2026-04-28** `b1d873e9a6e4` — 4 info
  - added the required property `type` to the response with the `400` status
  - added the required property `type` to the response with the `401` status
  - added the required property `type` to the response with the `403` status
  - added the required property `type` to the response with the `422` status
- **2026-04-21** `c30222181768` — 1 breaking, 5 info
  - the `detail` response's property type/format changed from `array`/`` to `string`/`` for status `422`
  - added the optional property `location` to the response with the `400` status
  - added the optional property `location` to the response with the `401` status
  - added the optional property `location` to the response with the `403` status
  - …2 more
- **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`
- …earlier changes not shown

[Full 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/58636beb376c/schema)
