Get document as Extended Markdown
curl --request GET \
--url https://api.autype.com/api/v1/dev/documents/{documentId}/markdown \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.autype.com/api/v1/dev/documents/{documentId}/markdown"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.autype.com/api/v1/dev/documents/{documentId}/markdown', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.autype.com/api/v1/dev/documents/{documentId}/markdown",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.autype.com/api/v1/dev/documents/{documentId}/markdown"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.autype.com/api/v1/dev/documents/{documentId}/markdown")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.autype.com/api/v1/dev/documents/{documentId}/markdown")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"id": "<string>",
"title": "<string>",
"projectId": "<string>",
"content": "<string>",
"document": {},
"createdAt": "2023-11-07T05:31:56Z",
"updatedAt": "2023-11-07T05:31:56Z",
"stylePresetId": "<string>",
"variables": {},
"abbreviations": {},
"defaults": {},
"citations": [
"<string>"
],
"style": {},
"revision": 123
}Projects & Documents
Get document as Extended Markdown
Read a persistent document as Extended Markdown plus compact JSON metadata. This is the preferred read format for MCP and AI agents. Use GET /documents/{id} when a client needs the full JSON snapshot.
GET
/
api
/
v1
/
dev
/
documents
/
{documentId}
/
markdown
Get document as Extended Markdown
curl --request GET \
--url https://api.autype.com/api/v1/dev/documents/{documentId}/markdown \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.autype.com/api/v1/dev/documents/{documentId}/markdown"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.autype.com/api/v1/dev/documents/{documentId}/markdown', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.autype.com/api/v1/dev/documents/{documentId}/markdown",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.autype.com/api/v1/dev/documents/{documentId}/markdown"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.autype.com/api/v1/dev/documents/{documentId}/markdown")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.autype.com/api/v1/dev/documents/{documentId}/markdown")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"id": "<string>",
"title": "<string>",
"projectId": "<string>",
"content": "<string>",
"document": {},
"createdAt": "2023-11-07T05:31:56Z",
"updatedAt": "2023-11-07T05:31:56Z",
"stylePresetId": "<string>",
"variables": {},
"abbreviations": {},
"defaults": {},
"citations": [
"<string>"
],
"style": {},
"revision": 123
}Authorizations
mcp-oauthapi-key
Short-lived, Developer-API-audience token obtained by the trusted MCP service through token exchange (mcp_at_...). Raw MCP resource tokens are rejected.
Path Parameters
Document ID
Response
Document represented as Extended Markdown
Document ID
Document title
Project ID the document belongs to
Extended Markdown representation of the latest snapshot
Document settings
Referenced workspace or built-in system style preset, if any
Variables for template substitution
Abbreviation map
Inline defaults
Citations array
Style metadata
Current content revision
