> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.nvidia.com/fleet-intel/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.nvidia.com/fleet-intel/_mcp/server.

# List finalized XID bursts

GET /v1/xid/bursts

Returns the flat finalized-burst table for the authenticated customer. Results default to startTime descending (latest first), with burstId descending as the stable pagination tie-breaker.
The selected time range applies to burst start time using [startTime, endTime) and is required, matching GET /v1/events. Relative mode requires timeMode=relative and a positive Go duration window; absolute mode (default) requires startTime and endTime. Do not combine window with startTime/endTime. Absolute endTime must be after startTime.
Node-group and compute-zone filters use customer-scoped UUIDs, matching the node and alert APIs. Values are OR-combined within each dimension and AND-combined across dimensions. Exclusion filters select every assignment except the supplied IDs and cannot be combined with the inclusive filter for the same dimension. Filter option IDs and labels are available from GET /v1/nodes/options. Bursts on soft-deleted nodes are never returned.
Multiple xidNumbers are OR-combined: a burst matches if it contains any of the requested XIDs (including bursts that contain only one of them, or both). String search parameters are case-insensitive substring filters. Categories, subcategories, and action-code array parameters (e.g. tenantActions) are exact-match checkbox-style filters, OR-combined within the same parameter; their values come from GET /v1/xid/bursts/options. All filters across different columns/parameters are AND-combined, including a *Search param and its exact-match sibling. Action filters and searches match catalog action codes (not Guidance Classes text) and expand public alias codes (e.g. CONTACT_SUPPORT) to the raw DB forms they replace (RETURN_TO_PROVIDER, PULL_FROM_SERVICE), so options-published codes match stored bursts.
Response fields are shaped server-side from the caller's persona. Tenants receive jobDisruption, XID numbers with mnemonics, and tenant actions. Cloud-provider/NCP callers additionally receive category, subcategory, jobDisruptionDueToPlatformIssue, XID catalog descriptions, and DC-admin actions. Action text is resolved from the persona-appropriate Guidance Classes catalog. Each item includes nodeUuid, hostname, and the node's current nodeGroup/computeZone (display names and IDs), matching alert timeline Level 1 inventory enrichment.

Reference: https://docs.nvidia.com/fleet-intel/fleet-intel/api-explorer/xid/get-v-1-xid-bursts

## Request

### Query parameters

- `startTime` (string, optional) — Start time in RFC3339 format (required for absolute mode, e.g. 2024-01-01T01:00:00Z).
- `endTime` (string, optional) — End time in RFC3339 format (required for absolute mode). Must be after startTime.
- `timeMode` (enum, optional) — Time mode for range selection. Defaults to absolute.
  - Allowed values: `absolute`, `relative`
