> For the complete documentation index, see [llms.txt](https://docs.elentra.org/api/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.elentra.org/api/elentra-api-standards/routing-and-parameters/common-mistakes/get-cbe-curriculum-framework-framework_id-hierarchy-by-depth.md).

# \[GET] /cbe/curriculum/framework/{framework\_id}/hierarchy-by-depth

\[GET] `/cbe/curriculum/framework/{framework_id}/hierarchy-by-depth`

{% tabs %}
{% tab title="Critique" %}

* From the route alone, it is unclear what the resource is for this endpoint.
  * For example, is a framework being returned? Or a list of objective sets?
* In reality, this endpoint returns a hierarchical list of nodes associated with the specified framework.
* In addition, `framework` itself should be plural, i.e. `frameworks`, because  `/cbe/curriculum/frameworks` is the collection of frameworks.
  {% endtab %}

{% tab title="Suggestion" %}

* If the endpoint returns a hierarchical list of nodes, then structure the URI by including `/nodes` as a sub-collection.
* This helps by making it clear what type of data is being returned.
* Rename `framework` to `frameworks`.

{% hint style="info" %}
**Final Suggestion**

`[GET] /cbe/curriculum/frameworks/{framework_id}/nodes`
{% endhint %}
{% endtab %}
{% endtabs %}
