Authentication
Getting Started
All API requests require authentication using an API key.
API Key Authentication
Include your API key in the Authorization header of all requests.
Authorization Header
Authorization: Bearer YOUR_API_KEYNote: Replace YOUR_API_KEY with your actual API key. You can generate API keys in your AETHER dashboard.
Endpoints
API Endpoints
Complete reference for all available API endpoints.
GET
/api/v1/robotsList all robots in your fleet
{
"robots": [
{
"id": "robot_001",
"name": "AETHER Prime #1",
"status": "active",
"location": { "x": 100, "y": 200 },
"battery": 85
}
]
}POST
/api/v1/robots/{id}/tasksAssign a new task to a robot
{
"task": {
"id": "task_123",
"robot_id": "robot_001",
"type": "pick_and_place",
"status": "queued",
"created_at": "2024-01-15T10:30:00Z"
}
}GET
/api/v1/robots/{id}/statusGet real-time robot status
{
"robot": {
"id": "robot_001",
"status": "active",
"current_task": "task_123",
"battery": 85,
"location": { "x": 100, "y": 200 }
}
}PUT
/api/v1/robots/{id}/configurationUpdate robot configuration
{
"configuration": {
"robot_id": "robot_001",
"speed": 0.8,
"precision": "high",
"updated_at": "2024-01-15T10:30:00Z"
}
}GET
/api/v1/analytics/performanceRetrieve performance metrics
{
"metrics": {
"total_tasks": 1250,
"success_rate": 99.2,
"avg_completion_time": "4.5h",
"uptime": 98.5
}
}POST
/api/v1/tasks/trainInitiate task training session
{
"training": {
"id": "train_456",
"status": "initiated",
"estimated_duration": "2h",
"started_at": "2024-01-15T10:30:00Z"
}
}SDKs
SDK Examples
Quick start examples for our official SDKs.
JavaScript
const aether = require('aether-sdk');
// Initialize connection
const robot = await aether.connect('ROBOT_ID');
// Get status
const status = await robot.getStatus();
console.log(status);
// Assign task
await robot.assignTask({
type: 'pick_and_place',
location: { x: 100, y: 200 }
});Python
from aether_sdk import Robot
# Initialize connection
robot = Robot('ROBOT_ID')
# Get status
status = robot.get_status()
print(status)
# Assign task
robot.assign_task(
task_type='pick_and_place',
location={'x': 100, 'y': 200}
)C++
#include <aether/robot.h>
int main() {
// Initialize connection
auto robot = aether::Robot("ROBOT_ID");
// Get status
auto status = robot.getStatus();
std::cout << status << std::endl;
// Assign task
robot.assignTask({
.type = "pick_and_place",
.location = {100, 200}
});
return 0;
}Rate Limits
Usage Limits
Standard
100 requests/minute
Default rate limit for all API keys.
Enterprise
1000 requests/minute
Available for enterprise customers.
Custom
Contact sales
Custom limits for high-volume usage.