title: API: Encoding of Zettel Access Rights role: manual tags: #api #manual #reference #zettelstore syntax: zmk back: 00001012051200 00001012051400 00001012053200 00001012053300 00001012053400 00001012054200 00001012920528 backward: 00001012051200 00001012051400 00001012053200 00001012053300 00001012053400 00001012054200 00001012920528 box-name: manual copyright: (c) 2020-present by Detlef Stern created: 20220201173115 forward: 00001003000000 00001006020400 00001010040100 00001010040200 00001010070200 00001010070300 lang: en license: EUPL-1.2-or-later modified: 20260714200809 published: 20260714200809 visibility: public Various API calls return a symbolic expression ''(rights ...)'', where ''...'' is a sequence of zero or more symbols. These symbols encode the access rights the user currently has. Valid symbols are: ''create'', ''read'', ''update'', and ''delete''. |=Symbol|Meaning for user |''create''|May create a new zettel |''read''|May read the zettel |''update''|May update the zettel |''delete''|May delete the zettel In practice, not all combinations of rights occur. A Zettelstore in [[read-only mode|00001010000000#read-only]] always returns the symbol ''read''. A Zettelstore started by [[double-clicking|00001003000000]] returns either the expression ''(rights read update)'' or the expression ''(rights create read update delete)'' (all operations are allowed). If you have added an additional [[user|00001010040200]] to your Zettelstore, the returned rights may differ. The access rights are determined by the [[enabled authentication|00001010040100]] settings, the [[user role|00001010070300]] of the current user, the [[visibility rules|00001010070200]] for a given zettel, and the [[read-only status|00001006020400]] for the zettel.