﻿# TRANSACTION_TIMEOUT — transaction timeout expired before commit

Fires when the client-supplied `transactionTimeoutMillis` elapses before the first commit. Nothing was committed.

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

# errors.TRANSACTION_TIMEOUT

## NAME

TRANSACTION_TIMEOUT — the client-supplied `transactionTimeoutMillis` expired before the first commit.

## SYNOPSIS

HTTP: `408` `Request Timeout`. Retryable: `yes`.

## DESCRIPTION

Fires when the client-supplied `transactionTimeoutMillis` elapses before the first commit. Nothing was committed.

On multi-commit operations (chunked collections, commit-before-dispatch workflows) the timeout applies only until the first commit — failures after that surface through the per-chunk contract instead.

## SEE ALSO

- errors
- errors.TRANSACTION_EXPIRED
- crud

## 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 TRANSACTION_EXPIRED`](/help/errors/transaction_expired/) — Transaction tokens are short-lived bearer tokens issued when a transaction is opened. This error fires when the token's `exp` claim is in the past at the time the proxy validates it. The transaction itself may still be active server-side, but the token is no longer valid for routing.
- [`cyoda help crud`](/help/crud/) — Entities are instances of models. Each entity has a UUID, a model reference (`entityName`, `modelVersion`), and a lifecycle state managed by the workflow engine. Creating an entity requires the referenced model to be in `LOCKED` state. All write operations run within a Cyoda transaction and return a `transactionId` alongside the affected entity IDs.

## Raw formats

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