User roles, as defined in the application interface, are also accessible via the REST API.
⚠️ Notice: In version 2026.1.0, only reading is available, not import. Import will be enabled in one of the following versions.
Method of calling
You can use the HTTP method: GET, PUT, POST
In the REST API, you can use the /c/{firma}/role endpoint, through which you can export, modify, import, and create roles within a company.
GET http://demo.flexibee.eu/c/demo/role.xml
The following output formats are supported: JSON, XML, or CSV.
Description of records
Definition of the role record
Definition of the access right record
Available operations
Export
GET /c/{firma}/roleReturns all roles within the company.GET /c/{firma}/role/{ID}Returns a specific role with all access rights.
You can use the usual filtering and detail levels in the API.
Import
PUT a POST /c/{firma}/roleIf the request contains
<id>{ID}</id>, the role corresponding to the specified ID is updated.If the request does not contain
<id>{ID}</id>, a new role is created.
PUT a POST /c/{firma}/role/{ID}The role corresponding to the specified ID is updated.
Required import parameters
to create a new role, the following properties need to be filled in:
kod- required Code/Abbreviation.nazev- required NameotecRole- ID or code of the default roleWhen creating a new role, the access rights from the default role will be used if they were not defined in the request
<otecRole>code:ADMIN</otecRole>
⚠️ User roles (<standard>false</standard>) are created by the user and must be based on another role (property otecRole).
Standard roles (<standard>true</standard>) are created by the application and are immutable.
WARNING! For access rights of standard roles, the ID is in the format uuid:{kód role}-{klíč práva}
For imports, you can use the usual identifiers, including external ones.
Call examples
1. Reading all available roles
GET
https://demo.flexibee.eu/c/demo/role.xml?limit=0&detail=full
Output:
<winstrom version="1.0">
<!-- Role uživatele -->
<role>
<!-- ID (celé číslo) - -->
<id>1</id>
<!-- Poslední změna (datum a čas) - -->
<lastUpdate>2020-02-12T15:10:00.172+01:00</lastUpdate>
<!-- Zkratka (řetězec) - max. délka: 20 -->
<kod>ADMIN</kod>
<!-- Název (řetězec) - max. délka: 255 -->
<nazev>Administrátor</nazev>
<!-- Název EN (řetězec) - max. délka: 255 -->
<nazevA>Administrator</nazevA>
<!-- Název IT (řetězec) - max. délka: 255 -->
<nazevB>Verwalter</nazevB>
<!-- Název FR (řetězec) - max. délka: 255 -->
<nazevC/>
<!-- Poznámka (řetězec) - -->
<poznam/>
<!-- Popis (řetězec) - -->
<popis/>
<!-- Zobrazovat (logická hodnota) - -->
<visible>true</visible>
<!-- Standardní role (logická hodnota) - -->
<standard>true</standard>
<!-- Přístup Administrátor - typPrav.admin Super uživatel - typPrav.superUzivatel Standardní uživatel - typPrav.uzivatel Obchodník - typPrav.obchodnik Účetní - typPrav.ucetni Mzdový účetní - typPrav.mzdovyUcetni Skladník - typPrav.skladnik Skladník s pokladnou - typPrav.skladnikSPokladnou Jen číst - typPrav.jenCist Neaktivní účet - typPrav.zablokovan -->
<pristupK showAs="Administrátor">typPrav.admin</pristupK>
<!-- Odvozeno z role (objekt) - max. délka: 20 -->
<otecRole/>
<pristupova-prava>
<!-- Přístupová práva -->
<pristupove-pravo>
<!-- ID (celé číslo) - -->
<id>uuid:ADMIN-cTypZbozi</id>
<!-- Poslední změna (datum a čas) - -->
<lastUpdate/>
<!-- Typ přístupu Plný přístup - typPristPrav.plny Nepřístupné - typPristPrav.nepripustne Pouze číst - typPristPrav.pouzeCist Upřesnění přístupu - typPristPrav.upresneni -->
<typeK showAs="Plný přístup">typPristPrav.plny</typeK>
<!-- Klíč přístupového práva (řetězec) - -->
<groupKey>cTypZbozi</groupKey>
<!-- Role uživatele (objekt) - max. délka: 20 -->
<role ref="/c/demo141020_v26/role/1.xml" showAs="ADMIN: Administrátor">code:ADMIN</role>
<!-- Upřesňující přístupová práva Přidávat nové - Pridavat Měnit existující - Menit Mazat - Mazat Export - Export Import - Import Otevírat detail - OteviratDetail Měnit sloupce - Sloupce Kusovník - Kusovnik Stornovat - Storno Povolit slevu a změnu ceny - SlevaZmenaCeny Sumace - Sumace Služby - Sluzby Vazby - Vazby Hromadné změny - HromZmeny Vidět nákupní cenu - NakupCena Měnit zaúčtování - MenitZauctovani Měnit předpis zaúčtování - MenitTuo Generovat faktury ze smluv - GenerovatZeSmluv Podepisovat faktury - PodepsatFaktury Prodávat pod minimální marží - ProdejPodMinMarzi -->
<featureK>
<feature>Pridavat</feature>
<feature>Menit</feature>
<feature>Mazat</feature>
<feature>Export</feature>
<feature>Import</feature>
<feature>OteviratDetail</feature>
<feature>Sloupce</feature>
</featureK>
</pristupove-pravo>
....
....
</role>
2. Copying the ADMIN role with the same rights
POST
https://demo.flexibee.eu/c/demo/role.xml
Input:
<winstrom version="1.0">
<role>
<kod>ADMIN_COPY</kod>
<nazev>Kopie role ADMIN.</nazev>
<otecRole>code:ADMIN</otecRole>
</role>
</winstrom>
3. Determining the keys for the rights being changed
GET
https://demo.flexibee.eu/c/demo/role.xml
Output:
...
<pristupove-pravo>
<id>uuid:ADMIN-dDoklFak$$FAP</id>
<groupKey evidencePath="faktura-prijata">dDoklFak$$FAP</groupKey>
</pristupove-pravo>
...
<pristupove-pravo>
<id>uuid:ADMIN-dDoklFak$$FAV</id>
<groupKey evidencePath="faktura-vydana">dDoklFak$$FAV</groupKey>
</pristupove-pravo>
...
You need to find the corresponding right keys for step 4. We are interested in the keys dDoklFak$$FAV and dDoklFak$$FAP.
4. Setting access to issued invoices to read-only and completely disabling access to received invoices.
POST
https://demo.flexibee.eu/c/demo/role.xml
Input
<winstrom version="1.0">
<role>
<!-- identifikace měněné role -->
<id>code:ADMIN_COPY</id>
<!-- definice nastavovaných přístupových práv -->
<pristPrava>
<!-- klíč pro FAV a nastavení práva pro čtení -->
<pristupove-pravo>
<groupKey>dDoklFak$$FAV</groupKey>
<typeK>typPristPrav.pouzeCist</typeK>
</pristupove-pravo>
<!-- klíč pro FAP a nastavení bez přístupu -->
<pristupove-pravo>
<groupKey>dDoklFak$$FAP</groupKey>
<typeK>typPristPrav.nepripustne</typeK>
</pristupove-pravo>
</pristPrava>
</role>
</winstrom>
FAQ
💡 Need help? If you have any questions about the application, contact us at podporaflexi@abra.eu or via the chat window in the bottom right corner.
