Skip to main content

WAAP-protected domain management

After adding a domain to WAAP protection, it appears on the Domains page in the CDB Technical Web Portal. This page displays all domains and their statuses, provides access to CDN settings, and allows deletion of Disabled domains.

Domains page in the Customer Portal

A domain in WAAP can have the following statuses:

  • Monitoring: WAAP monitors all traffic to the domain but does not enforce any actions on requests.

  • Protection: WAAP enforces all configured security settings for the domain.

  • Disabled: The domain is not protected because WAAP is disabled. You can always enable WAAP for Disabled domains from the WAAP Domains page. Note that Disabled domains are billed for the current billing month.

WAAP protection deactivation

A Disabled domain is counted for the current billing month. Starting from the next billing month, it no longer appears in usage metrics. To avoid being billed for a domain in a given month, disable it before that billing month begins.

To disable WAAP protection for a domain:

  1. 1

    In the CDB Technical Web Portal, navigate to WAAP > Domains.

  2. 2

    Find the domain in the list.

  3. 3

    In the WAAP domain mode column, click the mode dropdown and select Disabled.

    WAAP modes dropdown on Domains page

Changes can take up to 20 minutes to propagate across the system.

After you disable WAAP protection for a domain, requests continue through the CDN and its cache but bypass WAAP inspection. The domain status on the WAAP > Domains page changes to Disabled. All WAAP settings and configured rules remain intact and can be modified. The settings do not take effect while WAAP is disabled.

To activate WAAP protection again:

  1. 1

    Navigate to WAAP > Domains.

  2. 2

    Click the mode dropdown next to the domain.

  3. 3

    Select Monitoring or Protection.

If the CDN resource is re-enabled through CDN > CDN resources rather than through WAAP > Domains, the WAAP mode resets to Monitoring. If you had Protection mode before, select it again from the WAAP > Domains mode dropdown after re-enabling.

Domain removal from WAAP

Deleting a domain permanently removes it from WAAP, including all configured rules, firewall settings, and other WAAP settings. This action cannot be undone.

A domain cannot be deleted while WAAP protection is enabled. To delete the domain, disable WAAP from the WAAP domain mode dropdown first. The domain status must change to Disabled.

To delete a Disabled domain:

  1. 1

    In the CDB Technical Web Portal, navigate to WAAP > Domains.

  2. 2

    Click the three-dot icon next to the domain that you want to remove.

  3. 3

    Select Delete.

  4. 4

    Confirm your action by clicking Delete.

The domain has been successfully removed from WAAP.

CDN resource suspension

If you suspend a CDN resource with enabled WAAP, the domain status changes to Disabled. The CDN resource is no longer serving traffic, so content is unavailable to customers.

A Disabled domain is counted for the current billing month. Starting from the next billing month, it no longer appears in usage metrics. To avoid being billed for a domain in a given month, disable it before that billing month begins.

While the CDN resource is suspended, WAAP settings remain intact. The resource can be reactivated within 90 days of suspension; after this period, it is deleted.

CDN resource deletion

If you follow the CDN resource deletion procedure for a resource with WAAP enabled, the associated domain and all its WAAP settings are automatically removed.

The Get Domain Details and Delete Domain endpoints cover checking a domain's protection status and deleting a Disabled domain. Switching between Monitoring and Protection modes is covered in the domain setup guide. The domain-status response example includes only the fields referenced in this article.

An API token is required. Use List Domains — GET /docs/waap/v2/domains — to retrieve the domain ID.

export GCORE_API_KEY="{YOUR_API_KEY}"
export WAAP_DOMAIN_ID="{YOUR_DOMAIN_ID}"

Domain status

Retrieve the current protection status and basic details of a specific domain. The API uses different names for statuses than the Customer Portal:

Customer PortalAPI value
Protectionactive
Monitoringmonitor
Disabledbypass
—locked

The API can also return locked. This value cannot be set through the Set Domain Status endpoint.

import gcore
import os

client = gcore.CDB()
domain_id = int(os.environ["WAAP_DOMAIN_ID"])

domain = client.waap.domains.get(domain_id)
print(f"id={domain.id}  name={domain.name}  status={domain.status}")
package main

import (
    "context"
    "fmt"
    "os"
    "strconv"

    gcore "github.com/G-Core/gcore-go"
)

func main() {
    client := gcore.NewClient()
    domainID, err := strconv.ParseInt(os.Getenv("WAAP_DOMAIN_ID"), 10, 64)
    if err != nil {
        panic(fmt.Errorf("invalid WAAP_DOMAIN_ID: %w", err))
    }

    domain, err := client.Waap.Domains.Get(context.Background(), domainID)
    if err != nil {
        panic(err)
    }
    fmt.Printf("id=%d  name=%s  status=%s\n", domain.ID, domain.Name, domain.Status)
}
curl -X GET "https://api.cdb-staging.cdn.orange.com/waap/v2/domains/${WAAP_DOMAIN_ID}" \
  -H "Authorization: apikey ${GCORE_API_KEY}"

Response:

{
  "id": 12345,
  "name": "example.com",
  "status": "monitor"
}

The status field returns the API value from the table above. The bypass state is set by selecting Disabled from the mode dropdown on the WAAP > Domains page. The WAAP API only supports switching between active and monitor.

Domain deletion

Deleting a domain permanently removes it from WAAP, including all configured rules, firewall settings, and other WAAP settings. This action cannot be undone.

The domain must have Disabled status before deletion. To disable a domain, select Disabled from the mode dropdown on the WAAP > Domains page. The WAAP API only supports switching between active and monitor and cannot set the Disabled state.

import gcore
import os

client = gcore.CDB()
domain_id = int(os.environ["WAAP_DOMAIN_ID"])

client.waap.domains.delete(domain_id)
print("Domain deleted")
package main

import (
    "context"
    "fmt"
    "os"
    "strconv"

    gcore "github.com/G-Core/gcore-go"
)

func main() {
    client := gcore.NewClient()
    domainID, err := strconv.ParseInt(os.Getenv("WAAP_DOMAIN_ID"), 10, 64)
    if err != nil {
        panic(fmt.Errorf("invalid WAAP_DOMAIN_ID: %w", err))
    }

    err = client.Waap.Domains.Delete(context.Background(), domainID)
    if err != nil {
        panic(err)
    }
    fmt.Println("Domain deleted")
}
curl -X DELETE "https://api.cdb-staging.cdn.orange.com/waap/v2/domains/${WAAP_DOMAIN_ID}" \
  -H "Authorization: apikey ${GCORE_API_KEY}"

The API returns 204 with an empty body on success. Attempting to delete a domain that is not in Disabled status returns 422.