Service Overview
Base URLs
| Service | Base URL | Description |
| Main | https://raya.li | Main website and tools directory |
| Monitor | https://raya.li/monitor | Server monitoring dashboard |
| DNS | https://dns.raya.li | DNS management interface |
| IP Lookup | https://ip.raya.li | IP geolocation and threat intel |
| WHOIS | https://whois.raya.li | Domain WHOIS lookup |
| Mail | https://raya.li/mail | Mail server management |
| Webmail | https://webmail.raya.li | Roundcube webmail |
| Port Checker | https://ports.raya.li | Port scanning service |
Authentication
Most endpoints require authentication via:
- Bearer Token:
Authorization: Bearer <token>
- Cookie:
token=<token>
Obtain a token via POST /monitor/api/auth/login
Monitor API
GET
/monitor/api/servers
Auth Required
List all monitored servers with current status.
Response
{
"servers": [
{
"id": "server-id",
"name": "Server Name",
"hostname": "server.hostname.com",
"status": "online|offline|warning",
"last_seen": "2026-02-04T21:30:00Z",
"metrics": {
"cpu": 45.2,
"memory": 67.5,
"disk": 82.1
}
}
]
}
GET
/monitor/api/servers/{id}
Auth Required
Get detailed information about a specific server.
Parameters
| Name | Type | Required | Description |
| id | string | Yes | Server ID |
GET
/monitor/api/metrics
Auth Required
Get metrics for all servers or a specific server.
Query Parameters
| Name | Type | Required | Description |
| server_id | string | No | Filter by server ID |
| hours | integer | No | Hours of history (default: 24) |
GET
/monitor/api/alerts
Auth Required
Get active and historical alerts.
POST
/monitor/api/servers
Auth Required
Register a new server for monitoring.
DNS API
GET
/api/dns/zones
Auth Required
List all DNS zones managed via Cloudflare.
GET
/api/dns/zones/{zone_id}/records
Auth Required
List all DNS records for a zone.
POST
/api/dns/zones/{zone_id}/records
Auth Required
Create a new DNS record.
Request Body
{
"type": "A",
"name": "subdomain",
"content": "1.2.3.4",
"ttl": 1,
"proxied": false
}
PUT
/api/dns/zones/{zone_id}/records/{record_id}
Auth Required
Update an existing DNS record.
DELETE
/api/dns/zones/{zone_id}/records/{record_id}
Auth Required
Local DNS Server API
GET
/monitor/api/dns/local/zones
Auth Required
List local BIND9 DNS zones.
Mail API
GET
/mail/api/status
Auth Required
Get mail server status (Postfix, Dovecot, OpenDKIM).
{
"postfix": true,
"dovecot": true,
"dkim": true,
"host": "54.253.254.188"
}
GET
/mail/api/users
Auth Required
POST
/mail/api/users
Auth Required
Create a new mail user.
Request Body
{
"username": "john",
"domain": "raya.li",
"password": "securepassword",
"display_name": "John Doe",
"quota": 1024
}
PUT
/mail/api/users/{username}/password
Auth Required
DELETE
/mail/api/users/{username}
Auth Required
GET
/mail/api/aliases
Auth Required
POST
/mail/api/aliases
Auth Required
Create an email alias.
Request Body
{
"source": "support@raya.li",
"destination": "admin@raya.li"
}
DELETE
/mail/api/aliases/{source}
Auth Required
POST
ip.raya.li/api/ip/bulk
Public
Bulk IP lookup (up to 100 IPs).
WHOIS Lookup
GET
whois.raya.li/api/whois/{domain}
Public
Get WHOIS information for a domain.
Port Checker
POST
ports.raya.li/ports/api/scan
Public
Scan ports on a target host.
Request Body
{
"target": "example.com",
"ports": [80, 443, 22],
"scan_type": "common|single|range|full"
}
GET
ports.raya.li/ports/api/check
Public
Check a single port.
Query Parameters
| Name | Type | Required | Description |
| target | string | Yes | Target host |
| port | integer | Yes | Port number |
Authentication API
POST
/monitor/api/auth/login
Public
Authenticate and receive a JWT token.
Request Body
{
"username": "admin",
"password": "yourpassword"
}
Response
{
"token": "eyJhbGciOiJIUzI1NiIs...",
"user": {
"id": 1,
"username": "admin",
"email": "admin@raya.li",
"role": "admin"
}
}
POST
/monitor/api/auth/logout
Auth Required
Invalidate the current token.
GET
/monitor/api/auth/me
Auth Required
Get current user information.
POST
/monitor/api/auth/2fa/setup
Auth Required
Set up two-factor authentication.