The [[endpoint|00001012920000]] to work with metadata of a specific zettel is ''/z/{ID}'', where ''{ID}'' is a placeholder for the [[zettel identifier|00001006050000]][^If [[authentication is enabled|00001010040100]], you must include a valid [[access token|00001012050200]] in the ''Authorization'' header].

To retrieve the plain metadata of a zettel, use the query parameter ''part=meta''

````sh
# curl 'http://127.0.0.1:23123/z/00001012053400?part=meta'
title: API: Retrieve metadata of an existing zettel
role: manual
tags: #api #manual #zettelstore
syntax: zmk
````

=== Data output

Alternatively, you may retrieve the zettel as a parseable object / a [[symbolic expression|00001012930500]] by providing the query parameter ''enc=data'':

```sh
# curl 'http://127.0.0.1:23123/z/00001012053400?part=meta&enc=data'
(list (meta (back "00001012000000 00001012053300") (backward "00001012000000 00001012053300") (box-name "manual") (created "20210726174524") (forward "00001006050000 00001010040100 00001012050200 00001012920000 00001012921200 00001012930500") (modified "20241216104120") (published "20241216104120") (role "manual") (syntax "zmk") (tags "#api #manual #zettelstore") (title "API: Retrieve metadata of an existing zettel")) (rights create read update delete))
```

Pretty-printed, this results in:
```
(list
    (meta
        (back "00001012000000 00001012053300")
        (backward "00001012000000 00001012053300")
        (box-name "manual")
        (created "20210726174524")
        (forward "00001006050000 00001010040100 00001012050200 00001012920000 00001012921200 00001012930500")
        (modified "20241216104120")
        (published "20241216104120")
        (role "manual")
        (syntax "zmk")
        (tags "#api #manual #zettelstore")
        (title "API: Retrieve metadata of an existing zettel"))
    (rights create read update delete))
```

* The result is a list, starting with the symbol ''list''.
* Then, some key/value pairs are following, also nested.
* Nested in ''meta'' are the metadata, each as a key/value pair.
* ''rights'' specifies the [[access rights|00001012921200]] the user has for this zettel.

=== HTTP Status codes
; ''200''
: Retrieval was successful, the body contains an appropriate data value.
; ''400''
: Request was not valid.
  There are several reasons for this.
  Maybe the zettel identifier did not consist of exactly 14 digits.
; ''403''
: You are not allowed to retrieve data of the given zettel.
; ''404''
: Zettel not found.
  You probably used a zettel identifier that is not used in the Zettelstore.