# Tenant Custom Nameservers ## List Tenant Custom Nameservers `client.TenantCustomNameservers.Get(ctx, tenantTag) (*SinglePage[TenantCustomNameserverGetResponse], error)` **get** `/tenants/{tenant_tag}/custom_ns` List a tenant's custom nameservers. ### Parameters - `tenantTag string` Tenant identifier tag. ### Returns - `type TenantCustomNameserverGetResponse struct{…}` A single tenant custom nameserver. - `DNSRecords []TenantCustomNameserverGetResponseDNSRecord` A and AAAA records associated with the nameserver. - `Type TenantCustomNameserverGetResponseDNSRecordsType` DNS record type. - `const TenantCustomNameserverGetResponseDNSRecordsTypeA TenantCustomNameserverGetResponseDNSRecordsType = "A"` - `const TenantCustomNameserverGetResponseDNSRecordsTypeAAAA TenantCustomNameserverGetResponseDNSRecordsType = "AAAA"` - `Value string` DNS record contents (an IPv4 or IPv6 address). - `NSName string` The FQDN of the name server. - `Status TenantCustomNameserverGetResponseStatus` Verification status of the nameserver. - `const TenantCustomNameserverGetResponseStatusMoved TenantCustomNameserverGetResponseStatus = "moved"` - `const TenantCustomNameserverGetResponseStatusPending TenantCustomNameserverGetResponseStatus = "pending"` - `const TenantCustomNameserverGetResponseStatusVerified TenantCustomNameserverGetResponseStatus = "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/option" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) page, err := client.TenantCustomNameservers.Get(context.TODO(), "699d98642c564d2e855e9661899b7252") 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, "total_pages": 100 } } ``` ## Add Tenant Custom Nameserver `client.TenantCustomNameservers.New(ctx, tenantTag, body) (*TenantCustomNameserverNewResponse, error)` **post** `/tenants/{tenant_tag}/custom_ns` Add Tenant Custom Nameserver ### Parameters - `tenantTag string` Tenant identifier tag. - `body TenantCustomNameserverNewParams` - `NSName param.Field[string]` The FQDN of the name server. - `NSSet param.Field[float64]` The number of the set that this name server belongs to. ### Returns - `type TenantCustomNameserverNewResponse struct{…}` A single tenant custom nameserver. - `DNSRecords []TenantCustomNameserverNewResponseDNSRecord` A and AAAA records associated with the nameserver. - `Type TenantCustomNameserverNewResponseDNSRecordsType` DNS record type. - `const TenantCustomNameserverNewResponseDNSRecordsTypeA TenantCustomNameserverNewResponseDNSRecordsType = "A"` - `const TenantCustomNameserverNewResponseDNSRecordsTypeAAAA TenantCustomNameserverNewResponseDNSRecordsType = "AAAA"` - `Value string` DNS record contents (an IPv4 or IPv6 address). - `NSName string` The FQDN of the name server. - `Status TenantCustomNameserverNewResponseStatus` Verification status of the nameserver. - `const TenantCustomNameserverNewResponseStatusMoved TenantCustomNameserverNewResponseStatus = "moved"` - `const TenantCustomNameserverNewResponseStatusPending TenantCustomNameserverNewResponseStatus = "pending"` - `const TenantCustomNameserverNewResponseStatusVerified TenantCustomNameserverNewResponseStatus = "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/option" "github.com/cloudflare/cloudflare-go/tenant_custom_nameservers" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) tenantCustomNameserver, err := client.TenantCustomNameservers.New( context.TODO(), "699d98642c564d2e855e9661899b7252", tenant_custom_nameservers.TenantCustomNameserverNewParams{ NSName: cloudflare.F("ns1.example.com"), }, ) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", tenantCustomNameserver.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 Tenant Custom Nameserver `client.TenantCustomNameservers.Delete(ctx, tenantTag, customNSID) (*SinglePage[string], error)` **delete** `/tenants/{tenant_tag}/custom_ns/{custom_ns_id}` Delete Tenant Custom Nameserver ### Parameters - `tenantTag string` Tenant identifier tag. - `customNSID string` The FQDN of the name server. ### Returns - `type TenantCustomNameserverDeleteResponseEnvelopeResult string` Unused ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/option" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) page, err := client.TenantCustomNameservers.Delete( context.TODO(), "699d98642c564d2e855e9661899b7252", "ns1.example.com", ) 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, "total_pages": 100 } } ```