# Account Custom Nameservers ## List Account Custom Nameservers `client.CustomNameservers.Get(ctx, query) (*SinglePage[CustomNameserver], error)` **get** `/accounts/{account_id}/custom_ns` List an account's custom nameservers. ### Parameters - `query CustomNameserverGetParams` - `AccountID param.Field[string]` Account identifier tag. ### Returns - `type CustomNameserver struct{…}` A single account custom nameserver. - `DNSRecords []CustomNameserverDNSRecord` A and AAAA records associated with the nameserver. - `Type CustomNameserverDNSRecordsType` DNS record type. - `const CustomNameserverDNSRecordsTypeA CustomNameserverDNSRecordsType = "A"` - `const CustomNameserverDNSRecordsTypeAAAA CustomNameserverDNSRecordsType = "AAAA"` - `Value string` DNS record contents (an IPv4 or IPv6 address). - `NSName string` The FQDN of the name server. - `Status CustomNameserverStatus` Verification status of the nameserver. - `const CustomNameserverStatusMoved CustomNameserverStatus = "moved"` - `const CustomNameserverStatusPending CustomNameserverStatus = "pending"` - `const CustomNameserverStatusVerified CustomNameserverStatus = "verified"` - `ZoneTag string` Identifier. - `NSSet float64` The number of the set that this name server belongs to. ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/custom_nameservers" "github.com/cloudflare/cloudflare-go/option" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) page, err := client.CustomNameservers.Get(context.TODO(), custom_nameservers.CustomNameserverGetParams{ AccountID: cloudflare.F("372e67954025e0ba6aaa6d586b9e0b59"), }) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", page) } ``` #### Response ```json { "errors": [ { "code": 1000, "message": "message", "documentation_url": "documentation_url", "source": { "pointer": "pointer" } } ], "messages": [ { "code": 1000, "message": "message", "documentation_url": "documentation_url", "source": { "pointer": "pointer" } } ], "success": true, "result": [ { "dns_records": [ { "type": "A", "value": "1.1.1.1" } ], "ns_name": "ns1.example.com", "status": "verified", "zone_tag": "023e105f4ecef8ad9ca31a8372d0c353", "ns_set": 1 } ], "result_info": { "count": 1, "page": 1, "per_page": 20, "total_count": 2000 } } ``` ## Add Account Custom Nameserver `client.CustomNameservers.New(ctx, params) (*CustomNameserver, error)` **post** `/accounts/{account_id}/custom_ns` Add Account Custom Nameserver ### Parameters - `params CustomNameserverNewParams` - `AccountID param.Field[string]` Path param: Account identifier tag. - `NSName param.Field[string]` Body param: The FQDN of the name server. - `NSSet param.Field[float64]` Body param: The number of the set that this name server belongs to. ### Returns - `type CustomNameserver struct{…}` A single account custom nameserver. - `DNSRecords []CustomNameserverDNSRecord` A and AAAA records associated with the nameserver. - `Type CustomNameserverDNSRecordsType` DNS record type. - `const CustomNameserverDNSRecordsTypeA CustomNameserverDNSRecordsType = "A"` - `const CustomNameserverDNSRecordsTypeAAAA CustomNameserverDNSRecordsType = "AAAA"` - `Value string` DNS record contents (an IPv4 or IPv6 address). - `NSName string` The FQDN of the name server. - `Status CustomNameserverStatus` Verification status of the nameserver. - `const CustomNameserverStatusMoved CustomNameserverStatus = "moved"` - `const CustomNameserverStatusPending CustomNameserverStatus = "pending"` - `const CustomNameserverStatusVerified CustomNameserverStatus = "verified"` - `ZoneTag string` Identifier. - `NSSet float64` The number of the set that this name server belongs to. ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/custom_nameservers" "github.com/cloudflare/cloudflare-go/option" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) customNameserver, err := client.CustomNameservers.New(context.TODO(), custom_nameservers.CustomNameserverNewParams{ AccountID: cloudflare.F("372e67954025e0ba6aaa6d586b9e0b59"), NSName: cloudflare.F("ns1.example.com"), }) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", customNameserver.DNSRecords) } ``` #### Response ```json { "errors": [ { "code": 1000, "message": "message", "documentation_url": "documentation_url", "source": { "pointer": "pointer" } } ], "messages": [ { "code": 1000, "message": "message", "documentation_url": "documentation_url", "source": { "pointer": "pointer" } } ], "success": true, "result": { "dns_records": [ { "type": "A", "value": "1.1.1.1" } ], "ns_name": "ns1.example.com", "status": "verified", "zone_tag": "023e105f4ecef8ad9ca31a8372d0c353", "ns_set": 1 } } ``` ## Delete Account Custom Nameserver `client.CustomNameservers.Delete(ctx, customNSID, body) (*SinglePage[string], error)` **delete** `/accounts/{account_id}/custom_ns/{custom_ns_id}` Delete Account Custom Nameserver ### Parameters - `customNSID string` The FQDN of the name server. - `body CustomNameserverDeleteParams` - `AccountID param.Field[string]` Account identifier tag. ### Returns - `type CustomNameserverDeleteResponseEnvelopeResult string` Unused ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/custom_nameservers" "github.com/cloudflare/cloudflare-go/option" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) page, err := client.CustomNameservers.Delete( context.TODO(), "ns1.example.com", custom_nameservers.CustomNameserverDeleteParams{ AccountID: cloudflare.F("372e67954025e0ba6aaa6d586b9e0b59"), }, ) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", page) } ``` #### Response ```json { "errors": [ { "code": 1000, "message": "message", "documentation_url": "documentation_url", "source": { "pointer": "pointer" } } ], "messages": [ { "code": 1000, "message": "message", "documentation_url": "documentation_url", "source": { "pointer": "pointer" } } ], "success": true, "result": [], "result_info": { "count": 1, "page": 1, "per_page": 20, "total_count": 2000 } } ``` ## Domain Types ### Custom Nameserver - `type CustomNameserver struct{…}` A single account custom nameserver. - `DNSRecords []CustomNameserverDNSRecord` A and AAAA records associated with the nameserver. - `Type CustomNameserverDNSRecordsType` DNS record type. - `const CustomNameserverDNSRecordsTypeA CustomNameserverDNSRecordsType = "A"` - `const CustomNameserverDNSRecordsTypeAAAA CustomNameserverDNSRecordsType = "AAAA"` - `Value string` DNS record contents (an IPv4 or IPv6 address). - `NSName string` The FQDN of the name server. - `Status CustomNameserverStatus` Verification status of the nameserver. - `const CustomNameserverStatusMoved CustomNameserverStatus = "moved"` - `const CustomNameserverStatusPending CustomNameserverStatus = "pending"` - `const CustomNameserverStatusVerified CustomNameserverStatus = "verified"` - `ZoneTag string` Identifier. - `NSSet float64` The number of the set that this name server belongs to.