Jump to content

TuCloudAPI setprofileapps: Difference between revisions

From Wiki 7Kas
API docs (generated from func=help) — add #50 security profiles/ACL
 
TuCloudAPI reference (generated from func=help; ringinuse 2026-10-31)
 
(4 intermediate revisions by the same user not shown)
Line 1: Line 1:
''TuCloudAPI function to manage tucloud (PBX) services. Available to: '''SuperRoot, Operator, Client'''.''
''TuCloudAPI function to manage FuturePBX (the cloud PBX). Available to: '''SuperRoot, Operator, Client'''.''
 
{{Note|1=Requires the <code>pbx</code> parameter (the PBX '''name''', e.g. <code>tucall</code>). The server verifies that your <code>ukey</code>'s own account owns that PBX, whatever its role; otherwise, and also for a PBX that does not exist, it returns <code>{"ok":false,"code":"forbidden"}</code>.}}


== Description ==
== Description ==
Bulk-save a profile's permission matrix in one call (the primary matrix write). matrix = a JSON array of {app_name, access, insert, delete, update, export, print} (flags 0/1). app_type-irrelevant privileges are normalised to 0 server-side; unknown app_names are ignored. Send via POST body for the full grid. not_found if the profile is not in this PBX. Requires a non-readonly ukey.
RETIRED 2026-10-31 (operator: the legacy matrix is never altered again). Always answers {ok:false, code:retired}; use setprofilesections. Former behaviour: Bulk-save a profile's FULL permission matrix in one call (the primary matrix write). matrix = a JSON array of {app_name, access, insert, delete, update, export, print} (flags 0/1) that MUST cover every catalog app — an incomplete or empty matrix is rejected (invalid_param), so a partial body can never leave stale permissions; extra unknown app_names are ignored. app_type-irrelevant privileges are normalised to 0 server-side. Send via POST body. not_found if the profile is not in this PBX. Requires a non-readonly ukey.


== Call ==
== Call ==
GET https://tucloudapi.7kas.com:9087/tucloud?func=setprofileapps&ukey=YOUR_KEY
  https://tucloudapi.7kas.com:9087/tucloud?func=setprofileapps&ukey=YOUR_KEY&pbx=PBX_NAME
Requires the <code>ukey</code> parameter.
GET, or POST with the parameters form-urlencoded in the body. Requires the <code>ukey</code> parameter. Always HTTP 200; the response is a JSON envelope.


== Parameters ==
== Parameters ==
Line 12: Line 14:
! Parameter !! Type !! Required !! Default !! Meaning
! Parameter !! Type !! Required !! Default !! Meaning
|-
|-
| <code>pbx</code> || string || Yes || — || TuCloud PBX NAME (e.g. tucall). The (ukey, pbx) pair is the tenant boundary; the server verifies the ukey owns this PBX and scopes every profile to it.
| <code>pbx</code> || string || Yes || — || FuturePBX NAME (e.g. tucall). The (ukey, pbx) pair is the tenant boundary; the server verifies the ukey owns this PBX and scopes every profile to it.
|-
|-
| <code>group</code> || integer || Yes || — || Profile id (_id).
| <code>group</code> || integer || Yes || — || Profile id (_id).
Line 23: Line 25:
== Response ==
== Response ==
{ok, apps:[...]} or {ok:false,code:not_found|invalid_param}.
{ok, apps:[...]} or {ok:false,code:not_found|invalid_param}.
== Errors ==
Always HTTP 200. On failure the body is <code>{"ok":false,"code":"...","message":"..."}</code>. Common codes: <code>missing_pbx</code>, <code>forbidden</code>, <code>invalid_param</code>, <code>not_found</code>, <code>conflict</code>, <code>in_use</code>, <code>db_error</code>, <code>server_busy</code>; the Response section above lists any specific to this function.


----
----
Back to [[TuCloudAPI]]
Back to [[TuCloudAPI]]
[[Category:TuCloudAPI SuperRoot]][[Category:TuCloudAPI Operator]][[Category:TuCloudAPI Client]][[Category:TuCloudAPI]]
[[Category:TuCloudAPI SuperRoot]][[Category:TuCloudAPI Operator]][[Category:TuCloudAPI Client]][[Category:TuCloudAPI]]

Latest revision as of 11:48, 31 October 2026

TuCloudAPI function to manage FuturePBX (the cloud PBX). Available to: SuperRoot, Operator, Client.

ℹ Requires the pbx parameter (the PBX name, e.g. tucall). The server verifies that your ukey's own account owns that PBX, whatever its role; otherwise, and also for a PBX that does not exist, it returns {"ok":false,"code":"forbidden"}.

Description

RETIRED 2026-10-31 (operator: the legacy matrix is never altered again). Always answers {ok:false, code:retired}; use setprofilesections. Former behaviour: Bulk-save a profile's FULL permission matrix in one call (the primary matrix write). matrix = a JSON array of {app_name, access, insert, delete, update, export, print} (flags 0/1) that MUST cover every catalog app — an incomplete or empty matrix is rejected (invalid_param), so a partial body can never leave stale permissions; extra unknown app_names are ignored. app_type-irrelevant privileges are normalised to 0 server-side. Send via POST body. not_found if the profile is not in this PBX. Requires a non-readonly ukey.

Call

https://tucloudapi.7kas.com:9087/tucloud?func=setprofileapps&ukey=YOUR_KEY&pbx=PBX_NAME

GET, or POST with the parameters form-urlencoded in the body. Requires the ukey parameter. Always HTTP 200; the response is a JSON envelope.

Parameters

Parameter Type Required Default Meaning
pbx string Yes — FuturePBX NAME (e.g. tucall). The (ukey, pbx) pair is the tenant boundary; the server verifies the ukey owns this PBX and scopes every profile to it.
group integer Yes — Profile id (_id).
matrix string Yes — JSON array of per-app permission rows (see description).

Example

https://tucloudapi.7kas.com:9087/tucloud?func=setprofileapps&ukey=KEY&pbx=tucall&group=1  (matrix in POST body)

Response

{ok, apps:[...]} or {ok:false,code:not_found|invalid_param}.

Errors

Always HTTP 200. On failure the body is {"ok":false,"code":"...","message":"..."}. Common codes: missing_pbx, forbidden, invalid_param, not_found, conflict, in_use, db_error, server_busy; the Response section above lists any specific to this function.


Back to TuCloudAPI