Skip to content

API endpoint catalog ​

Read the response semantics

Mutation endpoints may return an operation receipt before runtime activation. Use the endpoint's status and revision resources to distinguish accepted, active, failed, and last-valid state.

All paths below are relative to /api. The catalog is generated from the Laravel route registry, and CI fails if it differs from the implementation. See API conventions for authentication, pagination, response, and retry behaviour.

Public endpoints ​

MethodPathBearer authIdempotency keyOperation ID
POST/auth/loginNoNopost.auth.login
GET/healthNoNoget.health
GET/nameserversNoNoget.nameservers
GET/readyNoNoget.ready

Account endpoints ​

MethodPathBearer authIdempotency keyOperation ID
POST/auth/logoutRequiredSupportedpost.auth.logout
POST/domains/{domain}/activateRequiredSupportedpost.domains.domain.activate
GET/domains/{domain}/analytics/cacheRequiredNoget.domains.domain.analytics.cache
GET/domains/{domain}/analytics/compressionRequiredNoget.domains.domain.analytics.compression
GET/domains/{domain}/analytics/countriesRequiredNoget.domains.domain.analytics.countries
GET/domains/{domain}/analytics/dnsRequiredNoget.domains.domain.analytics.dns
GET/domains/{domain}/analytics/edgesRequiredNoget.domains.domain.analytics.edges
GET/domains/{domain}/analytics/hostnamesRequiredNoget.domains.domain.analytics.hostnames
GET/domains/{domain}/analytics/originRequiredNoget.domains.domain.analytics.origin
GET/domains/{domain}/analytics/status-codesRequiredNoget.domains.domain.analytics.status-codes
GET/domains/{domain}/analytics/summaryRequiredNoget.domains.domain.analytics.summary
GET/domains/{domain}/analytics/timeseriesRequiredNoget.domains.domain.analytics.timeseries
GET/domains/{domain}/analytics/top-urlsRequiredNoget.domains.domain.analytics.top-urls
DELETE/domains/{domain}/cache/development-modeRequiredSupporteddelete.domains.domain.cache.development-mode
POST/domains/{domain}/cache/development-modeRequiredSupportedpost.domains.domain.cache.development-mode
GET/domains/{domain}/cache/purges/{purge}RequiredNoget.domains.domain.cache.purges.purge
GET/domains/{domain}/cache/purgesRequiredNoget.domains.domain.cache.purges
POST/domains/{domain}/cache/purgeRequiredSupportedpost.domains.domain.cache.purge
GET/domains/{domain}/cacheRequiredNoget.domains.domain.cache
PATCH/domains/{domain}/cacheRequiredSupportedpatch.domains.domain.cache
GET/domains/{domain}/deploymentRequiredNoget.domains.domain.deployment
POST/domains/{domain}/deployRequiredSupportedpost.domains.domain.deploy
POST/domains/{domain}/disableRequiredSupportedpost.domains.domain.disable
GET/domains/{domain}/dns/deploymentRequiredNoget.domains.domain.dns.deployment
GET/domains/{domain}/dns/exportRequiredNoget.domains.domain.dns.export
POST/domains/{domain}/dns/importRequiredSupportedpost.domains.domain.dns.import
POST/domains/{domain}/dns/reconcileRequiredSupportedpost.domains.domain.dns.reconcile
POST/domains/{domain}/dns/records/bulkRequiredSupportedpost.domains.domain.dns.records.bulk
POST/domains/{domain}/dns/records/{record}/geo/previewRequiredNopost.domains.domain.dns.records.record.geo.preview
GET/domains/{domain}/dns/records/{record}/geoRequiredNoget.domains.domain.dns.records.record.geo
PUT/domains/{domain}/dns/records/{record}/geoRequiredSupportedput.domains.domain.dns.records.record.geo
GET/domains/{domain}/dns/records/{record}/origin/healthRequiredNoget.domains.domain.dns.records.record.origin.health
POST/domains/{domain}/dns/records/{record}/origin/testRequiredSupportedpost.domains.domain.dns.records.record.origin.test
GET/domains/{domain}/dns/records/{record}/originRequiredNoget.domains.domain.dns.records.record.origin
PUT/domains/{domain}/dns/records/{record}/originRequiredSupportedput.domains.domain.dns.records.record.origin
DELETE/domains/{domain}/dns/records/{record}RequiredSupporteddelete.domains.domain.dns.records.record
GET/domains/{domain}/dns/records/{record}RequiredNoget.domains.domain.dns.records.record
PATCH/domains/{domain}/dns/records/{record}RequiredSupportedpatch.domains.domain.dns.records.record
GET/domains/{domain}/dns/recordsRequiredNoget.domains.domain.dns.records
POST/domains/{domain}/dns/recordsRequiredSupportedpost.domains.domain.dns.records
GET/domains/{domain}/logs/dnsRequiredNoget.domains.domain.logs.dns
GET/domains/{domain}/logs/errorsRequiredNoget.domains.domain.logs.errors
GET/domains/{domain}/logs/requestsRequiredNoget.domains.domain.logs.requests
GET/domains/{domain}/logs/securityRequiredNoget.domains.domain.logs.security
GET/domains/{domain}/proxyRequiredNoget.domains.domain.proxy
PATCH/domains/{domain}/proxyRequiredSupportedpatch.domains.domain.proxy
GET/domains/{domain}/revisionsRequiredNoget.domains.domain.revisions
POST/domains/{domain}/rollbackRequiredSupportedpost.domains.domain.rollback
GET/domains/{domain}/security/ddos/eventsRequiredNoget.domains.domain.security.ddos.events
GET/domains/{domain}/security/ddos/statusRequiredNoget.domains.domain.security.ddos.status
GET/domains/{domain}/security/ddosRequiredNoget.domains.domain.security.ddos
PATCH/domains/{domain}/security/ddosRequiredSupportedpatch.domains.domain.security.ddos
GET/domains/{domain}/security/eventsRequiredNoget.domains.domain.security.events
POST/domains/{domain}/security/rules/importRequiredSupportedpost.domains.domain.security.rules.import
DELETE/domains/{domain}/security/rules/{rule}RequiredSupporteddelete.domains.domain.security.rules.rule
PATCH/domains/{domain}/security/rules/{rule}RequiredSupportedpatch.domains.domain.security.rules.rule
GET/domains/{domain}/security/rulesRequiredNoget.domains.domain.security.rules
POST/domains/{domain}/security/rulesRequiredSupportedpost.domains.domain.security.rules
GET/domains/{domain}/securityRequiredNoget.domains.domain.security
PATCH/domains/{domain}/securityRequiredSupportedpatch.domains.domain.security
GET/domains/{domain}/statusRequiredNoget.domains.domain.status
DELETE/domains/{domain}/tls/custom-certificateRequiredSupporteddelete.domains.domain.tls.custom-certificate
POST/domains/{domain}/tls/reissueRequiredSupportedpost.domains.domain.tls.reissue
POST/domains/{domain}/tls/renewRequiredSupportedpost.domains.domain.tls.renew
GET/domains/{domain}/tls/statusRequiredNoget.domains.domain.tls.status
POST/domains/{domain}/tls/uploadRequiredSupportedpost.domains.domain.tls.upload
GET/domains/{domain}/tlsRequiredNoget.domains.domain.tls
PATCH/domains/{domain}/tlsRequiredSupportedpatch.domains.domain.tls
GET/domains/{domain}/usage/exportRequiredNoget.domains.domain.usage.export
GET/domains/{domain}/usageRequiredNoget.domains.domain.usage
POST/domains/{domain}/verify-nameserversRequiredSupportedpost.domains.domain.verify-nameservers
DELETE/domains/{domain}/waf/exclusions/{exclusion}RequiredSupporteddelete.domains.domain.waf.exclusions.exclusion
GET/domains/{domain}/waf/exclusionsRequiredNoget.domains.domain.waf.exclusions
POST/domains/{domain}/waf/exclusionsRequiredSupportedpost.domains.domain.waf.exclusions
GET/domains/{domain}/wafRequiredNoget.domains.domain.waf
PATCH/domains/{domain}/wafRequiredSupportedpatch.domains.domain.waf
DELETE/domains/{domain}RequiredSupporteddelete.domains.domain
GET/domains/{domain}RequiredNoget.domains.domain
PATCH/domains/{domain}RequiredSupportedpatch.domains.domain
GET/domainsRequiredNoget.domains
POST/domainsRequiredSupportedpost.domains
PUT/me/passwordRequiredSupportedput.me.password
DELETE/me/tokens/{token}RequiredSupporteddelete.me.tokens.token
GET/me/tokensRequiredNoget.me.tokens
POST/me/tokensRequiredSupportedpost.me.tokens
GET/meRequiredNoget.me
PATCH/meRequiredSupportedpatch.me
GET/operations/{operation}RequiredNoget.operations.operation

