Unregistry API

Powerful RESTful API for domain registry operations

Overview

RESTful Design

Clean, intuitive REST API following industry standards

Secure Authentication

API key-based authentication with rate limiting

Developer Friendly

Comprehensive documentation with code examples

Base URL: https://api.unregistry.com
RDAP Service: https://rdap.unregistry.com
Version: 1.0
Format: JSON

Getting Started

To begin using the Unregistry API:

  1. Log in to your Control Panel
  2. Navigate to Settings → API Keys
  3. Generate a new API key
  4. Include the API key in your request headers

Authentication

All API requests require authentication using an API key. Include your API key in the request header:

X-API-Key: YOUR_API_KEY
Authorization: Bearer YOUR_API_KEY

API Endpoints

Domain Operations

GET /domains List all domains
GET /domains/{domain} Get domain details
POST /domains Register new domain
PUT /domains/{domain} Update domain
DELETE /domains/{domain} Delete domain
POST /domains/{domain}/renew Renew domain
POST /domains/{domain}/transfer Transfer domain

Example Request

curl -X GET https://api.unregistry.com/domains \
  -H "X-API-Key: YOUR_API_KEY" \
  -H "Content-Type: application/json"

Example Response

{
  "status": "success",
  "data": {
    "domains": [
      {
        "id": "12345",
        "name": "example.com",
        "status": "active",
        "registrant": "John Doe",
        "created": "2024-01-15T10:30:00Z",
        "expires": "2025-01-15T10:30:00Z"
      }
    ],
    "total": 1,
    "page": 1,
    "limit": 20
  }
}

RDAP Integration

The Registration Data Access Protocol (RDAP) service provides standardized access to domain registration data:

RDAP Endpoint: https://rdap.unregistry.com

RDAP Queries

GET https://rdap.unregistry.com/domain/{domain} Domain lookup
GET https://rdap.unregistry.com/ip/{ip} IP address lookup
GET https://rdap.unregistry.com/entity/{handle} Entity lookup

Application Operations

GET /applications List all applications
GET /applications/{id} Get application details
POST /applications Create new application

Contact Operations

GET /contacts List all contacts
GET /contacts/{id} Get contact details
POST /contacts Create new contact
PUT /contacts/{id} Update contact

Host Operations

GET /hosts List all hosts
GET /hosts/{hostname} Get host details
POST /hosts Create new host

Registrar Operations

GET /registrars List all registrars
POST /registrars/onboard Start registrar onboarding

For automated registrar onboarding, visit our dedicated Registrar Onboarding Portal.

Response Format

All API responses follow a consistent JSON format:

{
  "status": "success|error",
  "message": "Optional message",
  "data": {
    // Response data
  },
  "errors": [
    // Array of error objects (if applicable)
  ]
}

Error Handling

The API uses standard HTTP status codes to indicate success or failure:

Status Code Description
200 OK Request successful
201 Created Resource created successfully
400 Bad Request Invalid request parameters
401 Unauthorized Authentication failed
403 Forbidden Access denied
404 Not Found Resource not found
429 Too Many Requests Rate limit exceeded
500 Internal Server Error Server error

Rate Limiting

API requests are rate limited to ensure fair usage:

  • 1000 requests per hour per API key
  • 100 requests per minute per API key
  • Rate limit headers are included in responses:
    • X-RateLimit-Limit
    • X-RateLimit-Remaining
    • X-RateLimit-Reset

Code Examples

PHP Example

<?php
$apiKey = 'YOUR_API_KEY';
$apiUrl = 'https://api.unregistry.com/domains';

$ch = curl_init($apiUrl);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, [
    'X-API-Key: ' . $apiKey,
    'Content-Type: application/json'
]);

$response = curl_exec($ch);
$data = json_decode($response, true);
curl_close($ch);

print_r($data);
?>

Python Example

import requests

api_key = 'YOUR_API_KEY'
api_url = 'https://api.unregistry.com/domains'

headers = {
    'X-API-Key': api_key,
    'Content-Type': 'application/json'
}

response = requests.get(api_url, headers=headers)
data = response.json()

print(data)

JavaScript Example

const apiKey = 'YOUR_API_KEY';
const apiUrl = 'https://api.unregistry.com/domains';

fetch(apiUrl, {
    method: 'GET',
    headers: {
        'X-API-Key': apiKey,
        'Content-Type': 'application/json'
    }
})
.then(response => response.json())
.then(data => console.log(data))
.catch(error => console.error('Error:', error));

Need Help?

For additional support, visit our Support Center or email us at api@unregistry.com