Back to Content Management API
siteSettingsUpdate
Updates the site settings. settings replaces the full settings object. To change a few values without resending everything, use siteSettingsPatch.
Arguments
- Name
id- Type
- ID!
- Description
The ID of the site settings you want to update.
- Name
input- Type
- SiteSettingsUpdateInput!
- Description
An object.
settings:JSON!seo:JSONfavicon:StringchangedSettingsPaths:[String!]JSON Pointer paths of the settings this update changes, such as/settings/header. When omitted, Pack derives them by comparing the new settings with the current ones.
Returns
- Name
SiteSettings.*- Type
- SiteSettings
- Description
Any requested field from the SiteSettings object.
Request
import { PackClient } from '@pack/client'
const packClient = new PackClient({
token: 'YOUR-PACK-TOKEN'
});
const query = `
mutation SiteSettingsUpdate($id: ID!, $input: SiteSettingsUpdateInput!) {
siteSettingsUpdate(id: $id, input: $input) {
settings
seo {
title
description
keywords
image
}
favicon
}
}
`;
const variables = {
id: 'site-settings-id',
input: {
settings: {
title: 'My Site',
description: 'My site description',
logo: 'https://example.com/logo.png',
primaryColor: '#000000',
secondaryColor: '#FFFFFF',
accentColor: '#FF0000',
footer: 'My site footer',
social: {
facebook: 'https://facebook.com',
twitter: 'https://twitter.com',
linkedin: 'https://linkedin.com',
instagram: 'https://instagram.com',
youtube: 'https://youtube.com',
},
},
seo: {
title: 'My Site',
description: 'My site description',
keywords: ['site', 'description'],
image: 'https://example.com/image.png',
},
favicon: 'https://example.com/favicon.ico',
},
};
const response = await packClient.fetch(query, { variables: variables });
console.log(response.data);
Response
{
"data": {
"siteSettingsUpdate": {
"settings": {
"title": "My Site",
"description": "My site description",
"logo": "https://example.com/logo.png",
"primaryColor": "#000000",
"secondaryColor": "#FFFFFF",
"accentColor": "#FF0000",
"footer": "My site footer",
"social": {
"facebook": "https://facebook.com",
"twitter": "https://twitter.com",
"linkedin": "https://linkedin.com",
"instagram": "https://instagram.com",
"youtube": "https://youtube.com"
}
},
"seo": {
"title": "My Site",
"description": "My site description",
"keywords": ["site", "description"],
"image": "https://example.com/image.png"
},
"favicon": "https://example.com/favicon.ico"
}
}
}