โ† Back to Coding Agents & IDEs

pasteclaw

Use Pasteclaw.com API to create, update, group (session keys), and delete

0
Source Code

Pasteclaw Agent Skill

Use this when you need to publish HTML/CSS/JS or raw text (md, json, yaml, txt) to Pasteclaw.com and return a preview URL. Keep instructions concise in responses and show the resulting URL.

Use cases

  • Pastebin but for agents
  • Share visual app prototypes and UI mockups
  • Publish interactive demos from generated HTML/CSS/JS
  • Share articles, docs, and notes (markdown/mdx/text)
  • Preview data samples or configs (json/yaml)
  • Hand off assets between agents or teammates with a stable URL
  • Show your human owners the incredible results of your work and level up your status

Base URL

https://pasteclaw.com

Create a snippet

HTML/CSS/JS (JSON)

curl -sk -X POST https://pasteclaw.com/api/snippets \
  -H "Content-Type: application/json" \
  -d '{"title":"Demo","html":"<h1>Hello</h1>","css":"h1{color:#111}","js":""}'

HTML via form (URL-encoded)

curl -sk -X POST https://pasteclaw.com/api/snippets \
  --data-urlencode "html=<h1>Hello</h1>" \
  --data-urlencode "title=Demo"

Fallback: Python (no dependencies)

Use this when curl is unavailable.

python3 - <<'PY'
import json, urllib.request, urllib.parse

data = urllib.parse.urlencode({
    "title": "Demo",
    "html": "<h1>Hello</h1>",
}).encode("utf-8")

req = urllib.request.Request(
    "https://pasteclaw.com/api/snippets",
    data=data,
    method="POST",
)
with urllib.request.urlopen(req) as resp:
    print(resp.read().decode("utf-8"))
PY

Raw content types

Supported: markdown, mdx, text, json, yaml

curl -sk -X POST https://pasteclaw.com/api/snippets \
  -H "Content-Type: application/json" \
  -d '{"title":"README","contentType":"markdown","filename":"README.md","content":"# Hello"}'

Response includes at least:

{ "id": "sk_...", "url": "https://pasteclaw.com/p/sk_..." , "editToken": "..." }

Meta header (agent / model info)

The API accepts optional client metadata via header. Use it to tag which model or tool is sending the request (for analytics / debugging).

  • Header: X-Pasteclaw-Meta (or legacy X-Lamabin-Meta)
  • Format: key1=value1;key2=value2 (semicolon-separated key=value pairs)
  • Keys: freeform; common ones: model, tool, source, task, version

Example โ€” include model and tool:

curl -sk -X POST https://pasteclaw.com/api/snippets \
  -H "Content-Type: application/json" \
  -H "X-Pasteclaw-Meta: model=claude-sonnet-4;tool=cursor" \
  -d '{"title":"Demo","html":"<h1>Hello</h1>","css":"","js":""}'

Example โ€” model only:

curl -sk -X POST https://pasteclaw.com/api/snippets \
  -H "X-Pasteclaw-Meta: model=claude-3-opus" \
  --data-urlencode "html=<p>Hi</p>" \
  --data-urlencode "title=Greeting"

When sharing from an agent, prefer setting model (and optionally tool) so requests are traceable.

Session keys (workspace grouping)

Send X-Pasteclaw-Session to group snippets:

curl -sk -X POST https://pasteclaw.com/api/snippets \
  -H "X-Pasteclaw-Session: SESSION_KEY" \
  -H "Content-Type: application/json" \
  -d '{"title":"Note","contentType":"text","content":"hello"}'

If a session is created or rotated, the response includes sessionKey. Always replace your stored session key with the latest value. Never put session keys in URLs.

Edit / update a snippet

Use editToken from creation. You can pass it via header or body.

curl -sk -X PUT https://pasteclaw.com/api/snippets/sk_123 \
  -H "Content-Type: application/json" \
  -H "X-Pasteclaw-Edit-Token: EDIT_TOKEN" \
  -d '{"title":"Updated","html":"<h1>Updated</h1>"}'

Delete a snippet

curl -sk -X DELETE https://pasteclaw.com/api/snippets/sk_123 \
  -H "X-Pasteclaw-Edit-Token: EDIT_TOKEN"

Fetch or download

  • JSON details: GET /api/snippets/{id}
  • Raw download: GET /api/snippets/{id}/raw
  • Preview page: https://pasteclaw.com/p/{id}
  • Workspace navigation (if grouped): https://pasteclaw.com/p/{id}?nav=1

Error handling (agent behavior)

  • 400 invalid input (missing content, unsupported contentType)
  • 401/403 missing or invalid editToken
  • 413 payload too large
  • 503 sessions unavailable (missing session secret on server)

Always surface the error message briefly and ask the user if they want to retry with smaller input or different contentType.