diff --git a/overseerr-api.yml b/overseerr-api.yml
index 9921e09f6..667f45087 100644
--- a/overseerr-api.yml
+++ b/overseerr-api.yml
@@ -54,8 +54,10 @@ components:
apiKey:
type: string
example: 'anapikey'
- required:
- - apiKey
+ readOnly: true
+ applicationUrl:
+ type: string
+ example: https://os.example.com
PlexLibrary:
type: object
properties:
diff --git a/server/routes/settings.ts b/server/routes/settings.ts
index fe0826004..424bb4dc9 100644
--- a/server/routes/settings.ts
+++ b/server/routes/settings.ts
@@ -15,6 +15,7 @@ import logger from '../logger';
import { scheduledJobs } from '../job/schedule';
import { Permission } from '../lib/permissions';
import { isAuthenticated } from '../middleware/auth';
+import { merge } from 'lodash';
const settingsRoutes = Router();
@@ -27,7 +28,7 @@ settingsRoutes.get('/main', (_req, res) => {
settingsRoutes.post('/main', (req, res) => {
const settings = getSettings();
- settings.main = req.body;
+ settings.main = merge(settings.main, req.body);
settings.save();
return res.status(200).json(settings.main);
diff --git a/src/components/Settings/SettingsMain.tsx b/src/components/Settings/SettingsMain.tsx
index 6eeb19da6..cf0097983 100644
--- a/src/components/Settings/SettingsMain.tsx
+++ b/src/components/Settings/SettingsMain.tsx
@@ -3,9 +3,21 @@ import useSWR from 'swr';
import LoadingSpinner from '../Common/LoadingSpinner';
import type { MainSettings } from '../../../server/lib/settings';
import CopyButton from './CopyButton';
+import { Form, Formik, Field } from 'formik';
+import axios from 'axios';
+import Button from '../Common/Button';
+import { defineMessages, useIntl } from 'react-intl';
+
+const messages = defineMessages({
+ save: 'Save Changes',
+ saving: 'Saving...',
+});
const SettingsMain: React.FC = () => {
- const { data, error } = useSWR
+ Here you can pick and choose what types of notifications to send and + through what types of services. +
+