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

# List notifications

> List notification events for the authenticated user, ordered by creation date with cursor-based pagination.

## Query parameters

<ParamField query="workflow_id" type="string">
  Filter by workflow ID.
</ParamField>

<ParamField query="event_types" type="string">
  Comma-separated list of event types to filter by (e.g., `job.completed,job.failed`).
</ParamField>

<ParamField query="since" type="string">
  Return events created after this ISO 8601 timestamp.
</ParamField>

<ParamField query="limit" type="integer">
  Maximum number of events to return. Must be between 1 and 100. Default: `50`.
</ParamField>

<ParamField query="cursor" type="string">
  Pagination cursor from a previous response.
</ParamField>

<ParamField query="unread_only" type="boolean">
  If `true`, return only unread events for the current user. Default: `false`.
</ParamField>

## Response

<ResponseField name="events" type="array" required>
  List of notification event objects.
</ResponseField>

<ResponseField name="next_cursor" type="string">
  Cursor for the next page of results. `null` if no further pages exist.
</ResponseField>

<RequestExample>
  ```bash cURL theme={null}
  curl --request GET \
    --url "${UNSTRUCTURED_API_URL}/api/v1/notifications?limit=50&unread_only=false" \
    --header "unstructured-api-key: ${UNSTRUCTURED_API_KEY}"
  ```

  ```python Python SDK theme={null}
  import os
  from unstructured_client import UnstructuredClient
  from unstructured_client.models.operations import ListNotificationsApiV1NotificationsGetRequest

  client = UnstructuredClient(
      api_key_auth=os.getenv("UNSTRUCTURED_API_KEY"),
      server_url=os.getenv("UNSTRUCTURED_API_URL"),
  )

  response = client.notifications.list_notifications(
      request=ListNotificationsApiV1NotificationsGetRequest(
          limit=50,
          unread_only=False,
      )
  )
  print(response)
  ```

  ```python Python SDK (async) theme={null}
  import asyncio
  import os
  from unstructured_client import UnstructuredClient
  from unstructured_client.models.operations import ListNotificationsApiV1NotificationsGetRequest

  async def list_notifications():
      client = UnstructuredClient(
          api_key_auth=os.getenv("UNSTRUCTURED_API_KEY"),
          server_url=os.getenv("UNSTRUCTURED_API_URL"),
      )
      response = await client.notifications.list_notifications_async(
          request=ListNotificationsApiV1NotificationsGetRequest(
              limit=50,
              unread_only=False,
          )
      )
      print(response)

  asyncio.run(list_notifications())
  ```
</RequestExample>

<ResponseExample>
  ```json Response theme={null}
  {
    "events": [
      {
        "id": "a1b2c3d4-5e6f-7a8b-9c0d-1e2f3a4b5c6d",
        "event_type": "job.completed",
        "workflow_id": "f0a1b2c3-4d5e-6f7a-8b9c-0d1e2f3a4b5c",
        "payload": {
          "job_id": "b2c3d4e5-6f7a-8b9c-0d1e-2f3a4b5c6d7e",
          "status": "COMPLETED"
        },
        "created_at": "2026-04-29T10:05:00Z",
        "is_read": false
      }
    ],
    "next_cursor": null
  }
  ```
</ResponseExample>