Administrator endpoints ​

MethodPathBearer authIdempotency keyOperation ID
GET/admin/analytics/compressionRequiredNoget.admin.analytics.compression
GET/admin/analytics/dnsRequiredNoget.admin.analytics.dns
GET/admin/analytics/summaryRequiredNoget.admin.analytics.summary
GET/admin/analytics/trafficRequiredNoget.admin.analytics.traffic
GET/admin/audit-logsRequiredNoget.admin.audit-logs
POST/admin/backups/{backup}/restoreRequiredSupportedpost.admin.backups.backup.restore
DELETE/admin/backups/{backup}RequiredSupporteddelete.admin.backups.backup
GET/admin/backups/{backup}RequiredNoget.admin.backups.backup
GET/admin/backupsRequiredNoget.admin.backups
POST/admin/backupsRequiredSupportedpost.admin.backups
POST/admin/dns/clusters/{cluster}/disableRequiredSupportedpost.admin.dns.clusters.cluster.disable
POST/admin/dns/clusters/{cluster}/enableRequiredSupportedpost.admin.dns.clusters.cluster.enable
POST/admin/dns/clusters/{cluster}/testRequiredSupportedpost.admin.dns.clusters.cluster.test
GET/admin/dns/clusters/{cluster}RequiredNoget.admin.dns.clusters.cluster
PATCH/admin/dns/clusters/{cluster}RequiredSupportedpatch.admin.dns.clusters.cluster
GET/admin/dns/clustersRequiredNoget.admin.dns.clusters
POST/admin/dns/clustersRequiredSupportedpost.admin.dns.clusters
GET/admin/dns/deploymentsRequiredNoget.admin.dns.deployments
GET/admin/dns/failed-deploymentsRequiredNoget.admin.dns.failed-deployments
POST/admin/dns/reconcileRequiredSupportedpost.admin.dns.reconcile
POST/admin/domains/{domain}/force-verifyRequiredSupportedpost.admin.domains.domain.force-verify
GET/admin/domains/{domain}/isolationRequiredNoget.admin.domains.domain.isolation
PATCH/admin/domains/{domain}/isolationRequiredSupportedpatch.admin.domains.domain.isolation
POST/admin/domains/{domain}/moveRequiredSupportedpost.admin.domains.domain.move
POST/admin/domains/{domain}/protectRequiredSupportedpost.admin.domains.domain.protect
POST/admin/domains/{domain}/quarantineRequiredSupportedpost.admin.domains.domain.quarantine
POST/admin/domains/{domain}/return-to-normalRequiredSupportedpost.admin.domains.domain.return-to-normal
DELETE/admin/domains/{domain}/users/{user}RequiredSupporteddelete.admin.domains.domain.users.user
GET/admin/domains/{domain}/usersRequiredNoget.admin.domains.domain.users
POST/admin/domains/{domain}/usersRequiredSupportedpost.admin.domains.domain.users
POST/admin/edge-cells/{cell}/drainRequiredSupportedpost.admin.edge-cells.cell.drain
POST/admin/edge-cells/{cell}/restartRequiredSupportedpost.admin.edge-cells.cell.restart
POST/admin/edge-cells/{cell}/undrainRequiredSupportedpost.admin.edge-cells.cell.undrain
GET/admin/edge-cells/{cell}RequiredNoget.admin.edge-cells.cell
GET/admin/edge-cellsRequiredNoget.admin.edge-cells
POST/admin/edge-deployments/reconcileRequiredSupportedpost.admin.edge-deployments.reconcile
GET/admin/edge-deploymentsRequiredNoget.admin.edge-deployments
DELETE/admin/edge-pools/{pool}/cells/{cell}RequiredSupporteddelete.admin.edge-pools.pool.cells.cell
PUT/admin/edge-pools/{pool}/cells/{cell}RequiredSupportedput.admin.edge-pools.pool.cells.cell
POST/admin/edge-pools/{pool}/disableRequiredSupportedpost.admin.edge-pools.pool.disable
POST/admin/edge-pools/{pool}/edges/{edge}/endpointRequiredSupportedpost.admin.edge-pools.pool.edges.edge.endpoint
POST/admin/edge-pools/{pool}/enableRequiredSupportedpost.admin.edge-pools.pool.enable
DELETE/admin/edge-pools/{pool}/endpoints/{endpoint}RequiredSupporteddelete.admin.edge-pools.pool.endpoints.endpoint
PATCH/admin/edge-pools/{pool}/endpoints/{endpoint}RequiredSupportedpatch.admin.edge-pools.pool.endpoints.endpoint
DELETE/admin/edge-pools/{pool}/maintenanceRequiredSupporteddelete.admin.edge-pools.pool.maintenance
POST/admin/edge-pools/{pool}/maintenanceRequiredSupportedpost.admin.edge-pools.pool.maintenance
POST/admin/edge-pools/{pool}/restoreRequiredSupportedpost.admin.edge-pools.pool.restore
POST/admin/edge-pools/{pool}/withdrawRequiredSupportedpost.admin.edge-pools.pool.withdraw
DELETE/admin/edge-pools/{pool}RequiredSupporteddelete.admin.edge-pools.pool
GET/admin/edge-pools/{pool}RequiredNoget.admin.edge-pools.pool
PATCH/admin/edge-pools/{pool}RequiredSupportedpatch.admin.edge-pools.pool
GET/admin/edge-poolsRequiredNoget.admin.edge-pools
POST/admin/edge-poolsRequiredSupportedpost.admin.edge-pools
GET/admin/edge-routingRequiredNoget.admin.edge-routing
POST/admin/edges/{edge}/disableRequiredSupportedpost.admin.edges.edge.disable
POST/admin/edges/{edge}/drainRequiredSupportedpost.admin.edges.edge.drain
POST/admin/edges/{edge}/enableRequiredSupportedpost.admin.edges.edge.enable
POST/admin/edges/{edge}/rotate-identityRequiredSupportedpost.admin.edges.edge.rotate-identity
POST/admin/edges/{edge}/undrainRequiredSupportedpost.admin.edges.edge.undrain
DELETE/admin/edges/{edge}RequiredSupporteddelete.admin.edges.edge
GET/admin/edges/{edge}RequiredNoget.admin.edges.edge
PATCH/admin/edges/{edge}RequiredSupportedpatch.admin.edges.edge
GET/admin/edgesRequiredNoget.admin.edges
POST/admin/edgesRequiredSupportedpost.admin.edges
GET/admin/fleet/releasesRequiredNoget.admin.fleet.releases
POST/admin/fleet/releasesRequiredSupportedpost.admin.fleet.releases
POST/admin/fleet/rollouts/{rollout}/resumeRequiredSupportedpost.admin.fleet.rollouts.rollout.resume
POST/admin/fleet/rollouts/{rollout}/rollbackRequiredSupportedpost.admin.fleet.rollouts.rollout.rollback
GET/admin/fleet/rollouts/{rollout}RequiredNoget.admin.fleet.rollouts.rollout
GET/admin/fleet/rolloutsRequiredNoget.admin.fleet.rollouts
POST/admin/fleet/rolloutsRequiredSupportedpost.admin.fleet.rollouts
POST/admin/jobs/failed/{job}/retryRequiredSupportedpost.admin.jobs.failed.job.retry
DELETE/admin/jobs/failed/{job}RequiredSupporteddelete.admin.jobs.failed.job
GET/admin/jobs/failedRequiredNoget.admin.jobs.failed
GET/admin/logs/edgesRequiredNoget.admin.logs.edges
GET/admin/logs/errorsRequiredNoget.admin.logs.errors
GET/admin/logs/securityRequiredNoget.admin.logs.security
POST/admin/operations/{operation}/retryRequiredSupportedpost.admin.operations.operation.retry
GET/admin/operations/{operation}RequiredNoget.admin.operations.operation
GET/admin/operationsRequiredNoget.admin.operations
POST/admin/reconcile/{scope}RequiredSupportedpost.admin.reconcile.scope
GET/admin/system/componentsRequiredNoget.admin.system.components
GET/admin/system/healthRequiredNoget.admin.system.health
POST/admin/system/settings/dns/validateRequiredSupportedpost.admin.system.settings.dns.validate
GET/admin/system/settings/dnsRequiredNoget.admin.system.settings.dns
PATCH/admin/system/settings/dnsRequiredSupportedpatch.admin.system.settings.dns
GET/admin/system/settings/{group}RequiredNoget.admin.system.settings.group
PATCH/admin/system/settings/{group}RequiredSupportedpatch.admin.system.settings.group
GET/admin/system/settingsRequiredNoget.admin.system.settings
PATCH/admin/system/settingsRequiredSupportedpatch.admin.system.settings
GET/admin/system/statusRequiredNoget.admin.system.status
GET/admin/usage/exportRequiredNoget.admin.usage.export
POST/admin/usage/rebuildRequiredSupportedpost.admin.usage.rebuild
GET/admin/usageRequiredNoget.admin.usage
POST/admin/users/{user}/disableRequiredSupportedpost.admin.users.user.disable
GET/admin/users/{user}/domainsRequiredNoget.admin.users.user.domains
POST/admin/users/{user}/enableRequiredSupportedpost.admin.users.user.enable
DELETE/admin/users/{user}RequiredSupporteddelete.admin.users.user
GET/admin/users/{user}RequiredNoget.admin.users.user
PATCH/admin/users/{user}RequiredSupportedpatch.admin.users.user
GET/admin/usersRequiredNoget.admin.users
POST/admin/usersRequiredSupportedpost.admin.users

Download the machine-readable OpenAPI 3.1 contract.

CDNFoundry documentation