Is there a section in the documentation that breaks down all available subcommands for a command?

When you do:

curl -XGET https://localhost:9200/_cat/

You get a nice little directory of available subcommands beneath _cat. However, when I try to do the same for other sections like "_cluster", I get the following:

curl -XGET https://localhost:9200/_cluster/

{
  "error": {
    "root_cause": [
      {
        "type": "invalid_index_name_exception",
        "reason": "Invalid index name [_cluster], must not start with '_'.",
        "index_uuid": "_na_",
        "index": "_cluster"
      }
    ],
    "type": "invalid_index_name_exception",
    "reason": "Invalid index name [_cluster], must not start with '_'.",
    "index_uuid": "_na_",
    "index": "_cluster"
  },
  "status": 400
}

I know there are a wealth of subcommands under "_cluster", but instead of getting a directory, I get that error message. Would it be possible to change the output to show the same sort of directory structure that one receives when using "_cat"? It appears to default to an error condition related to index naming but it should be apparent that I'm not invoking any commands related to indexes because of the underscore.

I feel like the behavior here is a bit inconsistent in that it treats "_cat" as a top level section but then throws errors for _cluster, _nodes, etc. (actually, /_nodes does give a lot of information related to nodes so perhaps _cluster should be giving similar information but for the entire cluster. There are subcommands like "/_cluster/health" or "/_cluster/stats", etc. that are extremely beneficial -- It would be wonderful to get a breakdown of all available subcommands under each major branch / top level command. Either way, I feel that /_cluster by itself should either give a list of subcommands like _cat or general cluster information similar to the information _nodes returns.

A lot of these are in the documentation, but they are scattered through different areas in the docs. Is there an area of the documentation that gives an overview / cheat-sheet style overview of all the major commands and their subcommands? Besides _cluster, there are other top level commands like _nodes, etc.

I just want to make sure I'm using ES to its full potential by getting a solid primer on all the top level commands and their subcommands because sometimes I only discover them outside of the documentation on Stackoverflow, etc. And often, I'll find one that I would have loved to know about previously but only found out about it from Q/A sections, etc.

Thanks!

PS: The error returned is current as of version 8.3.2.

The main thing here is (from the docs);

JSON is great…​ for computers. Even if it’s pretty-printed, trying to find relationships in the data is tedious. Human eyes, especially when looking at a terminal, need compact and aligned text. The compact and aligned text (CAT) APIs aim to meet this need.

And that's why this is different from all the other APIs, because the expectation is that you will know what you want to (programatically) call to get the needed response.

That said, I would encourage you to create a feature request on GitHub with this.

This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.