API release notes

  • Release version: Xanadu
  • Updated August 1, 2024
  • 6 minutes to read
  • Summarize
    Summarized using AI
    This content was generated using new OpenAI-powered functionality. Results are provided on an as is basis and are not guaranteed to be accurate or complete.

    Summary of API release notes - Xanadu

    The Xanadu release enhances and updates ServiceNow® APIs, enabling customers to build custom applications and experiences more effectively. These updates include new and expanded server-side JavaScript APIs, client APIs, inbound REST APIs, and scoped/global classes with additional methods. The release also introduces new REST APIs across various ServiceNow applications and updates existing ones for improved functionality.

    Show full answer Show less

    Key Features

    • Server-side and Client APIs: Enhanced scripting capabilities with new and extended methods in scoped and global classes like CMDBQBScopedScriptableAPI, HistoryWalker, GlideAggregate, GlideRecord, and client-side classes such as mform and MobileScriptIncludeCaller.
    • New REST APIs: Added APIs for Cloud Services Catalog, Proactive Engagement, Accounts Payable Invoice Processing, Telecommunication Open APIs, Service Test Management, Threat Intelligence Security Center, and more.
    • Expanded ServiceNow Store APIs: New classes and methods for client and scoped applications, including OpenFrameAPI enhancements and Lead to Cash Core improvements.
    • Dynamic Schema Support: GlideAggregate and GlideRecord now support dynamic schema operations, enhancing data querying and manipulation flexibility.
    • API Enhancements: Updates include additional parameters, support for new data types, improved sorting behaviors, and extended functionality such as asynchronous transaction status returns and context-aware methods.

    Key Outcomes

    • Developers can leverage expanded APIs to customize application behavior, automate processes, and integrate with external systems more effectively.
    • Clients benefit from improved event-driven client APIs that respond to form loads, submissions, and field changes, enhancing user experience.
    • Enhanced REST APIs provide broader capabilities for managing cloud services, telecommunication resources, proactive engagements, and workplace reservations.
    • Activation of specific plugins is required to access certain APIs, ensuring customers enable only necessary features for their use case.
    • Support for dynamic schemas and asynchronous operations improves data handling and transaction processing within ServiceNow applications.

    Activation and Plugin Requirements

    Several APIs are available by default, including Cloud Services Catalog API, DynamicSchemaAPI, GlideAggregate, GlideDate, GlideRecord, and others. However, some APIs require activation of specific plugins, such as:

    • Appointment Open API: Requires Appointment Booking, Field Service Management, and Field Service Management for Telecommunications plugins.
    • AWA Manual Assignment API: Requires Advanced Work Assignment plugin.
    • LeadtoCashCore script include: Requires Lead to Cash Core plugin.
    • PersonalAuthAPI: Requires Personal Authentication plugin.
    • Proactive Engagement API: Requires Proactive Engagement plugin.
    • Resource Inventory Open API: Requires Customer Network Inventory Core plugin.
    • Service Contract API: Requires Customer Contracts and Entitlements, Customer Service Install Base Management, and Product Catalog Management Core plugins.
    • Service Test Management Open API: Requires Customer Service Problem Management plugin.
    • Verify Entitlements API: Requires Entitlement Verification plugin.
    • Workplace Reservation APIs: Require Workplace Reservation Management plugin.

    Customers should ensure these plugins are activated to access the corresponding APIs and features.

    ServiceNow® APIs let you build custom applications and experiences. APIs were enhanced and updated in the Xanadu release.

    API highlights for the Xanadu release

    • Use server-side JavaScript APIs in scripts to change the application functionality.
    • Run client APIs whenever a client-based event occurs, such as when a form loads, a form is submitted, or a field value changes.
    • Use inbound REST APIs to interact with various ServiceNow functionalities within your application.

    See API implementation and reference for more information.

    New in the Xanadu release

    Table 1. New scoped classes and additional methods to existing scoped classes in Xanadu
    Class Methods
    CMDBQBScopedScriptableAPI - Scoped
    • createReport()
    • deleteQuery()
    • getSavedQueryExecutionDetails()
    • saveQuery()
    • updateQuery()
    HistoryWalker - Scoped, Global walkTo(checkpoint)
    NumberFormatter - Scoped, Global
    • parseWithLocale()
    • parseWithSeparators()
    PDAutomationProvider - Scoped, Global
    • activateProcess()
    • deactivateProcess()
    • duplicateProcess()
    PDFGenerationAPI - Scoped, Global redact()
    PersonalAuthAPI - Scoped
    • PersonalAuthAPI()
    • getInitiatorURL()
    • isTokenValid()
    • revokeToken()
    PlaybookExperience - Scoped restartPlaybook()
    Table 2. New global classes and additional methods to existing global classes in Xanadu
    Class Methods
    CMDBQueryBuilderAPI - Global
    • createReport()
    • deleteQuery()
    • saveQuery()
    • updateQuery()
    DynamicSchemaAPI - Global
    • clearDynamicCategoryCache()
    • clearDynamicChoiceSetCache()
    • clearDynamicAttributeGroupCache()
    • clearDynamicAttributeGroupCacheItem()
    • clearDynamicCategoryCacheItem()
    • clearDynamicChoiceSetItem()
    • get()
    GlideAggregate - Global
    • getDynamicAttributeValue() - two signatures
    • getDynamicAttributeDisplayValue() - two signatures
    GlideDate - Global parseDate()
    GlideDynamicAttributeStore - Global
    • clear()
    • getDisplayValue()
    • getValue()
    • setDisplayValue()
    • setDynamicAttributeDisplayValue()
    • setDynamicAttributeValue()
    • setDynamicAttributeValues()
    • setValue()
    • toString()
    GlideElementDynamicAttributeStore - Global
    • getDynamicAttribute()
    • getDynamicAttributeDisplayValue()
    • getDynamicAttributeValue()
    • setDynamicAttributeValue()
    • setDynamicAttributeValues()
    • setDynamicAttributeDisplayValue()
    • setDynamicAttributeDisplayValues()
    GlideRecord - Global
    • getDynamicAttribute() - two signatures
    • getDynamicAttributeValue() - two signatures
    • getDynamicAttributeDisplayValue() - two signatures
    • setDynamicAttributeValue() - two signatures
    • setDynamicAttributeDisplayValue() - two signatures
    • setDynamicAttributeValues()
    HistoryWalker - Scoped, Global walkTo(checkpoint)
    NumberFormatter - Scoped, Global
    • parseWithLocale()
    • parseWithSeparators()
    PDFGenerationAPI - Scoped, Global redact()
    Table 3. New client mobile APIs and additional methods to existing client mobile APIs in Xanadu
    Class Methods
    m_form - Client
    • addErrorMessage()
    • addInfoMessage()
    • getValue()
    • setAffectedInputs()
    • setValue()
    MobileScriptIncludeCaller - Client
    • MobileScriptIncludeCaller()
    • addParam()
    • call()
    Table 4. New REST APIs in Xanadu
    Class Methods
    Cloud Services Catalog API
    • GET /now/cmp_catalog_api/itemsbyciclass
    • GET /now/cmp_catalog_api/itemsbyrb
    • GET /now/cmp_catalog_api/services
    • GET /now/cmp_catalog_api/stacks
    • GET /now/cmp_catalog_api/status
    • POST /now/cmp_catalog_api/submitoprequest
    • POST /now/cmp_catalog_api/submitrequest
    Proactive Engagement API CREATE /api/sn_pren/self_remediation/experience_issue/create
    Table 5. New client classes and additional methods to existing client classes in the ServiceNow store
    Application App version Class Methods
    openFrameAPI - Client getAWAAgentPresence()
    Table 6. New scoped classes and additional methods to existing scoped classes in the ServiceNow store
    Application App version Class Methods
    sb - Scoped, Global
    • archive()
    • checkout()
    • publish()
    • retire()
    Table 7. New global classes and additional methods to existing global classes in the ServiceNow store
    Application App version Class Methods
    sb - Scoped, Global
    • archive()
    • checkout()
    • publish()
    • retire()
    Table 8. New REST APIs in the ServiceNow store
    Application App version Class Methods
    Accounts Payable Invoice Processing V9.03 AP Invoice API
    • POST sn_spend_intg/ap_invoice/cxml
    • POST sn_spend_intg/ap_invoice/json
    Telecommunication Open APIs V3.0.0 Appointment Open API
    • GET /sn_tmf_api/appointment/appointment
    • GET /sn_tmf_api/appointment/appointment/{id}
    • GET /sn_tmf_api/appointment/searchTimeSlot
    • DELETE /sn_tmf_api/appointment/appointment/{id}
    • PATCH /sn_tmf_api/appointment/appointment/{id}
    • POST /sn_tmf_api/appointment/appointment
    Proactive Engagement V1.0 Proactive Engagement API CREATE /sn_pren/self_remediation/experience_issue/create
    Telecommunication Open APIs V2.1.0 Product Catalog Open API
    • DELETE /sn_tmf_api/catalogmanagement/productOffering/{id}
    • DELETE /sn_tmf_api/catalogmanagement/productSpecification/{id}
    • PATCH /sn_tmf_api/catalogmanagement/productOffering/{id}
    • PATCH /sn_tmf_api/catalogmanagement/productSpecification/{id}
    Telecommunication Open APIs V2.1.0 Resource Inventory Open API Added support for Cable, Strand, and Topology tables. This change is reflected in the @type, id, and resourceRelationship.resource property descriptions.
    • DELETE /sn_ni_core/resource/{id}
    • GET /sn_ni_core/resource
    • GET /sn_ni_core/resource/{id}
    • PATCH /sn_ni_core/resource/{id}
    • POST /sn_ni_core/resource
    • POST /sn_ni_core/resourceinventoryviatemplate
    Telecommunication Open APIs V2.1.0 Service Test Management Open API
    • GET /sn_sprb_mgmt/servicetestmanagement/serviceTest
    • GET /sn_sprb_mgmt/servicetestmanagement/serviceTest/{id}
    • GET /sn_sprb_mgmt/servicetestmanagement/serviceTestSpecification
    • GET /sn_sprb_mgmt/servicetestmanagement/serviceTestSpecification/{id}
    • PATCH /sn_sprb_mgmt/servicetestmanagement/serviceTest/{id}
    • PATCH /sn_sprb_mgmt/servicetestmanagement/serviceTestSpecification/{id}
    • POST /sn_sprb_mgmt/servicetestmanagement/serviceTest
    • POST /sn_sprb_mgmt/servicetestmanagement/serviceTestSpecification
    Threat Intelligence Security Center for Security Operations V3.5.0 TISC API POST /sn_sec_tisc/threat_intel_data/add_observables

    Changed in this release

    Table 9. Changed scoped classes in Xanadu
    Class Methods
    HistoryWalker - Scoped, Global Added parameter for specifying the type of history walker implementation to use.

    HistoryWalker()

    Table 10. Changed global classes in Xanadu
    Class Methods
    GlideAggregate - Global Added support for dynamic schema.
    • addAggregate()
    • addHaving()
    • getValue()
    • groupBy()
    • orderBy()
    • orderByAggregate()
    GlideRecord - Global Added support for dynamic schema.
    • addQuery()
    • getDisplayValue()
    • getValue()
    • orderBy()
    • orderByDesc()
    • setDisplayValue()
    • setValue()
    HistoryWalker - Scoped, Global Added parameter for specifying the type of history walker implementation to use.

    HistoryWalker()

    Table 11. Changed REST APIs in Xanadu
    Class Methods
    AWA Manual Assignment API Added new request body parameters.

    POST /awa/workitems/{work_item_sys_id}/assignments

    Continuous Integration/Continuous Delivery (CICD) API Added new optional query parameters for specifying whether to run a test suite as a performance test and in Cloud Runner.

    POST /sn_cicd/testsuite/run

    Table 12. Changed scoped classes in the ServiceNow store
    Application App version Class Methods
    Lead to Cash Core V1.3.1 LeadtoCashCore - Scoped The LeadtoCashCore script include is enhanced to support reconfiguration use cases:
    • createInstance() - Returns _state identifying whether the entity record is in an active or inactive state.
    • delta() - additionalParams now supports the ability to ignore attributes to compare in source and dirtyJSONs.
    • effect() - additionalParams now supports the ability to provide context variable keys instead of dictionary field names. Additionally, effect() returns the _state parameter identifying whether the entity record is in an active or inactive state.
    Lead to Cash Core V2.0.0 LeadtoCashCore - Scoped commitInstance() now returns the dataObject object which displays the status of an asynchronous transaction for users to review and submit the transaction for further fulfillment.
    Table 13. Changed client APIs in the ServiceNow store
    Class Methods
    CSM Openframe V1.0 openFrameAPI - Client Added workitem_rejected and workitem_accepted response payloads.

    subscribe()

    CSM Openframe V1.1 openFrameAPI - Client Added isAutoAccepted flag in response payloads.

    subscribe()

    Table 14. Changed REST APIs in the ServiceNow store
    Application App version Class Methods
    Customer Contracts and Entitlements V4.0 Service Contract API Product specification information and automatically generated identification number were added to the following endpoints:
    • GET /sn_pss_core/servicecontract/{id}
    • GET /sn_pss_core/servicecontract/contractline/{id}
    • POST /sn_pss_core/servicecontract
    • POST /sn_pss_core/servicecontract/contractline
    Entitlements Verification V2.0 Verify Entitlements API Product specification information and automatically generated identification number were added to the following endpoints:
    • GET /sn_ent_verify/verifyentitlements
    • GET /sn_ent_verify/verifyentitlements/getEntitlementCharacteristic/{id}
    Telecommunication Open APIs V2.1.0 Service Order Open API
    • For all endpoints, the namespace and endpoint paths changed from sn_ind_tmt_ord to sn_tmf_api.
    • The following methods return two new parameters, href and orderDate.
      • GET /sn_tmf_api/order/serviceOrder
      • POST /sn_tmf_api/order/serviceOrder/cancelserviceorder
      • Service Order Open API – POST /sn_tmf_api/order/serviceOrder
      • POST /sn_tmf_api/order/serviceOrder/outboundresponse
    Telecommunication Open APIs V2.1.0 Product Catalog Open API
    • For all endpoints, the namespace and endpoint paths changed from sn_ind_tmt_ord to sn_tmf_api.
    • productOffering methods return two new optional parameters, href and lifecycleStatus:
      • GET /sn_tmf_api/catalogmanagement/productOffering
      • GET /sn_tmf_api/catalogmanagement/productOffering/{id}
      • PATCH /sn_tmf_api/catalogmanagement/productOffering/{id}
      • POST /sn_tmf_api/catalogmanagement/productOffering
    • productSpecification methods return three new optional parameters, isBundle, href, and lifecycleStatus:
      • GET /sn_tmf_api/catalogmanagement/productSpecification
      • GET /sn_tmf_api/catalogmanagement/productSpecification/{id}
      • PATCH /sn_tmf_api/catalogmanagement/productSpecification/{id}
      • POST /sn_tmf_api/catalogmanagement/productSpecification
    Threat Intelligence Security Center for Security Operations V3.5.0 TISC API The sort_by and sort_direction request body parameters are no longer supported. Observables returned in the response are sorted by sys_id in ascending order.

    POST /sn_sec_tisc/threat_intel_data/observables

    Workplace Reservation Management WSD Extra Service Request API Added new request body parameter, reservationDateTimeChanged.

    GET /sn_wsd_rsv/reservable/list_reservables/{sys_ids}

    Workplace Reservation Management V2.11.0 WSD Reservable API Added new query parameter, reservation_start_time.

    GET /sn_wsd_rsv/reservable/list_reservables/{sys_ids}

    Workplace Reservation Management V2.11.0 WSD Reservable V2 API Added new query parameter, reservation_start_time.

    POST /sn_wsd_rsv/v2/reservable/list_reservables

    Activation information

    The following APIs are available by default:
    • Cloud Services Catalog API
    • DynamicSchemaAPI
    • GlideAggregate
    • GlideDate
    • GlideDynamicAttributeStore
    • GlideElementAttributeStore
    • GlideRecord
    • HistoryWalker
    • NumberFormatter
    • openFrameAPI
    • PDAutomationProvider
    • PDFGenerationAPI
    • PlaybookExperience
    • Product Catalog Open API
    • Service Order Open API
    The following APIs require plugin activation:
    • The Appointment Open API requires the following plugins to be activated:
      • Appointment Booking (com.snc.appointment_booking)
      • Field Service Management (com.snc.work_management)
      • Field Service Management for Telecommunications (com.sn_fsmt)
      • Telecommunication Open APIs (com.sn_tmf_api)
    • The AWA Manual Assignment API requires the Advanced Work Assignment (com.glide.awa) plugin to be activated.
    • The LeadtoCashCore script include requires the Lead to Cash Core (com.snd.l2c.core) plugin to be activated.
    • The PersonalAuthAPI requires the Personal Authentication (com.snc.sn_ihub_personal_auth) plugin to be activated.
    • The Proactive Engagement API requires the Proactive Engagement (proactive-engagement) plugin to be activated.
    • The PSBPublicAPIUtil requires the Service Exchange for Providers application (sn_sb_pro) and the Service Exchange Base (sn_sb) plugins to be activated.
    • The Resource Inventory Open API requires the Customer Network Inventory Core application (com.app-ni-core) plugin to be activated.
    • The Service Contract API requires the following plugins to be activated:
      • Customer Contracts and Entitlements (com.sn_pss_core)
      • Customer Service Install Base Management (com.snc.install)
      • Product Catalog Management Core (com.sn_prd)
    • The Service Test Management Open API requires the Customer Service Problem Management (com.sn_sprb_mgmt) plugin to be activated.
    • The Verify Entitlements API requires the Entitlement Verification (sn_ent_verify) plugin to be activated.
    • The WSD Extra Service Request API requires the Workplace Reservation Management (com.sn_wsd_rsv) plugin to be activated.
    • The WSD Reservable API requires the Workplace Reservation Management (com.sn_wsd_rsv) plugin to be activated.
    • The WSD Reservable V2 API requires the Workplace Reservation Management (com.sn_wsd_rsv) plugin to be activated.