--- title: Widget API reference description: Service Portal includes client and server side APIs to use in widget client and server scripts.Global variable and functions available in widget client and server scripts. locale: en-US canonical_url: https://www.servicenow.com/docs/r/australia/platform-user-interface/service-portal/widget-api-reference.html release: australia product: Service Portal classification: service-portal topic_type: reference last_updated: "2026-03-12" reading_time_minutes: 2 breadcrumb: [Developing custom widgets, Service Portal, Configure UIs and portals, Configure user experiences] --- # Widget API reference Service Portal includes client and server side APIs to use in widget client and server scripts. ## Service Portal client-side APIs These are Service Portal APIs that you can use in a widget client controller. See the API reference for detailed class and method information.
Class Description
spAriaUtil Shows messages on a screen reader.
spContextManager Makes data from a Service Portal widget available to other applications and services in a Service Portal page. For example, pass widget data to Agent Chat when it opens in a Service Portal page.
spUtil Utility methods to perform common functions in a Service Portal widget client script.
spModal Shows alerts, prompts, and confirmation dialogs in Service Portal widgets. The spModal class is available in Service Portal client scripts.
**Note:** g\_form as a global object cannot be used in a widget client controller or in a UI script. ## Service Portal server-side APIs These are Service Portal APIs that you can use in a widget server script.
Class Description
GlideSPScriptable The GlideSPScriptable API provides methods to interact with data and perform record operations in Service Portal widgets.
GlideSPSearchAnalytics The GlideSPSearchAnalytics API provides methods to generate search analytics from custom ServiceNow search widgets.
Defines facet items, filters, or mapped queries for a facets object.
Generates a multi-choice or single-choice facets object for an advanced search source.
Return human-readable URLs for a specific page, or for the current page, based on the transaction request.
Check whether a provided table is granted access to a widget to ensure that a widget is securely accessed by an intended audience.
**Parent Topic:**[Developing custom widgets](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/australia/platform-user-interface/service-portal/widget-dev-guide.md) ## Widget properties Global variable and functions available in widget client and server scripts. ### Server script global objects |Property|Description| |--------|-----------| |`input`|An object containing client-side properties set under `c.data`. The value is `undefined` until the client controller calls `c.server.update()`.| |`data`|An object containing properties set during server-side execution.| |`options`|An object containing the schema option properties.| ### Client script global functions |Property|Description| |--------|-----------| |`this.server.get([Object])`|Calls the server and sends custom `input`. Returns `Promise`.| |`this.server.update()`|Calls the server and posts `this.data` to the server script. Returns `Promise`.| |`this.server.refresh()`|Calls the server and automatically replaces the current options and data from the server response. Returns `Promise`.| A `promise` represents the eventual result of an asynchronous operation. For more information on promises, see [https://promisesaplus.com/](https://promisesaplus.com/) or [AngularJS documentation](https://docs.angularjs.org/api/ng/service/$q).