hedgedoc/docs/dev/api.md
Erik Michelson b28839484d
Replace CodiMD with HedgeDoc
Signed-off-by: Erik Michelson <github@erik.michelson.eu>
Signed-off-by: Tilman Vatteroth <tilman.vatteroth@tu-dortmund.de>

Rename to HedgeDoc: References in public/views

Signed-off-by: David Mehren <git@herrmehren.de>
Signed-off-by: Tilman Vatteroth <tilman.vatteroth@tu-dortmund.de>

Rename to HedgeDoc: Update links in README

Signed-off-by: David Mehren <git@herrmehren.de>
Signed-off-by: Tilman Vatteroth <tilman.vatteroth@tu-dortmund.de>

Rename to HedgeDoc: Update links in SECURITY.md

Signed-off-by: David Mehren <git@herrmehren.de>
Signed-off-by: Tilman Vatteroth <tilman.vatteroth@tu-dortmund.de>

Rename to HedgeDoc: Update links in LICENSE

Signed-off-by: David Mehren <git@herrmehren.de>
Signed-off-by: Tilman Vatteroth <tilman.vatteroth@tu-dortmund.de>

Rename to HedgeDoc: Update links in docs/configuration.md

Signed-off-by: David Mehren <git@herrmehren.de>
Signed-off-by: Tilman Vatteroth <tilman.vatteroth@tu-dortmund.de>

Rename to HedgeDoc: Update links in bin/setup

Signed-off-by: David Mehren <git@herrmehren.de>
Signed-off-by: Tilman Vatteroth <tilman.vatteroth@tu-dortmund.de>

Rename to HedgeDoc: References in docs/guides

Signed-off-by: David Mehren <git@herrmehren.de>
Signed-off-by: Tilman Vatteroth <tilman.vatteroth@tu-dortmund.de>

Rename to HedgeDoc: References in docs/dev

Signed-off-by: David Mehren <git@herrmehren.de>
Signed-off-by: Tilman Vatteroth <tilman.vatteroth@tu-dortmund.de>

Rename to HedgeDoc: References in docs/guides/auth

Signed-off-by: David Mehren <git@herrmehren.de>
Signed-off-by: Tilman Vatteroth <tilman.vatteroth@tu-dortmund.de>

Rename to HedgeDoc: References in docs/setup

Signed-off-by: David Mehren <git@herrmehren.de>
Signed-off-by: Tilman Vatteroth <tilman.vatteroth@tu-dortmund.de>

Rename to HedgeDoc: Update various links in code to the new GitHub org.

Signed-off-by: David Mehren <git@herrmehren.de>
Signed-off-by: Tilman Vatteroth <tilman.vatteroth@tu-dortmund.de>

Rename to HedgeDoc: codiMDVersion.js is now hedgeDocVersion.js

Signed-off-by: David Mehren <git@herrmehren.de>
Signed-off-by: Tilman Vatteroth <tilman.vatteroth@tu-dortmund.de>

Rename to HedgeDoc: References in docs/setup/yunohost

Signed-off-by: Tilman Vatteroth <tilman.vatteroth@tu-dortmund.de>

Rebrand to HedgeDoc: Add banner and logo

Signed-off-by: Tilman Vatteroth <tilman.vatteroth@tu-dortmund.de>

Rename to HedgeDoc: Update links in docs/guides/migrate-etherpad

Signed-off-by: Tilman Vatteroth <tilman.vatteroth@tu-dortmund.de>

Rename to HedgeDoc: Remove note in docs/guides/auth/github

Signed-off-by: Tilman Vatteroth <tilman.vatteroth@tu-dortmund.de>

Rename to HedgeDoc: Replace links in public/docs/features

Signed-off-by: Tilman Vatteroth <tilman.vatteroth@tu-dortmund.de>

Rename to HedgeDoc: Add todo placeholder in docs/history

Signed-off-by: Tilman Vatteroth <tilman.vatteroth@tu-dortmund.de>

Rename to HedgeDoc: Replace github link in public/views/index/body

Signed-off-by: Tilman Vatteroth <tilman.vatteroth@tu-dortmund.de>

Rename to HedgeDoc: Replace github link in README

Signed-off-by: Tilman Vatteroth <tilman.vatteroth@tu-dortmund.de>

Rename to HedgeDoc: Add logo to README

Signed-off-by: Tilman Vatteroth <tilman.vatteroth@tu-dortmund.de>

Rename to HedgeDoc: Add note about the renaming to the front page

Signed-off-by: Tilman Vatteroth <tilman.vatteroth@tu-dortmund.de>

Removed Travis from README.md and change CodiMD to HedgeDoc in some places

Signed-off-by: Yannick Bungers <git@innay.de>

Some more renaming to HedgeDoc
- Fixed capitalization of HedgeDoc
- Added renaming for etherpad migration doc

Signed-off-by: Yannick Bungers <git@innay.de>

Changed Repo name to hedgedoc

Signed-off-by: Yannick Bungers <git@innay.de>
2020-11-14 21:18:36 +01:00

7.5 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>/pdf GET Returns a generated pdf version of the note.
If pdf-support is disabled, a HTTP 403 will be returned.
Please note: Currently pdf export is disabled generally because of a security problem with it.
/<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.