This is the frontend interface of the CATCH web tools that wrap around the CATCH command-line tool, created by Dr Mike Kelley at UMD. The main part of the CATCH web tools is the public API that you can access directly through this swagger interface, or via scripts as demonstrated at this github repo.
Querying an astronomical object for CATCH data involves a few steps. First, you need to ensure that the name of the target comet/asteroid will be recognized. SBN provides a separate name-resolution service to which you can submit arbitrary text via the 'name' query parameter, e.g. 'Gunn':
https://name-resolution.astro-prod-it.aws.umd.edu/name?name=gunn
This will return an array of possible matches of the following form:
{ "matches": [ { "body_type": "comet", "comparison_text": "65P/Gunn", "display_text": "65P/Gunn", "target": "65P" }, { "body_type": "asteroid", "comparison_text": "657 Gunlod", "display_text": "657 Gunlod", "target": "657" } ..., ], "name": "gunn" }
Once you've identified the object you want to query from those shown to be available in this array, use the 'target' property (e.g. here it is the exact text of '65P') to start a search for data for that object using the '/catch' route as follows:
https://catch-api.astro.umd.edu/catch?target=65P
This will return a JSON object with a job_id parameter and information on the availability of the data for that target. If the target has been searched for previously then it will be cached and the property 'queued' will be false. If 'queued=false' then the job_id can be passed straight onto the 'caught' route, which retrieves the cached data for that job_id:
https://catch-api.astro.umd.edu/caught/{job_id}
If data has not been cached (or if you request a recomputation of the data via '/catch?target=65P&cached=false' query params), then a lengthy query will get launched and the property 'queued=true' will be returned. In this case, you'll need to wait until the data is ready before retrieving it via the '/caught/{job_id}' route.
The time required to prepare the data varies from object to object and typically takes between 5-60 seconds. To know exactly when the route is ready, you can subscribe to Server Sent Events generated by the route
https://catch-api.astro.umd.edu/stream
... which will emit messages about the state of the job. If/when the SSE emits a message with '"status": "success"', then the data is ready and can be retrieved from the '/caught' route described above.