From 33a07db755d8c63914ae4e9a2d0e7a285265b300 Mon Sep 17 00:00:00 2001 From: Claude Date: Wed, 9 Sep 2026 15:26:51 +0000 Subject: [PATCH] docs(api): the batch cap is embedder-only, not the deployment's to configure `content/docs/api/data-api.mdx` told operators the bulk-route cap is "the deployment's `batch.maxBatchSize` (default 200, configurable 1-1000)". Both halves of that were ruled false on 2026-09-07: a `RestServerConfig` is the ARGUMENT a host passes when it constructs the server, and there is exactly one door -- `createRestApiPlugin({ api })`, whose `start()` is the only non-test site reaching `new RestServer(...)`. Neither shipped boot path opens it with a `batch` config: `os serve` forwards exactly two `api.*` keys and the dev plugin passes none. A CLI-started deployment therefore always gets 200 and no flag, config file or CLI option moves it. The audience of this page is exactly the audience that cannot configure it, so an operator who hit `400 BATCH_TOO_LARGE` was sent looking for a knob that does not exist for them. This is the third and last carrier of the claim still saying it in public; the `packages/spec` and `packages/rest` carriers were corrected under the same ruling. The wording here is copied from those two rather than invented afresh -- "embedder-only", "written only by a host that constructs this config, never by `os serve` or the dev plugin", and "a CLI-started deployment always gets the default". Co-Authored-By: Claude Opus 5 Claude-Session: https://claude.ai/code/session_012GKcPZbMoGq7WPzKLfRBTU --- content/docs/api/data-api.mdx | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/content/docs/api/data-api.mdx b/content/docs/api/data-api.mdx index f773238fc3..171c1e8968 100644 --- a/content/docs/api/data-api.mdx +++ b/content/docs/api/data-api.mdx @@ -323,9 +323,13 @@ prior delete, and the response reports `succeeded: 0` with each row's ### Batch size Every bulk route above — `batch`, `createMany`, `updateMany`, `deleteMany` — -caps how many records one request may carry. The limit is the deployment's -`batch.maxBatchSize` (default **200**, configurable 1–1000); over it the request -is rejected with `400 BATCH_TOO_LARGE` before anything is written: +caps how many records one request may carry. The limit is +`batch.maxBatchSize`, and it is **embedder-only** (#15543): it is written only +by a host that constructs the `RestServerConfig` itself, never by `os serve` or +the dev plugin. A CLI-started deployment therefore always gets the default of +**200**, and no flag, config file or CLI option moves it; only the embedding +host can set it, anywhere in 1–1000. Over the cap the request is rejected with +`400 BATCH_TOO_LARGE` before anything is written: ```json {