# Antfly Data Operations API

**Canonical:** https://apis.io/apis/antfly/antfly-data-operations-api/  
**Provider:** Antfly — https://apis.io/providers/antfly/  
**Base URL:** https://api.antfly.io  
**Documentation:** https://antfly.io/docs/api

Antfly Data Operations API is one of 20 APIs that [Antfly](https://apis.io/providers/antfly/) publishes on the [APIs.io](https://apis.io/) network, described by a machine-readable OpenAPI specification. This API exposes 6 JSON Schema definitions. Tagged areas include data_operations. The published artifact set on APIs.io includes an OpenAPI specification and 6 JSON Schemas.

Perform data operations including batch inserts/deletes, linear merge sync, backup/restore, and individual key lookups. ## Batch Operations Efficiently insert or delete multiple documents in a single request. The batch endpoint accepts both inserts (map of key-value pairs) and deletes (array of keys). ## Distributed Transactions Antfly provides atomic cross-shard write transactions using a coordinator-based 2-phase commit (2PC) protocol. When a batch operation spans multiple shards, Antfly automatically executes it as a distributed transaction. **How it works:** 1. Metadata server allocates HLC timestamp and selects coordinator shard 2. Coordinator writes transaction record, participants write intents 3. After all intents succeed, coordinator commits transaction 4. Participants are notified asynchronously to resolve intents 5. Recovery loop ensures notifications complete even after coordinator failure **Features:** - **Automatic**: No special API required - just use the batch endpoint - **Atomic**: All writes across all shards commit or abort together - **Recoverable**: Coordinator failures are handled via recovery loops - **Efficient**: ~20ms latency for cross-shard transactions **Performance:** - Single-shard batches: < 5ms latency - Cross-shard transactions: ~20ms latency - Intent resolution: < 30 seconds worst-case (via recovery loop) **Guarantees:** - All writes succeed or all fail (atomicity) - Coordinator failure is recoverable (new leader resumes notifications) - Idempotent resolution (duplicate notifications are safe) **Use Cases:** - Updating related records across shards (e.g., user profile + preferences) - Multi-table inserts that must succeed together - Bulk imports requiring all-or-nothing semantics ## Linear Merge (Data Sync) Synchronize and keep Antfly in sync with external data sources like Shopify, Postgres, S3, or any sorted record source. Also known as: data synchronization, database sync, incremental sync, e-commerce sync. Both source and Antfly must be sorted by the same key. Performs three-way merge: inserts new records, updates changed records, deletes records absent from source. **How it works:** 1. Query external source with pagination (sorted by key) 2. Send sorted page to linear merge endpoint 3. Antfly merges: upserts present records, deletes Antfly records absent from page 4. Repeat for next page - no sync state required between pages **Use Cases:** - **Postgres/MySQL**: `SELECT * FROM products ORDER BY id LIMIT 1000 OFFSET 0` - Sync production DB to Antfly for hybrid search - Run periodically (hourly/daily) to stay in sync - **Shopify API**: `GET /admin/api/2024-01/products.json?order=id&limit=250` - Sync e-commerce catalog with cursor pagination - Antfly becomes searchable product index - **S3 Data Lake**: Sorted JSON files (`data/0001.json`, `data/0002.json`, ...) - Batch import from data warehouse exports - Process files in order, send contents page by page - **Databricks**: `SELECT * FROM delta_table ORDER BY key LIMIT 10000` - Sync data warehouse tables to Antfly - Enable low-latency search over warehouse data **Benefits:** - **Stateless**: No cursors or checkpoints - restart from any page - **Idempotent**: Safe to re-run if interrupted - **Efficient**: Stream comparison, no random access needed **WARNING**: Not safe for concurrent merges with overlapping ranges. Single-client sync API only. ## Backup and Restore Create backups to various storage backends: - `file:///path/to/backup` - Local filesystem - `s3://bucket/path` - Amazon S3 Restore operations rebuild tables from backup snapshots. ## Key Lookups Direct key-value lookups for retrieving individual documents by their unique key.

## Operations (60)

| Method | Path | Summary |
|---|---|---|
| POST | `/db/v1/batch` | Cross-table batch operations |
| POST | `/db/v1/transactions/commit` | Commit an OCC transaction |
| GET | `/db/v1/transactions` | List transaction sessions |
| POST | `/db/v1/transactions/cleanup` | Clean up expired transaction sessions |
| POST | `/db/v1/transactions/begin` | Begin a transaction session |
| GET | `/db/v1/transactions/{transaction_id}` | Get transaction session details |
| POST | `/db/v1/transactions/{transaction_id}/stage` | Stage a transaction commit request |
| POST | `/db/v1/transactions/{transaction_id}/read` | Stage a transaction read version |
| POST | `/db/v1/transactions/{transaction_id}/write` | Stage a transaction write |
| POST | `/db/v1/transactions/{transaction_id}/delete` | Stage a transaction delete |
| POST | `/db/v1/transactions/{transaction_id}/savepoints` | Create a transaction savepoint |
| POST | `/db/v1/transactions/{transaction_id}/savepoints/{savepoint_id}/rollback` | Roll back a transaction session to a savepoint |
| POST | `/db/v1/transactions/{transaction_id}/commit` | Commit a transaction session |
| POST | `/db/v1/transactions/{transaction_id}/abort` | Abort a transaction session |
| POST | `/db/v1/sql/connections` | Open a durable idle HTTP SQL connection |
| DELETE | `/db/v1/sql/connections/{connection_id}` | Close an idle SQL connection and its prepared resources |
| POST | `/db/v1/sql/prepared` | Create a durable prepared SQL resource |
| POST | `/db/v1/sql/prepared/{prepared_id}/execute` | Execute a durable prepared SQL resource |
| DELETE | `/db/v1/sql/prepared/{prepared_id}` | Release a durable prepared SQL resource |
| POST | `/db/v1/sql` | Execute a SQL statement |
| GET | `/db/v1/tables/{tableName}/constraints/status` | Read distributed UNIQUE, foreign-key, and CHECK validation coverage |
| POST | `/db/v1/tables/{tableName}/constraints/repair` | Repair version-conditional rows after failed or diagnosed constraint activation |
| POST | `/db/v1/tables/{tableName}/constraints/retry` | Restart failed UNIQUE/FK/CHECK validation after administrative repair |
| POST | `/db/v1/tables/{tableName}/constraints/retire` | Retire unique and foreign-key definitions safely |
| POST | `/db/v1/tables/{tableName}/rows/query` | Query projected typed relational rows |
| POST | `/db/v1/tables/{tableName}/rows/mutate` | Atomically replace or delete version-conditional typed rows |
| POST | `/db/v1/tables/{tableName}/batch` | Perform batch inserts and deletes on a table |
| POST | `/db/v1/tables/{tableName}/merge` | Synchronize data from external sources (Shopify, Postgres, S3) using a linear… |
| POST | `/db/v1/tables/{tableName}/backup` | Backup a table |
| POST | `/db/v1/tables/{tableName}/restore` | Restore a table from backup |
| POST | `/db/v1/tables/{tableName}/documents` | Scan documents in a table within a key range |
| GET | `/db/v1/tables/{tableName}/documents/{key}` | Retrieve a document by key |
| GET | `/db/v1/tables/{tableName}/documents/{key}/artifacts` | List derived document artifact manifests |
| POST | `/db/v1/tables/{tableName}/repair/issues` | List table repair issues |
| POST | `/db/v1/tables/{tableName}/storage/migrations` | Create or resume a table storage migration job |
| GET | `/db/v1/tables/{tableName}/storage/migrations/{jobId}` | Read a table storage migration receipt |
| POST | `/db/v1/tables/{tableName}/storage/migrations/{jobId}` | Advance, publish or cancel a table storage migration job |
| POST | `/db/v1/tables/{tableName}/repair/run` | Run a bounded table repair pass |
| POST | `/db/v1/tables/{tableName}/repair/jobs` | Start a durable table repair job |
| POST | `/db/v1/tables/{tableName}/repair/control-jobs` | Start a durable index control job |
| GET | `/db/v1/tables/{tableName}/repair/jobs/{jobId}` | Get a table repair job |
| POST | `/db/v1/tables/{tableName}/repair/jobs/{jobId}/advance` | Advance a table repair job |
| POST | `/db/v1/tables/{tableName}/repair/jobs/{jobId}/cancel` | Cancel a table repair job |
| POST | `/db/v1/tables/{tableName}/artifacts/{artifactName}/reprocess` | Reprocess a derived artifact across a table range |
| POST | `/db/v1/tables/{tableName}/artifacts/{artifactName}/reprocess-jobs` | Create a derived document artifact reprocess job |
| GET | `/db/v1/tables/{tableName}/artifacts/{artifactName}/reprocess-jobs/{jobId}` | Get derived document artifact reprocess job status |
| POST | `/db/v1/tables/{tableName}/artifacts/{artifactName}/reprocess-jobs/{jobId}/advance` | Advance a derived document artifact reprocess job |
| POST | `/db/v1/tables/{tableName}/artifacts/{artifactName}/reprocess-jobs/{jobId}/cancel` | Cancel a derived document artifact reprocess job |
| GET | `/db/v1/tables/{tableName}/documents/{key}/artifacts/{artifactName}` | Inspect a derived document artifact manifest |
| POST | `/db/v1/tables/{tableName}/documents/{key}/artifacts/{artifactName}/reprocess` | Reprocess a derived artifact |
| POST | `/db/v1/databases/{databaseName}/namespaces/{namespaceName}/tables/{tableName}/batch` | Perform batch inserts and deletes on an explicit namespace table |
| POST | `/db/v1/databases/{databaseName}/namespaces/{namespaceName}/tables/{tableName}/backup` | Backup an explicit namespace table |
| POST | `/db/v1/databases/{databaseName}/namespaces/{namespaceName}/tables/{tableName}/restore` | Restore an explicit namespace table from backup |
| GET | `/db/v1/databases/{databaseName}/namespaces/{namespaceName}/tables/{tableName}/documents/{key}` | Retrieve a document by key from an explicit namespace table |
| GET | `/db/v1/databases/{databaseName}/namespaces/{namespaceName}/tables/{tableName}/constraints/status` | Read distributed UNIQUE, foreign-key, and CHECK validation coverage |
| POST | `/db/v1/databases/{databaseName}/namespaces/{namespaceName}/tables/{tableName}/constraints/repair` | Repair version-conditional rows after failed or diagnosed constraint activation |
| POST | `/db/v1/databases/{databaseName}/namespaces/{namespaceName}/tables/{tableName}/constraints/retry` | Restart failed UNIQUE/FK/CHECK validation after administrative repair |
| POST | `/db/v1/databases/{databaseName}/namespaces/{namespaceName}/tables/{tableName}/constraints/retire` | Retire unique and foreign-key definitions safely |
| POST | `/db/v1/databases/{databaseName}/namespaces/{namespaceName}/tables/{tableName}/rows/query` | Query projected typed relational rows |
| POST | `/db/v1/databases/{databaseName}/namespaces/{namespaceName}/tables/{tableName}/rows/mutate` | Atomically replace or delete version-conditional typed rows |

## Machine-readable artifacts (7)

- **OpenAPI** — https://artifacts.apis.io/antfly/openapi/antfly-data-operations-api-openapi.yml
- **JSONSchema** — https://artifacts.apis.io/antfly/json-schema/antfly-memory-recall-result-schema.json
- **JSONSchema** — https://artifacts.apis.io/antfly/json-schema/antfly-memory-inspection-schema.json
- **JSONSchema** — https://artifacts.apis.io/antfly/json-schema/antfly-memory-record-page-schema.json
- **JSONSchema** — https://artifacts.apis.io/antfly/json-schema/antfly-memory-record-schema.json
- **JSONSchema** — https://artifacts.apis.io/antfly/json-schema/antfly-memory-relationship-proposal-schema.json
- **JSONSchema** — https://artifacts.apis.io/antfly/json-schema/antfly-inference-generate-request-schema.json

## Other Antfly APIs (12)

- [Antfly AI API](https://apis.io/apis/antfly/antfly-ai-api/)
- [Antfly Cluster Management API](https://apis.io/apis/antfly/antfly-cluster-management-api/)
- [Antfly Documents API](https://apis.io/apis/antfly/antfly-documents-api/)
- [Antfly Index Management API](https://apis.io/apis/antfly/antfly-index-management-api/)
- [Antfly Inference API](https://apis.io/apis/antfly/antfly-inference-api/)
- [Antfly Installed API](https://apis.io/apis/antfly/antfly-installed-api/)
- [Antfly Memory API](https://apis.io/apis/antfly/antfly-memory-api/)
- [Antfly Ml API](https://apis.io/apis/antfly/antfly-ml-api/)
- [Antfly Models API](https://apis.io/apis/antfly/antfly-models-api/)
- [Antfly Packages API](https://apis.io/apis/antfly/antfly-packages-api/)
- [Antfly Permission API](https://apis.io/apis/antfly/antfly-permission-api/)
- [Antfly Personal Connections API](https://apis.io/apis/antfly/antfly-personal-connections-api/)

## Tags

data_operations

---

Profiled by [API Evangelist](https://apievangelist.com) and published on [APIs.io](https://apis.io/apis/antfly/antfly-data-operations-api/). The API's provider profile, Kin Score and agent-readiness rating are at https://apis.io/providers/antfly/.
