> ## Documentation Index
> Fetch the complete documentation index at: https://docs.activeviam.com/llms.txt
> Use this file to discover all available pages before exploring further.

# LISTEN_STATUS

> Reference for the `LISTEN_STATUS` DLC operation, covering the `DlcListenStatusRequest`, the `DlcListenStatusResponse`, and the `ListenReport` returned for a listener identified by `listenId`.

## Overview

This can retrieve the status of listeners that are currently open, or that have been closed.

The status of a listener can be retrieved through the listenId provided in the response of the
[`START_LISTEN`](./operations-start-listen) operation.

## Request

<Tabs>
  <Tab title="Java">
    ### `DlcListenStatusRequest`

    | Key | Required | Type | Description |
    | - | :-: | :- | - |
    | listenId | Y | `String` | The unique identifier of a listener. |

    #### Example:

    ```Java theme={"languages":{"custom":["/engine/python-sdk/6.2/languages/pycon.tmLanguage.json"]}}
    DlcListenStatusRequest.builder()
        .listenId("234890")
        .build();
    ```
  </Tab>

  <Tab title="JSON">
    ### `DlcListenStatusRequestDTO`

    | Key | Required | Type | Description |
    | - | :-: | :- | - |
    | listenId | Y | `String` | The unique identifier of a listener. |

    #### Example:

    ```json theme={"languages":{"custom":["/engine/python-sdk/6.2/languages/pycon.tmLanguage.json"]}}
    {
      "operation": "LISTEN_STATUS",
      "listenId": "234890"
    }
    ```
  </Tab>
</Tabs>

## Response

<Tabs>
  <Tab title="Java">
    ### `DlcListenStatusResponse`

    | Key | Type | Description |
    | - | :- | - |
    | report | `ListenReport<E>` | Reports of all events that occurred while the listener was open. |
    | status | `DlcStatus` | Overall status of the DLC Operation. |

    ### `ListenReport<E>`

    | Key | Type | Description |
    | - | :- | - |
    | isOpen | `boolean` | Whether the listener is currently open or closed. |
    | startTime | `LocalDateTime` | The time and date the listener was started. Uses the JVM's time zone. |
    | endTime | `LocalDateTime` | The time and date the listener was closed. Uses the JVM's time zone. Will be null for open listeners. |
    | events | `List<E>` | List of events that occurred while the listener was open. The type of event depends on the source. |
  </Tab>

  <Tab title="JSON">
    ### `DlcListenStatusResponseDTO`

    | Key | Type | Description |
    | - | :- | - |
    | isOpen | `boolean` | Whether the listener is currently open or closed. |
    | startTime | `LocalDateTime` | The time and date the listener was started. Uses the JVM's time zone. |
    | endTime | `LocalDateTime` | The time and date the listener was closed. Uses the JVM's time zone. Will be null for open listeners. |
    | events | `List<DlcLoadResponse>` | List of events that occurred while the listener was open. The type of event depends on the source. |

    #### Example:

    ```json theme={"languages":{"custom":["/engine/python-sdk/6.2/languages/pycon.tmLanguage.json"]}}
    {
      "report": {
        "isOpen": true,
        "startTime": "2025-02-14T12:00:00",
        "endTime": null,
        "events": [
          {}
        ]
      },
      "status": "OK"
    }
    ```
  </Tab>
</Tabs>

### Expected event types

The type parameter of the `ListenReport` can vary depending on the type of source being listened on.

#### File sources: `ListenReport<DlcLoadResponse>`

When listening on a file source, the listen report will contain [`DlcLoadResponse`](./operations-load#response) events as the listen operation
will perform many [`LOAD`](./operations-load) operations.

### `DlcStatus`

A simple enum to capture if the DLC request was executed.

| Key | Description |
| - | - |
| OK | Request was handled successfully. |
| ERROR | Request was not able to be performed correctly. |

### How it works

All listen operations are recorded and linked to a unique `listenId`. This ID can then be used to fetch the listener's
`ListenReport<DlcLoadResponse>`.
