Documentation
Documentation
https://docs.quantcdn.io/
GettingStarted
https://docs.quantcdn.io/api/get-started-content/
openapi: 3.0.0
info:
description: Unified API for QuantCDN Admin and QuantCloud Platform services
title: QuantCDN AI Agents Domains 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: Domain and DNS management
name: Domains
paths:
/api/v2/organizations/{organization}/projects/{project}/domains:
get:
operationId: Domains_list
parameters:
- description: Organization identifier
example: test-org
explode: false
in: path
name: organization
required: true
schema:
type: string
style: simple
- description: Project identifier
example: test-project
explode: false
in: path
name: project
required: true
schema:
type: string
style: simple
responses:
'200':
content:
application/json:
schema:
items:
$ref: '#/components/schemas/V2Domain'
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 all domains for a project
tags:
- Domains
post:
operationId: Domains_create
parameters:
- description: Organization identifier
example: test-org
explode: false
in: path
name: organization
required: true
schema:
type: string
style: simple
- description: Project identifier
example: test-project
explode: false
in: path
name: project
required: true
schema:
type: string
style: simple
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/V2DomainRequest'
required: true
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/V2Domain'
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: Add a new domain
tags:
- Domains
/api/v2/organizations/{organization}/projects/{project}/domains/{domain}:
delete:
operationId: Domains_delete
parameters:
- description: Organization identifier
example: test-org
explode: false
in: path
name: organization
required: true
schema:
type: string
style: simple
- description: Project identifier
example: test-project
explode: false
in: path
name: project
required: true
schema:
type: string
style: simple
- description: Domain id
example: '0000'
explode: false
in: path
name: domain
required: true
schema:
type: string
style: simple
responses:
'204':
description: The domain has been deleted.
'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 domain
tags:
- Domains
get:
operationId: Domains_read
parameters:
- description: Organization identifier
example: test-org
explode: false
in: path
name: organization
required: true
schema:
type: string
style: simple
- description: Project identifier
example: test-project
explode: false
in: path
name: project
required: true
schema:
type: string
style: simple
- description: Domain id
example: '0000'
explode: false
in: path
name: domain
required: true
schema:
type: string
style: simple
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/V2Domain'
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 single domain
tags:
- Domains
/api/v2/organizations/{organization}/projects/{project}/domains/{domain}/renew:
post:
operationId: Domains_renew
parameters:
- description: Organization identifier
example: test-org
explode: false
in: path
name: organization
required: true
schema:
type: string
style: simple
- description: Project identifier
example: test-project
explode: false
in: path
name: project
required: true
schema:
type: string
style: simple
- description: Domain id
example: '0000'
explode: false
in: path
name: domain
required: true
schema:
type: string
style: simple
responses:
'202':
description: The SSL certificate renewal has been initiated.
'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: Renew the SSL certificate for a domain
tags:
- Domains
components:
schemas:
V2DomainRequest:
example:
domain: test-domain.com
properties:
domain:
description: Domain name
example: test-domain.com
type: string
required:
- domain
type: object
V2Domain_dns_validation_records_inner:
properties:
name:
description: DNS record name (host/subdomain)
example: _abc123.example.com
type: string
type:
description: DNS record type (typically CNAME)
example: CNAME
type: string
value:
description: DNS record value to point to
example: _xyz789.validation.example.com.
type: string
type: object
V2Domain:
example:
dns_validation_records:
- name: _abc123.example.com
type: CNAME
value: _xyz789.validation.example.com.
domain: test-domain.com
dns_engaged: 1
id: 123
dns_go_live_records:
- type: CNAME
name: www
value: cdn.example.com
description: Add a CNAME record with the host set to your subdomain pointing to the CDN endpoint.
properties:
id:
description: Domain ID
example: 123
type: integer
domain:
description: Domain name
example: test-domain.com
type: string
dns_engaged:
description: DNS engagement status. 1 indicates DNS is properly configured and engaged, 0 indicates DNS configuration is pending or incomplete.
example: 1
type: integer
dns_validation_records:
description: DNS validation records required for SSL certificate validation. Present for domains pending certificate validation. Each record contains the CNAME information needed to validate domain ownership.
example:
- name: _abc123.example.com
type: CNAME
value: _xyz789.validation.example.com.
items:
$ref: '#/components/schemas/V2Domain_dns_validation_records_inner'
nullable: true
type: array
dns_go_live_records:
description: DNS records required to route traffic to the CDN. These records differ based on domain type (apex vs subdomain). Present when the CDN is configured and ready to receive traffic.
example:
- type: CNAME
name: www
value: cdn.example.com
description: Add a CNAME record with the host set to your subdomain pointing to the CDN endpoint.
items:
$ref: '#/components/schemas/V2Domain_dns_go_live_records_inner'
nullable: true
type: array
required:
- dns_engaged
- domain
- id
type: object
V2Error:
example:
message: The requested resource was not found
error: true
properties:
message:
description: Error message
example: The requested resource was not found
type: string
error:
description: Error flag
example: true
type: boolean
required:
- error
- message
type: object
V2Domain_dns_go_live_records_inner:
properties:
type:
description: DNS record type (CNAME, A, or ALIAS)
example: CNAME
type: string
name:
description: DNS record name/host (@ for apex/root domains, subdomain name for subdomains)
example: www
type: string
value:
description: DNS record value (IP addresses for A records, domain name for CNAME/ALIAS)
example: cdn.example.com
nullable: true
type: string
description:
description: Human-readable instructions for configuring this DNS record
example: Add a CNAME record with the host set to your subdomain pointing to the CDN endpoint.
type: string
type: object
securitySchemes:
BearerAuth:
bearerFormat: JWT
description: 'Enter your Bearer token in the format: `Bearer <your-token-here>`. Obtain your API token from the QuantCDN dashboard under Profile > API Tokens.'
scheme: bearer
type: http