Getting Started
Quick Start Guide
1. Create Account
Currently disabled due to Abuse | Please Login using the default portal
Start by creating your free account:
curl -X POST https://api.birdo.uk/v1/signup \
-H "Content-Type: application/json" \
-d '{"email": "your@email.com", "password": "securepassword"}'
2. Get API Key
Retrieve your API key from the dashboard:
const API_KEY = 'your_api_key_here';
3. Send First Metrics
Example Node.js monitoring agent:
const monitor = require('@birdo-dashboard/client');
monitor.init({
apiKey: API_KEY,
serverName: 'production-web-01',
interval: 5000
});
Installation
Installation Methods
Node.js Package
Install via npm:
npm install @birdo-dashboard/client
Docker Container
Run our pre-configured Docker image:
docker run -d \
-e API_KEY=your_api_key \
-v /path/to/config:/config \
birdo/dashboard-agent:latest
Manual Installation
Download and configure manually:
# Download the latest release
wget https://downloads.birdo.uk/latest/birdo-agent.tar.gz
# Extract and install
tar -xzf birdo-agent.tar.gz
cd birdo-agent
./install.sh
API Reference
Core API Endpoints
GET
/api/v1/metrics/{serverName}
Retrieve real-time metrics for a specific server
Parameters
serverName
- Name of the registered serverhistory
- Optional. Number of data points to return (max: 100)
curl -X GET \
-H "Authorization: Bearer $API_KEY" \
https://api.birdo.uk/v1/metrics/production-web-01
const response = await fetch(
'https://api.birdo.uk/v1/metrics/production-web-01',
{
headers: {
'Authorization': `Bearer ${API_KEY}`
}
}
);
import requests
response = requests.get(
'https://api.birdo.uk/v1/metrics/production-web-01',
headers={'Authorization': f'Bearer {API_KEY}'}
)
Response Sample
{
"server": "production-web-01",
"status": "online",
"metrics": {
"cpu": 24.5,
"memory": 68.3,
"network": {
"in": 145.6,
"out": 89.4
},
"timestamp": "2024-02-20T14:35:00Z"
}
}
POST
/api/v1/alerts
Create a new alert rule
Request Body
name
- Name of the alert rulecondition
- Alert condition expressionseverity
- Alert severity level (info, warning, critical)
curl -X POST \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{"name": "High CPU", "condition": "cpu > 90", "severity": "critical"}' \
https://api.birdo.uk/v1/alerts
const response = await fetch(
'https://api.birdo.uk/v1/alerts',
{
method: 'POST',
headers: {
'Authorization': `Bearer ${API_KEY}`,
'Content-Type': 'application/json'
},
body: JSON.stringify({
name: 'High CPU',
condition: 'cpu > 90',
severity: 'critical'
})
}
);
WebSocket API
Real-Time Data Streaming
Connect to our WebSocket endpoint for real-time updates:
const socket = new WebSocket('wss://api.birdo.uk/v1/realtime');
socket.addEventListener('open', () => {
socket.send(JSON.stringify({
type: 'auth',
apiKey: API_KEY,
serverName: 'production-web-01'
}));
});
socket.addEventListener('message', event => {
const data = JSON.parse(event.data);
// Handle real-time metrics
});
⚠️ Important Security Notes
- Always use wss:// protocol for secure connections
- Rotate API keys regularly via the dashboard
- Enable 2FA for production accounts
- Implement reconnection logic in your client