POST/v1/demo/publish

Demo Publish

Publish markdown instantly without authentication. Documents expire after 72 hours.

Publish a markdown document instantly without creating an account or providing an API key. This is the fastest way to try Unmarkdown™. Demo pages are live immediately and expire after 72 hours.

This endpoint is designed for LLM agents, quick integrations, and trying the platform before signing up. There are no rate limits or usage quotas on demo publishing.

To keep a demo page permanently, use the Claim endpoint.

Request Body

ParameterTypeRequiredDefaultDescription
contentstringYesThe markdown content to publish. Max 100KB.
titlestring"Untitled"Page title
template_idstring"swiss"Template ID from the template catalog
theme_mode"light" | "dark""light"Color theme

Response

Returns the published URL and a claim token.

FieldTypeDescription
urlstringPublic URL where the page is live
claim_tokenstringUUID token to claim this page later
expires_atstringISO 8601 timestamp when the page expires
template_idstringTemplate applied to the page
idstringDocument UUID

Content Limits

  • Maximum content size: 100KB
  • Content is scanned for abuse patterns (phishing, scams). Flagged content is rejected with a 400 error.
  • Expired pages are automatically cleaned up.

Errors

StatusCodeDescription
400validation_errorMissing content field, exceeds 100KB, or invalid template
400content_rejectedContent flagged by abuse scanner
500internal_errorUnexpected server error

TIP

Save the claim_token from the response. You will need it to convert the demo page into a permanent document after creating an account.

curl -X POST https://api.unmarkdown.com/v1/demo/publish \
  -H "Content-Type: application/json" \
  -d '{
    "content": "# Hello World\n\nPublished in one API call.",
    "title": "Quick Demo"
  }'
const res = await fetch('https://api.unmarkdown.com/v1/demo/publish', {
  method: 'POST',
  headers: {
    'Content-Type': 'application/json'
  },
  body: JSON.stringify({
    content: '# Hello World\n\nPublished in one API call.',
    title: 'Quick Demo'
  })
});
const data = await res.json();
console.log(data.url);         // live page URL
console.log(data.claim_token); // save this to claim later
import requests

res = requests.post(
    'https://api.unmarkdown.com/v1/demo/publish',
    json={
        'content': '# Hello World\n\nPublished in one API call.',
        'title': 'Quick Demo'
    }
)
data = res.json()
print(data['url'])
print(data['claim_token'])

Response (201)

{
  "url": "https://unmarkdown.com/p/a1b2c3d4-e5f6-7890-abcd-ef1234567890",
  "claim_token": "f0e1d2c3-b4a5-6789-0fed-cba987654321",
  "expires_at": "2026-02-18T10:30:00.000Z",
  "template_id": "swiss",
  "id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890"
}

No authentication required. This is the only Unmarkdown™ endpoint that works without an API key.