Upload an image into an active destination draft.
using System.Net.Http.Headers;var client = new HttpClient();var request = new HttpRequestMessage{ Method = HttpMethod.Post, RequestUri = new Uri("https://example.com/api/workspace/markdown/drafts/upload"), Headers = { { "X-Moltaro-Markdown-Draft-Session", "example" }, { "X-Moltaro-Markdown-Scope", "example" }, { "X-Moltaro-Markdown-File-Size", "1" }, { "Authorization", "Bearer <token>" }, }, Content = new MultipartFormDataContent { new StringContent("") { Headers = { ContentType = new MediaTypeHeaderValue("application/octet-stream"), ContentDisposition = new ContentDispositionHeaderValue("form-data") { Name = "File", FileName = "file", } } }, },};using (var response = await client.SendAsync(request)){ response.EnsureSuccessStatusCode(); var body = await response.Content.ReadAsStringAsync(); Console.WriteLine(body);}const url = 'https://example.com/api/workspace/markdown/drafts/upload';const form = new FormData();form.append('File', 'file');
const options = { method: 'POST', headers: { 'X-Moltaro-Markdown-Draft-Session': 'example', 'X-Moltaro-Markdown-Scope': 'example', 'X-Moltaro-Markdown-File-Size': '1', Authorization: 'Bearer <token>' }};
options.body = form;
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request POST \ --url https://example.com/api/workspace/markdown/drafts/upload \ --header 'Authorization: Bearer <token>' \ --header 'Content-Type: multipart/form-data' \ --header 'X-Moltaro-Markdown-Draft-Session: example' \ --header 'X-Moltaro-Markdown-File-Size: 1' \ --header 'X-Moltaro-Markdown-Scope: example' \ --form File=@fileAuthorizations
Section titled “Authorizations”Parameters
Section titled “Parameters”Query Parameters
Section titled “Query Parameters”Optional access token for clients that cannot set Authorization headers. Prefer Authorization: Bearer <token> when possible.
Header Parameters
Section titled “Header Parameters”Id of the active Markdown attachment draft that receives the image.
ScopeToken of the draft’s destination scope, issued by POST /api/workspace/markdown/scope/issue or renewed by POST /api/workspace/markdown/scope/refresh. Moltaro issues no scope whose header line (name, “: “, token and line end) would exceed 7,168 bytes, so it passes proxies that accept 8 KiB request header lines; send the token unchanged.
Exact byte length of the image in the File part; an upload of another length is refused.
Request Bodyrequired
Section titled “Request Bodyrequired”Exactly one file part named File, with a file name, and no other form values. The request is at most 104923136 bytes.
object
Responses
Section titled “Responses”OK
object
One file reference owned by a Markdown attachment draft.
object
object
object
object
object
Example
{ "Data": { "Origin": 0, "State": 0, "AvailabilityState": 0 }, "Errors": [ { "Type": 0, "Severity": 0 } ], "Warnings": [ { "Type": 0, "Severity": 0 } ]}Bad Request
object
One file reference owned by a Markdown attachment draft.
object
object
object
object
object
Example
{ "Data": { "Origin": 0, "State": 0, "AvailabilityState": 0 }, "Errors": [ { "Type": 0, "Severity": 0 } ], "Warnings": [ { "Type": 0, "Severity": 0 } ]}Forbidden
object
Examplegenerated
{ "type": "example", "title": "example", "status": 1, "detail": "example", "instance": "example"}Not Found
object
One file reference owned by a Markdown attachment draft.
object
object
object
object
object
Example
{ "Data": { "Origin": 0, "State": 0, "AvailabilityState": 0 }, "Errors": [ { "Type": 0, "Severity": 0 } ], "Warnings": [ { "Type": 0, "Severity": 0 } ]}Too Many Requests
object
One file reference owned by a Markdown attachment draft.
object
object
object
object
object
Example
{ "Data": { "Origin": 0, "State": 0, "AvailabilityState": 0 }, "Errors": [ { "Type": 0, "Severity": 0 } ], "Warnings": [ { "Type": 0, "Severity": 0 } ]}