
## Generate document
---
This method generates the document that is defined for the provided slug. Inserts are processed.
  
| | **iOS SDK** | **Android SDK** | **React Native SDK** | **Flutter SDK** |
| --- | --- | --- | --- | --- |
| <span style="color:green">Introduced in:</span> | 4.13.0 | 5.5.0 | 0.17.0 | 0.6.0 |


<div class="admonition admonition-note"><div class="admonition-icon"><svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2.5"><path stroke-linecap="round" stroke-linejoin="round" d="M13 16h-1v-4h-1m1-4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z" /></svg></div><div class="admonition-body"><div class="admonition-content">

The API key must have the `SCHEMA_SERVICE_SCHEMA_READ` permission from the **Schema** group.

</div></div></div>

**Declared In:**  
Headers/SNRContent.h
  
**Related To:**  
[Document](/developers/mobile-sdk/class-reference/ios/recommendations-and-documents#document)  

**Class:**  
[Content](/developers/mobile-sdk/class-reference/ios/modules#content)
  
**Declaration:**

<div class="content-tabs code-tabs" data-tab-group="tabgrp-1126">
<div class="tab-buttons"><button class="tab-button" data-tab-id="tabgrp-1126-0" data-tab-group="tabgrp-1126" data-tab-active="true">Swift</button><button class="tab-button" data-tab-id="tabgrp-1126-1" data-tab-group="tabgrp-1126">Objective-C</button></div>

<div class="tab-panel" data-tab-id="tabgrp-1126-0" data-tab-group="tabgrp-1126" data-tab-active="true">

```Swift
static func generateDocument(slug: String, success: ((Document) -> Void), failure: ((ApiError) -> Void)) -> Void
```

</div>

<div class="tab-panel" data-tab-id="tabgrp-1126-1" data-tab-group="tabgrp-1126">

```Objective-C
+ (void)generateDocument:(NSString *)slug success:(nonnull void (^)(SNRDocument *document))success failure:(nonnull void (^)(NSError *error))failure
```

</div>
</div>

  
**Parameters:**
| Parameter | Type | Mandatory | Default | Description |
| --- | --- | --- | --- | --- |
| **slug** | String | yes | - | Slug of the document |
| **success** | (([Document](/developers/mobile-sdk/class-reference/ios/recommendations-and-documents#document)) -> Void) | yes | - | Closure/Block to be executed when the operation is completed successfully |
| **failure** | (([SNRApiError](/developers/mobile-sdk/class-reference/ios/miscellaneous#snrapierror)]) -> Void) | yes | - | Closure/Block to be executed when the operation is completed with an error |
  
**Return Value:**
No value is returned.
  
**Example:**

<div class="content-tabs code-tabs" data-tab-group="tabgrp-1127">
<div class="tab-buttons"><button class="tab-button" data-tab-id="tabgrp-1127-0" data-tab-group="tabgrp-1127" data-tab-active="true">Swift</button><button class="tab-button" data-tab-id="tabgrp-1127-1" data-tab-group="tabgrp-1127">Objective-C</button></div>

<div class="tab-panel" data-tab-id="tabgrp-1127-0" data-tab-group="tabgrp-1127" data-tab-active="true">

```Swift
let slug = "similar"
Content.generateDocument(slug: slug, success: { document in
  // success
}) { error in
  // failure
}
```

</div>

<div class="tab-panel" data-tab-id="tabgrp-1127-1" data-tab-group="tabgrp-1127">

```Objective-C
NSString *slug = @"similar";
[SNRContent generateDocument:slug success:^(NSDictionary *document) {
  // success
} failure:^(SNRApiError *error) {
  // failure
}]
```

</div>
</div>
 

## Generate document with query parameters
---
This method generates the document that is defined for the parameters provided in the query object.
  
| | **iOS SDK** | **Android SDK** | **React Native SDK** | **Flutter SDK** |
| --- | --- | --- | --- | --- |
| <span style="color:green">Introduced in:</span> | 4.18.0 | 5.19.0 | 0.22.0 | 1.2.0 |
  

<div class="admonition admonition-note"><div class="admonition-icon"><svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2.5"><path stroke-linecap="round" stroke-linejoin="round" d="M13 16h-1v-4h-1m1-4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z" /></svg></div><div class="admonition-body"><div class="admonition-content">

The API key must have the `SCHEMA_SERVICE_SCHEMA_READ` permission from the **Schema** group.

</div></div></div>

**Declared In:**  
Headers/SNRContent.h
  
**Related To:**  
[DocumentApiQuery](/developers/mobile-sdk/class-reference/ios/recommendations-and-documents#documentapiquery)  
[Document](/developers/mobile-sdk/class-reference/ios/recommendations-and-documents#document)  

**Class:**  
[Content](/developers/mobile-sdk/class-reference/ios/modules#content)
  
**Declaration:**

<div class="content-tabs code-tabs" data-tab-group="tabgrp-1128">
<div class="tab-buttons"><button class="tab-button" data-tab-id="tabgrp-1128-0" data-tab-group="tabgrp-1128" data-tab-active="true">Swift</button><button class="tab-button" data-tab-id="tabgrp-1128-1" data-tab-group="tabgrp-1128">Objective-C</button></div>

<div class="tab-panel" data-tab-id="tabgrp-1128-0" data-tab-group="tabgrp-1128" data-tab-active="true">

```Swift
static func generateDocument(apiQuery: DocumentApiQuery, success: ((Document) -> Void), failure: ((ApiError) -> Void)) -> Void
```

</div>

<div class="tab-panel" data-tab-id="tabgrp-1128-1" data-tab-group="tabgrp-1128">

```Objective-C
+ (void)generateDocumentWithApiQuery:(SNRDocumentApiQuery *)apiQuery success:(void (^)(SNRDocument *document))success failure:(void (^)(SNRApiError *error))failure
```

</div>
</div>

  
**Parameters:**
| Parameter | Type | Mandatory | Default | Description |
| --- | --- | --- | --- | --- |
| **apiQuery** | [DocumentApiQuery](/developers/mobile-sdk/class-reference/ios/recommendations-and-documents#documentapiquery) | yes | - | Object that stores all query parameters |
| **success** | (([Document](/developers/mobile-sdk/class-reference/ios/recommendations-and-documents#document)) -> Void) | yes | - | Closure/Block to be executed when the operation is completed successfully |
| **failure** | (([SNRApiError](/developers/mobile-sdk/class-reference/ios/miscellaneous#snrapierror)]) -> Void) | yes | - | Closure/Block to be executed when the operation is completed with an error |
  
**Return Value:**
No value is returned. 

## Get recommendations (v2)
---
This method generates recommendations that are defined for the options provided. The recommendations are generated by using a document with an insert.  

For instructions, see ["Displaying AI recommendations > With documents and screen views"](/developers/mobile-sdk/displaying-recommendations/documents).
  
| | **iOS SDK** | **Android SDK** | **React Native SDK** | **Flutter SDK** |
| --- | --- | --- | --- | --- |
| <span style="color:green">Introduced in:</span> | 4.13.0 | 5.5.0 | 0.17.0 | 0.6.0 |
  

<div class="admonition admonition-note"><div class="admonition-icon"><svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2.5"><path stroke-linecap="round" stroke-linejoin="round" d="M13 16h-1v-4h-1m1-4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z" /></svg></div><div class="admonition-body"><div class="admonition-content">

The API key must have the `SCHEMA_SERVICE_SCHEMA_READ` permission from the **Schema** group.

</div></div></div>

**Declared In:**  
Headers/SNRContent.h
  
**Related To:**  
[RecommendationApiQuery](/developers/mobile-sdk/class-reference/ios/recommendations-and-documents#recommendationapiquery)  
[RecommendationResponse](/developers/mobile-sdk/class-reference/ios/recommendations-and-documents#recommendationresponse)

**Class:**  
[Content](/developers/mobile-sdk/class-reference/ios/modules#content)

**Declaration:**  

<div class="content-tabs code-tabs" data-tab-group="tabgrp-1129">
<div class="tab-buttons"><button class="tab-button" data-tab-id="tabgrp-1129-0" data-tab-group="tabgrp-1129" data-tab-active="true">Swift</button><button class="tab-button" data-tab-id="tabgrp-1129-1" data-tab-group="tabgrp-1129">Objective-C</button></div>

<div class="tab-panel" data-tab-id="tabgrp-1129-0" data-tab-group="tabgrp-1129" data-tab-active="true">

```Swift
static func getRecommendationsV2(apiQuery: RecommendationApiQuery, success: ((RecommendationResponse) -> Void), failure: ((ApiError) -> Void)) -> Void
```

</div>

<div class="tab-panel" data-tab-id="tabgrp-1129-1" data-tab-group="tabgrp-1129">

```Objective-C
+ (void)getRecommendationsV2:(SNRRecommendationApiQuery *)apiQuery success:(nullable void (^)(SNRRecommendationResponse *recommendationResponse))success failure:(nullable void (^)(NSError *error))failure
```

</div>
</div>


  
**Parameters:**  
| Parameter | Type | Mandatory | Default | Description |
| --- | --- | --- | --- | --- |
| **apiQuery** | [RecommendationApiQuery](/developers/mobile-sdk/class-reference/ios/recommendations-and-documents#recommendationapiquery) | yes | - | Query for recommendations |
| **success** | ((RecommendationResponse) -> Void) | yes | - | Closure/Block to be executed when the operation is completed successfully |
| **failure** | (([SNRApiError](/developers/mobile-sdk/class-reference/ios/miscellaneous#snrapierror)]) -> Void) | yes | - | Closure/Block to be executed when the operation is completed with an error |
  
**Return Value:**  
No value is returned.
  
**Example:**  

<div class="content-tabs code-tabs" data-tab-group="tabgrp-1130">
<div class="tab-buttons"><button class="tab-button" data-tab-id="tabgrp-1130-0" data-tab-group="tabgrp-1130" data-tab-active="true">Swift</button><button class="tab-button" data-tab-id="tabgrp-1130-1" data-tab-group="tabgrp-1130">Objective-C</button></div>

<div class="tab-panel" data-tab-id="tabgrp-1130-0" data-tab-group="tabgrp-1130" data-tab-active="true">

```Swift
let apiQuery: RecommendationApiQuery = RecommendationApiQuery()
apiQuery.slug = "similar"
apiQuery.productID = "1"
Content.getRecommendationsV2(apiQuery: apiQuery, success: { (recommendationResponse) in
  // success
}) { (error) in
  // failure
}
```

</div>

<div class="tab-panel" data-tab-id="tabgrp-1130-1" data-tab-group="tabgrp-1130">

```Objective-C
SNRRecommendationApiQuery *apiQuery = [SNRRecommendationApiQuery new];
apiQuery.slug = @"similar";
apiQuery.productID = "1";
[SNRContent getRecommendationsV2:apiQuery success:^(SNRRecommendationResponse *recommendationResponse) {
  // success
} failure:^(SNRApiError *error) {
  // failure
}]
```

</div>
</div>
 

## Generate screen view
---
This method generates a customer's highest-priority screen view campaign from the feed with the provided feed slug.
  
| | **iOS SDK** | **Android SDK** | **React Native SDK** | **Flutter SDK** |
| --- | --- | --- | --- | --- |
| <span style="color:green">Introduced in:</span> | 4.13.0 | 5.5.0 | 0.17.0 | 0.6.0 |
  

<div class="admonition admonition-note"><div class="admonition-icon"><svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2.5"><path stroke-linecap="round" stroke-linejoin="round" d="M13 16h-1v-4h-1m1-4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z" /></svg></div><div class="admonition-body"><div class="admonition-content">

The API key must have the `SCHEMA_SERVICE_SCHEMA_READ` permission from the **Schema** group.

</div></div></div>

**Declared In:**  
Headers/SNRContent.h
  
**Related To:**  
[ScreenView](/developers/mobile-sdk/class-reference/ios/miscellaneous#screenview)  
  
**Class:**  
[Content](/developers/mobile-sdk/class-reference/ios/modules#content)
  
**Declaration:**  

<div class="content-tabs code-tabs" data-tab-group="tabgrp-1131">
<div class="tab-buttons"><button class="tab-button" data-tab-id="tabgrp-1131-0" data-tab-group="tabgrp-1131" data-tab-active="true">Swift</button><button class="tab-button" data-tab-id="tabgrp-1131-1" data-tab-group="tabgrp-1131">Objective-C</button></div>

<div class="tab-panel" data-tab-id="tabgrp-1131-0" data-tab-group="tabgrp-1131" data-tab-active="true">

```Swift
static func generateScreenView(feedSlug: String, success: ((ScreenView) -> Void), failure: ((ApiError) -> Void)) -> Void
```

</div>

<div class="tab-panel" data-tab-id="tabgrp-1131-1" data-tab-group="tabgrp-1131">

```Objective-C
+ (void)generateScreenView:(NSString *)feedSlug success:(nonnull void (^)(SNRScreenView *screenView))success failure:(nonnull void (^)(SNRApiError *error))failure
```

</div>
</div>

  
**Parameters:**  
| Parameter | Type | Mandatory | Default | Description |
| --- | --- | --- | --- | --- |
| **feedSlug** | String | yes | - | Identifies a specific screen view feed |
| **success** | (([ScreenView](/developers/mobile-sdk/class-reference/ios/miscellaneous#screenview)) -> Void) | yes | - | Closure/Block to be executed when the operation is completed successfully |
| **failure** | (([SNRApiError](/developers/mobile-sdk/class-reference/ios/miscellaneous#snrapierror)]) -> Void) | yes | - | Closure/Block to be executed when the operation is completed with an error |
  
**Return Value:**  
No value is returned. 

## Generate screen view with query parameters
---
This method generates customer's highest-priority screen view campaign that is defined for parameters provided in the query object.
**Declared In:**  
Headers/SNRContent.h
  
**Related To:**  
[ScreenViewApiQuery](/developers/mobile-sdk/class-reference/ios/miscellaneous#screenviewapiquery)  
[ScreenView](/developers/mobile-sdk/class-reference/ios/miscellaneous#screenview)  
  
**Class:**  
[Content](/developers/mobile-sdk/class-reference/ios/modules#content)
  
**Declaration:**  

<div class="content-tabs code-tabs" data-tab-group="tabgrp-1132">
<div class="tab-buttons"><button class="tab-button" data-tab-id="tabgrp-1132-0" data-tab-group="tabgrp-1132" data-tab-active="true">Swift</button><button class="tab-button" data-tab-id="tabgrp-1132-1" data-tab-group="tabgrp-1132">Objective-C</button></div>

<div class="tab-panel" data-tab-id="tabgrp-1132-0" data-tab-group="tabgrp-1132" data-tab-active="true">

```Swift
static func generateScreenView(apiQuery: ScreenViewApiQuery, success: ((ScreenView) -> Void), failure: ((ApiError) -> Void)) -> Void
```

</div>

<div class="tab-panel" data-tab-id="tabgrp-1132-1" data-tab-group="tabgrp-1132">

```Objective-C
+ (void)generateScreenViewWithApiQuery:(SNRScreenViewApiQuery *)apiQuery success:(void (^)(SNRScreenView *screenView))success failure:(void (^)(SNRApiError *error))failure
```

</div>
</div>

  
**Parameters:**  
| Parameter | Type | Mandatory | Default | Description |
| --- | --- | --- | --- | --- |
| **apiQuery** | [ScreenViewApiQuery](/developers/mobile-sdk/class-reference/ios/miscellaneous#screenviewapiquery) | yes | - | Object that stores all query parameters |
| **success** | (([ScreenView](/developers/mobile-sdk/class-reference/ios/miscellaneous#screenview)) -> Void) | yes | - | Closure/Block to be executed when the operation is completed successfully |
| **failure** | (([SNRApiError](/developers/mobile-sdk/class-reference/ios/miscellaneous#snrapierror)]) -> Void) | yes | - | Closure/Block to be executed when the operation is completed with an error |
  
**Return Value:**  
No value is returned. 

## Generate Brickworks
---
This method generates content from a published version of a [Brickworks](/docs/assets/brickworks) record. Inserts and fields which require a customer context fetch it automatically from the current user.

The output is a JSON object with a response from the Brickworks API. See [/brickworks/v1/schemas/{SchemaIdentifier}/records/{RecordIdentifier}/generate](https://hub.synerise.com/api-reference/brickworks#tag/Brickworks:-Content-generation/operation/generateObject).

|                                                 | **iOS SDK** | **Android SDK** | **React Native SDK** | **Flutter SDK** |
| ----------------------------------------------- | ----------- | --------------- | -------------------- | --------------- |
| <span style="color:green">Introduced in:</span> | 5.8.1        | 6.8.0           | 1.6.0                | 2.6.0            |


<div class="admonition admonition-note"><div class="admonition-icon"><svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2.5"><path stroke-linecap="round" stroke-linejoin="round" d="M13 16h-1v-4h-1m1-4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z" /></svg></div><div class="admonition-body"><div class="admonition-content">

The API key must have the `BRICKWORKS_RECORDS_READ` permission from the **RECORDS** group.

</div></div></div>

**Declared In:**  
Headers/SNRContent.h

**Related To:**  
[BrickworksApiQuery](/developers/mobile-sdk/class-reference/ios/miscellaneous#brickworksapiquery)
 
**Class:**  
[Content](/developers/mobile-sdk/class-reference/ios/modules#content)

**Declaration:**  

<div class="content-tabs" data-tab-group="tabgrp-1139">
<div class="tab-buttons"><button class="tab-button" data-tab-id="tabgrp-1139-0" data-tab-group="tabgrp-1139" data-tab-active="true">Swift</button><button class="tab-button" data-tab-id="tabgrp-1139-1" data-tab-group="tabgrp-1139">Objective-C</button></div>

<div class="tab-panel" data-tab-id="tabgrp-1139-0" data-tab-group="tabgrp-1139" data-tab-active="true">

<pre><code class="language-swift">static func generateBrickworks(apiQuery: BrickworksApiQuery, success: (([String: Any]) -&gt; Void), failure: ((ApiError) -&gt; Void)) -&gt; Void</code></pre>

</div>

<div class="tab-panel" data-tab-id="tabgrp-1139-1" data-tab-group="tabgrp-1139">

<pre><code class="language-objective-c">+ (void)generateBrickworks:(SNRBrickworksApiQuery *)apiQuery success:(void (^)(NSDictionary *))success failure:(void (^)(SNRApiError *error))failure</code></pre>

</div>
</div>


**Parameters:**

**Parameters:**  
| Parameter | Type | Mandatory | Default | Description |
| --- | --- | --- | --- | --- |
| **apiQuery** | [BrickworksApiQuery](/developers/mobile-sdk/class-reference/ios/miscellaneous#brickworksapiquery) | yes | - | Object that stores all query parameters |
| **success** | () -> Void) | yes | - | Closure/Block to be executed when the operation is completed successfully |
| **failure** | (([SNRApiError](/developers/mobile-sdk/class-reference/ios/miscellaneous#snrapierror)]) -> Void) | yes | - | Closure/Block to be executed when the operation is completed with an error |

**Return Value:**  
Object with content generated from a record. 

## Removed methods

### <del>Get document</del> {#get-document}
---
This method generates the document that is defined for the provided slug.
  
| | **iOS SDK** | **Android SDK** | **React Native SDK** | **Flutter SDK** |
| --- | --- | --- | --- | --- |
| <span style="color:green">Introduced in:</span> | 3.4.8 | 3.4.2 | 0.9.10 | 0.2.0 |
| <span style="color:orange">Deprecated in:</span> | 4.13.0 | 5.5.0 | 0.17.0 | 0.6.0 |
| <span style="color:red">Removed in:</span> | 5.0.0 | 6.0.0 | 1.0.0 | 2.0.0 |


<div class="admonition admonition-note"><div class="admonition-icon"><svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2.5"><path stroke-linecap="round" stroke-linejoin="round" d="M13 16h-1v-4h-1m1-4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z" /></svg></div><div class="admonition-body"><div class="admonition-content">

The API key must have the `SCHEMA_SERVICE_DOCUMENT_READ` permission from the **Document** group.

</div></div></div>

**Replaced By:**  
[Generate document](/developers/mobile-sdk/method-reference/ios/content#generate-document) and [Generate document with query parameters](/developers/mobile-sdk/method-reference/ios/content#generate-document-with-query-parameters)

**Declared In:**  
Headers/SNRContent.h
  
**Class:**  
[Content](/developers/mobile-sdk/class-reference/ios/modules#content)
  
**Declaration:**

<div class="content-tabs code-tabs" data-tab-group="tabgrp-1133">
<div class="tab-buttons"><button class="tab-button" data-tab-id="tabgrp-1133-0" data-tab-group="tabgrp-1133" data-tab-active="true">Swift</button><button class="tab-button" data-tab-id="tabgrp-1133-1" data-tab-group="tabgrp-1133">Objective-C</button></div>

<div class="tab-panel" data-tab-id="tabgrp-1133-0" data-tab-group="tabgrp-1133" data-tab-active="true">

```Swift
static func getDocument(slug: String, success: (([AnyHashable: Any]) -> Void), failure: ((ApiError) -> Void)) -> Void
```

</div>

<div class="tab-panel" data-tab-id="tabgrp-1133-1" data-tab-group="tabgrp-1133">

```Objective-C
+ (void)getDocument:(NSString *)slug success:(nonnull void (^)(NSDictionary *document))success failure:(nonnull void (^)(NSError *error))failure
```

</div>
</div>

  
**Parameters:**
| Parameter | Type | Mandatory | Default | Description |
| --- | --- | --- | --- | --- |
| **slug** | String | yes | - | Slug of the document |
| **success** | (([AnyHashable: Any]) -> Void) | yes | - | Closure/Block to be executed when the operation is completed successfully |
| **failure** | (([SNRApiError](/developers/mobile-sdk/class-reference/ios/miscellaneous#snrapierror)]) -> Void) | yes | - | Closure/Block to be executed when the operation is completed with an error |
  
**Return Value:**
No value is returned.
  
**Example:**

<div class="content-tabs code-tabs" data-tab-group="tabgrp-1134">
<div class="tab-buttons"><button class="tab-button" data-tab-id="tabgrp-1134-0" data-tab-group="tabgrp-1134" data-tab-active="true">Swift</button><button class="tab-button" data-tab-id="tabgrp-1134-1" data-tab-group="tabgrp-1134">Objective-C</button></div>

<div class="tab-panel" data-tab-id="tabgrp-1134-0" data-tab-group="tabgrp-1134" data-tab-active="true">

```Swift
let slug = "similar"
Content.getDocument(slug: slug, success: { document in
  // success
}) { error in
  // failure
}
```

</div>

<div class="tab-panel" data-tab-id="tabgrp-1134-1" data-tab-group="tabgrp-1134">

```Objective-C
NSString *slug = @"similar";
[SNRContent getDocument:slug success:^(NSDictionary *document) {
  // success
} failure:^(SNRApiError *error) {
  // failure
}]
```

</div>
</div>
 

### <del>Get documents</del> {#get-documents}
---
This method generates documents that are defined for parameters provided in the query object.

| | **iOS SDK** | **Android SDK** | **React Native SDK** | **Flutter SDK** |
| --- | --- | --- | --- | --- |
| <span style="color:red">Removed in:</span> | 5.0.0 | 6.0.0 | 1.0.0 | 2.0.0 |


<div class="admonition admonition-note"><div class="admonition-icon"><svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2.5"><path stroke-linecap="round" stroke-linejoin="round" d="M13 16h-1v-4h-1m1-4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z" /></svg></div><div class="admonition-body"><div class="admonition-content">

The API key must have the `SCHEMA_SERVICE_DOCUMENT_READ` permission from the **Document** group.

</div></div></div>

**Declared In:**  
Headers/SNRContent.h
  
**Related To:**  
[DocumentsApiQuery](/developers/mobile-sdk/class-reference/ios/recommendations-and-documents#documentsapiquery)
  
**Class:**  
[Content](/developers/mobile-sdk/class-reference/ios/modules#content)
  
**Declaration:**  

<div class="content-tabs code-tabs" data-tab-group="tabgrp-1135">
<div class="tab-buttons"><button class="tab-button" data-tab-id="tabgrp-1135-0" data-tab-group="tabgrp-1135" data-tab-active="true">Swift</button><button class="tab-button" data-tab-id="tabgrp-1135-1" data-tab-group="tabgrp-1135">Objective-C</button></div>

<div class="tab-panel" data-tab-id="tabgrp-1135-0" data-tab-group="tabgrp-1135" data-tab-active="true">

```Swift
static func getDocuments(apiQuery: DocumentsApiQuery, success: (([[AnyHashable: Any]]) -> Void), failure: ((ApiError) -> Void)) -> Void
```

</div>

<div class="tab-panel" data-tab-id="tabgrp-1135-1" data-tab-group="tabgrp-1135">

```Objective-C
+ (void)getDocumentsWithApiQuery:(SNRDocumentsApiQuery *)apiQuery success:(nonnull void (^)(NSArray *documents))success failure:(nonnull void (^)(NSError *error))failure
```

</div>
</div>

  
**Parameters:**  
| Parameter | Type | Mandatory | Default | Description |
| --- | --- | --- | --- | --- |
| **apiQuery** | [DocumentsApiQuery](/developers/mobile-sdk/class-reference/ios/recommendations-and-documents#documentsapiquery) | yes | - | Object that stores all query parameters |
| **success** | (([[AnyHashable: Any]]) -> Void) | yes | - | Closure/Block to be executed when the operation is completed successfully |
| **failure** | (([SNRApiError](/developers/mobile-sdk/class-reference/ios/miscellaneous#snrapierror)]) -> Void) | yes | - | Closure/Block to be executed when the operation is completed with an error |
  
**Return Value:**  
No value is returned. 

### <del>Get recommendations</del> {#get-recommendations}
---
This method generates recommendations that are defined for the options provided.

| | **iOS SDK** | **Android SDK** | **React Native SDK** | **Flutter SDK** |
| --- | --- | --- | --- | --- |
| <span style="color:red">Removed in:</span> | 5.0.0 | 6.0.0 | 1.0.0 | 2.0.0 |
  

<div class="admonition admonition-note"><div class="admonition-icon"><svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2.5"><path stroke-linecap="round" stroke-linejoin="round" d="M13 16h-1v-4h-1m1-4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z" /></svg></div><div class="admonition-body"><div class="admonition-content">

The API key must have the `SCHEMA_SERVICE_DOCUMENT_READ` permission from the **Document** group.

</div></div></div>

**Replaced By:**  
[Get recommendations (v2)](/developers/mobile-sdk/method-reference/ios/content#get-recommendations-v2)

**Declared In:**  
Headers/SNRContent.h
  
**Related To:**  
[RecommendationOptions](/developers/mobile-sdk/class-reference/ios/recommendations-and-documents#recommendationapiquery)  
[RecommendationResponse](/developers/mobile-sdk/class-reference/ios/recommendations-and-documents#recommendationresponse)

**Class:**  
[Content](/developers/mobile-sdk/class-reference/ios/modules#content)

**Declaration:**  

<div class="content-tabs code-tabs" data-tab-group="tabgrp-1136">
<div class="tab-buttons"><button class="tab-button" data-tab-id="tabgrp-1136-0" data-tab-group="tabgrp-1136" data-tab-active="true">Swift</button><button class="tab-button" data-tab-id="tabgrp-1136-1" data-tab-group="tabgrp-1136">Objective-C</button></div>

<div class="tab-panel" data-tab-id="tabgrp-1136-0" data-tab-group="tabgrp-1136" data-tab-active="true">

```Swift
static func getRecommendations(options: RecommendationOptions, success: ((RecommendationResponse) -> Void), failure: ((ApiError) -> Void)) -> Void
```

</div>

<div class="tab-panel" data-tab-id="tabgrp-1136-1" data-tab-group="tabgrp-1136">

```Objective-C
+ (void)getRecommendations:(SNRRecommendationOptions *)options success:(nullable void (^)(SNRRecommendationResponse *recommendationResponse))success failure:(nullable void (^)(NSError *error))failure
```

</div>
</div>


  
**Parameters:**  
| Parameter | Type | Mandatory | Default | Description |
| --- | --- | --- | --- | --- |
| **options** | [RecommendationOptions](/developers/mobile-sdk/class-reference/ios/recommendations-and-documents#recommendationapiquery) | yes | - | Options for recommendations |
| **success** | ((RecommendationResponse) -> Void) | yes | - | Closure/Block to be executed when the operation is completed successfully |
| **failure** | (([SNRApiError](/developers/mobile-sdk/class-reference/ios/miscellaneous#snrapierror)]) -> Void) | yes | - | Closure/Block to be executed when the operation is completed with an error |
  
**Return Value:**  
No value is returned.
  
**Example:**  

<div class="content-tabs code-tabs" data-tab-group="tabgrp-1137">
<div class="tab-buttons"><button class="tab-button" data-tab-id="tabgrp-1137-0" data-tab-group="tabgrp-1137" data-tab-active="true">Swift</button><button class="tab-button" data-tab-id="tabgrp-1137-1" data-tab-group="tabgrp-1137">Objective-C</button></div>

<div class="tab-panel" data-tab-id="tabgrp-1137-0" data-tab-group="tabgrp-1137" data-tab-active="true">

```Swift
let options: RecommendationOptions = RecommendationOptions()
options.slug = "similar"
options.productID = "1"
Content.getRecommendations(options: options, success: { (recommendationResponse) in
  // success
}) { (error) in
  // failure
}
```

</div>

<div class="tab-panel" data-tab-id="tabgrp-1137-1" data-tab-group="tabgrp-1137">

```Objective-C
SNRRecommendationOptions *options = [SNRRecommendationOptions new];
options.slug = @"similar";
options.productID = "1";
[SNRContent getRecommendations:options success:^(SNRRecommendationResponse *recommendationResponse) {
  // success
} failure:^(SNRApiError *error) {
  // failure
}]
```

</div>
</div>
 

### <del>Get screen view</del> {#get-screen-view}
---
This method generates the customer's highest-priority screen view campaign.
  
| | **iOS SDK** | **Android SDK** | **React Native SDK** | **Flutter SDK** |
| --- | --- | --- | --- | --- |
| <span style="color:green">Introduced in:</span> | 3.7.1 | 3.7.1 | 0.9.10 | 0.2.0 |
| <span style="color:orange">Deprecated in:</span> | 4.13.0 | 5.5.0 | 0.17.0 | 0.6.0 |
| <span style="color:red">Removed in:</span> | 5.0.0 | 6.0.0 | 1.0.0 | 2.0.0 |


<div class="admonition admonition-note"><div class="admonition-icon"><svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2.5"><path stroke-linecap="round" stroke-linejoin="round" d="M13 16h-1v-4h-1m1-4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z" /></svg></div><div class="admonition-body"><div class="admonition-content">

The API key must have the `SCHEMA_SERVICE_SCHEMA_READ` permission from the **Schema** group.

</div></div></div>

**Replaced By:**  
[Generate screen view](/developers/mobile-sdk/method-reference/ios/content#generate-screen-view) and [Generate document with query parameters](/developers/mobile-sdk/method-reference/ios/content#generate-screen-view-with-query-parameters)

**Declared In:**  
Headers/SNRContent.h
  
**Related To:**  
[ScreenViewResponse](/developers/mobile-sdk/class-reference/ios/miscellaneous#screenviewresponse)    
  
**Class:**  
[Content](/developers/mobile-sdk/class-reference/ios/modules#content)
  
**Declaration:**  

<div class="content-tabs code-tabs" data-tab-group="tabgrp-1138">
<div class="tab-buttons"><button class="tab-button" data-tab-id="tabgrp-1138-0" data-tab-group="tabgrp-1138" data-tab-active="true">Swift</button><button class="tab-button" data-tab-id="tabgrp-1138-1" data-tab-group="tabgrp-1138">Objective-C</button></div>

<div class="tab-panel" data-tab-id="tabgrp-1138-0" data-tab-group="tabgrp-1138" data-tab-active="true">

```Swift
static func getScreenView(success: ((ScreenViewResponse) -> Void), failure: ((ApiError) -> Void)) -> Void
```

</div>

<div class="tab-panel" data-tab-id="tabgrp-1138-1" data-tab-group="tabgrp-1138">

```Objective-C
+ (void)getScreenViewWithSuccess:(nonnull void (^)(SNRScreenViewResponse *screenViewResponse))success failure:(nonnull void (^)(SNRApiError *error))failure
```

</div>
</div>

  
**Parameters:**  
| Parameter | Type | Mandatory | Default | Description |
| --- | --- | --- | --- | --- |
| **success** | (([ScreenViewResponse](/developers/mobile-sdk/class-reference/ios/miscellaneous#screenviewresponse)   ) -> Void) | yes | - | Closure/Block to be executed when the operation is completed successfully |
| **failure** | (([SNRApiError](/developers/mobile-sdk/class-reference/ios/miscellaneous#snrapierror)]) -> Void) | yes | - | Closure/Block to be executed when the operation is completed with an error |
  
**Return Value:**  
No value is returned. 

