Is it possible to request Joplin Server by RESTful APIs directly?

I'm working to integrate Joplin to my own blog, and want to find a different way from exporting static markdown files and pushing them into blog data. So that, I could do create, edit, remove, and more in my blog webpage directly, and every change in my other Joplin clients will not need to be exported to my blog manually, they just need to be synced.

Now I'm using an additional Joplin CLI on my server, my blog application works by calling the local CLI APIs.

I noticed that there is a specific sync target called Joplin Server, I guess it could be not really similar to other cloud drives, but has some Joplin-relevant functions, e.g., RESTful APIs for fetching Joplin synchonized data directly?

If there is a simple way to communicate with Joplin Server, and supports some modification operations(for example, adding notes), I'll no longer need to install and maintain an additional Joplin CLI on my server.

I think there's a plugin or 2 that let you export your notes as a blog.

However, if you prefer to use Joplin server it does have an API. I don't think it's documented so you'd have to reverse-engineer it from the code or by capturing network traffic.

Here are the plugins I mentioned:

Have you made any progress on this. I would like to do the same...

I don't want to have to install a complete joplin terminal (npm and all that) just to be able to export or import files from the joplin server.

I looked at the http traffic used when I sync between the desktop app and the server and I know I can slog through and reverse engineer it, but there has to be a better way. I'm now considering ripping into the joplin terminal all code to figure out and document the server api.

A few minutes ago I wrote here that I think Joplin Server doesn't have an easy-to-use restful API because it couldn't work when you turn on E2EE.

I might be wrong, though. I'm not in the dev team; no guarantees. :slight_smile:

1 Like

Yes - you might be right. If e2ee is on then I'd need to "store" the key and would need to do the encryption in the "simple tool"- very good point - but possibly solvable.

On the other hand if e2ee is not on then if I could decipher the server interface/api I could add notes directly, but it seems this is not a path any has or may want to implement.

So I'm not trying something different... I'm running the joplin terminal in a podman container and using the data api calls to do the work to add notes and such and then terminal program then syncs to the server and does all the work with the server (and thereby supports e2ee).

But I'm having a problem understand the /search API. it does not seem to work as expected and not like the cli inside the terminal app...

that is on a different thread