# SENTPublicDefinitions

### SENTInitIssue

Initialization failure issues

```objectivec
typedef NS_ENUM(NSUInteger, SENTInitIssue)
```

| Issue                               | Description                                                                            |
| ----------------------------------- | -------------------------------------------------------------------------------------- |
| **SENTInitIssueInvalidCredentials** | Given App ID and Secret pair is invalid                                                |
| **SENTInitIssueChangedCredentials** | Given App ID and Secret pair has been changed                                          |
| **SENTInitIssueServiceUnreachable** | Service unreachable due to network. Most likely due to network or availability issues. |
| **SENTInitIssueLinkFailed**         | User linking failed                                                                    |
| **SENTInitIssueResetInProgress**    | Reset of the SDK is in progress                                                        |

### SENTStartStatus

Defines the status of the SDK

```objectivec
typedef NS_ENUM(NSUInteger, SENTStartStatus)
```

<table><thead><tr><th width="301.1408259986459">Issue</th><th>Description</th></tr></thead><tbody><tr><td><strong>SENTStartStatusNotStarted</strong></td><td>SDK not started yet</td></tr><tr><td><strong>SENTStartStatusPending</strong></td><td>SDK initialization in progress</td></tr><tr><td><strong>SENTStartStatusStarted</strong></td><td>SDK has started successfuly</td></tr><tr><td><strong>SENTStartStatusExpired</strong></td><td>SDK has been expired</td></tr></tbody></table>

### SENTTransportMode

Current Transportation mode detected by Sentiance SDK

```objectivec
typedef NS_ENUM(NSUInteger, SENTTransportMode)
{
    SENTTransportModeUnknown = 1,
    SENTTransportModeCar     = 2,
    SENTTransportModeBicycle = 3,
    SENTTransportModeOnFoot  = 4,
    SENTTransportModeTrain   = 5,
    SENTTransportModeTram    = 6,
    SENTTransportModeBus     = 7,
    SENTTransportModePlane   = 8,
    SENTTransportModeBoat    = 9,
    SENTTransportModeMetro   = 10,
    SENTTransportModeRunning = 11
};
```

###

### SENTExternalEventType

Deprecated.

External event type definition for SDK trigger

### SENTripType

Trip trigger status

```objectivec
typedef NS_ENUM(NSUInteger, SENTTripType)
{
    SENTTripTypeSDK      = 1,
    SENTTripTypeExternal = 2
};
```

<table><thead><tr><th width="239.29953917050693">Trip Type</th><th>Description</th></tr></thead><tbody><tr><td>SENTTripTypeSDK</td><td>Trip started by SDK.</td></tr><tr><td>SENTTripTypeExternal</td><td>Trip start triggered manually by calling [SENTSDK startTip]</td></tr></tbody></table>

### SENTInitializationFailureReason

Initialization failure Issues returned during Initialization

```objectivec
typedef NS_ENUM(NSUInteger, SENTInitializationFailureReason) {
    SENTInitializationFailureReasonNone,
    SENTInitializationFailureReasonUnsupportedOSVersion,
    /** Reinitialization is allowed only immediately after resetting the SDK (i.e. before creating a user). */
    SENTInitializationFailureReasonReinitializationNotAllowed,
    SENTInitializationFailureReasonSdkResetInProgress,
    SENTInitializationFailureReasonInternalInconsistency,
    /**
     * App instability has been detected, so initialization was aborted.
     * All subsequent initialization attempts will be blocked until the app is restarted.
     * This is a safety mechanism to prevent further instability and potential crashes.
     */
    SENTInitializationFailureReasonAppInstabilityDetected,
};
```


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.sentiance.com/important-topics/sdk/api-reference/ios/sentpublicdefinitions.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
