This section will use an example REST endpoint for illustrative purposes: Information to Document This section outlines the information that should be documented, categorized by hierarchy level: Hierarchy Name Description Example Server Address The HTTP root URL where the service will be provided. In most situations, it should contain only the protocol and domain name without virtual directories. It will be used to construct absolute URL string for REST services. Server Server Name The name of the REST server. It should be brief and meaningful. NWIS-WQ Server Server Description A description of the REST server. National Water Information System (NWIS) Web Services Server Status The status of the service. Select “Operational” if the server is available, otherwise choose “Offline”. Assumed Operational if not supplied. Operational Server Provider The name of the organization that provides the services. USGS Server Contact addresses for technical contacts. johndoe@usgs.gov Service Service URL Template This is a relative URL without the Server Address part. It should contain everything needed by the server except the base server address and parameters. /Station/search? Service Service Name A name of the service. It should be unique within the server and the name should only contain alphanumeric characters without white spaces. This will be used as the unique identifier of the service. Station Service Description A more detailed description of the service. Returns listing of stations in WQX XML format that given data filters. Service Shared Option This is a flag that determines how the service will be published. A private service will not be published, a shared service will be published to only authenticated users, and a public service will be viewable by any users. Public Service HTTP Method Identifies which http method is expected for the request. “GET” will be assumed by default if this is not specified. GET
Service Parameter Description Described in DEDL: DataElementList/DataElement/Description Service Parameter Type NodeServiceList/Service /Parameter/@ParameterType Service Parameter Required Indicator NodeServiceList/Service /Parameter/@ParameterRequiredIndicator Service Parameter Multiple Indicator Described in DEDL: DataElementList/DataElement/DataConstrains/AllowMultiSelect Service Parameter Multiple Separator Described in DEDL: DataElementList/DataElement/Properties/ Service Parameter Allowable Values Described in DEDL: DataElementList/DataElement/ElementValue Table 3: Mapping of REST Documentation Items to ENDS XML Structure Using the Exchange Network REST Proxy to Expose Existing Exchange Network Query Services as REST services EPA’s CDX offers a service called the Exchange Network REST Proxy (ENRP), which can transform existing Node services into REST services without any additional development effort from Exchange Network partners. If you already publicly publish data on your Exchange Network Node using the Query web service and the Query service is registered in ENDS, you can make those services available through a REST URL by using the REST Proxy. The REST Proxy takes the basic information used to document a Query service in ENDS and auto-generates a REST URL. When a user calls the REST service, the ENRP converts the incoming request into a standard Exchange Network web service call and then provides the data back to the requester. The URL template of the REST endpoints is shown below: The root URL of the REST Proxy is: TEST: https://ends2.epacdxnode.net/RestProxy PRODUCTION: https://ends2.epa.gov/RestProxy The format for accessing URL is shown below: