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"
}