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.