Scaleway logo
Edge Services API

A WAF stage is part of a pipeline. It allows you to protect your origin from malicious requests, enhancing security. You can choose to either block or log the threats that are identified, and set a paranoia level to determine the sensitivity of the threat detection engine. Note that including a WAF stage in your pipeline is optional.


List WAF stages

GET
https://api.scaleway.com
/edge-services/v1beta1/pipelines/{pipeline_id}/waf-stages

List all WAF stages, for a Scaleway Organization or Scaleway Project. By default, the WAF stages returned in the list are ordered by creation date in ascending order, though this can be modified via the order_by field.

List WAF stages › path Parameters

pipeline_id
​string · required

Pipeline ID to filter for. Only WAF stages from this pipeline will be returned.

List WAF stages › query Parameters

Sort order of WAF stages in the response.

Enum values:
created_at_asc
created_at_desc
Default: created_at_asc
page
​integer · int32

Page number to return, from the paginated results.

page_size
​integer · uint32

Number of WAF stages to return per page.

List WAF stages › Responses

200

Paginated list of WAF stages.

total_count
​integer · uint64

Count of all WAF stages matching the requested criteria.


Create WAF stage

POST
https://api.scaleway.com
/edge-services/v1beta1/pipelines/{pipeline_id}/waf-stages

Create a new WAF stage. You must specify the mode and paranoia_level fields to customize the WAF.

Create WAF stage › path Parameters

pipeline_id
​string · required

Pipeline ID the WAF stage belongs to. (UUID format)

Create WAF stage › Request Body

Mode defining WAF behavior (disable/log_only/enable).

Enum values:
unknown_mode
disable
log_only
enable
Default: unknown_mode
paranoia_level
​integer · uint32

Sensitivity level (1,2,3,4) to use when classifying requests as malicious. With a high level, requests are more likely to be classed as malicious, and false positives are expected. With a lower level, requests are more likely to be classed as benign.

List of OWASP® CRS rule IDs excluded from WAF.

backend_stage_id
​string | null

ID of the backend stage to forward requests to after the WAF stage. (UUID format)

Create WAF stage › Responses

200
id
​string

ID of the WAF stage.

pipeline_id
​string

Pipeline ID the WAF stage belongs to.

Mode defining WAF behavior (disable/log_only/enable).

Enum values:
unknown_mode
disable
log_only
enable
Default: unknown_mode
paranoia_level
​integer · uint32

Sensitivity level (1,2,3,4) to use when classifying requests as malicious. With a high level, requests are more likely to be classed as malicious, and false positives are expected. With a lower level, requests are more likely to be classed as benign.

Current status of the stage.

Enum values:
unknown_status
inactive
active
Default: unknown_status
created_at
​string | null · date-time

Date the WAF stage was created. (RFC 3339 format)

updated_at
​string | null · date-time

Date the WAF stage was last updated. (RFC 3339 format)

backend_stage_id
​string | null

ID of the backend stage to forward requests to after the WAF stage. (UUID format)

List of OWASP® CRS rule IDs excluded from WAF.


Get WAF stage

GET
https://api.scaleway.com
/edge-services/v1beta1/waf-stages/{waf_stage_id}

Retrieve information about an existing WAF stage, specified by its waf_stage_id. Its full details are returned in the response object.

Get WAF stage › path Parameters

waf_stage_id
​string · required

ID of the requested WAF stage.

Get WAF stage › Responses

200
id
​string

ID of the WAF stage.

pipeline_id
​string

Pipeline ID the WAF stage belongs to.

Mode defining WAF behavior (disable/log_only/enable).

Enum values:
unknown_mode
disable
log_only
enable
Default: unknown_mode
paranoia_level
​integer · uint32

Sensitivity level (1,2,3,4) to use when classifying requests as malicious. With a high level, requests are more likely to be classed as malicious, and false positives are expected. With a lower level, requests are more likely to be classed as benign.

Current status of the stage.

Enum values:
unknown_status
inactive
active
Default: unknown_status
created_at
​string | null · date-time

Date the WAF stage was created. (RFC 3339 format)

updated_at
​string | null · date-time

Date the WAF stage was last updated. (RFC 3339 format)

backend_stage_id
​string | null

ID of the backend stage to forward requests to after the WAF stage. (UUID format)

List of OWASP® CRS rule IDs excluded from WAF.


Update WAF stage

PATCH
https://api.scaleway.com
/edge-services/v1beta1/waf-stages/{waf_stage_id}

Update the parameters of an existing WAF stage, specified by its waf_stage_id. Both mode and paranoia_level parameters can be updated.

Update WAF stage › path Parameters

waf_stage_id
​string · required

ID of the WAF stage to update.

Update WAF stage › Request Body

Mode defining WAF behavior (disable/log_only/enable).

Enum values:
unknown_mode
disable
log_only
enable
Default: unknown_mode
paranoia_level
​integer | null · uint32

Sensitivity level (1,2,3,4) to use when classifying requests as malicious. With a high level, requests are more likely to be classed as malicious, and false positives are expected. With a lower level, requests are more likely to be classed as benign.

List of OWASP® CRS rule IDs excluded from WAF.

backend_stage_id
​string | null

ID of the backend stage to forward requests to after the WAF stage. (UUID format)

Update WAF stage › Responses

200
id
​string

ID of the WAF stage.

pipeline_id
​string

Pipeline ID the WAF stage belongs to.

Mode defining WAF behavior (disable/log_only/enable).

Enum values:
unknown_mode
disable
log_only
enable
Default: unknown_mode
paranoia_level
​integer · uint32

Sensitivity level (1,2,3,4) to use when classifying requests as malicious. With a high level, requests are more likely to be classed as malicious, and false positives are expected. With a lower level, requests are more likely to be classed as benign.

Current status of the stage.

Enum values:
unknown_status
inactive
active
Default: unknown_status
created_at
​string | null · date-time

Date the WAF stage was created. (RFC 3339 format)

updated_at
​string | null · date-time

Date the WAF stage was last updated. (RFC 3339 format)

backend_stage_id
​string | null

ID of the backend stage to forward requests to after the WAF stage. (UUID format)

List of OWASP® CRS rule IDs excluded from WAF.


Delete WAF stage

DELETE
https://api.scaleway.com
/edge-services/v1beta1/waf-stages/{waf_stage_id}

Delete an existing WAF stage, specified by its waf_stage_id. Deleting a WAF stage is permanent, and cannot be undone.

Delete WAF stage › path Parameters

waf_stage_id
​string · required

ID of the WAF stage to delete.

Delete WAF stage › Responses

No data returned