QuantCDN Rules API

Edge rules (redirects, authentication, proxies, etc.)

OpenAPI Specification

quantcdn-rules-api-openapi.yml Raw ↑
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