API: Retrieve evaluated metadata and content of an existing zettel in various encodings

The endpoint to work with evaluated metadata and content of a specific zettel is /z/{ID}, where {ID} is a placeholder for the zettel identifier.

For example, to retrieve some evaluated data about this zettel you are currently viewing in Sz encoding, just send a HTTP GET request to the endpoint /z/000010120535001 with the query parameter enc=sz. If successful, the output is a symbolic expression value:

# curl 'http://127.0.0.1:23123/z/00001012053500?enc=sz'
(BLOCK (PARA (TEXT "The ") (LINK-ZETTEL () "00001012920000" (TEXT "endpoint")) (TEXT " to work with parsed metadata and content of a specific zettel is ") (LITERAL-INPUT () "/z/{ID}") (TEXT ", where ") (LITERAL-INPUT () "{ID}") (TEXT " is a placeholder for the ") ...

To select another encoding, you must provide the query parameter enc=ENCODING. Others are “html”, “text”, and some more. In addition, you may provide a query parameter part=PART to select the relevant part of a zettel.

# curl 'http://127.0.0.1:23123/z/00001012053500?enc=html&part=zettel'
<html>
<head>
<meta charset="utf-8">
<title>API: Retrieve evaluated metadata and content of an existing zettel in various encodings</title>
<meta name="zs-title" content="API: Retrieve evaluated metadata and content of an existing zettel in various encodings">
<meta name="zs-role" content="manual">
<meta name="zs-tags" content="#api #manual #zettelstore">
<meta name="zs-syntax" content="zmk">
<meta name="zs-back" content="00001006000000 00001012000000 00001012053600">
<meta name="zs-backward" content="00001006000000 00001012000000 00001012053600 00001012920000">
<meta name="zs-box-number" content="1">
<meta name="zs-copyright" content="(c) 2020-present by Detlef Stern <ds@zettelstore.de>">
<meta name="zs-created" content="20210726174524">
<meta name="zs-forward" content="00001006050000 00001010040100 00001012050200 00001012920000 00001012920500 00001012920503 00001012920510 00001012920519 00001012920800">
<meta name="zs-lang" content="en">
<meta name="zs-license" content="EUPL-1.2-or-later">
<meta name="zs-modified" content="20221219161621">
<meta name="zs-published" content="20221219161621">
<meta name="zs-visibility" content="public">
</head>
<body>
<h1>API: Retrieve evaluated metadata and content of an existing zettel in various encodings</h1>
<p>The <a href="00001012920000">endpoint</a> to work with evaluated metadata and content of a specific zettel is <kbd>/z/{ID}</kbd>,
...

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 or enc / part contained illegal values.

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.


  1. If authentication is enabled, you must include the a valid access token in the Authorization header ↩︎