API release notes

API product enhancements and updates in the Istanbul release.

Activation information

  • ServiceNow API: Platform feature - active by default.
  • Email API: Users with the admin role can activate the Email Service plugin (com.glide.email.service) to enable the Email API.

Additional requirements for the Email API

By default, Email Service only allows admin users to access the Email API. Administrators can grant access to the Email API by:
  1. Adding an access control for creating records in the Email [sys_email] table linked to the email_api_send role.
  2. Assigning the email_api_send role to the non-admin user.
  3. Verifying the non-admin user has read access to the notification target table. For example, an email notification for an incident, requires read access to the Incident table.

Non-admin users with the email_api_send role can access the Email API from the REST API explorer.

New in the Istanbul release

Email API
With the Email API you can receive and send email messages using REST.
CI Lifecyle Management API
Provides the ability to manipulate CI operational states and apply CI actions using REST interfaces.

Changed in this release

Table 1. New scoped classes and additional methods to existing classes
Class Methods
CatalogClientScript create(),deleteRecord(),setAttributes(),appliesToCatalogItem(),appliesToRequestedItem(),setVariableSet(),setOnChangeVariable(),addScript(),setCatalogItem(),appliesToCatalogTask()
CartJS getCart(),getCartID(),getCartItems(),empty(), addToCart(),getRequestedFor(),getRequestedForDisplayName(),getSpecialInstructions(), getDeliveryAddress(),setDeliveryAddress(),setSpecialInstructions()
CatalogSearch search()
CMDBGroupAPI getManualCIList(), getSavedQueryIdList(), getAllCIFromQueryBuilder(), getAllCI(), setManualCIList(), setSavedQueryIdList()
GlideSystem dateGenerate(), urlEncode(), urlDecode(), base64Decode(), base64Encode(), and eventQueueScheduled()
GlideSession isImpersonating()
GlideDateTime after(), before(), onOrAfter(), onOrBefore(), getUserFormattedLocalTime() and getInternalFormattedLocalTime()
GlideDate getDayOfMonthNoTZ(), getMOnthNoTZ(), and getYearNoTZ()
GlideTime getHourOfDayUTC(), getHourUTC(), getMinutesUTC(), getHourOfDayLocalTime(), getHourLocalTime(), getMinutesLocalTime(), and getSeconds()
GlideUser getEmail(), getFirstName(), getLastName(), getRoles(), and getUserRoles()
GlideAggregate addDomainQuery(GlideRecord)
GlideElement setPhoneNumber() and getGlobalDisplayValue()
GlideScriptableInputStream Has no constructor and no methods, but is used as a parameter and return value in some methods.
GlideSysAttachment getContentSream(), writeContentStream(), and writeBase64()
GlideTextReader readLine() and getEncoding()
GlideDigest getMD5Base64(), getMD5Base64FromInputStream(), getMD5Hex(), getMD5HexFromInputStream(), getSHA1Base64(), getSHA1Base64FromInputStream(), getSHA1Hex(), getSHA1HexFromInputStream(), getSHA256Base64(), getSHA256Base64FromInputStream(), getSHA256Hex(), and getSHA256HexFromInputStream()
GlideSecureRandomUtil getSecureRandomInt(), getSecureRandomBound(Number bound), getSecureRandomLong(), getSecureRandomString(Number length)
XMLDocument2 setNamespaceAware() A constructor that accepts a GlideScriptableInputStream is now available.
XMLNode getAttributes()
CMDBGroupAPI getManualCIList(), getSavedQueryIdList(), getAllCIFromQueryBuilder(), getAllCI(), setManualCIList(), and setSavedQueryIdList()
IdentificationEngine identifyCI(), createOrUpdateCI(), runIdentificationAudit()
PAScorecard addParam(), asJSON(), query(), result()
PASnapshot getCompareIDs(), getCompareQuery(), getIDs(), getQuery()
Table 2. New global classes and additional methods for existing classes
Class Methods
GlideDateTime getUserFormattedLocalTime() and getInternalFormattedLocalTime()
OCRosterSpanApprovalUtil approvePTOSpan(), getPTOApproversList(), getContextualCalUrlPerSpanProposal(), getFromDateDisplayValuePerSpanProposal(), getToDateDisplayValuePerSpanProposal(), getUserNamePerSpanProposal(), isPTOApprovalRequired(), and rejectPTOSpan()
OCTimer log(), millisToTime(), result(), start(), and stop()
OCSeriesEventGenerator getMemberCalendar(), getRosterICalEvents(), and getRosterMemberEvents()
OCRotaICalendarSNC cleanExpiredCache(), createCalendarEvents(), createCustomEvent(), createPlaceholderCalendar(), getCalendarEvents(), getEventsFromTable(), getIntersectRotaSpanItem(), getMemberCalendarURL(), getOnCallCalendarURL(), handleOverrideMember(), handleRotaMember(), invalRotaRespCache(), matchRotaSpanRule(), populateCalendarSubscriptionSettings(), processSeriesEvent(), saveCalendarEvents(), sendCalendarURL(), and updateExceptionList()
OCRotaICalendar Has no methods.
OCRotaMember deactivateUser(), hasChanged(), hasOrderChanged(), recalculate (), and validateDates()
ICalUtilSNC formatICalComponent(), formatICalEvent(), formatRecurringRule(), getDateFromScheduleDateTime(), getSDT(), and getTimeFromScheduleDateTime()
ICalUtil Has no methods.
StateManagementScriptableApi addBulkCIAction(), extendCIActionLease(), getCIActions(), getOperationalState(), isCompatibleCIAction(), isLeaseExpired(), isNotAllowedAction(), isNotAllowedOpsTransition(), isValidRequestor(), registerOperator(), removeBulkCIAction(), setBulkCIOperationalState(), unregisterOperator()
IdentificationEngineScriptableApi identifyCI()
Table 3. New client classes and additional methods for existing classes
Class Methods
GlideForm isLiveUpdating(), submit(String verb)

Removed in this release

  • The scoped GlideSystem getSessionToken() method has been deleted. Instead, use the scoped GlideSession getSessionToken() method.