{
  "components" : {
    "schemas" : {
      "Error" : {
        "properties" : {
          "error" : {
            "type" : "string"
          }
        },
        "required" : [
          "error"
        ],
        "type" : "object"
      },
      "MoveInput" : {
        "properties" : {
          "name" : {
            "description" : "Absolute ASCII A-label DNS name; canonicalized to lower case with trailing dot. No relative origin.",
            "example" : "example.net.",
            "type" : "string"
          },
          "zone_id" : {
            "format" : "int64",
            "minimum" : 1,
            "type" : "integer"
          }
        },
        "required" : [
          "zone_id",
          "name"
        ],
        "type" : "object"
      },
      "MutationResult" : {
        "properties" : {
          "id" : {
            "description" : "Affected entity id; zero for RRset operations",
            "format" : "int64",
            "type" : "integer"
          }
        },
        "required" : [
          "id"
        ],
        "type" : "object"
      },
      "Record" : {
        "properties" : {
          "id" : {
            "format" : "int64",
            "minimum" : 1,
            "type" : "integer"
          },
          "name" : {
            "description" : "Absolute ASCII A-label DNS name; canonicalized to lower case with trailing dot. No relative origin.",
            "example" : "example.net.",
            "type" : "string"
          },
          "rdata" : {
            "description" : "Presentation RDATA or validated RFC3597 generic form. MX rdata is target; SRV is weight port target; supply priority separately. SOA comes from zone metadata.",
            "type" : "string"
          },
          "ttl" : {
            "maximum" : 2147483647,
            "minimum" : 0,
            "type" : "integer"
          },
          "type" : {
            "enum" : [
              "A",
              "AAAA",
              "NS",
              "CNAME",
              "PTR",
              "MX",
              "SRV",
              "TXT",
              "CAA"
            ],
            "type" : "string"
          },
          "zone_id" : {
            "format" : "int64",
            "minimum" : 1,
            "type" : "integer"
          }
        },
        "required" : [
          "id",
          "zone_id",
          "name",
          "type",
          "ttl",
          "rdata"
        ],
        "type" : "object"
      },
      "RecordInput" : {
        "properties" : {
          "name" : {
            "description" : "Absolute ASCII A-label DNS name; canonicalized to lower case with trailing dot. No relative origin.",
            "example" : "example.net.",
            "type" : "string"
          },
          "priority" : {
            "maximum" : 65535,
            "minimum" : 0,
            "type" : [
              "integer",
              "null"
            ]
          },
          "rdata" : {
            "description" : "Presentation RDATA or validated RFC3597 generic form. MX rdata is target; SRV is weight port target; supply priority separately. SOA comes from zone metadata.",
            "type" : "string"
          },
          "ttl" : {
            "maximum" : 2147483647,
            "minimum" : 0,
            "type" : "integer"
          },
          "type" : {
            "enum" : [
              "A",
              "AAAA",
              "NS",
              "CNAME",
              "PTR",
              "MX",
              "SRV",
              "TXT",
              "CAA"
            ],
            "type" : "string"
          }
        },
        "required" : [
          "name",
          "type",
          "ttl",
          "rdata"
        ],
        "type" : "object"
      },
      "RRSetInput" : {
        "properties" : {
          "name" : {
            "description" : "Absolute ASCII A-label DNS name; canonicalized to lower case with trailing dot. No relative origin.",
            "example" : "example.net.",
            "type" : "string"
          },
          "priority" : {
            "maximum" : 65535,
            "minimum" : 0,
            "type" : [
              "integer",
              "null"
            ]
          },
          "rdata" : {
            "items" : {
              "type" : "string"
            },
            "type" : "array"
          },
          "ttl" : {
            "maximum" : 2147483647,
            "minimum" : 0,
            "type" : "integer"
          },
          "type" : {
            "enum" : [
              "A",
              "AAAA",
              "NS",
              "CNAME",
              "PTR",
              "MX",
              "SRV",
              "TXT",
              "CAA"
            ],
            "type" : "string"
          }
        },
        "required" : [
          "name",
          "type",
          "ttl",
          "rdata"
        ],
        "type" : "object"
      },
      "TTLInput" : {
        "properties" : {
          "name" : {
            "description" : "Absolute ASCII A-label DNS name; canonicalized to lower case with trailing dot. No relative origin.",
            "example" : "example.net.",
            "type" : "string"
          },
          "ttl" : {
            "maximum" : 2147483647,
            "minimum" : 0,
            "type" : "integer"
          },
          "type" : {
            "enum" : [
              "A",
              "AAAA",
              "NS",
              "CNAME",
              "PTR",
              "MX",
              "SRV",
              "TXT",
              "CAA"
            ],
            "type" : "string"
          }
        },
        "required" : [
          "name",
          "type",
          "ttl"
        ],
        "type" : "object"
      },
      "Zone" : {
        "properties" : {
          "id" : {
            "format" : "int64",
            "minimum" : 1,
            "type" : "integer"
          },
          "metadata" : {
            "$ref" : "#\/components\/schemas\/ZoneInput"
          },
          "serial" : {
            "maximum" : 4294967295,
            "minimum" : 0,
            "type" : "integer"
          }
        },
        "required" : [
          "id",
          "serial",
          "metadata"
        ],
        "type" : "object"
      },
      "ZoneInput" : {
        "properties" : {
          "admin" : {
            "description" : "Absolute ASCII A-label DNS name; canonicalized to lower case with trailing dot. No relative origin.",
            "example" : "example.net.",
            "type" : "string"
          },
          "expire" : {
            "default" : 1209600,
            "description" : "Must exceed refresh and retry",
            "maximum" : 2147483647,
            "minimum" : 1,
            "type" : "integer"
          },
          "minimum" : {
            "default" : 300,
            "maximum" : 2147483647,
            "minimum" : 0,
            "type" : "integer"
          },
          "name" : {
            "description" : "Absolute ASCII A-label DNS name; canonicalized to lower case with trailing dot. No relative origin.",
            "example" : "example.net.",
            "type" : "string"
          },
          "primary_ns" : {
            "description" : "Absolute ASCII A-label DNS name; canonicalized to lower case with trailing dot. No relative origin.",
            "example" : "example.net.",
            "type" : "string"
          },
          "refresh" : {
            "default" : 3600,
            "maximum" : 2147483647,
            "minimum" : 1,
            "type" : "integer"
          },
          "retry" : {
            "default" : 600,
            "maximum" : 2147483647,
            "minimum" : 1,
            "type" : "integer"
          },
          "serve_stale_strict" : {
            "default" : false,
            "type" : "boolean"
          },
          "stale_max_seconds" : {
            "description" : "null inherits the node default and hard cap",
            "maximum" : 2147483647,
            "minimum" : 1,
            "type" : [
              "integer",
              "null"
            ]
          }
        },
        "required" : [
          "name",
          "primary_ns",
          "admin"
        ],
        "type" : "object"
      }
    },
    "securitySchemes" : {
      "bearerAuth" : {
        "description" : "High-entropy application token; only SHA-256 digest stored in configuration",
        "scheme" : "bearer",
        "type" : "http"
      }
    }
  },
  "info" : {
    "description" : "Authoritative DNS management. All writes call SECURITY DEFINER functions and atomically audit. Notifications are best effort; nodes poll as fallback.",
    "title" : "FDNS Admin",
    "version" : "1.0.0"
  },
  "openapi" : "3.1.0",
  "paths" : {
    "\/api\/v1\/zones" : {
      "get" : {
        "description" : "Requires read scope. Optional zone-id restrictions apply. Lists are currently unpaginated.",
        "operationId" : "zones",
        "parameters" : [

        ],
        "responses" : {
          "200" : {
            "content" : {
              "application\/json" : {
                "schema" : {
                  "items" : {
                    "$ref" : "#\/components\/schemas\/Zone"
                  },
                  "type" : "array"
                }
              }
            },
            "description" : "Success"
          },
          "400" : {
            "content" : {
              "application\/json" : {
                "schema" : {
                  "$ref" : "#\/components\/schemas\/Error"
                }
              }
            },
            "description" : "Error"
          },
          "401" : {
            "content" : {
              "application\/json" : {
                "schema" : {
                  "$ref" : "#\/components\/schemas\/Error"
                }
              }
            },
            "description" : "Error"
          },
          "403" : {
            "content" : {
              "application\/json" : {
                "schema" : {
                  "$ref" : "#\/components\/schemas\/Error"
                }
              }
            },
            "description" : "Error"
          },
          "404" : {
            "content" : {
              "application\/json" : {
                "schema" : {
                  "$ref" : "#\/components\/schemas\/Error"
                }
              }
            },
            "description" : "Error"
          },
          "409" : {
            "content" : {
              "application\/json" : {
                "schema" : {
                  "$ref" : "#\/components\/schemas\/Error"
                }
              }
            },
            "description" : "Error"
          },
          "413" : {
            "content" : {
              "application\/json" : {
                "schema" : {
                  "$ref" : "#\/components\/schemas\/Error"
                }
              }
            },
            "description" : "Error"
          },
          "500" : {
            "content" : {
              "application\/json" : {
                "schema" : {
                  "$ref" : "#\/components\/schemas\/Error"
                }
              }
            },
            "description" : "Error"
          },
          "504" : {
            "content" : {
              "application\/json" : {
                "schema" : {
                  "$ref" : "#\/components\/schemas\/Error"
                }
              }
            },
            "description" : "Error"
          }
        },
        "security" : [
          {
            "bearerAuth" : [

            ]
          }
        ],
        "summary" : "List authorized zones"
      },
      "post" : {
        "description" : "Requires write scope. Optional zone-id restrictions apply. Lists are currently unpaginated.",
        "operationId" : "createZone",
        "parameters" : [

        ],
        "requestBody" : {
          "content" : {
            "application\/json" : {
              "schema" : {
                "$ref" : "#\/components\/schemas\/ZoneInput"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "201" : {
            "content" : {
              "application\/json" : {
                "schema" : {
                  "$ref" : "#\/components\/schemas\/MutationResult"
                }
              }
            },
            "description" : "Success"
          },
          "400" : {
            "content" : {
              "application\/json" : {
                "schema" : {
                  "$ref" : "#\/components\/schemas\/Error"
                }
              }
            },
            "description" : "Error"
          },
          "401" : {
            "content" : {
              "application\/json" : {
                "schema" : {
                  "$ref" : "#\/components\/schemas\/Error"
                }
              }
            },
            "description" : "Error"
          },
          "403" : {
            "content" : {
              "application\/json" : {
                "schema" : {
                  "$ref" : "#\/components\/schemas\/Error"
                }
              }
            },
            "description" : "Error"
          },
          "404" : {
            "content" : {
              "application\/json" : {
                "schema" : {
                  "$ref" : "#\/components\/schemas\/Error"
                }
              }
            },
            "description" : "Error"
          },
          "409" : {
            "content" : {
              "application\/json" : {
                "schema" : {
                  "$ref" : "#\/components\/schemas\/Error"
                }
              }
            },
            "description" : "Error"
          },
          "413" : {
            "content" : {
              "application\/json" : {
                "schema" : {
                  "$ref" : "#\/components\/schemas\/Error"
                }
              }
            },
            "description" : "Error"
          },
          "500" : {
            "content" : {
              "application\/json" : {
                "schema" : {
                  "$ref" : "#\/components\/schemas\/Error"
                }
              }
            },
            "description" : "Error"
          },
          "504" : {
            "content" : {
              "application\/json" : {
                "schema" : {
                  "$ref" : "#\/components\/schemas\/Error"
                }
              }
            },
            "description" : "Error"
          }
        },
        "security" : [
          {
            "bearerAuth" : [

            ]
          }
        ],
        "summary" : "Create zone and SOA metadata (unrestricted write scope only)"
      }
    },
    "\/api\/v1\/zones\/{zone}" : {
      "delete" : {
        "description" : "Requires write scope. Optional zone-id restrictions apply. Lists are currently unpaginated.",
        "operationId" : "deleteZone",
        "parameters" : [
          {
            "in" : "path",
            "name" : "zone",
            "required" : true,
            "schema" : {
              "format" : "int64",
              "minimum" : 1,
              "type" : "integer"
            }
          }
        ],
        "responses" : {
          "200" : {
            "content" : {
              "application\/json" : {
                "schema" : {
                  "$ref" : "#\/components\/schemas\/MutationResult"
                }
              }
            },
            "description" : "Success"
          },
          "400" : {
            "content" : {
              "application\/json" : {
                "schema" : {
                  "$ref" : "#\/components\/schemas\/Error"
                }
              }
            },
            "description" : "Error"
          },
          "401" : {
            "content" : {
              "application\/json" : {
                "schema" : {
                  "$ref" : "#\/components\/schemas\/Error"
                }
              }
            },
            "description" : "Error"
          },
          "403" : {
            "content" : {
              "application\/json" : {
                "schema" : {
                  "$ref" : "#\/components\/schemas\/Error"
                }
              }
            },
            "description" : "Error"
          },
          "404" : {
            "content" : {
              "application\/json" : {
                "schema" : {
                  "$ref" : "#\/components\/schemas\/Error"
                }
              }
            },
            "description" : "Error"
          },
          "409" : {
            "content" : {
              "application\/json" : {
                "schema" : {
                  "$ref" : "#\/components\/schemas\/Error"
                }
              }
            },
            "description" : "Error"
          },
          "413" : {
            "content" : {
              "application\/json" : {
                "schema" : {
                  "$ref" : "#\/components\/schemas\/Error"
                }
              }
            },
            "description" : "Error"
          },
          "500" : {
            "content" : {
              "application\/json" : {
                "schema" : {
                  "$ref" : "#\/components\/schemas\/Error"
                }
              }
            },
            "description" : "Error"
          },
          "504" : {
            "content" : {
              "application\/json" : {
                "schema" : {
                  "$ref" : "#\/components\/schemas\/Error"
                }
              }
            },
            "description" : "Error"
          }
        },
        "security" : [
          {
            "bearerAuth" : [

            ]
          }
        ],
        "summary" : "Delete zone and all its records"
      },
      "get" : {
        "description" : "Requires read scope. Optional zone-id restrictions apply. Lists are currently unpaginated.",
        "operationId" : "zone",
        "parameters" : [
          {
            "in" : "path",
            "name" : "zone",
            "required" : true,
            "schema" : {
              "format" : "int64",
              "minimum" : 1,
              "type" : "integer"
            }
          }
        ],
        "responses" : {
          "200" : {
            "content" : {
              "application\/json" : {
                "schema" : {
                  "$ref" : "#\/components\/schemas\/Zone"
                }
              }
            },
            "description" : "Success"
          },
          "400" : {
            "content" : {
              "application\/json" : {
                "schema" : {
                  "$ref" : "#\/components\/schemas\/Error"
                }
              }
            },
            "description" : "Error"
          },
          "401" : {
            "content" : {
              "application\/json" : {
                "schema" : {
                  "$ref" : "#\/components\/schemas\/Error"
                }
              }
            },
            "description" : "Error"
          },
          "403" : {
            "content" : {
              "application\/json" : {
                "schema" : {
                  "$ref" : "#\/components\/schemas\/Error"
                }
              }
            },
            "description" : "Error"
          },
          "404" : {
            "content" : {
              "application\/json" : {
                "schema" : {
                  "$ref" : "#\/components\/schemas\/Error"
                }
              }
            },
            "description" : "Error"
          },
          "409" : {
            "content" : {
              "application\/json" : {
                "schema" : {
                  "$ref" : "#\/components\/schemas\/Error"
                }
              }
            },
            "description" : "Error"
          },
          "413" : {
            "content" : {
              "application\/json" : {
                "schema" : {
                  "$ref" : "#\/components\/schemas\/Error"
                }
              }
            },
            "description" : "Error"
          },
          "500" : {
            "content" : {
              "application\/json" : {
                "schema" : {
                  "$ref" : "#\/components\/schemas\/Error"
                }
              }
            },
            "description" : "Error"
          },
          "504" : {
            "content" : {
              "application\/json" : {
                "schema" : {
                  "$ref" : "#\/components\/schemas\/Error"
                }
              }
            },
            "description" : "Error"
          }
        },
        "security" : [
          {
            "bearerAuth" : [

            ]
          }
        ],
        "summary" : "Get zone"
      },
      "put" : {
        "description" : "Requires write scope. Optional zone-id restrictions apply. Lists are currently unpaginated.",
        "operationId" : "updateZone",
        "parameters" : [
          {
            "in" : "path",
            "name" : "zone",
            "required" : true,
            "schema" : {
              "format" : "int64",
              "minimum" : 1,
              "type" : "integer"
            }
          }
        ],
        "requestBody" : {
          "content" : {
            "application\/json" : {
              "schema" : {
                "$ref" : "#\/components\/schemas\/ZoneInput"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "content" : {
              "application\/json" : {
                "schema" : {
                  "$ref" : "#\/components\/schemas\/MutationResult"
                }
              }
            },
            "description" : "Success"
          },
          "400" : {
            "content" : {
              "application\/json" : {
                "schema" : {
                  "$ref" : "#\/components\/schemas\/Error"
                }
              }
            },
            "description" : "Error"
          },
          "401" : {
            "content" : {
              "application\/json" : {
                "schema" : {
                  "$ref" : "#\/components\/schemas\/Error"
                }
              }
            },
            "description" : "Error"
          },
          "403" : {
            "content" : {
              "application\/json" : {
                "schema" : {
                  "$ref" : "#\/components\/schemas\/Error"
                }
              }
            },
            "description" : "Error"
          },
          "404" : {
            "content" : {
              "application\/json" : {
                "schema" : {
                  "$ref" : "#\/components\/schemas\/Error"
                }
              }
            },
            "description" : "Error"
          },
          "409" : {
            "content" : {
              "application\/json" : {
                "schema" : {
                  "$ref" : "#\/components\/schemas\/Error"
                }
              }
            },
            "description" : "Error"
          },
          "413" : {
            "content" : {
              "application\/json" : {
                "schema" : {
                  "$ref" : "#\/components\/schemas\/Error"
                }
              }
            },
            "description" : "Error"
          },
          "500" : {
            "content" : {
              "application\/json" : {
                "schema" : {
                  "$ref" : "#\/components\/schemas\/Error"
                }
              }
            },
            "description" : "Error"
          },
          "504" : {
            "content" : {
              "application\/json" : {
                "schema" : {
                  "$ref" : "#\/components\/schemas\/Error"
                }
              }
            },
            "description" : "Error"
          }
        },
        "security" : [
          {
            "bearerAuth" : [

            ]
          }
        ],
        "summary" : "Replace SOA metadata and stale policy; name is immutable"
      }
    },
    "\/api\/v1\/zones\/{zone}\/records" : {
      "get" : {
        "description" : "Requires read scope. Optional zone-id restrictions apply. Lists are currently unpaginated.",
        "operationId" : "records",
        "parameters" : [
          {
            "in" : "path",
            "name" : "zone",
            "required" : true,
            "schema" : {
              "format" : "int64",
              "minimum" : 1,
              "type" : "integer"
            }
          }
        ],
        "responses" : {
          "200" : {
            "content" : {
              "application\/json" : {
                "schema" : {
                  "items" : {
                    "$ref" : "#\/components\/schemas\/Record"
                  },
                  "type" : "array"
                }
              }
            },
            "description" : "Success"
          },
          "400" : {
            "content" : {
              "application\/json" : {
                "schema" : {
                  "$ref" : "#\/components\/schemas\/Error"
                }
              }
            },
            "description" : "Error"
          },
          "401" : {
            "content" : {
              "application\/json" : {
                "schema" : {
                  "$ref" : "#\/components\/schemas\/Error"
                }
              }
            },
            "description" : "Error"
          },
          "403" : {
            "content" : {
              "application\/json" : {
                "schema" : {
                  "$ref" : "#\/components\/schemas\/Error"
                }
              }
            },
            "description" : "Error"
          },
          "404" : {
            "content" : {
              "application\/json" : {
                "schema" : {
                  "$ref" : "#\/components\/schemas\/Error"
                }
              }
            },
            "description" : "Error"
          },
          "409" : {
            "content" : {
              "application\/json" : {
                "schema" : {
                  "$ref" : "#\/components\/schemas\/Error"
                }
              }
            },
            "description" : "Error"
          },
          "413" : {
            "content" : {
              "application\/json" : {
                "schema" : {
                  "$ref" : "#\/components\/schemas\/Error"
                }
              }
            },
            "description" : "Error"
          },
          "500" : {
            "content" : {
              "application\/json" : {
                "schema" : {
                  "$ref" : "#\/components\/schemas\/Error"
                }
              }
            },
            "description" : "Error"
          },
          "504" : {
            "content" : {
              "application\/json" : {
                "schema" : {
                  "$ref" : "#\/components\/schemas\/Error"
                }
              }
            },
            "description" : "Error"
          }
        },
        "security" : [
          {
            "bearerAuth" : [

            ]
          }
        ],
        "summary" : "List zone records (RDATA in RFC3597 presentation)"
      },
      "post" : {
        "description" : "Requires write scope. Optional zone-id restrictions apply. Lists are currently unpaginated.",
        "operationId" : "upsert",
        "parameters" : [
          {
            "in" : "path",
            "name" : "zone",
            "required" : true,
            "schema" : {
              "format" : "int64",
              "minimum" : 1,
              "type" : "integer"
            }
          }
        ],
        "requestBody" : {
          "content" : {
            "application\/json" : {
              "schema" : {
                "$ref" : "#\/components\/schemas\/RecordInput"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "content" : {
              "application\/json" : {
                "schema" : {
                  "$ref" : "#\/components\/schemas\/MutationResult"
                }
              }
            },
            "description" : "Success"
          },
          "400" : {
            "content" : {
              "application\/json" : {
                "schema" : {
                  "$ref" : "#\/components\/schemas\/Error"
                }
              }
            },
            "description" : "Error"
          },
          "401" : {
            "content" : {
              "application\/json" : {
                "schema" : {
                  "$ref" : "#\/components\/schemas\/Error"
                }
              }
            },
            "description" : "Error"
          },
          "403" : {
            "content" : {
              "application\/json" : {
                "schema" : {
                  "$ref" : "#\/components\/schemas\/Error"
                }
              }
            },
            "description" : "Error"
          },
          "404" : {
            "content" : {
              "application\/json" : {
                "schema" : {
                  "$ref" : "#\/components\/schemas\/Error"
                }
              }
            },
            "description" : "Error"
          },
          "409" : {
            "content" : {
              "application\/json" : {
                "schema" : {
                  "$ref" : "#\/components\/schemas\/Error"
                }
              }
            },
            "description" : "Error"
          },
          "413" : {
            "content" : {
              "application\/json" : {
                "schema" : {
                  "$ref" : "#\/components\/schemas\/Error"
                }
              }
            },
            "description" : "Error"
          },
          "500" : {
            "content" : {
              "application\/json" : {
                "schema" : {
                  "$ref" : "#\/components\/schemas\/Error"
                }
              }
            },
            "description" : "Error"
          },
          "504" : {
            "content" : {
              "application\/json" : {
                "schema" : {
                  "$ref" : "#\/components\/schemas\/Error"
                }
              }
            },
            "description" : "Error"
          }
        },
        "security" : [
          {
            "bearerAuth" : [

            ]
          }
        ],
        "summary" : "Upsert by owner\/type\/canonical RDATA; returns record id"
      }
    },
    "\/api\/v1\/zones\/{zone}\/records\/{record}" : {
      "delete" : {
        "description" : "Requires write scope. Optional zone-id restrictions apply. Lists are currently unpaginated.",
        "operationId" : "deleteRecord",
        "parameters" : [
          {
            "in" : "path",
            "name" : "zone",
            "required" : true,
            "schema" : {
              "format" : "int64",
              "minimum" : 1,
              "type" : "integer"
            }
          },
          {
            "in" : "path",
            "name" : "record",
            "required" : true,
            "schema" : {
              "format" : "int64",
              "minimum" : 1,
              "type" : "integer"
            }
          }
        ],
        "responses" : {
          "200" : {
            "content" : {
              "application\/json" : {
                "schema" : {
                  "$ref" : "#\/components\/schemas\/MutationResult"
                }
              }
            },
            "description" : "Success"
          },
          "400" : {
            "content" : {
              "application\/json" : {
                "schema" : {
                  "$ref" : "#\/components\/schemas\/Error"
                }
              }
            },
            "description" : "Error"
          },
          "401" : {
            "content" : {
              "application\/json" : {
                "schema" : {
                  "$ref" : "#\/components\/schemas\/Error"
                }
              }
            },
            "description" : "Error"
          },
          "403" : {
            "content" : {
              "application\/json" : {
                "schema" : {
                  "$ref" : "#\/components\/schemas\/Error"
                }
              }
            },
            "description" : "Error"
          },
          "404" : {
            "content" : {
              "application\/json" : {
                "schema" : {
                  "$ref" : "#\/components\/schemas\/Error"
                }
              }
            },
            "description" : "Error"
          },
          "409" : {
            "content" : {
              "application\/json" : {
                "schema" : {
                  "$ref" : "#\/components\/schemas\/Error"
                }
              }
            },
            "description" : "Error"
          },
          "413" : {
            "content" : {
              "application\/json" : {
                "schema" : {
                  "$ref" : "#\/components\/schemas\/Error"
                }
              }
            },
            "description" : "Error"
          },
          "500" : {
            "content" : {
              "application\/json" : {
                "schema" : {
                  "$ref" : "#\/components\/schemas\/Error"
                }
              }
            },
            "description" : "Error"
          },
          "504" : {
            "content" : {
              "application\/json" : {
                "schema" : {
                  "$ref" : "#\/components\/schemas\/Error"
                }
              }
            },
            "description" : "Error"
          }
        },
        "security" : [
          {
            "bearerAuth" : [

            ]
          }
        ],
        "summary" : "Delete one record belonging to this zone"
      },
      "put" : {
        "description" : "Requires write scope. Optional zone-id restrictions apply. Lists are currently unpaginated.",
        "operationId" : "edit",
        "parameters" : [
          {
            "in" : "path",
            "name" : "zone",
            "required" : true,
            "schema" : {
              "format" : "int64",
              "minimum" : 1,
              "type" : "integer"
            }
          },
          {
            "in" : "path",
            "name" : "record",
            "required" : true,
            "schema" : {
              "format" : "int64",
              "minimum" : 1,
              "type" : "integer"
            }
          }
        ],
        "requestBody" : {
          "content" : {
            "application\/json" : {
              "schema" : {
                "$ref" : "#\/components\/schemas\/RecordInput"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "content" : {
              "application\/json" : {
                "schema" : {
                  "$ref" : "#\/components\/schemas\/MutationResult"
                }
              }
            },
            "description" : "Success"
          },
          "400" : {
            "content" : {
              "application\/json" : {
                "schema" : {
                  "$ref" : "#\/components\/schemas\/Error"
                }
              }
            },
            "description" : "Error"
          },
          "401" : {
            "content" : {
              "application\/json" : {
                "schema" : {
                  "$ref" : "#\/components\/schemas\/Error"
                }
              }
            },
            "description" : "Error"
          },
          "403" : {
            "content" : {
              "application\/json" : {
                "schema" : {
                  "$ref" : "#\/components\/schemas\/Error"
                }
              }
            },
            "description" : "Error"
          },
          "404" : {
            "content" : {
              "application\/json" : {
                "schema" : {
                  "$ref" : "#\/components\/schemas\/Error"
                }
              }
            },
            "description" : "Error"
          },
          "409" : {
            "content" : {
              "application\/json" : {
                "schema" : {
                  "$ref" : "#\/components\/schemas\/Error"
                }
              }
            },
            "description" : "Error"
          },
          "413" : {
            "content" : {
              "application\/json" : {
                "schema" : {
                  "$ref" : "#\/components\/schemas\/Error"
                }
              }
            },
            "description" : "Error"
          },
          "500" : {
            "content" : {
              "application\/json" : {
                "schema" : {
                  "$ref" : "#\/components\/schemas\/Error"
                }
              }
            },
            "description" : "Error"
          },
          "504" : {
            "content" : {
              "application\/json" : {
                "schema" : {
                  "$ref" : "#\/components\/schemas\/Error"
                }
              }
            },
            "description" : "Error"
          }
        },
        "security" : [
          {
            "bearerAuth" : [

            ]
          }
        ],
        "summary" : "Atomically replace one record; returned id may change"
      }
    },
    "\/api\/v1\/zones\/{zone}\/records\/{record}\/move" : {
      "post" : {
        "description" : "Requires write scope. Optional zone-id restrictions apply. Lists are currently unpaginated.",
        "operationId" : "move",
        "parameters" : [
          {
            "in" : "path",
            "name" : "zone",
            "required" : true,
            "schema" : {
              "format" : "int64",
              "minimum" : 1,
              "type" : "integer"
            }
          },
          {
            "in" : "path",
            "name" : "record",
            "required" : true,
            "schema" : {
              "format" : "int64",
              "minimum" : 1,
              "type" : "integer"
            }
          }
        ],
        "requestBody" : {
          "content" : {
            "application\/json" : {
              "schema" : {
                "$ref" : "#\/components\/schemas\/MoveInput"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "content" : {
              "application\/json" : {
                "schema" : {
                  "$ref" : "#\/components\/schemas\/MutationResult"
                }
              }
            },
            "description" : "Success"
          },
          "400" : {
            "content" : {
              "application\/json" : {
                "schema" : {
                  "$ref" : "#\/components\/schemas\/Error"
                }
              }
            },
            "description" : "Error"
          },
          "401" : {
            "content" : {
              "application\/json" : {
                "schema" : {
                  "$ref" : "#\/components\/schemas\/Error"
                }
              }
            },
            "description" : "Error"
          },
          "403" : {
            "content" : {
              "application\/json" : {
                "schema" : {
                  "$ref" : "#\/components\/schemas\/Error"
                }
              }
            },
            "description" : "Error"
          },
          "404" : {
            "content" : {
              "application\/json" : {
                "schema" : {
                  "$ref" : "#\/components\/schemas\/Error"
                }
              }
            },
            "description" : "Error"
          },
          "409" : {
            "content" : {
              "application\/json" : {
                "schema" : {
                  "$ref" : "#\/components\/schemas\/Error"
                }
              }
            },
            "description" : "Error"
          },
          "413" : {
            "content" : {
              "application\/json" : {
                "schema" : {
                  "$ref" : "#\/components\/schemas\/Error"
                }
              }
            },
            "description" : "Error"
          },
          "500" : {
            "content" : {
              "application\/json" : {
                "schema" : {
                  "$ref" : "#\/components\/schemas\/Error"
                }
              }
            },
            "description" : "Error"
          },
          "504" : {
            "content" : {
              "application\/json" : {
                "schema" : {
                  "$ref" : "#\/components\/schemas\/Error"
                }
              }
            },
            "description" : "Error"
          }
        },
        "security" : [
          {
            "bearerAuth" : [

            ]
          }
        ],
        "summary" : "Move record; requires write access to BOTH zones"
      }
    },
    "\/api\/v1\/zones\/{zone}\/rrset" : {
      "put" : {
        "description" : "Requires write scope. Optional zone-id restrictions apply. Lists are currently unpaginated.",
        "operationId" : "replace",
        "parameters" : [
          {
            "in" : "path",
            "name" : "zone",
            "required" : true,
            "schema" : {
              "format" : "int64",
              "minimum" : 1,
              "type" : "integer"
            }
          }
        ],
        "requestBody" : {
          "content" : {
            "application\/json" : {
              "schema" : {
                "$ref" : "#\/components\/schemas\/RRSetInput"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "content" : {
              "application\/json" : {
                "schema" : {
                  "$ref" : "#\/components\/schemas\/MutationResult"
                }
              }
            },
            "description" : "Success"
          },
          "400" : {
            "content" : {
              "application\/json" : {
                "schema" : {
                  "$ref" : "#\/components\/schemas\/Error"
                }
              }
            },
            "description" : "Error"
          },
          "401" : {
            "content" : {
              "application\/json" : {
                "schema" : {
                  "$ref" : "#\/components\/schemas\/Error"
                }
              }
            },
            "description" : "Error"
          },
          "403" : {
            "content" : {
              "application\/json" : {
                "schema" : {
                  "$ref" : "#\/components\/schemas\/Error"
                }
              }
            },
            "description" : "Error"
          },
          "404" : {
            "content" : {
              "application\/json" : {
                "schema" : {
                  "$ref" : "#\/components\/schemas\/Error"
                }
              }
            },
            "description" : "Error"
          },
          "409" : {
            "content" : {
              "application\/json" : {
                "schema" : {
                  "$ref" : "#\/components\/schemas\/Error"
                }
              }
            },
            "description" : "Error"
          },
          "413" : {
            "content" : {
              "application\/json" : {
                "schema" : {
                  "$ref" : "#\/components\/schemas\/Error"
                }
              }
            },
            "description" : "Error"
          },
          "500" : {
            "content" : {
              "application\/json" : {
                "schema" : {
                  "$ref" : "#\/components\/schemas\/Error"
                }
              }
            },
            "description" : "Error"
          },
          "504" : {
            "content" : {
              "application\/json" : {
                "schema" : {
                  "$ref" : "#\/components\/schemas\/Error"
                }
              }
            },
            "description" : "Error"
          }
        },
        "security" : [
          {
            "bearerAuth" : [

            ]
          }
        ],
        "summary" : "Replace entire RRset; an empty rdata array deletes it"
      }
    },
    "\/api\/v1\/zones\/{zone}\/rrset\/ttl" : {
      "patch" : {
        "description" : "Requires write scope. Optional zone-id restrictions apply. Lists are currently unpaginated.",
        "operationId" : "ttl",
        "parameters" : [
          {
            "in" : "path",
            "name" : "zone",
            "required" : true,
            "schema" : {
              "format" : "int64",
              "minimum" : 1,
              "type" : "integer"
            }
          }
        ],
        "requestBody" : {
          "content" : {
            "application\/json" : {
              "schema" : {
                "$ref" : "#\/components\/schemas\/TTLInput"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "content" : {
              "application\/json" : {
                "schema" : {
                  "$ref" : "#\/components\/schemas\/MutationResult"
                }
              }
            },
            "description" : "Success"
          },
          "400" : {
            "content" : {
              "application\/json" : {
                "schema" : {
                  "$ref" : "#\/components\/schemas\/Error"
                }
              }
            },
            "description" : "Error"
          },
          "401" : {
            "content" : {
              "application\/json" : {
                "schema" : {
                  "$ref" : "#\/components\/schemas\/Error"
                }
              }
            },
            "description" : "Error"
          },
          "403" : {
            "content" : {
              "application\/json" : {
                "schema" : {
                  "$ref" : "#\/components\/schemas\/Error"
                }
              }
            },
            "description" : "Error"
          },
          "404" : {
            "content" : {
              "application\/json" : {
                "schema" : {
                  "$ref" : "#\/components\/schemas\/Error"
                }
              }
            },
            "description" : "Error"
          },
          "409" : {
            "content" : {
              "application\/json" : {
                "schema" : {
                  "$ref" : "#\/components\/schemas\/Error"
                }
              }
            },
            "description" : "Error"
          },
          "413" : {
            "content" : {
              "application\/json" : {
                "schema" : {
                  "$ref" : "#\/components\/schemas\/Error"
                }
              }
            },
            "description" : "Error"
          },
          "500" : {
            "content" : {
              "application\/json" : {
                "schema" : {
                  "$ref" : "#\/components\/schemas\/Error"
                }
              }
            },
            "description" : "Error"
          },
          "504" : {
            "content" : {
              "application\/json" : {
                "schema" : {
                  "$ref" : "#\/components\/schemas\/Error"
                }
              }
            },
            "description" : "Error"
          }
        },
        "security" : [
          {
            "bearerAuth" : [

            ]
          }
        ],
        "summary" : "Set TTL on every member of the RRset"
      }
    }
  },
  "servers" : [
    {
      "url" : "\/"
    }
  ]
}