Quickstart

Get started with the Unmarkdown™ API in under 2 minutes.

Quickstart

Publish your first page in under 2 minutes. Start without an account, then upgrade to permanent publishing when you are ready.

Step 1: Try without auth (demo publish)

The demo endpoint requires no authentication. Your page will be live for 72 hours.

curl -X POST https://api.unmarkdown.com/v1/demo/publish \
  -H "Content-Type: application/json" \
  -d '{
    "title": "Hello World",
    "content": "# Hello World\n\nPublished via the Unmarkdown API.",
    "template_id": "github"
  }'
const response = await fetch(
  "https://api.unmarkdown.com/v1/demo/publish",
  {
    method: "POST",
    headers: { "Content-Type": "application/json" },
    body: JSON.stringify({
      title: "Hello World",
      content: "# Hello World\n\nPublished via the Unmarkdown API.",
      template_id: "github",
    }),
  }
);

const { url, claim_token } = await response.json();
console.log(url);
// https://unmarkdown.com/p/abc123
import requests

response = requests.post(
    "https://api.unmarkdown.com/v1/demo/publish",
    json={
        "title": "Hello World",
        "content": "# Hello World\n\nPublished via the Unmarkdown API.",
        "template_id": "github",
    },
)

data = response.json()
print(data["url"])
# https://unmarkdown.com/p/abc123

The response includes a url you can open immediately, plus a claim_token to save the document permanently later.

Step 2: Get an API key

To publish permanent documents, you need an API key.

  1. Sign up at unmarkdown.com
  2. Open Settings (click your avatar, then Settings)
  3. Go to the API tab
  4. Click Create API key

Your key starts with um_ followed by 64 hex characters. Copy it now. It will only be shown once.

Step 3: Publish with auth

Use your API key to create and publish a permanent document in a single call.

curl -X POST https://api.unmarkdown.com/v1/documents/publish \
  -H "Authorization: Bearer um_your_key_here" \
  -H "Content-Type: application/json" \
  -d '{
    "title": "My First Document",
    "content": "# My First Document\n\n## Summary\n\nThis document was published via the API.",
    "template_id": "executive"
  }'
const response = await fetch(
  "https://api.unmarkdown.com/v1/documents/publish",
  {
    method: "POST",
    headers: {
      "Authorization": "Bearer um_your_key_here",
      "Content-Type": "application/json",
    },
    body: JSON.stringify({
      title: "My First Document",
      content: "# My First Document\n\n## Summary\n\nThis document was published via the API.",
      template_id: "executive",
    }),
  }
);

const { published_url } = await response.json();
console.log(published_url);
// https://unmarkdown.com/u/yourname/my-first-document
import requests

response = requests.post(
    "https://api.unmarkdown.com/v1/documents/publish",
    headers={"Authorization": "Bearer um_your_key_here"},
    json={
        "title": "My First Document",
        "content": "# My First Document\n\n## Summary\n\nThis document was published via the API.",
        "template_id": "executive",
    },
)

data = response.json()
print(data["published_url"])
# https://unmarkdown.com/u/yourname/my-first-document

The response includes the published_url where your document is now live.

Next steps