ECHO — Effluent Charting and Reporting

NPDES permit effluent monitoring time-series charts and download services.

Documentation

Specifications

Examples

Schemas & Data

📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/epa/refs/heads/main/json-schema/echo-effluent-eff01-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/epa/refs/heads/main/json-schema/echo-effluent-eff02-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/epa/refs/heads/main/json-schema/echo-effluent-eff03-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/epa/refs/heads/main/json-schema/echo-effluent-eff04-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/epa/refs/heads/main/json-schema/echo-effluent-eff05-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/epa/refs/heads/main/json-schema/echo-effluent-eff06-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/epa/refs/heads/main/json-schema/echo-effluent-eff07-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/epa/refs/heads/main/json-schema/echo-effluent-eff08-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/epa/refs/heads/main/json-schema/echo-effluent-eff09-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/epa/refs/heads/main/json-schema/echo-effluent-rlup01-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/epa/refs/heads/main/json-schema/echo-effluent-rlup23-schema.json
📊
JSONStructure
https://raw.githubusercontent.com/api-evangelist/epa/refs/heads/main/json-structure/echo-effluent-eff01-structure.json
📊
JSONStructure
https://raw.githubusercontent.com/api-evangelist/epa/refs/heads/main/json-structure/echo-effluent-eff02-structure.json
📊
JSONStructure
https://raw.githubusercontent.com/api-evangelist/epa/refs/heads/main/json-structure/echo-effluent-eff03-structure.json
📊
JSONStructure
https://raw.githubusercontent.com/api-evangelist/epa/refs/heads/main/json-structure/echo-effluent-eff04-structure.json
📊
JSONStructure
https://raw.githubusercontent.com/api-evangelist/epa/refs/heads/main/json-structure/echo-effluent-eff05-structure.json
📊
JSONStructure
https://raw.githubusercontent.com/api-evangelist/epa/refs/heads/main/json-structure/echo-effluent-eff06-structure.json
📊
JSONStructure
https://raw.githubusercontent.com/api-evangelist/epa/refs/heads/main/json-structure/echo-effluent-eff07-structure.json
📊
JSONStructure
https://raw.githubusercontent.com/api-evangelist/epa/refs/heads/main/json-structure/echo-effluent-eff08-structure.json
📊
JSONStructure
https://raw.githubusercontent.com/api-evangelist/epa/refs/heads/main/json-structure/echo-effluent-eff09-structure.json
📊
JSONStructure
https://raw.githubusercontent.com/api-evangelist/epa/refs/heads/main/json-structure/echo-effluent-rlup01-structure.json
📊
JSONStructure
https://raw.githubusercontent.com/api-evangelist/epa/refs/heads/main/json-structure/echo-effluent-rlup23-structure.json

Other Resources

OpenAPI Specification

