
### BaseModel
Base class for all models.


<div class="admonition admonition-warning"><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="M12 9v2m0 4h.01m-6.938 4h13.856c1.54 0 2.502-1.667 1.732-2.5L13.732 4c-.77-.833-1.964-.833-2.732 0L4.082 16.5c-.77.833.192 2.5 1.732 2.5z" /></svg></div><div class="admonition-body"><div class="admonition-content">

This is an abstract class and it is not meant to be instantiated directly.

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

  
**Declared In:**  
lib/classes/models/BaseModel.js  
  
**Declaration:**  

<pre><code class="language-TypeScript">interface ModelMappable {
  toObject(): object;
}</code></pre>

  

<pre><code class="language-TypeScript">abstract class BaseModel implements ModelMappable</code></pre>


---
---

### BaseApiQuery
Object for setting parameters to facilitate fetching promotions from the API.
  

<div class="admonition admonition-warning"><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="M12 9v2m0 4h.01m-6.938 4h13.856c1.54 0 2.502-1.667 1.732-2.5L13.732 4c-.77-.833-1.964-.833-2.732 0L4.082 16.5c-.77.833.192 2.5 1.732 2.5z" /></svg></div><div class="admonition-body"><div class="admonition-content">

This is an abstract class and it is not meant to be instantiated directly.

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

  
**Declared In:**  
lib/classes/models/api_queries/BaseApiQuery.js  

**Declaration:**

<pre><code class="language-TypeScript">interface IApiQuerySorting {
  property: string;
  order: ApiQuerySortingOrder;
}</code></pre>



<pre><code class="language-TypeScript">class BaseApiQuery</code></pre>

  
**Properties:**  
| Property | Type | Optional | Default | Description |
| --- | --- | --- | --- | --- |
| **limit** | number | no | 100 | Limit of items per page in the response |
| **page** | number | no | 1 | Page number |
| **sorting** | Array<IApiQuerySorting> | yes | [] | Specifies sorting rules for items in the response |
| **includeMeta** | boolean | no | false | Specifies if meta data should be included in the response |

---
---

### ApiQuerySortingOrder
**Declared In:**  
lib/classes/api_queries/BaseApiQuery.js  
  
**Declaration:**

<pre><code class="language-TypeScript">enum ApiQuerySortingOrder {
  Ascending = 'asc',
  Descending = 'desc',
}</code></pre>


---
---

### Error
**Declared In:**  
lib/classes/types/Error.js  
  
**Declaration:**

<pre><code class="language-TypeScript">class Error</code></pre>

  
**Properties:**
| Property | Type | Optional | Description |
| --- | --- | --- | --- |
| **code** | number | yes | Error code |
| **message** | string | yes | Error message |
  
**Initializers:**

<pre><code class="language-TypeScript">constructor(code: number, message: string)</code></pre>


---
---

### ScreenViewApiQuery
The object to set parameters easily for fetching screen views from API.
  
**Declared In:**  
lib/classes/api_queries/ScreenViewApiQuery.js  
  
**Declaration:**

<pre><code class="language-TypeScript">class ScreenViewApiQuery</code></pre>

  
**Properties:**
| Property | Type | Optional | Default | Description |
| --- | --- | --- | --- | --- |
| **feedSlug** | string | no  | null | Identifies a specific screen view feed |
| **productId** | string | yes | null | Item identifier |
  
**Initializers:**

<pre><code class="language-TypeScript">constructor()</code></pre>


---
---

### ScreenView
Model representing a highest-priority customer screen view campaign.
  

<div class="admonition admonition-warning"><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="M12 9v2m0 4h.01m-6.938 4h13.856c1.54 0 2.502-1.667 1.732-2.5L13.732 4c-.77-.833-1.964-.833-2.732 0L4.082 16.5c-.77.833.192 2.5 1.732 2.5z" /></svg></div><div class="admonition-body"><div class="admonition-content">

This is a read-only class and it is not meant to be instantiated directly.

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

  
**Declared In:**  
lib/classes/content/ScreenView.js  
  
