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