Preview Audit Trail Size
Read-only pre-create scope check. Takes the same plot filter that
Create Audit Trail accepts and returns the number of
plots the create would resolve — running nothing, assessing nothing, and
costing nothing.
Use it to size a DDS before committing to it: a filter such as
supplier_name has no cheap client-side count, so without this endpoint the
only way to learn a run's scale is to start it.
It is POST rather than GET because the filter is a nested object that
doesn't carry cleanly in a querystring — the request is still read-only and
changes no state.
▶Request
▶Method & Path
POST /regulations/eudr/audit-trail/preview
▶Body
| Field | Required | Description |
|---|---|---|
data.type | yes | Must be "dds_record_preview". |
data.attributes.filter | no | The same plot-filter object the create accepts. Defaults to {}, which — exactly as on the create — counts every plot in scope. |
▶Response
| Field | Type | Description |
|---|---|---|
plot_count | integer | Plots the create would resolve for this filter. |
capped | boolean | true when the count hit the ceiling — see below. |
▶Reading capped
cappedWhen capped is true, plot_count is the cap, not the real total — the
true figure is higher. Display it as "10,000+" rather than as an exact
number, and treat the run as over any sensible per-run ceiling.
The cap check counts raw location records (pivot rows), which is greater than
or equal to the deduplicated plot count. So capped can occasionally come back
true for a run whose deduplicated total sits just under the cap — a heavily
re-uploaded catchment, for instance. This over-reports scale, which is the
conservative direction for a cost gate, and never under-reports it.
▶One known under-count
A supplier_name filter is resolved here against the registry supplier link
only. The create additionally runs a slower normalised-name fallback, so for
suppliers that resolve only via a facility's free-text name this preview can
come back slightly below what the create will produce. Every other filter
matches the create exactly.
▶Status codes
| Code | When |
|---|---|
200 | Count returned |
400 | Malformed body or filter |
401 / 403 | Missing or insufficient credentials |
Note the scope: eudr:read, not the eudr:write the create needs — a
read-scoped credential can size a run without being able to start one.
Required scope:
eudr:read