PasteMD API

Erstellen und teilen Sie Markdown-Dokumente programmatisch. Verwalten Sie Dokumente, Projekte und mehr über die REST API.

Schnellstart

Beginnen Sie mit einem einfachen API-Aufruf, um ein Dokument zu erstellen.

curl -X POST https://api.pastemd.io/api/v1/documents \
  -H "X-API-Key: pm_your_api_key" \
  -H "Content-Type: application/json" \
  -d '{"content": "# Hello World\n\nYour markdown content here."}'

Authentifizierung

Alle API-Anfragen erfordern einen API-Schlüssel im X-API-Key-Header. API-Schlüssel sind für Pro-Plan-Nutzer verfügbar.

Header-Format

X-API-Key: pm_your_api_key

Sie können API-Schlüssel in Ihren Einstellungen

Endpunkte-Übersicht

Die API bietet 13 Endpunkte in drei Kategorien.

MethodePfadBeschreibung
Dokumente
POST/api/v1/documentsNeues Markdown-Dokument erstellen
GET/api/v1/documentsDokumentliste abrufen (mit Paginierung)
GET/api/v1/documents/{id}Dokument per ID (UUID) abrufen
GET/api/v1/documents/slug/{slug}Dokument per Slug abrufen
PATCH/api/v1/documents/{id}Dokument aktualisieren (Teilaktualisierung)
DELETE/api/v1/documents/{id}Dokument löschen
Projekte
POST/api/v1/projectsNeues Projekt erstellen
GET/api/v1/projectsProjektliste abrufen
GET/api/v1/projects/{id}Projektdetails mit Dokumentliste abrufen
PATCH/api/v1/projects/{id}Projekt aktualisieren (nur Eigentümer)
DELETE/api/v1/projects/{id}Projekt löschen (nur Eigentümer)
Nutzung & Profil
GET/api/v1/meProfilinformationen abrufen
GET/api/v1/usageAPI-Nutzung des aktuellen Monats abrufen

Dokumente

POST/api/v1/documents

Neues Markdown-Dokument erstellen

Anfragekörper

FeldTypErforderlichBeschreibung
contentstringJaMarkdown-Inhalt (max. 500.000 Zeichen)
titlestringNeinDokumenttitel (max. 200 Zeichen, wird aus Inhalt extrahiert wenn leer)
expirationstringNeinAblaufzeit: 1h, 1d, 7d, 30d oder never
passwordstringNeinPasswortschutz für den Freigabelink
project_idstringNeinProjekt-ID (UUID) zum Verknüpfen des Dokuments
is_publicbooleanNeinDokument für Suchmaschinen öffentlich machen
show_ai_chatbooleanNeinKI-Chat im Viewer anzeigen (Pro)
show_tocbooleanNeinInhaltsverzeichnis im Viewer anzeigen (Pro)
show_notesbooleanNeinNotizen im Viewer anzeigen (Pro)
show_commentsbooleanNeinKommentare/Feedback im Viewer anzeigen (Pro)
show_summarybooleanNeinKI-Zusammenfassung im Viewer anzeigen (Pro)

Antwort

{
  "id": "550e8400-e29b-41d4-a716-446655440000",
  "slug": "abc123",
  "title": "Hello World",
  "content": "# Hello World\n\nYour markdown content here.",
  "url": "https://pastemd.io/s/abc123",
  "edit_url": "https://pastemd.io/e/550e8400-e29b-41d4-a716-446655440000",
  "view_count": 0,
  "created_at": "2025-01-04T12:00:00Z",
  "updated_at": "2025-01-04T12:00:00Z",
  "is_password_protected": false,
  "is_public": false,
  "project_id": null
}

Dieser Endpunkt wird auf Ihr monatliches Dokumenterstellungskontingent angerechnet (100/Monat).

GET/api/v1/documents

Dokumentliste abrufen (mit Paginierung)

Abfrageparameter

FeldTypErforderlichBeschreibung
pageintegerNeinSeitennummer (Standard: 1)
page_sizeintegerNeinEinträge pro Seite, max. 100 (Standard: 20)
project_idstringNeinNach Projekt-ID filtern

Antwort

{
  "items": [
    {
      "id": "550e8400-...",
      "slug": "abc123",
      "title": "Hello World",
      "url": "https://pastemd.io/s/abc123",
      "view_count": 42,
      "created_at": "2025-01-04T12:00:00Z",
      "updated_at": "2025-01-04T12:00:00Z",
      "is_password_protected": false,
      "is_public": false,
      "project_id": null
    }
  ],
  "total": 15,
  "page": 1,
  "page_size": 20,
  "has_next": false
}
GET/api/v1/documents/{id}

Dokument per ID (UUID) abrufen

Gibt die vollständige Dokumentantwort inklusive Inhalt zurück. Nur eigene Dokumente sind zugänglich.

