diff --git a/vue3/src/apps/tandoor/main.ts b/vue3/src/apps/tandoor/main.ts
index ebbd4025b..b2c86d4dd 100644
--- a/vue3/src/apps/tandoor/main.ts
+++ b/vue3/src/apps/tandoor/main.ts
@@ -23,6 +23,7 @@ import MealPlanSettings from "@/components/settings/MealPlanSettings.vue";
import SpaceSettings from "@/components/settings/SpaceSettings.vue";
import SpaceMemberSettings from "@/components/settings/SpaceMemberSettings.vue";
import UserSpaceSettings from "@/components/settings/UserSpaceSettings.vue";
+import ApiSettings from "@/components/settings/ApiSettings.vue";
const routes = [
{path: '/', component: StartPage, name: 'view_home'},
@@ -36,6 +37,7 @@ const routes = [
{path: 'space', component: SpaceSettings, name: 'view_settings_space'},
{path: 'space-members', component: SpaceMemberSettings, name: 'view_settings_space_member'},
{path: 'user-space', component: UserSpaceSettings, name: 'view_settings_user_space'},
+ {path: 'api', component: ApiSettings, name: 'view_settings_api'},
]},
//{path: '/settings/:page', component: SettingsPage, name: 'view_settings_page', props: true},
{path: '/search', component: SearchPage, name: 'view_search'},
diff --git a/vue3/src/components/settings/ApiSettings.vue b/vue3/src/components/settings/ApiSettings.vue
new file mode 100644
index 000000000..74ac122e7
--- /dev/null
+++ b/vue3/src/components/settings/ApiSettings.vue
@@ -0,0 +1,72 @@
+
+
+ {{ $t('API') }}
+
+
+
+ The API is made for developers to interact with the application.
+ It is possible to break things using the API so be careful and create a backup first.
+ The API definition can and will change in the future, make sure to read the changelog to spot changes early
+ on.
+
+
+ Authentication works by proving the word Bearer followed by an API Token as a request Authorization
+ header as shown below.
+ Authorization: Bearer TOKEN -or-
+ curl -X GET http://your.domain.com/api/recipes/ -H 'Authorization:
+ Bearer TOKEN'
+
+
+
+ You can have multiple tokens and each token can have its own scope. Currently there is read, write
+ and bookmarklet.
+ Read and write do what the name says, the bookmarklet scope is only used for the bookmarklet to limit access to
+ it.
+
+ Make sure to save your token after creation as they cannot be viewed afterwards.
+
+
+
+ {{at.token}}
+ Scope {{at.scope}} Expires {{DateTime.fromJSDate(at.expires).toLocaleString(DateTime.DATE_FULL)}}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/vue3/src/pages/SettingsPage.vue b/vue3/src/pages/SettingsPage.vue
index f62bb4aa6..265a0e69f 100644
--- a/vue3/src/pages/SettingsPage.vue
+++ b/vue3/src/pages/SettingsPage.vue
@@ -19,7 +19,7 @@
{{ $t('SpaceMembers') }}
Admin
- {{ $t('API') }}
+ {{ $t('API') }}
{{ $t('System') }}