> ## 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.

# Sandboxgebeurtenissen

Sandboxgebeurtenissen bieden een doorzoekbare tijdlijn van belangrijke bewerkingen in de levenscyclus van een sandbox. Je kunt gebeurtenissen gebruiken voor probleemoplossing, auditing, gebruiksanalyse en afstemming van facturering.

## Sandboxgebeurtenissen opvragen

Gebruik de events API om sandboxgebeurtenissen voor je account weer te geven. Je kunt gebeurtenissen filteren op sandbox, template, gebeurtenistype, status en tijdsbereik.

### Gebeurtenissen opvragen met de SDK's

<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>

### Gebeurtenissen opvragen voor een sandboxinstantie

Als je al een sandboxinstantie hebt, gebruik dan de events-methode op instantieniveau om gebeurtenissen voor die sandbox op te vragen.

<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>

## Gebeurtenissen filteren

Gebruik queryparameters om de gebeurtenistijdlijn te verfijnen.

| Optie        | Type     | Vereist | Standaard / Limiet                         | Beschrijving                                                                                                                                         |
| ------------ | -------- | ------- | ------------------------------------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------- |
| `startTime`  | `int64`  | Nee     | Standaard `endTime - 30 days`              | Begintijd van de query als een Unix-tijdstempel in seconden. Het bereik is inclusief.                                                                |
| `endTime`    | `int64`  | Nee     | Standaard de huidige tijd                  | Eindtijd van de query als een Unix-tijdstempel in seconden. Moet groter zijn dan `startTime`.                                                        |
| `sandboxID`  | `string` | Nee     | -                                          | Filter op sandbox-ID. Gedeeltelijke overeenkomsten worden ondersteund.                                                                               |
| `templateID` | `string` | Nee     | -                                          | Filter op template-ID. Gedeeltelijke overeenkomsten worden ondersteund.                                                                              |
| `events`     | `string` | Nee     | Standaard de set met sleutelgebeurtenissen | Door komma's gescheiden gebeurtenistypen. De huidige set met sleutelgebeurtenissen is `create`, `pause`, `resume`, `connect`, `timeout` en `delete`. |
| `state`      | `string` | Nee     | -                                          | Filter op gebeurtenisstatus, zoals `success` of een foutstatus.                                                                                      |
| `orderAsc`   | `bool`   | Nee     | `false`                                    | Sorteer gebeurtenissen op `recordAt` in oplopende volgorde. Standaard worden gebeurtenissen in aflopende volgorde geretourneerd.                     |
| `offset`     | `int32`  | Nee     | Standaard `0`, minimum `0`                 | Aantal gebeurtenissen dat moet worden overgeslagen.                                                                                                  |
| `limit`      | `int32`  | Nee     | Standaard `10`, minimum `1`, maximum `100` | Maximumaantal gebeurtenissen dat moet worden geretourneerd.                                                                                          |

<Note>
  Tijdvelden gebruiken Unix-tijdstempels in seconden. Geef geen tijdstempels in milliseconden door.

  Het maximale tijdsbereik voor een query is 60 dagen. Voor langere tijdlijnen splits je verzoeken op in meerdere kleinere tijdsbereiken.
</Note>

## Paginering

Gebeurtenissen gebruiken paginering op basis van offset. Begin met `offset: 0`; als `hasMore` `true` is, vraag dan de volgende pagina op met `offset + limit`. De maximale `limit` is 100.

## Responsvelden

De events-respons bevat een `items`-array en pagineringsmetadata.

| Veld      | Beschrijving                                                               |
| --------- | -------------------------------------------------------------------------- |
| `items`   | Lijst met sandboxgebeurtenissen die overeenkomen met de query.             |
| `total`   | Totaalaantal gebeurtenissen dat overeenkomt met de query, vóór paginering. |
| `hasMore` | Of er meer gebeurtenissen beschikbaar zijn na de huidige pagina.           |

Elk item in `items` heeft de volgende velden.

| Veld           | Beschrijving                                                                                                           |
| -------------- | ---------------------------------------------------------------------------------------------------------------------- |
| `eventID`      | Unieke gebeurtenis-ID.                                                                                                 |
| `recordAt`     | Registratietijd van de gebeurtenis als een Unix-tijdstempel in seconden.                                               |
| `templateID`   | Template-ID die door de sandbox wordt gebruikt.                                                                        |
| `templateName` | Templatenaam die door de sandbox wordt gebruikt.                                                                       |
| `sandboxID`    | Sandbox-ID.                                                                                                            |
| `eventName`    | Gebeurtenistype, zoals `create`, `pause`, `resume`, `connect`, `timeout` of `delete`.                                  |
| `state`        | Gebeurtenisstatus.                                                                                                     |
| `errorMsg`     | Foutmelding wanneer de gebeurtenis is mislukt of een uitzondering is opgetreden. Meestal leeg wanneer er geen fout is. |
| `statusCode`   | HTTP-statuscode die aan de bewerking is gekoppeld, indien beschikbaar.                                                 |

## Voorbeeldrespons

```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
}
```
