# Events

## Overview

The Display JavaScript API emits custom events to the document root so that you can keep track of changes to the Display API instance.

### `iPaperDisplayApiReady`

This event is emitted when the Display JavaScript API has successfully instantiated and populates the global scope with the `iPaperDisplayApi` object. At this point of time, all magic commands for the Display JavaScript API is accessible.

```javascript
document.addEventListener('iPaperDisplayApiReady', function () {
    // At this point in time, window.iPaperDisplayApi is available in the global scope
    window.iPaperDisplayApi.show();
});
```

### `iPaperDisplayInstanceReady`

This event is emitted when the Display JavaScript API has successfully loaded a Display instance and the instsance is now visible and ready to be interacted with. At this point, the user should be able to interact (scroll, click, etc.) with the Display instance shown on the side.

```javascript
document.addEventListener('iPaperDisplayInstanceReady', function () {
    // At this point in time, the Display Instance is ready to be interacted with
});
```

{% hint style="info" %}
**Note:**

Due to the nature of the UI/UX of Display, the `iPaperDisplayInstanceReady` event is only fired if your user is originating from a desktop or tablet device. Mobile devices are redirected to the actual URL of the Display, where interaction with the API is not possible.
{% endhint %}


---

# 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.ipaper.io/display-javascript-api/events.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.
