
## Errors
---

### ApiError
Class responsible for managing errors.

**Declared In:**  
`com.synerise.sdk.error.ApiError`

**Declaration:**  

<div class="content-tabs code-tabs" data-tab-group="tabgrp-106">
<div class="tab-buttons"><button class="tab-button" data-tab-id="tabgrp-106-0" data-tab-group="tabgrp-106" data-tab-active="true">Java</button><button class="tab-button" data-tab-id="tabgrp-106-1" data-tab-group="tabgrp-106">Kotlin</button></div>

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

```Java
public class ApiError
```

</div>

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

```Kotlin
class ApiError
```

</div>
</div>


**Properties:**  

| Property | Type | Optional | Default | Description |
| --- | --- | --- | --- | --- |
| **errorBody** | [ApiErrorBody](/developers/mobile-sdk/class-reference/android/miscellaneous#apierrorbody) | no | - | API Error Body |
| **httpErrorCategory** | [HttpErrorCategory](/developers/mobile-sdk/class-reference/android/miscellaneous#httperrorcategory) | no | - | HTTP error category |
| **errorType** | [ErrorType](/developers/mobile-sdk/class-reference/android/miscellaneous#errortype) | no | - | Error type |
| **httpCode** | int | no | - | HTTP error code |
| **throwable** | Throwable | no | - | Android throwable |


<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">

All the properties above are accessible by using getters.

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


**Initializers:**  

There are no initializers.

**Methods:**  

Prints stack trace on original Throwable instance.


<pre><code class="language-java">public void printStackTrace()</code></pre>


---

---
---

### ApiErrorBody
Class responsible for providing the API error body.

**Declared In:**  
`com.synerise.sdk.error.ApiErrorBody`

**Declaration:**  

<div class="content-tabs code-tabs" data-tab-group="tabgrp-107">
<div class="tab-buttons"><button class="tab-button" data-tab-id="tabgrp-107-0" data-tab-group="tabgrp-107" data-tab-active="true">Java</button><button class="tab-button" data-tab-id="tabgrp-107-1" data-tab-group="tabgrp-107">Kotlin</button></div>

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

```Java
public class ApiErrorBody implements Serializable
```

</div>

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

```Kotlin
class ApiErrorBody:Serializable
```

</div>
</div>


**Properties:**  

| Property | Type | Optional | Default | Description |
| --- | --- | --- | --- | --- |
| **error** | String | no | - | String representation of the returned HTTP status code |
| **message** | String | no | - | Error message |
| **path** | String | no | - | Endpoint path in which the error has occurred |
| **status** | int | no | - | Error's HTTP status code |
| **errorCauses** | List<[ApiErrorCause](/developers/mobile-sdk/class-reference/android/miscellaneous#apierrorcause)> | yes | - | Optional list of error causes, mostly occurs when 400 HTTP code is returned |


<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">

All the properties above are accessible by using getters.

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


**Initializers:**  

There are no initializers.

**Methods:**  

There are only getters.

---

---
---

### ApiErrorCause
Class responsible for providing the API error cause.

**Declared In:**  
`com.synerise.sdk.error.ApiErrorCause`

**Declaration:**  

<div class="content-tabs code-tabs" data-tab-group="tabgrp-108">
<div class="tab-buttons"><button class="tab-button" data-tab-id="tabgrp-108-0" data-tab-group="tabgrp-108" data-tab-active="true">Java</button><button class="tab-button" data-tab-id="tabgrp-108-1" data-tab-group="tabgrp-108">Kotlin</button></div>

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

```Java
public class ApiErrorCause implements Serializable
```

</div>

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

```Kotlin
class ApiErrorCause:Serializable
```

</div>
</div>


**Properties:**  

| Property | Type | Optional | Default | Description |
| --- | --- | --- | --- | --- |
| **field** | String | yes | - | Main error cause, for example, the name of the field that failed validation |
| **message** | String | yes | - | Error message |
| **code** | int | no | - | Unique error cause code |
| **rejectedValue** | String | yes | - | Optional rejected value |



<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">

All the properties above are accessible by using getters.

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


**Initializers:**  

There are no initializers.

**Methods:**  

There are only getters.

---

---
---

### ErrorType
This enum contains values for error types.

**Declared In:**  
`com.synerise.sdk.error.ErrorType`

**Declaration:**  

<div class="content-tabs code-tabs" data-tab-group="tabgrp-109">
<div class="tab-buttons"><button class="tab-button" data-tab-id="tabgrp-109-0" data-tab-group="tabgrp-109" data-tab-active="true">Java</button><button class="tab-button" data-tab-id="tabgrp-109-1" data-tab-group="tabgrp-109">Kotlin</button></div>

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

```Java
public enum ErrorType
```

</div>

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

```Kotlin
public enum ErrorType
```

</div>
</div>


**Values:**

| Property | Description |
| --- | --- |
| **HTTP_ERROR** | HTTP error |
| **NETWORK_ERROR** | Network error |
| **NO_TOKEN** | No token |
| **UNKNOWN** | Unknown error type |

**Methods:**  

There are no methods.

---
---

### HttpErrorCategory
This enum contains values for HTTP error categories.

**Declared In:**  
`com.synerise.sdk.error.HttpErrorCategory`

**Declaration:**  

<div class="content-tabs code-tabs" data-tab-group="tabgrp-110">
<div class="tab-buttons"><button class="tab-button" data-tab-id="tabgrp-110-0" data-tab-group="tabgrp-110" data-tab-active="true">Java</button><button class="tab-button" data-tab-id="tabgrp-110-1" data-tab-group="tabgrp-110">Kotlin</button></div>

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

```Java
public enum HttpErrorCategory
```

</div>

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

```Kotlin
public enum HttpErrorCategory
```

</div>
</div>


**Values:**

| Property | Value | Description |
| --- | --- | --- |
| **BAD_REQUEST** | 400 | Bad request |
| **UNAUTHORIZED** | 401 | Unauthorized (no token, wrong token) |
| **FORBIDDEN** | 403 | Forbidden (insufficient permissions) |
| **NOT_FOUND** | 404 | Resource not found |
| **RANGE_NOT_SATISFIABLE** | 416 | Range not satisfiable |
| **SERVER_ERROR** | 500-599 | Server error |
| **UNKNOWN** | -1 | Unknown error |

**Methods:**  

This method retrieves the HTTP error category.


<pre><code class="language-java">public static HttpErrorCategory getHttpErrorCategory(int code)</code></pre>


---

---
---

## Misc
---

### ApiQuerySortingOrder
This enum contains values for query sorting order.

**Declared In:**  
`com.synerise.sdk.core.types.enums.ApiQuerySortingOrder`

**Declaration:**  

<div class="content-tabs code-tabs" data-tab-group="tabgrp-111">
<div class="tab-buttons"><button class="tab-button" data-tab-id="tabgrp-111-0" data-tab-group="tabgrp-111" data-tab-active="true">Java</button><button class="tab-button" data-tab-id="tabgrp-111-1" data-tab-group="tabgrp-111">Kotlin</button></div>

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

```Java
public enum ApiQuerySortingOrder
```

</div>

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

```Kotlin
public enum ApiQuerySortingOrder
```

</div>
</div>


**Values:** 

| Property | Value | Description |
| --- | --- | --- |
| **ASCENDING** | "asc" | Sorting order |
| **DESCENDING** | "desc" | Sorting order |


**Methods:**  

This method retrieves the order.


<pre><code class="language-java">public String getOrder()</code></pre>


---

This method retrieves the order.


<pre><code class="language-java">public static ApiQuerySortingOrder getBySortingOrder(String order)</code></pre>


---

---
---

### ScreenViewApiQuery
Class responsible for creating a query to the Screen View API.

**Declared In:**  
`com.synerise.sdk.content.model.ScreenViewApiQuery`

**Declaration:**  

<div class="content-tabs code-tabs" data-tab-group="tabgrp-112">
<div class="tab-buttons"><button class="tab-button" data-tab-id="tabgrp-112-0" data-tab-group="tabgrp-112" data-tab-active="true">Java</button><button class="tab-button" data-tab-id="tabgrp-112-1" data-tab-group="tabgrp-112">Kotlin</button></div>

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

```Java
public class ScreenViewApiQuery
```

</div>

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

```Kotlin
class ScreenViewApiQuery
```

</div>
</div>


**Properties:**  

| Property | Type | Optional | Default | Description |
| --- | --- | --- | --- | --- |
| **feedSlug** | String | no  | nil | Identifies a specific screen view feed |
| **productID** | String | yes | nil | Item identifier |
| **params** | HashMap<String,Object> | yes | nil | Additional parameters to pass for [Inserts in the screen view](/developers/inserts/screen-views-documents#handling-variables-when-displaying-screen-viewsdocuments). For example, if the insert is `{{ foo }}`, you need to pass the value of `foo` |
  
**Initializers:**  

There is a constructor.


<pre><code class="language-java">public ScreenViewApiQuery(String feedSlug, String productId)</code></pre>


**Methods:**  

Setter for feedSlug


<pre><code class="language-java">public void setFeedSlug(String feedSlug)</code></pre>


---

Setter for productId


<pre><code class="language-java">public void setProductId(String productId)</code></pre>


---

---
---

### ScreenView
**Declared In:**  
`com.synerise.sdk.content.model.screenview`
  
**Declaration:**  

<div class="content-tabs code-tabs" data-tab-group="tabgrp-113">
<div class="tab-buttons"><button class="tab-button" data-tab-id="tabgrp-113-0" data-tab-group="tabgrp-113" data-tab-active="true">java</button><button class="tab-button" data-tab-id="tabgrp-113-1" data-tab-group="tabgrp-113">kotlin</button></div>

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

```java
public class ScreenView
```

</div>

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

```kotlin
class ScreenView
```

</div>
</div>


**Properties:**  
| Property | Type | Optional | Description |
| --- | --- | --- | --- |
| **id** | String | no | Screen View's ID |
| **name** | String | no | Screen View's name |
| **hash** | String | no | Screen View's hash |
| **path** | String | no | URL of the screen view's definition |
| **priority** | Integer | no | Screen View's priority (1-99, where 1 is the highest) |
| **audience** | [Audience](/developers/mobile-sdk/class-reference/android/miscellaneous#screenviewaudience) | no | - | Audience of a Screen View |
| **data** | Object | no | Content of the screen view |
| **createdAt** | Date | no | Screen View's creation date |
| **updatedAt** | Date | no | Screen View's update date |


<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">

All the properties above are accessible by using getters.

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


**Initializers:**  
There are no initializers.
  
**Methods:**  
There are only getters for the above properties.

---
---

### ScreenView.Audience
**Declared In:**  
`com.synerise.sdk.content.model.screenview`
  
**Declaration:**  

<div class="content-tabs code-tabs" data-tab-group="tabgrp-114">
<div class="tab-buttons"><button class="tab-button" data-tab-id="tabgrp-114-0" data-tab-group="tabgrp-114" data-tab-active="true">java</button><button class="tab-button" data-tab-id="tabgrp-114-1" data-tab-group="tabgrp-114">kotlin</button></div>

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

```java
public class Audience
```

</div>

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

```kotlin
class Audience
```

</div>
</div>


**Properties:**  
| Property | Type | Optional | Description |
| --- | --- | --- | --- |
| **segments** | List<String> | yes | Audience's segments |
| **query** | String | yes | Audience's query |
| **targetType** | String | yes | Audience's target type |
  

<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">

All the properties above are accessible by using getters.

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


**Initializers:**  
There are no initializers.
  
**Methods:**  
There are only getters for the above properties.

---
---

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

**Declared In:**  
`com.synerise.sdk.content.model.BrickworksApiQuery`

**Declaration:**

<div class="content-tabs" data-tab-group="tabgrp-117">
<div class="tab-buttons"><button class="tab-button" data-tab-id="tabgrp-117-0" data-tab-group="tabgrp-117" data-tab-active="true">Java</button><button class="tab-button" data-tab-id="tabgrp-117-1" data-tab-group="tabgrp-117">Kotlin</button></div>

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

<pre><code class="language-java">public class BrickworksApiQuery</code></pre>

</div>

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

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

</div>
</div>


**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:**  

There is a constructor:

<pre><code class="language-java">public BrickworksApiQuery()</code></pre>


**Methods:**  

Setter for record slug:

<pre><code class="language-java">public void setRecordSlug(String recordSlug)</code></pre>


Setter for record ID:

<pre><code class="language-java">public void setRecordId(String recordId)</code></pre>


Setter for schema slug (appId):

<pre><code class="language-java">public void setSchemaSlug(String schemaSlug)</code></pre>


Setter for context:

<pre><code class="language-java">public void setContext(HashMap&lt;String, Object&gt; context)</code></pre>


Setter for field context:

<pre><code class="language-java">public void setFieldContext(HashMap&lt;String, Object&gt; fieldContext)</code></pre>


---
---

## Removed symbols
---

### <del>ScreenViewResponse</del> {#screenviewresponse}
Class responsible for receiving screen views.

**Declared In:**  
`com.synerise.sdk.content.model.ScreenViewResponse`

**Declaration:**  

<div class="content-tabs code-tabs" data-tab-group="tabgrp-115">
<div class="tab-buttons"><button class="tab-button" data-tab-id="tabgrp-115-0" data-tab-group="tabgrp-115" data-tab-active="true">Java</button><button class="tab-button" data-tab-id="tabgrp-115-1" data-tab-group="tabgrp-115">Kotlin</button></div>

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

```Java
public class ScreenViewResponse
```

</div>

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

```Kotlin
class ScreenViewResponse
```

</div>
</div>


**Properties:**  

| Property | Type | Optional | Default | Description |
| --- | --- | --- | --- | --- |
| **audience** | [Audience](/developers/mobile-sdk/class-reference/android/miscellaneous#screenviewresponseaudience) | no | - | Audience of a Screen view |
| **createdAt** | String | no | - | Creation time of a screen view |
| **data** | Object | no | - | Content of a screen view |
| **id** | String | no | - | Screen view ID |
| **hash** | String | no | - | Screen view hash |
| **name** | String | no | - | Screen view name |
| **parentVersion** | String | no | - | Screen view parent version |
| **path** | String | no | - | Screen view path |
| **priority** | Integer | no | - | Screen view priority |
| **updatedAt** | String | no | - | Screen view update time |
| **version** | String | no | - | Screen view version |


<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">

All the properties above are accessible by using getters.

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


**Initializers:**  

There are no initializers.

**Methods:**  

Getters and setters for the above properties.

---
---

### <del>ScreenViewResponse.Audience</del> {#screenviewresponseaudience}
Audience model for screen view campaigns.

**Declared In:**  
`com.synerise.sdk.content.model.Audience`

**Declaration:**  

<div class="content-tabs code-tabs" data-tab-group="tabgrp-116">
<div class="tab-buttons"><button class="tab-button" data-tab-id="tabgrp-116-0" data-tab-group="tabgrp-116" data-tab-active="true">Java</button><button class="tab-button" data-tab-id="tabgrp-116-1" data-tab-group="tabgrp-116">Kotlin</button></div>

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

```Java
public class Audience
```

</div>

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

```Kotlin
class Audience
```

</div>
</div>


**Properties:**  

| Property | Type | Optional | Default | Description |
| --- | --- | --- | --- | --- |
| **ids** | List<String> | no | - | List of segmentation IDs |
| **query** | String | no | - | Query for the analytics engine |


<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">

All the properties above are accessible by using getters.

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


**Methods:**  

There are getters and setters for the above properties.

---