- `window` (string, optional) — Relative duration window (required for relative mode). Uses Go duration units h, m, and s; use 168h for 7 days ('d' is not supported)
- `nodeUUID` (string, optional) — Filter by node UUID
- `nodeGroupIds` (list of string, optional) — Filter to nodes in matching node groups by node group ID (OR within dimension)
- `computeZoneIds` (list of string, optional) — Filter to nodes in matching compute zones by compute zone ID (OR within dimension)
- `excludeNodeGroupIds` (list of string, optional) — Exclude nodes in matching node groups by node group ID (OR within dimension; cannot be combined with nodeGroupIds)
- `excludeComputeZoneIds` (list of string, optional) — Exclude nodes in matching compute zones by compute zone ID (OR within dimension; cannot be combined with computeZoneIds)
- `jobDisruption` (boolean, optional) — Filter by the public fatal-XID job-disruption definition
- `jobDisruptionDueToPlatformIssue` (boolean, optional) — Filter by analyzer platform-attributed disruption (cloud-provider/NCP only)
- `xidNumbers` (list of integer, optional) — Exact XID numbers; burst matches if it contains any of them (OR semantics)
- `hostnameSearch` (string, optional) — Case-insensitive hostname substring
- `categorySearch` (string, optional) — Case-insensitive category substring (cloud-provider/NCP only)
- `subcategorySearch` (string, optional) — Case-insensitive subcategory substring (cloud-provider/NCP only)
- `tenantActionSearch` (string, optional) — Case-insensitive tenant immediate-action code substring
- `tenantInvestigationSearch` (string, optional) — Case-insensitive tenant investigatory-action code substring
- `dcAdminActionSearch` (string, optional) — Case-insensitive DC-admin immediate-action code substring (cloud-provider/NCP only)
- `dcAdminInvestigationSearch` (string, optional) — Case-insensitive DC-admin investigatory-action code substring (cloud-provider/NCP only)
- `categories` (list of string, optional) — Exact category values from GET /v1/xid/bursts/options; OR-combined (cloud-provider/NCP only)
- `subcategories` (list of string, optional) — Exact subcategory values from GET /v1/xid/bursts/options; OR-combined (cloud-provider/NCP only)
- `tenantActions` (list of string, optional) — Exact tenant immediate-action codes from GET /v1/xid/bursts/options; OR-combined
- `tenantInvestigations` (list of string, optional) — Exact tenant investigatory-action codes from GET /v1/xid/bursts/options; OR-combined
- `dcAdminActions` (list of string, optional) — Exact DC-admin immediate-action codes from GET /v1/xid/bursts/options; OR-combined (cloud-provider/NCP only)
- `dcAdminInvestigations` (list of string, optional) — Exact DC-admin investigatory-action codes from GET /v1/xid/bursts/options; OR-combined (cloud-provider/NCP only)
- `sortBy` (enum, optional, default: startTime) — Sortable table column (cloud-provider/NCP only for jobDisruptionDueToPlatformIssue, category, subcategory, dcAdminAction, dcAdminInvestigation)
  - Allowed values: `jobDisruption`, `jobDisruptionDueToPlatformIssue`, `category`, `subcategory`, `xidNumbers`, `xidCount`, `burstDurationSeconds`, `nodeUuid`, `hostname`, `nodeGroup`, `computeZone`, `startTime`, `dcAdminAction`, `dcAdminInvestigation`, `tenantAction`, `tenantInvestigation`
- `sortOrder` (enum, optional, default: desc) — Sort direction
  - Allowed values: `asc`, `desc`
- `page` (integer, optional, default: 0) — Page number (0-indexed)
- `pageSize` (integer, optional, default: 20) — Page size (1-100)

## Response

### 200

OK

- `items` (list of object, optional)
  - `burstDurationSeconds` (integer, optional)
  - `burstId` (string, optional)
  - `category` (string, optional) — Category and Subcategory are cloud-provider/NCP-only fields.
  - `computeZone` (string, optional)
  - `computeZoneId` (string, optional)
  - `deviceIds` (map from string to list of integer, optional) — DeviceIDs maps each impacted GPU PCI device ID to the distinct XID numbers observed on that device in the burst.
  - `endTime` (datetime, optional)
  - `hostname` (string, optional)
  - `jobDisruption` (boolean, optional) — JobDisruption is true when any XID in the burst is job-fatal. It is identical for tenant and cloud-provider/NCP callers.
  - `jobDisruptionDueToPlatformIssue` (boolean, optional) — JobDisruptionDueToPlatformIssue is the analyzer's platform-attributed burst classification and is omitted for tenant callers.
  - `nodeGroup` (string, optional)
  - `nodeGroupId` (string, optional)
  - `nodeUuid` (string, optional)
  - `startTime` (datetime, optional)
  - `stickyXidsSuppressed` (integer, optional)
  - `subcategory` (string, optional)
  - `suggestedActions` (list of object, optional) — SuggestedActions contains tenant actions for tenants and all tenant plus dc_admin actions for cloud-provider/NCP callers. Action is resolved Guidance Classes text; Code is the catalog action code and Persona identifies the tenant or dc_admin UI section.
    - `action` (string, optional) — Resolution action from Guidance Classes sheet
    - `code` (string, optional) — Action code from NVIDIA XID catalog
    - `persona` (enum, optional) — Target persona; omitted when an endpoint has already reduced actions to one persona
      - Allowed values: `tenant`, `dc_admin`
    - `type` (enum, optional) — Action type: "immediate" or "investigatory"
      - Allowed values: `immediate`, `investigatory`
  - `xidCount` (integer, optional)
  - `xidNumbers` (list of object, optional)
    - `description` (string, optional) — Description is the XID catalog description and is cloud-provider/NCP-only.
    - `mnemonic` (string, optional)
    - `xidNumber` (integer, optional)
