Plot views on a single DDS record

Read-side views over the plots associated with a record's current version snapshot, plus the operator-driven config that shapes what the DDS package will actually use.

Read views (this folder)

ViewQuestionEndpoint
List Plots"What plots will the package actually use?"GET /dds/:recordId/plots
List Unaccounted Plots"What's appeared on the source task since the snapshot was cut and would qualify if the filter were re-applied today?"GET /dds/:recordId/plots/unaccounted

List Plots (where excluded = false) plus the Exclusions/List Excluded Plots view (where excluded = true) together partition the current version's plot set. List Unaccounted Plots is disjoint from both — by definition those plots are not in the current version snapshot, and have no record-level config (no justification surfaced inline).

Subfolders

FolderWhat it covers
Exclusions/List excluded plots, plus single-plot mutations to exclude or re-include a plot

Justifications and compliance overrides

Both List Plots and List Excluded Plots attach any matching justification inline as attributes.justification: { text, evidence_urls, compliance_override }. Justifications can apply to either included or excluded plots; this saves callers a second round-trip to render the operator's reasoning.

The compliance_override field carries the operator's manual pin of the plot's compliance verdict on this version:

ValueMeaning
"compliant"Operator has flipped this plot to compliant despite the alert-derived verdict.
"non_compliant"Operator has escalated this plot to non-compliant.
nullNo override set — verdict falls back to the alert-derived value.

The override is set / cleared via Verdict Overrides (axis plot_compliance), or removed wholesale with its DELETE; the corresponding effective_verdict and byVerdict aggregates are surfaced on the JSON report.

List Unaccounted Plots does not attach justifications: by definition those plots have no record-level config yet.

Configuring exclusions, justifications, and overrides

  • Bulk edits (many exclusions / justification texts at once) go through PATCH /:recordId/config — see Patch DDS Config in the parent folder. Note that the bulk endpoint does not accept compliance_override; use the per-plot Verdict Overrides endpoints for findings on any axis.
  • Per-plot edits — the only path that accepts compliance_override — live under the Exclusions/ subfolder, and Verdict Overrides/ for findings.

?include=assessment

All three plot endpoints (and their version-pinned siblings under Versions/) accept ?include=assessment to attach the full assessment data per plot as a JSON:API relationships.assessment block. Same shape the /locations?include=assessment endpoint emits — core (with confidence_score / confidence_level / flags), plus art9, art10, hazard, infrastructure (each with flags / sub_options / sco2_run_at).

EndpointSource of the assessment
List Plots, List Excluded Plots (current and version-pinned)Pinned snapshot — resolves the assessment pinned for each type at version-cut time. Pins that were null at version-cut time render as null in the relationships block, matching the version's completeness counts.
List Unaccounted PlotsLive — there's no version pin (these plots aren't in any snapshot yet), so your org's current assessment per type is returned.

Without the param, data[i].relationships is omitted entirely. Hydration is one batched call per page, regardless of page size.

Required scope: ingestions:read