Thanks for the feedback on the metric catalog; we have an open issue exploring how to surface that data via REST, which would make bulk export much easier. The constant refreshes sound like a bug; did you contact support about that?
We don’t recommend using code generation to produce client libraries; Carlos Barragan did a good writeup on the problems that causes, which I’ve excerpted below:
At first glance there is nothing wrong with code generation. It is actually seen as a productivity boost. Here is the thing though: When consuming a REST API you want to be as tolerant as possible. This means, you should only consider, or read, the elements in the payload that you need and ignore anything else you don’t. It also means, that you should not make any assumption regarding the structure of the payload. This is known as the Tolerant Reader Pattern . If you implement the tolerant reader pattern correctly, modifying the payload – i.e adding a new element – should not break the client code.
ExtraHop strives to maintain API compatibility across firmware versions, but generated client libraries are susceptible to compat breaks due to non-breaking API changes, such as adding an enum value. We do not support code generated from our API specification.
That said, you could generate client libraries using swagger-codegen in conjunction with the file that powers the API Explorer. The URL to that file is located in the textbox at the top of the API Explorer.