You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: flowvault/README.md
+24-24Lines changed: 24 additions & 24 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -325,7 +325,7 @@ This reflects supported use cases, not something the SDK validates or blocks —
325
325
326
326
Each method also accepts an optional options object (`BulkInsertOptions`, `BulkTokenizeOptions`, `BulkDetokenizeOptions`, `BulkDeleteTokensOptions`) — see [Custom Request Headers](#custom-request-headers).
327
327
328
-
A single bulk call accepts at most **10,000** records or tokens; anything larger is rejected up front with a `SkyflowException`. Under that ceiling the SDK splits the payload into batches and sends them concurrently, which is why errors from one call can carry different `requestId` values.
328
+
A single bulk call accepts at most **100,000** records or tokens; anything larger is rejected up front with a `SkyflowException`. Under that ceiling the SDK splits the payload into batches and sends them concurrently, which is why errors from one call can carry different `requestId` values.
329
329
330
330
Every bulk response has the same two-part shape:
331
331
@@ -340,10 +340,10 @@ Batch size and concurrency are configured **per operation** through environment
340
340
341
341
| Operation | Batch size variable | Default | Max | Concurrency variable | Default | Max |
Concurrency defaults to **1**, so batches are sent one after another unless you raise the limit.
349
349
@@ -362,7 +362,7 @@ INSERT_BATCH_SIZE=100
362
362
INSERT_CONCURRENCY_LIMIT=5
363
363
```
364
364
365
-
The 10,000-item ceiling per bulk call is a separate, fixed limit and is not configurable.
365
+
The 100,000-item ceiling per bulk call is a separate, fixed limit and is not configurable.
366
366
367
367
# VaultController — Unary operations
368
368
@@ -389,7 +389,7 @@ Everything the bulk machinery adds — batching, concurrency, the payload ceilin
389
389
|---|---|---|
390
390
| Async variant | Yes — `bulkInsertAsync`, and so on |**No.** Wrap the call yourself if you need one |
391
391
| Batching and concurrency | Configured per operation — see [Batching and concurrency](#batching-and-concurrency)| Not applicable — one payload, one call |
392
-
| Payload ceiling |10,000 records or tokens per call | Not enforced by the SDK; the vault's own request limits still apply |
392
+
| Payload ceiling |100,000 records or tokens per call | Not enforced by the SDK; the vault's own request limits still apply |
393
393
| Response summary |`getSummary()`| None — read the records list |
394
394
| Per-item `getIndex()` / `getRequestId()`| Yes | No. Records come back in submitted order, and the `x-request-id` of the single call reaches you only through a thrown `SkyflowException`|
395
395
| Retry helper |`getRecordsToRetry()` / `getTokensToRetry()`| None — filter the records yourself, see [Retrying the failed records](#retrying-the-failed-records)|
@@ -990,10 +990,10 @@ Read records back from a table, by skyflow ID or by unique value, optionally ove
990
990
991
991
**Note:**
992
992
993
-
- A `GetRequest` works in one of two modes, and they are mutually exclusive: **single-table** (`table`, `ids`/`uniqueValues`, `fields`, `columnRedactions`, `limit`, `offset`) or **multi-table** (`records`, a list of `GetRequestRecord`). Setting fields from both modes fails validation.
994
-
-`table` is required, and exactly one of `ids` or `uniqueValues` must be supplied — both, or neither, fails validation. This holds per record in multi-table mode.
993
+
- A `GetRequest` works in one of two modes, and they are mutually exclusive: **single-table** (`tableName`, `skyflowIds`/`uniqueValues`, `columns`, `columnRedactions`, `limit`, `offset`) or **multi-table** (`records`, a list of `GetRequestRecord`). Setting fields from both modes fails validation.
994
+
-`tableName` is required, and exactly one of `skyflowIds` or `uniqueValues` must be supplied — both, or neither, fails validation. This holds per record in multi-table mode.
995
995
-`uniqueValues` is a `List<Map<String, Object>>`: one map per record, each holding the unique column-name/value pairs that identify it.
996
-
-`fields` selects the columns to return; omit it for all of them. When supplied, it must be non-empty with no blank entries.
996
+
-`columns` selects the columns to return; omit it for all of them. When supplied, it must be non-empty with no blank entries.
997
997
-`limit` and `offset` apply to the call as a whole and are **only sent in single-table mode** — a `GetRequestRecord` has no `limit`/`offset` of its own, and values set on a multi-table request are not sent.
998
998
999
999
### Construct a get request
@@ -1020,11 +1020,11 @@ public class GetExample {
1020
1020
1021
1021
// Step 2: Build the GetRequest — single-table mode, selecting records by skyflow ID
@@ -1204,7 +1204,7 @@ Delete records from a table by skyflow ID or unique value, in a single API call.
1204
1204
**Note:**
1205
1205
1206
1206
- This deletes the records themselves. [Bulk Delete Tokens](#bulk-delete-tokens) is a different operation — it removes tokens and leaves the underlying record in place.
1207
-
-`table` is required, and exactly one of `ids` or `uniqueValues` must be supplied — both, or neither, fails validation.
1207
+
-`tableName` is required, and exactly one of `skyflowIds` or `uniqueValues` must be supplied — both, or neither, fails validation.
1208
1208
-`uniqueValues` takes the same shape as in [Get](#get): one `Map<String, Object>` per record, holding the unique column-name/value pairs that identify it.
1209
1209
1210
1210
### Construct a delete request
@@ -1227,8 +1227,8 @@ public class DeleteExample {
@@ -1367,7 +1367,7 @@ This is the mental model to hold for every operation, bulk or unary:
1367
1367
1368
1368
| Layer | What it covers | How you see it |
1369
1369
|---|---|---|
1370
-
|**Request-level**| The call could not be made or the whole call failed: invalid request shape, missing credentials, auth failure, payload over the 10,000-item limit. | A thrown `SkyflowException`. No results at all. |
1370
+
|**Request-level**| The call could not be made or the whole call failed: invalid request shape, missing credentials, auth failure, payload over the 100,000-item limit. | A thrown `SkyflowException`. No results at all. |
1371
1371
|**Record-level**| The call succeeded, but individual records or tokens inside it did not. | A returned response. **Nothing is thrown.** Each entry in `getRecords()` reports its own `httpCode` and `error`. |
1372
1372
1373
1373
The second layer is what distinguishes `flowvault` from an all-or-nothing API: **a call that returns normally can still contain failures, and a call where every single record failed also returns normally rather than throwing.** Checking only for a thrown exception will silently miss failed records — always read the summary and the per-record results.
| Request ID |`getRequestId()`| The `x-request-id` header — useful for support escalations. |
1475
1475
| Details |`getDetails()`|`JsonArray` of additional error context from the server. Empty array for validation errors, `null` if the server response omitted the field. |
1476
1476
1477
-
**Validation errors** (table name at the wrong level, empty token list, payload over 10,000 items, and similar) are thrown before any network call:
1477
+
**Validation errors** (table name at the wrong level, empty token list, payload over 100,000 items, and similar) are thrown before any network call:
0 commit comments