Getting Started with Habilis Domains
Welcome to Habilis Domains! This guide will help you get up and running with domain management and fraud detection in minutes.
Quick Start Checklist
- [ ] Create your account
- [ ] Choose a pricing plan
- [ ] Add your first domain
- [ ] Configure DNS records
- [ ] Get your API key
- [ ] Make your first fraud API call
- [ ] Explore the dashboard
Estimated Time: 30 minutes
Step 1: Create Your Account
Sign Up
- Visit [register page]
- Enter your email address
- Create a strong password
- Verify your email
- Complete your profile
Account Security
- Use a unique, strong password
- Enable two-factor authentication (recommended)
- Keep your API keys secure
Step 2: Choose Your Plan
Select the plan that fits your needs:
Starter - $29/month
Best for: Small projects, testing, personal use
- Up to 10 domains
- 1,000 fraud API calls/month
- Email support
- All core features
Professional - $99/month
Best for: Growing businesses, agencies
- Up to 100 domains
- 10,000 fraud API calls/month
- Priority support
- Bulk operations (Q1 2026)
- Analytics dashboard (Q1 2026)
Enterprise - $299/month
Best for: Large organizations, high volume
- Unlimited domains
- Unlimited fraud API calls
- Dedicated support
- All features + early access
- Custom integration support
💡 Tip: Start with Starter plan and upgrade as you grow. You can change plans anytime.
Step 3: Add Your First Domain
From the Dashboard
-
Navigate to Domains
- Click "Domains" in the sidebar
- Click "Add Domain" button
-
Enter Domain Information
Domain Name: example.com -
Update Nameservers
- Copy the nameservers provided:
ns1.habilisdomains.com ns2.habilisdomains.com - Go to your domain registrar
- Update nameservers to point to Habilis Domains
- Save changes
- Copy the nameservers provided:
-
Verify Domain
- Wait 5-15 minutes for propagation
- Dashboard will show "Active" when verified
Via API
curl -X POST https://api.habilisdomains.com/v1/domains \ -H "Authorization: Bearer YOUR_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "domain": "example.com" }'
Step 4: Configure DNS Records
Common DNS Records
A Record (IPv4 Address)
Type: A
Name: @
Value: 192.0.2.1
TTL: 3600
CNAME Record (Alias)
Type: CNAME
Name: www
Value: example.com
TTL: 3600
MX Record (Email)
Type: MX
Name: @
Value: mail.example.com
Priority: 10
TTL: 3600
TXT Record (Verification)
Type: TXT
Name: @
Value: "v=spf1 include:_spf.example.com ~all"
TTL: 3600
Adding Records via Dashboard
- Go to Domains > Select your domain
- Click "DNS Records"
- Click "Add Record"
- Select record type
- Fill in details
- Click "Save"
Adding Records via API
curl -X POST https://api.habilisdomains.com/v1/domains/example.com/records \ -H "Authorization: Bearer YOUR_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "type": "A", "name": "@", "value": "192.0.2.1", "ttl": 3600 }'
Step 5: Get Your API Key
Generate API Key
-
Navigate to Settings
- Click "Settings" in sidebar
- Click "API Keys" tab
-
Create New Key
- Click "Generate API Key"
- Enter a description (e.g., "Production API")
- Copy the key immediately
- Store securely (you won't see it again)
-
Security Best Practices
- Never commit keys to version control
- Use environment variables
- Rotate keys regularly
- Use different keys for dev/production
API Key Format
hd_live_1234567890abcdef1234567890abcdef
Step 6: Make Your First Fraud API Call
Assess a Transaction
// Node.js Example const response = await fetch('https://api.habilisdomains.com/v1/fraud-detection/assess', { method: 'POST', headers: { 'Authorization': 'Bearer YOUR_API_KEY', 'Content-Type': 'application/json' }, body: JSON.stringify({ transactionId: 'txn_12345', transactionType: 'payment', userId: 'user_67890', amount: 99.99, currency: 'USD', paymentMethod: 'credit_card', ipAddress: '192.0.2.1', userAgent: 'Mozilla/5.0...', sessionId: 'sess_abc123' }) }); const result = await response.json(); console.log('Risk Score:', result.riskScore); console.log('Recommendation:', result.recommendation);
Python Example
import requests response = requests.post( 'https://api.habilisdomains.com/v1/fraud-detection/assess', headers={ 'Authorization': 'Bearer YOUR_API_KEY', 'Content-Type': 'application/json' }, json={ 'transactionId': 'txn_12345', 'transactionType': 'payment', 'userId': 'user_67890', 'amount': 99.99, 'currency': 'USD', 'paymentMethod': 'credit_card', 'ipAddress': '192.0.2.1', 'userAgent': 'Mozilla/5.0...', 'sessionId': 'sess_abc123' } ) result = response.json() print(f"Risk Score: {result['riskScore']}") print(f"Recommendation: {result['recommendation']}")
Understanding the Response
{ "transactionId": "txn_12345", "riskScore": 0.23, "recommendation": "allow", "factors": [ "Low risk IP address", "Normal transaction amount", "Verified user" ], "timestamp": "2025-10-01T10:30:00Z" }
Risk Score Ranges:
0.0 - 0.3: Low risk → Allow0.3 - 0.7: Medium risk → Review or require MFA0.7 - 1.0: High risk → Block or manual review
Step 7: Explore the Dashboard
Key Sections
1. Overview
- Account summary
- Recent activity
- Quick actions
2. Domains
- List all domains
- Add/edit/delete domains
- DNS record management
- Domain status
3. Fraud Detection
- API usage statistics
- Recent fraud assessments
- Threat tracking
- Risk score distribution
4. API Keys
- Manage API keys
- View usage per key
- Rotate keys
- Set permissions
5. Settings
- Account information
- Billing details
- Plan management
- Security settings
Common Use Cases
Use Case 1: E-commerce Fraud Prevention
// Check transaction before processing payment async function processPayment(order) { // 1. Assess fraud risk const fraudCheck = await assessTransaction({ transactionId: order.id, transactionType: 'payment', userId: order.userId, amount: order.total, paymentMethod: order.paymentMethod, ipAddress: order.ipAddress }); // 2. Take action based on risk if (fraudCheck.riskScore > 0.7) { // High risk - block transaction return { status: 'blocked', reason: 'High fraud risk' }; } else if (fraudCheck.riskScore > 0.3) { // Medium risk - require additional verification return { status: 'verify', action: 'require_mfa' }; } else { // Low risk - process payment return await processPaymentNormally(order); } }
Use Case 2: Account Registration Protection
// Check new user registration async function registerUser(userData) { // 1. Assess registration risk const fraudCheck = await assessTransaction({ transactionId: `reg_${Date.now()}`, transactionType: 'registration', userId: userData.email, ipAddress: userData.ipAddress, userAgent: userData.userAgent }); // 2. Handle based on risk if (fraudCheck.riskScore > 0.7) { // High risk - require email verification + CAPTCHA return { status: 'pending', verification: 'email_captcha' }; } else { // Normal registration flow return await createUserAccount(userData); } }
Use Case 3: Multi-Domain Management
// Bulk DNS update across domains async function updateDNSRecords(domains, record) { const results = []; for (const domain of domains) { const result = await fetch( `https://api.habilisdomains.com/v1/domains/${domain}/records`, { method: 'POST', headers: { 'Authorization': 'Bearer YOUR_API_KEY', 'Content-Type': 'application/json' }, body: JSON.stringify(record) } ); results.push({ domain, success: result.ok }); } return results; }
Next Steps
Learn More
- [ ] Read the API Documentation
- [ ] Explore FAQ
- [ ] Review Pricing Plans
Advanced Features (Coming Q1 2026)
- [ ] Set up webhook notifications
- [ ] Use SDK libraries
- [ ] Configure bulk operations
- [ ] Access analytics dashboard
Get Help
- Email: sales@habilisdomains.com
- Response time: Within 24 hours
- Coming Q1 2026: AI chatbot, support tickets
Troubleshooting
Domain Not Verifying
Problem: Domain shows "Pending" status
Solutions:
- Verify nameservers are correctly set at registrar
- Wait 15-30 minutes for DNS propagation
- Check for typos in nameserver addresses
- Clear your DNS cache
- Contact support if issue persists
API Authentication Errors
Problem: Getting 401 Unauthorized errors
Solutions:
- Verify API key is correct
- Check Authorization header format:
Bearer YOUR_API_KEY - Ensure key hasn't been revoked
- Generate new key if needed
Rate Limit Exceeded
Problem: Getting 429 Too Many Requests errors
Solutions:
- Check your plan's API limits
- Implement request caching
- Optimize API call frequency
- Upgrade to higher plan
- Contact sales for Enterprise unlimited access
Best Practices
Security
- ✅ Use environment variables for API keys
- ✅ Rotate API keys regularly (every 90 days)
- ✅ Use different keys for dev/production
- ✅ Enable two-factor authentication
- ✅ Monitor API usage for anomalies
Performance
- ✅ Cache DNS lookups when possible
- ✅ Batch API requests when feasible
- ✅ Use appropriate TTL values for DNS
- ✅ Monitor API response times
- ✅ Implement retry logic with exponential backoff
Cost Optimization
- ✅ Start with Starter plan, upgrade as needed
- ✅ Monitor API usage to avoid overages
- ✅ Use annual billing for 17% savings
- ✅ Optimize fraud API calls (cache results)
- ✅ Review usage monthly
Resources
Documentation
Support
- Email: sales@habilisdomains.com
- Response: Within 24 hours
Community
- Feature requests: sales@habilisdomains.com
- Bug reports: sales@habilisdomains.com
Welcome to Habilis Domains! 🚀
We're excited to have you on board. If you have any questions, don't hesitate to reach out.
Last Updated: October 1, 2025
Version: Beta 1.0