---
pageClass: page-reference
---
# Collections
> Collections are the individual collections of items, similar to tables in a database. Changes to collections will alter
the schema of the database. [Learn more about Collections](/concepts/collections/).
[[toc]]
---
## The Collection Object
`collection` **string**\
Name of the collection. This matches the table name in the database.
#### Meta
Directus metadata, primarily used in the Admin App.
`collection` **string**\
Name of the collection. This matches the table name in the database.
`icon` **string**\
Icon displayed in the Admin App when working with this collection.
`note` **string**\
Short description displayed in the Admin App.
`display_template` **string**\
How items in this collection should be displayed when viewed relationally in the Admin App.
`hidden` **boolean**\
Whether or not this collection is hidden in the Admin App.
`singleton` **boolean**\
Whether or not this collection is treated as a singleton.
`translations` **array**\
How this collection's name is displayed in the different languages in the Admin App.
`archive_field` **string**\
What field in the collection holds the archived state.
`archive_value` **string**\
What value the archive field should be set to when archiving an item.
`unarchive_value` **string**\
What value the archive field should be set to when unarchiving an item.
`archive_app_filter` **boolean**\
Whether or not the Admin App should allow the user to view archived items.
`sort_field` **boolean**\
What field holds the sort value on the collection. The Admin App uses this to allow drag-and-drop manual sorting.
#### Schema
"Raw" database information. Based on the database vendor used, different information might be returned. The following
are available for all drivers.
`name` **string**\
The table name.
`comment` **string**\
The table comment.
```json
{
"collection": "articles",
"meta": {
"collection": "articles",
"icon": "article",
"note": "Blog posts",
"display_template": "{{ title }}",
"hidden": false,
"singleton": false,
"translations": [
{
"language": "en-US",
"translation": "Articles"
},
{
"language": "nl-NL",
"translation": "Artikelen"
}
],
"archive_field": "status",
"archive_value": "archived",
"unarchive_value": "draft",
"archive_app_filter": true,
"sort_field": "sort"
},
"schema": {
"name": "pages",
"comment": null
}
}
```
---
## List Collections
List the available collections.
### Query Parameters
This endpoint doesn't currently support any query parameters.
### Returns
An array of [collection objects](#the-collection-object).
```
GET /collections
```
```json
{
"data": [
{
"collection": "articles",
"meta": {
"collection": "articles",
"icon": "article",
"note": "Blog posts",
"display_template": "{{ title }}",
"hidden": false,
"singleton": false,
"translations": [
{
"language": "en-US",
"translation": "Articles"
},
{
"language": "nl-NL",
"translation": "Artikelen"
}
],
"archive_field": "status",
"archive_value": "archived",
"unarchive_value": "draft",
"archive_app_filter": true,
"sort_field": "sort"
},
"schema": {
"name": "pages",
"comment": null
}
},
{ ... },
{ ... }
]
}
```
---
## Retrieve a Collection
Retrieve a single collection by table name.
### Query Parameters
This endpoint doesn't currently support any query parameters.
### Returns
A [collection object](#the-collection-object).
```
GET /collections/:collection
```
```json
{
"data": {
"collection": "articles",
"meta": {
"collection": "articles",
"icon": "article",
"note": "Blog posts",
"display_template": "{{ title }}",
"hidden": false,
"singleton": false,
"translations": [
{
"language": "en-US",
"translation": "Articles"
},
{
"language": "nl-NL",
"translation": "Artikelen"
}
],
"archive_field": "status",
"archive_value": "archived",
"unarchive_value": "draft",
"archive_app_filter": true,
"sort_field": "sort"
},
"schema": {
"name": "pages",
"comment": null
}
}
}
```
---
## Create a Collection
Create a new Collection. This will create a new table in the database as well.
### Query Parameters
This endpoint doesn't currently support any query parameters.
### Request Body
The `collection` property is required, all other properties of the [collection object](#the-collection-object) are
optional.
You are able to provide an array of `fields` to be created during the creation of the collection. See the
[fields object](/reference/api/rest/fields/#the-fields-object) for more information on what properties are available in
a field.
### Returns
The [collection object](#the-collection-object) for the collection created in this request.
```
POST /collections
```
```json
// Request
{
"collection": "testimonials",
"meta": {
"icon": "format_quote"
}
}
```
```json
// Response
{
"data": {
"collection": "testimonials",
"meta": {
"collection": "testimonials",
"icon": null,
"note": null,
"display_template": null,
"hidden": false,
"singleton": false,
"translations": null,
"archive_field": null,
"archive_app_filter": true,
"archive_value": null,
"unarchive_value": null,
"sort_field": null
},
"schema": {
"name": "testimonials",
"comment": null
}
}
}
```
---
## Update a Collection
Update the metadata for an existing collection.
### Query Parameters
This endpoint doesn't currently support any query parameters.
### Request Body
You can only update the `meta` values of the the [collection object](#the-collection-object). Updating the collection
name is not supported at this time.
### Returns
The [collection object](#the-collection-object) for the updated collection in this request.
```
PATCH /collections/:collection
```
```json
// Request
{
"meta": {
"note": "Short quotes from happy customers."
}
}
```
```json
// Response
{
"data": {
"collection": "testimonials",
"meta": {
"collection": "testimonials",
"icon": null,
"note": "Short quotes from happy customers.",
"display_template": null,
"hidden": false,
"singleton": false,
"translations": null,
"archive_field": null,
"archive_app_filter": true,
"archive_value": null,
"unarchive_value": null,
"sort_field": null
},
"schema": {
"name": "testimonials",
"comment": null
}
}
}
```
---
## Delete a Collection
Delete a collection.
::: danger Destructive
Be aware, this will delete the table from the database, including all items in it. This action can't be undone.
:::
```
DELETE /collections/:collection
```
```json
// Empty Response
```
---