Skip to content

Retrieve transaction

GET/firewall-config/firewalls/{firewallId}/transactions/{transactionId}

Firewall Management API · Firewall Config

Retrieve transaction by Id for given firewall.

Required permissionfwcm.firewall.api.config:read

Parameters

Name In Type Required Description
X-Tenant-ID header string (uuid) Yes Tenant ID.
firewallId path string (uuid) Yes Firewall ID.
transactionId path string (uuid) Yes Transaction ID.
fields query array of string No Return the specified fields.Valid fields are request, response, expiryAt, finishedAt.

Request samples

curl -X GET "https://api-<data-region>.central.sophos.com/firewall/v1/firewall-config/firewalls/<firewallId>/transactions/<transactionId>" -H "Authorization: Bearer <access-token>" -H "X-Tenant-ID: <tenant-id>"

import requests

response = requests.get(
    "https://api-<data-region>.central.sophos.com/firewall/v1/firewall-config/firewalls/<firewallId>/transactions/<transactionId>",
    headers={
        "Authorization": "Bearer <access-token>",
        "X-Tenant-ID": "<tenant-id>",
    },
)
print(response.json())

$headers = @{
    "Authorization" = "Bearer <access-token>"
    "X-Tenant-ID" = "<tenant-id>"
}
Invoke-RestMethod -Method GET -Uri "https://api-<data-region>.central.sophos.com/firewall/v1/firewall-config/firewalls/<firewallId>/transactions/<transactionId>" -Headers $headers

package main

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

func main() {
    req, err := http.NewRequest("GET", "https://api-<data-region>.central.sophos.com/firewall/v1/firewall-config/firewalls/<firewallId>/transactions/<transactionId>", nil)
    if err != nil {
        panic(err)
    }
    req.Header.Set("Authorization", "Bearer <access-token>")
    req.Header.Set("X-Tenant-ID", "<tenant-id>")

    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/firewall/v1/firewall-config/firewalls/<firewallId>/transactions/<transactionId>", {
  method: "GET",
  headers: {
    "Authorization": "Bearer <access-token>",
    "X-Tenant-ID": "<tenant-id>",
  },
});
const data = await response.json();
console.log(data);

Responses

200 — Transaction detail retrieved successfully.

Response fields

idstring (uuid)required
statusstring
Transaction status.
Must be one of: pending, started, finished.
resultstring
Result status.
Must be one of: notAvailable, success, error, partialSuccess.
createdAtstring (date-time)
finishedAtstring (date-time)
expiryAtstring (date-time)
responseobject
Response object received from firewall.
requestobject
Transaction request called.
Show child attributesHide child attributes
methodstring
Method type of request called.
pathstring
Request path.
queryarray of object
Show child attributesHide child attributes
keystring
valuestring

Errors

Status Meaning
400 Bad request.
401 Authentication required.
403 Authorization required.
404 Resource not found.
500 Unexpected error.

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

Response examples

200

{
  "id": "00000000-0000-0000-0000-000000000000",
  "status": "pending",
  "result": "notAvailable",
  "createdAt": "2026-07-28T00:00:00Z",
  "finishedAt": "2026-07-28T00:00:00Z",
  "expiryAt": "2026-07-28T00:00:00Z",
  "response": {},
  "request": {
    "method": "string",
    "path": "string",
    "query": [
      {
        "key": "string",
        "value": "string"
      }
    ]
  }
}

See the guide for a narrative walkthrough of this API.