@servicenow/sdk - v4.7.0
    Preparing search index...
    interface SPPage {
        $meta?: { installMethod?: "first install" | "demo" | "once" };
        $override?: Record<string, string | number | boolean>;
        category?: PageCategory;
        containers?: SPContainer[];
        css?: string;
        draft?: boolean;
        dynamicTitleStructure?: string;
        humanReadableUrlStructure?: string;
        internal?: boolean;
        omitWatcher?: boolean;
        pageId: string;
        protectionPolicy?: "read" | "protected";
        public?: boolean;
        roles?: (string | Role | Record<"sys_user_role">)[];
        seoScript?: string | ScriptIncludeOptions | Record<"sys_script_include">;
        shortDescription?: string;
        title?: string;
        useSeoScript?: boolean;
    }
    Index

    Properties

    $meta?: { installMethod?: "first install" | "demo" | "once" }

    Type Declaration

    • OptionalinstallMethod?: "first install" | "demo" | "once"

      Map a record to an output folder that loads only in specific circumstances. 'first install' -> 'unload' (only loaded when plugin is first registered), 'demo' -> 'unload.demo' (only loaded when demo data is loaded), 'once' -> 'apply_once' (scripts that are only applied once)

    $override?: Record<string, string | number | boolean>

    Set properties not directly supported by this API.

    category?: PageCategory

    Groups the page in the portal designer for organisational purposes. Valid values: 'custom', 'standard', 'sample', 'sp_platform', 'kb', 'other', 'sc', 'sn_ex_sp_taxonomy'.

    'custom'
    
    containers?: SPContainer[]

    Top-level layout sections of the page. Each container holds rows of columns which hold widget instances. Renders in ascending order value.

    css?: string

    Page-scoped CSS applied only when this page is rendered.

    draft?: boolean

    Marks the page as a draft. Draft pages are visible only to portal designers and admins, not to regular users.

    false
    
    dynamicTitleStructure?: string

    Template string used to build a dynamic page <title> tag. Supports portal variable substitution.

    'Incident ${number} - ${short_description}'
    
    humanReadableUrlStructure?: string

    Friendly URL path pattern for the page, enabling human-readable URLs. Use {variable} placeholders to capture path segments as URL parameters. Must contain exactly one / separator.

    'knowledge/{sys_id}', 'catalog/item/{sys_id}'
    
    internal?: boolean

    Marks the page as an internal platform page (not user-created). Internal pages are hidden from the page picker in the portal designer.

    false
    
    omitWatcher?: boolean

    Disables the AngularJS $watch listener for this page, improving performance for static or data-light pages.

    false
    
    pageId: string

    URL-level identifier for the page, used in routing (?id=<pageId>). Maps to sp_page.id. Must be unique within the portal (required).

    protectionPolicy?: "read" | "protected"

    Controls edit/view access for other developers after the application is installed.

    • read: Others can see the script logic but not change it.
    • protected: Others cannot change this record.
    • Omit to allow other developers to customize this record.
    public?: boolean

    Makes the page accessible to unauthenticated users without login.

    false
    
    roles?: (string | Role | Record<"sys_user_role">)[]

    Restricts access to users with at least one of the specified roles. If empty, the page is accessible to all authenticated users (or all users if public is true).

    seoScript?: string | ScriptIncludeOptions | Record<"sys_script_include">

    Server-side script (sys_script_include) that returns a dynamic page title and meta description for SEO purposes. Only used when useSeoScript is true.

    shortDescription?: string

    Brief admin-visible description of the page's purpose. Not displayed to end users.

    title?: string

    Page title displayed in the browser tab.

    useSeoScript?: boolean

    Enables dynamic <title> and meta tag generation via seoScript.

    false