Management SDK - Pages

This guide covers page and page template operations using the Agility Management SDK, including creating, updating, publishing, and managing pages and templates.

📄 Sitemap and Page Models

Page Models are also referred to as Page Templates. We will use the terminology interchangeable here.

Get Sitemap

// Get the sitemap for a website and locale
const sitemap = await apiClient.pageMethods.getSitemap(
  guid,   // instance GUID
  locale  // locale (e.g., 'en-us')
);
console.log('Sitemap:', sitemap);

Get All Page Models

// Get all page templates
const pageTemplates = await apiClient.pageMethods.getPageTemplates(
  guid,              // instance GUID
  locale,            // locale
  true,              // includeModuleZones
  ''                 // searchFilter (optional)
);
console.log('Page templates:', pageTemplates);

Get Page Model by ID

// Get a specific page template by ID
const pageTemplate = await apiClient.pageMethods.getPageTemplate(
  guid,
  locale,
  pageTemplateId     // template ID
);
console.log('Page template:', pageTemplate);

Get Page Model by Name

// Get a page template by name
const pageTemplateByName = await apiClient.pageMethods.getPageTemplateName(
  guid,
  locale,
  'Home Page'        // template name
);
console.log('Page template by name:', pageTemplateByName);

Delete Page Model

// Delete a page template by ID
await apiClient.pageMethods.deletePageTemplate(
  guid,
  locale,
  pageTemplateId
);
console.log('Page template deleted.');

Get Page Item Templates

PageItemTemplate is the section where components can be added into a page model.

// Get item templates for a page template
const itemTemplates = await apiClient.pageMethods.getPageItemTemplates(
  guid,
  locale,
  pageTemplateId
);
console.log('Item templates:', itemTemplates);

Save (Create/Update) Page Model

// Save (create or update) a page template
const savedPageTemplate = await apiClient.pageMethods.savePageTemplate(
  guid,
  locale,
  pageModel          // PageModel object
);
console.log('Saved page template:', savedPageTemplate);

📃 Page Operations

Get Page by ID

// Get a page by its ID
const page = await apiClient.pageMethods.getPage(
  pageID,  // page ID
  guid,
  locale
);
console.log('Page:', page);

Publish Page

// Publish a page
const publishedPageIDs = await apiClient.pageMethods.publishPage(
  pageID,
  guid,
  locale,
  'Publishing page'  // comments (optional)
);
console.log('Published page IDs:', publishedPageIDs);

Unpublish Page

// Unpublish a page
const unpublishedPageIDs = await apiClient.pageMethods.unPublishPage(
  pageID,
  guid,
  locale,
  'Unpublishing page' // comments (optional)
);
console.log('Unpublished page IDs:', unpublishedPageIDs);

Delete Page

// Delete a page
const deletedPageIDs = await apiClient.pageMethods.deletePage(
  pageID,
  guid,
  locale,
  'Deleting page'    // comments (optional)
);
console.log('Deleted page IDs:', deletedPageIDs);

Approve Page

// Approve a page
const approvedPageIDs = await apiClient.pageMethods.approvePage(
  pageID,
  guid,
  locale,
  'Approving page'   // comments (optional)
);
console.log('Approved page IDs:', approvedPageIDs);

Decline Page

// Decline a page
const declinedPageIDs = await apiClient.pageMethods.declinePage(
  pageID,
  guid,
  locale,
  'Declining page'   // comments (optional)
);
console.log('Declined page IDs:', declinedPageIDs);

Request Approval for Page

// Request approval for a page
const approvalRequestedPageIDs = await apiClient.pageMethods.pageRequestApproval(
  pageID,
  guid,
  locale,
  'Requesting approval' // comments (optional)
);
console.log('Approval requested for page IDs:', approvalRequestedPageIDs);

Save (Create/Update) Page

// Save (create or update) a page
const savedPageIDs = await apiClient.pageMethods.savePage(
  pageItem,              // PageItem object
  guid,
  locale,
  parentPageID,          // parent page ID (optional)
  placeBeforePageItemID  // place before page ID (optional)
);
console.log('Saved page IDs:', savedPageIDs);

🕓 Page History

Get Page History

// Get history for a page
const pageHistory = await apiClient.pageMethods.getPageHistory(
  locale,
  guid,
  pageID,
  50,   // take (number of items)
  0     // skip (offset)
);
console.log('Page history:', pageHistory);