Skip to content

Get transaction details

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

Firewall Management API · Firewall Config Import Export

Retrieve transaction details by ID.

Required permissionfwcm.firewall.api.config:read

Parameters

Name In Type Required Description
X-Partner-ID header string (uuid) No Optional partner ID.
X-Tenant-ID header string (uuid) No Optional tenant ID.
transactionId path string (uuid) Yes Transaction ID.

Request samples

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

import requests

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

$headers = @{
    "Authorization" = "Bearer <access-token>"
    "X-Partner-ID" = "<partner-id>"
    "X-Tenant-ID" = "<tenant-id>"
}
Invoke-RestMethod -Method GET -Uri "https://api-<data-region>.central.sophos.com/firewall/v1/firewall-config/firewalls/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/transactions/<transactionId>", nil)
    if err != nil {
        panic(err)
    }
    req.Header.Set("Authorization", "Bearer <access-token>")
    req.Header.Set("X-Partner-ID", "<partner-id>")
    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/transactions/<transactionId>", {
  method: "GET",
  headers: {
    "Authorization": "Bearer <access-token>",
    "X-Partner-ID": "<partner-id>",
    "X-Tenant-ID": "<tenant-id>",
  },
});
const data = await response.json();
console.log(data);

Responses

200 — Status 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": "15a7f8ea-691c-4f03-862e-3cefb102818e",
  "status": "finished",
  "result": "success",
  "createdAt": "2026-01-20T10:05:00Z",
  "finishedAt": "2026-01-20T10:08:30Z",
  "expiryAt": "2026-01-21T10:05:00Z",
  "response": {
    "uploadStatus": "success",
    "items": [
      {
        "firewallId": "2ba7f8ea-691c-4f03-862e-3cefb1028132",
        "status": "finished",
        "result": "success"
      },
      {
        "firewallId": "1c91e7b9-4d4c-4e5d-9b2e-2f7d9c1a8b34",
        "status": "finished",
        "result": "success"
      }
    ]
  },
  "request": {
    "method": "POST",
    "path": "firewalls/import"
  }
}

See the guide for a narrative walkthrough of this API.