Download OpenAPI specification:Download
API to fetch device, user, and dog monitoring data of a specific device based on device_id or account_id.
{- "device_id": "123e4567-e89b-12d3-a456-426614174000",
- "model": "ORo",
- "manufacturer": "Ogmen Robotics",
- "os_version": "1.2.3",
- "serial_number": "SN123456789",
- "battery_health": 95,
- "last_restart_time": "2025-01-01T00:00:00Z",
- "secure_enclave_id": "123e4567-e89b-12d3-a456-426614174000",
- "storage_capacity_gb": 256
}{- "storage_id": 50,
- "device_id": "123e4567-e89b-12d3-a456-426614174000",
- "total_storage_gb": 128,
- "available_storage_gb": 64.5,
- "used_storage_gb": 63.5
}{- "network_id": 20,
- "device_id": "123e4567-e89b-12d3-a456-426614174000",
- "ssid": "HomeWiFi",
- "security_protocol": "WPA2",
- "ip_address": "192.168.1.2",
- "mac_address": "1.2.3",
- "is_connected": true,
- "last_connected_at": "2025-01-01T00:00:00Z"
}Retrieves all settings for the specified robot device, including privacy status, volume, brightness, and timestamps.
| device_id required | string <uuid> UUID of the target device |
{- "code": 200,
- "status": "success",
- "message": "Device settings retrieved successfully.",
- "data": {
- "device_id": "3bafab7b-4400-4bcf-8e6e-09f954699940",
- "privacy_status": true,
- "privacy_enabled_by": "string",
- "volume": 0,
- "display_brightness": 0,
- "status_light_brightness": 0,
- "last_device_settings_changed_by": "string",
- "last_device_settings_changed_at": "2019-08-24T14:15:22Z",
- "last_robot_synced_time": "2019-08-24T14:15:22Z"
}
}| device_id required | string <uuid> |
| no_of_activities required | int <int> |
[- {
- "log_id": 1,
- "device_id": "123e4567-e89b-12d3-a456-426614174000",
- "recorded_at": "2025-03-12T12:00:00Z",
- "activity_type": "Movement",
- "description": "Device moved to kitchen",
- "task_id": "123e4567-e89b-12d3-a456-426614174000",
- "triggered_by": "System",
- "user_id": "123e4567-e89b-12d3-a456-426614174000",
- "error_code": "ORoError420",
- "resolved": false
}
]| device_id required | string <uuid> |
| no_of_logs required | int <int> |
[- {
- "code": 200,
- "status": "success",
- "message": "Connectivity logs retrieved successfully.",
- "data": {
- "log_id": 10,
- "device_id": "123e4567-e89b-12d3-a456-426614174000",
- "recorded_at": "2025-03-12T12:05:00Z",
- "connection_status": "Connected",
- "signal_strength": -50,
- "network_type": "WIFI",
- "ip_address": "192.168.1.2",
- "is_synced": true,
- "synced_at": "2025-03-12T12:05:00Z"
}
}
]Retrieve the latest location logs of a device based on its Device ID and no_of_logs. if you just want the latest location, set no_of_logs to 1.
| device_id required | string <uuid> |
| no_of_logs required | int <int> |
{- "code": 200,
- "status": "success",
- "message": "Location logs retrieved successfully.",
- "data": {
- "log_id": 12345,
- "location_id": 600,
- "device_id": "123e4567-e89b-12d3-a456-426614174000",
- "recorded_at": "2025-01-01T00:00:00Z",
- "house_no": 1,
- "room_name": "Living Room",
- "position_x": 12.5,
- "position_y": 8.3,
- "orientation_angle": 45,
- "floor_level": 1,
- "movement_status": "Moving"
}
}| device_id required | string <uuid> |
| no_of_logs required | int <int> |
{- "log_id": 100,
- "device_id": "123e4567-e89b-12d3-a456-426614174000",
- "timestamp": "2025-03-12T12:10:00Z",
- "cpu_usage_percent": 45.6,
- "npu_usage_percent": 45.6,
- "gpu_usage_percent": 45.6,
- "memory_usage_mb": 1024,
- "system_load_avg": 1.57,
- "cpu_temperature": 55,
- "power_state": "Active Mode"
}{- "code": 200,
- "status": "success",
- "message": "Battery status logs retrieved successfully.",
- "data": {
- "device_id": "123e4567-e89b-12d3-a456-426614174000",
- "battery_level": 85,
- "charging_status": "Charging",
- "charging_source": "Wireless",
- "voltage": 27,
- "temperature": 35,
- "last_charging_time": "2025-01-01T00:00:00Z"
}
}Retrieves the current volume setting for the specified robot device.
| device_id required | string <uuid> UUID of the target device |
{- "code": 200,
- "status": "success",
- "message": "Robot volume retrieved successfully.",
- "data": {
- "device_id": "3bafab7b-4400-4bcf-8e6e-09f954699940",
- "volume": 0
}
}Generate a presigned URL for a given S3 object path.
Example input: users_data/12345/photos/afbf86a3.jpg
| s3_path required | string Path to the S3 object key. |
{- "status": "success",
- "s3_path": "users_data/12345/photos/afbf86a3.jpg",
}| account_id required | string |
| device_id required | string <uuid> |
| model required | string |
| manufacturer required | string |
| os_version required | string |
| serial_number required | string |
| battery_health required | integer |
| last_restart_time required | string <date-time> |
| secure_enclave_id required | string <uuid> |
| storage_capacity_gb required | integer |
| registration_key required | string |
{- "device_id": "3bafab7b-4400-4bcf-8e6e-09f954699940",
- "model": "string",
- "manufacturer": "string",
- "os_version": "string",
- "serial_number": "string",
- "battery_health": 0,
- "last_restart_time": "2019-08-24T14:15:22Z",
- "secure_enclave_id": "fd5b08ea-c1b5-4653-82ef-afef8e4ea543",
- "storage_capacity_gb": 0,
- "registration_key": "string"
}{- "registration_id": "7b2966db-5b97-451d-80d4-713d3a44078b",
- "message": "string"
}{- "subscription_id": 500,
- "account_id": "a1b2c3d4-e5f6-7g8h-9i0j-k1l2m3n4o5p6",
- "subscription_plan": "Premium",
- "subscription_status": "Active",
- "start_date": "2025-01-01T00:00:00Z",
- "end_date": "2026-01-01T00:00:00Z",
- "storage_limit_gb": 100,
- "billing_cycle": "Monthly",
- "auto_renewal": true
}Returns User Account Details Associated With the Given Device ID.
| device_id required | string <uuid> Unique identifier of the device |
{- "account_id": "a1b2c3d4-e5f6-7g8h-9i0j-k1l2m3n4o5p6",
- "device_id": "123e4567-e89b-12d3-a456-426614174000",
- "ogmen_id": "OGM123",
- "email": "user@example.com",
- "display_name": "John Doe",
- "password_hash": "Who are you",
- "last_login_time": "2025-03-12T08:00:00Z",
- "two_factor_enabled": true
}Returns user account details associated with the given account ID.
| account_id required | string <uuid> Unique identifier of the user account |
{- "account_id": "a1b2c3d4-e5f6-7g8h-9i0j-k1l2m3n4o5p6",
- "device_id": "123e4567-e89b-12d3-a456-426614174000",
- "ogmen_id": "OGM123",
- "email": "user@example.com",
- "display_name": "John Doe",
- "password_hash": "Who are you",
- "last_login_time": "2025-03-12T08:00:00Z",
- "two_factor_enabled": true
}Returns All Device Records Associated With a Given Account UUID.
| account_id required | string <uuid> Unique identifier of the user account |
[- {
- "device_id": "123e4567-e89b-12d3-a456-426614174000",
- "model": "ORo",
- "manufacturer": "Ogmen Robotics",
- "os_version": "1.2.3",
- "serial_number": "SN123456789",
- "battery_health": 95,
- "last_restart_time": "2025-01-01T00:00:00Z",
- "secure_enclave_id": "123e4567-e89b-12d3-a456-426614174000",
- "storage_capacity_gb": 256
}
]{- "dog_id": "d1234567-e89b-12d3-a456-426614174abc",
- "owner_id": "a1b2c3d4-e5f6-7g8h-9i0j-k1l2m3n4o5p6",
- "name": "Buddy",
- "breed": "Golden Retriever",
- "age": 3,
- "weight": 18,
- "medical_history": { },
- "activity_level": "Low",
- "dietary_preferences": "Grain-Free Kibble",
- "last_updated": "2025-03-12T14:00:00Z"
}If no_of_insights = 10 , it gives the last 10 insights and -1 for all the insights of that specific dog_id
| no_of_insights required | integer |
| dog_id required | string <uuid> |
{- "insight_id": 1000,
- "dog_id": "789e4567-e89b-12d3-a456-426614174000",
- "recorded_at": "2025-03-12T14:00:00Z",
- "activity_detected": "Playing",
- "confidence_score": 0.95,
- "emotion": "Happy",
- "severity_level": "Low",
- "location": "Living Room",
- "description": "Dog was playing with the Human"
}Media for Dog Insight of the specific dog
| dog_id required | uuid |
| insight_id required | integer |
{- "media_id": 2000,
- "insight_id": 1000,
- "media_type": "Video",
- "duration": 15.2,
- "resolution": "1920x1080",
- "file_size_mb": 12.5,
- "recorded_at": "2025-03-12T14:00:00Z"
}| account_id required | string <uuid> ID of the user account |
| pet_name required | string^[A-Za-z ]+$ |
| species required | string (SpeciesEnum) Enum: "Dog" "Cat" "Other" |
| breed | string or null |
| pet_date_of_birth | string or null <date> |
| pet_age | integer or null >= 0 |
| pet_sex required | string (SexEnum) Enum: "Male" "Female" |
| neutered_spayed required | string (NeuteredEnum) Enum: "Yes" "No" "Not Sure" |
| current_weight | number or null >= 0 |
| current_height | string (SizeEnum) Enum: "Small" "Medium" "Large" |
| vaccination_status | string (VaccinationEnum) Enum: "Up-to-date" "Pending" "Not Sure" |
| next_vaccination_due_date | string or null <date> |
| known_medical_conditions | string or null |
| medications | string or null |
| next_medication_due_date | string or null <date> |
| veterinarian_contact | string or null |
| food_type | string or null |
| feeding_times_per_day | integer or null >= 1 |
| portion_size | number or null >= 0 |
| activity_level | string (ActivityEnum) Enum: "Low Energy" "Moderate Energy" "High Energy" |
| daily_exercise_minutes | integer or null >= 0 |
| sleep_routine | string or null |
| living_environment | string (LivingEnvEnum) Enum: "Mostly Indoors" "Indoors + Walks" "Free Roaming" |
| household_members | integer or null >= 0 |
| other_pets_at_home | string or null |
| temperament | string (TemperamentEnum) Enum: "Calm & Gentle" "Playful & Energetic" "Protective / Guarding" "Shy / Reserved" "Anxious / Nervous" |
object or null | |
object or null | |
| play_preferences | Array of strings or null |
| insurance_provider | string or null |
| insurance_renewal_due_date | string or null <date> |
| insurance_policy_number | string or null |
| coverage_type | string (CoverageEnum) Enum: "Accident Only" "Comprehensive" "Wellness Add-on" |
| insurance_validity_start | string or null <date> |
| insurance_validity_end | string or null <date> |
| claim_contact | string or null |
| profile_photo_url | string or null |
| emergency_instructions | string or null |
| special_notes | string or null |
{- "pet_name": "string",
- "species": "Dog",
- "breed": "string",
- "pet_date_of_birth": "2019-08-24",
- "pet_age": 0,
- "pet_sex": "Male",
- "neutered_spayed": "Yes",
- "current_weight": 0,
- "current_height": "Small",
- "vaccination_status": "Up-to-date",
- "next_vaccination_due_date": "2019-08-24",
- "known_medical_conditions": "string",
- "medications": "string",
- "next_medication_due_date": "2019-08-24",
- "veterinarian_contact": "string",
- "food_type": "string",
- "feeding_times_per_day": 1,
- "portion_size": 0,
- "activity_level": "Low Energy",
- "daily_exercise_minutes": 0,
- "sleep_routine": "string",
- "living_environment": "Mostly Indoors",
- "household_members": 0,
- "other_pets_at_home": "string",
- "temperament": "Calm & Gentle",
- "socialization": {
- "property1": 1,
- "property2": 1
}, - "training_obedience": { },
- "play_preferences": [
- "string"
], - "insurance_provider": "string",
- "insurance_renewal_due_date": "2019-08-24",
- "insurance_policy_number": "string",
- "coverage_type": "Accident Only",
- "insurance_validity_start": "2019-08-24",
- "insurance_validity_end": "2019-08-24",
- "claim_contact": "string",
- "profile_photo_url": "string",
- "emergency_instructions": "string",
- "special_notes": "string"
}{- "code": 200,
- "status": "success",
- "message": "Pet profile retrieved successfully",
- "data": {
- "pet_name": "string",
- "species": "Dog",
- "breed": "string",
- "pet_date_of_birth": "2019-08-24",
- "pet_age": 0,
- "pet_sex": "Male",
- "neutered_spayed": "Yes",
- "current_weight": 0,
- "current_height": "Small",
- "vaccination_status": "Up-to-date",
- "next_vaccination_due_date": "2019-08-24",
- "known_medical_conditions": "string",
- "medications": "string",
- "next_medication_due_date": "2019-08-24",
- "veterinarian_contact": "string",
- "food_type": "string",
- "feeding_times_per_day": 1,
- "portion_size": 0,
- "activity_level": "Low Energy",
- "daily_exercise_minutes": 0,
- "sleep_routine": "string",
- "living_environment": "Mostly Indoors",
- "household_members": 0,
- "other_pets_at_home": "string",
- "temperament": "Calm & Gentle",
- "socialization": {
- "property1": 1,
- "property2": 1
}, - "training_obedience": { },
- "play_preferences": [
- "string"
], - "insurance_provider": "string",
- "insurance_renewal_due_date": "2019-08-24",
- "insurance_policy_number": "string",
- "coverage_type": "Accident Only",
- "insurance_validity_start": "2019-08-24",
- "insurance_validity_end": "2019-08-24",
- "claim_contact": "string",
- "profile_photo_url": "string",
- "emergency_instructions": "string",
- "special_notes": "string",
- "pet_id": "91202648-cae1-4884-bcc9-8e968daaf1bb",
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "device_id": "3bafab7b-4400-4bcf-8e6e-09f954699940",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
}| account_id required | string <uuid> ID of the user account |
[- {
- "code": 200,
- "status": "success",
- "message": "Pet profile retrieved successfully",
- "data": {
- "pet_name": "string",
- "species": "Dog",
- "breed": "string",
- "pet_date_of_birth": "2019-08-24",
- "pet_age": 0,
- "pet_sex": "Male",
- "neutered_spayed": "Yes",
- "current_weight": 0,
- "current_height": "Small",
- "vaccination_status": "Up-to-date",
- "next_vaccination_due_date": "2019-08-24",
- "known_medical_conditions": "string",
- "medications": "string",
- "next_medication_due_date": "2019-08-24",
- "veterinarian_contact": "string",
- "food_type": "string",
- "feeding_times_per_day": 1,
- "portion_size": 0,
- "activity_level": "Low Energy",
- "daily_exercise_minutes": 0,
- "sleep_routine": "string",
- "living_environment": "Mostly Indoors",
- "household_members": 0,
- "other_pets_at_home": "string",
- "temperament": "Calm & Gentle",
- "socialization": {
- "property1": 1,
- "property2": 1
}, - "training_obedience": { },
- "play_preferences": [
- "string"
], - "insurance_provider": "string",
- "insurance_renewal_due_date": "2019-08-24",
- "insurance_policy_number": "string",
- "coverage_type": "Accident Only",
- "insurance_validity_start": "2019-08-24",
- "insurance_validity_end": "2019-08-24",
- "claim_contact": "string",
- "profile_photo_url": "string",
- "emergency_instructions": "string",
- "special_notes": "string",
- "pet_id": "91202648-cae1-4884-bcc9-8e968daaf1bb",
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "device_id": "3bafab7b-4400-4bcf-8e6e-09f954699940",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
}
]| pet_id required | string <uuid> |
| allOf | any |
{- "allOf": null
}{- "code": 200,
- "status": "success",
- "message": "Pet profile retrieved successfully",
- "data": {
- "pet_name": "string",
- "species": "Dog",
- "breed": "string",
- "pet_date_of_birth": "2019-08-24",
- "pet_age": 0,
- "pet_sex": "Male",
- "neutered_spayed": "Yes",
- "current_weight": 0,
- "current_height": "Small",
- "vaccination_status": "Up-to-date",
- "next_vaccination_due_date": "2019-08-24",
- "known_medical_conditions": "string",
- "medications": "string",
- "next_medication_due_date": "2019-08-24",
- "veterinarian_contact": "string",
- "food_type": "string",
- "feeding_times_per_day": 1,
- "portion_size": 0,
- "activity_level": "Low Energy",
- "daily_exercise_minutes": 0,
- "sleep_routine": "string",
- "living_environment": "Mostly Indoors",
- "household_members": 0,
- "other_pets_at_home": "string",
- "temperament": "Calm & Gentle",
- "socialization": {
- "property1": 1,
- "property2": 1
}, - "training_obedience": { },
- "play_preferences": [
- "string"
], - "insurance_provider": "string",
- "insurance_renewal_due_date": "2019-08-24",
- "insurance_policy_number": "string",
- "coverage_type": "Accident Only",
- "insurance_validity_start": "2019-08-24",
- "insurance_validity_end": "2019-08-24",
- "claim_contact": "string",
- "profile_photo_url": "string",
- "emergency_instructions": "string",
- "special_notes": "string",
- "pet_id": "91202648-cae1-4884-bcc9-8e968daaf1bb",
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "device_id": "3bafab7b-4400-4bcf-8e6e-09f954699940",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
}{- "code": 200,
- "status": "success",
- "message": "Pet profile retrieved successfully",
- "data": {
- "pet_name": "string",
- "species": "Dog",
- "breed": "string",
- "pet_date_of_birth": "2019-08-24",
- "pet_age": 0,
- "pet_sex": "Male",
- "neutered_spayed": "Yes",
- "current_weight": 0,
- "current_height": "Small",
- "vaccination_status": "Up-to-date",
- "next_vaccination_due_date": "2019-08-24",
- "known_medical_conditions": "string",
- "medications": "string",
- "next_medication_due_date": "2019-08-24",
- "veterinarian_contact": "string",
- "food_type": "string",
- "feeding_times_per_day": 1,
- "portion_size": 0,
- "activity_level": "Low Energy",
- "daily_exercise_minutes": 0,
- "sleep_routine": "string",
- "living_environment": "Mostly Indoors",
- "household_members": 0,
- "other_pets_at_home": "string",
- "temperament": "Calm & Gentle",
- "socialization": {
- "property1": 1,
- "property2": 1
}, - "training_obedience": { },
- "play_preferences": [
- "string"
], - "insurance_provider": "string",
- "insurance_renewal_due_date": "2019-08-24",
- "insurance_policy_number": "string",
- "coverage_type": "Accident Only",
- "insurance_validity_start": "2019-08-24",
- "insurance_validity_end": "2019-08-24",
- "claim_contact": "string",
- "profile_photo_url": "string",
- "emergency_instructions": "string",
- "special_notes": "string",
- "pet_id": "91202648-cae1-4884-bcc9-8e968daaf1bb",
- "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
- "device_id": "3bafab7b-4400-4bcf-8e6e-09f954699940",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
}Sends a command to dispense a specified number of treats from the robot.
| device_id required | string <uuid> Example: 123e4567-e89b-12d3-a456-426614174000 |
| command required | string |
| music_file required | string |
| quantity required | integer [ 1 .. 10 ] Number of treats to dispense. |
| timestamp | string <date-time> |
{- "command": "dispense_treat",
- "music_file": "bell.mp3",
- "quantity": 2,
- "timestamp": "2025-03-12T15:00:00Z"
}{- "code": 200,
- "status": "success",
- "message": "Treats dispensed successfully",
- "data": "null"
}Returns the current treat bin level and last synced time for a given device.
| device_id required | string <uuid> Unique identifier of the device (UUID) |
{- "code": 200,
- "status": "success",
- "message": "Treat bin status retrieved successfully",
- "data": {
- "device_id": "123e4567-e89b-12d3-a456-426614174000",
- "treat_bin_level": 50,
- "last_robot_synced_time": "2025-05-30T14:30:00Z"
}
}Sends a command to throw a ball from the robot at a specified speed and optional play location.
| device_id required | string <uuid> Example: 123e4567-e89b-12d3-a456-426614174000 |
| command required | string |
| speed required | string Enum: "LOW" "MEDIUM" "HIGH" Speed of the ball throw. |
object or null Optional location where the ball should be thrown. If omitted, the robot's current location is used. | |
| timestamp | string <date-time> |
{- "command": "throw_ball",
- "speed": "MEDIUM",
- "play_location": {
- "x": 12.5,
- "y": 8.3,
- "yaw": 45
}, - "timestamp": "2025-03-12T15:10:00Z"
}{- "code": 200,
- "status": "success",
- "message": "Ball thrown successfully",
- "data": {
- "ball_thrown": true,
- "play_location": {
- "x": 12.5,
- "y": 8.3,
- "yaw": 45
}, - "error_message": null,
- "timestamp": "2025-03-12T15:11:00Z"
}
}Sends a command for the robot to navigate to a given x, y, and yaw location.
| device_id required | string <uuid> Example: 123e4567-e89b-12d3-a456-426614174000 |
| command required | string |
required | object |
| timestamp | string <date-time> |
{- "command": "go_to_location",
- "target": {
- "x": 10.5,
- "y": 7.3,
- "yaw": 45
}, - "timestamp": "2025-03-12T16:00:00Z"
}{- "code": 200,
- "status": "success",
- "message": "Go to location command executed successfully",
- "data": {
- "current_position": {
- "x": 10.5,
- "y": 7.3,
- "yaw": 45
}, - "estimated_time": 15,
- "error_message": null,
- "timestamp": "2025-03-12T16:01:00Z"
}
}Sends a command for cancel_go_to_location
| device_id required | string <uuid> Example: 123e4567-e89b-12d3-a456-426614174000 |
{- "code": 200,
- "status": "success",
- "message": "Cancel Go to location command executed successfully"
}Sends a command To Robot for Cancel Docking.
| device_id required | string <uuid> Example: 123e4567-e89b-12d3-a456-426614174000 |
{- "code": 200,
- "status": "success",
- "message": "Cancel Dock command executed successfully"
}Sends a command to set, increase, or decrease the robot's volume.
| device_id required | string <uuid> Example: 123e4567-e89b-12d3-a456-426614174000 |
| command required | string |
| volume_level | integer [ 0 .. 100 ] Desired volume level (0 = mute, 100 = max volume). |
| adjustment | string Enum: "increase" "decrease" "None" Optional parameter to increase or decrease volume by a step.if given none it gonna set the volume |
| timestamp | string <date-time> |
{- "command": "set_volume",
- "volume_level": 50,
- "adjustment": "increase",
- "timestamp": "2025-03-12T16:30:00Z"
}{- "code": 200,
- "status": "SUCCESS",
- "message": "volume updated successfully",
- "data": "null"
}Retrieves the current status light brightness setting for the specified robot device.
| device_id required | string <uuid> UUID of the target device |
{- "code": 200,
- "status": "success",
- "message": "Status light brightness retrieved successfully.",
- "data": {
- "device_id": "3bafab7b-4400-4bcf-8e6e-09f954699940",
- "status_light_brightness": 0
}
}Sends a command to set the robot's body light color, animation, and optionally brightness.
Note: For brightness-only control, use the /body_light_brightness/{device_id} endpoint.
All error responses follow the standard response schema: { code, status, message, data }.
| device_id required | string <uuid> Example: 123e4567-e89b-12d3-a456-426614174000 |
| command required | string |
| color | string^#(?:[0-9a-fA-F]{3}){1,2}$ Hexadecimal color code (e.g., "#FF5733" for orange). |
| brightness | integer [ 0 .. 100 ] Brightness level (0 = off, 100 = full brightness). |
| animation | string |
| strip_number | int To control Brightness of a strip , for setting all the leds consider -1 |
| timestamp | string <date-time> |
{- "command": "set_body_light_animation",
- "color": "#00FF00",
- "brightness": 80,
- "animation": "flow",
- "strip_number": 1,
- "timestamp": "2025-03-12T16:45:00Z"
}{- "code": 200,
- "status": "success",
- "message": "Body light brightness adjusted as requested successfully",
- "data": {
- "current_color": "#00FF00",
- "current_brightness": 80,
- "error_message": null,
- "timestamp": "2025-03-12T16:46:00Z"
}
}Sends a command to set or adjust the brightness level of the robot's body light. For color/animation control, use the /body_light/{device_id} endpoint. All error responses follow the standard response schema: { code, status, message, data }.
| device_id required | string <uuid> Example: 123e4567-e89b-12d3-a456-426614174000 |
| brightness_level required | integer [ 0 .. 100 ] |
| adjustment | string or null Enum: "increase" "decrease" |
{- "brightness_level": 80,
- "adjustment": null
}{- "code": 200,
- "status": "success",
- "message": "Body light brightness adjusted as requested successfully",
- "data": {
- "current_color": "#00FF00",
- "current_brightness": 80,
- "error_message": null,
- "timestamp": "2025-03-12T16:46:00Z"
}
}Retrieves the current display brightness setting for the specified robot device.
| device_id required | string <uuid> UUID of the target device |
{- "code": 200,
- "status": "success",
- "message": "Display brightness retrieved successfully.",
- "data": {
- "device_id": "3bafab7b-4400-4bcf-8e6e-09f954699940",
- "display_brightness": 0
}
}Sends a command to set or adjust the brightness level of the robot's display.
| device_id required | string <uuid> Example: 123e4567-e89b-12d3-a456-426614174000 |
| command required | string |
| brightness_level | integer [ 0 .. 100 ] Desired display brightness level (0 = screen off, 100 = maximum brightness). |
| adjustment | string Enum: "increase" "decrease" "none" Optional parameter to increase or decrease brightness by a step.if given none it will set the brightness to given level |
| timestamp | string <date-time> |
{- "command": "set_display_brightness",
- "brightness_level": 75,
- "adjustment": "INCREASE",
- "timestamp": "2025-03-12T16:55:00Z"
}{- "code": 200,
- "status": "SUCCESS",
- "message": "Display Brightness Adjusted Successfully",
- "data": "null"
}Sends a command to start or stop a demo dance routine on the robot.
| device_id required | string <uuid> Example: 123e4567-e89b-12d3-a456-426614174000 |
| command required | string Enum: "start_dance" "stop_dance" Command to start or stop the demo dance. |
| dance_style | string Enum: "rotate_in_place" "square" "ablity_show" Optional dance style (ignored if stopping). |
| duration | integer Optional duration in seconds (ignored if stopping). |
| timestamp | string <date-time> |
{- "command": "start_dance",
- "dance_style": "rotate_in_place",
- "duration": 30,
- "timestamp": "2025-03-12T17:00:00Z"
}{- "status": "STARTED",
- "current_dance_style": "FREESTYLE",
- "remaining_time": 25,
- "error_message": null,
- "timestamp": "2025-03-12T17:01:00Z"
}This WebSocket connection allows clients to communicate with a specific device_id.
Messages from one client are relayed only to other clients connected to the same device_id.
Currently This Websocket Actively Supports for Data Transfer for following Features
/goal_pose)The WebSocket provides real-time robot data in JSON format, including a topic field (e.g., {"topic": "tf", ...}).
/tf – Message Structure /tf_static – Message Structure /odom – Message Structure /map – Message StructureTo successfully execute a command on the robot, clients must follow these guidelines:
By following these guidelines, clients can ensure successful command execution on the target device.
| device_id required | string <uuid> Example: 123e4567-e89b-12d3-a456-426614174000 Unique identifier for the device channel. |
{- "message": "Websocket Connected Successfully to {device_id}."
}This webhook is triggered when a robot generates an alert due to an event. The robot must send a POST request to this endpoint with the alert details.
| device_id required | string Unique identifier of the robot sending the alert |
| timestamp required | string <date-time> Time stamp representing the exact moment of alert generation. |
| uuid required | string <uuid> Unique identifier for the specific alert instance. |
| source required | string Source of the alert. |
| severity required | integer Enum: 1 2 3 4 5 Severity level of the alert (1: Most Critical, 5: Least Critical). |
| header required | string Brief, high-level description of the notification. |
| body required | string Detailed notification body. |
| action_required | string Additional info for the user regarding the alert. |
| link_for_favicon | string <uri> Link for the favicon or small icon related to the alert. |
| link_for_large_image | string <uri> Link for a large image or gif related to the alert. |
{- "timestamp": "2019-08-24T14:15:22Z",
- "uuid": "095be615-a8ad-4c33-8e9c-c7612fbf6c9f",
- "source": "string",
- "severity": 1,
- "header": "string",
- "body": "string",
- "action_required": "string",
}{- "message": "Alert sent successfully.",
- "acknowledged": true
}Sync API That Sync Data b/w Robot Database (oro_local_db) to Server Database (oro_server_db) .
| device_id required | string <uuid> UUID of the device to sync |
| sync_types | Array of strings List of sync types to request. Allowed values:
|
{- "sync_types": [
- "device_activity"
]
}{- "status": "success",
- "robot_status": "online",
- "synced_at": "2019-08-24T14:15:22Z",
- "response": { }
}| device_id required | string |
| mapping_mode | string Enum: "manual" "autonomous" Mode in which mapping is started. Default is "manual". |
{- "mapping_mode": "manual"
}{- "code": 200,
- "status": "success",
- "message": "Mapping started successfully.",
- "data": {
- "device_id": "device123",
- "map_id": "7f3c9b14-9de1-4d3d-9114-74a5a109a7f9",
- "session_id": "b78e58f2-d11d-4897-8c97-4e1d5373a879",
- "mapping_mode": "manual"
}
}Stops Mapping Session and Either Saves Map or Cancels Map (Delete Map and Its Mapping Sessions)
| device_id required | string |
| action required | string Enum: "save" "cancel" Action to perform when stopping the mapping session. |
{- "action": "save"
}{- "code": 200,
- "status": "success",
- "message": "Mapping stop command (save) sent",
- "data": null
}Sends a command To Robot for Skipping the Frontier i.e specific Region or Avoid Mapping Current Area.
| device_id required | string <uuid> Example: 123e4567-e89b-12d3-a456-426614174000 |
{- "code": 200,
- "status": "success",
- "message": "Skipping Frontier command executed successfully"
}{- "code": 200,
- "status": "success",
- "message": "Map details fetched successfully.",
- "data": {
- "map_id": "09d2b626-2e4e-45ef-a3c4-e6aeb6c83db1",
- "device_id": "3bafab7b-4400-4bcf-8e6e-09f954699940",
- "map_name": "string",
- "description": "string",
- "address": {
- "first_line": "string",
- "second_line": "string",
- "city": "string",
- "pincode": "string",
- "country": "string"
}, - "mode": "trinary",
- "resolution": 0.05,
- "origin": [
- -3.65,
- -3.59,
- 0
], - "negate": 0,
- "occupied_thresh": 0.65,
- "free_thresh": 0.25,
- "created_at": "2019-08-24T14:15:22Z",
- "active_map": true,
- "last_modified_at": "2019-08-24T14:15:22Z",
- "s3_path": "users_data/maps/123e4567-e89b-12d3-a456-426614174000/map.pgm"
}
}| device_id required | string |
| map_id required | string |
| map_id | string <uuid> Unique identifier for the map |
| device_id | string <uuid> Unique identifier for the device |
| map_name | string Name of the map |
| pgm_file | string Link to the pgm file of the map |
| description | string Description of the map |
object Address details for the map | |
| mode | string Enum: "trinary" "scale" "raw" Mode of the map representation (e.g., trinary) |
| resolution | number <float> Map resolution in meters per cell |
| origin | Array of numbers <float> [ items <float > ] Origin of the map in the form [x, y, theta] |
| negate | integer Enum: 0 1 Whether to negate pixel values (0 or 1) |
| occupied_thresh | number <float> Threshold above which cells are considered occupied |
| free_thresh | number <float> Threshold below which cells are considered free |
| created_at | string <date-time> Date and time when the map was created |
| active_map | boolean Whether this map is currently active |
| last_modified_at | string <date-time> Date and time when the map was last modified |
| s3_path | string S3 path where the map files are stored |
{- "map_id": "09d2b626-2e4e-45ef-a3c4-e6aeb6c83db1",
- "device_id": "3bafab7b-4400-4bcf-8e6e-09f954699940",
- "map_name": "string",
- "description": "string",
- "address": {
- "first_line": "string",
- "second_line": "string",
- "city": "string",
- "pincode": "string",
- "country": "string"
}, - "mode": "trinary",
- "resolution": 0.05,
- "origin": [
- -3.65,
- -3.59,
- 0
], - "negate": 0,
- "occupied_thresh": 0.65,
- "free_thresh": 0.25,
- "created_at": "2019-08-24T14:15:22Z",
- "active_map": true,
- "last_modified_at": "2019-08-24T14:15:22Z",
- "s3_path": "users_data/maps/123e4567-e89b-12d3-a456-426614174000/map.pgm"
}{- "code": 200,
- "status": "success",
- "message": "Map 7f3c9b14-9de1-4d3d-9114-74a5a109a7f9 updated successfully",
- "data": [
- "map_name"
]
}Deletes a map along with related sessions and waypoints.
| device_id required | string <uuid> Example: 123e4567-e89b-12d3-a456-426614174000 The ID of the device. |
| map_id required | string <uuid> Example: 7f3c9b14-9de1-4d3d-9114-74a5a109a7f9 The ID of the map to be deleted. |
{- "code": 200,
- "status": "success",
- "message": "Map 7f3c9b14-9de1-4d3d-9114-74a5a109a7f9 and 2 associated session(s) deleted successfully",
- "data": null
}Not Yet Functional
| device_id required | string |
| map_id required | string |
object | |
object |
{- "static": {
- "furniture": [
- {
- "furniture_id": "string",
- "type": "single_chair",
- "position": {
- "x": null,
- "y": null,
- "theta": null
}, - "size": {
- "width": 0,
- "height": 0
}
}
], - "no_go_zones": [
- {
- "zone_id": "string",
- "polygon_coordinates": [
- {
- "x": null,
- "y": null,
- "theta": null
}
]
}
]
}, - "dynamic": {
- "scheduled_no_go_zones": [
- {
- "no_go_zone_id": "string",
- "polygon_coordinates": [
- {
- "x": null,
- "y": null,
- "theta": null
}
], - "zone_type": "time_based",
- "time_based_zone": {
- "active_time_range": "string",
- "active_days": [
- "Monday"
], - "recurring_event": true
}, - "allow_robot_override_no_go_zone": true,
- "override_conditions": [
- "dog_in_danger"
]
}
]
}
}{- "code": 200,
- "status": "success",
- "message": "Layers added successfully.",
- "data": null
}{- "code": 200,
- "status": "success",
- "message": "Layers fetched successfully.",
- "data": {
- "static": {
- "furniture": [
- {
- "furniture_id": "string",
- "type": "single_chair",
- "position": {
- "x": null,
- "y": null,
- "theta": null
}, - "size": {
- "width": 0,
- "height": 0
}
}
], - "no_go_zones": [
- {
- "zone_id": "string",
- "polygon_coordinates": [
- {
- "x": null,
- "y": null,
- "theta": null
}
]
}
]
}, - "dynamic": {
- "scheduled_no_go_zones": [
- {
- "no_go_zone_id": "string",
- "polygon_coordinates": [
- {
- "x": null,
- "y": null,
- "theta": null
}
], - "zone_type": "time_based",
- "time_based_zone": {
- "active_time_range": "string",
- "active_days": [
- "Monday"
], - "recurring_event": true
}, - "allow_robot_override_no_go_zone": true,
- "override_conditions": [
- "dog_in_danger"
]
}
]
}
}
}{- "code": 200,
- "status": "success",
- "message": "Waypoints fetched successfully.",
- "data": [
- {
- "waypoint_name": "WP1",
- "position": {
- "x": 1.23,
- "y": 4.56,
- "theta": 0
}, - "description": "Main entrance"
}
]
}This Endpoint Can be only be used to Add a New Waypoint/Waypoints or Update a Existing Waypoint/Waypoints. For Deleting a waypoint Refer Delete /maps/{device_id}/{map_id}/waypoints/{waypoint_name}
| device_id required | string |
| map_id required | string |
Array of objects (Waypoint) |
{- "waypoints": [
- {
- "waypoint_name": "string",
- "position": {
- "x": null,
- "y": null,
- "theta": null
}, - "description": "string"
}
]
}{- "code": 200,
- "status": "success",
- "message": "2 new and 1 existing waypoint(s) processed successfully",
- "data": {
- "inserted": 2,
- "updated": 1
}
}Delete a specific waypoint by its name
| device_id required | string |
| map_id required | string |
| waypoint_name required | string Name of the waypoint to delete |
{- "code": 200,
- "status": "success",
- "message": "Waypoint 'WP1' deleted successfully",
- "data": null
}{- "code": 200,
- "status": "success",
- "message": "Maps fetched successfully.",
- "data": [
- {
- "map_id": "09d2b626-2e4e-45ef-a3c4-e6aeb6c83db1",
- "device_id": "3bafab7b-4400-4bcf-8e6e-09f954699940",
- "map_name": "string",
- "description": "string",
- "address": {
- "first_line": "string",
- "second_line": "string",
- "city": "string",
- "pincode": "string",
- "country": "string"
}, - "mode": "trinary",
- "resolution": 0.05,
- "origin": [
- -3.65,
- -3.59,
- 0
], - "negate": 0,
- "occupied_thresh": 0.65,
- "free_thresh": 0.25,
- "created_at": "2019-08-24T14:15:22Z",
- "active_map": true,
- "last_modified_at": "2019-08-24T14:15:22Z",
- "s3_path": "users_data/maps/123e4567-e89b-12d3-a456-426614174000/map.pgm"
}
]
}Retrieves the currently active map for the specified device.
| device_id required | string <uuid> UUID of the target device |
{- "code": 200,
- "status": "success",
- "message": "Active map fetched successfully.",
- "data": {
- "map_id": "09d2b626-2e4e-45ef-a3c4-e6aeb6c83db1",
- "device_id": "3bafab7b-4400-4bcf-8e6e-09f954699940",
- "map_name": "string",
- "description": "string",
- "address": {
- "first_line": "string",
- "second_line": "string",
- "city": "string",
- "pincode": "string",
- "country": "string"
}, - "mode": "trinary",
- "resolution": 0.05,
- "origin": [
- -3.65,
- -3.59,
- 0
], - "negate": 0,
- "occupied_thresh": 0.65,
- "free_thresh": 0.25,
- "created_at": "2019-08-24T14:15:22Z",
- "active_map": true,
- "last_modified_at": "2019-08-24T14:15:22Z",
- "s3_path": "users_data/maps/123e4567-e89b-12d3-a456-426614174000/map.pgm"
}
}Retrieves all waypoints for the active map of the specified device.
| device_id required | string <uuid> UUID of the target device |
{- "code": 200,
- "status": "success",
- "message": "Active map waypoints fetched successfully.",
- "data": [
- {
- "waypoint_name": "string",
- "position": {
- "x": null,
- "y": null,
- "theta": null
}, - "description": "string"
}
]
}Sets the specified map as the active map for the given device. Only one map can be active at a time per device.
| device_id required | string <uuid> UUID of the target device |
| map_id required | string <uuid> UUID of the map to set as active |
{- "code": 200,
- "status": "success",
- "message": "Map {map_id} set as active for device {device_id}",
- "data": {
- "map_id": "09d2b626-2e4e-45ef-a3c4-e6aeb6c83db1"
}
}Sends a command to a connected robot device via WebSocket to enable or disable privacy mode. Supports optional duration for enabling privacy mode. Waits for a response from the robot or times out after 10 seconds.
| device_id required | string <uuid> UUID of the target device |
| action required | string Enum: "enable_privacy" "disable_privacy" Whether to enable or disable privacy mode. |
| keep_until_disabled | boolean Whether to keep privacy mode on until manually disabled. |
| duration_minutes | integer Duration to keep privacy mode on, in minutes. |
{- "action": "enable_privacy",
- "keep_until_disabled": true,
- "duration_minutes": 30
}{- "code": 200,
- "status": "success",
- "message": "Privacy mode control command executed successfully",
- "data": "null"
}Fetches the privacy mode status of the robot device from the server database based on the device_id.
| device_id required | string <uuid> UUID of the target device |
{- "code": 200,
- "status": "success",
- "message": "Privacy mode status retrieved successfully",
- "data": {
- "command": "string",
- "privacy_mode_enabled": true,
- "privacy_mode_enabled_at": "2019-08-24T14:15:22Z",
- "privacy_mode_enabled_by": "MAPP",
- "privacy_mode_disabled_at": "2019-08-24T14:15:22Z",
- "privacy_mode_disabled_by": "MAPP",
- "privacy_keep_until_disabled": true
}
}Sends a command to a connected robot device via WebSocket to capture media (photo, video, or audio) and upload it to the S3 Bucket. The robot must be connected via WebSocket. The media_type must be one of: photo, video, audio.
| device_id required | string <uuid> UUID of the target device |
| media_type required | string Enum: "photo" "video" "audio" Type of media to capture photo, video, or audio |
{- "media_type": "photo"
}{- "code": 200,
- "status": "success",
- "message": "Photo captured and uploaded successfully.",
- "data": { }
}Sends a command to a connected robot device via WebSocket to capture a home page photo. Waits for a photo in base64 format and returns it as a JPEG image stream.
| device_uuid required | string <uuid> UUID of the target device |
{- "detail": "HTTP ERROR EXCEPTION HANDLED IN SERVER."
}This endpoint can be used to control the camera head of the device.
All responses (success and error) use the standard response schema: { code, status, message, data }.
| device_id required | string |
| command | string |
| direction required | string Enum: "Clockwise" "Anticlockwise" "Home" Control Cam Head. |
{- "command": "control_camera_head",
- "direction": "Home"
}{- "code": 200,
- "status": "success",
- "message": "Camera head control command executed successfully.",
- "data": { }
}Retrieve the latest cam head module status for a specific device.
| device_id required | string |
{- "code": 200,
- "status": "success",
- "message": "Cam head module status retrieved successfully.",
- "data": {
- "device_id": "efa102d9-af91-440e-9ad7-c4df344d7131",
- "status": "OK",
- "cam_head_position": 45,
- "shutter_status": true,
- "last_cam_head_rotated_time": "2025-06-21T10:00:00Z",
- "last_robot_synced_time": "2025-06-21T10:05:00Z"
}
}