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: JSON
    • favicon: String
    • changedSettingsPaths: [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

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"
    }
  }
}

Was this page helpful?