Simple CLI for Joplin

I'm interested in writing a very simple CLI that would send notes or todos directly to my Joplin Server.

I know that I could install the Joplin terminal application and use that CLI, but it seem really "heavy weight" with all of the curses and NPM code just to send a few HTTP messages to the server.

Has anyone looked at this? I can't seem to find any documentation for the server API (perhaps its in the code)...

Do I need to tear into the joplin terminal code?



Welcome ! There are some existing tools that wrap around the Joplin API to provide CLI functionality. Have a look at Joplin-Tools or joppy. You may have to set up some python scripts / aliases but it covers all basic use cases you may have.

Cheers !

1 Like

Those tools won't help @gmulligan, because they communicate with an instance of Joplin client, not with Joplin Server.

yes - exactly. I spoke to Laurent and it seems that he is not planning to expose the server API, cause directly interacting with the server is not a standard workflow - in his mind... and I sort of get it.

I still think the idea could work.... (flow) generate note with emacs, vim, whatever, save to file, make calls to server (authenticate, add note, ...); then when joplin app or joplin terminal syncs the new note would be there.

I think I can do something similar by running the joplin terminal in a podman container and making the data API calls to have it interact with the Joplin server. I have parts of this working, but I'm having a problem understand the /search API. It doesn't seem to work as expected.