Inspect pull zones, storage, DNS and video libraries on bunny.net, and purge caches.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
WRITE. Block an IP address from a pull zone (undo with bunny_remove_blocked_ip). bunny.net: POST /pullzone/{id}/addBlockedIp.
The IP address, e.g. 203.0.113.7.
The Pull Zone ID.
The server marks this tool as destructive. Running it may delete or overwrite data on the server or in any account you connected with your headers.
WRITE. Block an IP address from a pull zone (undo with bunny_remove_blocked_ip). bunny.net: POST /pullzone/{id}/addBlockedIp.
| Argument | Type | Description |
|---|---|---|
| ip* | string | The IP address, e.g. 203.0.113.7. |
| pull_zone_id* | integer | The Pull Zone ID. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"pull_zone_id",
"ip"
],
"properties": {
"ip": {
"type": "string",
"pattern": "^[0-9A-Fa-f:.*\\/]{2,64}$",
"description": "The IP address, e.g. 203.0.113.7."
},
"pull_zone_id": {
"type": "integer",
"maximum": 9007199254740991,
"description": "The Pull Zone ID.",
"exclusiveMinimum": 0
}
}
}WRITE. Add a record to a DNS zone. Takes effect on live DNS. bunny.net: PUT /dnszone/{zoneId}/records.
| Argument | Type | Description |
|---|---|---|
| tag | string | Tag (CAA), e.g. 'issue'. |
| ttl | integer | TTL in seconds. |
| name* | string | Record name relative to the zone; empty string for the apex, e.g. 'www'. |
| port | integer | Port (SRV). |
| type* | string | Record type. |
| flags | integer | Flags (CAA). |
| value* | string | Record value, e.g. an IP for A, a hostname for CNAME, text for TXT. |
| weight | integer | Weight (SRV, weighted records). |
| comment | string | Free-text note on the record. |
| zone_id* | integer | The DNS Zone ID. |
| disabled | boolean | Keep the record but stop serving it. |
| priority | integer | Priority (MX, SRV). |
| accelerated | boolean |
Export one DNS zone as a BIND zone file (plain text) — handy for review, diffing or backup before a change. bunny.net: GET /dnszone/{id}/export.
| Argument | Type | Description |
|---|---|---|
| zone_id* | integer | The DNS Zone ID. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"zone_id"
],
"properties": {
"zone_id": {
"type": "integer",
"maximum": 9007199254740991,
"description": "The DNS Zone ID.",
"exclusiveMinimum": 0
}
}
}Who changed what on one day: the account audit log (timestamp, product, resource, action, actor and a diff). Paginate with continuation_token. bunny.net: GET /user/audit/{date}.
| Argument | Type | Description |
|---|---|---|
| date* | string | The day to read, YYYY-MM-DD. |
| limit | integer | Max entries, 1-10000. Default 100. |
| order | string | Sort by time. |
| product | array | Only these products. |
| actor_id | array | Only changes by these actors. |
| resource_id | array | Only these resource IDs. |
| resource_type | array | Only these resource types. |
| continuation_token | string | ContinuationToken from the previous page. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"date"
],
"properties": {
"date": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "The day to read, YYYY-MM-DD."
},
"limit": {
"type": "integer",
"maximum": 10000,
"minimum": 1,
"description": "Max entries, 1-10000. Default 100."
},
"order": {
"enum": [
"Ascending",
"Descending"
],
"type": "string",
"description": "Sort by time."
},
"product": {
"type": "array",
"items": {
"type": "string"
},
"description": "Only these products."
},
"actor_id": {
"type": "array",
"items": {
"type": "string"
},
"description": "Only changes by these actors."
},
"resource_id": {
"type": "array",
"items": {
"type": "string"
},
"description": "Only these resource IDs."
},
"resource_type": {
"type": "array",
"items": {
"type": "string"
},
"description": "Only these resource types."
},
"continuation_token": {
"type": "string",
"description": "ContinuationToken from the previous page."
}
}
}The account balance, this month's charges broken down by product (traffic per continent, storage, DNS, Stream, scripting, Shield, ...) and recent billing records. Payment-method tokens are redacted. bunny.net: GET /billing.
No arguments.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {}
}Fetch one DNS zone with its settings and records. bunny.net: GET /dnszone/{id}.
| Argument | Type | Description |
|---|---|---|
| zone_id* | integer | The DNS Zone ID. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"zone_id"
],
"properties": {
"zone_id": {
"type": "integer",
"maximum": 9007199254740991,
"description": "The DNS Zone ID.",
"exclusiveMinimum": 0
}
}
}Fetch one pull zone with all its settings: origin, hostnames, caching, security, edge rules (with their GUIDs, needed by bunny_set_edge_rule_enabled), blocked IPs, limits and usage. Secrets (token-auth key, AWS signing secret, certificate private keys) are redacted. bunny.net: GET /pullzone/{id}.
| Argument | Type | Description |
|---|---|---|
| pull_zone_id* | integer | The Pull Zone ID. |
| include_certificate | boolean | Include each hostname's public SSL certificate (private keys are always redacted). |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"pull_zone_id"
],
"properties": {
"pull_zone_id": {
"type": "integer",
"maximum": 9007199254740991,
"description": "The Pull Zone ID.",
"exclusiveMinimum": 0
},
"include_certificate": {
"type": "boolean",
"description": "Include each hostname's public SSL certificate (private keys are always redacted)."
}
}
}CDN traffic statistics for the account or one pull zone: total bandwidth, origin traffic, requests served, cache hit rate and average origin response time, plus optional charts (bandwidth, requests, origin traffic, response times, 3xx/4xx/5xx errors, geographic distribution). bunny.net: GET /statistics.
| Argument | Type | Description |
|---|---|---|
| hourly | boolean | Hourly instead of daily grouping. |
| date_to | string | End of the range, YYYY-MM-DD or ISO 8601. Omit both dates for the last 30 days. |
| date_from | string | Start of the range, YYYY-MM-DD or ISO 8601. Omit both dates for the last 30 days. |
| region_id | integer | Only this edge region (see bunny_list_regions). |
| load_errors | boolean | Include the 3xx/4xx/5xx response charts. |
| pull_zone_id | integer | Only this pull zone. Omit for the whole account. |
| load_bandwidth_used | boolean | Include the bandwidth charts. |
| load_origin_traffic | boolean | Include the origin traffic chart. |
Fetch one edge storage zone: hostname, region, replication, storage used, files stored, 404 handling and connected pull zones. Storage passwords are redacted. bunny.net: GET /storagezone/{id}.
| Argument | Type | Description |
|---|---|---|
| storage_zone_id* | integer | The Storage Zone ID. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"storage_zone_id"
],
"properties": {
"storage_zone_id": {
"type": "integer",
"maximum": 9007199254740991,
"description": "The Storage Zone ID.",
"exclusiveMinimum": 0
}
}
}Daily charts of storage used and file count for one storage zone. bunny.net: GET /storagezone/{id}/statistics.
| Argument | Type | Description |
|---|---|---|
| date_to | string | End of the range, YYYY-MM-DD or ISO 8601. Omit both dates for the last 30 days. |
| date_from | string | Start of the range, YYYY-MM-DD or ISO 8601. Omit both dates for the last 30 days. |
| storage_zone_id* | integer | The Storage Zone ID. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"storage_zone_id"
],
"properties": {
"date_to": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}(T[\\d:.]+(Z|[+-]\\d{2}:?\\d{2})?)?$",
"description": "End of the range, YYYY-MM-DD or ISO 8601. Omit both dates for the last 30 days."
},
"date_from": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}(T[\\d:.]+(Z|[+-]\\d{2}:?\\d{2})?)?$",
"description": "Start of the range, YYYY-MM-DD or ISO 8601. Omit both dates for the last 30 days."
},
"storage_zone_id": {
"type": "integer",
"maximum": 9007199254740991,
"description": "The Storage Zone ID.",
"exclusiveMinimum": 0
}
}
}Fetch one Stream video library with its full configuration (resolutions, DRM, referrer rules, transcribing, watermark). Library API keys are redacted. bunny.net: GET /videolibrary/{id}.
| Argument | Type | Description |
|---|---|---|
| library_id* | integer | The Video Library ID. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"library_id"
],
"properties": {
"library_id": {
"type": "integer",
"maximum": 9007199254740991,
"description": "The Video Library ID.",
"exclusiveMinimum": 0
}
}
}List the records in one DNS zone, optionally filtered by type or search term. Record Type comes back as bunny.net's integer code (0=A, 1=AAAA, 2=CNAME, 3=TXT, 4=MX, 5=Redirect, 6=Flatten, 7=PullZone, 8=SRV, 9=CAA, 10=PTR, 11=Script, 12=NS, 13=SVCB, 14=HTTPS, 15=TLSA). bunny.net: GET /dnszone/{zoneId}/records.
| Argument | Type | Description |
|---|---|---|
| page | integer | Page number, 1-based. Default 1. |
| type | string | Only records of this type. |
| search | string | Filter results by this search term. |
| zone_id* | integer | The DNS Zone ID. |
| per_page | integer | Items per page, 5-1000. Default 1000. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"zone_id"
],
"properties": {
"page": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 1,
"description": "Page number, 1-based. Default 1."
},
"type": {
"enum": [
"A",
"AAAA",
"CNAME",
"TXT",
"MX",
"Redirect",
"Flatten",
"PullZone",
"SRV",
"CAA",
"PTR",
"Script",
"NS",
"SVCB",
"HTTPS",
"TLSA"
],
"type": "string",
"description": "Only records of this type."
},
"search": {
"type": "string",
"description": "Filter results by this search term."
},
"zone_id": {
"type": "integer",
"maximum": 9007199254740991,
"description": "The DNS Zone ID.",
"exclusiveMinimum": 0
},
"per_page": {
"type": "integer",
"maximum": 1000,
"minimum": 5,
"description": "Items per page, 5-1000. Default 1000."
}
}
}List the DNS zones hosted on bunny.net, with nameserver detection, DNSSEC and logging status. bunny.net: GET /dnszone.
| Argument | Type | Description |
|---|---|---|
| page | integer | Page number, 1-based. Default 1. |
| search | string | Filter results by this search term. |
| per_page | integer | Items per page, 5-1000. Default 1000. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"page": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 1,
"description": "Page number, 1-based. Default 1."
},
"search": {
"type": "string",
"description": "Filter results by this search term."
},
"per_page": {
"type": "integer",
"maximum": 1000,
"minimum": 5,
"description": "Items per page, 5-1000. Default 1000."
}
}
}List the CDN pull zones on the account. By default returns a compact view per zone (id, name, origin URL, enabled/suspended, hostnames, linked storage zone, bandwidth and charges this month); set full=true for every setting. bunny.net: GET /pullzone.
| Argument | Type | Description |
|---|---|---|
| full | boolean | Return every pull zone setting instead of the compact view. |
| page | integer | Page number, 1-based. Default 1. |
| search | string | Filter results by this search term. |
| per_page | integer | Items per page, 5-1000. Default 1000. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"full": {
"type": "boolean",
"description": "Return every pull zone setting instead of the compact view."
},
"page": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 1,
"description": "Page number, 1-based. Default 1."
},
"search": {
"type": "string",
"description": "Filter results by this search term."
},
"per_page": {
"type": "integer",
"maximum": 1000,
"minimum": 5,
"description": "Items per page, 5-1000. Default 1000."
}
}
}List bunny.net's edge regions with their IDs, codes, location and per-GB traffic price. A cheap way to confirm the API key works. bunny.net: GET /region.
No arguments.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {}
}List the edge storage zones on the account: region, replication regions, storage used, file count, tier and connected pull zones. Storage passwords are redacted. bunny.net: GET /storagezone.
| Argument | Type | Description |
|---|---|---|
| page | integer | Page number, 1-based. Default 1. |
| search | string | Filter results by this search term. |
| per_page | integer | Items per page, 5-1000. Default 1000. |
| include_deleted | boolean | Also return deleted storage zones. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"page": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 1,
"description": "Page number, 1-based. Default 1."
},
"search": {
"type": "string",
"description": "Filter results by this search term."
},
"per_page": {
"type": "integer",
"maximum": 1000,
"minimum": 5,
"description": "Items per page, 5-1000. Default 1000."
},
"include_deleted": {
"type": "boolean",
"description": "Also return deleted storage zones."
}
}
}List the Stream video libraries: video count, storage and traffic usage, linked pull/storage zones and player/encoding settings. Library API keys are redacted. bunny.net: GET /videolibrary.
| Argument | Type | Description |
|---|---|---|
| page | integer | Page number, 1-based. Default 1. |
| search | string | Filter results by this search term. |
| per_page | integer | Items per page, 5-1000. Default 1000. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"page": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 1,
"description": "Page number, 1-based. Default 1."
},
"search": {
"type": "string",
"description": "Filter results by this search term."
},
"per_page": {
"type": "integer",
"maximum": 1000,
"minimum": 5,
"description": "Items per page, 5-1000. Default 1000."
}
}
}WRITE. Purge the cached content of one pull zone — everything, or only files carrying a cache tag. Nothing is lost (the CDN refetches from the origin) but the origin takes the refill load. bunny.net: POST /pullzone/{id}/purgeCache.
| Argument | Type | Description |
|---|---|---|
| cache_tag | string | Only purge files with this cache tag. |
| pull_zone_id* | integer | The Pull Zone ID. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"pull_zone_id"
],
"properties": {
"cache_tag": {
"type": "string",
"maxLength": 512,
"minLength": 1,
"description": "Only purge files with this cache tag."
},
"pull_zone_id": {
"type": "integer",
"maximum": 9007199254740991,
"description": "The Pull Zone ID.",
"exclusiveMinimum": 0
}
}
}WRITE. Purge one URL from the CDN cache. A URL ending in '/' purges everything under it unless exact_path is true; a '*' wildcard is also accepted. The CDN refetches from the origin. bunny.net: POST /purge.
| Argument | Type | Description |
|---|---|---|
| url* | string | The CDN URL to purge, e.g. https://myzone.b-cdn.net/css/site.css. |
| async | boolean | Return immediately instead of waiting for the purge to finish. |
| exact_path | boolean | For a URL ending in '/', purge only that exact path. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"url"
],
"properties": {
"url": {
"type": "string",
"pattern": "^https?:\\/\\/\\S+$",
"maxLength": 2048,
"description": "The CDN URL to purge, e.g. https://myzone.b-cdn.net/css/site.css."
},
"async": {
"type": "boolean",
"description": "Return immediately instead of waiting for the purge to finish."
},
"exact_path": {
"type": "boolean",
"description": "For a URL ending in '/', purge only that exact path."
}
}
}WRITE. Remove an IP address from a pull zone's block list. bunny.net: POST /pullzone/{id}/removeBlockedIp.
| Argument | Type | Description |
|---|---|---|
| ip* | string | The IP address, e.g. 203.0.113.7. |
| pull_zone_id* | integer | The Pull Zone ID. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"pull_zone_id",
"ip"
],
"properties": {
"ip": {
"type": "string",
"pattern": "^[0-9A-Fa-f:.*\\/]{2,64}$",
"description": "The IP address, e.g. 203.0.113.7."
},
"pull_zone_id": {
"type": "integer",
"maximum": 9007199254740991,
"description": "The Pull Zone ID.",
"exclusiveMinimum": 0
}
}
}WRITE. Turn one edge rule on a pull zone on or off (reversible — the rule is kept). Get the rule's GUID from bunny_get_pull_zone (EdgeRules[].Guid). bunny.net: POST /pullzone/{pullZoneId}/edgerules/{edgeRuleId}/setEdgeRuleEnabled.
| Argument | Type | Description |
|---|---|---|
| enabled* | boolean | true to enable, false to disable. |
| edge_rule_id* | string | The edge rule's GUID. |
| pull_zone_id* | integer | The Pull Zone ID. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"pull_zone_id",
"edge_rule_id",
"enabled"
],
"properties": {
"enabled": {
"type": "boolean",
"description": "true to enable, false to disable."
},
"edge_rule_id": {
"type": "string",
"pattern": "^[A-Za-z0-9-]{1,64}$",
"description": "The edge rule's GUID."
},
"pull_zone_id": {
"type": "integer",
"maximum": 9007199254740991,
"description": "The Pull Zone ID.",
"exclusiveMinimum": 0
}
}
}WRITE. Update an existing DNS record. Takes effect on live DNS. Read the record first with bunny_list_dns_records and pass its type, name and value along with any other fields you want to keep or change. bunny.net: POST /dnszone/{zoneId}/records/{id}.
| Argument | Type | Description |
|---|---|---|
| tag | string | Tag (CAA), e.g. 'issue'. |
| ttl | integer | TTL in seconds. |
| name* | string | Record name relative to the zone; empty string for the apex, e.g. 'www'. |
| port | integer | Port (SRV). |
| type* | string | Record type. |
| flags | integer | Flags (CAA). |
| value* | string | Record value, e.g. an IP for A, a hostname for CNAME, text for TXT. |
| weight | integer | Weight (SRV, weighted records). |
| comment | string | Free-text note on the record. |
| Route the record through the CDN (CDN acceleration). |
| pull_zone_id | integer | Pull Zone ID, for type PullZone. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"zone_id",
"type",
"name",
"value"
],
"properties": {
"tag": {
"type": "string",
"maxLength": 255,
"description": "Tag (CAA), e.g. 'issue'."
},
"ttl": {
"type": "integer",
"maximum": 2147483647,
"minimum": 0,
"description": "TTL in seconds."
},
"name": {
"type": "string",
"maxLength": 255,
"description": "Record name relative to the zone; empty string for the apex, e.g. 'www'."
},
"port": {
"type": "integer",
"maximum": 65535,
"minimum": 0,
"description": "Port (SRV)."
},
"type": {
"enum": [
"A",
"AAAA",
"CNAME",
"TXT",
"MX",
"Redirect",
"Flatten",
"PullZone",
"SRV",
"CAA",
"PTR",
"Script",
"NS",
"SVCB",
"HTTPS",
"TLSA"
],
"type": "string",
"description": "Record type."
},
"flags": {
"type": "integer",
"maximum": 255,
"minimum": 0,
"description": "Flags (CAA)."
},
"value": {
"type": "string",
"maxLength": 4096,
"description": "Record value, e.g. an IP for A, a hostname for CNAME, text for TXT."
},
"weight": {
"type": "integer",
"maximum": 65535,
"minimum": 0,
"description": "Weight (SRV, weighted records)."
},
"comment": {
"type": "string",
"maxLength": 1024,
"description": "Free-text note on the record."
},
"zone_id": {
"type": "integer",
"maximum": 9007199254740991,
"description": "The DNS Zone ID.",
"exclusiveMinimum": 0
},
"disabled": {
"type": "boolean",
"description": "Keep the record but stop serving it."
},
"priority": {
"type": "integer",
"maximum": 65535,
"minimum": 0,
"description": "Priority (MX, SRV)."
},
"accelerated": {
"type": "boolean",
"description": "Route the record through the CDN (CDN acceleration)."
},
"pull_zone_id": {
"type": "integer",
"maximum": 9007199254740991,
"description": "Pull Zone ID, for type PullZone.",
"exclusiveMinimum": 0
}
}
}| load_requests_served | boolean | Include the requests-served chart. |
| load_origin_response_times | boolean | Include the origin response time chart. |
| load_geographic_traffic_distribution | boolean | Include traffic by country. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"hourly": {
"type": "boolean",
"description": "Hourly instead of daily grouping."
},
"date_to": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}(T[\\d:.]+(Z|[+-]\\d{2}:?\\d{2})?)?$",
"description": "End of the range, YYYY-MM-DD or ISO 8601. Omit both dates for the last 30 days."
},
"date_from": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}(T[\\d:.]+(Z|[+-]\\d{2}:?\\d{2})?)?$",
"description": "Start of the range, YYYY-MM-DD or ISO 8601. Omit both dates for the last 30 days."
},
"region_id": {
"type": "integer",
"maximum": 9007199254740991,
"description": "Only this edge region (see bunny_list_regions).",
"exclusiveMinimum": 0
},
"load_errors": {
"type": "boolean",
"description": "Include the 3xx/4xx/5xx response charts."
},
"pull_zone_id": {
"type": "integer",
"maximum": 9007199254740991,
"description": "Only this pull zone. Omit for the whole account.",
"exclusiveMinimum": 0
},
"load_bandwidth_used": {
"type": "boolean",
"description": "Include the bandwidth charts."
},
"load_origin_traffic": {
"type": "boolean",
"description": "Include the origin traffic chart."
},
"load_requests_served": {
"type": "boolean",
"description": "Include the requests-served chart."
},
"load_origin_response_times": {
"type": "boolean",
"description": "Include the origin response time chart."
},
"load_geographic_traffic_distribution": {
"type": "boolean",
"description": "Include traffic by country."
}
}
}| zone_id* | integer | The DNS Zone ID. |
| disabled | boolean | Keep the record but stop serving it. |
| priority | integer | Priority (MX, SRV). |
| record_id* | integer | The DNS record ID. |
| accelerated | boolean | Route the record through the CDN (CDN acceleration). |
| pull_zone_id | integer | Pull Zone ID, for type PullZone. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"zone_id",
"record_id",
"type",
"name",
"value"
],
"properties": {
"tag": {
"type": "string",
"maxLength": 255,
"description": "Tag (CAA), e.g. 'issue'."
},
"ttl": {
"type": "integer",
"maximum": 2147483647,
"minimum": 0,
"description": "TTL in seconds."
},
"name": {
"type": "string",
"maxLength": 255,
"description": "Record name relative to the zone; empty string for the apex, e.g. 'www'."
},
"port": {
"type": "integer",
"maximum": 65535,
"minimum": 0,
"description": "Port (SRV)."
},
"type": {
"enum": [
"A",
"AAAA",
"CNAME",
"TXT",
"MX",
"Redirect",
"Flatten",
"PullZone",
"SRV",
"CAA",
"PTR",
"Script",
"NS",
"SVCB",
"HTTPS",
"TLSA"
],
"type": "string",
"description": "Record type."
},
"flags": {
"type": "integer",
"maximum": 255,
"minimum": 0,
"description": "Flags (CAA)."
},
"value": {
"type": "string",
"maxLength": 4096,
"description": "Record value, e.g. an IP for A, a hostname for CNAME, text for TXT."
},
"weight": {
"type": "integer",
"maximum": 65535,
"minimum": 0,
"description": "Weight (SRV, weighted records)."
},
"comment": {
"type": "string",
"maxLength": 1024,
"description": "Free-text note on the record."
},
"zone_id": {
"type": "integer",
"maximum": 9007199254740991,
"description": "The DNS Zone ID.",
"exclusiveMinimum": 0
},
"disabled": {
"type": "boolean",
"description": "Keep the record but stop serving it."
},
"priority": {
"type": "integer",
"maximum": 65535,
"minimum": 0,
"description": "Priority (MX, SRV)."
},
"record_id": {
"type": "integer",
"maximum": 9007199254740991,
"description": "The DNS record ID.",
"exclusiveMinimum": 0
},
"accelerated": {
"type": "boolean",
"description": "Route the record through the CDN (CDN acceleration)."
},
"pull_zone_id": {
"type": "integer",
"maximum": 9007199254740991,
"description": "Pull Zone ID, for type PullZone.",
"exclusiveMinimum": 0
}
}
}