# Transactional state operations (POST)

`POST /v1.0/state/{storeName}/transaction`

This endpoint lets you perform multiple state operations in a transactional manner.

## Request

### Path parameters

| Name | Type | Required | Description |
| --- | --- | --- | --- |
| `storeName` | string | Yes | The name of the state store. Pattern: `^[a-zA-Z0-9_-]+$`. |

### Request body

Required.

`application/json`

- `metadata` (object<string, string>)
- `operations` (object[]) — Required.
  - `operation` (string) — Required. One of: `upsert`, `delete`.
  - `request` (object) — Required.
    - `key` (string) — Required. Pattern: `^[a-zA-Z0-9_-]+$`.
    - `value` (object) — Required.
    - `etag` (string)
    - `options` (object)
      - `concurrency` (string) — One of: `first-write`, `last-write`.
      - `consistency` (string) — One of: `strong`, `eventual`.

## Responses

### 204 — Request successful.

### 400 — State store is missing or misconfigured or malformed request.

### 500 — Request failed.