echo-effluent-openapi.json Raw ↑
{
  "swagger": "2.0",
  "schemes": [
    "https"
  ],
  "host": "echodata.epa.gov",
  "basePath": "/echo",
  "info": {
    "contact": {
      "name": "U.S. EPA, OECA Integration, Targeting and Access Branch",
      "url": "https://echo.epa.gov/resources/general-info/contact-us"
    },
    "description": "Enforcement and Compliance History Online (ECHO) is a tool developed and maintained by EPA's Office of Enforcement and Compliance Assurance for public use.\n  ECHO provides integrated compliance and enforcement information for over 1 million regulated facilities nationwide.\n   EFF Rest Services provides the data for ECHO's Effluent Charts, a set of dynamic charts and tables of permitted effluent limits, releases, and violations over time for Clean Water Act (CWA) wastewater discharge permits issued under the National Pollutant Discharge Elimination System (NPDES).  \n\nSee Effluent Charts Help (https://echo.epa.gov/help/reports/effluent-charts-help) for additional information.\n\\\nThe are 3 service end points for Effluent Charts:  get_summary_chart, get_effluent_chart, and download_effluent_chart.\n\\\n <b>1)</b>  Use get_summary_chart to retrieve a summary matrix of effluent parameters by effluent outfall and an overall violation status for a provided NPDES Permit and date range.\n <b>2)</b>  Use get_effluent_chart to retrieve detailed Discharge Limit, DMR and NPDES Violation information for a provided NPDES Permit, date range, effluent parameter, or outfall.\n <b>3)</b>  Use download_effluent_chart to generate a Comma Separated Value (CSV) file of the detailed data provided with get_effluent chart, for a provided NPDES Permit, date range, effluent parameter, or outfall.\n\\\nAdditional ECHO Resources:   <a href=\"https://echo.epa.gov/tools/web-services\">Web Services</a>, <a href=\"https://echo.epa.gov/resources/echo-data/about-the-data\">About ECHO's Data</a>, <a href=\"https://echo.epa.gov/tools/data-downloads\">Data Downloads</a>\n ",
    "license": {
      "name": "U.S. Public Domain License",
      "url": "https://edg.epa.gov/EPA_Data_License.html"
    },
    "title": "U.S. EPA Enforcement and Compliance History Online (ECHO) - Effluent Charting and Reporting",
    "version": "2019.10.15",
    "x-apisguru-categories": [
      "open_data"
    ],
    "x-logo": {
      "backgroundColor": "#FFFFFF",
      "url": "https://api.apis.guru/v2/cache/logo/https_pbs.twimg.com_profile_images_632233890594299904_DgRDU6dx_400x400.png"
    },
    "x-origin": [
      {
        "format": "swagger",
        "url": "https://ofmpub.epa.gov/echo/swaggerx.swagger_json?p_prefix=EFF",
        "version": "2.0"
      }
    ],
    "x-providerName": "epa.gov",
    "x-serviceName": "eff"
  },
  "consumes": [
    "application/x-www-form-urlencoded"
  ],
  "produces": [
    "application/json",
    "application/xml"
  ],
  "parameters": {
    "f.callback": {
      "description": "JSONP Callback.  For use with JSONP and GEOJSONP output only.  Enter a name of the function in which to wrap the JSON response.",
      "in": "formData",
      "name": "callback",
      "required": false,
      "type": "string"
    },
    "f.end_date": {
      "description": "The end date (mm/dd/yyyy) for the date range of interest. Must be used in conjunction with start_date. If start_date and end_date are not specified, the service will return the last three years of data.",
      "in": "formData",
      "name": "end_date",
      "required": false,
      "type": "string"
    },
    "f.outfall": {
      "description": "Three-character code that identifies the point of discharge (e.g., pipe or outfall) for a facility. A single NPDES ID may have multiple points of discharge.",
      "in": "formData",
      "name": "outfall",
      "required": false,
      "type": "string"
    },
    "f.output": {
      "description": "Output Format Flag.  Enter one of the following keywords:\n- JSON = Data model formatted as Javascript Object Notation (default).\n- JSONP = Data model formatted as Javascript Object Notation with Padding.  \n- XML = Data model formatted as Extensible Markup Language.",
      "enum": [
        "JSONP",
        "JSON",
        "XML"
      ],
      "in": "formData",
      "name": "output",
      "required": false,
      "type": "string"
    },
    "f.p_id": {
      "description": "Identifier for the service.",
      "in": "formData",
      "name": "p_id",
      "required": true,
      "type": "string"
    },
    "f.parameter_code": {
      "description": "Five-digit numeric code identifying the parameter. See Parameter Lookup documentation for a complete list of codes.",
      "in": "formData",
      "name": "parameter_code",
      "required": false,
      "type": "string"
    },
    "f.search_code": {
      "description": "Enter a partial or complete code value.",
      "in": "formData",
      "name": "search_code",
      "required": false,
      "type": "string"
    },
    "f.search_term": {
      "description": "Enter a partial or complete search phrase or word.",
      "in": "formData",
      "name": "search_term",
      "required": false,
      "type": "string"
    },
    "f.start_date": {
      "description": "The start date (mm/dd/yyyy) for the date range of interest. Must be used in conjunction with end_date. If start_date and end_date are not specified, the service will return the last three years of data.",
      "in": "formData",
      "name": "start_date",
      "required": false,
      "type": "string"
    },
    "q.callback": {
      "description": "JSONP Callback.  For use with JSONP and GEOJSONP output only.  Enter a name of the function in which to wrap the JSON response.",
      "in": "query",
      "name": "callback",
      "required": false,
      "type": "string"
    },
    "q.end_date": {
      "description": "The end date (mm/dd/yyyy) for the date range of interest. Must be used in conjunction with start_date. If start_date and end_date are not specified, the service will return the last three years of data.",
      "in": "query",
      "name": "end_date",
      "required": false,
      "type": "string"
    },
    "q.outfall": {
      "description": "Three-character code that identifies the point of discharge (e.g., pipe or outfall) for a facility. A single NPDES ID may have multiple points of discharge.",
      "in": "query",
      "name": "outfall",
      "required": false,
      "type": "string"
    },
    "q.output": {
      "description": "Output Format Flag.  Enter one of the following keywords:\n- JSON = Data model formatted as Javascript Object Notation (default).\n- JSONP = Data model formatted as Javascript Object Notation with Padding.  \n- XML = Data model formatted as Extensible Markup Language.",
      "enum": [
        "JSONP",
        "JSON",
        "XML"
      ],
      "in": "query",
      "name": "output",
      "required": false,
      "type": "string"
    },
    "q.p_id": {
      "description": "Identifier for the service.",
      "in": "query",
      "name": "p_id",
      "required": true,
      "type": "string"
    },
    "q.parameter_code": {
      "description": "Five-digit numeric code identifying the parameter. See Parameter Lookup documentation for a complete list of codes.",
      "in": "query",
      "name": "parameter_code",
      "required": false,
      "type": "string"
    },
    "q.search_code": {
      "description": "Enter a partial or complete code value.",
      "in": "query",
      "name": "search_code",
      "required": false,
      "type": "string"
    },
    "q.search_term": {
      "description": "Enter a partial or complete search phrase or word.",
      "in": "query",
      "name": "search_term",
      "required": false,
      "type": "string"
    },
    "q.start_date": {
      "description": "The start date (mm/dd/yyyy) for the date range of interest. Must be used in conjunction with end_date. If start_date and end_date are not specified, the service will return the last three years of data.",
      "in": "query",
      "name": "start_date",
      "required": false,
      "type": "string"
    }
  },
  "paths": {
    "/eff_rest_services.download_effluent_chart": {
      "get": {
        "description": "Downloads tabular Discharge Monitoring Report (DMR) and compliance data for one NPDES permit as a CSV.",
        "parameters": [
          {
            "$ref": "#/parameters/q.p_id"
          },
          {
            "$ref": "#/parameters/q.outfall"
          },
          {
            "$ref": "#/parameters/q.parameter_code"
          },
          {
            "$ref": "#/parameters/q.start_date"
          },
          {
            "$ref": "#/parameters/q.end_date"
          }
        ],
        "responses": {
          "200": {
            "description": "Returns an object with summary effluent information",
            "schema": {
              "type": "file"
            }
          }
        },
        "summary": "Effluent Charts Download Service",
        "tags": [
          "Effluent Charts"
        ],
        "x-microcks-operation": {
          "delay": 0,
          "dispatcher": "FALLBACK"
        }
      },
      "post": {
        "description": "Downloads tabular Discharge Monitoring Report (DMR) and compliance data for one NPDES permit as a CSV.",
        "parameters": [
          {
            "$ref": "#/parameters/f.p_id"
          },
          {
            "$ref": "#/parameters/f.outfall"
          },
          {
            "$ref": "#/parameters/f.parameter_code"
          },
          {
            "$ref": "#/parameters/f.start_date"
          },
          {
            "$ref": "#/parameters/f.end_date"
          }
        ],
        "responses": {
          "200": {
            "description": "Returns an object with summary effluent information",
            "schema": {
              "type": "file"
            }
          }
        },
        "summary": "Effluent Charts Download Service",
        "tags": [
          "Effluent Charts"
        ],
        "x-microcks-operation": {
          "delay": 0,
          "dispatcher": "FALLBACK"
        }
      }
    },
    "/eff_rest_services.get_effluent_chart": {
      "get": {
        "description": "Discharge Monitoring Report (DMR) data supporting each effluent chart for one NPDES permit. Includes Discharge Monitoring Reports and NPDES Violations. \n\n",
        "parameters": [
          {
            "$ref": "#/parameters/q.p_id"
          },
          {
            "$ref": "#/parameters/q.outfall"
          },
          {
            "$ref": "#/parameters/q.parameter_code"
          },
          {
            "$ref": "#/parameters/q.start_date"
          },
          {
            "$ref": "#/parameters/q.end_date"
          },
          {
            "$ref": "#/parameters/q.output"
          },
          {
            "$ref": "#/parameters/q.callback"
          }
        ],
        "responses": {
          "200": {
            "description": "Returns an object with detailed effluent information",
            "schema": {
              "description": "Root Object",
              "properties": {
                "Results": {
                  "$ref": "#/definitions/eff05"
                }
              },
              "required": [
                "Results"
              ],
              "type": "object",
              "xml": {
                "name": "Root"
              }
            }
          }
        },
        "summary": "Detailed Effluent Chart Service",
        "tags": [
          "Effluent Charts"
        ],
        "x-microcks-operation": {
          "delay": 0,
          "dispatcher": "FALLBACK"
        }
      },
      "post": {
        "description": "Discharge Monitoring Report (DMR) data supporting each effluent chart for one NPDES permit. Includes Discharge Monitoring Reports and NPDES Violations. \n\n",
        "parameters": [
          {
            "$ref": "#/parameters/f.p_id"
          },
          {
            "$ref": "#/parameters/f.outfall"
          },
          {
            "$ref": "#/parameters/f.parameter_code"
          },
          {
            "$ref": "#/parameters/f.start_date"
          },
          {
            "$ref": "#/parameters/f.end_date"
          },
          {
            "$ref": "#/parameters/f.output"
          },
          {
            "$ref": "#/parameters/f.callback"
          }
        ],
        "responses": {
          "200": {
            "description": "Returns an object with detailed effluent information",
            "schema": {
              "description": "Root Object",
              "properties": {
                "Results": {
                  "$ref": "#/definitions/eff05"
                }
              },
              "required": [
                "Results"
              ],
              "type": "object",
              "xml": {
                "name": "Root"
              }
            }
          }
        },
        "summary": "Detailed Effluent Chart Service",
        "tags": [
          "Effluent Charts"
        ],
        "x-microcks-operation": {
          "delay": 0,
          "dispatcher": "FALLBACK"
        }
      }
    },
    "/eff_rest_services.get_summary_chart": {
      "get": {
        "description": "Summary of compliance status each outfall and parameter for one NPDES permit. Provides the current compliance status and overall compliance status for the date range of interest. This service supports the Summary Matrix on the Effluent Charts.",
        "parameters": [
          {
            "$ref": "#/parameters/q.p_id"
          },
          {
            "$ref": "#/parameters/q.output"
          },
          {
            "$ref": "#/parameters/q.callback"
          },
          {
            "$ref": "#/parameters/q.start_date"
          },
          {
            "$ref": "#/parameters/q.end_date"
          }
        ],
        "responses": {
          "200": {
            "description": "Returns an object with summary effluent information",
            "schema": {
              "description": "Root Object",
              "properties": {
                "Results": {
                  "$ref": "#/definitions/eff09"
                }
              },
              "required": [
                "Results"
              ],
              "type": "object",
              "xml": {
                "name": "Root"
              }
            }
          }
        },
        "summary": "Summary Effluent Chart Service",
        "tags": [
          "Effluent Charts"
        ],
        "x-microcks-operation": {
          "delay": 0,
          "dispatcher": "FALLBACK"
        }
      },
      "post": {
        "description": "Summary of compliance status each outfall and parameter for one NPDES permit. Provides the current compliance status and overall compliance status for the date range of interest. This service supports the Summary Matrix on the Effluent Charts.",
        "parameters": [
          {
            "$ref": "#/parameters/f.p_id"
          },
          {
            "$ref": "#/parameters/f.output"
          },
          {
            "$ref": "#/parameters/f.callback"
          },
          {
            "$ref": "#/parameters/f.start_date"
          },
          {
            "$ref": "#/parameters/f.end_date"
          }
        ],
        "responses": {
          "200": {
            "description": "Returns an object with summary effluent information",
            "schema": {
              "description": "Root Object",
              "properties": {
                "Results": {
                  "$ref": "#/definitions/eff09"
                }
              },
              "required": [
                "Results"
              ],
              "type": "object",
              "xml": {
                "name": "Root"
              }
            }
          }
        },
        "summary": "Summary Effluent Chart Service",
        "tags": [
          "Effluent Charts"
        ],
        "x-microcks-operation": {
          "delay": 0,
          "dispatcher": "FALLBACK"
        }
      }
    },
    "/rest_lookups.cwa_parameters": {
      "get": {
        "description": "Look up Clean Water Act parameter codes and descriptions in the Integrated Compliance Information System - National Pollutant Discharge Elimination System (ICIS-NPDES) by code or term.",
        "parameters": [
          {
            "$ref": "#/parameters/q.output"
          },
          {
            "$ref": "#/parameters/q.callback"
          },
          {
            "$ref": "#/parameters/q.search_term"
          },
          {
            "$ref": "#/parameters/q.search_code"
          }
        ],
        "responses": {
          "200": {
            "description": "Returns an array of parameter codes and descriptions that contain the search_term or search_code entered. If search term or search code not provided, returns all values. ValueCode is the 5-digit parameter code.\nValueDescription is the parameter description.",
            "schema": {
              "description": "Root Object",
              "properties": {
                "Results": {
                  "$ref": "#/definitions/rlup23"
                }
              },
              "required": [
                "Results"
              ],
              "type": "object",
              "xml": {
                "name": "Root"
              }
            }
          }
        },
        "summary": "ECHO CWA Parameter Lookup Service",
        "tags": [
          "Lookups"
        ],
        "x-microcks-operation": {
          "delay": 0,
          "dispatcher": "FALLBACK"
        }
      },
      "post": {
        "description": "Look up Clean Water Act parameter codes and descriptions in the Integrated Compliance Information System - National Pollutant Discharge Elimination System (ICIS-NPDES) by code or term.",
        "parameters": [
          {
            "$ref": "#/parameters/f.output"
          },
          {
            "$ref": "#/parameters/f.callback"
          },
          {
            "$ref": "#/parameters/f.search_term"
          },
          {
            "$ref": "#/parameters/f.search_code"
          }
        ],
        "responses": {
          "200": {
            "description": "Returns an array of parameter codes and descriptions that contain the search_term or search_code entered. If search term or search code not provided, returns all values. ValueCode is the 5-digit parameter code.\nValueDescription is the parameter description.",
            "schema": {
              "description": "Root Object",
              "properties": {
                "Results": {
                  "$ref": "#/definitions/rlup23"
                }
              },
              "required": [
                "Results"
              ],
              "type": "object",
              "xml": {
                "name": "Root"
              }
            }
          }
        },
        "summary": "ECHO CWA Parameter Lookup Service",
        "tags": [
          "Lookups"
        ],
        "x-microcks-operation": {
          "delay": 0,
          "dispatcher": "FALLBACK"
        }
      }
    }
  },
  "definitions": {
    "eff01": {
      "description": "Discharge Monitoring Reports Object",
      "properties": {
        "DMREventId": {
          "description": "The sequence ID identifying the DMR Event.",
          "example": "3403602486",
          "title": "DMR Event ID",
          "type": "string"
        },
        "DMRFormValueId": {
          "description": "The sequence ID identifying the DMR Form Value.",
          "example": "3444464127",
          "title": "Measured Value ID",
          "type": "string"
        },
        "DMRUnitCode": {
          "description": "The code representing the unit of measure applicable to quantity or concentration limits and measurements as entered into ICIS-NPDES",
          "example": "19",
          "title": "Measured Value Unit Code",
          "type": "string"
        },
        "DMRUnitDesc": {
          "description": "The short description of the unit of measure applicable to limit or DMR values",
          "example": "mg/L",
          "title": "Measured Value Unit",
          "type": "string"
        },
        "DMRValueId": {
          "description": "The unique identifier for the DMR value generated in ICIS-NPDES",
          "example": "3420340252",
          "title": "Measured Value ID",
          "type": "string"
        },
        "DMRValueNmbr": {
          "description": "The DMR value number reported on the DMR Form",
          "example": "20",
          "title": "Measured Value",
          "type": "string"
        },
        "DMRValueQualifierCode": {
          "description": "The unique code identifying the DMR value operator (i.e., <, <=, >, >=, T, E, =). E indicates an estimated value. T indicates too numerous to count",
          "example": "=",
          "title": "DMR Value Qualifier Code",
          "type": "string"
        },
        "DMRValueStdUnits": {
          "description": "The DMR value expressed in standard units, as calculated in ICIS-NPDES",
          "example": "20",
          "title": "Measured Value Standard Units",
          "type": "string"
        },
        "DaysLate": {
          "description": "The number of days the DMR value is late, as generated in ICIS-NPDES",
          "example": "5",
          "title": "Days Received Late",
          "type": "string"
        },
        "ExceedencePct": {
          "description": "The percent by which the DMR value (or adjusted value) exceeded its limit (or stay) value, as generated in ICIS-NPDES",
          "example": "0",
          "title": "Exceedance Percentage",
          "type": "string"
        },
        "LimitBeginDate": {
          "description": "The date on which a limit becomes in effect for a particular parameter in a limit set",
          "example": "01-APR-14",
          "title": "Limit Begin Date",
          "type": "string"
        },
        "LimitEndDate": {
          "description": "The date on which a limit stops being in effect for a particular parameter in a limit set",
          "example": "31-MAR-19",
          "title": "Limit End Date",
          "type": "string"
        },
        "LimitId": {
          "description": "The unique identifier for a limit parameter record",
          "example": "3401161480",
          "title": "Limit ID",
          "type": "string"
        },
        "LimitSetId": {
          "description": "The unique identifier for a limit set, generated in ICIS-NPDES",
          "example": "3400122018",
          "title": "Limit Set ID",
          "type": "string"
        },
        "LimitSetScheduleId": {
          "description": "The unique identifier of the Limit Set Schedule, generated in ICIS-NPDES",
          "example": "3400204974",
          "title": "Limit Set Schedule ID",
          "type": "string"
        },
        "LimitTypeCode": {
          "example": "C1",
          "title": "Limit Type Code",
          "type": "string"
        },
        "LimitUnitCode": {
          "description": "The code representing the unit of measure applicable to quantity or concentration limits and measurements as entered by the user",
          "example": "12",
          "title": "Limit Unit Code",
          "type": "string"
        },
        "LimitUnitDesc": {
          "description": "The short description of the unit of measure applicable to limit or DMR values",
          "example": "SU",
          "title": "Limit Unit Description",
          "type": "string"
        },
        "LimitValueId": {
          "description": "The unique identifier in ICIS-NPDES for the Limit Value",
          "example": "3401799401",
          "title": "Limit Value ID",
          "type": "string"
        },
        "LimitValueNmbr": {
          "description": "The numerical limit for a given parameter",
          "example": "20",
          "title": "Limit Value",
          "type": "string"
        },
        "LimitValueQualifierCode": {
          "description": "The unique code identifying the limit value operator (i.e., <, <=, >, >=, T, E, =). E indicates an estimated value. T indicates too numerous to count",
          "example": "=",
          "title": "Limit Value Qualifier",
          "type": "string"
        },
        "LimitValueStdUnits": {
          "description": "The limit value expressed in standard units, as calculated in ICIS-NPDES",
          "example": "20",
          "title": "Limit Value in Standard Units",
          "type": "string"
        },
        "LimitValueTypeCode": {
          "description": "The code indicating the type of value the limit is given as (i.e., Q1, Q2, C1, C2, C3)",
          "example": "C1",
          "title": "Limit Value Code",
          "type": "string"
        },
        "LimitValueTypeDesc": {
          "description": "The description indicating the type of value the limit is given as (e.g., Concentration, Quantity)",
          "example": "Concentration1",
          "title": "Limit Value Type",
          "type": "string"
        },
        "MonitoringPeriodEndDate": {
          "description": "The date that the monitoring period for the values covered by the DMR Form ends",
          "example": "30-APR-14",
          "title": "Monitoring Period End Date",
          "type": "string"
        },
        "NODEDesc": {
          "type": "string",
          "example": "string"
        },
        "NODICode": {
          "description": "The unique code indicating why no DMR Value was submitted by the permittee for a Monitoring Period End Date",
          "example": "C",
          "title": "No Discharge Code",
          "type": "string"
        },
        "NPDESViolations": {
          "items": {
            "$ref": "#/definitions/eff02"
          },
          "title": "NPDES Violations",
          "type": "array",
          "xml": {
            "name": "NPDESViolations",
            "wrapped": true
          },
          "example": [
            "string"
          ]
        },
        "NmbrOfSubmission": {
          "description": "The number of months of discharges represented on each DMR for the limit set (e.g., monthly = 1, bi-monthly = 2, quarterly = 3, triannual = 4, semi-annual = 6, annual = 12). This data element will be blank for Unscheduled Limit Sets",
          "example": "1",
          "title": "Number of Submissions",
          "type": "string"
        },
        "PermFeatureId": {
          "description": "The unique identifier in ICIS-NPDES of a permitted feature or outfall",
          "example": "3400087283",
          "title": "Permit Feature ID",
          "type": "string"
        },
        "StatisticalBaseCode": {
          "description": "The code representing the unit of measure applicable to the limit and DMR values entered by the user (e.g., 30-day average, daily maximum)",
          "example": "DC",
          "title": "Statistical Base Code",
          "type": "string"
        },
        "StatisticalBaseDesc": {
          "type": "string",
          "example": "string"
        },
        "StatisticalBaseTypeCode": {
          "description": "The code indicating whether the statistical base code is a minimum, average, or maximum for purposes of calculating compliance against the limit value",
          "example": "MIN",
          "title": "Statistical Base Type Code",
          "type": "string"
        },
        "StatisticalBaseTypeDesc": {
          "description": "A short description for indicating whether the statistical base code is a minimum, average, or maximum for purposes of calculating compliance against the limit value",
          "example": "Minimum",
          "title": "Statistical Base Type",
          "type": "string"
        },
        "StayValueNmbr": {
          "description": "The numeric limit value imposed during the period of the stay for the limit; if entered, during the stay period, ICIS-NPDES will use this limit value for calculating compliance rather than the actual limit value",
          "example": "???",
          "title": "Stay Value Number",
          "type": "string"
        },
        "StdUnitCode": {
          "description": "The code representing the standard unit of measure applicable to quantity or concentration limits and measurements as entered by the user",
          "example": "19",
          "title": "Standard Unit Code",
          "type": "string"
        },
        "StdUnitDesc": {
          "description": "The short description of the standard unit of measure applicable to limit or DMR values",
          "example": "mg/L",
          "title": "Standard Unit Description",
          "type": "string"
        },
        "ValueReceivedDate": {
          "description": "The date the DMR value was received by the regulatory authority",
          "example": "08-MAY-14",
          "title": "Date Received",
          "type": "string"
        },
        "ValueTypeCode": {
          "description": "The indication of the limit value type (e.g., Quantity 1, Concentration 2)",
          "example": "C1",
          "title": "Measured Value Type Code",
          "type": "string"
        },
        "ValueTypeDesc": {
          "description": "The type of value the measured number is given as (e.g., Concentration, Quantity)",
          "example": "Concentration1",
          "title": "Measured Value Type",
          "type": "string"
        },
        "VersionNmbr": {
          "description": "The version of the permit when a modification or reissuance is applied to the permit. Version = 0 indicates the original permit issuance",
          "example": "0",
          "title": "Version Number",
          "type": "string"
        }
      },
      "required": [
        "VersionNmbr",
        "PermFeatureId",
        "LimitSetId",
        "LimitSetScheduleId",
        "NmbrOfSubmission",
        "LimitId",
        "LimitTypeCode",
        "LimitBeginDate",
        "LimitEndDate",
        "LimitValueId",
        "LimitValueTypeCode",
        "LimitValueTypeDesc",
        "LimitValueNmbr",
        "LimitUnitCode",
        "LimitUnitDesc",
        "StdUnitCode",
        "StdUnitDesc",
        "LimitValueStdUnits",
        "StatisticalBaseCode",
        "StatisticalBaseDesc",
        "StatisticalBaseTypeCode",
        "StatisticalBaseTypeDesc",
        "LimitValueQualifierCode",
        "StayValueNmbr",
        "DMREventId",
        "MonitoringPeriodEndDate",
        "DMRFormValueId",
        "ValueTypeCode",
        "ValueTypeDesc",
        "DMRValueId",
        "DMRValueNmbr",
        "DMRUnitCode",
        "DMRUnitDesc",
        "DMRValueStdUnits",
        "DMRValueQualifierCode",
        "ValueReceivedDate",
        "DaysLate",
        "NODICode",
        "NODEDesc",
        "ExceedencePct"
      ],
      "type": "object",
      "xml": {
        "name": "DischargeMonitoringReport"
      }
    },
    "eff02": {
      "description": "NPDES Violations Object",
      "properties": {
        "NPDESViolationId": {
          "description": "The unique identifier in ICIS-NPDES for the NPDES Violation",
          "example": "3401214483",
          "title": "NPDES Violation ID",
          "type": "string"
        },
        "RNCDetectionCode": {
          "description": "The code indicating the reportable noncompliance (RNC) detected for a violation:\n- A = Enforcement Order\n- B = Manual 2A4 - Pass-Through\n- C = Chronic Violation\n- D = Manual Other\n- E = Manual 2F - Permit Narrative\n- F = Manual 2G - Violation of Concern\n- G = Manual 2A1 - Effluent Violation\n- H = Chronic Violation, Non-Monthly Average\n- I = Manual 2A2 - Unauthorized Bypass\n- J = Manual 2A3 - Unpermitted Discharge\n- K = Non-receipt Violation, Non-Monthly Average\n- N = Non-Receipt of DMR/Schedule Report\n- P = Enforcement Order, Non-Monthly Average\n- Q = Manual 2B - Pretreatment\n- R = TRC Limitations Exceeded, Non-Monthly Average\n- S = Schedule Violation\n- T = TRC Limitations Exceeded\n- U = Other Violation with TRC Non-Monthly Average\n- V = Other Violation with TRC\n- W = Manual 2E - Deficient Report\n- X = Manual Other Violation with TRC\n- Y = Manual TRC\n- Z = Manual Chronic",
          "example": "K",
          "title": "RNC Violation Code",
          "type": "string"
        },
        "RNCDetectionDate": {
          "description": "The date that the exceedance was detected",
          "example": "28-FEB-16",
          "title": "Detection Date",
          "type": "string"
        },
        "RNCDetectionDesc": {
          "description": "A description of the reportable noncompliance (RNC) detected",
          "example": "Non-receipt Violation, Non-Monthly Average",
          "title": "RNC Violation",
          "type": "string"
        },
        "RNCReso

# --- truncated at 32 KB (59 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/epa/refs/heads/main/openapi/echo-effluent-openapi.json