OpenProject is the leading open source project management software.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
openproject/docs/api/apiv3/endpoints/render.apib

94 lines
2.8 KiB

# Group Previewing
6 years ago
Throughout OpenProject user input for many properties can be formatted using *Markdown*.
Using the appropriate rendering endpoint it is possible to render custom formatted inputs into HTML and thus
receive a preview of the rendered text.
The request to a rendering endpoint must always have a MIME-Type of `text/plain`.
The request body is the actual string that shall be rendered as HTML string.
6 years ago
## Markdown [/api/v3/render/markdown{?context}]
+ Model
+ Body
6 years ago
<p>Hello world! <a href="http://example.com">This</a> <strong>is</strong> markdown!</p>
6 years ago
## Preview Markdown document [POST]
+ Parameters
+ context (optional, string, `/api/v3/work_packages/42`)
API-Link to the context in which the rendering occurs, for example a specific work package.
If left out only context-agnostic rendering takes place.
6 years ago
Please note that OpenProject features markdown-extensions on top of the extensions GitHub Flavored Markdown (gfm) already
provides that can only work given a context (e.g. display attached images).
**Supported contexts:**
* `/api/v3/work_packages/{id}` - an existing work package
+ Request (text/plain)
6 years ago
Hello world! "This":http://example.com **is** markdown!
+ Response 200 (text/html)
6 years ago
[Markdown][]
+ Response 400 (application/json)
Returned if the context passed by the client is not valid (e.g. unknown).
Note that this response will also occur when the requesting user
is not allowed to see the context resource (e.g. limited work package visibility).
+ Body
{
"_type": "Error",
"errorIdentifier": "urn:openproject-org:api:v3:errors:InvalidRenderContext",
6 years ago
"message": "Could not render markdown string in the given context."
}
+ Response 415 (application/json)
Returned if the Content-Type indicated in the request is not `text/plain`.
+ Body
{
"_type": "Error",
"errorIdentifier": "urn:openproject-org:api:v3:errors:TypeNotSupported",
"message": "Expected Content-Type to be 'text/plain' but got 'application/json'."
}
## Plain Text [/api/v3/render/plain]
+ Model
+ Body
<p>Hello world! This *is* plain text!</p>
## Preview plain document [POST]
+ Request (text/plain)
Hello world! This *is* plain text!
+ Response 200 (text/html)
[Plain Text][]
+ Response 415 (application/json)
Returned if the Content-Type indicated in the request is not `text/plain`.
+ Body
{
"_type": "Error",
"errorIdentifier": "urn:openproject-org:api:v3:errors:TypeNotSupported",
"message": "Expected Content-Type to be 'text/plain' but got 'application/json'."
}