Skip to content

Cancel query run

POST/queries/runs/{runId}/cancel

XDR Query API · Runs

Cancel a query run by ID.

Required permissionxdr.query:execute

Parameters

Name In Type Required Description
X-Tenant-ID header string (uuid) No Tenant ID.
runId path string (uuid) Yes Query run ID.

Request body

Content type: application/json

Request samples

curl -X POST "https://api-<data-region>.central.sophos.com/xdr-query/v1/queries/runs/<runId>/cancel" -H "Authorization: Bearer <access-token>" -H "X-Tenant-ID: <tenant-id>" -H "Content-Type: application/json" -d "{}"

import requests

response = requests.post(
    "https://api-<data-region>.central.sophos.com/xdr-query/v1/queries/runs/<runId>/cancel",
    headers={
        "Authorization": "Bearer <access-token>",
        "X-Tenant-ID": "<tenant-id>",
        "Content-Type": "application/json",
    },
    json={},
)
print(response.json())

$headers = @{
    "Authorization" = "Bearer <access-token>"
    "X-Tenant-ID" = "<tenant-id>"
    "Content-Type" = "application/json"
}
$body = '{}'
Invoke-RestMethod -Method POST -Uri "https://api-<data-region>.central.sophos.com/xdr-query/v1/queries/runs/<runId>/cancel" -Headers $headers -Body $body -ContentType "application/json"

package main

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

func main() {
    req, err := http.NewRequest("POST", "https://api-<data-region>.central.sophos.com/xdr-query/v1/queries/runs/<runId>/cancel", strings.NewReader(`{}`))
    if err != nil {
        panic(err)
    }
    req.Header.Set("Authorization", "Bearer <access-token>")
    req.Header.Set("X-Tenant-ID", "<tenant-id>")
    req.Header.Set("Content-Type", "application/json")

    resp, err := http.DefaultClient.Do(req)
    if err != nil {
        panic(err)
    }
    defer resp.Body.Close()

    body, _ := io.ReadAll(resp.Body)
    fmt.Println(string(body))
}

const response = await fetch("https://api-<data-region>.central.sophos.com/xdr-query/v1/queries/runs/<runId>/cancel", {
  method: "POST",
  headers: {
    "Authorization": "Bearer <access-token>",
    "X-Tenant-ID": "<tenant-id>",
    "Content-Type": "application/json",
  },
  body: JSON.stringify({}),
});
const data = await response.json();
console.log(data);

Responses

200 — Query run canceled.

Response fields

canceledboolean
Whether the query run was canceled.

Errors

Status Meaning
403 Forbidden.
404 Can't find query run.
500 Unexpected error.

All error responses share the same shape — see the error response object.

Response examples

200

{
  "canceled": true
}

See the guide for a narrative walkthrough of this API.