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

 Release :

    - xanadu

ft:locale :

    - en-US

ft:publication_title :

    - Xanadu API Reference

ft:clusterId :

    - crapiref

bundleId :

    - crapiref

workflow :

    - Creator


---

# Mobile SDK API reference - iOS

# Mobile SDK API reference - iOS {#ariaid-title1}

* Release version: Xanadu
* 
* Updated August 1, 2024
* 
* ![](https://www.servicenow.com/docs/portal-asset/ico-clock) 1 minute to read

The Mobile SDK for iOS provides the classes necessary to interface
iOS-based devices with the ServiceNow platform.

It provides classes that enable you to create feature services such as chat, REST API
interface, GraphQL, and web access, that allow you to create interactive applications on any
iOS device.

For additional information on how to implement specific use cases using this API, see the [Mobile SDK Developer Guide - iOS](https://servicenow-prod.fluidtopics.net/bnCugHm0NourazmfmUT_vg "The ServiceNow Mobile SDK enables you to leverage the functionality and resources of the ServiceNow platform within your standalone mobile iOS applications.").
{#MobileSDKiOSAPI__table_qgj_tg2_vpb__entry__2}{#MobileSDKiOSAPI__mobile_SDK_ios-NowAttachmentMetadata_State}{#MobileSDKiOSAPI__mobile_SDK_ios-NowSDKError}

| Type | Description |
|-|-|
| NowAttachmentMetadata.State | Attachment metadata state. Possible values: * available * conditionally * none * pending * unavailable {#MobileSDKiOSAPI__ul_kbl_1mv_1qb} |
| NowSDKError | Errors that can be thrown from the NowSDK module. Values * configurationError * missingAuthorizationProvider * missingPermissionDelegate {#MobileSDKiOSAPI__ul_pbl_glv_1qb} |
[Table 1. Enumeration cases]

{#MobileSDKiOSAPI__table_qgj_tg2_vpb}
* **[FetchConfiguration structure - iOS](https://servicenow-prod.fluidtopics.net/l6lFs6UaAdGVvttsDa2ucw#FetchConfigiOSStructure)**   
  The FetchConfiguration structure provides the ability to define the configuration for fetching records from your ServiceNow instance.
* **[FieldReadConfiguration structure - iOS](https://servicenow-prod.fluidtopics.net/Re~2rn0s~55vWcgvBUKh5g#FieldReadConfigurationiOSStruct)**   
  The FieldReadConfiguration structure enables you to configure which fields to fetch from a ServiceNow instance table and in which format.
* **[FieldWriteOptions class - iOS](https://servicenow-prod.fluidtopics.net/QnzQhyqUjnNQnz_YHU0hhw#FieldWriteOptionsiOSStruct)**   
  The FieldWriteOptions class provides functions that set the options for updating or creating fields in a record on a ServiceNow instance.
* **[Filter structure - iOS](https://servicenow-prod.fluidtopics.net/RU8GNeHrwTSXZYsrdNWpMQ#FilteriOSStructure)**   
  The Filter structure provides the ability to configure filters that define the data to return in the return results of a REST endpoint query.
* **[NowAnalyticsService protocol - iOS](https://servicenow-prod.fluidtopics.net/BbHYbABSv6yhida7B73Hgw#NowAnalyticsServiceiOSProtocol)**   
  The NowAnalyticsService protocol provides functions that enable you to configure analytics properties, user settings, and events for managing the collection of user analytics data.
* **[NowAnalyticsServiceDelegate protocol - iOS](https://servicenow-prod.fluidtopics.net/NODKHm0VZfW_LI0npGr6Pw#NowAnalyticsServiceDeliOSProtocol)**   
  The NowAnalyticsServiceDelegate protocol provides callback functions that provide information about the starting and ending of a user session and screen change detection.
* **[NowAPIEndpoint protocol - iOS](https://servicenow-prod.fluidtopics.net/O4BvX5DygYfVkeV135htVw#NowAPIEndpointiOSProtocol)**   
  The NowAPIEndpoint protocol provides an interface for accessing any publicly exposed ServiceNow REST APIs.
* **[NowAPIService class - iOS](https://servicenow-prod.fluidtopics.net/Gr1Q4dzJQJ291KR8~xiXQg#NowAPIServiceiOSAPI)**   
  The NowAPIService class provides functions that enable you to perform requests to a specified ServiceNow REST API.
* **[NowAttachment structure - iOS](https://servicenow-prod.fluidtopics.net/g7KJD1~RU_nHzDzc18~DNg#NowAttachmentiOSStructure)**   
  The NowAttachment structure provides functions that enable you to validate attachments by comparing their computed hash.
* **[NowAttachmentMetadata structure - iOS](https://servicenow-prod.fluidtopics.net/nwJnh9cBO0AXAggTe2nkCQ#NowAttachmentMetadataiOSStructure)**   
  The NowAttachmentMetadata structure provides functions that enable you to encode and manage attachment metadata.
* **[NowAttachmentService class - iOS](https://servicenow-prod.fluidtopics.net/MsIRssV78dlFdkKVybmzNg#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.
* **[NowAttachmentUploadConfiguration structure - iOS](https://servicenow-prod.fluidtopics.net/KPcSTDQScxtEAhSD~AI6Qg#NowAttachUploadConfigiOSStruct)**   
  The NowAttachmentUploadConfiguration structure enables you to define the configuration information for an attachment that you are uploading to your ServiceNow instance.
* **[NowChat API - iOS](https://servicenow-prod.fluidtopics.net/6_5auQQkdYBrKRp5Pyx82g#NowChatiOSAPI)**   
  The NowChat API is a top-level global API that enables users to instantiate a NowChat service instance.
* **[NowChatColoring protocol - iOS](https://servicenow-prod.fluidtopics.net/p0bcfy_PTXEK3dw47WjfGg#NowChatColoringiOSProtocol)**   
  The NowChatColoring protocol defines default colors for the elements in the Live Agent and Virtual Agent chat UI.
* **[NowChatOptions - iOS](https://servicenow-prod.fluidtopics.net/7~BC1uEmGFjruKxSPwi9pA#NowChatOptionsiOS)**   
  The NowChatOptions class enables you to configure options, such as showing a prompt before closing a chat window or disable features while using chat, on a chat session.
* **[NowChatService class - iOS](https://servicenow-prod.fluidtopics.net/V5g0WnyO4pFrtA3ShZvYew#NowChatServiceiOSAPI)**   
  The NowChatService class provides Virtual and Live Agent chat capabilities.
* **[NowChatServiceDelegate protocol - iOS](https://servicenow-prod.fluidtopics.net/dji6Qd74GrGo~0d~ZpqenA#NowChatServiceDelegateiOSProtocol)**   
  The NowChatServiceDelegate protocol provides callbacks for notification of actions within the NowChatService such as a request to open a URL or dismiss the chat view controller.
* **[NowChatThemeable protocol - iOS](https://servicenow-prod.fluidtopics.net/4ZwPJRhg90LWoWFnZCscrg)**   
  The NowChatThemeable protocol provides properties that enable you to override the colors used within chat pages hosted on your ServiceNow instance.
* **[NowCoreService class - iOS](https://servicenow-prod.fluidtopics.net/Y~IevmLBZx4fxGcoEd~5tQ#NowCoreServiceiOSAPI)**   
  The NowCoreService class provides fundamental services to the various SDK feature services. This class should only be instantiated by NowSDK.
* **[NowData framework - iOS](https://servicenow-prod.fluidtopics.net/5xyuSfr3bYQ3QXRo1VAL5Q#NowDataAPIiOS)**   
  The NowData framework contains methods that enable the instantiation of NowData services, such as NowGraphQLService, NowTableService, NowAPIService (for custom APIs), and NowAttachmentService.
* **[NowGraphQLService class - iOS](https://servicenow-prod.fluidtopics.net/AEmOcE5BY9GRAKMwbs6uoA#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.
* **[NowLoggingService class - iOS](https://servicenow-prod.fluidtopics.net/L37z8YBSGQPtmfoUGlxyaw#NowLoggingServiceiOSAPI)**   
  The NowLoggingService class provides functions that provide logging capabilities to feature services with the NowSDK.
* **[NowPush API - iOS](https://servicenow-prod.fluidtopics.net/rdvZts94iQwDZyp3LRoTvg#NowPushiOSAPI)**   
  The NowPush API is a top-level global API that enables users to instantiate a NowPush service instance.
* **[NowPushPayload protocol](https://servicenow-prod.fluidtopics.net/uVZE4ECVmu9e9nig0nB2UQ#NowPushPayloadiOSProtocol)**   
  NowPushPayload is a generic protocol you can use to define a push notification protocol within the `NowSDK` framework.
* **[NowPushService class - iOS](https://servicenow-prod.fluidtopics.net/bhsSlMGEzTRYOyP_xlw7JA#NowPushServiceiOSAPI)**   
  The NowPushService class provides functions that enable interaction with the Push Notification service.
* **[NowRecord class - iOS](https://servicenow-prod.fluidtopics.net/7jGJ1HNw3Om3z9oWjV0OnQ#NowRecordiOSAPI)**   
  The NowRecord class defines a model that represents a record in a table on a ServiceNow instance.
* **[NowSDK framework - iOS](https://servicenow-prod.fluidtopics.net/4_zGfXKAwRDISW2iPsr1eg#NowSDKAPIiOS)**   
  The NowSDK framework contains methods that enable the instantiation of various feature services.
* **[NowSDKConfiguration class - iOS](https://servicenow-prod.fluidtopics.net/ULAAiXF2mQ0oV8KZVmHXBA#NowSDKConfigurationiOSAPI)**   
  The NowSDKConfiguration class contains configuration information needed to initialize the NowSDK.
* **[NowService protocol - iOS](https://servicenow-prod.fluidtopics.net/_vkGd0wUgkXdLiQytHy27A#NowServiceiOSProtocol)**   
  The NowService protocol provides a single interface to the NowSDK for all feature services. It defines the configuration parameters needed to access your ServiceNow instance.
* **[NowServiceConfiguration structure - iOS](https://servicenow-prod.fluidtopics.net/A6W2zQ0fOO_VQ9lbo3VKwQ#NowServiceConfigurationiOSStruct)**   
  The NowServiceConfiguration structure defines configuration information for a feature service.
* **[NowTableService class - iOS](https://servicenow-prod.fluidtopics.net/Mg9nOO4u3WPRvIqz4t9SUw#NowTableServiceiOSAPI)**   
  The NowTableService class provides functions that enable you to perform create, read, update, and delete operations on records of existing ServiceNow tables.
* **[NowWeb API - iOS](https://servicenow-prod.fluidtopics.net/lpSf1GZxKI1TW3V~62_KmQ#NowWebiOSAPI)**   
  The NowWeb API is a top-level global API that enables uses to instantiate a NowWeb service instance.
* **[NowWebColoring protocol - iOS](https://servicenow-prod.fluidtopics.net/QjpYifXAlKz6KYrDkWdnwQ)**   
  The NowWebColoring protocol provides default values for the colors used within web pages hosted on your ServiceNow instance in a native web view.
* **[NowWebService class - iOS](https://servicenow-prod.fluidtopics.net/xTRuNcuq8HezUwGuCPkEpA#NowWebServiceiOSAPI)**   
  The NowWebService class provides functions that enable the browsing of web pages on a ServiceNow instance.
* **[NowWebThemeable protocol - iOS](https://servicenow-prod.fluidtopics.net/tnrimlkuyE5LdmZT0XBA1w)**   
  The NowWebThemeable protocol provides properties that enable you to override the colors used within web pages hosted on your ServiceNow instance in a native web view.
* **[NowWebViewController class - iOS](https://servicenow-prod.fluidtopics.net/kQ_D9LfG2KCD4f7fcd7ZkQ#NWebViewControlleriOSAPI)**   
  The NowWebViewController class provides functions that enable you to manage a web viewer.
* **[NowWebViewControllerDelegate protocol - iOS](https://servicenow-prod.fluidtopics.net/OIXzyp9YuwKtSK9cBZM0xQ#NWViewControllerDelegateiOSProtocol)**   
  The NowWebViewControllerDelegate protocol provides callbacks for notification of issues within the NowWebViewController processing such as when a flow ends or a navigation fails.
* **[Paginator API - iOS](https://servicenow-prod.fluidtopics.net/2PI_SgczzCsJPmA6W~Hulw#PaginatorIOSAPI)**   
  The Paginator class provides methods for iterating through a record set returned by a call to the ServiceNow Table API through the NowTableService. It is the object that is returned by the NowTableService paginator() methods. Do not call this method outside of that environment.
* **[SNMobileAnalytics API](https://servicenow-prod.fluidtopics.net/y3wFtKI9hmxTbRucblauEQ#SNMobileAnalytics)**   
  The SNMobileAnalytics API provides methods that you can call within a WebView using JavaScript. These methods enable you to push custom analytics data (events, pages, and user properties) to the User Experience Analytics for Service Portal dashboard.

