# launch domain

## iwa

### Stories addressed <a href="#stories-addressed-1" id="stories-addressed-1"></a>

* Open a new instance of an Integrated Web App, optionally at a particular route

### URL <a href="#url-1" id="url-1"></a>

```
liquidstate://launch/iwa?request=URLENCODED_REQUEST_OBJECT
```

### Request data <a href="#request-data-1" id="request-data-1"></a>

| Property name | Type    | Required | Description                                                                                                                                                                                                                                                |
| ------------- | ------- | -------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| webapp\_id    | String  | No       | Default value: current webapp id (or null when currently in native view)                                                                                                                                                                                   |
| entrypoint    | String  | No       | Default value: "default"                                                                                                                                                                                                                                   |
| route         | String  | No       | Default value: "/"                                                                                                                                                                                                                                         |
| transition    | String  | No       | <p>Possible values:</p><ul><li>"push"</li><li>"replace"</li></ul><p> Specifies how the next view or activity should be presented. The default is "push", which is equivalent to the platform's default (e.g. "slide from the right hand side on iOS").</p> |
| latest        | Boolean | No       | <p>Default value:</p><ul><li>true if navigate to other webapp id or no local copy of the webapp</li><li>false if navigating to the same webapp id</li></ul>                                                                                                |

### Response <a href="#response-data-1" id="response-data-1"></a>

No response, the native app will simply launch the IWA with the specified transition.

## document

### Stories addressed <a href="#stories-addressed-2" id="stories-addressed-2"></a>

* Navigate from an IWA to open/reading documents

Note: currently, native apps will first check whether a document is locally present on the device and up to date before trying to open it for reading. If it is not, the native app will download the document, presenting to the user a native download progress UI. In an upcoming version of native apps, this will be removed and additional IWA events will be supproted in the "documents" domain to deal with the downloading/updating of documents.

### URL <a href="#url-2" id="url-2"></a>

```
liquidstate://launch/document?request=URLENCODED_REQUEST_OBJECT
```

### Request data <a href="#request-data-2" id="request-data-2"></a>

| Property name | Type   | Required | Description                                                         |
| ------------- | ------ | -------- | ------------------------------------------------------------------- |
| product\_id   | String | Yes      | The unique identifier (a.k.a. "product id") of the document to open |
| page\_slug    | String | No       | Default value: first page of the document                           |

#### Example request data <a href="#example-request-data-2" id="example-request-data-2"></a>

```javascript
{
    "product_id": "com.mycompany.awesomedoc",
    "page_slug": "page-4"
}
```

### Response <a href="#response-data-2" id="response-data-2"></a>

No response, the native app will simply launch the document viewer (as noted above it may first download the document if needed).

## email

### Stories addressed <a href="#stories-addressed-3" id="stories-addressed-3"></a>

* Open the device's built-in email composing client, optionally pre-populating fields.

### URL <a href="#url-3" id="url-3"></a>

```
liquidstate://launch/email?request=URLENCODED_REQUEST_OBJECT
```

### Request data <a href="#request-data-3" id="request-data-3"></a>

| Property name | Type   | Required | Description                                                     |
| ------------- | ------ | -------- | --------------------------------------------------------------- |
| to            | String | No       | A comma-separated list of email addresses                       |
| cc            | String | No       | A comma-separated list of email addresses                       |
| bcc           | String | No       | A comma-separated list of email addresses                       |
| subject       | String | No       | One line of text to pre-populate the subject of the email       |
| body          | String | No       | One or more lines of text to pre-populate the body of the email |

#### Example request data <a href="#example-request-data-3" id="example-request-data-3"></a>

```javascript
{
    "to": "contact@example.com",
    "subject": "Could you help me out?",
    "body": "Great mobile app!\n\nI just have a few questions..."
}
```

### Response <a href="#response-data-3" id="response-data-3"></a>

No response, the native app will simply launch the device's standard email composing interface. The user should get back to the app after successfully sending an email or dismissing this interface.
