diff --git a/docs/User Guide/User Guide/Advanced Usage/ETAPI (REST API).md b/docs/User Guide/User Guide/Advanced Usage/ETAPI (REST API).md index d7795455e..a5836d2e3 100644 --- a/docs/User Guide/User Guide/Advanced Usage/ETAPI (REST API).md +++ b/docs/User Guide/User Guide/Advanced Usage/ETAPI (REST API).md @@ -3,7 +3,11 @@ ETAPI is Trilium's public/external REST API. It is available since Trilium v0.50 The documentation is in OpenAPI format, available [here](https://github.com/TriliumNext/Notes/blob/master/src/etapi/etapi.openapi.yaml). -[trilium-py](https://github.com/Nriver/trilium-py) is a third-party Python implementation for ETAPI client, you can use Python to communicate with Trilium. +## API clients + +As an alternative to calling the API directly, there are client libraries to simplify this + +* [trilium-py](https://github.com/Nriver/trilium-py), you can use Python to communicate with Trilium. ## Authentication @@ -25,4 +29,26 @@ Authorization: Basic BATOKEN * Where `username` is "etapi" * And `password` is the generated ETAPI token described above. -Basic Auth is meant to be used with tools which support only basic auth. \ No newline at end of file +Basic Auth is meant to be used with tools which support only basic auth. + +## Interaction using Bash scripts + +It is possible to write simple Bash scripts to interact with Trilium. As an example, here's how to obtain the HTML content of a note: + +```sh +#!/usr/bin/env bash + +# Configuration +TOKEN=z1vA4fkGxjOR_ZXLrZeqHEFOv65yV3882iFCRtNIK9k9iWrHliITNSLQ= +SERVER=http://localhost:8080 + +# Download a note by ID +NOTE_ID="i6ra4ZshJhgN" +curl "$SERVER/etapi/notes/$NOTE_ID/content" -H "Authorization: $TOKEN" +``` + +Make sure to replace the values of: + +* `TOKEN` with your ETAPI token. +* `SERVER` with the correct protocol, host name and port to your Trilium instance. +* `NOTE_ID` with an existing note ID to download. \ No newline at end of file diff --git a/src/public/app/doc_notes/en/User Guide/User Guide/Advanced Usage/ETAPI (REST API).html b/src/public/app/doc_notes/en/User Guide/User Guide/Advanced Usage/ETAPI (REST API).html index d6272c05a..90bb59efd 100644 --- a/src/public/app/doc_notes/en/User Guide/User Guide/Advanced Usage/ETAPI (REST API).html +++ b/src/public/app/doc_notes/en/User Guide/User Guide/Advanced Usage/ETAPI (REST API).html @@ -16,9 +16,13 @@

ETAPI is Trilium's public/external REST API. It is available since Trilium v0.50.

The documentation is in OpenAPI format, available here.

-

trilium-py is a third-party - Python implementation for ETAPI client, you can use Python to communicate - with Trilium.

+

API clients

+

As an alternative to calling the API directly, there are client libraries + to simplify this

+

Authentication

All operations have to be authenticated using a token. You can get this token either from Options -> ETAPI or programmatically using the /auth/login REST @@ -33,6 +37,32 @@ Authorization: Basic BATOKEN

  • And password is the generated ETAPI token described above.
  • Basic Auth is meant to be used with tools which support only basic auth.

    +

    Interaction using Bash scripts

    +

    It is possible to write simple Bash scripts to interact with Trilium. + As an example, here's how to obtain the HTML content of a note:

    #!/usr/bin/env bash
    +
    +
    +
    +# Configuration
    +
    +TOKEN=z1vA4fkGxjOR_ZXLrZeqHEFOv65yV3882iFCRtNIK9k9iWrHliITNSLQ=
    +
    +SERVER=http://localhost:8080
    +
    +
    +
    +# Download a note by ID
    +
    +NOTE_ID="i6ra4ZshJhgN"
    +
    +curl "$SERVER/etapi/notes/$NOTE_ID/content" -H "Authorization: $TOKEN" 
    +

    Make sure to replace the values of:

    +