Rage4 DNS - Developers: API
Introduction
The Rage4 API allows easy integration with third party systems.Authentication
The Rage4 API use BASIC authentication. To receive authorization, the client sends the email address and API key as password, separated by a single colon (":") character, within a base64 encoded string in the credentials.Authorization: Basic Base64String(email address:api key)
HTTP methods
By default all methods are available via GETThird party libraries
We provide official .NET library via NuGet package.Unofficial libraries
PHP
https://github.com/asimzeeshan/php-rage4-dns
https://github.com/splitice/php-rage4-dns
Go
https://github.com/anuaimi/rage4
To list your library here please contact our support
API calls
Return current server time (UTC) and version
Result: Structure, ApiTimehttps://rage4.com/rapi/index/
Lists all domains
Result: Array, Domainhttps://rage4.com/rapi/getdomains/
Retrieve domain by ID
Result: Structure, Domainhttps://rage4.com/rapi/getdomain/?id=[id]id (Int32, required) - Domain's ID
Retrieve domain by name
Result: Structure, Domainhttps://rage4.com/rapi/getdomainbyname/?name=[name]name (String, required) - Domain's name
Create domain
Result: Structure, ApiResponsehttps://rage4.com/rapi/createregulardomain/?name=[name]&email=[email]&apiaccess=[apiaccess]&ns1=[ns1]&ns2=[ns2]&soarefresh=[soarefresh]&soaexpiry=[soaexpiry]&soaretry=[soaretry]&soanx=[soanx]&nsttl=[nsttl]&axfr=[axfr]name (String, required) - Domain's name
email (String, required) - Administrator's email address
apiaccess (Boolean, optional, default: true) - Allow API access type (String, optional, default NATIVE) - Domain type (NATIVE or MASTER), MASTER supports external secondary NS
ns1 (String, optional) - Primary NS name
ns2 (String, optional) - Secondary NS name
soarefresh (Int32, optional, default: 10800) - SOA refresh value (min 1200, max 86400)
soaexpiry (Int32, optional, default: 604800) - SOA expiry value (min 3600, max 2419200)
soaretry (Int32, optional, default: 3600) - SOA retry value (min 180, max 3600)
soanx (Int32, optional, default: 3600) - SOA nx value (min 0, max 10800)
nsttl (Int32, optional, default: 3600) - NS TTL
axfr (String, optional) - Not in use (obsolete)
[Obsolete] Create regular zone with vanity NS
Result: Structure, ApiResponsehttps://rage4.com/rapi/createregulardomainext/?name=[name]&email=[email]&nsname=[nsname]&nsprefix=[nsprefix]name (String, required) - Domain's name
email (String, required) - Administrator's email address
nsname (String, required) - NS prefix
nsprefix (String, required) - NS suffix
[Obsolete] Create reverse domain (IPv4) - use Create domain
Result: Structure, ApiResponsehttps://rage4.com/rapi/createreversedomain4/?name=[name]&email=[email]&subnet=[subnet]name (String, required) - Domain's name
email (String, required) - Administrator's email address
subnet (Int16, required) - Subnet size
[Obsolete] Create reverse domain (IPv6) - use Create domain
Result: Structure, ApiResponsehttps://rage4.com/rapi/createreversedomain6/?name=[name]&email=[email]&subnet=[subnet]name (String, required) - Domain's name
email (String, required) - Administrator's email address
subnet (Int16, required) - Subnet size
Delete domain
Result: Structure, ApiResponsehttps://rage4.com/rapi/deletedomain/?id=[id]id (Int32, required) - Domain's ID
Update domain
Result: Structure, ApiResponsehttps://rage4.com/rapi/updatedomain/?id=[id]&email=[email]&apiaccess=[apiaccess]&nsname=[nsname]&nsprefix=[nsprefix]&enablevanity=[enablevanity]&ns1=[ns1]&ns2=[ns2]&soarefresh=[soarefresh]&soaexpiry=[soaexpiry]&soaretry=[soaretry]&soanx=[soanx]&nsttl=[nsttl]&axfr=[axfr]id (Int32, required) - Domain's ID
email (String, required) - Administrator's email address
apiaccess (Boolean, optional, default: true) - Allow API access
nsname (String, optional) - NS prefix
nsprefix (String, optional) - NS suffix
enablevanity (Boolean, optional, default: false) - Enable vanity NS (obsolete)
ns1 (String, optional) - Primary NS name
ns2 (String, optional) - Secondary NS name
soarefresh (Int32, optional, default: 10800) - SOA refresh value (min 1200, max 86400)
soaexpiry (Int32, optional, default: 604800) - SOA expiry value (min 3600, max 2419200)
soaretry (Int32, optional, default: 3600) - SOA retry value (min 180, max 3600)
soanx (Int32, optional, default: 3600) - SOA nx value (min 0, max 10800)
nsttl (Int32, optional, default: 3600) - NS TTL
axfr (String, optional) - Not in use (obsolete)
Update domain
Result: Structure, Domainhttps://rage4.com/rapi/updatedomain2/?id=[id]&email=[email]&apiaccess=[apiaccess]&ns1=[ns1]&ns2=[ns2]&soarefresh=[soarefresh]&soaexpiry=[soaexpiry]&soaretry=[soaretry]&soanx=[soanx]&nsttl=[nsttl]&axfr=[axfr]id (Int32, required) - Domain's ID
email (String, required) - Administrator's email address
apiaccess (Boolean, optional, default: true) - Allow API access
type (String, optional, default NATIVE) - Domain type (NATIVE or MASTER), MASTER supports external secondary NS
ns1 (String, optional) - Primary NS name
ns2 (String, optional) - Secondary NS name
soarefresh (Int32, optional, default: 10800) - SOA refresh value (min 1200, max 86400)
soaexpiry (Int32, optional, default: 604800) - SOA expiry value (min 3600, max 2419200)
soaretry (Int32, optional, default: 3600) - SOA retry value (min 180, max 3600)
soanx (Int32, optional, default: 3600) - SOA nx value (min 0, max 10800)
nsttl (Int32, optional, default: 3600) - NS TTL
axfr (String, optional) - Not in use (obsolete)
Import domain using AXFR
Result: Structure, ApiResponsehttps://rage4.com/rapi/importdomain/?name=[name]name (String, required) - Domain's name
Import domain using AXFR and set vanity NS
Result: Structure, ApiResponsehttps://rage4.com/rapi/importdomainext/?name=[name]&nsname=[nsname]&nsprefix=[nsprefix]name (String, required) - Domain's name
nsname (String, required) - NS prefix
nsprefix (String, required) - NS suffix
Sync domain to specific Shadow Master server
Result: Structure, ApiResponsehttps://rage4.com/rapi/syncdomain/?name=[name]&server=[server]&dnssec=[dnssec]name (String, required) - Domain's name
server (String, required) - Shadow master's IPv4 address
dnssec (Boolean, optional, default: false) - Enable DNSSEC
Sync slave domain to specific Shadow Master server
Result: Structure, ApiResponsehttps://rage4.com/rapi/syncslavedomain/?name=[name]&server=[server]&dnssec=[dnssec]name (String, required) - Domain's name
server (String, required) - Shadow master's IPv4 address
dnssec (Boolean, optional, default: false) - Enable DNSSEC
Export BIND compatible zone file
Result: Structure, Stringhttps://rage4.com/rapi/exportzonefile/?id=[id]id (Int32, required) - Domain's ID
Get DNSSEC details
Result: Structure, SecureKeyhttps://rage4.com/rapi/getdnssecinfo/?id=[id]id (Int32, required) - Domain's ID
Enable DNSSEC
Result: Structure, SecureKeyhttps://rage4.com/rapi/enablednssec/?id=[id]&algorithm=[algorithm]id (Int32, required) - Domain's ID
Disable DNSSEC
Result: Structure, ApiResponsehttps://rage4.com/rapi/disablednssec/?id=[id]id (Int32, required) - Domain's ID
[Obsolete] Rectify a zone
Result: Structure, ApiResponsehttps://rage4.com/rapi/rectifyzone/?id=[id]id (Int32, required) - Domain's ID
Display TSIG keys list
Result: Array, SignKeyhttps://rage4.com/rapi/gettsiglist/?id=[id]id (Int32, required) - Domain's ID
Display NOTIFY list
Result: Array, DomainMetahttps://rage4.com/rapi/getnotifylist/?id=[id]id (Int32, required) - Domain's ID
Create NOTIFY list entry
Result: Structure, ApiResponsehttps://rage4.com/rapi/createnotifylist/?id=[id]&ipaddress=[ipaddress]id (Int32, required) - Domain's ID
ipaddress (String, required) - comma-separated list of IP addresses
Delete NOTIFY list entry
Result: Structure, ApiResponsehttps://rage4.com/rapi/deletenotifylist/?id=[id]&metaid=[metaid]id (Int32, required) - Domain's ID
metaid (Int32, required) - List ID
Display AXFR white list
Result: Array, DomainMetahttps://rage4.com/rapi/getaxfrlist/?id=[id]id (Int32, required) - Domain's ID
Create AXFR white list entry
Result: Structure, ApiResponsehttps://rage4.com/rapi/createaxfrlist/?id=[id]&ipaddress=[ipaddress]id (Int32, required) - Domain's ID
ipaddress (String, required) - comma-separated list of IP addresses
Delete AXFR white list entry
Result: Structure, ApiResponsehttps://rage4.com/rapi/deleteaxfrlist/?id=[id]&metaid=[metaid]id (Int32, required) - Domain's ID
metaid (Int32, required) - List ID
List records
Result: Array, Recordhttps://rage4.com/rapi/getrecords/?id=[id]&name=[name]id (Int32, required) - Domain's ID
name (String, optional) - Record's name
Get record by id
Result: Structure, Recordhttps://rage4.com/rapi/getrecord/?id=[id]id (Int32, required) - Record's ID
Create record
Result: Structure, ApiResponsehttps://rage4.com/rapi/createrecord/?id=[id]&name=[name]&content=[content]&type=[type]&priority=[priority]&active=[active]&failover=[failover]&failovercontent=[failovercontent]&failoverwithdraw=[failoverwithdraw]&ttl=[ttl]&geozone=[geozone]&geolock=[geolock]&geolat=[geolat]&geolong=[geolong]&udplimit=[udplimit]&description=[description]id (Int32, required) - Domain's ID
name (String, required) - Record's name
content (String, required) - Record's value
type (String, required) - Record's type, see ListRecordTypes for supported record types
priority (Int32, required, default: 1) - Record's priority
active (Boolean, optional, default: true) - Record's state
failover (Boolean, optional, default: false) - Failover enabled
failovercontent (String, optional) - Failover content
failoverwithdraw (Boolean, optional, default: false) - Withdraw on failover
ttl (Int32, optional, default: 3600) - Record's TTL
geozone (Int64, optional, default: 0) - GeoDNS zone/mode, see ListGeoRegions for supported values
geolock (Boolean, optional, default: false) - GeoDNS lock (obsolete)
geolat (Double, optional, default: 0) - GeoDNS latitude
geolong (Double, optional, default: 0) - GeoDNS longitude
udplimit (Boolean, optional, default: false) - UDP limit
description (String, optional) - Record's description
Create record
Result: Structure, Recordhttps://rage4.com/rapi/createrecord2/?id=[id]&name=[name]&content=[content]&type=[type]&priority=[priority]&active=[active]&failover=[failover]&failovercontent=[failovercontent]&failoverwithdraw=[failoverwithdraw]&ttl=[ttl]&geozone=[geozone]&geolock=[geolock]&geolat=[geolat]&geolong=[geolong]&udplimit=[udplimit]&description=[description]id (Int32, required) - Domain's ID
name (String, required) - Record's name
content (String, required) - Record's value
type (String, required) - Record's type, see ListRecordTypes for supported record types
priority (Int32, required, default: 1) - Record's priority
active (Boolean, optional, default: true) - Record's state
failover (Boolean, optional, default: false) - Failover enabled
failovercontent (String, optional) - Failover content
failoverwithdraw (Boolean, optional, default: false) - Withdraw on failover
ttl (Int32, optional, default: 3600) - Record's TTL
geozone (Int64, optional, default: 0) - GeoDNS zone/mode, see ListGeoRegions for supported values
geolock (Boolean, optional, default: false) - GeoDNS lock (obsolete)
geolat (Double, optional, default: 0) - GeoDNS latitude
geolong (Double, optional, default: 0) - GeoDNS longitude
udplimit (Boolean, optional, default: false) - UDP limit
description (String, optional) - Record's description
Update record
Result: Structure, ApiResponsehttps://rage4.com/rapi/updaterecord/?id=[id]&name=[name]&content=[content]&priority=[priority]&active=[active]&failover=[failover]&failovercontent=[failovercontent]&failoverwithdraw=[failoverwithdraw]&ttl=[ttl]&geozone=[geozone]&geolock=[geolock]&geolat=[geolat]&geolong=[geolong]&udplimit=[udplimit]&description=[description]id (Int32, required) - Records's ID
name (String, required) - Record's name
content (String, required) - Record's value
priority (Int32, required, default: 1) - Record's priority
active (Boolean, optional, default: true) - Record's state
failover (Boolean, optional, default: false) - Failover enabled
failovercontent (String, optional) - Failover content
failoverwithdraw (Boolean, optional, default: false) - Withdraw on failover
ttl (Int32, optional, default: 3600) - Record's TTL
geozone (Int64, optional, default: 0) - GeoDNS zone/mode, see ListGeoRegions for supported values
geolock (Boolean, optional, default: false) - GeoDNS lock (obsolete)
geolat (Double, optional, default: 0) - GeoDNS latitude
geolong (Double, optional, default: 0) - GeoDNS longitude
udplimit (Boolean, optional, default: false) - UDP limit
description (String, optional) - Record's description
Update record
Result: Structure, Recordhttps://rage4.com/rapi/updaterecord2/?id=[id]&name=[name]&content=[content]&priority=[priority]&active=[active]&failover=[failover]&failovercontent=[failovercontent]&failoverwithdraw=[failoverwithdraw]&ttl=[ttl]&geozone=[geozone]&geolock=[geolock]&geolat=[geolat]&geolong=[geolong]&udplimit=[udplimit]&description=[description]id (Int32, required) - Records's ID
name (String, required) - Record's name
content (String, required) - Record's value
priority (Int32, required, default: 1) - Record's priority
active (Boolean, optional, default: true) - Record's state
failover (Boolean, optional, default: false) - Failover enabled
failovercontent (String, optional) - Failover content
failoverwithdraw (Boolean, optional, default: false) - Withdraw on failover
ttl (Int32, optional, default: 3600) - Record's TTL
geozone (Int64, optional, default: 0) - GeoDNS zone/mode, see ListGeoRegions for supported values
geolock (Boolean, optional, default: false) - GeoDNS lock (obsolete)
geolat (Double, optional, default: 0) - GeoDNS latitude
geolong (Double, optional, default: 0) - GeoDNS longitude
udplimit (Boolean, optional, default: false) - UDP limit
description (String, optional) - Record's description
Delete record
Result: Structure, ApiResponsehttps://rage4.com/rapi/deleterecord/?id=[id]id (Int32, required) - Record's ID
Delete record
Result: Structure, Recordhttps://rage4.com/rapi/deleterecord2/?id=[id]id (Int32, required) - Record's ID
Enable or disable record failover (legacy)
Result: Structure, ApiResponsehttps://rage4.com/rapi/setrecordfailover/?id=[id]&active=[active]id (Int32, required) - Record's ID
active (Boolean, required) - Failover state
Enable or disable record failover
Result: Structure, ApiResponsehttps://rage4.com/rapi/recordfailover/?id=[id]&active=[active]id (Int32, required) - Record's ID
active (Boolean, required) - Failover state
Enable or disable record failover (legacy)
Result: Structure, Recordhttps://rage4.com/rapi/setrecordfailover2/?id=[id]&active=[active]id (Int32, required) - Record's ID
active (Boolean, required) - Failover state
Enable or disable record failover
Result: Structure, Recordhttps://rage4.com/rapi/recordfailover2/?id=[id]&active=[active]id (Int32, required) - Record's ID
active (Boolean, required) - Failover state
Enable or disable record
Result: Structure, ApiResponsehttps://rage4.com/rapi/togglerecord/?id=[id]id (Int32, required) - Record's ID
Enable or disable record
Result: Structure, Recordhttps://rage4.com/rapi/togglerecord2/?id=[id]id (Int32, required) - Record's ID
Set record state
Result: Structure, ApiResponsehttps://rage4.com/rapi/setrecordstate/?id=[id]id (Int32, required) - Domain's ID
POST payload of array of SetRecordStateRequest
Return webhoook list
Result: Array, WebHookhttps://rage4.com/rapi/getwebhooks/
Return webhook by id
Result: Structure, WebHookhttps://rage4.com/rapi/getwebhook/?id=[id]id (Int32, required) - Webhook's ID
Create new webhook
Result: Structure, ApiResponsehttps://rage4.com/rapi/createwebhook/?name=[name]name (String, required) - Webhook's friendly name
Delete webhook by id
Result: Structure, ApiResponsehttps://rage4.com/rapi/deletewebhook/?id=[id]id (Int32, required) - Webhook's ID
Attach webhook to record
Result: Structure, ApiResponsehttps://rage4.com/rapi/attachwebhook/?id=[id]&webhook=[webhook]id (Int32, required) - Record's ID
webhook (Int32, required) - Webhook's ID
Detach webhook from record
Result: Structure, ApiResponsehttps://rage4.com/rapi/detachwebhook/?id=[id]id (Int32, required) - Record's ID
List supported record types
Result: Array, ApiDictionaryhttps://rage4.com/rapi/listrecordtypes/
List supported geo regions
Result: Array, ApiDictionaryhttps://rage4.com/rapi/listgeoregions/
Structures
ApiTime - returns server's datetime (UTC) and API version
{ "utctime" // DateTime, "version" // String }
Domain - presents zone related data
{ "id" // Int32, "name" // String, "owner_email" // String, "type" // String, "subnet_mask" // Int16, "soa_refresh" // Int32, "soa_retry" // Int32, "soa_expiry" // Int32, "soa_nx" // Int32, "ns_ttl" // Int32, "default_ns1" // String, "default_ns2" // String }
ApiResponse - standard API response object
{ "status" // Boolean, "id" // Int32, "error" // String }
SecureKey - contains information related to DNSSEC keys
{ "keytag" // Int32, "key" // String, "algorithm" // String, "rsasha1" // String, "rsasha256" // String, "rsasha384" // String, "dnskey" // String }
SignKey
{ "name" // String, "algorithm" // String, "secret" // String }
DomainMeta
{ "id" // Int32, "content" // String }
Record - present record related data
{ "id" // Int32, "name" // String, "content" // String, "type" // String, "ttl" // Int32, "priority" // Int32, "domain_id" // Int32, "geo_region_id" // Int64, "geo_lat" // Double, "geo_long" // Double, "failover_enabled" // Boolean, "failover_active" // Boolean, "failover_content" // String, "failover_withdraw" // Boolean, "webhook_id" // Int32, "is_active" // Boolean, "udp_limit" // Boolean, "description" // String }
WebHook - present webhook related data
{ "id" // Int32, "name" // String, "key" // String }
ApiDictionary - generic string/long dictionary
{ "name" // String, "value" // Object }
SetRecordStateRequest - set record state payload
{ "id", // Record's ID "priority" // Int32, nullable, "active" // Boolean, nullable }
Copyright © 2019 by Rage4 Networks Limited. All rights reserved.