---
sourceDocument: Yokohama API Reference
sourceDocumentLink: https://servicenow-prod.fluidtopics.net/r/yokohama/api-reference

 Release :

    - yokohama

ft:locale :

    - en-US

ft:publication_title :

    - Yokohama API Reference

ft:clusterId :

    - crapiref

bundleId :

    - crapiref

workflow :

    - Creator


---

# NowSDK architecture

# NowSDK architecture {#ariaid-title1}

Release version: Yokohama  
Updated January 30, 2025  
![](https://www.servicenow.com/docs/portal-asset/ico-clock) 2 minutes to read
Summarize  
![AI sparkle icon](https://servicenow.com/docs/portal-asset/ai-sparkle-icon) 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 NowSDK architecture

The NowSDK is the core component of the Mobile SDK class framework designed for ServiceNow customers.
It provides a comprehensive set of classes, protocols, and functions that enable seamless integration and interaction with your ServiceNow instance through mobile applications.
To leverage the capabilities of NowSDK, you must integrate and initialize its library within your application code.
Show full answer Show less  

## Key Features

* **SDK Initialization and Configuration:** Configure and initialize the SDK to enable its functionalities, including settings retrieval and session management.
* **Authorization and Session Handling:** Simplifies user authentication and session management across your mobile applications.
* **Logging Services:** Built-in logging with configurable log levels and the option to integrate your own logging solution for monitoring SDK and feature service activities.
* **Build and Release Infrastructure:** Supports streamlined development and deployment of mobile applications.

## Primary Feature Services and APIs

* **NowData:** Access public REST APIs of your ServiceNow instance with integrated authentication and session handling.
  * **NowAPIService:** Interact with REST APIs exposed by ServiceNow.
  * **NowAttachmentService:** Upload and query file attachments directly within your iOS apps.
  * **NowGraphQLService:** Use GraphQL queries to fetch data from ServiceNow tables.
  * **NowTableService:** Perform CRUD operations on tables via the REST Table API.
* **NowChat:** Embed native Virtual Agent chat windows with full chat capabilities for Virtual and Live Agent interactions.
  * **NowChatService:** Integrate chat functionalities into your iOS applications easily.
* **NowPush:** Send push notifications related to Virtual Agent and chat features.
  * **NowPushPayload:** Define push notification protocols.
  * **NowPushService:** Manage push notification interactions.
* **NowWeb:** Load ServiceNow-hosted web pages within native web views, supporting seamless user authentication without manual login.
  * **NowWebService:** Browse ServiceNow web content with automatic session handling.

## Practical Benefits for ServiceNow Customers

By integrating the NowSDK into your mobile applications, you can efficiently leverage ServiceNow's REST APIs, chat capabilities, push notifications, and web content within a native environment. This integration simplifies authentication, session management, and logging, enabling you to build robust, user-friendly mobile experiences that fully utilize your ServiceNow instance's capabilities.  
The NowSDK is the top-level entity of the Mobile SDK class
framework.
It contains numerous classes, structures, protocols, type aliases, and functions that
enable you to leverage the significant capabilities provided by the Mobile SDK and your ServiceNow instance. This document focuses on describing
the primary feature services exposed in the Mobile SDK that enable you to
interact with your ServiceNow instance.

To use any of the feature services provided by the Mobile SDK, you must integrate the NowSDK library into your code. You must call the core library to configure and initialize the SDK before using any SDK functionality.

NowSDK provides the following capabilities:

* SDK initialization and settings retrieval and configuration.
* Seamless authorization and user session handling.
* Logging interface. The NowSDK provides logging services to all feature services. By default, log messages are written to system logs using platform-specific functionality. You can control the logging threshold through a parameter that is part of the call to configure the SDK. There's also an option to suppress all log messages generated by the SDK and its feature services (`log level = none`). If you already have your own logging solution in place, the Mobile SDK allows you to use it.
* Build and release infrastructure.

{#mobsdk-ios-nowsdk-arch__ul_e2r_hm5_mqb}  
NowSDK provides the following feature services and associated APIs:

* NowDataEnables third party applications to access the public REST APIs exposed by
  your ServiceNow instance. Development is streamlined because
  NowData utilizes the authentication and session handling features provided by the
  NowSDK.

  * Primary APIs:
    * [NowAPIService](https://servicenow-prod.fluidtopics.net/7HWb0HNVLpZwW_MQDRnrOA#NowAPIServiceiOSAPI "The NowAPIService class provides functions that enable you to perform requests to a specified ServiceNow REST API."): This API provides functionality that enables you to interact with the publicly exposed [REST APIs](https://servicenow-prod.fluidtopics.net/aXidvjgEVmS~V~ZL0h85lQ "REST (REpresentational State Transfer) is a simple stateless architecture that provides standards between computer systems on the web, making it easier for them to communicate with each other.") on your ServiceNow instance.
    * [NowAttachmentService](https://servicenow-prod.fluidtopics.net/Aba9jG~lvjvxz5H_~FVptg#NowAttachmentServiceiOSAPI "The NowAttachmentService class provides functions that enable you to upload and query attachments that are associated with records within a table on a ServiceNow instance."): This API provides functionality to upload and query file attachments on your ServiceNow instance within your iOS application.
    * [NowGraphQLService](https://servicenow-prod.fluidtopics.net/bvj4FDHjI7COjzFKxg8b1Q#NowGraphQLServiceiOSAPI "The NowGraphQLService class provides functions that enable you to make requests using GraphQL queries against data on your ServiceNow instance through its GraphQL REST API."): This API provides functionality that enables you to use GraphQL queries to obtain data from tables within your ServiceNow instance using the ServiceNow REST GraphQL API.
    * [NowTableService](https://servicenow-prod.fluidtopics.net/zNm3xxQusg8lk0wvl8vDKw#NowTableServiceiOSAPI "The NowTableService class provides functions that enable you to perform create, read, update, and delete operations on records of existing ServiceNow tables."): This API provides functionality that enables you to perform create, read, update, and delete (CRUD) operations on existing tables in your ServiceNow instance that are serviced through the ServiceNow REST Table API.
    {#mobsdk-ios-nowsdk-arch__ul_dbt_r45_mqb}
* NowChatEnables you to embed a native [Virtual Agent](https://www.servicenow.com/docs/access?context=virtual-agent-landing-page&version=yokohama&pubname=yokohama-conversational-interfaces&ft:locale=en-US) chat window in your applications. This service includes UI/UX features.

  * Primary APIs:
    * [NowChatService](https://servicenow-prod.fluidtopics.net/paPSdiX75WWj0wM9w9uJsg#NowChatServiceiOSAPI "The NowChatService class provides Virtual and Live Agent chat capabilities."): This API provides Virtual Agent and Live Agent chat capabilities to your iOS applications. Leverage the full-service chat capabilities provided by the ServiceNow platform by simply implementing NowChatService within your application.
    {#mobsdk-ios-nowsdk-arch__ul_gbm_sv5_mqb}
  {#mobsdk-ios-nowsdk-arch__ul_m2g_qv5_mqb}
* NowPushEnables you to send unsolicited messages to your applications that leverage
  the NowChat/Virtual Agent functionality.

  * Primary APIs:
    * [NowPushPayload](https://servicenow-prod.fluidtopics.net/_TDozpmf71~pAakSdz0JAg#NowPushPayloadiOSProtocol "NowPushPayload is a generic protocol you can use to define a push notification protocol within the NowSDK framework."): This is a generic protocol that you can use to define a push notification protocol within the `NowSDK` framework.
    * [NowPushService](https://servicenow-prod.fluidtopics.net/nmzP9s9Sw~bpWkQx6hxczw#NowPushServiceiOSAPI "The NowPushService class provides functions that enable interaction with the Push Notification service."): This API provides functions that enable interaction with the Push Notification service.
    {#mobsdk-ios-nowsdk-arch__ul_ubc_zxt_vrb}
  {#mobsdk-ios-nowsdk-arch__ul_wqy_xxt_vrb}
* NowWebEnables you to load web pages hosted on your ServiceNow instance in a native web view, with support for Cabrillo. It automatically handles user authentication and session management instead of forcing users to log in to the instance via a login
  web page.

  * Primary APIs:
    * [NowWebService](https://servicenow-prod.fluidtopics.net/Tjm3zz0pRA4joQtwhtI0pw#NowWebServiceiOSAPI "The NowWebService class provides functions that enable the browsing of web pages on a ServiceNow instance."): This API provides functionality that enables the browsing of web pages on your ServiceNow instance.
    {#mobsdk-ios-nowsdk-arch__ul_rnh_gw5_mqb}
  {#mobsdk-ios-nowsdk-arch__ul_ws1_fw5_mqb}

