1 USD ≈ 27,000 credits · display only
Reference rate may change over time.
1 USD ≈ 27,000 credits · display only
Reference rate may change over time.
The dealer Account → Devices screen lists browser sessions tied to the signed-in user. Integrators call the same upstream path with the user access_token and action list, register, rename, or disable.
Use your registration domain in the form body — not the API hostname.
Playground & Profile
Playground — Home feed → Platform → Session devices when running npm run docs:stack. Profile → Account shows a short device list when signed in (list / disable — no rename in the UI yet).
POST https://api.gommo.net/api/v2/devices
Content-Type: application/x-www-form-urlencoded
| Field | Required | Notes |
|---|---|---|
access_token | yes | User session token |
domain | yes | Registration domain |
action | yes | register | list | rename | disable |
device_id | varies | Browser/session UUID; rename/disable target (not id_base) |
device_name | rename | New label for the target row |
device_info | optional | JSON string (browser metadata) |
current_device_id | list/register | This browser’s session id (dealer UI sends on list) |
language | optional | e.g. EN, VI |
PowerShell (list — replace domain; use a real token only in a secure session):
$domain = $env:GOMMO_API_DOMAIN
if (-not $domain) { throw 'Set GOMMO_API_DOMAIN to your registration domain' }
$h = @{ 'Content-Type' = 'application/x-www-form-urlencoded' }
$body = "access_token=$env:TOKEN&domain=$domain&action=list&language=EN¤t_device_id=$env:DEVICE_ID&device_id=$env:DEVICE_ID&device_name=Browser%201"
Invoke-RestMethod -Method Post -Uri 'https://api.gommo.net/api/v2/devices' -Headers $h -Body $bodycurl.exe (list):
curl.exe -X POST "https://api.gommo.net/api/v2/devices" ^
-H "Content-Type: application/x-www-form-urlencoded" ^
--data-urlencode "access_token=%TOKEN%" ^
--data-urlencode "domain=%REGISTRATION_DOMAIN%" ^
--data-urlencode "action=list" ^
--data-urlencode "language=EN" ^
--data-urlencode "current_device_id=%DEVICE_ID%" ^
--data-urlencode "device_id=%DEVICE_ID%" ^
--data-urlencode "device_name=Browser 1"Typical success body:
{
"success": true,
"message": "OK",
"data": {
"items": [
{
"id_base": "03883f3e0cbb4aaa",
"device_id": "550e8400-e29b-41d4-a716-446655440000",
"device_name": "Browser 1",
"status": "active",
"is_current": true,
"browser_name": "Chrome",
"os_name": "Windows",
"last_seen_at": 1789442037
}
],
"current_device_id": "550e8400-e29b-41d4-a716-446655440000"
}
}register, rename, and disable usually return { success, data: { …single device row… } }.
| Row state | Badge | Actions |
|---|---|---|
is_current | Current | Rename only |
status === 'active' and not current | Inactive | Rename, Disable |
status === 'disabled' | Disabled | No disable button |
Disable and rename always target form field device_id (UUID from the list), not id_base.
POST {gateway}/gateway/devices — Bearer required; JSON body:
{
"action": "list",
"language": "EN",
"current_device_id": "550e8400-e29b-41d4-a716-446655440000",
"device_id": "550e8400-e29b-41d4-a716-446655440000",
"device_name": "Browser 1",
"device_info": "{\"device_type\":\"desktop\"}"
}For rename / disable, set "action" and "device_id" to the target session UUID. Gateway fills access_token and domain from Bearer + tenant. Omitted device_* on the gateway may be filled from server defaults when absent; Playground sends browser device fields.
{ success, message?, data }).{ success: false, message, … } with HTTP 4xx.OpenAPI: openapi.yaml — /gateway/devices.
SDK: @ai-gateway/client — auth.listDevices(), auth.registerDevice(), auth.renameDevice(), auth.disableDevice(). See SDK authentication.
→ Support tickets · Partner program · Creator rewards · Change password · Transfer credits · Transaction history · Endpoint map · Deploy → Self-host (advanced)