Skip to main content
POST
Create a short-lived WiFi configuration grant that authorizes the companion app to configure the device over BLE. The SSID and password travel from the app to the device through the mobile SDK; they are not sent to or stored by the Bota backend. The grant authorizes the write but is not itself an encryption envelope.

Authentication

Requires an API key with devices:write scope.

Path Parameters

string
required
The device’s unique identifier (e.g., dev_abc123).

Request Body

integer
default:900
How long the grant is valid, in seconds. Minimum 60 (1 minute), maximum 3600 (1 hour). Default is 900 (15 minutes).

Response

Returns the grant blob and its expiration timestamp.

Response Fields

Usage Flow

  1. App scans for WiFi networks — the SDK provides scanNetworks() (Android) and getCurrentSSID() (both platforms) so users can pick a network
  2. App requests grant from your backend (this endpoint)
  3. App writes grant_blob to the device’s Bluetooth WiFi Grant characteristic
  4. App passes the SSID and password to the SDK
  5. SDK writes the release-compatible credential packet to the device
  6. Device connects to WiFi and reports status via the Bluetooth WiFi Status characteristic
The React Native SDK provides scanNetworks() for step 1 and handles steps 3-6 automatically via BotaClient.devices.configureWiFi().
Request a fresh grant for each WiFi configuration attempt. Do not implement raw GATT writes: the application-layer packet format is an SDK/firmware compatibility contract and may change between releases.