### Zone Provisioning Examples
Source: https://dm.realtimeregister.com/docs/api/domains/update
Examples for updating domain zone settings including linking, templates, and master server configuration.
```json
{
"zone": {
"link": false
}
}
```
```json
{
"zone": {
"template": "example"
}
}
```
```json
{
"zone": {
"master": "1.2.3.4"
}
}
```
```json
{
"zone": {
"master": ""
}
}
```
--------------------------------
### Realtime Register IsProxy Usage Example
Source: https://dm.realtimeregister.com/docs/api/isproxy
This PHP script provides a complete example of using the IsProxy class. It includes an HTML form for domain input and processes the results of the domain availability check.
```php
'Error',
'available' => 'Available',
'not available' => 'Not available',
'invalid domain' => 'Invalid domain',
);
$domainname = isset($_REQUEST['domainname']) ? $_REQUEST['domainname'] : null;
$tld = isset($_REQUEST['tld']) ? $_REQUEST['tld'] : null;
echo '
';
if($_SERVER['REQUEST_METHOD'] == 'POST') {
if(is_null($domainname) || is_null($tld)) {
echo 'Ongeldige domeinnaam
';
}
else {
/**
* Initiate Realtime Register whois proxy
*/
require_once 'IsProxy.php';
$ip = new IsProxy($apikey);
$tld_check = $tld == 'all' ? $tlds : (array) $tld;
$tld_count = sizeof($tld_check);
$a = 0;
echo '';
$ip->check($domainname, $tld_check);
while($result = $ip->result()) {
$a++;
echo '| '.$result['domain'].' | '.$text[$result['result']].' |
';
flush();
if($a == $tld_count) {
$ip->close();
break;
}
}
echo '
';
}
}
```
--------------------------------
### Get TLD Metadata with TypeScript SDK
Source: https://dm.realtimeregister.com/docs/api/samples
Demonstrates how to fetch Top-Level Domain (TLD) metadata using the official Realtime Register TypeScript SDK. Ensure you have the SDK installed and provide your API key and customer handle.
```typescript
import RealtimeRegisterAPI from '@realtimeregister/api'
const rtr = new RealtimeRegisterAPI({
apiKey: 'YOUR_API_KEY',
customer: 'YOUR_CUSTOMER_HANDLE'
})
// Get TLD metadata
rtr.tld.info('nl').then((response) => {
console.log(response)
//Metadata(hash=..., applicableFor=..., metadata=..., provider=...)
console.log(response.metadata)
// {....}
}).catch((err) => {
if (err instanceof AuthenticationError) {
console.log('Authentication error')
}
})
```
--------------------------------
### GET /v2/ssl/products/{productURL}
Source: https://dm.realtimeregister.com/docs/api/ssl/products/get
Retrieves detailed information about a specific SSL product.
```APIDOC
## GET /v2/ssl/products/{productURL}
### Description
Used to get information about a specific SSL product.
### Method
GET
### Endpoint
/v2/ssl/products/{productURL}
### Parameters
#### Path Parameters
- **productURL** (String) - Required - The SSL product identifier.
#### Query Parameters
- **fields** (String) - Optional - Select fields to include in the response, comma separated list of field names.
### Response
#### Success Response (200)
- **product** (String) - SSL product identifier
- **brand** (String) - SSL supplier brand
- **name** (String) - Product name
- **validationType** (Enum) - The type of validation (DOMAIN_VALIDATION, ORGANIZATION_VALIDATION, EXTENDED_VALIDATION)
- **certificateType** (Enum) - The type of certificate (SINGLE_DOMAIN, MULTI_DOMAIN, WILDCARD, ACME_SUBSCRIPTION)
- **features** (List ) - Features available (REISSUE, WILDCARD, WWW_INCLUDED, NON_WWW_INCLUDED, OCSP_MUST_STAPLE)
- **requiredFields** (List ) - Certificate request fields that are required
- **optionalFields** (List ) - Certificate request fields that can optionally be specified
- **periods** (List ) - Periods available
- **warranty** (Integer) - The maximum amount of insurance in US dollars
- **issueTime** (String) - Indication of the time required for issuing a certificate
- **renewalWindow** (Integer) - The amount of days before the certificate can be renewed
- **renewFrom** (List ) - List of product identifiers that can renew to this product
- **includedDomains** (Integer) - Number of included domains (multi domain only)
- **maxDomains** (Integer) - Maximum number of domains (multi domain only)
```
--------------------------------
### Usage Example for IsProxy
Source: https://dm.realtimeregister.com/docs/api/isproxy
Demonstrates how to initialize the client, perform a domain check, and retrieve the result.
```php
require_once 'IsProxy.php';
$ip = new IsProxy("apikey");
$ip->check('domainname', 'com');
$result = $ip->result();
echo $result['domain'].' '.$result['result'];
$ip->close();
```
--------------------------------
### GET /v2/customers/customer/dnstemplates/template
Source: https://dm.realtimeregister.com/docs/api/templates/get
Retrieves the details of a specific DNS template for a given customer.
```APIDOC
## GET /v2/customers/customer/dnstemplates/template
### Description
Retrieves the DNS template details for a specified customer and template name.
### Method
GET
### Endpoint
/v2/customers/{customer}/dnstemplates/{template}
### Parameters
#### Path Parameters
- **customer** (string) - Required - The handle of the customer
- **template** (string) - Required - The template name
#### Query Parameters
- **fields** (string) - Optional - Select fields to include in the response, comma separated list of field names. Identifying field(s) are always included.
### Response
#### Success Response (200)
- **data** (object) - The requested DNS template information.
```
--------------------------------
### Create SiteLock Account Request Body
Source: https://dm.realtimeregister.com/docs/api/sitelock/accounts/create
Example JSON payload for the account creation request.
```json
{
"language": "EN"
}
```
--------------------------------
### GET /v2/hosts/{hostName}
Source: https://dm.realtimeregister.com/docs/api/hosts/get
Retrieves detailed information about a specific host by its name.
```APIDOC
## GET /v2/hosts/{hostName}
### Description
Used to get a host by its name.
### Method
GET
### Endpoint
/v2/hosts/{hostName}
### Parameters
#### Path Parameters
- **hostName** (String) - Required - The host name (Min length: 4, Max length: 255)
#### Query Parameters
- **fields** (String) - Optional - Select fields to include in the response, comma separated list of field names.
### Response
#### Success Response (200)
- **hostName** (String) - The host name
- **createdDate** (Timestamp) - The date the host was created
- **updatedDate** (Timestamp) - The date the host was last updated
- **addresses** (List ) - Host addresses
- **ipVersion** (Enum) - Version of the IP protocol (V4, V6)
- **address** (String) - The IP Address
#### Response Example
{
"hostName": "example.com",
"createdDate": "2023-01-01T00:00:00Z",
"addresses": [
{
"ipVersion": "V4",
"address": "192.0.2.1"
}
]
}
```
--------------------------------
### Create Brand Request Body
Source: https://dm.realtimeregister.com/docs/api/brands/create
Example JSON payload for the brand creation request.
```json
{
"locale": "en-US"
}
```
--------------------------------
### Get Validation Category
Source: https://dm.realtimeregister.com/docs/api/validation/get
Used to get a validation category by its name.
```APIDOC
## GET /v2/validation/categories/{categoryName}
### Description
Retrieves a specific validation category by its name.
### Method
GET
### Endpoint
/v2/validation/categories/{categoryName}
### Parameters
#### Path Parameters
- **categoryName** (String) - Required - The name of the validation category to retrieve.
#### Query Parameters
- **fields** (String) - Optional - Select fields to include in the response, comma-separated. Requesting only needed fields improves response time.
### Response
#### Success Response (200 OK)
- **name** (String) - Required - The validation category name.
- **fields** (List) - Required - The contact fields that need to be validated.
- **description** (String) - Required - The description of the validation category.
- **terms** (List) - Optional - Details about the terms and conditions.
- **version** (Integer) - Required - The version of the terms and conditions.
- **terms** (String) - Required - The content of the terms and conditions.
- **validUntil** (Timestamp) - Optional - Expiry date of the terms and conditions.
#### Response Example
```json
{
"name": "ExampleCategory",
"fields": ["email", "phone"],
"description": "Category for example data validation",
"terms": [
{
"version": 1,
"terms": "Terms and conditions content.",
"validUntil": "2024-12-31T23:59:59Z"
}
]
}
```
#### Error Handling
Generic errors can be expected.
```
--------------------------------
### Register a Domain via POST
Source: https://dm.realtimeregister.com/docs/api/domains/create
Example request body for creating a domain with specified contacts, DNSSEC key data, and billable actions.
```json
{
"contacts": [
{
"role": "ADMIN"
},
{
"role": "BILLING"
},
{
"role": "TECH"
}
],
"keyData": [
{
"protocol": 3,
"flags": 256,
"algorithm": 3
}
],
"billables": [
{
"action": "CREATE"
}
]
}
```
--------------------------------
### Get Domain Transfer Information
Source: https://dm.realtimeregister.com/docs/api/domains/transferinfo
Used to get the status of a domain transfer. You can retrieve information for the most recent transfer for a domain by omitting the processId.
```APIDOC
## GET /v2/domains/{domainName}/transfer/{processId}
### Description
Retrieves the status of a domain transfer.
### Method
GET
### Endpoint
/v2/domains/{domainName}/transfer/{processId}
### Parameters
#### Path Parameters
- **domainName** (String) - Required - The domain name.
- Regular expression: ^(?:[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?.)+(?:[a-z][a-z0-9-]{0,61}[a-z0-9])$
- Minimum length: 3
- Maximum length: 255
- **processId** (Integer) - Optional - The process ID. When omitted, will retrieve the information for the most recent transfer for this domain.
### Response
#### Success Response (200)
- **domainName** (String) - Required - The domain name.
- **registrar** (String) - Required - The name of the new registrar, only available if this is an outgoing transfer.
- **status** (String) - Required - Status of the transfer.
- **requestedDate** (Timestamp) - Required - The date on which the transfer was initiated.
- **actionDate** (Timestamp) - Optional - The date on which a response is required before an automated response action will be taken.
- **expiryDate** (Timestamp) - Optional - The new expiry date of the domain after the transfer.
- **type** (Enum) - Required - Incoming or outgoing transfer. Possible values: IN, OUT.
- **processId** (Integer) - Required - Process ID of the transfer.
- **log** (List) - Optional -
- **date** (Timestamp) - Required - The date the message was logged.
- **status** (Enum) - Required - The status of the transfer at the time of the message. Possible values: pendingwhois, pendingfoa, pendingvalidation, pending, approved, cancelled, rejected, failed, completed.
- **message** (String) - Required - The log message.
#### Response Example
```json
{
"domainName": "example.com",
"registrar": "newregistrar.com",
"status": "pending",
"requestedDate": "2023-10-27T10:00:00Z",
"actionDate": "2023-10-28T10:00:00Z",
"expiryDate": "2024-10-27T10:00:00Z",
"type": "OUT",
"processId": 12345,
"log": [
{
"date": "2023-10-27T10:05:00Z",
"status": "pendingwhois",
"message": "Transfer is pending for whois information."
}
]
}
```
#### Failed requests
Generic errors can be expected.
### Request Example
```json
{
"domainName": "example.com",
"processId": 12345
}
```
```
--------------------------------
### Basic API Calls with PHP SDK
Source: https://dm.realtimeregister.com/docs/api/samples
Demonstrates basic API interactions using the official Realtime Register PHP SDK, including listing contacts and retrieving TLD information. Requires an API key for initialization.
```php
contacts->list('johndoe');
$realtimeRegister->tlds->info('nl');
?>
```
--------------------------------
### Example IsProxy Session
Source: https://dm.realtimeregister.com/docs/api/isproxy
Demonstrates a typical interaction flow including authentication, multiple parallel domain checks, and session termination.
```text
>>> LOGIN apikey
<<< 100 Login ok
>>> IS example1.com
<<< example1.com not available
>>> IS example2.com
>>> IS example3.net
>>> IS example4.info
<<< example2.com available
<<< example4.info not available
<<< example3.net not available
>>> IS --.org
<<< --.org invalid domain
>>> QUIT
```
--------------------------------
### GET /v2/customers/customer/notifications/notificationId
Source: https://dm.realtimeregister.com/docs/api/notifications/get
Retrieves a specific notification for a given customer.
```APIDOC
## GET /v2/customers/customer/notifications/notificationId
### Description
Retrieves the details of a specific notification associated with a customer.
### Method
GET
### Endpoint
/v2/customers/{customer}/notifications/{notificationId}
### Parameters
#### Path Parameters
- **customer** (string) - Required - The handle of the customer
- **notificationId** (string) - Required - The ID of the notification
#### Query Parameters
- **fields** (string) - Optional - Select fields to include in the response, comma separated list of field names.
```
--------------------------------
### Initialize ADAC JavaScript Client
Source: https://dm.realtimeregister.com/docs/api/adac
Configure the client with your API key and TLD set token. Replace placeholders with actual credentials from the management panel.
```javascript
```
--------------------------------
### GET /v2/providers/REGISTRY/name/info
Source: https://dm.realtimeregister.com/docs/api/providers/info
Retrieves information about a provider by its name from the registry.
```APIDOC
## GET /v2/providers/REGISTRY/name/info
### Description
Retrieves information about a provider by its name from the registry.
### Method
GET
### Endpoint
/v2/providers/REGISTRY/name/info
### Parameters
#### Query Parameters
- **name** (string) - Required - The name of the provider.
### Response
#### Success Response (200)
- **name** (string) - The name of the provider.
#### Response Example
{
"name": "ExampleProviderName"
}
```
--------------------------------
### GET /v2/tlds/tld/info
Source: https://dm.realtimeregister.com/docs/api/tlds/info
Retrieves information about a specific Top-Level Domain (TLD).
```APIDOC
## GET /v2/tlds/tld/info
### Description
Retrieves information about a specific Top-Level Domain (TLD).
### Method
GET
### Endpoint
/v2/tlds/tld/info
### Parameters
#### Query Parameters
- **tld** (string) - Required - The tld without any dot (.).
### Response
#### Success Response (200)
- **tld** (string) - The requested Top-Level Domain.
- **status** (string) - The status of the TLD.
- **creation_date** (string) - The creation date of the TLD.
- **expiration_date** (string) - The expiration date of the TLD.
#### Response Example
{
"tld": "com",
"status": "active",
"creation_date": "1985-01-01T00:00:00Z",
"expiration_date": "2025-12-31T23:59:59Z"
}
```
--------------------------------
### Authenticate with Basic Auth
Source: https://dm.realtimeregister.com/docs/api/access
Combine customer handle, username, and password, then Base64 encode the string for the Authorization header.
```http
Authorization: Basic eW91cl9jdXN0b21lcl9oYW5kbGUveW91cl9kZXNpZ25hdGVkX3VzZXI6c2VjcmV0MTIz
```
--------------------------------
### GET /tld-metadata
Source: https://dm.realtimeregister.com/docs/api/tlds/info
Retrieves the metadata and configuration settings for a specific TLD.
```APIDOC
## GET /tld-metadata
### Description
Retrieves the metadata and configuration settings for a specific TLD, including supported periods, grace periods, and available features.
### Method
GET
### Endpoint
/tld-metadata
### Parameters
#### Request Body
- **provider** (String) - Required - The provider which offers this tld
- **applicableFor** (List ) - Required - Domain extensions which have the same metadata
- **metadata** (metadata) - Required - The metadata object for the TLD
### Response
#### Success Response (200)
- **createDomainPeriods** (List ) - List of supported periods with domain creation
- **renewDomainPeriods** (List ) - List of supported periods with domain renewal
- **autoRenewDomainPeriods** (List ) - List of supported periods for automatic domain renewal
- **transferDomainPeriods** (List ) - Optional - List of supported periods with domain transfer
- **redemptionPeriod** (Integer) - Optional - The period in which a deleted domain can be restored
- **pendingDeletePeriod** (Integer) - Optional - Domain deletion confirmation awaited by the registry
- **addGracePeriod** (Integer) - Optional - The period in which a domain may be deleted and a conditional refund can be claimed
- **renewGracePeriod** (Integer) - Optional - The period in which a renewed domain may be deleted and a conditional refund can be claimed
- **autoRenewGracePeriod** (Integer) - Optional - The period in which an auto renewed domain may be deleted and a conditional refund can be claimed
- **transferGracePeriod** (Integer) - Optional - The period in which a transferred domain may be deleted and a conditional refund can be claimed
- **expiryDateOffset** (Integer) - Optional - The offset for the expiry date when the automatical domain renewal is started in seconds
- **transferFOA** (Boolean) - Required - Whether or not the transfer process requires accepting of FOA
- **adjustableAuthCode** (Boolean) - Required - Whether or not the auth code can be auto regenerated
- **customAuthcodeSupport** (Boolean) - Required - Whether or not the auth code can be customized
- **transferSupportsAuthcode** (Boolean) - Required - Whether or not the transfer process supports an auth code
- **transferRequiresAuthcode** (Boolean) - Required - Whether or not the transfer process requires an auth code
- **creationRequiresPreValidation** (Boolean) - Required - Whether or not the domain creation is dependent on the registrant being validated
- **zoneCheck** (String) - Optional - Set if a zone check is performed by the registry
- **possibleClientDomainStatuses** (List ) - Optional - Supported client domain statuses
- **allowedDnssecRecords** (Integer) - Optional - Maximum number of allowed DNSSec record types
- **allowedDnssecAlgorithms** (List ) - Optional - The supported DNSSEC algorithms
- **validationCategory** (String) - Optional - If validation is required, the required validation category
- **featuresAvailable** (List ) - Required - Features available for the TLD
- **registrantChangeApprovalRequired** (Boolean) - Required - Material changes to registrant date require IRTP-C approval
- **registrantChangeTransferLock** (Boolean) - Required - The domain will be locked for transfer after registrant change
```
--------------------------------
### Registry Configuration Overview
Source: https://dm.realtimeregister.com/docs/api/tlds/metadata
Summary of registry-specific constraints for supported TLDs.
```APIDOC
## Registry Configuration Details
### Description
Provides configuration parameters for various TLD registries, including IDN support, length constraints, and address requirements.
### Supported Registries
- **RegistryQA**: idnSupport: False, maxLength: 63, minLength: 3
- **RegistryRO**: idnSupport: True (UTS46), maxLength: 63, minLength: 1
- **RegistryRS**: idnSupport: False, maxLength: 63, minLength: 2
- **RegistryRW**: idnSupport: False, maxLength: 63, minLength: 3
- **RegistrySA**: idnSupport: False, maxLength: 63, minLength: 2, organizationRequired: True
- **RegistrySD**: idnSupport: False, maxLength: 63, minLength: 2
### Address Constraints
- **IPv4**: Max 13, Min 1
- **IPv6**: Max 12, Min 0
- **Total Addresses**: Max 13, Min 1
```
--------------------------------
### GET /v2/processes/{processId}
Source: https://dm.realtimeregister.com/docs/api/processes/get
Retrieves the details of a specific process by its ID.
```APIDOC
## GET /v2/processes/{processId}
### Description
Used to get a process by its unique identifier.
### Method
GET
### Endpoint
/v2/processes/{processId}
### Parameters
#### Path Parameters
- **processId** (Integer) - Required - The process ID
#### Query Parameters
- **fields** (String) - Optional - Select fields to include in the response, comma separated list of field names.
### Response
#### Success Response (200)
- **id** (Integer) - The process ID
- **user** (String) - The user that initiated the process, formatted as "/"
- **customer** (String) - The customer the process belongs to
- **status** (Enum) - Status of the process (NEW, VALIDATED, RUNNING, COMPLETED, INVALID, CANCELLED, FAILED, IN_DOUBT, SCHEDULED, SUSPENDED)
- **statusDetail** (String) - Status detail of the process
- **createdDate** (Timestamp) - The date the process was created
- **updatedDate** (Timestamp) - The date the process was last updated
- **startedDate** (Timestamp) - The date the process was started
- **type** (String) - The type of entity this process relates to
- **identifier** (String) - The identifier of entity this process relates to
- **action** (String) - The action performed on the entity
- **reservation** (Map) - Account reservation made for this process
- **transaction** (Map) - Account transaction made for this process
- **refund** (Map) - Account refund made for this process
- **command** (Object) - The content of the command used to start the process
- **resumeTypes** (List) - The possible resume types for the process
- **error** (Object) - The content of the error returned by the process
- **billables** (List) - The products billed in this transaction
```
--------------------------------
### GET /v2/exchangerates
Source: https://dm.realtimeregister.com/docs/api/exchangerates/list
Retrieves a list of all available currency exchange rates.
```APIDOC
## GET /v2/exchangerates
### Description
Used to list all available exchange rates.
### Method
GET
### Endpoint
/v2/exchangerates
### Response
#### Success Response (200)
- **exchangeRates** (List) - Optional - Exchange rates, map of currency and rate
#### Response Example
{
"currency": "EUR",
"exchangerates": {
"USD": 1.08
}
}
```
--------------------------------
### Check Domain Availability with TypeScript SDK
Source: https://dm.realtimeregister.com/docs/api/samples
Shows how to check if a domain is available for registration using the Realtime Register TypeScript SDK. This example logs the availability status and related details.
```typescript
// Check domain
rtr.domains.check('testdomain.com').then((response) => {
console.log(response)
/* {
* available: false,
* reason: 'test',
premium: false,
currency: 'USD',
price: 3000
* }
*/
})
```
--------------------------------
### GET /v2/tlds/{tld}/info
Source: https://dm.realtimeregister.com/docs/api/tlds/info
Retrieves TLD metadata for a specified TLD.
```APIDOC
## GET /v2/tlds/{tld}/info
### Description
Used to get TLD metadata.
### Method
GET
### Endpoint
/v2/tlds/{tld}/info
### Parameters
#### Path Parameters
- **tld** (String) - Required - The tld without any dot (.).
### Response
#### Success Response (200)
- **[Response fields not specified in the source text]**
#### Response Example
{
"example": "response body"
}
```
--------------------------------
### POST /v2/customers/{customer}/dnstemplates/{template}
Source: https://dm.realtimeregister.com/docs/api/templates/create
Creates a new DNS template for a specific customer.
```APIDOC
## POST /v2/customers/{customer}/dnstemplates/{template}
### Description
Used to create a DNS template for a specified customer.
### Method
POST
### Endpoint
/v2/customers/{customer}/dnstemplates/{template}
### Parameters
#### Path Parameters
- **customer** (String) - Required - The handle of the customer.
- **template** (String) - Required - The template name.
#### Request Body
- **hostMaster** (String) - Required - The email address of the hostmaster.
- **refresh** (Integer) - Required - The time when the slave will try to refresh the zone from the master, in seconds.
- **retry** (Integer) - Required - The time between retries if the slave fails to contact the master, in seconds.
- **expire** (Integer) - Required - Indicates when the zone data is no longer authoritative, in seconds.
- **ttl** (Integer) - Required - The duration that the record may be cached, in seconds.
- **records** (List) - Optional - DNS records.
- **name** (String) - Required - The record name.
- **type** (Enum) - Required - The record type (A, MX, CNAME, AAAA, URL, MBOXFW, HINFO, NAPTR, NS, SRV, CAA, TLSA, ALIAS, TXT, SOA, DNSKEY, CERT, DS, LOC, SSHFP, URI).
- **content** (String) - Required - Type specific content of the record.
- **ttl** (Integer) - Optional - The duration that the record may be cached.
- **prio** (Integer) - Optional - The priority, mandatory if type is MX or SRV.
### Request Example
{
"refresh": 3600,
"retry": 3600,
"expire": 1209600,
"ttl": 3600,
"records": [
{
"type": "A",
"name": "www",
"content": "127.0.0.1"
}
]
}
### Response
#### Success Response (201)
- **Status** - Created
#### Failed Responses
- **400 Bad Request** - DnsConfigurationException: The DNS records contain errors.
```
--------------------------------
### POST /v2/sitelock/accounts/{username}
Source: https://dm.realtimeregister.com/docs/api/sitelock/accounts/create
Creates a new SiteLock account with a specified username and site details.
```APIDOC
## POST /v2/sitelock/accounts/{username}
### Description
Used to create a new SiteLock account with a site.
### Method
POST
### Endpoint
/v2/sitelock/accounts/{username}
### Parameters
#### Path Parameters
- **username** (String) - Required - The account username. Must be 8-64 characters long and match [a-zA-Z0-9\-_@\.]+.
#### Request Body
- **email** (String) - Required - The email address.
- **password** (String) - Optional - Initial password for user, must be changed upon first login.
- **language** (Enum) - Optional - Initial language for the account (EN, NL, FR, DE, ES, IT, PT, EL, JP, ZH).
- **brand** (String) - Optional - The brand/company name to use in the SiteLock portal.
- **domainName** (String) - Required - The domain name for the initial site.
- **plan** (String) - Required - The plan product for the site.
### Request Example
{
"email": "user@example.com",
"domainName": "example.com",
"plan": "basic-plan",
"language": "EN"
}
### Response
#### Success Response (201)
- **Status** - Created
```
--------------------------------
### POST /v2/hosts/hostName
Source: https://dm.realtimeregister.com/docs/api/hosts/create
Used to create a host within the Realtime Register system. Requires host name and address details.
```APIDOC
## POST /v2/hosts/hostName
### Description
Used to create a host.
### Method
POST
### Endpoint
/v2/hosts/hostName
### Parameters
#### Path Parameters
- **hostName** (String) - Required - The host name. Minimum length: 4, Maximum length: 255
#### Request Body
- **addresses** (List) - Required - Host addresses
- **ipVersion** (Enum) - Required - Version of the IP protocol. Possible values: V4, V6
- **address** (String) - Required - The IP Address
### Request Example
```json
{
"addresses": [
{
"ipVersion": "V4",
"address": "192.168.1.1"
}
]
}
```
### Response
#### Success Response (201)
- **Content-Type**: application/json
#### Response Example
(No specific success response body example provided in the source text.)
#### Error Handling
Generic errors can be expected. Specific error fields mentioned:
- Host name
- IP Version
- IP Address
```
--------------------------------
### GET /v2/billing/financialtransactions/{transactionId}
Source: https://dm.realtimeregister.com/docs/api/transactions/get
Retrieves the details of a specific financial transaction by its ID.
```APIDOC
## GET /v2/billing/financialtransactions/{transactionId}
### Description
Used to get financial transaction details.
### Method
GET
### Endpoint
/v2/billing/financialtransactions/{transactionId}
### Parameters
#### Path Parameters
- **transactionId** (Integer) - Required - The transaction ID
#### Query Parameters
- **fields** (String) - Optional - Select fields to include in the response, comma separated list of field names.
### Response
#### Success Response (200)
- **id** (Integer) - The transaction ID
- **customer** (String) - The customer the transaction belongs to
- **date** (Timestamp) - The date the transaction was executed
- **amount** (Integer) - The value of the transaction, in cents
- **currency** (String) - The ISO 4217 alphabetic currency code (EUR or USD)
- **processId** (Integer) - The process ID
- **processType** (String) - The type of entity this process relates to
- **processIdentifier** (String) - The identifier of entity this process relates to
- **processAction** (String) - The action performed on the entity
- **chargesPerAccount** (Map ) - Optional - Account charges made for this transaction
- **billables** (List ) - Optional - The products billed in this transaction
#### Billables Object
- **product** (String) - The product
- **action** (Enum) - The action (CREATE, REQUEST, TRANSFER, RENEW, RESTORE, TRANSFER_RESTORE, UPDATE, REGISTRANT_CHANGE, LOCAL_CONTACT, NEGATIVE_MARKUP, PRIVACY_PROTECT, EXTRA_WILDCARD, EXTRA_DOMAIN, REGISTRY_LOCK)
- **quantity** (Integer) - The quantity charged
- **amount** (Integer) - The amount charged for this product
- **providerName** (String) - The provider name
```
--------------------------------
### POST /v2/sitelock/sites/{domainName}
Source: https://dm.realtimeregister.com/docs/api/sitelock/sites/create
Creates a new SiteLock site for a specified domain name.
```APIDOC
## POST /v2/sitelock/sites/{domainName}
### Description
Used to create a new SiteLock site.
### Method
POST
### Endpoint
/v2/sitelock/sites/{domainName}
### Parameters
#### Path Parameters
- **domainName** (String) - Required - The site domain name. Must match regex ^(?:[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?\.)+(?:[a-z][a-z0-9-]{0,61}[a-z0-9])$, length 3-255.
#### Request Body
- **account** (String) - Required - The account username the site should be created in. Must match regex [a-zA-Z0-9\-_@\.]+.
- **plan** (String) - Required - The plan product for the site.
### Request Example
{
"account": "username",
"plan": "product_name"
}
### Response
#### Success Response (202)
- **Status** - Accepted
```
--------------------------------
### GET /v2/providers/downtime/{id}
Source: https://dm.realtimeregister.com/docs/api/providers/downtime/get
Retrieves details about a specific provider downtime window.
```APIDOC
## GET /v2/providers/downtime/{id}
### Description
Used to get a provider downtime window.
### Method
GET
### Endpoint
/v2/providers/downtime/{id}
### Parameters
#### Path Parameters
- **id** (Integer) - Required - The downtime ID
#### Query Parameters
- **fields** (String) - Optional - Select fields to include in the response, comma separated list of field names.
### Response
#### Success Response (200)
- **id** (Integer) - The downtime ID
- **startDate** (Timestamp) - Start date of downtime
- **endDate** (Timestamp) - End date of downtime
- **reason** (String) - Reason of downtime
- **provider** (Object) - Provider details
#### Response Example
{
"id": 123,
"startDate": "2023-01-01T00:00:00Z",
"endDate": "2023-01-01T02:00:00Z",
"reason": "Scheduled maintenance",
"provider": {}
}
```
--------------------------------
### GET /v2/customers/{customer}/pricelist
Source: https://dm.realtimeregister.com/docs/api/customers/pricelist
Retrieves a list of prices for all products applicable to the specified customer, with optional currency conversion.
```APIDOC
## GET /v2/customers/{customer}/pricelist
### Description
Used to get a topical list of prices for all products that are applicable for the specified customer.
### Method
GET
### Endpoint
/v2/customers/{customer}/pricelist
### Parameters
#### Path Parameters
- **customer** (String) - Required - The handle of the customer. Restrictions: [a-zA-Z0-9\-_@\.]+; Min length: 3; Max length: 40.
#### Query Parameters
- **currency** (String) - Optional - The currency to convert to. The conversion is done using exchange rates that are updated daily. Restrictions: (?i)^(USD|EUR)$
### Response
#### Success Response (200)
- **prices** (List) - Required - A list of prices
- **priceChanges** (List) - Optional - A list of price changes
- **promos** (List) - Optional - A list of promos
```
--------------------------------
### Get Brand API
Source: https://dm.realtimeregister.com/docs/api/brands/get
Retrieves information about a specific brand associated with a customer.
```APIDOC
## GET /v2/customers/customer/brands/handleURL
### Description
Used to get a brand.
### Method
GET
### Endpoint
/v2/customers/customer/brands/handleURL
### Parameters
#### Path Parameters
- **customer** (String) - Required - The handle of the customer. Regular expression: [a-zA-Z0-9\-_@\.]+ Minimum length: 3 Maximum length: 40
- **handle** (String) - Required - The handle of the brand. Regular expression: [a-zA-Z0-9\-_@\.]+ Minimum length: 3 Maximum length: 40
#### Query Parameters
- **fields** (String) - Optional - Select fields to include in the response, comma separated list of field names. Requesting only the needed fields improves response time, especially when omitting relation fields. Identifying field(s) are always included.
### Response
#### Success Response (200)
- **hideOptionalTerms** (Boolean) - Optional - Indicates whether contact validations should hide optional terms if they fall under this brand.
- **customer** (String) - Required - The customer handle
- **handle** (String) - Required - The brand handle
- **locale** (String) - Required - The locale code
- **organization** (String) - Required - The name of the organization
- **addressLine** (List) - Required - The address lines
- **postalCode** (String) - Required - Postal code
- **city** (String) - Required - The city
- **state** (String) - Optional - The state
- **country** (String) - Required - The ISO 3166-1 alpha2 country code
- **email** (String) - Required - The email address
- **contactUrl** (String) - Optional - URL for the brand's contact page
- **url** (String) - Optional - The website address
- **voice** (String) - Required - The voice telephone number
- **fax** (String) - Optional - The fax telephone number
- **privacyContact** (String) - Optional - The handle of the contact used for domains with privacy protect
- **abuseContact** (String) - Optional - The handle of the contact to be exposed publicly in the WHOIS/RDAP for abuse cases
- **createdDate** (Timestamp) - Required - The date the brand was created
- **updatedDate** (Timestamp) - Optional - The date the brand was last updated
- **spfInvalidSince** (Timestamp) - Optional - Since this date we found the SPF record to be invalid
- **dkimInvalidSince** (Timestamp) - Optional - Since this date we found the DKIM record to be invalid
- **dkimSelector** (String) - Optional - DKIM selector that is active, als indicated emails are DKIM sigend
#### Response Example
{
"example": "response body"
}
#### Failed requests
Generic errors can be expected.
Customer *
The handle of the customer
Handle *
The handle of the brand
Fields
Select fields to include in the response, comma separated list of field names. Requesting only the needed fields improves response time, especially when omitting relation fields. Identifying field(s) are always included.
GET /v2/customers/customer/brands/default
Submit
The tryout functionality for our API is only available in the OT&E environment. If you do not yet have an account, our support team can create it for you.
__Email Support __OT &E Environment
```
--------------------------------
### Resend DCV Request
Source: https://dm.realtimeregister.com/docs/api/ssl/resenddcv
Example JSON payload for the POST /v2/processes/processId/resend endpoint.
```json
{
"dcv": [
{
"type": "EMAIL"
}
]
}
```
--------------------------------
### REST API Calls with Python
Source: https://dm.realtimeregister.com/docs/api/samples
Provides a Python class for making RESTful API calls to Realtime Register, including methods for retrieving domain names and registering new domains. This example uses the `requests` library and requires an API key.
```python
import requests
from typing import List, Dict, Any
API_KEY = "..."
class RestClient:
@staticmethod
def do_request(method: str, url: str, **kwargs) -> Dict[Any, Any]:
"""
Send a request to the Realtime Register API.
:param method: Method to use e.g., post or get.
:param url: URL to send the request to.
:param kwargs: Kwargs to pass to requests.request method.
:return: JSON response.
"""
headers = {"Authorization": f"ApiKey {API_KEY}"}
return requests.request(method, "https://api.yoursrs.com/v2/%s" % url, headers=headers, **kwargs).json()
def get_domain_names(self) -> List[str]:
"""
Get a list of domain names.
:return: A list of domain names within the current account.
"""
result = self.do_request("get", "domains")
return [ domain.get("domainName") for domain in result["entities"] ]
def register_domain(self, domain_name: str, registrant_handle: str, admin_handle: str) -> Dict[Any, Any]:
"""
Register a domain name with Realtime Register.
:param domain_name: Domain name to register.
:param registrant_handle: Contact handle of the registrant.
:param admin_handle: Contact handle of the admin contact.
:return:
"""
body = {
"customer": "test",
"period": 12,
"registrant": registrant_handle,
"contacts": [
{"handle": admin_handle, "role": "ADMIN"},
{"handle": "test", "role": "TECH"},
{"handle": "test", "role": "BILLING"}
]
}
return self.do_request("post", "domains/" + domain_name, json=body)
client = RestClient()
client.register_domain("testdomain.com", "registrant", "admin")
retval = client.get_domain_names()
print(retval)
```