Transactions

POST /_api/database/:db/transaction/begin

Begin a new transaction.

Request Body Options

Field Type Description Required
isolationLevel string Isolation level: read_committed (default), read_uncommitted, repeatable_read, serializable. No

Response

200 OK application/json
{ "tx_id": "transaction_123", "status": "active", "isolation_level": "read_committed" }
POST /_api/database/:db/transaction/:tx_id/commit

Commit a transaction.

No request body required.

Response

200 OK application/json
{ "tx_id": "transaction_123", "status": "committed", "operations_count": 5 }
POST /_api/database/:db/transaction/:tx_id/rollback

Rollback a transaction.

No request body required.

Response

200 OK application/json
{ "tx_id": "transaction_123", "status": "rolled_back" }
POST /_api/database/:db/transaction/:tx_id/document/:collection

Insert a document within a transaction.

{ "_key": "doc1", "name": "Alice", "age": 30 }

Response

201 Created application/json
{ "_key": "doc1", "tx_id": "transaction_123" }
PUT /_api/database/:db/transaction/:tx_id/document/:collection/:key

Update a document within a transaction.

{ "name": "Alice Updated", "age": 31 }

Response

200 OK application/json
{ "_key": "doc1", "tx_id": "transaction_123", "status": "updated" }
DELETE /_api/database/:db/transaction/:tx_id/document/:collection/:key

Delete a document within a transaction.

Response

204 No Content
POST /_api/database/:db/transaction/:tx_id/query

Execute a query within a transaction context.

{ "query": "FOR doc IN users FILTER doc.age > 25 RETURN doc" }

Response

200 OK application/json
{ "result": [ { "_key": "doc1", "name": "Alice", "age": 30 } ], "tx_id": "transaction_123" }