Network Protect

The Network Protect API lets you register customer-owned IP space, configure GRE delivery endpoints, manage reusable source prefix lists, and define ordered rules that filter network-layer DDoS traffic.

Data model

Conflict returned when resource state prevents the request.

detailstringExplanation of the conflicting resource state. Required.
errorsarrayOptional conflict error details.
statusintegerHTTP status code for this error. Required.
titlestringShort summary of the conflict. Required.
errorstringExplanation of the conflict for the field.
fieldstringRequest field associated with the conflict.
ip_addressstringThe GRE destination address, unique within the customer. It cannot be changed after endpoint creation.
namestringA human-readable name, unique within the customer.
endpointsarrayThe endpoints serving a policy region.
regionstringThe region served by this policy.s the only accepted value. [Default default]
created_atstringAn ISO 8601 timestamp in UTC. Read-only.
idstringA read-only unique identifier for a Network Protect resource. Read-only.
updated_atstringAn ISO 8601 timestamp in UTC. Read-only.
metaobjectPagination metadata for a collection response.
limitintegerEffective page limit after defaulting and clamping. [Default 100]
next_cursorstringContinuation value to send as cursor when more resources remain. Omitted on the final page.
advertisebooleanDesired advertisement state, which is not the same as observed route state. Enabling it requires approved LOA, valid ROA, and a ready default-region delivery policy. A later ROA failure does not turn an existing advertisement off; losing LOA approval or the last ready default endpoint does. [Default false]
descriptionstringOptional descriptive text for the network. This metadata does not change traffic handling. Null clears it on update.
endpoint_policiesarrayComplete endpoint policy configuration. A network has at most one policy per region and may have no policies.
prefixstringThe CIDR block to protect, masked to its network address. It cannot be changed after creation.
rule_set_idstringThe backend-assigned rule set applied to this network.
loa_statusstringFastly operator status for the Letter of Authorization. A status of pending means review is incomplete; approved means operators accepted it; and rejected means they declined it. An approved LOA alone does not make a network ready for advertisement. Read-only.
roa_checked_atstringWhen Fastly last completed a ROA check. Null while the status is pending. A failed check leaves this unchanged; an old value can indicate delayed or failing checks. Null also means the controller did not report a check time. Read-only.
roa_data_as_ofstringWhen the RPKI dataset used by the last check was built. This is not the same as roa_checked_at; a recent check can use an older dataset. Null while the status is pending or when no dataset build time was reported. Read-only.
roa_statusstringWhether a Route Origin Authorization permits Fastly to announce this prefix. Fastly refreshes this on a schedule; reading a network never triggers a check, so this can be older than the moment you read it. A status of pending means no check has completed; valid authorizes Fastly at this prefix length; invalid means a covering ROA does not authorize Fastly; and not_found means no ROA covers the prefix. The controller may omit an unrecognized status, and omission is not an authorization result. A valid ROA alone does not make a network ready for advertisement. Read-only.
endpoint_idstringA unique identifier for a Network Protect resource.
preferenceintegerDelivery preference within a policy. Lower values are preferred first. Two endpoints in the same policy cannot share a value.
addressesarrayComplete canonical list contents. Bare addresses are canonicalized, CIDRs are masked, equivalent entries are deduplicated, and overlaps are retained.
familystringThe address family; it cannot change after creation.
actionstringAction for traffic matching this rule.
commentstringOptional rule metadata of 1 to 100 Unicode code points. It does not participate in traffic matching. Omit it to leave a rule without a comment; replacing rules with an item that omits it clears the stored comment. Omitting rules on PATCH preserves existing comments. Empty strings and null are rejected.
destination_ip_addressstringMatch traffic sent to this address; omit for any destination. An address outside a Network using this Rule Set never matches and still consumes one of the 64 rules. The API does not enforce containment in a network prefix; attached Rule Sets require a compatible IP family.
destination_portsstringMatch traffic sent to this port or port range.
ip_protocolstringThe IP protocol to match. Omit to match any protocol.
source_portsstringMatch traffic from this port or port range.
source_prefix_list_idstringMatch traffic whose source appears in this prefix list.
default_actionstringAction when no rule matches.
rulesarrayRules in evaluation order with read-only timestamps.

Endpoints

List Network Protect networks

GET/network-protect/v1/networks

Create a Network Protect network

POST/network-protect/v1/networks

Get a Network Protect network

GET/network-protect/v1/networks/network_id

Delete a Network Protect network

DELETE/network-protect/v1/networks/network_id

Update a Network Protect network

PATCH/network-protect/v1/networks/network_id

List Network Protect endpoints

GET/network-protect/v1/endpoints

Create a Network Protect endpoint

POST/network-protect/v1/endpoints

Get a Network Protect endpoint

GET/network-protect/v1/endpoints/endpoint_id

Delete a Network Protect endpoint

DELETE/network-protect/v1/endpoints/endpoint_id

Update a Network Protect endpoint

PATCH/network-protect/v1/endpoints/endpoint_id

List Network Protect prefix lists

GET/network-protect/v1/prefix-lists

Create a Network Protect prefix list

POST/network-protect/v1/prefix-lists

Get a Network Protect prefix list

GET/network-protect/v1/prefix-lists/prefix_list_id

Delete a Network Protect prefix list

DELETE/network-protect/v1/prefix-lists/prefix_list_id

Update a Network Protect prefix list

PATCH/network-protect/v1/prefix-lists/prefix_list_id

List Network Protect rule sets

GET/network-protect/v1/rule-sets

Create a Network Protect rule set

POST/network-protect/v1/rule-sets

Get a Network Protect rule set

GET/network-protect/v1/rule-sets/rule_set_id

Delete a Network Protect rule set

DELETE/network-protect/v1/rule-sets/rule_set_id

Update a Network Protect rule set

PATCH/network-protect/v1/rule-sets/rule_set_id