# Developer Tools & APIs

BotChain provides a set of developer tools and APIs that make it possible to connect devices, retrieve records, and extend the functionality of the network. These tools are designed to be simple for hobbyists while remaining flexible enough for developers building custom robotics integrations.

#### Available Tools

* **Device SDKs**: Libraries for linking robots, drones, and machines to the BotChain Terminal.
* **REST APIs**: Endpoints for submitting events, retrieving logs, and managing devices.
* **Command Interface**: A structured way to send instructions to machines with validation through the blockchain.
* **Data Query Layer**: Allows developers to search and filter uploaded activity records by device, type, or time.

#### Example API Calls

Registering a new device:

```http
POST /api/v1/devices/register
Content-Type: application/json

{
  "device_id": "drone-123",
  "device_type": "quadrotor",
  "owner": "user_wallet_address"
}
```

Uploading an activity log:

```http
POST /api/v1/devices/drone-123/logs
Content-Type: application/json

{
  "event": "flight_completed",
  "timestamp": "2025-09-02T09:30:00Z",
  "location": "25.276987,55.296249"
}
```

Sending a command to a device:

```http
POST /api/v1/devices/drone-123/commands
Content-Type: application/json

{
  "command": "return_to_base",
  "issued_by": "user_wallet_address"
}
```

Retrieving logs for a specific device:

```http
GET /api/v1/devices/drone-123/logs?from=2025-08-01&to=2025-09-01
```

#### Purpose

The developer tools and APIs are not designed to reinvent robotics software. Robots already generate events and respond to commands. BotChain makes these actions easier to access, record, and verify by providing standardized methods for integration.

These resources give both hobbyists and small businesses the ability to build on BotChain without being locked into vendor-specific platforms.
