entries_put
Save many collection entries. Save up to 200 entries of one content collection (module col-<name>) in one call, on your task: each saved by its own key exactly as records_put saves one (checked against the collection's schema; the same entry twice is one entry), so a batch sent again is safe. For a blog, directory or catalogue of hundreds of pages: load the entries in batches, then one deploy_site preview and one site_publish yes. An entry that changes what a visitor sent is named back: propose those as one record_put set.
Where it is
In the records area (deleting a module record): open it with tools_for { area: "records" }, then call it with use_tool { name: "entries_put", args }.
Does it need a yes?
Depends on what it changes: the everyday part runs at once, anything that reaches people or core files waits for the owner's yes. Here: a collection's entries (col-*) save at once, each as records_put saves one; one changing what a visitor sent is named back for a record_put yes.
Inputs
| Input | Type | Needed | About |
|---|---|---|---|
module | string | yes | The collection's entries module, col-<name>. · format `^col-[a-z0-9-]{1,60}$` |
entries | array of object | yes | 1 to 200 items |
entries[].key | string | yes | The record's key, e.g. 2026-11-03:yoga. Letters, digits, dots, dashes, underscores and colons, up to 120. · format `^[A-Za-z0-9][A-Za-z0-9._:-]{0,119}$` |
entries[].data | object | yes | |
department | string | no | The collection's department, e.g. marketing: needed for its first entries. · format `^[a-z0-9-]{1,40}$` |
task | integer | yes | The task you hold that these entries are for. · 1 or more |
run_id | string | yes | The run_id from start. Pass it on every call: it keeps your task held. · 1 to 100 characters |
Example
{
"name": "entries_put",
"arguments": {
"module": "module",
"entries": [
{
"key": "2026-11-03:yoga",
"data": {}
}
],
"task": 1,
"run_id": "the run_id from start"
}
}When it is refused
invalid: The input isn't right. The sentence names the field and the fix; nothing was done. Fix it and call again.not_found: No such thing in this company (a task, file, person, record). Check the number or name, or list first.not_allowed: Not without another step: the owner's yes, your own task held with pick_up, or a setting the owner turns on. The sentence says which.taken: Someone else holds it (another AI on that task). Pick another task.stale: It changed since you read it. Read it again and use the new version.failed: On our side or a service's, never your input. Try again in a minute; if it keeps failing, call report_problem.