Signed-off-by: Tilman Vatteroth <tilman.vatteroth@tu-dortmund.de>
(cherry picked from commit eaeb88401d
)
Signed-off-by: David Mehren <git@herrmehren.de>
6.3 KiB
API documentation
Several tasks of HedgeDoc can be automated through HTTP requests. The available endpoints for this api are described in this document. For code-autogeneration there is an OpenAPIv3-compatible description available here.
Notes
These endpoints create notes, return information about them or export them.
You have to replace <NOTE> with either the alias or id of a note you want to work on.
Endpoint | HTTP-Method | Description |
---|---|---|
/new |
GET |
**Creates a new |
note.** A random id will be assigned and the content will equal to the template (blank by default). After note creation a redirect is issued to the created note. |
||
/new |
POST |
**Imports some markdown data into a new |
note.** A random id will be assigned and the content will equal to the body of the received HTTP-request. The Content-Type: text/markdown header should be set on this request. |
||
/new/<ALIAS> |
POST |
**Imports some markdown data into a new note with a |
given alias.**
This endpoint equals to the above one except that the alias from the url will be assigned to the note
if FreeURL-mode is enabled. | | /<NOTE>/download
or /s/<SHORT-ID>/download
| GET
| Returns the raw markdown content of a note.
| | /<NOTE>/publish
| GET
| Redirects to the published version of the note.
| | /<NOTE>/slide
| GET
| Redirects to the slide-presentation of the
note.
This is only useful on notes which are designed to be slides. | | /<NOTE>/info
| GET
| Returns metadata about the note.
This includes the title and description of the note as well as
the creation date and viewcount. The data is returned as a JSON object. | | /<NOTE>/revision
| GET
| Returns a list of the available note revisions.
The list is returned as a JSON object with an
array of revision-id and length associations. The revision-id equals to the timestamp when the revision was saved. |
| /<NOTE>/revision/<REVISION-ID>
| GET
| Returns the revision of the note with some
metadata.
The revision is returned as a JSON object with the content of the note and the authorship. |
| /<NOTE>/gist
| GET
| Creates a new GitHub Gist with the note's
content.
If GitHub integration is configured, the user will be redirected to
GitHub and a new Gist with the content of the note will be created. |
User / History
These endpoints return information about the current logged-in user and it's note history. If no user is logged-in, the
most of this requests will fail with either a HTTP 403 or a JSON object containing {"status":"forbidden"}
.
Endpoint | HTTP-Method | Description |
---|---|---|
/me |
GET |
**Returns the profile data of the current logged-in |
user.** The data is returned as a JSON object containing the user-id, the user's name and a url to the profile picture. |
||
/me/export |
GET |
**Exports a zip-archive with all notes of the current |
user.** | ||
/history |
GET |
**Returns a list of the last viewed |
notes.** The list is returned as a JSON object with an array containing for each entry it's id, title, tags, last visit time and pinned status. |
||
/history |
POST |
**Replace user's history with a new |
one.** The body must be form-encoded and contain a field history with a JSON-encoded array like its returned from the server when exporting the history. |
||
/history |
DELETE |
**Deletes the user's |
history.** | ||
/history/<NOTE> |
POST |
**Toggles the pinned status in the history for a |
note.** The body must be form-encoded and contain a field pinned that is either true or false . |
||
/history/<NOTE> |
DELETE |
**Deletes a note from the user's |
history.** |
HedgeDoc-server
These endpoints return information about the running HedgeDoc instance.
Endpoint | HTTP-Method | Description |
---|---|---|
/status |
GET |
**Returns the current status of the HedgeDoc |
instance.** The data is returned as a JSON object containing the number of notes stored on the server, (distinct) online users and more. |