Found while implementing the #10616 docs-audit sweep (member #10590). Filed
separately per that sweep's gate 4 — not folded into the sweep PR.
What is wrong
content/docs/data-modeling/objects.mdx:83 (line 84 on the sweep branch, after that
page's sharingModel edit) ships this sample:
enable: {trackHistory: true,// Field history tracking for auditsearchable: true,// Include in global search indexapiEnabled: true,// Expose object via automatic APIs (REST)apiMethods: ['get','list','create','update','delete'],
...bulk is missing. packages/spec/src/data/object.zod.ts:18-22:
exportconstApiMethod=z.enum(['get','list',// Read'create','update','delete',// Write'bulk',// Batch operations]);
An apiMethods whitelist is exact — undefined = unrestricted, a subset = that subset's
derived closure — so a reader who copies this sample silently denies batch operations
on the object.
Why it is not part of #10590
#10590 names exactly one landing spot, data-modeling/schema-design.mdx:71-77, and rests
its case on the comment there asserting "six primitives only" next to a list of five. This
site has no such comment, so it is the quieter half of the same defect: no contradiction on
the page to notice, just a sample that under-enumerates.
The same page contradicts itself two rows down.objects.mdx:96 — the property table
directly below the sample — reads:
apiMethods | all | Whitelist over the six primitives
(get/list/create/update/delete/bulk) ...
So the page's table is right and the page's sample is wrong, on the same screen.
The sweep's gate 3 ("zero changes outside the listed member sites") is why this was not
folded into the sweep PR.
Back-link: #10616, #10590
Generated by Claude Code
Found while implementing the #10616 docs-audit sweep (member #10590). Filed
separately per that sweep's gate 4 — not folded into the sweep PR.
What is wrong
content/docs/data-modeling/objects.mdx:83(line 84 on the sweep branch, after thatpage's
sharingModeledit) ships this sample:bulkis missing.packages/spec/src/data/object.zod.ts:18-22:An
apiMethodswhitelist is exact —undefined= unrestricted, a subset = that subset'sderived closure — so a reader who copies this sample silently denies batch operations
on the object.
Why it is not part of #10590
#10590 names exactly one landing spot,
data-modeling/schema-design.mdx:71-77, and restsits case on the comment there asserting "six primitives only" next to a list of five. This
site has no such comment, so it is the quieter half of the same defect: no contradiction on
the page to notice, just a sample that under-enumerates.
The same page contradicts itself two rows down.
objects.mdx:96— the property tabledirectly below the sample — reads:
So the page's table is right and the page's sample is wrong, on the same screen.
The sweep's gate 3 ("zero changes outside the listed member sites") is why this was not
folded into the sweep PR.
Back-link: #10616, #10590
Generated by Claude Code