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

# Sandbox-Ereignisse

Sandbox-Ereignisse bieten eine abfragbare Zeitleiste wichtiger Vorgänge im Sandbox-Lebenszyklus. Sie können Ereignisse für Fehlerbehebung, Auditing, Nutzungsanalyse und Abgleich der Abrechnung verwenden.

## Sandbox-Ereignisse abfragen

Verwenden Sie die Events API, um Sandbox-Ereignisse für Ihr Konto aufzulisten. Sie können Ereignisse nach Sandbox, Template, Ereignistyp, Status und Zeitraum filtern.

### Ereignisse mit den SDKs abfragen

<CodeGroup>
  ```js JavaScript & TypeScript icon="js" theme={"system"}
  import { Sandbox } from 'novita-sandbox'

  const result = await Sandbox.getEvents({
    sandboxID: 'iq721h44siv24wmyrh5oc',
    events: ['create', 'pause', 'resume', 'connect', 'timeout', 'delete'],
    limit: 10,
    offset: 0,
  })

  console.log('Events:', result.items)

  if (result.hasMore) {
    const nextPage = await Sandbox.getEvents({
      sandboxID: 'iq721h44siv24wmyrh5oc',
      limit: 10,
      offset: 10,
    })

    console.log('Next page:', nextPage.items)
  }
  ```

  ```python Python icon="python" theme={"system"}
  from novita_sandbox.core import Sandbox

  result = Sandbox.get_events(
      sandbox_id="iq721h44siv24wmyrh5oc",
      events=["create", "pause", "resume", "connect", "timeout", "delete"],
      limit=10,
      offset=0,
  )

  print("Events:", result.items)

  if result.has_more:
      next_page = Sandbox.get_events(
          sandbox_id="iq721h44siv24wmyrh5oc",
          limit=10,
          offset=10,
      )

      print("Next page:", next_page.items)
  ```
</CodeGroup>

### Ereignisse für eine Sandbox-Instanz abfragen

Wenn Sie bereits eine Sandbox-Instanz haben, verwenden Sie die Ereignismethode auf Instanzebene, um Ereignisse für diese Sandbox abzufragen.

<CodeGroup>
  ```js JavaScript & TypeScript icon="js" theme={"system"}
  import { Sandbox } from 'novita-sandbox'

  const sandbox = await Sandbox.create()
  const result = await sandbox.getEvents({
    events: ['create', 'pause', 'resume', 'connect', 'timeout', 'delete'],
    limit: 10,
  })

  console.log(result.items)
  ```

  ```python Python icon="python" theme={"system"}
  from novita_sandbox.core import Sandbox

  sandbox = Sandbox.create()
  result = sandbox.get_events(
      events=["create", "pause", "resume", "connect", "timeout", "delete"],
      limit=10,
  )

  print(result.items)
  ```
</CodeGroup>

## Ereignisse filtern

Verwenden Sie Abfrageparameter, um die Ereigniszeitleiste einzugrenzen.

