Files
directus/docs/reference/system/settings.md
Bevis Halsey-Perry 60df20d780 Simplified generic examples and consolidated imports for sdk examples in docs. (#19370)
* Simplified generics and imports for items page snippets

* Simplified generics and imports for files page snippets

* Fixing simplified generic snippets in items page

* Simplified generics and imports for activity page snippets

* Simplified generics and imports for collections page snippets

* Simplified generics and imports for dashboards page snippets

* Simplified generics and imports for extensions page snippets

* Simplified generics and imports for fields page snippets

* Simplified generics and imports for flows page snippets

* Simplified generics and imports for folders page snippets

* Simplified generics and imports for notifications page snippets

* Simplified generics and imports for operations page snippets

* Simplified generics and imports for panels page snippets

* Simplified generics and imports for permissions page snippets

* Simplified generics and imports for presets page snippets

* Simplified generics and imports for relations page snippets

* Simplified generics and imports for relations page snippets

* Simplified generics and imports for revisions page snippets

* Simplified generics and imports for roles page snippets

* Consolidated imports for schema page snippets

* Simplified generics and imports for server page snippets

* Simplified generics and imports for settings page snippets

* Fixed mixed up snippets and simplified generics and imports for shares page snippets

* Simplified generics and imports for translation page snippets

* Fixed mixed up snippets and simplified generics and imports for user page snippets

* Simplified generics and imports fo uutilitie pages snippets

* Simplified generics and imports for webhook pages snippets

* Simplified generics and imports for authentication pages snippets

* Consolidated imports for query pages sdk snippets

* Format files

* Update lockfile

* Fix spelling

* Format snippets

* Aling `result` const

* Small clean-ups

- Align `SEARCH` snippets, move "Learn more..." next to other hint
- ids -> IDs
- Other alignments

---------

Co-authored-by: Bevis Halsey-Perry <hi@be7.is>
Co-authored-by: Pascal Jufer <pascal-jufer@bluewin.ch>
2023-08-08 10:16:23 -04:00

280 lines
5.6 KiB
Markdown
Raw Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
description: REST and GraphQL API documentation on the Settings collection in Directus.
readTime: 3 min read
pageClass: page-reference
---
# Settings
> Settings are key-value pairs that are stored in the database, and control different aspects of the project. Only
> administrators have access to manage Settings.
## The Settings Object
`id` **uuid**\
Primary key of the setting.
`project_name` **string**\
Name of the project, shown in the Admin App.
`project_descriptor` **string**\
Descriptor of the project, shown in the Admin App.
`project_url` **string**\
Link to the (public) website that goes with this project.
`project_color` **string**\
Brand color for the current project.
`project_logo` **many-to-one**\
Primary logo for the current project. Many-to-one to [files](/reference/files).
`public_foreground` **many-to-one**\
Foreground image for the Admin App's public pages. Many-to-one to [files](/reference/files).
`public_background` **many-to-one**\
Background image for the Admin App's public pages. Many-to-one to [files](/reference/files).
`public_note` **string**\
Note shown on the Admin App's public pages. Supports Markdown.
`auth_login_attempts` **integer**\
How often a user is allowed to try to login. After which times the user will be suspended.
`auth_password_policy` **RegEx**\
What regex passwords must pass in order to be valid.
`storage_asset_transform` **string**\
If the transform endpoints are allowed to be used on [the assets endpoint](/reference/files#requesting-a-thumbnail). One
of `all`, `none` or `presets`.
`storage_asset_presets` **array**\
What preset keys exist in [the assets endpoint](/reference/files#requesting-a-thumbnail).
`custom_css` **string**\
CSS rules to override the App's default styling.
`storage_default_folder` **uuid**\
Folder for uploaded files. Does not affect existing files.
`basemaps` **array**\
Custom tiles to overriding the Mapbox defaults.
`mapbox_key` **string**\
[Mapbox Access Token](https://docs.mapbox.com/help/glossary/access-token).
`module_bar` **array**\
What modules are enabled/added globally.
`custom_aspect_ratios` **array**\
Custom aspect ratios in the [image editor](/user-guide/file-library/files#edit-an-image).
```json
{
"data": {
"id": 1,
"project_name": "Directus",
"project_descriptor": "Application",
"project_url": null,
"project_color": null,
"project_logo": null,
"public_foreground": null,
"public_background": null,
"public_note": null,
"auth_login_attempts": 25,
"auth_password_policy": null,
"storage_asset_transform": "all",
"storage_asset_presets": [
{
"key": "small",
"fit": "cover",
"width": 200,
"height": 161,
"quality": 80,
"withoutEnlargement": false
}
],
"custom_css": null,
"storage_default_folder": null,
"basemaps": null,
"mapbox_key": null,
"module_bar": null,
"custom_aspect_ratios": [
{
"text": "16:10",
"value": 1.6
}
]
}
}
```
## Retrieve Settings
### Request
<SnippetToggler :choices="['REST', 'GraphQL', 'SDK']" label="API">
<template #rest>
`GET /settings`
</template>
<template #graphql>
`POST /graphql/system`
```graphql
type Query {
settings: directus_settings
}
```
</template>
<template #sdk>
```js
import { createDirectus, rest, readSettings } from '@directus/sdk';
const client = createDirectus('directus_project_url').with(rest());
const result = await client.request(readSettings());
```
</template>
</SnippetToggler>
#### Query Parameters
Supports all [global query parameters](/reference/query).
### Response
Returns the [settings object](#the-settings-object).
### Example
<SnippetToggler :choices="['REST', 'GraphQL', 'SDK']" label="API">
<template #rest>
`GET /settings`
</template>
<template #graphql>
`POST /graphql/system`
```graphql
query {
settings {
project_name
}
}
```
</template>
<template #sdk>
```js
import { createDirectus, rest, readSettings } from '@directus/sdk';
const client = createDirectus('https://directus.example.com').with(rest());
const result = await client.request(readSettings());
```
</template>
</SnippetToggler>
## Update Settings
### Request
<SnippetToggler :choices="['REST', 'GraphQL', 'SDK']" label="API">
<template #rest>
`PATCH /settings`
Provide a partial [settings object](#the-settings-object) as the body of your request.
</template>
<template #graphql>
`POST /graphql/system`
```graphql
type Mutation {
update_settings(data: update_directus_settings_input!): directus_settings
}
```
</template>
<template #sdk>
```js
import { createDirectus, rest, updateSettings } from '@directus/sdk';
const client = createDirectus('directus_project_url').with(rest());
const result = await client.request(updateSettings(settings_object));
```
</template>
</SnippetToggler>
#### Query Parameters
Supports all [global query parameters](/reference/query).
#### Request Body
A partial [settings object](#the-settings-object).
### Response
Returns the [settings object](#the-setting-object).
### Example
<SnippetToggler :choices="['REST', 'GraphQL', 'SDK']" label="API">
<template #rest>
`PATCH /settings`
```json
{
"project_url": "https://example.com/"
}
```
</template>
<template #graphql>
`POST /graphql/system`
```graphql
mutation {
update_settings(data: { project_url: "https://example.com" }) {
project_name
project_url
}
}
```
</template>
<template #sdk>
```js
import { createDirectus, rest, updateSettings } from '@directus/sdk';
const client = createDirectus('https://directus.example.com').with(rest());
const result = await client.request(
updateSettings({
project_url: 'https://example.com/',
})
);
```
</template>
</SnippetToggler>