GET/api/v1/documents/slug/{slug}

Dokument per Slug abrufen

Abfrageparameter

FeldTypErforderlichBeschreibung
passwordstringNeinPasswort für geschützte Dokumente
PATCH/api/v1/documents/{id}

Dokument aktualisieren (Teilaktualisierung)

Anfragekörper

Alle Felder sind optional. Nur angegebene Felder werden aktualisiert.

FeldTypErforderlichBeschreibung
contentstringNeinMarkdown-Inhalt (max. 500.000 Zeichen)
titlestringNeinDokumenttitel (max. 200 Zeichen, wird aus Inhalt extrahiert wenn leer)
expirationstringNeinAblaufzeit. 'never' entfernt die Ablaufzeit
passwordstringNeinPasswort. Leerer String '' entfernt das Passwort
project_idstringNeinProjekt-ID. Leerer String '' trennt vom Projekt
is_publicbooleanNeinDokument für Suchmaschinen öffentlich machen
show_ai_chatbooleanNeinKI-Chat im Viewer anzeigen (Pro)
show_tocbooleanNeinInhaltsverzeichnis im Viewer anzeigen (Pro)
show_notesbooleanNeinNotizen im Viewer anzeigen (Pro)
show_commentsbooleanNeinKommentare/Feedback im Viewer anzeigen (Pro)
show_summarybooleanNeinKI-Zusammenfassung im Viewer anzeigen (Pro)
DELETE/api/v1/documents/{id}

Dokument löschen

Löscht das Dokument dauerhaft. Gibt bei Erfolg 204 No Content zurück.

Projekte

POST/api/v1/projects

Neues Projekt erstellen

Anfragekörper

FeldTypErforderlichBeschreibung
namestringJaProjektname (max. 100 Zeichen)
descriptionstringNeinProjektbeschreibung (max. 500 Zeichen)

Antwort

{
  "id": "550e8400-e29b-41d4-a716-446655440000",
  "name": "My Project",
  "description": "Project description",
  "document_count": 0,
  "member_count": 1,
  "documents": [],
  "created_at": "2025-01-04T12:00:00Z",
  "updated_at": "2025-01-04T12:00:00Z"
}
GET/api/v1/projects

Projektliste abrufen

Antwort

{
  "items": [
    {
      "id": "550e8400-...",
      "name": "My Project",
      "description": "Project description",
      "document_count": 5,
      "member_count": 3,
      "created_at": "2025-01-04T12:00:00Z",
      "updated_at": "2025-01-04T12:00:00Z"
    }
  ],
  "total": 2
}
GET/api/v1/projects/{id}

Projektdetails mit Dokumentliste abrufen

Gibt Projektdetails inklusive Dokumentliste zurück. Nur für Eigentümer und Mitglieder zugänglich.

PATCH/api/v1/projects/{id}

Projekt aktualisieren (nur Eigentümer)

Anfragekörper

FeldTypErforderlichBeschreibung
namestringNeinProjektname (max. 100 Zeichen)
descriptionstringNeinProjektbeschreibung. Leerer String '' entfernt die Beschreibung

Nur der Projekteigentümer kann Einstellungen ändern.

DELETE/api/v1/projects/{id}

Projekt löschen (nur Eigentümer)

Löscht das Projekt. Dokumente werden nicht gelöscht, sondern getrennt. Gibt 204 No Content zurück.

Nutzung & Profil

GET/api/v1/me

Profilinformationen abrufen

Antwort

{
  "id": 12345,
  "email": "user@example.com",
  "display_name": "John Doe",
  "plan": "pro",
  "is_pro": true,
  "created_at": "2025-01-01T00:00:00Z"
}
GET/api/v1/usage

API-Nutzung des aktuellen Monats abrufen

Antwort

{
  "month": "2025-01",
  "docs_created": 23,
  "docs_limit": 100,
  "remaining": 77
}

Fehlercodes

Alle Fehler werden in einem einheitlichen JSON-Format mit Fehlercode und Nachricht zurückgegeben.

StatusBeschreibung
401Ungültiger oder fehlender API-Schlüssel
403Unzureichende Berechtigungen (z.B. kein Projekteigentümer)
404Ressource nicht gefunden oder nicht in Ihrem Besitz
422Ungültiger Anfragekörper oder Parameter
429Monatliches Dokumenterstellungslimit erreicht

Ratenlimits

Nur die Dokumenterstellung wird auf Ihr monatliches Kontingent angerechnet. Alle anderen Operationen sind unbegrenzt.

OperationLimit
Dokumenterstellung (POST)100 pro Monat
Lesen / Aktualisieren / LöschenUnbegrenzt
KI-Chat (pro Dokument)50 Fragen

Bereit loszulegen? Erstellen Sie jetzt Ihren API-Schlüssel.