QuantCDN Rules API
Edge rules (redirects, authentication, proxies, etc.)
Documentation
Documentation
https://docs.quantcdn.io/
GettingStarted
https://docs.quantcdn.io/api/get-started-content/
Edge rules (redirects, authentication, proxies, etc.)
openapi: 3.0.0
info:
description: Unified API for QuantCDN Admin and QuantCloud Platform services
title: QuantCDN AI Agents Rules API
version: 4.15.8
servers:
- description: QuantCDN Public Cloud
url: https://dashboard.quantcdn.io
- description: QuantGov Cloud
url: https://dash.quantgov.cloud
security:
- BearerAuth: []
tags:
- description: Edge rules (redirects, authentication, proxies, etc.)
name: Rules
paths:
/api/v2/organizations/{organization}/projects/{project}/rules/auth:
get:
operationId: RulesAuth_list
parameters:
- description: Organization identifier
explode: false
in: path
name: organization
required: true
schema:
type: string
style: simple
- description: Project identifier
explode: false
in: path
name: project
required: true
schema:
type: string
style: simple
responses:
'200':
content:
application/json:
schema:
items:
$ref: '#/components/schemas/V2RuleAuth'
type: array
description: The request has succeeded.
'400':
content:
application/json:
schema:
$ref: '#/components/schemas/V2Error'
description: The server could not understand the request due to invalid syntax.
'403':
content:
application/json:
schema:
$ref: '#/components/schemas/V2Error'
description: Access is forbidden.
summary: List authentication rules
tags:
- Rules
post:
operationId: RulesAuth_create
parameters:
- description: Organization identifier
explode: false
in: path
name: organization
required: true
schema:
type: string
style: simple
- description: Project identifier
explode: false
in: path
name: project
required: true
schema:
type: string
style: simple
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/V2RuleAuthRequest'
required: true
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/V2RuleAuth'
description: The request has succeeded.
'400':
content:
application/json:
schema:
$ref: '#/components/schemas/V2Error'
description: The server could not understand the request due to invalid syntax.
'403':
content:
application/json:
schema:
$ref: '#/components/schemas/V2Error'
description: Access is forbidden.
summary: Create an authentication rule
tags:
- Rules
/api/v2/organizations/{organization}/projects/{project}/rules/auth/{rule}:
delete:
operationId: RulesAuth_delete
parameters:
- description: Organization identifier
explode: false
in: path
name: organization
required: true
schema:
type: string
style: simple
- description: Project identifier
explode: false
in: path
name: project
required: true
schema:
type: string
style: simple
- description: Rule identifier
explode: false
in: path
name: rule
required: true
schema:
type: string
style: simple
responses:
'204':
description: The request has succeeded.
'400':
content:
application/json:
schema:
$ref: '#/components/schemas/V2Error'
description: The server could not understand the request due to invalid syntax.
'403':
content:
application/json:
schema:
$ref: '#/components/schemas/V2Error'
description: Access is forbidden.
summary: Delete an authentication rule
tags:
- Rules
get:
operationId: RulesAuth_read
parameters:
- description: Organization identifier
explode: false
in: path
name: organization
required: true
schema:
type: string
style: simple
- description: Project identifier
explode: false
in: path
name: project
required: true
schema:
type: string
style: simple
- description: Rule identifier
explode: false
in: path
name: rule
required: true
schema:
type: string
style: simple
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/V2RuleAuth'
description: The request has succeeded.
'400':
content:
application/json:
schema:
$ref: '#/components/schemas/V2Error'
description: The server could not understand the request due to invalid syntax.
'403':
content:
application/json:
schema:
$ref: '#/components/schemas/V2Error'
description: Access is forbidden.
summary: Get details of an authentication rule
tags:
- Rules
patch:
operationId: RulesAuth_update
parameters:
- description: Organization identifier
explode: false
in: path
name: organization
required: true
schema:
type: string
style: simple
- description: Project identifier
explode: false
in: path
name: project
required: true
schema:
type: string
style: simple
- description: Rule identifier
explode: false
in: path
name: rule
required: true
schema:
type: string
style: simple
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/V2RuleAuthRequest'
required: true
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/V2RuleAuth'
description: The request has succeeded.
'400':
content:
application/json:
schema:
$ref: '#/components/schemas/V2Error'
description: The server could not understand the request due to invalid syntax.
'403':
content:
application/json:
schema:
$ref: '#/components/schemas/V2Error'
description: Access is forbidden.
summary: Update an authentication rule
tags:
- Rules
/api/v2/organizations/{organization}/projects/{project}/rules/bot-challenge:
get:
operationId: RulesBotChallenge_list
parameters:
- description: Organization identifier
explode: false
in: path
name: organization
required: true
schema:
type: string
style: simple
- description: Project identifier
explode: false
in: path
name: project
required: true
schema:
type: string
style: simple
responses:
'200':
content:
application/json:
schema:
items:
$ref: '#/components/schemas/V2RuleBotChallenge'
type: array
description: The request has succeeded.
'400':
content:
application/json:
schema:
$ref: '#/components/schemas/V2Error'
description: The server could not understand the request due to invalid syntax.
'403':
content:
application/json:
schema:
$ref: '#/components/schemas/V2Error'
description: Access is forbidden.
summary: List bot challenge rules
tags:
- Rules
post:
operationId: RulesBotChallenge_create
parameters:
- description: Organization identifier
explode: false
in: path
name: organization
required: true
schema:
type: string
style: simple
- description: Project identifier
explode: false
in: path
name: project
required: true
schema:
type: string
style: simple
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/V2RuleBotChallengeRequest'
required: true
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/V2RuleBotChallenge'
description: The request has succeeded.
'400':
content:
application/json:
schema:
$ref: '#/components/schemas/V2Error'
description: The server could not understand the request due to invalid syntax.
'403':
content:
application/json:
schema:
$ref: '#/components/schemas/V2Error'
description: Access is forbidden.
summary: Create a bot challenge rule
tags:
- Rules
/api/v2/organizations/{organization}/projects/{project}/rules/bot-challenge/{rule}:
delete:
operationId: RulesBotChallenge_delete
parameters:
- description: Organization identifier
explode: false
in: path
name: organization
required: true
schema:
type: string
style: simple
- description: Project identifier
explode: false
in: path
name: project
required: true
schema:
type: string
style: simple
- description: Rule identifier
explode: false
in: path
name: rule
required: true
schema:
type: string
style: simple
responses:
'204':
description: The request has succeeded.
'400':
content:
application/json:
schema:
$ref: '#/components/schemas/V2Error'
description: The server could not understand the request due to invalid syntax.
'403':
content:
application/json:
schema:
$ref: '#/components/schemas/V2Error'
description: Access is forbidden.
summary: Delete a bot challenge rule
tags:
- Rules
get:
operationId: RulesBotChallenge_read
parameters:
- description: Organization identifier
explode: false
in: path
name: organization
required: true
schema:
type: string
style: simple
- description: Project identifier
explode: false
in: path
name: project
required: true
schema:
type: string
style: simple
- description: Rule identifier
explode: false
in: path
name: rule
required: true
schema:
type: string
style: simple
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/V2RuleBotChallenge'
description: The request has succeeded.
'400':
content:
application/json:
schema:
$ref: '#/components/schemas/V2Error'
description: The server could not understand the request due to invalid syntax.
'403':
content:
application/json:
schema:
$ref: '#/components/schemas/V2Error'
description: Access is forbidden.
summary: Get details of a bot challenge rule
tags:
- Rules
patch:
operationId: RulesBotChallenge_update
parameters:
- description: Organization identifier
explode: false
in: path
name: organization
required: true
schema:
type: string
style: simple
- description: Project identifier
explode: false
in: path
name: project
required: true
schema:
type: string
style: simple
- description: Rule identifier
explode: false
in: path
name: rule
required: true
schema:
type: string
style: simple
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/V2RuleBotChallengeRequest'
required: true
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/V2RuleBotChallenge'
description: The request has succeeded.
'400':
content:
application/json:
schema:
$ref: '#/components/schemas/V2Error'
description: The server could not understand the request due to invalid syntax.
'403':
content:
application/json:
schema:
$ref: '#/components/schemas/V2Error'
description: Access is forbidden.
summary: Update a bot challenge rule
tags:
- Rules
/api/v2/organizations/{organization}/projects/{project}/rules/content-filter:
get:
operationId: RulesContentFilter_list
parameters:
- description: Organization identifier
explode: false
in: path
name: organization
required: true
schema:
type: string
style: simple
- description: Project identifier
explode: false
in: path
name: project
required: true
schema:
type: string
style: simple
responses:
'200':
content:
application/json:
schema:
items:
$ref: '#/components/schemas/V2RuleContentFilter'
type: array
description: The request has succeeded.
'400':
content:
application/json:
schema:
$ref: '#/components/schemas/V2Error'
description: The server could not understand the request due to invalid syntax.
'403':
content:
application/json:
schema:
$ref: '#/components/schemas/V2Error'
description: Access is forbidden.
summary: List content filter rules
tags:
- Rules
post:
operationId: RulesContentFilter_create
parameters:
- description: Organization identifier
explode: false
in: path
name: organization
required: true
schema:
type: string
style: simple
- description: Project identifier
explode: false
in: path
name: project
required: true
schema:
type: string
style: simple
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/V2RuleContentFilterRequest'
required: true
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/V2RuleContentFilter'
description: The request has succeeded.
'400':
content:
application/json:
schema:
$ref: '#/components/schemas/V2Error'
description: The server could not understand the request due to invalid syntax.
'403':
content:
application/json:
schema:
$ref: '#/components/schemas/V2Error'
description: Access is forbidden.
summary: Create a content filter rule
tags:
- Rules
/api/v2/organizations/{organization}/projects/{project}/rules/content-filter/{rule}:
delete:
operationId: RulesContentFilter_delete
parameters:
- description: Organization identifier
explode: false
in: path
name: organization
required: true
schema:
type: string
style: simple
- description: Project identifier
explode: false
in: path
name: project
required: true
schema:
type: string
style: simple
- description: Rule identifier
explode: false
in: path
name: rule
required: true
schema:
type: string
style: simple
responses:
'204':
description: The request has succeeded.
'400':
content:
application/json:
schema:
$ref: '#/components/schemas/V2Error'
description: The server could not understand the request due to invalid syntax.
'403':
content:
application/json:
schema:
$ref: '#/components/schemas/V2Error'
description: Access is forbidden.
summary: Delete a content filter rule
tags:
- Rules
get:
operationId: RulesContentFilter_read
parameters:
- description: Organization identifier
explode: false
in: path
name: organization
required: true
schema:
type: string
style: simple
- description: Project identifier
explode: false
in: path
name: project
required: true
schema:
type: string
style: simple
- description: Rule identifier
explode: false
in: path
name: rule
required: true
schema:
type: string
style: simple
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/V2RuleContentFilter'
description: The request has succeeded.
'400':
content:
application/json:
schema:
$ref: '#/components/schemas/V2Error'
description: The server could not understand the request due to invalid syntax.
'403':
content:
application/json:
schema:
$ref: '#/components/schemas/V2Error'
description: Access is forbidden.
summary: Get details of a content filter rule
tags:
- Rules
patch:
operationId: RulesContentFilter_update
parameters:
- description: Organization identifier
explode: false
in: path
name: organization
required: true
schema:
type: string
style: simple
- description: Project identifier
explode: false
in: path
name: project
required: true
schema:
type: string
style: simple
- description: Rule identifier
explode: false
in: path
name: rule
required: true
schema:
type: string
style: simple
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/V2RuleContentFilterRequest'
required: true
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/V2RuleContentFilter'
description: The request has succeeded.
'400':
content:
application/json:
schema:
$ref: '#/components/schemas/V2Error'
description: The server could not understand the request due to invalid syntax.
'403':
content:
application/json:
schema:
$ref: '#/components/schemas/V2Error'
description: Access is forbidden.
summary: Update a content filter rule
tags:
- Rules
/api/v2/organizations/{organization}/projects/{project}/rules/custom-response:
get:
operationId: RulesCustomResponse_list
parameters:
- description: Organization identifier
explode: false
in: path
name: organization
required: true
schema:
type: string
style: simple
- description: Project identifier
explode: false
in: path
name: project
required: true
schema:
type: string
style: simple
responses:
'200':
content:
application/json:
schema:
items:
$ref: '#/components/schemas/V2RuleCustomResponse'
type: array
description: The request has succeeded.
'400':
content:
application/json:
schema:
$ref: '#/components/schemas/V2Error'
description: The server could not understand the request due to invalid syntax.
'403':
content:
application/json:
schema:
$ref: '#/components/schemas/V2Error'
description: Access is forbidden.
summary: List custom response rules
tags:
- Rules
post:
operationId: RulesCustomResponse_create
parameters:
- description: Organization identifier
explode: false
in: path
name: organization
required: true
schema:
type: string
style: simple
- description: Project identifier
explode: false
in: path
name: project
required: true
schema:
type: string
style: simple
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/V2RuleCustomResponseRequest'
required: true
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/V2RuleCustomResponse'
description: The request has succeeded.
'400':
content:
application/json:
schema:
$ref: '#/components/schemas/V2Error'
description: The server could not understand the request due to invalid syntax.
'403':
content:
application/json:
schema:
$ref: '#/components/schemas/V2Error'
description: Access is forbidden.
summary: Create a custom response rule
tags:
- Rules
/api/v2/organizations/{organization}/projects/{project}/rules/custom-response/{rule}:
delete:
operationId: RulesCustomResponse_delete
parameters:
- description: Organization identifier
explode: false
in: path
name: organization
required: true
schema:
type: string
style: simple
- description: Project identifier
explode: false
in: path
name: project
required: true
schema:
type: string
style: simple
- description: Rule identifier
explode: false
in: path
name: rule
required: true
schema:
type: string
style: simple
responses:
'204':
description: The request has succeeded.
'400':
content:
application/json:
schema:
$ref: '#/components/schemas/V2Error'
description: The server could not understand the request due to invalid syntax.
'403':
content:
application/json:
schema:
$ref: '#/components/schemas/V2Error'
description: Access is forbidden.
summary: Delete a custom response rule
tags:
- Rules
get:
operationId: RulesCustomResponse_read
parameters:
- description: Organization identifier
explode: false
in: path
name: organization
required: true
schema:
type: string
style: simple
- description: Project identifier
explode: false
in: path
name: project
required: true
schema:
type: string
style: simple
- description: Rule identifier
explode: false
in: path
name: rule
required: true
schema:
type: string
style: simple
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/V2RuleCustomResponse'
description: The request has succeeded.
'400':
content:
application/json:
schema:
$ref: '#/components/schemas/V2Error'
description: The server could not understand the request due to invalid syntax.
'403':
content:
application/json:
schema:
$ref: '#/components/schemas/V2Error'
description: Access is forbidden.
summary: Get details of a custom response rule
tags:
- Rules
patch:
operationId: RulesCustomResponse_update
parameters:
- description: Organization identifier
explode: false
in: path
name: organization
required: true
schema:
type: string
style: simple
- description: Project identifier
explode: false
in: path
name: project
required: true
schema:
type: string
style: simple
- description: Rule identifier
explode: false
in: path
name: rule
required: true
schema:
type: string
style: simple
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/V2RuleCustomResponseRequest'
required: true
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/V2RuleCustomResponse'
description: The request has succeeded.
'400':
content:
application/json:
schema:
$ref: '#/components/schemas/V2Error'
description: The server could not understand the request due to invalid syntax.
'403':
content:
application/json:
schema:
$ref: '#/components/schemas/V2Error'
description: Access is forbidden.
summary: Update a custom response rule
tags:
- Rules
/api/v2/organizations/{organization}/projects/{project}/rules/function:
get:
operationId: RulesFunction_list
parameters:
- description: Organization identifier
explode: false
in: path
name: organization
required: true
schema:
type: string
style: simple
- description: Project identifier
explode: false
in: path
name: project
required: true
schema:
type: string
style: simple
responses:
'200':
content:
application/json:
schema:
items:
$ref: '#/components/schemas/V2RuleFunction'
type: array
description: The request has succeeded.
'400':
content:
application/json:
schema:
$ref: '#/components/schemas/V2Error'
description: The server could not understand the request due to invalid syntax.
'403':
content:
application/json:
schema:
$ref: '#/components/schemas/V2Error'
description: Access is forbidden.
summary: List edge function rules
tags:
- Rules
post:
operationId: RulesFunction_create
parameters:
- description: Organization identifier
explode: false
in: path
name: organization
required: true
schema:
type: string
style: simple
- description: Project identifier
explode: false
in: path
name: project
required: true
schema:
type: string
style: simple
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/V2RuleFunctionRequest'
required: true
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/V2RuleFunction'
description: The request has succeeded.
'400':
content:
application/json:
schema:
$ref: '#/components/schemas/V2Error'
description: The server could not understand the request due to invalid syntax.
'403':
content:
application/json:
schema:
$ref: '#/components/schemas/V2Error'
description: Access is forbidden.
summary: Create an edge function rule
tags:
- Rules
/api/v2/organizations/{organization}/projects/{project}/rules/function/{rule}:
delete:
operationId: RulesFunction_delete
parameters:
- description: Organization identifier
explode: false
in: path
name: organization
required: true
schema:
type: string
style: simple
- description: Project identifier
explode: false
in: path
name: project
required: true
schema:
type: string
style: simple
- description: Rule identifier
explode: false
in: path
name: rule
required: true
schema:
type: string
style: simple
responses:
'204':
description: The request has succeeded.
'400':
content:
application/json:
schema:
$ref: '#/components/schemas/V2Error'
description: The server could not understand the request due to invalid syntax.
'403':
content:
application/json:
schema:
$ref: '#/components/schemas/V2Error'
description: Access is forbidden.
summary: Delete an edge function rule
tags:
- Rules
get:
operationId: RulesFunction_read
parameters:
- description: Organization identifier
explode: false
in: path
name: organization
required: true
schema:
type: string
style: simple
- description: Project identifier
explode: false
in: path
name: project
required: true
schema:
type: string
style: simple
- description: Rule identifier
explode: false
in: path
name: rule
required: true
schema:
type: string
style: simple
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/V2RuleFunction'
description: The request has succeeded.
'400':
content:
application/json:
schema:
$ref: '#/components/schemas/V2Error'
description: The server could not understand the request due to invalid syntax.
'403':
content:
application/json:
schema:
$ref: '#/components/schemas/V2Error'
description: Access is forbidden.
summary: Get details of an edge function rule
tags:
- Rules
patch:
operationId: RulesFunction_update
parameters:
- description: Organization identifier
explode: false
in: path
name: organization
required: true
schema:
type: string
# --- truncated at 32 KB (127 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/quantcdn/refs/heads/main/openapi/quantcdn-rules-api-openapi.yml