Jump to content

OperatorAPI session:menu

From Wiki 7Kas
Revision as of 08:28, 19 August 2026 by Maintenance script (talk | contribs) (Operator API reference: multi-line response shape)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

newadmapi (Operator API) function. Available to: Operator, SuperRoot.

Description

The menu this operator may see, NESTED as the legacy renders it: the rows of web_menus for their root, filtered by their groups, built into containers and leaves. A leaf carries served=true and the func to call when this API serves that section, and served=false with func=null when it does not - drawn but not navigable, so the panel shows the whole old menu without offering a route that would refuse. Presentation only: every route authorizes independently, so a section absent here is refused by the route as well, not merely unlisted.

Call

GET|POST https://YOUR_HOST:9089/newadm?func=session:menu

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=session:menu.

Example

https://host:port/newadm?func=session:menu

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":{
    "operator":{
      "accountcode":s,
      "name":s,
      "groups":[
        s
      ],
      "readonly":b
    },
    "menu":[
      {
        "id":n,
        "title":s,
        "icon":s,
        "detail":s,
        "children":[
          ...
        ]
      }|{
        "id":n,
        "title":s,
        "icon":s,
        "detail":s,
        "section":s,
        "served":b,
        "func":s|null,
        "write":{
          "add":b,
          "edit":b,
          "delete":b
        }
      }
    ],
    "progress":{
      "sections":n,
      "served":n
    }
  }
}

Errors

Refusals carry a machine-readable code (branch on the code, never the message). See OperatorAPI#Error codes.


Back to OperatorAPI