OperatorAPI ssipdevices:list: Difference between revisions
Operator API reference (generated from func=help) |
Operator API reference: multi-line response shape |
||
| Line 15: | Line 15: | ||
== Response == | == Response == | ||
Success is <code>{"ok":true,"data":{...}}</code>; on refusal <code>{"ok":false,"code":"...","message":"..."}</code>. This function's data shape: < | Success is <code>{"ok":true,"data":{...}}</code>; on refusal <code>{"ok":false,"code":"...","message":"..."}</code>. This function's data shape (<code>n</code> = number, <code>s</code> = string, <code>?</code> = present only when set): | ||
<pre> | |||
{ | |||
"ok":true, | |||
"data":{ | |||
"rows":[ | |||
{ | |||
"id":n, | |||
"root":n, | |||
"accountcode_name":s, | |||
"mac":s, | |||
"maked":s(ISO-8601, naive), | |||
"firstuse":s(ISO-8601, naive), | |||
"last_boot":s(ISO-8601, naive), | |||
"last_contact":s(ISO-8601, naive), | |||
"lastuse_date":s(ISO-8601, naive), | |||
"release":n, | |||
"revision":n, | |||
"vtunservername":s, | |||
"vtunaddr":s, | |||
"remoteipv4":s, | |||
"online":s, | |||
"uptime":s, | |||
"disable":s, | |||
"checkfs":s, | |||
"tobill":s, | |||
"nota":s | |||
} | |||
], | |||
"page":n, | |||
"pagesize":n, | |||
"fields":[ | |||
s | |||
], | |||
"available":[ | |||
s | |||
], | |||
"order":s, | |||
"dir":s, | |||
"filterby":s?, | |||
"filter":s? | |||
} | |||
} | |||
</pre> | |||
== Errors == | == Errors == | ||
Latest revision as of 08:28, 19 August 2026
newadmapi (Operator API) function. Available to: Operator, SuperRoot.
Description
Lists the SecureSIP devices. BOTH AUDIENCES, SPLIT BY SCOPE as the two adm applications are: the super tree's globallock is 1=1 so root 0 sees ALL devices across every root - console's own sentence - while the operator sees only their own. The super additionally reassigns a device's root and VTUN server; the operator's form has neither field. INSERT and DELETE are OFF for everyone because view_ssip_devices ACCEPTS NEITHER - one INSTEAD UPDATE rule, no insert or delete rule, proven by attempt and rollback - so the super tree's add/delete buttons are broken controls, not withheld capability. lastuse_date is READ-ONLY: the legacy offers it, the view rule DISCARDS it, and the write reports success while changing nothing - proven by execution. Paginated. Sorting and searching are restricted to the declared fields; anything else is rejected and named. Read audience is provisional pending operator confirmation.
Call
GET|POST https://YOUR_HOST:9089/newadm?func=ssipdevices:list
Send your API key with every request (header X-API-Key: YOUR_KEY, or Authorization: Bearer YOUR_KEY, or the ukey query parameter).
Parameters
None beyond the API key and func=ssipdevices:list.
Example
https://host:port/newadm?func=ssipdevices:list
Response
Success is {"ok":true,"data":{...}}; on refusal {"ok":false,"code":"...","message":"..."}. This function's data shape (n = number, s = string, ? = present only when set):
{
"ok":true,
"data":{
"rows":[
{
"id":n,
"root":n,
"accountcode_name":s,
"mac":s,
"maked":s(ISO-8601, naive),
"firstuse":s(ISO-8601, naive),
"last_boot":s(ISO-8601, naive),
"last_contact":s(ISO-8601, naive),
"lastuse_date":s(ISO-8601, naive),
"release":n,
"revision":n,
"vtunservername":s,
"vtunaddr":s,
"remoteipv4":s,
"online":s,
"uptime":s,
"disable":s,
"checkfs":s,
"tobill":s,
"nota":s
}
],
"page":n,
"pagesize":n,
"fields":[
s
],
"available":[
s
],
"order":s,
"dir":s,
"filterby":s?,
"filter":s?
}
}
Errors
Refusals carry a machine-readable code (branch on the code, never the message). See OperatorAPI#Error codes.
Back to OperatorAPI