﻿# TX_REQUIRED — operation must be performed inside a transaction

Certain write operations that require atomic multi-step coordination mandate a transaction context. Returned when such an operation is called without a `t…

<em>cyoda-go version <a href="https://github.com/Cyoda-platform/cyoda-go/releases/tag/v0.6.2">0.6.2</a></em>

# errors.TX_REQUIRED

## NAME

TX_REQUIRED — the requested operation can only be performed within an open transaction but no transaction context was provided.

## SYNOPSIS

HTTP: `400` `Bad Request`. Retryable: `no`.

## DESCRIPTION

Certain write operations that require atomic multi-step coordination mandate a transaction context. Returned when such an operation is called without a `transactionId` header or query parameter.

Not retryable without a transaction. The operation requires an open transaction ID passed as a header or query parameter.

## SEE ALSO

- errors
- errors.TX_CONFLICT
- errors.TX_COORDINATOR_NOT_CONFIGURED

## See also

- [`cyoda help errors`](/help/errors/) — Every error response from the Cyoda REST API carries a structured `errorCode` in the `properties` object. Multiple codes may share the same HTTP status. Programmatic handling keys on `errorCode`, not HTTP status.
- [`cyoda help errors TX_CONFLICT`](/help/errors/tx_conflict/) — The underlying storage detected a serialization failure (e.g., PostgreSQL error 40001 or 40P01) and aborted the transaction. Normal occurrence under concurrent write load when using serializable or repeatable-read isolation.
- [`cyoda help errors TX_COORDINATOR_NOT_CONFIGURED`](/help/errors/tx_coordinator_not_configured/) — Certain operations that span multiple storage shards require a distributed transaction coordinator. This error is returned when such an operation is attempted on a node where the coordinator component is disabled or misconfigured.

## Raw formats

- [`/help/errors/tx_required.json`](/help/errors/tx_required.json) — full descriptor (matches `GET /help/{topic}` envelope)
- [`/help/errors/tx_required.md`](/help/errors/tx_required.md) — body only