naftiko: 1.0.0-alpha2 info: label: U.S. EPA Enforcement and Compliance History Online (ECHO) - Safe Drinking Water Act — Safe Drinking Water description: 'Safe Drinking Water. 6 operations. Lead operation: Safe Drinking Water Act (SDWA) Download Data Service. Self-contained Naftiko capability covering one EPA business surface.' tags: - EPA - Safe Drinking Water created: '2026-05-29' modified: '2026-05-29' binds: - namespace: env keys: {} capability: consumes: - type: http namespace: echo-sdw-safe-drinking-water baseUri: https://echodata.epa.gov/echo description: U.S. EPA Enforcement and Compliance History Online (ECHO) - Safe Drinking Water Act — Safe Drinking Water business capability. Self-contained, no shared references. resources: - name: sdw-rest-services-get-download path: /sdw_rest_services.get_download operations: - name: getsdwrestservicesgetdownload method: GET description: Safe Drinking Water Act (SDWA) Download Data Service inputParameters: - name: output in: query type: string required: false description: "Output Format Flag. Enter one of the following keywords:\n- CSV = Facility results formatted as comma delimited file download (default)." - name: qid in: query type: string required: true description: Query ID Selector. Enter the QueryID number from a previously run query. - name: qcolumns in: query type: string required: false description: Used to customize service output. A list of comma-separated column IDs of output objects that will be returned in the service query object or download. Use the metadata service endpoint for a comple outputRawFormat: json outputParameters: - name: result type: object value: $. - name: sdw-rest-services-get-download path: /sdw_rest_services.get_download operations: - name: postsdwrestservicesgetdownload method: POST description: Safe Drinking Water Act (SDWA) Download Data Service inputParameters: - name: output in: formData type: string required: false description: "Output Format Flag. Enter one of the following keywords:\n- CSV = Facility results formatted as comma delimited file download (default)." - name: qid in: formData type: string required: true description: Query ID Selector. Enter the QueryID number from a previously run query. - name: qcolumns in: formData type: string required: false description: Used to customize service output. A list of comma-separated column IDs of output objects that will be returned in the service query object or download. Use the metadata service endpoint for a comple outputRawFormat: json outputParameters: - name: result type: object value: $. - name: sdw-rest-services-get-qid path: /sdw_rest_services.get_qid operations: - name: getsdwrestservicesgetqid method: GET description: Safe Drinking Water Act (SDWA) Paginated Results Service inputParameters: - name: output in: query type: string required: false 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 Paddi" - name: qid in: query type: string required: true description: Query ID Selector. Enter the QueryID number from a previously run query. - name: pageno in: query type: number required: false description: Indicates the number of the page to display. It is used only when the results are paginated. - name: callback in: query type: string required: false description: JSONP Callback. For use with JSONP and GEOJSONP output only. Enter a name of the function in which to wrap the JSON response. - name: newsort in: query type: number required: false description: Output Sort Column. Enter the number of the column on which the data will be sorted. If unpopulated results will sort on the first column. - name: descending in: query type: string required: false description: Output Sort Column Descending Flag. Enter Y to column identified in the newsort parameter descending. Enter N to use ascending sort order. Used only when newsort parameter is populated. - name: qcolumns in: query type: string required: false description: Used to customize service output. A list of comma-separated column IDs of output objects that will be returned in the service query object or download. Use the metadata service endpoint for a comple outputRawFormat: json outputParameters: - name: result type: object value: $. - name: sdw-rest-services-get-qid path: /sdw_rest_services.get_qid operations: - name: postsdwrestservicesgetqid method: POST description: Safe Drinking Water Act (SDWA) Paginated Results Service inputParameters: - name: output in: formData type: string required: false 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 Paddi" - name: qid in: formData type: string required: true description: Query ID Selector. Enter the QueryID number from a previously run query. - name: pageno in: formData type: number required: false description: Indicates the number of the page to display. It is used only when the results are paginated. - name: callback in: formData type: string required: false description: JSONP Callback. For use with JSONP and GEOJSONP output only. Enter a name of the function in which to wrap the JSON response. - name: newsort in: formData type: number required: false description: Output Sort Column. Enter the number of the column on which the data will be sorted. If unpopulated results will sort on the first column. - name: descending in: formData type: string required: false description: Output Sort Column Descending Flag. Enter Y to column identified in the newsort parameter descending. Enter N to use ascending sort order. Used only when newsort parameter is populated. - name: qcolumns in: formData type: string required: false description: Used to customize service output. A list of comma-separated column IDs of output objects that will be returned in the service query object or download. Use the metadata service endpoint for a comple outputRawFormat: json outputParameters: - name: result type: object value: $. - name: sdw-rest-services-get-systems path: /sdw_rest_services.get_systems operations: - name: getsdwrestservicesgetsystems method: GET description: Safe Drinking Water Act (SDWA) Systems Search Service inputParameters: - name: output in: query type: string required: false 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 Paddi" - name: p_fn in: query type: string required: false description: Facility Name Filter. Enter one or more case-insensitive facility names to filter results. Provide multiple values as a comma-delimited list. See p_fntype for additional modifiers. - name: p_ct in: query type: string required: false description: Facility City Filter. Enter a single case-insensitive city name to filter results. - name: p_co in: query type: string required: false description: Facility County Filter. Provide a single county name in combination with a state value provided via p_st. - name: p_fips in: query type: string required: false description: FIPS Code Filter. Enter a single 5-character Federal Information Processing Standards (FIPS) state + county value to restrict results. E.g. to limit results to Kenosha County, Wisconsin, use 55059. - name: p_st in: query type: string required: false description: Facility State and State-Equivalent Filter. Provide one or more USPS postal abbreviations for states and state-equivalents to filter results. Provide multiple values as a comma-delimited list. - name: p_zip in: query type: string required: false description: 5-Digit ZIP Code Filter. Provide one or more 5-digit postal zip codes to filter results. May contain multiple comma-separated values. - name: p_reg in: query type: string required: false description: EPA Region Filter. Provide a single value of 01 thru 10 to restrict results to a single EPA region. - name: p_trb in: query type: string required: false description: Tribe name - name: p_act in: query type: string required: false description: Active Permits/Facilities Flag. Provide Y or N to filter results to facilities with active permits. - name: p_qiv in: query type: string required: false description: "Quarters in Noncompliance Limiter. Enter a coded value to limit results to facilities with given quarter of noncompliance.\n- Z = Zero quarters in noncompliance.\n- GEXX = Replacing XX with a numeric v" - name: p_ico in: query type: string required: false description: Indian Country Flag. Enter a "Y" or "N" to restrict searches to facilities inside or outside Indian Country. - name: p_pid in: query type: string required: false description: Nine-digit permit IDs. May contain up to 2000 comma-separated values. - name: p_owop in: query type: string required: false description: "Owner/Operator code filter. Enter one of the following codes to filter results:\n- F = Federal Government\n- S = State Government\n- L = Local Government\n- M = Public/Private\n- N = Native American\n- P =" - name: p_systyp in: query type: string required: false description: "Type of public water system:\n- CWS=Community water system\n- NCWS=Non-community water system\n- NTCWS=Non-transient non-community water system\n- TNCWS=Transient non-community water system" - name: p_swtyp in: query type: string required: false description: "Source Water Type:\n- SW = Surface water \n- GW= Ground water\n- GU = Ground water under direct influence of (UDI) surface water\n- SWP = Purchased Surface water\n- GWP = Purchased Ground water\n- GUP = Pur" - name: p_popsv in: query type: string required: false description: "Estimated average daily population served by a system:\n- LE500 = 500 or less\n- IN501_3K = 501-3,300\n- IN3K_10K = 3,301-10,000\n- IN10K_100K = 10,001-100,000\n- IN100K_1M = 100,001-1,000,000\n- GT1M = Mor" - name: p_cntysv in: query type: string required: false description: p_cntysv - name: p_cs in: query type: string required: false description: "Current violations:\n- M = Monitoring and Reporting Violations\n- H = Health-based Violations\n- O = Other Violations\n- P = Public Notice Violations\n- S = Serious Violator\n- N = No Violations\nMay contain" - name: p_mr in: query type: string required: false description: Monitoring and Reporting Violations (failure to conduct regular monitoring of drinking water quality or submit monitoring results in a timely fashion). - name: p_health in: query type: string required: false description: Violations of health-based drinking water standards (maximum contaminant levels, maximum residual disinfectant levels, or treatment technique rules). - name: p_other in: query type: string required: false description: Other violations, such as failing to issue annual consumer confidence reports or maintain required records. - name: p_pn in: query type: string required: false description: Public Notice Violations (failure to immediately alert consumers of serious problem with drinking water). - name: p_sv in: query type: string required: false description: Serious Violator (unresolved serious, multiple, and/or continuing violations). A value of Y will return only SDWIS systems that are Serious Violators, while a value of N will only return SDWIS Systems - name: p_qs in: query type: string required: false description: Quick Search. Allows entry for city, state, and/or zip code. - name: p_sfs in: query type: string required: false description: Single Facility Search Filter. Provide a facility name or program system identifier to limit results. For the all data search, the FRS registry identifier is also searched. - name: p_pswpol in: query type: string required: false description: For CWA, pollutant names for surface water discharges. for Drinking Water, SDWIS Violation contaminant codes for unaddressed violations that have occurred in the last 3 years. May contain multiple com - name: p_pswvio in: query type: string required: false description: Used in conjuction with parameters p_pswpol and p_pswparam, indicates whether search should only include pollutants with violations. - name: p_pbale in: query type: string required: false description: Lead Action Level Exceedance. A "Y" value will select water systems with at least 1 Lead Action Level Exceedance. - name: p_cuale in: query type: string required: false description: Copper Action Level Exceedance. A "Y" value will select water systems with at least 1 Copper Action Level Exceedance. - name: p_rc350v in: query type: string required: false description: Rule code 350 violation. A "Y" value will select water systems with at least one rule code 350 violation. - name: p_pbv in: query type: string required: false description: Lead Violations. A "Y" value will select water systems with at least 1 Lead Violation. - name: p_cuv in: query type: string required: false description: Copper Violation. A "Y" value will select water systems with at least 1 Copper Violation. - name: p_lcrv in: query type: string required: false description: Lead or Copper rule violations. A "Y" value will select water systems with at least 1 Lead or Copper Rule Violation. - name: p_fea in: query type: string required: false description: "Formal Enforcement Actions [within / not within] specified date range indicator. The date range is determined by parameters p_fead1 and p_fead2 or by parameter p_feay.\n- W = within date range\n- N = no" - name: p_feay in: query type: number required: false description: Years (1 to 5) Range. This value is used to create a date range for Formal Enforcement Actions (FEA). Used along with p_fea (which indicates whether to look within or outside of the date range) to fi - name: p_feaa in: query type: string required: false description: "Agency associated with Formal Enforcement Actions:\n- E = EPA\n- S = State\n- A = All" - name: p_iea in: query type: string required: false description: "Informal Enforcement Actions [within / not within] specified date range. The date range is determined by parameters p_iead1 and p_iead2 or by parameter p_ieay.\n- W = within date range\n- N = not withi" - name: p_ieay in: query type: number required: false description: 'Years (1 to 5) Range. This value is used to create a date range for Informal Enforcement Actions (IEA). Used along with p_iea (which indicates whether to look within or outside of the date range) to ' - name: p_ieaa in: query type: string required: false description: "Agency associated with Informal Enforcement Actions. If left blank, both agencies are included.\n- E = EPA\n- S = State" - name: p_qis in: query type: string required: false description: "Significant Quarters in Noncompliance Limiter. Enter one of the following codes to limit results to facilities having given quarters of noncompliance.\n- Z = Zero quarters in noncompliance.\n- GE1 = On" - name: p_pfead1 in: query type: string required: false description: Formal Enforcement Action Date Range Start. Enter a date in MM/DD/YYYY format to set the start of the range for filtering by recent Formal Enforcement Action (FEA) taken against the facility within t - name: p_pfead2 in: query type: string required: false description: 'Formal Enforcement Action Date Range End. Enter a date in MM/DD/YYYY format to set the end of the date range for filtering by recent Formal Enforcement Action (FEA) taken against the facility within ' - name: p_pfeat in: query type: string required: false description: 'Formal Enforcement Action (FEA) Code Filter. Enter one or more three-letter FEA codes to restrict results to facilities with these attributes. Use p_fead1 and p_fead2 parameters to further restrict ' - name: p_ss5yr in: query type: string required: false description: "Sanitary Surveys (in past 5 years) flag. Values of visit_reason_code are either \"SNSV\" or \"SNSP\" in the past 5 years indicate a Sanitary Survey. \n\nEnter \"Y\" to select facilities with Sanitary Survey" - name: p_sdc in: query type: string required: false description: "Significant Deficiency Count (in past 5 years) flag. \n\nEnter \"Y\" to select facilities with Sanitary Surveys within the past 5 years. \n\nEnter \"N\" to select facilities without Sanitary Surveys in the " - name: p_sdc_ils in: query type: string required: false description: p_sdc_ils - name: p_ysl in: query type: string required: false description: "Last Facility Inspection [within / not within] Specified Date Range Indicator. The date range is determined by parameters p_idt1 and p_idt2 or by parameter p_ysly.\n- W = within date range\n- N = not wi" - name: p_ysly in: query type: string required: false description: Number of years (1 to 5) since last facility inspection. A value of 1 means that it has been inspected within the year. - name: p_ysla in: query type: string required: false description: "Facility Last Inspection Code Filter. If left blank, both agencies are included. Enter a value to limit results:\n- E = EPA\n- S = State" - name: p_idt1 in: query type: string required: false description: Beginning of date range of most recent facility inspection. - name: p_idt2 in: query type: string required: false description: End of date range of most recent facility inspection. - name: p_cms_flag in: query type: string required: false description: p_cms_flag - name: queryset in: query type: number required: false description: Query Limiter. Enter a value to limit the number of records returned for each query. Value cannot exceed 70,000. - name: responseset in: query type: number required: false description: Response Set Limiter. Enter a value to limit the number of records per page. Value cannot exceed 1,000. - name: callback in: query type: string required: false description: JSONP Callback. For use with JSONP and GEOJSONP output only. Enter a name of the function in which to wrap the JSON response. - name: qcolumns in: query type: string required: false description: Used to customize service output. A list of comma-separated column IDs of output objects that will be returned in the service query object or download. Use the metadata service endpoint for a comple outputRawFormat: json outputParameters: - name: result type: object value: $. - name: sdw-rest-services-get-systems path: /sdw_rest_services.get_systems operations: - name: postsdwrestservicesgetsystems method: POST description: Safe Drinking Water Act (SDWA) Systems Search Service inputParameters: - name: output in: formData type: string required: false 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 Paddi" - name: p_fn in: formData type: string required: false description: Facility Name Filter. Enter one or more case-insensitive facility names to filter results. Provide multiple values as a comma-delimited list. See p_fntype for additional modifiers. - name: p_ct in: formData type: string required: false description: Facility City Filter. Enter a single case-insensitive city name to filter results. - name: p_co in: formData type: string required: false description: Facility County Filter. Provide a single county name in combination with a state value provided via p_st. - name: p_fips in: formData type: string required: false description: FIPS Code Filter. Enter a single 5-character Federal Information Processing Standards (FIPS) state + county value to restrict results. E.g. to limit results to Kenosha County, Wisconsin, use 55059. - name: p_st in: formData type: string required: false description: Facility State and State-Equivalent Filter. Provide one or more USPS postal abbreviations for states and state-equivalents to filter results. Provide multiple values as a comma-delimited list. - name: p_zip in: formData type: string required: false description: 5-Digit ZIP Code Filter. Provide one or more 5-digit postal zip codes to filter results. May contain multiple comma-separated values. - name: p_reg in: formData type: string required: false description: EPA Region Filter. Provide a single value of 01 thru 10 to restrict results to a single EPA region. - name: p_trb in: formData type: string required: false description: Tribe name - name: p_act in: formData type: string required: false description: Active Permits/Facilities Flag. Provide Y or N to filter results to facilities with active permits. - name: p_qiv in: formData type: string required: false description: "Quarters in Noncompliance Limiter. Enter a coded value to limit results to facilities with given quarter of noncompliance.\n- Z = Zero quarters in noncompliance.\n- GEXX = Replacing XX with a numeric v" - name: p_ico in: formData type: string required: false description: Indian Country Flag. Enter a "Y" or "N" to restrict searches to facilities inside or outside Indian Country. - name: p_pid in: formData type: string required: false description: Nine-digit permit IDs. May contain up to 2000 comma-separated values. - name: p_owop in: formData type: string required: false description: "Owner/Operator code filter. Enter one of the following codes to filter results:\n- F = Federal Government\n- S = State Government\n- L = Local Government\n- M = Public/Private\n- N = Native American\n- P =" - name: p_systyp in: formData type: string required: false description: "Type of public water system:\n- CWS=Community water system\n- NCWS=Non-community water system\n- NTCWS=Non-transient non-community water system\n- TNCWS=Transient non-community water system" - name: p_swtyp in: formData type: string required: false description: "Source Water Type:\n- SW = Surface water \n- GW= Ground water\n- GU = Ground water under direct influence of (UDI) surface water\n- SWP = Purchased Surface water\n- GWP = Purchased Ground water\n- GUP = Pur" - name: p_popsv in: formData type: string required: false description: "Estimated average daily population served by a system:\n- LE500 = 500 or less\n- IN501_3K = 501-3,300\n- IN3K_10K = 3,301-10,000\n- IN10K_100K = 10,001-100,000\n- IN100K_1M = 100,001-1,000,000\n- GT1M = Mor" - name: p_cntysv in: formData type: string required: false description: p_cntysv - name: p_cs in: formData type: string required: false description: "Current violations:\n- M = Monitoring and Reporting Violations\n- H = Health-based Violations\n- O = Other Violations\n- P = Public Notice Violations\n- S = Serious Violator\n- N = No Violations\nMay contain" - name: p_mr in: formData type: string required: false description: Monitoring and Reporting Violations (failure to conduct regular monitoring of drinking water quality or submit monitoring results in a timely fashion). - name: p_health in: formData type: string required: false description: Violations of health-based drinking water standards (maximum contaminant levels, maximum residual disinfectant levels, or treatment technique rules). - name: p_other in: formData type: string required: false description: Other violations, such as failing to issue annual consumer confidence reports or maintain required records. - name: p_pn in: formData type: string required: false description: Public Notice Violations (failure to immediately alert consumers of serious problem with drinking water). - name: p_sv in: formData type: string required: false description: Serious Violator (unresolved serious, multiple, and/or continuing violations). A value of Y will return only SDWIS systems that are Serious Violators, while a value of N will only return SDWIS Systems - name: p_qs in: formData type: string required: false description: Quick Search. Allows entry for city, state, and/or zip code. - name: p_sfs in: formData type: string required: false description: Single Facility Search Filter. Provide a facility name or program system identifier to limit results. For the all data search, the FRS registry identifier is also searched. - name: p_pswpol in: formData type: string required: false description: For CWA, pollutant names for surface water discharges. for Drinking Water, SDWIS Violation contaminant codes for unaddressed violations that have occurred in the last 3 years. May contain multiple com - name: p_pswvio in: formData type: string required: false description: Used in conjuction with parameters p_pswpol and p_pswparam, indicates whether search should only include pollutants with violations. - name: p_pbale in: formData type: string required: false description: Lead Action Level Exceedance. A "Y" value will select water systems with at least 1 Lead Action Level Exceedance. - name: p_cuale in: formData type: string required: false description: Copper Action Level Exceedance. A "Y" value will select water systems with at least 1 Copper Action Level Exceedance. - name: p_rc350v in: formData type: string required: false description: Rule code 350 violation. A "Y" value will select water systems with at least one rule code 350 violation. - name: p_pbv in: formData type: string required: false description: Lead Violations. A "Y" value will select water systems with at least 1 Lead Violation. - name: p_cuv in: formData type: string required: false description: Copper Violation. A "Y" value will select water systems with at least 1 Copper Violation. - name: p_lcrv in: formData type: string required: false description: Lead or Copper rule violations. A "Y" value will select water systems with at least 1 Lead or Copper Rule Violation. - name: p_fea in: formData type: string required: false description: "Formal Enforcement Actions [within / not within] specified date range indicator. The date range is determined by parameters p_fead1 and p_fead2 or by parameter p_feay.\n- W = within date range\n- N = no" - name: p_feay in: formData type: number required: false description: Years (1 to 5) Range. This value is used to create a date range for Formal Enforcement Actions (FEA). Used along with p_fea (which indicates whether to look within or outside of the date range) to fi - name: p_feaa in: formData type: string required: false description: "Agency associated with Formal Enforcement Actions:\n- E = EPA\n- S = State\n- A = All" - name: p_iea in: formData type: string required: false description: "Informal Enforcement Actions [within / not within] specified date range. The date range is determined by parameters p_iead1 and p_iead2 or by parameter p_ieay.\n- W = within date range\n- N = not withi" - name: p_ieay in: formData type: number required: false description: 'Years (1 to 5) Range. This value is used to create a date range for Informal Enforcement Actions (IEA). Used along with p_iea (which indicates whether to look within or outside of the date range) to ' - name: p_ieaa in: formData type: string required: false description: "Agency associated with Informal Enforcement Actions. If left blank, both agencies are included.\n- E = EPA\n- S = State" - name: p_qis in: formData type: string required: false description: "Significant Quarters in Noncompliance Limiter. Enter one of the following codes to limit results to facilities having given quarters of noncompliance.\n- Z = Zero quarters in noncompliance.\n- GE1 = On" - name: p_pfead1 in: formData type: string required: false description: Formal Enforcement Action Date Range Start. Enter a date in MM/DD/YYYY format to set the start of the range for filtering by recent Formal Enforcement Action (FEA) taken against the facility within t - name: p_pfead2 in: formData type: string required: false description: 'Formal Enforcement Action Date Range End. Enter a date in MM/DD/YYYY format to set the end of the date range for filtering by recent Formal Enforcement Action (FEA) taken against the facility within ' - name: p_pfeat in: formData type: string required: false description: 'Formal Enforcement Action (FEA) Code Filter. Enter one or more three-letter FEA codes to restrict results to facilities with these attributes. Use p_fead1 and p_fead2 parameters to further restrict ' - name: p_ss5yr in: formData type: string required: false description: "Sanitary Surveys (in past 5 years) flag. Values of visit_reason_code are either \"SNSV\" or \"SNSP\" in the past 5 years indicate a Sanitary Survey. \n\nEnter \"Y\" to select facilities with Sanitary Survey" - name: p_sdc in: formData type: string required: false description: "Significant Deficiency Count (in past 5 years) flag. \n\nEnter \"Y\" to select facilities with Sanitary Surveys within the past 5 years. \n\nEnter \"N\" to select facilities without Sanitary Surveys in the " - name: p_sdc_ils in: formData type: string required: false description: p_sdc_ils - name: p_ysl in: formData type: string required: false description: "Last Facility Inspection [within / not within] Specified Date Range Indicator. The date range is determined by parameters p_idt1 and p_idt2 or by parameter p_ysly.\n- W = within date range\n- N = not wi" - name: p_ysly in: formData type: string required: false description: Number of years (1 to 5) since last facility inspection. A value of 1 means that it has been inspected within the year. - name: p_ysla in: formData type: string required: false description: "Facility Last Inspection Code Filter. If left blank, both agencies are included. Enter a value to limit results:\n- E = EPA\n- S = State" - name: p_idt1 in: formData type: string required: false description: Beginning of date range of most recent facility inspection. - name: p_idt2 in: formData type: string required: false description: End of date range of most recent facility inspection. - name: p_cms_flag in: formData type: string required: false description: p_cms_flag - name: queryset in: formData type: number required: false description: Query Limiter. Enter a value to limit the number of records returned for each query. Value cannot exceed 70,000. - name: responseset in: formData type: number required: false description: Response Set Limiter. Enter a value to limit the number of records per page. Value cannot exceed 1,000. - name: callback in: formData type: string required: false description: JSONP Callback. For use with JSONP and GEOJSONP output only. Enter a name of the function in which to wrap the JSON response. - name: qcolumns in: formData type: string required: false description: Used to customize service output. A list of comma-separated column IDs of output objects that will be returned in the service query object or download. Use the metadata service endpoint for a comple outputRawFormat: json outputParameters: - name: result type: object value: $. exposes: - type: rest namespace: echo-sdw-safe-drinking-water-rest port: 8080 description: REST adapter for U.S. EPA Enforcement and Compliance History Online (ECHO) - Safe Drinking Water Act — Safe Drinking Water. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/sdw_rest_services.get_download name: sdw-rest-services-get-download description: REST surface for Safe Drinking Water Act (SDWA) Download Data Service. operations: - method: GET name: getsdwrestservicesgetdownload description: Safe Drinking Water Act (SDWA) Download Data Service call: echo-sdw-safe-drinking-water.getsdwrestservicesgetdownload with: output: rest.output qid: rest.qid qcolumns: rest.qcolumns outputParameters: - type: object mapping: $. - path: /v1/sdw_rest_services.get_download name: sdw-rest-services-get-download description: REST surface for Safe Drinking Water Act (SDWA) Download Data Service. operations: - method: POST name: postsdwrestservicesgetdownload description: Safe Drinking Water Act (SDWA) Download Data Service call: echo-sdw-safe-drinking-water.postsdwrestservicesgetdownload with: output: rest.output qid: rest.qid qcolumns: rest.qcolumns outputParameters: - type: object mapping: $. - path: /v1/sdw_rest_services.get_qid name: sdw-rest-services-get-qid description: REST surface for Safe Drinking Water Act (SDWA) Paginated Results Service. operations: - method: GET name: getsdwrestservicesgetqid description: Safe Drinking Water Act (SDWA) Paginated Results Service call: echo-sdw-safe-drinking-water.getsdwrestservicesgetqid with: output: rest.output qid: rest.qid pageno: rest.pageno callback: rest.callback newsort: rest.newsort descending: rest.descending qcolumns: rest.qcolumns outputParameters: - type: object mapping: $. - path: /v1/sdw_rest_services.get_qid name: sdw-rest-services-get-qid description: REST surface for Safe Drinking Water Act (SDWA) Paginated Results Service. operations: - method: POST name: postsdwrestservicesgetqid description: Safe Drinking Water Act (SDWA) Paginated Results Service call: echo-sdw-safe-drinking-water.postsdwrestservicesgetqid with: output: rest.output qid: rest.qid pageno: rest.pageno callback: rest.callback newsort: rest.newsort descending: rest.descending qcolumns: rest.qcolumns outputParameters: - type: object mapping: $. - path: /v1/sdw_rest_services.get_systems name: sdw-rest-services-get-systems description: REST surface for Safe Drinking Water Act (SDWA) Systems Search Service. operations: - method: GET name: getsdwrestservicesgetsystems description: Safe Drinking Water Act (SDWA) Systems Search Service call: echo-sdw-safe-drinking-water.getsdwrestservicesgetsystems with: output: rest.output p_fn: rest.p_fn p_ct: rest.p_ct p_co: rest.p_co p_fips: rest.p_fips p_st: rest.p_st p_zip: rest.p_zip p_reg: rest.p_reg p_trb: rest.p_trb p_act: rest.p_act p_qiv: rest.p_qiv p_ico: rest.p_ico p_pid: rest.p_pid p_owop: rest.p_owop p_systyp: rest.p_systyp p_swtyp: rest.p_swtyp p_popsv: rest.p_popsv p_cntysv: rest.p_cntysv p_cs: rest.p_cs p_mr: rest.p_mr p_health: rest.p_health p_other: rest.p_other p_pn: rest.p_pn p_sv: rest.p_sv p_qs: rest.p_qs p_sfs: rest.p_sfs p_pswpol: rest.p_pswpol p_pswvio: rest.p_pswvio p_pbale: rest.p_pbale p_cuale: rest.p_cuale p_rc350v: rest.p_rc350v p_pbv: rest.p_pbv p_cuv: rest.p_cuv p_lcrv: rest.p_lcrv p_fea: rest.p_fea p_feay: rest.p_feay p_feaa: rest.p_feaa p_iea: rest.p_iea p_ieay: rest.p_ieay p_ieaa: rest.p_ieaa p_qis: rest.p_qis p_pfead1: rest.p_pfead1 p_pfead2: rest.p_pfead2 p_pfeat: rest.p_pfeat p_ss5yr: rest.p_ss5yr p_sdc: rest.p_sdc p_sdc_ils: rest.p_sdc_ils p_ysl: rest.p_ysl p_ysly: rest.p_ysly p_ysla: rest.p_ysla p_idt1: rest.p_idt1 p_idt2: rest.p_idt2 p_cms_flag: rest.p_cms_flag queryset: rest.queryset responseset: rest.responseset callback: rest.callback qcolumns: rest.qcolumns outputParameters: - type: object mapping: $. - path: /v1/sdw_rest_services.get_systems name: sdw-rest-services-get-systems description: REST surface for Safe Drinking Water Act (SDWA) Systems Search Service. operations: - method: POST name: postsdwrestservicesgetsystems description: Safe Drinking Water Act (SDWA) Systems Search Service call: echo-sdw-safe-drinking-water.postsdwrestservicesgetsystems with: output: rest.output p_fn: rest.p_fn p_ct: rest.p_ct p_co: rest.p_co p_fips: rest.p_fips p_st: rest.p_st p_zip: rest.p_zip p_reg: rest.p_reg p_trb: rest.p_trb p_act: rest.p_act p_qiv: rest.p_qiv p_ico: rest.p_ico p_pid: rest.p_pid p_owop: rest.p_owop p_systyp: rest.p_systyp p_swtyp: rest.p_swtyp p_popsv: rest.p_popsv p_cntysv: rest.p_cntysv p_cs: rest.p_cs p_mr: rest.p_mr p_health: rest.p_health p_other: rest.p_other p_pn: rest.p_pn p_sv: rest.p_sv p_qs: rest.p_qs p_sfs: rest.p_sfs p_pswpol: rest.p_pswpol p_pswvio: rest.p_pswvio p_pbale: rest.p_pbale p_cuale: rest.p_cuale p_rc350v: rest.p_rc350v p_pbv: rest.p_pbv p_cuv: rest.p_cuv p_lcrv: rest.p_lcrv p_fea: rest.p_fea p_feay: rest.p_feay p_feaa: rest.p_feaa p_iea: rest.p_iea p_ieay: rest.p_ieay p_ieaa: rest.p_ieaa p_qis: rest.p_qis p_pfead1: rest.p_pfead1 p_pfead2: rest.p_pfead2 p_pfeat: rest.p_pfeat p_ss5yr: rest.p_ss5yr p_sdc: rest.p_sdc p_sdc_ils: rest.p_sdc_ils p_ysl: rest.p_ysl p_ysly: rest.p_ysly p_ysla: rest.p_ysla p_idt1: rest.p_idt1 p_idt2: rest.p_idt2 p_cms_flag: rest.p_cms_flag queryset: rest.queryset responseset: rest.responseset callback: rest.callback qcolumns: rest.qcolumns outputParameters: - type: object mapping: $. - type: mcp namespace: echo-sdw-safe-drinking-water-mcp port: 9090 transport: http description: MCP adapter for U.S. EPA Enforcement and Compliance History Online (ECHO) - Safe Drinking Water Act — Safe Drinking Water. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: safe-drinking-water-act-sdwa-download-data-service description: Safe Drinking Water Act (SDWA) Download Data Service hints: readOnly: true destructive: false idempotent: true call: echo-sdw-safe-drinking-water.getsdwrestservicesgetdownload with: output: tools.output qid: tools.qid qcolumns: tools.qcolumns outputParameters: - type: object mapping: $. - name: safe-drinking-water-act-sdwa-download-data-service-2 description: Safe Drinking Water Act (SDWA) Download Data Service hints: readOnly: false destructive: false idempotent: false call: echo-sdw-safe-drinking-water.postsdwrestservicesgetdownload with: output: tools.output qid: tools.qid qcolumns: tools.qcolumns outputParameters: - type: object mapping: $. - name: safe-drinking-water-act-sdwa-paginated-results-service description: Safe Drinking Water Act (SDWA) Paginated Results Service hints: readOnly: true destructive: false idempotent: true call: echo-sdw-safe-drinking-water.getsdwrestservicesgetqid with: output: tools.output qid: tools.qid pageno: tools.pageno callback: tools.callback newsort: tools.newsort descending: tools.descending qcolumns: tools.qcolumns outputParameters: - type: object mapping: $. - name: safe-drinking-water-act-sdwa-paginated-results-service-2 description: Safe Drinking Water Act (SDWA) Paginated Results Service hints: readOnly: false destructive: false idempotent: false call: echo-sdw-safe-drinking-water.postsdwrestservicesgetqid with: output: tools.output qid: tools.qid pageno: tools.pageno callback: tools.callback newsort: tools.newsort descending: tools.descending qcolumns: tools.qcolumns outputParameters: - type: object mapping: $. - name: safe-drinking-water-act-sdwa-systems-search-service description: Safe Drinking Water Act (SDWA) Systems Search Service hints: readOnly: true destructive: false idempotent: true call: echo-sdw-safe-drinking-water.getsdwrestservicesgetsystems with: output: tools.output p_fn: tools.p_fn p_ct: tools.p_ct p_co: tools.p_co p_fips: tools.p_fips p_st: tools.p_st p_zip: tools.p_zip p_reg: tools.p_reg p_trb: tools.p_trb p_act: tools.p_act p_qiv: tools.p_qiv p_ico: tools.p_ico p_pid: tools.p_pid p_owop: tools.p_owop p_systyp: tools.p_systyp p_swtyp: tools.p_swtyp p_popsv: tools.p_popsv p_cntysv: tools.p_cntysv p_cs: tools.p_cs p_mr: tools.p_mr p_health: tools.p_health p_other: tools.p_other p_pn: tools.p_pn p_sv: tools.p_sv p_qs: tools.p_qs p_sfs: tools.p_sfs p_pswpol: tools.p_pswpol p_pswvio: tools.p_pswvio p_pbale: tools.p_pbale p_cuale: tools.p_cuale p_rc350v: tools.p_rc350v p_pbv: tools.p_pbv p_cuv: tools.p_cuv p_lcrv: tools.p_lcrv p_fea: tools.p_fea p_feay: tools.p_feay p_feaa: tools.p_feaa p_iea: tools.p_iea p_ieay: tools.p_ieay p_ieaa: tools.p_ieaa p_qis: tools.p_qis p_pfead1: tools.p_pfead1 p_pfead2: tools.p_pfead2 p_pfeat: tools.p_pfeat p_ss5yr: tools.p_ss5yr p_sdc: tools.p_sdc p_sdc_ils: tools.p_sdc_ils p_ysl: tools.p_ysl p_ysly: tools.p_ysly p_ysla: tools.p_ysla p_idt1: tools.p_idt1 p_idt2: tools.p_idt2 p_cms_flag: tools.p_cms_flag queryset: tools.queryset responseset: tools.responseset callback: tools.callback qcolumns: tools.qcolumns outputParameters: - type: object mapping: $. - name: safe-drinking-water-act-sdwa-systems-search-service-2 description: Safe Drinking Water Act (SDWA) Systems Search Service hints: readOnly: true destructive: false idempotent: false call: echo-sdw-safe-drinking-water.postsdwrestservicesgetsystems with: output: tools.output p_fn: tools.p_fn p_ct: tools.p_ct p_co: tools.p_co p_fips: tools.p_fips p_st: tools.p_st p_zip: tools.p_zip p_reg: tools.p_reg p_trb: tools.p_trb p_act: tools.p_act p_qiv: tools.p_qiv p_ico: tools.p_ico p_pid: tools.p_pid p_owop: tools.p_owop p_systyp: tools.p_systyp p_swtyp: tools.p_swtyp p_popsv: tools.p_popsv p_cntysv: tools.p_cntysv p_cs: tools.p_cs p_mr: tools.p_mr p_health: tools.p_health p_other: tools.p_other p_pn: tools.p_pn p_sv: tools.p_sv p_qs: tools.p_qs p_sfs: tools.p_sfs p_pswpol: tools.p_pswpol p_pswvio: tools.p_pswvio p_pbale: tools.p_pbale p_cuale: tools.p_cuale p_rc350v: tools.p_rc350v p_pbv: tools.p_pbv p_cuv: tools.p_cuv p_lcrv: tools.p_lcrv p_fea: tools.p_fea p_feay: tools.p_feay p_feaa: tools.p_feaa p_iea: tools.p_iea p_ieay: tools.p_ieay p_ieaa: tools.p_ieaa p_qis: tools.p_qis p_pfead1: tools.p_pfead1 p_pfead2: tools.p_pfead2 p_pfeat: tools.p_pfeat p_ss5yr: tools.p_ss5yr p_sdc: tools.p_sdc p_sdc_ils: tools.p_sdc_ils p_ysl: tools.p_ysl p_ysly: tools.p_ysly p_ysla: tools.p_ysla p_idt1: tools.p_idt1 p_idt2: tools.p_idt2 p_cms_flag: tools.p_cms_flag queryset: tools.queryset responseset: tools.responseset callback: tools.callback qcolumns: tools.qcolumns outputParameters: - type: object mapping: $.