FDNS Admin | Settings | API docs

FDNS Admin API

OpenAPI 3.1 JSON · Admin

Bearer authentication. Required scopes: read or write; optional zone-id restrictions. Zone names are immutable. SOA is synthesized. IDs may change after replacement.

GET /api/v1/zones

List authorized zones

{
  "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 /api/v1/zones

Create zone and SOA metadata (unrestricted write scope only)

{
  "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)"
}

DELETE /api/v1/zones/{zone}

Delete zone and all its records

{
  "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 /api/v1/zones/{zone}

Get zone

{
  "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 /api/v1/zones/{zone}

Replace SOA metadata and stale policy; name is immutable

{
  "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"
}

GET /api/v1/zones/{zone}/records

List zone records (RDATA in RFC3597 presentation)

{
  "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 /api/v1/zones/{zone}/records

Upsert by owner/type/canonical RDATA; returns record id

{
  "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"
}

DELETE /api/v1/zones/{zone}/records/{record}

Delete one record belonging to this zone

{
  "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 /api/v1/zones/{zone}/records/{record}

Atomically replace one record; returned id may change

{
  "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"
}

POST /api/v1/zones/{zone}/records/{record}/move

Move record; requires write access to BOTH zones

{
  "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"
}

PUT /api/v1/zones/{zone}/rrset

Replace entire RRset; an empty rdata array deletes it

{
  "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"
}

PATCH /api/v1/zones/{zone}/rrset/ttl

Set TTL on every member of the RRset

{
  "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"
}

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"
  }
}