- `page` (integer, optional)
- `pageSize` (integer, optional)
- `total` (integer, optional) — Total is the number of finalized bursts matching all supplied filters before pagination.

## Examples

**Response**

```json
{
  "items": [
    {
      "burstDurationSeconds": 506,
      "burstId": "550e8400-e29b-41d4-a716-446655440000",
      "category": "NVLink",
      "computeZone": "compute-zone-1",
      "computeZoneId": "550e8400-e29b-41d4-a716-446655440000",
      "deviceIds": {},
      "endTime": "2026-07-17T11:33:59Z",
      "hostname": "machine-hostname-1",
      "jobDisruption": true,
      "jobDisruptionDueToPlatformIssue": true,
      "nodeGroup": "node-group-1",
      "nodeGroupId": "550e8400-e29b-41d4-a716-446655440001",
      "nodeUuid": "624fea4b-0000-0000-0000-0e5737890000",
      "startTime": "2026-07-17T11:25:33Z",
      "stickyXidsSuppressed": 0,
      "subcategory": "NVLink timeout",
      "suggestedActions": [
        {
          "action": "Restart the application",
          "code": "RESTART_APP",
          "persona": "tenant",
          "type": "immediate"
        }
      ],
      "xidCount": 3,
      "xidNumbers": [
        {
          "description": "Graphics Engine Exception",
          "mnemonic": "GR_EXCEPTION",
          "xidNumber": 13
        }
      ]
    }
  ],
  "page": 0,
  "pageSize": 20,
  "total": 200
}
```

**SDK Code**

```python
import requests

url = "https://api.example.com/v1/xid/bursts"

response = requests.get(url)

print(response.json())
```

```javascript
const url = 'https://api.example.com/v1/xid/bursts';
const options = {method: 'GET'};

try {
  const response = await fetch(url, options);
  const data = await response.json();
  console.log(data);
} catch (error) {
  console.error(error);
}
```

```go
package main

import (
	"fmt"
	"net/http"
	"io"
)

func main() {

	url := "https://api.example.com/v1/xid/bursts"

	req, _ := http.NewRequest("GET", url, nil)

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := io.ReadAll(res.Body)

	fmt.Println(res)
	fmt.Println(string(body))

}
```

```ruby
require 'uri'
require 'net/http'

url = URI("https://api.example.com/v1/xid/bursts")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)

response = http.request(request)
puts response.read_body
```

```java
import com.mashape.unirest.http.HttpResponse;
import com.mashape.unirest.http.Unirest;

HttpResponse<String> response = Unirest.get("https://api.example.com/v1/xid/bursts")
  .asString();
```

```php
<?php
require_once('vendor/autoload.php');

$client = new \GuzzleHttp\Client();

$response = $client->request('GET', 'https://api.example.com/v1/xid/bursts');

echo $response->getBody();
```

```csharp
using RestSharp;

var client = new RestClient("https://api.example.com/v1/xid/bursts");
var request = new RestRequest(Method.GET);
IRestResponse response = client.Execute(request);
```

```swift
import Foundation

let request = NSMutableURLRequest(url: NSURL(string: "https://api.example.com/v1/xid/bursts")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "GET"

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error as Any)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()
```