Skip to content

Export firewall configuration

POST/firewall-config/firewalls/{firewallId}/export

Firewall Management API · Firewall Config Import Export

Export the complete firewall configuration or specific entities.

Required permissionfwcm.firewall.api.config:write

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.
firewallId path string (uuid) Yes Firewall ID.

Request body

Content type: application/json

Request body fields

fullExportbooleanrequired
Export the complete firewall configuration.
includeDependencyboolean
Include dependent entities. Valid only when fullExport is false.
exportEntitiesarray of string
Entities to export. Required when fullExport is false.
Must contain at least 1 item. Items must be unique. Each item must be one of: AccessTimePolicy, AdminAuthentication, AdministrationProfile, AdminSettings, AdvancedConfiguration, AdvancedSMTPSetting, Alias, AntiSpamEmailArchiver, AntiSpamQuarantineDigestSettings, AntiSpamRules, AntiSpamTrustedDomain, AntiVirusFTP, AntiVirusHTTPScanningRule, AntiVirusHTTPsConfiguration, AntiVirusHTTPSScanningExceptions, AntiVirusMailSMTPScanningRules, ApplicationClassification, ApplicationClassificationBatchAssignment, ApplicationFilterCategory, ApplicationFilterPolicy, ApplicationObject, ARPConfiguration, ArpFlux, ATP, AuthCTA, AuthenticationServer, AuthThinclient, AVASAddressGroup, AWSVPC, AzureADSSO, BackupRestore, BookmarkManagement, BridgePair, BridgeStaticEntry, CellularWAN, CellularWANSettings, Certificate, CertificateAuthority, ChromebookSSOLogin, CliDhcp, ClientlessUser, ConnectWiseConfiguration, ContentConditionList, CountryGroup, CreateUnboundedLag, CreateUnboundedLagTap, CreateUnboundedVlan, CRL, CrVlanTag, CustomView, DataControlList, DataManagement, DataTransferPolicy, DecryptionProfile, DefaultCaptivePortal, DefaultInternetScheme, DefaultWebFilterNotificationSettings, DHCP, DHCPBinding, DhcpLeaseOverIpSec, DHCPRelay, DHCPServer, DHCPServerIpv6, DHCPV6, DHCPV6Binding, DiagnosticsSettings, DirectWebProxyAuthentication, DKIMSigning, DKIMVerification, DNS, DNSHostEntry, DNSRequestRoute, DoSBypassRules, DoSSettings, DynamicDNS, EACAppConfiguration, EditBridgeMember, EmailConfiguration, ExceptionPolicy, FileType, FirewallAuthentication, FirewallRule, FirewallRuleGroup, FormTemplate, FourEyeAuthenticationDeAnonymize, FourEyeAuthenticationSettings, FQDNHost, FQDNHostGroup, FqdnHostSetting, GatewayConfiguration, GatewayHost, GreRoute, GreTunnel, GuestUser, GuestUserSettings, HAConfigure, HealthCheckProfile, Hotfix, Hotspot, HttpProxy, Interface, InternetScheme, IPHost, IPHostGroup, IPSCustomSignature, IPSecRoute, IPSFullSignaturePack, IPSPolicy, IPSSwitch, IPTunnel, IPV4ParentProxy, IPV6ParentProxy, IviewCustomLogo, L2TPConfiguration, L2TPConnection, LAG, LagManagement, Letsencrypt, LinkFailover, LinkManagement, LiveUserDisconnect, LocalServiceACL, MACHost, MalwareProtection, Messages, MTAAddressGroup, MtaBlockedSenders, MTADataControlList, MTASPXConfiguration, MTASPXTemplates, MulticastConfiguration, MulticastRoute, NATRule, NetFlowConfiguration, Notification, Notificationlist, Oauth2, OTPSettings, OTPTokens, OverridePolicy, OverridePolicyTokenList, ParentProxy, PatternDownload, PIMDynamicRouting, PopImapScanning, POPIMAPScanningPolicy, PPTPConfiguration, ProtocolSecurity, ProxyArp, QoSPolicy, QoSSettings, RealServers, RED, REDDevice, RelaySettings, ReportNotification, ReverseAuthentication, RoutePrecedence, RouterAdvertisement, Schedule, SDWANPolicyRoute, SDWANProfile, SelfSignedCertificateAuthority, ServiceGroup, ServiceParam, Services, SiteToSiteClient, SiteToSiteServer, SmarthostSettings, SMSGateway, SMTPPolicy, SNMPAgentConfiguration, SNMPCommunity, SNMPv3User, SophosAdaptiveLearning, SophosConnectClient, SpoofPrevention, SPXConfiguration, SPXTemplates, SSLBookmark, SSLBookmarkGroup, SSLTLSInspectionRule, SSLTLSInspectionSettings, SSLTunnelAccessSettings, SSLVPNAuthentication, SSLVPNPolicy, StaticARP, SupportAccess, SurfingQuotaPolicy, SYNCOTPTokens, SyslogServers, SystemModules, SystemServices, TAP, ThirdPartyFeed, Time, TrustedMAC, UnicastRoute, User, UserActivity, UserGroup, UserPortalAuthentication, VarPartitionUsageWatermark, VirtualHostFailoverNotification, VLAN, VoucherDefinition, VPNAuthentication, VpnConfiguration, VpnConnRemoveOnFailover, VpnConnRemoveTunnelUp, VPNFailoverGroup, VPNIPSecConnection, VPNPortalAuthentication, VPNProfile, WAFSessionManagementSettings, WAFSlowHTTP, WAFTLS, WebAuthentication, WebFilterAdvancedSettings, WebFilterCategory, WebFilterException, WebFilterNotificationSettings, WebFilterPolicy, WebFilterProtectionSettings, WebFilterSettings, WebFilterURLGroup, WebProxy, WiFi6Interface, WirelessAccessPoint, WirelessLocalAP, WirelessMeshNetworks, WirelessNetworks, WirelessNetworkStatus, WirelessProtectionGlobalSettings, XFRMInterface, ZeroDayProtectionSettings, Zone.

