Dry runs
Some changes can be rehearsed: every check runs, the write is rehearsed against your current records, and nothing is stored. This guide is which operations allow it, how to ask, and how to read the answer.
Which operations
184 operations declare a rehearsal — the creates and edits of your records, and the item wizard's create. Each of their reference pages carries a Dry run section, and the machine index at /index.json marks them with dryRun: true. An operation without the section cannot be rehearsed: asking answers VALIDATION/DRY_RUN_UNSUPPORTED, and nothing pretends.
How to ask
Add dryRun: true to the request envelope beside the version:
{
"extensions": {
"at": {
"version": {
"name": "genesis",
"number": 0
},
"dryRun": true
}
}
}
Everything else — the operation, its variables, the token — is exactly the real call.
How to read the answer
A rehearsal answers what the real call would: the refusal it would give, in the same error grammar, or the record it would create or change, with its would-be fields. Every answer to a rehearsal carries dryRun: true in extensions.at, so a rehearsed record can never be mistaken for a saved one; nothing it shows exists afterwards.
What it is for
- Validating a payload you assembled from another system before you commit it.
- Showing a person what a change would do before they confirm it.
- Testing an integration against your real records without leaving anything behind.
A rehearsal is not a sandbox: it reads your live records and counts against your rate limits like any other call (Rate limits).