### 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 '
'; echo ' '; echo ' '; echo ' '; echo ' '; echo ' '; echo ' '; echo ' '; echo '
.
'; 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 ''; flush(); if($a == $tld_count) { $ip->close(); break; } } echo '
'.$result['domain'].''.$text[$result['result']].'
'; } } ``` -------------------------------- ### 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) ```