**Related To:**  
[ScreenViewAudienceInfo](/developers/mobile-sdk/class-reference/react-native/miscellaneous#screenviewaudienceinfo)  
  
**Inherits From:**  
[BaseModel](/developers/mobile-sdk/class-reference/react-native/miscellaneous#basemodel)  
  
**Declaration:**

<pre><code class="language-TypeScript">class ScreenView extends BaseModel</code></pre>

  
**Properties:**
| Property | Type | Optional | Description |
| --- | --- | --- | --- |
| **identifier** | string | no | Screen view's ID |
| **name** | string | no | Screen view's name |
| **hashString** | string | no | Screen view's hash |
| **path** | string | no | URL of the screen view's definition |
| **priority** | number | no | Screen View's priority (1-99, where 1 is the highest) |
| **audience** | [ScreenViewAudienceInfo](/developers/mobile-sdk/class-reference/react-native/miscellaneous#screenviewaudienceinfo) | no | Audience of a screen view |
| **data** | any | no | Content of the screen view |
| **createdAt** | Date | no | Screen view's creation date |
| **updatedAt** | Date | no | Screen view's update date |

---
---

### ScreenViewAudienceInfo
Model representing an audience of customer screen view.
  

<div class="admonition admonition-warning"><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="M12 9v2m0 4h.01m-6.938 4h13.856c1.54 0 2.502-1.667 1.732-2.5L13.732 4c-.77-.833-1.964-.833-2.732 0L4.082 16.5c-.77.833.192 2.5 1.732 2.5z" /></svg></div><div class="admonition-body"><div class="admonition-content">

This is a read-only class and it is not meant to be instantiated directly.

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

  
**Declared In:**  
lib/classes/content/ScreenViewAudienceInfo.js    
  
**Related To:**  
[ScreenView](/developers/mobile-sdk/class-reference/react-native/miscellaneous#screenview)  
  
**Inherits From:**  
[BaseModel](/developers/mobile-sdk/class-reference/react-native/miscellaneous#basemodel)  
  
**Declaration:**

<pre><code class="language-TypeScript">class ScreenViewAudienceInfo extends BaseModel</code></pre>

  
**Properties:**
| Property | Type | Optional | Description |
| --- | --- | --- | --- |
| **segments** | string | yes | Audience's segments |
| **query** | string | yes | Audience's query |
| **targetType** | string | yes | Audience's target type |

---
---

### BrickworksApiQuery
Class responsible for creating a query to the Brickworks API.

**Declared In:**  
lib/classes/api_queries/BrickworksApiQuery.js

**Declaration:**  

<pre><code class="language-ts">class BrickworksApiQuery</code></pre>


**Properties:**  
| Property         | Type   | Optional        | Description                                                                                                                                                                       |
| ---------------- | ------ | --------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **schemaSlug**   | String | no              | Unique identifier (`appName`/API name) of a schema                                                                                                                                |
| **recordSlug**   | String | yes<sup>1</sup> | Unique identifier (`slug`/slug) of a record                                                                                                                                   |
| **recordId**     | String | yes<sup>1</sup> | Unique identifier (`id`/UUID) of a record                                                                                                                                         |
| **context**      | Object | yes             | Key/value properties for `{{ context.keyName }}` inserts in the record                                                                                                            |
| **fieldContext** | Object | yes             | Additional properties for [recommendation](/docs/assets/brickworks/synerise-objects#ai-recommendation) and [many-to-one](/docs/assets/brickworks/schema-field-types#one-to-many) field types |

<sup>1</sup> You must provide one of the identifiers.

**Initializers:**

<pre><code class="language-ts">constructor()</code></pre>


---
---

## Removed symbols

### <del>ScreenViewResponse</del> {#screenviewresponse}
Model representing a highest-priority customer screen view campaign.
  

<div class="admonition admonition-warning"><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="M12 9v2m0 4h.01m-6.938 4h13.856c1.54 0 2.502-1.667 1.732-2.5L13.732 4c-.77-.833-1.964-.833-2.732 0L4.082 16.5c-.77.833.192 2.5 1.732 2.5z" /></svg></div><div class="admonition-body"><div class="admonition-content">

This is a read-only class and it is not meant to be instantiated directly.

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

  
**Declared In:**  
lib/classes/content/ScreenViewResponse.js  
  
**Related To:**  
[ScreenViewAudience](/developers/mobile-sdk/class-reference/react-native/miscellaneous#screenviewaudience)  
  
**Inherits From:**  
[BaseModel](/developers/mobile-sdk/class-reference/react-native/miscellaneous#basemodel)  
  
**Declaration:**

<pre><code class="language-TypeScript">class ScreenViewResponse extends BaseModel</code></pre>

  
**Properties:**
| Property | Type | Optional | Description |
| --- | --- | --- | --- |
| **audience** | [ScreenViewAudience](/developers/mobile-sdk/class-reference/react-native/miscellaneous#screenviewaudience) | no | Audience of a screen view |
| **identifier** | string | no | Screen view's ID |
| **hashString** | string | no | Screen view's hash |
| **path** | string | no | URL of the screen view's definition |
| **name** | string | no | Screen view's name |
| **priority** | number | no | Screen View's priority (1-99, where 1 is the highest) |
| **descriptionText** | string | yes | Screen view's description |
| **data** | any | no | Content of the screen view |
| **version** | string | no | Version of a screen view |
| **parentVersion** | string | yes | Parent version of a screen view |
| **createdAt** | Date | no | Screen view's creation date |
| **updatedAt** | Date | no | Screen view's update date |
| **deletedAt** | Date | yes | Screen view's deletion date |

---
---

### <del>ScreenViewAudience</del> {#screenviewaudience}
Model representing an audience of customer screen view.
  

<div class="admonition admonition-warning"><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="M12 9v2m0 4h.01m-6.938 4h13.856c1.54 0 2.502-1.667 1.732-2.5L13.732 4c-.77-.833-1.964-.833-2.732 0L4.082 16.5c-.77.833.192 2.5 1.732 2.5z" /></svg></div><div class="admonition-body"><div class="admonition-content">

This is a read-only class and it is not meant to be instantiated directly.

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

  
**Declared In:**  
lib/classes/content/ScreenViewAudience.js    
  
**Related To:**  
[ScreenViewResponse](/developers/mobile-sdk/class-reference/react-native/miscellaneous#screenviewresponse)  
  
**Inherits From:**  
[BaseModel](/developers/mobile-sdk/class-reference/react-native/miscellaneous#basemodel)  
  
**Declaration:**

<pre><code class="language-TypeScript">class ScreenViewAudience extends BaseModel</code></pre>

  
**Properties:**
| Property | Type | Optional | Description |
| --- | --- | --- | --- |
| **IDs** | Array<string> | yes | Audience's identifiers |
| **query** | string | yes | Audience's query |