> 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/example-routing-patterns-with-http-method/courses-course-syllabus.md).

# /courses/{course}/syllabus

Collection/Resource/Sub-Resource

{% tabs %}
{% tab title="GET" %}
Returns the sub-resource.
{% endtab %}

{% tab title="POST" %}

* Create a sub-resource that is a single entity as opposed to a collection.
* Use a singular suffix for the resource, for example `/resident` instead of `/residents`
* This should return the ID, if applicable, in the response.

{% hint style="info" %}
Status `409 Conflict` should be returned if the sub-resource already exists.
{% endhint %}

{% hint style="danger" %}
The client can only `POST` once to the resource. If the client `POST` more than once, then they should get an error.
{% endhint %}
{% endtab %}

{% tab title="PUT" %}

* Overwrites the sub-resource if it exists.
* Creates the sub-resource if it does not exist.
* This should return the ID, if applicable, in the response.
  {% endtab %}

{% tab title="PATCH" %}

* Updates a subset of the resource's attributes.
  * Update specific attributes or relationships.
  * Can pass partial data set to update the resource.

{% hint style="danger" %}
**Use with care**. `PATCH`'s loose requirements will introduce a higher risk, such as having poor data constraints or difficult-to-read URIs.&#x20;
{% endhint %}

{% hint style="success" %}
Consider using `PUT` **instead** of `PATCH`.
{% endhint %}
{% endtab %}

{% tab title="DELETE" %}

* Deletes the resource.
  * This can be a soft/hard delete or deactivate/archive.
    {% endtab %}
    {% endtabs %}