Request samples

curl -X POST "https://api-<data-region>.central.sophos.com/firewall/v1/firewall-config/firewalls/<firewallId>/export" -H "Authorization: Bearer <access-token>" -H "X-Partner-ID: <partner-id>" -H "X-Tenant-ID: <tenant-id>" -H "Content-Type: application/json" -d "{
  \"fullExport\": true
}"

import requests

response = requests.post(
    "https://api-<data-region>.central.sophos.com/firewall/v1/firewall-config/firewalls/<firewallId>/export",
    headers={
        "Authorization": "Bearer <access-token>",
        "X-Partner-ID": "<partner-id>",
        "X-Tenant-ID": "<tenant-id>",
        "Content-Type": "application/json",
    },
    json={'fullExport': True},
)
print(response.json())

$headers = @{
    "Authorization" = "Bearer <access-token>"
    "X-Partner-ID" = "<partner-id>"
    "X-Tenant-ID" = "<tenant-id>"
    "Content-Type" = "application/json"
}
$body = '{
  "fullExport": true
}'
Invoke-RestMethod -Method POST -Uri "https://api-<data-region>.central.sophos.com/firewall/v1/firewall-config/firewalls/<firewallId>/export" -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/firewall/v1/firewall-config/firewalls/<firewallId>/export", strings.NewReader(`{
  "fullExport": true
}`))
    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>")
    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/firewall/v1/firewall-config/firewalls/<firewallId>/export", {
  method: "POST",
  headers: {
    "Authorization": "Bearer <access-token>",
    "X-Partner-ID": "<partner-id>",
    "X-Tenant-ID": "<tenant-id>",
    "Content-Type": "application/json",
  },
  body: JSON.stringify({
  "fullExport": true
}),
});
const data = await response.json();
console.log(data);

Responses

202 — Request accepted.

Response fields

transactionIdstring (uuid)required

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

202

{
  "transactionId": "b1c2d3e4-f5a6-4789-abcd-ef0123456789"
}

See the guide for a narrative walkthrough of this API.