curl --request POST \
--url https://api.autype.com/api/v1/dev/render/readiness/markdown \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"content": "# Hello ${companyName}\n\nThis is a **professional** document.\n\n## Features\n\n- Item 1\n- Item 2\n",
"document": {
"type": "pdf",
"size": "A4",
"orientation": "portrait"
},
"variables": {
"name": "Acme Inc",
"date": "2024-01-01"
},
"abbreviations": {
"API": "Application Programming Interface"
},
"defaults": {},
"stylePresetId": "550e8400-e29b-41d4-a716-446655440000",
"citations": [
{}
],
"style": {},
"pdfProfile": "standard",
"webhook": {
"webhookUrl": "https://example.com/webhook",
"webhookAuth": {
"headerName": "X-API-Key",
"headerValue": "my-secret-key",
"basicAuthUsername": "user",
"basicAuthPassword": "pass"
}
}
}
'import requests
url = "https://api.autype.com/api/v1/dev/render/readiness/markdown"
payload = {
"content": "# Hello ${companyName}
This is a **professional** document.
## Features
- Item 1
- Item 2
",
"document": {
"type": "pdf",
"size": "A4",
"orientation": "portrait"
},
"variables": {
"name": "Acme Inc",
"date": "2024-01-01"
},
"abbreviations": { "API": "Application Programming Interface" },
"defaults": {},
"stylePresetId": "550e8400-e29b-41d4-a716-446655440000",
"citations": [{}],
"style": {},
"pdfProfile": "standard",
"webhook": {
"webhookUrl": "https://example.com/webhook",
"webhookAuth": {
"headerName": "X-API-Key",
"headerValue": "my-secret-key",
"basicAuthUsername": "user",
"basicAuthPassword": "pass"
}
}
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
content: '# Hello ${companyName}\n\nThis is a **professional** document.\n\n## Features\n\n- Item 1\n- Item 2\n',
document: {type: 'pdf', size: 'A4', orientation: 'portrait'},
variables: {name: 'Acme Inc', date: '2024-01-01'},
abbreviations: {API: 'Application Programming Interface'},
defaults: {},
stylePresetId: '550e8400-e29b-41d4-a716-446655440000',
citations: [{}],
style: {},
pdfProfile: 'standard',
webhook: {
webhookUrl: 'https://example.com/webhook',
webhookAuth: {
headerName: 'X-API-Key',
headerValue: 'my-secret-key',
basicAuthUsername: 'user',
basicAuthPassword: 'pass'
}
}
})
};
fetch('https://api.autype.com/api/v1/dev/render/readiness/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/render/readiness/markdown",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'content' => '# Hello ${companyName}
This is a **professional** document.
## Features
- Item 1
- Item 2
',
'document' => [
'type' => 'pdf',
'size' => 'A4',
'orientation' => 'portrait'
],
'variables' => [
'name' => 'Acme Inc',
'date' => '2024-01-01'
],
'abbreviations' => [
'API' => 'Application Programming Interface'
],
'defaults' => [
],
'stylePresetId' => '550e8400-e29b-41d4-a716-446655440000',
'citations' => [
[
]
],
'style' => [
],
'pdfProfile' => 'standard',
'webhook' => [
'webhookUrl' => 'https://example.com/webhook',
'webhookAuth' => [
'headerName' => 'X-API-Key',
'headerValue' => 'my-secret-key',
'basicAuthUsername' => 'user',
'basicAuthPassword' => 'pass'
]
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.autype.com/api/v1/dev/render/readiness/markdown"
payload := strings.NewReader("{\n \"content\": \"# Hello ${companyName}\\n\\nThis is a **professional** document.\\n\\n## Features\\n\\n- Item 1\\n- Item 2\\n\",\n \"document\": {\n \"type\": \"pdf\",\n \"size\": \"A4\",\n \"orientation\": \"portrait\"\n },\n \"variables\": {\n \"name\": \"Acme Inc\",\n \"date\": \"2024-01-01\"\n },\n \"abbreviations\": {\n \"API\": \"Application Programming Interface\"\n },\n \"defaults\": {},\n \"stylePresetId\": \"550e8400-e29b-41d4-a716-446655440000\",\n \"citations\": [\n {}\n ],\n \"style\": {},\n \"pdfProfile\": \"standard\",\n \"webhook\": {\n \"webhookUrl\": \"https://example.com/webhook\",\n \"webhookAuth\": {\n \"headerName\": \"X-API-Key\",\n \"headerValue\": \"my-secret-key\",\n \"basicAuthUsername\": \"user\",\n \"basicAuthPassword\": \"pass\"\n }\n }\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.autype.com/api/v1/dev/render/readiness/markdown")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"content\": \"# Hello ${companyName}\\n\\nThis is a **professional** document.\\n\\n## Features\\n\\n- Item 1\\n- Item 2\\n\",\n \"document\": {\n \"type\": \"pdf\",\n \"size\": \"A4\",\n \"orientation\": \"portrait\"\n },\n \"variables\": {\n \"name\": \"Acme Inc\",\n \"date\": \"2024-01-01\"\n },\n \"abbreviations\": {\n \"API\": \"Application Programming Interface\"\n },\n \"defaults\": {},\n \"stylePresetId\": \"550e8400-e29b-41d4-a716-446655440000\",\n \"citations\": [\n {}\n ],\n \"style\": {},\n \"pdfProfile\": \"standard\",\n \"webhook\": {\n \"webhookUrl\": \"https://example.com/webhook\",\n \"webhookAuth\": {\n \"headerName\": \"X-API-Key\",\n \"headerValue\": \"my-secret-key\",\n \"basicAuthUsername\": \"user\",\n \"basicAuthPassword\": \"pass\"\n }\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.autype.com/api/v1/dev/render/readiness/markdown")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"content\": \"# Hello ${companyName}\\n\\nThis is a **professional** document.\\n\\n## Features\\n\\n- Item 1\\n- Item 2\\n\",\n \"document\": {\n \"type\": \"pdf\",\n \"size\": \"A4\",\n \"orientation\": \"portrait\"\n },\n \"variables\": {\n \"name\": \"Acme Inc\",\n \"date\": \"2024-01-01\"\n },\n \"abbreviations\": {\n \"API\": \"Application Programming Interface\"\n },\n \"defaults\": {},\n \"stylePresetId\": \"550e8400-e29b-41d4-a716-446655440000\",\n \"citations\": [\n {}\n ],\n \"style\": {},\n \"pdfProfile\": \"standard\",\n \"webhook\": {\n \"webhookUrl\": \"https://example.com/webhook\",\n \"webhookAuth\": {\n \"headerName\": \"X-API-Key\",\n \"headerValue\": \"my-secret-key\",\n \"basicAuthUsername\": \"user\",\n \"basicAuthPassword\": \"pass\"\n }\n }\n}"
response = http.request(request)
puts response.read_body{
"scope": "semantic_source",
"scoreLabel": "semantic_source_score",
"requiresRenderInspection": true,
"score": 50,
"checkedAt": "<string>",
"summary": {
"errors": 123,
"warnings": 123,
"images": 123,
"tables": 123,
"headings": 123
},
"issues": [
{
"code": "<string>",
"path": "<string>",
"message": "<string>",
"suggestion": "<string>"
}
],
"capabilities": {
"semanticSourceChecks": {
"description": "<string>"
},
"renderedOutputChecks": {
"description": "<string>"
},
"pdfA": {
"description": "<string>"
},
"pdfUa": {
"description": "<string>"
},
"taggedPdf": {
"description": "<string>"
}
}
}Check Extended Markdown export readiness
Converts Extended Markdown through the central AST pipeline and checks metadata, images, headings and tables without rendering or charging credits.
curl --request POST \
--url https://api.autype.com/api/v1/dev/render/readiness/markdown \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"content": "# Hello ${companyName}\n\nThis is a **professional** document.\n\n## Features\n\n- Item 1\n- Item 2\n",
"document": {
"type": "pdf",
"size": "A4",
"orientation": "portrait"
},
"variables": {
"name": "Acme Inc",
"date": "2024-01-01"
},
"abbreviations": {
"API": "Application Programming Interface"
},
"defaults": {},
"stylePresetId": "550e8400-e29b-41d4-a716-446655440000",
"citations": [
{}
],
"style": {},
"pdfProfile": "standard",
"webhook": {
"webhookUrl": "https://example.com/webhook",
"webhookAuth": {
"headerName": "X-API-Key",
"headerValue": "my-secret-key",
"basicAuthUsername": "user",
"basicAuthPassword": "pass"
}
}
}
'import requests
url = "https://api.autype.com/api/v1/dev/render/readiness/markdown"
payload = {
"content": "# Hello ${companyName}
This is a **professional** document.
## Features
- Item 1
- Item 2
",
"document": {
"type": "pdf",
"size": "A4",
"orientation": "portrait"
},
"variables": {
"name": "Acme Inc",
"date": "2024-01-01"
},
"abbreviations": { "API": "Application Programming Interface" },
"defaults": {},
"stylePresetId": "550e8400-e29b-41d4-a716-446655440000",
"citations": [{}],
"style": {},
"pdfProfile": "standard",
"webhook": {
"webhookUrl": "https://example.com/webhook",
"webhookAuth": {
"headerName": "X-API-Key",
"headerValue": "my-secret-key",
"basicAuthUsername": "user",
"basicAuthPassword": "pass"
}
}
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
content: '# Hello ${companyName}\n\nThis is a **professional** document.\n\n## Features\n\n- Item 1\n- Item 2\n',
document: {type: 'pdf', size: 'A4', orientation: 'portrait'},
variables: {name: 'Acme Inc', date: '2024-01-01'},
abbreviations: {API: 'Application Programming Interface'},
defaults: {},
stylePresetId: '550e8400-e29b-41d4-a716-446655440000',
citations: [{}],
style: {},
pdfProfile: 'standard',
webhook: {
webhookUrl: 'https://example.com/webhook',
webhookAuth: {
headerName: 'X-API-Key',
headerValue: 'my-secret-key',
basicAuthUsername: 'user',
basicAuthPassword: 'pass'
}
}
})
};
fetch('https://api.autype.com/api/v1/dev/render/readiness/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/render/readiness/markdown",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'content' => '# Hello ${companyName}
This is a **professional** document.
## Features
- Item 1
- Item 2
',
'document' => [
'type' => 'pdf',
'size' => 'A4',
'orientation' => 'portrait'
],
'variables' => [
'name' => 'Acme Inc',
'date' => '2024-01-01'
],
'abbreviations' => [
'API' => 'Application Programming Interface'
],
'defaults' => [
],
'stylePresetId' => '550e8400-e29b-41d4-a716-446655440000',
'citations' => [
[
]
],
'style' => [
],
'pdfProfile' => 'standard',
'webhook' => [
'webhookUrl' => 'https://example.com/webhook',
'webhookAuth' => [
'headerName' => 'X-API-Key',
'headerValue' => 'my-secret-key',
'basicAuthUsername' => 'user',
'basicAuthPassword' => 'pass'
]
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.autype.com/api/v1/dev/render/readiness/markdown"
payload := strings.NewReader("{\n \"content\": \"# Hello ${companyName}\\n\\nThis is a **professional** document.\\n\\n## Features\\n\\n- Item 1\\n- Item 2\\n\",\n \"document\": {\n \"type\": \"pdf\",\n \"size\": \"A4\",\n \"orientation\": \"portrait\"\n },\n \"variables\": {\n \"name\": \"Acme Inc\",\n \"date\": \"2024-01-01\"\n },\n \"abbreviations\": {\n \"API\": \"Application Programming Interface\"\n },\n \"defaults\": {},\n \"stylePresetId\": \"550e8400-e29b-41d4-a716-446655440000\",\n \"citations\": [\n {}\n ],\n \"style\": {},\n \"pdfProfile\": \"standard\",\n \"webhook\": {\n \"webhookUrl\": \"https://example.com/webhook\",\n \"webhookAuth\": {\n \"headerName\": \"X-API-Key\",\n \"headerValue\": \"my-secret-key\",\n \"basicAuthUsername\": \"user\",\n \"basicAuthPassword\": \"pass\"\n }\n }\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.autype.com/api/v1/dev/render/readiness/markdown")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"content\": \"# Hello ${companyName}\\n\\nThis is a **professional** document.\\n\\n## Features\\n\\n- Item 1\\n- Item 2\\n\",\n \"document\": {\n \"type\": \"pdf\",\n \"size\": \"A4\",\n \"orientation\": \"portrait\"\n },\n \"variables\": {\n \"name\": \"Acme Inc\",\n \"date\": \"2024-01-01\"\n },\n \"abbreviations\": {\n \"API\": \"Application Programming Interface\"\n },\n \"defaults\": {},\n \"stylePresetId\": \"550e8400-e29b-41d4-a716-446655440000\",\n \"citations\": [\n {}\n ],\n \"style\": {},\n \"pdfProfile\": \"standard\",\n \"webhook\": {\n \"webhookUrl\": \"https://example.com/webhook\",\n \"webhookAuth\": {\n \"headerName\": \"X-API-Key\",\n \"headerValue\": \"my-secret-key\",\n \"basicAuthUsername\": \"user\",\n \"basicAuthPassword\": \"pass\"\n }\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.autype.com/api/v1/dev/render/readiness/markdown")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"content\": \"# Hello ${companyName}\\n\\nThis is a **professional** document.\\n\\n## Features\\n\\n- Item 1\\n- Item 2\\n\",\n \"document\": {\n \"type\": \"pdf\",\n \"size\": \"A4\",\n \"orientation\": \"portrait\"\n },\n \"variables\": {\n \"name\": \"Acme Inc\",\n \"date\": \"2024-01-01\"\n },\n \"abbreviations\": {\n \"API\": \"Application Programming Interface\"\n },\n \"defaults\": {},\n \"stylePresetId\": \"550e8400-e29b-41d4-a716-446655440000\",\n \"citations\": [\n {}\n ],\n \"style\": {},\n \"pdfProfile\": \"standard\",\n \"webhook\": {\n \"webhookUrl\": \"https://example.com/webhook\",\n \"webhookAuth\": {\n \"headerName\": \"X-API-Key\",\n \"headerValue\": \"my-secret-key\",\n \"basicAuthUsername\": \"user\",\n \"basicAuthPassword\": \"pass\"\n }\n }\n}"
response = http.request(request)
puts response.read_body{
"scope": "semantic_source",
"scoreLabel": "semantic_source_score",
"requiresRenderInspection": true,
"score": 50,
"checkedAt": "<string>",
"summary": {
"errors": 123,
"warnings": 123,
"images": 123,
"tables": 123,
"headings": 123
},
"issues": [
{
"code": "<string>",
"path": "<string>",
"message": "<string>",
"suggestion": "<string>"
}
],
"capabilities": {
"semanticSourceChecks": {
"description": "<string>"
},
"renderedOutputChecks": {
"description": "<string>"
},
"pdfA": {
"description": "<string>"
},
"pdfUa": {
"description": "<string>"
},
"taggedPdf": {
"description": "<string>"
}
}
}Authorizations
Short-lived, Developer-API-audience token obtained by the trusted MCP service through token exchange (mcp_at_...). Raw MCP resource tokens are rejected.
Body
Extended Markdown content. Will be converted to document sections automatically. Supports all Autype extended Markdown syntax (directives, charts, math, etc.)
"# Hello ${companyName}\n\nThis is a **professional** document.\n\n## Features\n\n- Item 1\n- Item 2\n"
Document settings (page size, margins, orientation, metadata). Must include "type" field.
Show child attributes
Show child attributes
{
"type": "pdf",
"size": "A4",
"orientation": "portrait"
}
{ "name": "Acme Inc", "date": "2024-01-01" }
Abbreviations map. Keys are abbreviations, values are full text
{
"API": "Application Programming Interface"
}
Default styles and formatting options (fontFamily, fontSize, styles, header, footer, etc.)
Optional workspace style UUID or immutable built-in system:. The preset is resolved server-side and merged with inline defaults. Inline defaults win.
"550e8400-e29b-41d4-a716-446655440000"
Citations array (CSL-JSON format) for bibliography
Style configuration for the document
PDF output profile. Only valid when document.type is pdf. PDF/A and PDF/UA profiles flatten interactive form fields.
standard, pdfa-1b, pdfa-2b, pdfa-3b, pdfua-1 Optional webhook configuration. Receives a POST when the job completes or fails.
Show child attributes
Show child attributes
Response
semantic_source semantic_source_score true
ready, needs_attention, blocked 0 <= x <= 100Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
