naftiko: 1.0.0-alpha2 info: label: U.S. EPA Enforcement and Compliance History Online (ECHO) - Effluent Charting and Reporting — Effluent Charts description: 'Effluent Charts. 6 operations. Lead operation: Effluent Charts Download Service. Self-contained Naftiko capability covering one EPA business surface.' tags: - EPA - Effluent Charts created: '2026-05-29' modified: '2026-05-29' binds: - namespace: env keys: {} capability: consumes: - type: http namespace: echo-effluent-effluent-charts baseUri: https://echodata.epa.gov/echo description: U.S. EPA Enforcement and Compliance History Online (ECHO) - Effluent Charting and Reporting — Effluent Charts business capability. Self-contained, no shared references. resources: - name: eff-rest-services-download-effluent-chart path: /eff_rest_services.download_effluent_chart operations: - name: geteffrestservicesdownloadeffluentchart method: GET description: Effluent Charts Download Service inputParameters: - name: p_id in: query type: string required: true description: Identifier for the service. - name: outfall in: query type: string required: false 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. - name: parameter_code in: query type: string required: false description: Five-digit numeric code identifying the parameter. See Parameter Lookup documentation for a complete list of codes. - name: start_date in: query type: string required: false 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 dat - name: end_date in: query type: string required: false 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 dat outputRawFormat: json outputParameters: - name: result type: object value: $. - name: eff-rest-services-download-effluent-chart path: /eff_rest_services.download_effluent_chart operations: - name: posteffrestservicesdownloadeffluentchart method: POST description: Effluent Charts Download Service inputParameters: - name: p_id in: formData type: string required: true description: Identifier for the service. - name: outfall in: formData type: string required: false 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. - name: parameter_code in: formData type: string required: false description: Five-digit numeric code identifying the parameter. See Parameter Lookup documentation for a complete list of codes. - name: start_date in: formData type: string required: false 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 dat - name: end_date in: formData type: string required: false 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 dat outputRawFormat: json outputParameters: - name: result type: object value: $. - name: eff-rest-services-get-effluent-chart path: /eff_rest_services.get_effluent_chart operations: - name: geteffrestservicesgeteffluentchart method: GET description: Detailed Effluent Chart Service inputParameters: - name: p_id in: query type: string required: true description: Identifier for the service. - name: outfall in: query type: string required: false 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. - name: parameter_code in: query type: string required: false description: Five-digit numeric code identifying the parameter. See Parameter Lookup documentation for a complete list of codes. - name: start_date in: query type: string required: false 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 dat - name: end_date in: query type: string required: false 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 dat - 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: 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. outputRawFormat: json outputParameters: - name: result type: object value: $. - name: eff-rest-services-get-effluent-chart path: /eff_rest_services.get_effluent_chart operations: - name: posteffrestservicesgeteffluentchart method: POST description: Detailed Effluent Chart Service inputParameters: - name: p_id in: formData type: string required: true description: Identifier for the service. - name: outfall in: formData type: string required: false 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. - name: parameter_code in: formData type: string required: false description: Five-digit numeric code identifying the parameter. See Parameter Lookup documentation for a complete list of codes. - name: start_date in: formData type: string required: false 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 dat - name: end_date in: formData type: string required: false 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 dat - 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: 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. outputRawFormat: json outputParameters: - name: result type: object value: $. - name: eff-rest-services-get-summary-chart path: /eff_rest_services.get_summary_chart operations: - name: geteffrestservicesgetsummarychart method: GET description: Summary Effluent Chart Service inputParameters: - name: p_id in: query type: string required: true description: Identifier for the service. - 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: 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: start_date in: query type: string required: false 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 dat - name: end_date in: query type: string required: false 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 dat outputRawFormat: json outputParameters: - name: result type: object value: $. - name: eff-rest-services-get-summary-chart path: /eff_rest_services.get_summary_chart operations: - name: posteffrestservicesgetsummarychart method: POST description: Summary Effluent Chart Service inputParameters: - name: p_id in: formData type: string required: true description: Identifier for the service. - 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: 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: start_date in: formData type: string required: false 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 dat - name: end_date in: formData type: string required: false 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 dat outputRawFormat: json outputParameters: - name: result type: object value: $. exposes: - type: rest namespace: echo-effluent-effluent-charts-rest port: 8080 description: REST adapter for U.S. EPA Enforcement and Compliance History Online (ECHO) - Effluent Charting and Reporting — Effluent Charts. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/eff_rest_services.download_effluent_chart name: eff-rest-services-download-effluent-chart description: REST surface for Effluent Charts Download Service. operations: - method: GET name: geteffrestservicesdownloadeffluentchart description: Effluent Charts Download Service call: echo-effluent-effluent-charts.geteffrestservicesdownloadeffluentchart with: p_id: rest.p_id outfall: rest.outfall parameter_code: rest.parameter_code start_date: rest.start_date end_date: rest.end_date outputParameters: - type: object mapping: $. - path: /v1/eff_rest_services.download_effluent_chart name: eff-rest-services-download-effluent-chart description: REST surface for Effluent Charts Download Service. operations: - method: POST name: posteffrestservicesdownloadeffluentchart description: Effluent Charts Download Service call: echo-effluent-effluent-charts.posteffrestservicesdownloadeffluentchart with: p_id: rest.p_id outfall: rest.outfall parameter_code: rest.parameter_code start_date: rest.start_date end_date: rest.end_date outputParameters: - type: object mapping: $. - path: /v1/eff_rest_services.get_effluent_chart name: eff-rest-services-get-effluent-chart description: REST surface for Detailed Effluent Chart Service. operations: - method: GET name: geteffrestservicesgeteffluentchart description: Detailed Effluent Chart Service call: echo-effluent-effluent-charts.geteffrestservicesgeteffluentchart with: p_id: rest.p_id outfall: rest.outfall parameter_code: rest.parameter_code start_date: rest.start_date end_date: rest.end_date output: rest.output callback: rest.callback outputParameters: - type: object mapping: $. - path: /v1/eff_rest_services.get_effluent_chart name: eff-rest-services-get-effluent-chart description: REST surface for Detailed Effluent Chart Service. operations: - method: POST name: posteffrestservicesgeteffluentchart description: Detailed Effluent Chart Service call: echo-effluent-effluent-charts.posteffrestservicesgeteffluentchart with: p_id: rest.p_id outfall: rest.outfall parameter_code: rest.parameter_code start_date: rest.start_date end_date: rest.end_date output: rest.output callback: rest.callback outputParameters: - type: object mapping: $. - path: /v1/eff_rest_services.get_summary_chart name: eff-rest-services-get-summary-chart description: REST surface for Summary Effluent Chart Service. operations: - method: GET name: geteffrestservicesgetsummarychart description: Summary Effluent Chart Service call: echo-effluent-effluent-charts.geteffrestservicesgetsummarychart with: p_id: rest.p_id output: rest.output callback: rest.callback start_date: rest.start_date end_date: rest.end_date outputParameters: - type: object mapping: $. - path: /v1/eff_rest_services.get_summary_chart name: eff-rest-services-get-summary-chart description: REST surface for Summary Effluent Chart Service. operations: - method: POST name: posteffrestservicesgetsummarychart description: Summary Effluent Chart Service call: echo-effluent-effluent-charts.posteffrestservicesgetsummarychart with: p_id: rest.p_id output: rest.output callback: rest.callback start_date: rest.start_date end_date: rest.end_date outputParameters: - type: object mapping: $. - type: mcp namespace: echo-effluent-effluent-charts-mcp port: 9090 transport: http description: MCP adapter for U.S. EPA Enforcement and Compliance History Online (ECHO) - Effluent Charting and Reporting — Effluent Charts. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: effluent-charts-download-service description: Effluent Charts Download Service hints: readOnly: true destructive: false idempotent: true call: echo-effluent-effluent-charts.geteffrestservicesdownloadeffluentchart with: p_id: tools.p_id outfall: tools.outfall parameter_code: tools.parameter_code start_date: tools.start_date end_date: tools.end_date outputParameters: - type: object mapping: $. - name: effluent-charts-download-service-2 description: Effluent Charts Download Service hints: readOnly: false destructive: false idempotent: false call: echo-effluent-effluent-charts.posteffrestservicesdownloadeffluentchart with: p_id: tools.p_id outfall: tools.outfall parameter_code: tools.parameter_code start_date: tools.start_date end_date: tools.end_date outputParameters: - type: object mapping: $. - name: detailed-effluent-chart-service description: Detailed Effluent Chart Service hints: readOnly: true destructive: false idempotent: true call: echo-effluent-effluent-charts.geteffrestservicesgeteffluentchart with: p_id: tools.p_id outfall: tools.outfall parameter_code: tools.parameter_code start_date: tools.start_date end_date: tools.end_date output: tools.output callback: tools.callback outputParameters: - type: object mapping: $. - name: detailed-effluent-chart-service-2 description: Detailed Effluent Chart Service hints: readOnly: false destructive: false idempotent: false call: echo-effluent-effluent-charts.posteffrestservicesgeteffluentchart with: p_id: tools.p_id outfall: tools.outfall parameter_code: tools.parameter_code start_date: tools.start_date end_date: tools.end_date output: tools.output callback: tools.callback outputParameters: - type: object mapping: $. - name: summary-effluent-chart-service description: Summary Effluent Chart Service hints: readOnly: true destructive: false idempotent: true call: echo-effluent-effluent-charts.geteffrestservicesgetsummarychart with: p_id: tools.p_id output: tools.output callback: tools.callback start_date: tools.start_date end_date: tools.end_date outputParameters: - type: object mapping: $. - name: summary-effluent-chart-service-2 description: Summary Effluent Chart Service hints: readOnly: false destructive: false idempotent: false call: echo-effluent-effluent-charts.posteffrestservicesgetsummarychart with: p_id: tools.p_id output: tools.output callback: tools.callback start_date: tools.start_date end_date: tools.end_date outputParameters: - type: object mapping: $.