0x0xBS Docs

Discover devices

One unauthenticated call tells an agent everything it needs to build a request.

Endpoint

GET https://device-controller.0xbs.org/public/device/{deviceId}

Unauthenticated and CORS-open, so agents (and browsers) can call it directly. It returns only non-sensitive data — never the connectorId, API keys, wallet addresses, or password hashes.

Response

{
  "device": {
    "id": "f7d0d122-…",            // public deviceId
    "title": "Warehouse HVAC gateway",
    "description": "Controls per-room climate on floors 1–8",
    "services": [
      {
        "id": "455e8ec1-…",         // serviceId
        "title": "Set room temperature",
        "description": "Sets the target temperature for a room",
        "serviceType": "PAID",      // FREE | PAID
        "paid": true,
        "payoutChain": "BASE",      // payout wallet family (BASE | SOLANA)
        "passwordProtected": false,
        "call": {
          "method": "POST",
          "path": "/quote/device/f7d0d122-…/service/455e8ec1-…"
        },
        "arguments": [
          { "name": "room",  "type": "string",  "required": true,  "description": "Room number" },
          { "name": "floor", "type": "string",  "required": true,  "description": "Floor number" },
          { "name": "celsius","type": "number", "required": false, "description": "Target °C (default 21)" }
        ]
      }
    ]
  }
}

Building your call

  • Every service lists its arguments: name, type (string / number / boolean), required, and a humandescription.
  • Fill matching values into params when you call the service.
  • passwordProtected services are listed too — you just also need credentials to call them.
Next: Call a service.