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 server
  • history - 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 rule
  • condition - Alert condition expression
  • severity - 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

Premium Features

Enhanced Capabilities

Advanced Analytics PRO PLAN+

Historical data retention up to 5 years with advanced query capabilities

Custom Alerts TEAM PLAN+

Slack/Teams integration, SMS alerts, and custom notification templates

Multi-Region Monitoring ENTERPRISE

Monitor infrastructure across multiple cloud regions with unified dashboard

Custom Dashboards TEAM PLAN+

Create and share custom monitoring dashboards with team members

API Rate Limit Increase PRO PLAN+

Higher API request limits for high-volume monitoring

Priority Support BUSINESS PLAN+

24/7 priority support with 1-hour response time SLA