| Option       | Typ      | Erforderlich | Standard / Limit                                 | Beschreibung                                                                                                                                          |
| ------------ | -------- | ------------ | ------------------------------------------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------- |
| `startTime`  | `int64`  | Nein         | Standardmäßig `endTime - 30 days`                | Startzeit der Abfrage als Unix-Zeitstempel in Sekunden. Der Bereich ist inklusiv.                                                                     |
| `endTime`    | `int64`  | Nein         | Standardmäßig die aktuelle Zeit                  | Endzeit der Abfrage als Unix-Zeitstempel in Sekunden. Muss größer als `startTime` sein.                                                               |
| `sandboxID`  | `string` | Nein         | -                                                | Nach Sandbox-ID filtern. Teilweise Übereinstimmung wird unterstützt.                                                                                  |
| `templateID` | `string` | Nein         | -                                                | Nach Template-ID filtern. Teilweise Übereinstimmung wird unterstützt.                                                                                 |
| `events`     | `string` | Nein         | Standardmäßig die Gruppe der Schlüsselereignisse | Durch Kommas getrennte Ereignistypen. Die aktuelle Gruppe der Schlüsselereignisse ist `create`, `pause`, `resume`, `connect`, `timeout` und `delete`. |
| `state`      | `string` | Nein         | -                                                | Nach Ereignisstatus filtern, z. B. `success` oder einem Fehlerstatus.                                                                                 |
| `orderAsc`   | `bool`   | Nein         | `false`                                          | Ereignisse nach `recordAt` in aufsteigender Reihenfolge sortieren. Standardmäßig werden Ereignisse in absteigender Reihenfolge zurückgegeben.         |
| `offset`     | `int32`  | Nein         | Standard `0`, Minimum `0`                        | Anzahl der zu überspringenden Ereignisse.                                                                                                             |
| `limit`      | `int32`  | Nein         | Standard `10`, Minimum `1`, Maximum `100`        | Maximale Anzahl der zurückzugebenden Ereignisse.                                                                                                      |

<Note>
  Zeitfelder verwenden Unix-Zeitstempel in Sekunden. Übergeben Sie keine Millisekunden-Zeitstempel.

  Der maximale Abfragezeitraum beträgt 60 Tage. Teilen Sie Anfragen für längere Zeitleisten in mehrere kleinere Zeiträume auf.
</Note>

## Paginierung

Ereignisse verwenden Offset-basierte Paginierung. Beginnen Sie mit `offset: 0`; wenn `hasMore` `true` ist, fordern Sie die nächste Seite mit `offset + limit` an. Das maximale `limit` beträgt 100.

## Antwortfelder

Die Ereignisantwort enthält ein `items`-Array und Paginierungsmetadaten.

| Feld      | Beschreibung                                                                 |
| --------- | ---------------------------------------------------------------------------- |
| `items`   | Liste der Sandbox-Ereignisse, die der Abfrage entsprechen.                   |
| `total`   | Gesamtzahl der Ereignisse, die der Abfrage entsprechen, vor der Paginierung. |
| `hasMore` | Gibt an, ob nach der aktuellen Seite weitere Ereignisse verfügbar sind.      |

Jedes Element in `items` hat die folgenden Felder.

| Feld           | Beschreibung                                                                                                                          |
| -------------- | ------------------------------------------------------------------------------------------------------------------------------------- |
| `eventID`      | Eindeutige Ereignis-ID.                                                                                                               |
| `recordAt`     | Zeitpunkt des Ereignisdatensatzes als Unix-Zeitstempel in Sekunden.                                                                   |
| `templateID`   | Template-ID, die von der Sandbox verwendet wird.                                                                                      |
| `templateName` | Template-Name, der von der Sandbox verwendet wird.                                                                                    |
| `sandboxID`    | Sandbox-ID.                                                                                                                           |
| `eventName`    | Ereignistyp, z. B. `create`, `pause`, `resume`, `connect`, `timeout` oder `delete`.                                                   |
| `state`        | Ereignisstatus.                                                                                                                       |
| `errorMsg`     | Fehlermeldung, wenn das Ereignis fehlgeschlagen ist oder eine Ausnahme aufgetreten ist. In der Regel leer, wenn kein Fehler vorliegt. |
| `statusCode`   | HTTP-Statuscode, der dem Vorgang zugeordnet ist, sofern verfügbar.                                                                    |

## Beispielantwort

```json theme={"system"}
{
  "items": [
    {
      "eventID": "evt_123",
      "recordAt": 1766650000,
      "templateID": "tmpl_abc",
      "templateName": "ubuntu-base",
      "sandboxID": "i3vrzzatkxojecvfuesnz",
      "eventName": "create",
      "state": "success",
      "errorMsg": "",
      "statusCode": 200
    }
  ],
  "total": 1,
  "hasMore": false
}
```
