Skip to content
Docs / dflux EdgeGuard
ContactGet started

Rate limits

Manage rate-limit rules through the unified /admin/rules surface. The rule type is selected by the request body, not the URL. See the Rate limiting guide for operator-flow patterns.

Endpoints

Rate-limit rules are CRUD'd through the same /admin/rules surface as policy, transformation, and routing rules. There is no /admin/rate-limits path. On create and update, the rule type is carried in the request body as {"type": "rate-limit"}; on read and delete it is resolved from the rule's name, which is unique across all rule types.

GET /admin/rules?type=rate-limit

Lists rules. Add ?type=rate-limit to return only rate-limit rules.

POST /admin/rules

Creates a rule. The body must include "type": "rate-limit" plus the RateLimitRule fields. Returns 409 if the name is already taken by any rule type, not just an existing rate-limit rule.

GET /admin/rules/{name}

Returns one rule by name.

PUT /admin/rules/{name}

Updates an existing rule. This is not an upsert — if no rule by that name exists, it returns 404. If the body carries a type, it must match the existing rule's type; you cannot reassign a rule's type via PUT (delete and recreate instead).

DELETE /admin/rules/{name}

Deletes a rule by name.

Auth and address
Drive these operations with d3x-edgectl (-key / D3X_EDGE_ADMIN_KEY or -token, default -addr 127.0.0.1:9091). Path names below are historical labels for EdgeControl RPCs. See Admin API overview.

Rule shape

A RateLimitRule is a flat JSON object. The token-bucket rate is rps (requests per second) with a burst ceiling. The NF dimension is the flat string source_nf_type — there is no nested match object. key selects the bucket dimension; valid values are "" (default: per source IP for SBI, per Origin-Host for Diameter), "global", "diameter_origin_host", "diameter_origin_realm", "diameter_app_id", "diameter_command_code", and "imsi_prefix:N". To cap per subscriber, set the separate boolean key_by_supi. See Policy schema for the full field reference.

Examples

Bash