API endpoint catalog
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
| Method | Path | Bearer auth | Idempotency key | Operation ID |
|---|---|---|---|---|
POST | /auth/login | No | No | post.auth.login |
GET | /health | No | No | get.health |
GET | /nameservers | No | No | get.nameservers |
GET | /ready | No | No | get.ready |
Account endpoints
| Method | Path | Bearer auth | Idempotency key | Operation ID |
|---|---|---|---|---|
POST | /auth/logout | Required | Supported | post.auth.logout |
POST | /domains/{domain}/activate | Required | Supported | post.domains.domain.activate |
GET | /domains/{domain}/analytics/cache | Required | No | get.domains.domain.analytics.cache |
GET | /domains/{domain}/analytics/compression | Required | No | get.domains.domain.analytics.compression |
GET | /domains/{domain}/analytics/countries | Required | No | get.domains.domain.analytics.countries |
GET | /domains/{domain}/analytics/dns | Required | No | get.domains.domain.analytics.dns |
GET | /domains/{domain}/analytics/edges | Required | No | get.domains.domain.analytics.edges |
GET | /domains/{domain}/analytics/hostnames | Required | No | get.domains.domain.analytics.hostnames |
GET | /domains/{domain}/analytics/origin | Required | No | get.domains.domain.analytics.origin |
GET | /domains/{domain}/analytics/status-codes | Required | No | get.domains.domain.analytics.status-codes |
GET | /domains/{domain}/analytics/summary | Required | No | get.domains.domain.analytics.summary |
GET | /domains/{domain}/analytics/timeseries | Required | No | get.domains.domain.analytics.timeseries |
GET | /domains/{domain}/analytics/top-urls | Required | No | get.domains.domain.analytics.top-urls |
DELETE | /domains/{domain}/cache/development-mode | Required | Supported | delete.domains.domain.cache.development-mode |
POST | /domains/{domain}/cache/development-mode | Required | Supported | post.domains.domain.cache.development-mode |
GET | /domains/{domain}/cache/purges/{purge} | Required | No | get.domains.domain.cache.purges.purge |
GET | /domains/{domain}/cache/purges | Required | No | get.domains.domain.cache.purges |
POST | /domains/{domain}/cache/purge | Required | Supported | post.domains.domain.cache.purge |
GET | /domains/{domain}/cache | Required | No | get.domains.domain.cache |
PATCH | /domains/{domain}/cache | Required | Supported | patch.domains.domain.cache |
GET | /domains/{domain}/deployment | Required | No | get.domains.domain.deployment |
POST | /domains/{domain}/deploy | Required | Supported | post.domains.domain.deploy |
POST | /domains/{domain}/disable | Required | Supported | post.domains.domain.disable |
GET | /domains/{domain}/dns/deployment | Required | No | get.domains.domain.dns.deployment |
GET | /domains/{domain}/dns/export | Required | No | get.domains.domain.dns.export |
POST | /domains/{domain}/dns/import | Required | Supported | post.domains.domain.dns.import |
POST | /domains/{domain}/dns/reconcile | Required | Supported | post.domains.domain.dns.reconcile |
POST | /domains/{domain}/dns/records/bulk | Required | Supported | post.domains.domain.dns.records.bulk |
POST | /domains/{domain}/dns/records/{record}/geo/preview | Required | No | post.domains.domain.dns.records.record.geo.preview |
GET | /domains/{domain}/dns/records/{record}/geo | Required | No | get.domains.domain.dns.records.record.geo |
PUT | /domains/{domain}/dns/records/{record}/geo | Required | Supported | put.domains.domain.dns.records.record.geo |
GET | /domains/{domain}/dns/records/{record}/origin/health | Required | No | get.domains.domain.dns.records.record.origin.health |
POST | /domains/{domain}/dns/records/{record}/origin/test | Required | Supported | post.domains.domain.dns.records.record.origin.test |
GET | /domains/{domain}/dns/records/{record}/origin | Required | No | get.domains.domain.dns.records.record.origin |
PUT | /domains/{domain}/dns/records/{record}/origin | Required | Supported | put.domains.domain.dns.records.record.origin |
DELETE | /domains/{domain}/dns/records/{record} | Required | Supported | delete.domains.domain.dns.records.record |
GET | /domains/{domain}/dns/records/{record} | Required | No | get.domains.domain.dns.records.record |
PATCH | /domains/{domain}/dns/records/{record} | Required | Supported | patch.domains.domain.dns.records.record |
GET | /domains/{domain}/dns/records | Required | No | get.domains.domain.dns.records |
POST | /domains/{domain}/dns/records | Required | Supported | post.domains.domain.dns.records |
GET | /domains/{domain}/logs/dns | Required | No | get.domains.domain.logs.dns |
GET | /domains/{domain}/logs/errors | Required | No | get.domains.domain.logs.errors |
GET | /domains/{domain}/logs/requests | Required | No | get.domains.domain.logs.requests |
GET | /domains/{domain}/logs/security | Required | No | get.domains.domain.logs.security |
GET | /domains/{domain}/proxy | Required | No | get.domains.domain.proxy |
PATCH | /domains/{domain}/proxy | Required | Supported | patch.domains.domain.proxy |
GET | /domains/{domain}/revisions | Required | No | get.domains.domain.revisions |
POST | /domains/{domain}/rollback | Required | Supported | post.domains.domain.rollback |
GET | /domains/{domain}/security/ddos/events | Required | No | get.domains.domain.security.ddos.events |
GET | /domains/{domain}/security/ddos/status | Required | No | get.domains.domain.security.ddos.status |
GET | /domains/{domain}/security/ddos | Required | No | get.domains.domain.security.ddos |
PATCH | /domains/{domain}/security/ddos | Required | Supported | patch.domains.domain.security.ddos |
GET | /domains/{domain}/security/events | Required | No | get.domains.domain.security.events |
POST | /domains/{domain}/security/rules/import | Required | Supported | post.domains.domain.security.rules.import |
DELETE | /domains/{domain}/security/rules/{rule} | Required | Supported | delete.domains.domain.security.rules.rule |
PATCH | /domains/{domain}/security/rules/{rule} | Required | Supported | patch.domains.domain.security.rules.rule |
GET | /domains/{domain}/security/rules | Required | No | get.domains.domain.security.rules |
POST | /domains/{domain}/security/rules | Required | Supported | post.domains.domain.security.rules |
GET | /domains/{domain}/security | Required | No | get.domains.domain.security |
PATCH | /domains/{domain}/security | Required | Supported | patch.domains.domain.security |
GET | /domains/{domain}/status | Required | No | get.domains.domain.status |
DELETE | /domains/{domain}/tls/custom-certificate | Required | Supported | delete.domains.domain.tls.custom-certificate |
POST | /domains/{domain}/tls/reissue | Required | Supported | post.domains.domain.tls.reissue |
POST | /domains/{domain}/tls/renew | Required | Supported | post.domains.domain.tls.renew |
GET | /domains/{domain}/tls/status | Required | No | get.domains.domain.tls.status |
POST | /domains/{domain}/tls/upload | Required | Supported | post.domains.domain.tls.upload |
GET | /domains/{domain}/tls | Required | No | get.domains.domain.tls |
PATCH | /domains/{domain}/tls | Required | Supported | patch.domains.domain.tls |
GET | /domains/{domain}/usage/export | Required | No | get.domains.domain.usage.export |
GET | /domains/{domain}/usage | Required | No | get.domains.domain.usage |
POST | /domains/{domain}/verify-nameservers | Required | Supported | post.domains.domain.verify-nameservers |
DELETE | /domains/{domain}/waf/exclusions/{exclusion} | Required | Supported | delete.domains.domain.waf.exclusions.exclusion |
GET | /domains/{domain}/waf/exclusions | Required | No | get.domains.domain.waf.exclusions |
POST | /domains/{domain}/waf/exclusions | Required | Supported | post.domains.domain.waf.exclusions |
GET | /domains/{domain}/waf | Required | No | get.domains.domain.waf |
PATCH | /domains/{domain}/waf | Required | Supported | patch.domains.domain.waf |
DELETE | /domains/{domain} | Required | Supported | delete.domains.domain |
GET | /domains/{domain} | Required | No | get.domains.domain |
PATCH | /domains/{domain} | Required | Supported | patch.domains.domain |
GET | /domains | Required | No | get.domains |
POST | /domains | Required | Supported | post.domains |
PUT | /me/password | Required | Supported | put.me.password |
DELETE | /me/tokens/{token} | Required | Supported | delete.me.tokens.token |
GET | /me/tokens | Required | No | get.me.tokens |
POST | /me/tokens | Required | Supported | post.me.tokens |
GET | /me | Required | No | get.me |
PATCH | /me | Required | Supported | patch.me |
GET | /operations/{operation} | Required | No | get.operations.operation |
Administrator endpoints
| Method | Path | Bearer auth | Idempotency key | Operation ID |
|---|---|---|---|---|
GET | /admin/analytics/compression | Required | No | get.admin.analytics.compression |
GET | /admin/analytics/dns | Required | No | get.admin.analytics.dns |
GET | /admin/analytics/summary | Required | No | get.admin.analytics.summary |
GET | /admin/analytics/traffic | Required | No | get.admin.analytics.traffic |
GET | /admin/audit-logs | Required | No | get.admin.audit-logs |
POST | /admin/backups/{backup}/restore | Required | Supported | post.admin.backups.backup.restore |
DELETE | /admin/backups/{backup} | Required | Supported | delete.admin.backups.backup |
GET | /admin/backups/{backup} | Required | No | get.admin.backups.backup |
GET | /admin/backups | Required | No | get.admin.backups |
POST | /admin/backups | Required | Supported | post.admin.backups |
POST | /admin/dns/clusters/{cluster}/disable | Required | Supported | post.admin.dns.clusters.cluster.disable |
POST | /admin/dns/clusters/{cluster}/enable | Required | Supported | post.admin.dns.clusters.cluster.enable |
POST | /admin/dns/clusters/{cluster}/test | Required | Supported | post.admin.dns.clusters.cluster.test |
GET | /admin/dns/clusters/{cluster} | Required | No | get.admin.dns.clusters.cluster |
PATCH | /admin/dns/clusters/{cluster} | Required | Supported | patch.admin.dns.clusters.cluster |
GET | /admin/dns/clusters | Required | No | get.admin.dns.clusters |
POST | /admin/dns/clusters | Required | Supported | post.admin.dns.clusters |
GET | /admin/dns/deployments | Required | No | get.admin.dns.deployments |
GET | /admin/dns/failed-deployments | Required | No | get.admin.dns.failed-deployments |
POST | /admin/dns/reconcile | Required | Supported | post.admin.dns.reconcile |
POST | /admin/domains/{domain}/force-verify | Required | Supported | post.admin.domains.domain.force-verify |
GET | /admin/domains/{domain}/isolation | Required | No | get.admin.domains.domain.isolation |
PATCH | /admin/domains/{domain}/isolation | Required | Supported | patch.admin.domains.domain.isolation |
POST | /admin/domains/{domain}/move | Required | Supported | post.admin.domains.domain.move |
POST | /admin/domains/{domain}/protect | Required | Supported | post.admin.domains.domain.protect |
POST | /admin/domains/{domain}/quarantine | Required | Supported | post.admin.domains.domain.quarantine |
POST | /admin/domains/{domain}/return-to-normal | Required | Supported | post.admin.domains.domain.return-to-normal |
DELETE | /admin/domains/{domain}/users/{user} | Required | Supported | delete.admin.domains.domain.users.user |
GET | /admin/domains/{domain}/users | Required | No | get.admin.domains.domain.users |
POST | /admin/domains/{domain}/users | Required | Supported | post.admin.domains.domain.users |
POST | /admin/edge-cells/{cell}/drain | Required | Supported | post.admin.edge-cells.cell.drain |
POST | /admin/edge-cells/{cell}/restart | Required | Supported | post.admin.edge-cells.cell.restart |
POST | /admin/edge-cells/{cell}/undrain | Required | Supported | post.admin.edge-cells.cell.undrain |
GET | /admin/edge-cells/{cell} | Required | No | get.admin.edge-cells.cell |
GET | /admin/edge-cells | Required | No | get.admin.edge-cells |
POST | /admin/edge-deployments/reconcile | Required | Supported | post.admin.edge-deployments.reconcile |
GET | /admin/edge-deployments | Required | No | get.admin.edge-deployments |
DELETE | /admin/edge-pools/{pool}/cells/{cell} | Required | Supported | delete.admin.edge-pools.pool.cells.cell |
PUT | /admin/edge-pools/{pool}/cells/{cell} | Required | Supported | put.admin.edge-pools.pool.cells.cell |
POST | /admin/edge-pools/{pool}/disable | Required | Supported | post.admin.edge-pools.pool.disable |
POST | /admin/edge-pools/{pool}/edges/{edge}/endpoint | Required | Supported | post.admin.edge-pools.pool.edges.edge.endpoint |
POST | /admin/edge-pools/{pool}/enable | Required | Supported | post.admin.edge-pools.pool.enable |
DELETE | /admin/edge-pools/{pool}/endpoints/{endpoint} | Required | Supported | delete.admin.edge-pools.pool.endpoints.endpoint |
PATCH | /admin/edge-pools/{pool}/endpoints/{endpoint} | Required | Supported | patch.admin.edge-pools.pool.endpoints.endpoint |
DELETE | /admin/edge-pools/{pool}/maintenance | Required | Supported | delete.admin.edge-pools.pool.maintenance |
POST | /admin/edge-pools/{pool}/maintenance | Required | Supported | post.admin.edge-pools.pool.maintenance |
POST | /admin/edge-pools/{pool}/restore | Required | Supported | post.admin.edge-pools.pool.restore |
POST | /admin/edge-pools/{pool}/withdraw | Required | Supported | post.admin.edge-pools.pool.withdraw |
DELETE | /admin/edge-pools/{pool} | Required | Supported | delete.admin.edge-pools.pool |
GET | /admin/edge-pools/{pool} | Required | No | get.admin.edge-pools.pool |
PATCH | /admin/edge-pools/{pool} | Required | Supported | patch.admin.edge-pools.pool |
GET | /admin/edge-pools | Required | No | get.admin.edge-pools |
POST | /admin/edge-pools | Required | Supported | post.admin.edge-pools |
GET | /admin/edge-routing | Required | No | get.admin.edge-routing |
POST | /admin/edges/{edge}/disable | Required | Supported | post.admin.edges.edge.disable |
POST | /admin/edges/{edge}/drain | Required | Supported | post.admin.edges.edge.drain |
POST | /admin/edges/{edge}/enable | Required | Supported | post.admin.edges.edge.enable |
POST | /admin/edges/{edge}/rotate-identity | Required | Supported | post.admin.edges.edge.rotate-identity |
POST | /admin/edges/{edge}/undrain | Required | Supported | post.admin.edges.edge.undrain |
DELETE | /admin/edges/{edge} | Required | Supported | delete.admin.edges.edge |
GET | /admin/edges/{edge} | Required | No | get.admin.edges.edge |
PATCH | /admin/edges/{edge} | Required | Supported | patch.admin.edges.edge |
GET | /admin/edges | Required | No | get.admin.edges |
POST | /admin/edges | Required | Supported | post.admin.edges |
GET | /admin/fleet/releases | Required | No | get.admin.fleet.releases |
POST | /admin/fleet/releases | Required | Supported | post.admin.fleet.releases |
POST | /admin/fleet/rollouts/{rollout}/resume | Required | Supported | post.admin.fleet.rollouts.rollout.resume |
POST | /admin/fleet/rollouts/{rollout}/rollback | Required | Supported | post.admin.fleet.rollouts.rollout.rollback |
GET | /admin/fleet/rollouts/{rollout} | Required | No | get.admin.fleet.rollouts.rollout |
GET | /admin/fleet/rollouts | Required | No | get.admin.fleet.rollouts |
POST | /admin/fleet/rollouts | Required | Supported | post.admin.fleet.rollouts |
POST | /admin/jobs/failed/{job}/retry | Required | Supported | post.admin.jobs.failed.job.retry |
DELETE | /admin/jobs/failed/{job} | Required | Supported | delete.admin.jobs.failed.job |
GET | /admin/jobs/failed | Required | No | get.admin.jobs.failed |
GET | /admin/logs/edges | Required | No | get.admin.logs.edges |
GET | /admin/logs/errors | Required | No | get.admin.logs.errors |
GET | /admin/logs/security | Required | No | get.admin.logs.security |
POST | /admin/operations/{operation}/retry | Required | Supported | post.admin.operations.operation.retry |
GET | /admin/operations/{operation} | Required | No | get.admin.operations.operation |
GET | /admin/operations | Required | No | get.admin.operations |
POST | /admin/reconcile/{scope} | Required | Supported | post.admin.reconcile.scope |
GET | /admin/system/components | Required | No | get.admin.system.components |
GET | /admin/system/health | Required | No | get.admin.system.health |
POST | /admin/system/settings/dns/validate | Required | Supported | post.admin.system.settings.dns.validate |
GET | /admin/system/settings/dns | Required | No | get.admin.system.settings.dns |
PATCH | /admin/system/settings/dns | Required | Supported | patch.admin.system.settings.dns |
GET | /admin/system/settings/{group} | Required | No | get.admin.system.settings.group |
PATCH | /admin/system/settings/{group} | Required | Supported | patch.admin.system.settings.group |
GET | /admin/system/settings | Required | No | get.admin.system.settings |
PATCH | /admin/system/settings | Required | Supported | patch.admin.system.settings |
GET | /admin/system/status | Required | No | get.admin.system.status |
GET | /admin/usage/export | Required | No | get.admin.usage.export |
POST | /admin/usage/rebuild | Required | Supported | post.admin.usage.rebuild |
GET | /admin/usage | Required | No | get.admin.usage |
POST | /admin/users/{user}/disable | Required | Supported | post.admin.users.user.disable |
GET | /admin/users/{user}/domains | Required | No | get.admin.users.user.domains |
POST | /admin/users/{user}/enable | Required | Supported | post.admin.users.user.enable |
DELETE | /admin/users/{user} | Required | Supported | delete.admin.users.user |
GET | /admin/users/{user} | Required | No | get.admin.users.user |
PATCH | /admin/users/{user} | Required | Supported | patch.admin.users.user |
GET | /admin/users | Required | No | get.admin.users |
POST | /admin/users | Required | Supported | post.admin.users |
Download the machine-readable OpenAPI 3.1 contract.