Check a period's DMR values against the permit's own limits

A US NPDES permit's Discharge Monitoring Report for one period, checked before it is filed: each value you send (outfall, parameter, statistic, value, unit) is set beside the permit's own limit for that period, from EPA's national limits file (ICIS-NPDES), with EPA's violation rule's verdict: flagged (EPA records a violation), ok, undecidable (a less-than result against a lower limit: EPA does not flag it, nor does it show compliance), no_data (a NODI code), not_graded (an alert or stayed limit), unreadable. A row we cannot place on one value due is refused by its code (outfall.not_in_permit, parameter.not_limited, statistic.not_limited, unit.not_on_form, period.not_due, row.ambiguous with the candidates), never put on the nearest limit. Every value due this period is in limits once with its limit_value_id (the cite into EPA's file); not_sent lists those you did not send, which EPA records as missing (D90) when filed blank. headline and tally are the forms as filed with exactly the values placed. netdmr: true adds the NetDMR "Import DMRs" file as text (not yet validated by NetDMR's own import check). The values reach our server to be checked and are not kept: only how many were sent, flagged and refused is counted.

post/dmr/check

Request

  • Base URL: https://passage-data.com/api/v1
  • URL: https://passage-data.com/api/v1/dmr/check
  • Auth: one of:
    • none
    • HTTP bearer
    • API key in header x-api-key

Request body

permitstring required

The NPDES permit number, e.g. PA0228061.

period_endstring required

The reporting period: its month (2026-09) or its last day (2026-09-30). A quarterly form is due on the period ending its quarter.

netdmrboolean

Also return the NetDMR "Import DMRs" file (CSV text) for the values placed.

Response

Each value beside its limit with EPA's rule's verdict, every value due, the forms' headline and tally

object required

Changes

No recorded changes to this operation across all 1 revision of this API.