> 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-contacts.md).

# /courses/{course}/contacts

Collection/Resource/Sub-Collection

{% tabs %}
{% tab title="GET" %}
Returns the entire collection

{% hint style="info" %}
Returns all the contacts of the given course
{% endhint %}
{% endtab %}

{% tab title="POST" %}
Create a new course contact resource for the given course and returns the newly inserted ID.
{% endtab %}

{% tab title="PUT" %}

* Uncommon to use with a collection.
* It is implied that this would replace the entire contacts collection.

{% hint style="warning" %}
Use with extreme care.
{% endhint %}
{% endtab %}

{% tab title="PATCH" %}

* Very uncommon and limited in viable use cases.
* This would imply updating a subset of data (e.g `::firstOrCreate`).
* Scenarios which would use PATCH are more varied than PUT/POST.

{% hint style="info" %}
For example, reordering a large dataset (faster than looping PUT requests).
{% endhint %}

{% hint style="danger" %}
Use with extreme care, consider more readable alternative routing expressions.
{% endhint %}
{% endtab %}

{% tab title="DELETE" %}
Deletes the entire collection.

{% hint style="info" %}
Deletes all contacts belonging to a given course.
{% endhint %}

{% hint style="danger" %}
Use with extreme care.
{% endhint %}
{% endtab %}
{% endtabs %}
