Jump to content

OperatorAPI ssipdevices:list: Difference between revisions

From Wiki 7Kas
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: <code>{"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?}}</code>.
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