PermuteDocs
Go to Permute

Databases · databaseTransactionsCreate

Write database records atomically

Requires write permission. Up to 100 mutations and 1 MB per transaction. Updates/deletes require exact primary keys and expectedVersion tokens. Reuse requestId after an uncertain response; identical requests from the same principal replay their receipt. Numeric values use decimal strings.

POST/v1/databases/{databaseId}/transactions
betaapiKeyworkspace

When to use

Insert, update, or delete managed table rows in one atomic request.

For agents

Requires write permission. Updates and deletes need the exact primary key and expectedVersion. Reuse requestId after an uncertain response.

Example

typescript
import { PermuteClient } from '@permute/sdk';

const orgClient = new PermuteClient({
  apiKey: process.env.PERMUTE_API_KEY!,
});

const client = orgClient.withWorkspace(process.env.PERMUTE_WORKSPACE_ID!);

const result = await client.databases.transact('dbas_crm123', {
  "requestId": "write-customers-1",
  "mutations": [
    {
      "type": "insert",
      "table": "customers",
      "values": {
        "id": "acme",
        "name": "Acme"
      }
    }
  ]
});

Request body

json
{
  "requestId": "write-customers-1",
  "mutations": [
    {
      "type": "insert",
      "table": "customers",
      "values": {
        "id": "acme",
        "name": "Acme"
      }
    }
  ]
}

Response

json
{
  "data": {
    "requestId": "write-customers-1",
    "versions": [
      "11111111-1111-4111-8111-111111111111"
    ]
  }
}