Markpact API

REST API do publikacji i pobierania plików *.markpact.md. Base URL: https://markpact.com

OpenAPI JSON Zaloguj się po token API

Wprowadzenie

API zwraca JSON (Content-Type: application/json). Błędy mają postać:

Format błędu
        {"ok": false, "error": "Opis błędu"}
        
      

Po publikacji paczka dostaje stronę HTML, raw URL oraz komendę curl (install_command).

Autoryzacja

Token API (mp_...) generujesz w dashboardzie (po zalogowaniu).

Nagłówki
        Authorization: Bearer mp_...
# alternatywnie:
X-Markpact-Token: mp_...
        
      

Endpointy publiczne: GET /api/packages, GET /raw/..., dokumentacja.

Paczki

GET /api/packages

Lista paczek

Public Zwraca ostatnie opublikowane paczki Markpact.

Przykład
        curl -sS https://markpact.com/api/packages
        
      

Przykładowa odpowiedź:

Response
        {
  "ok": true,
  "packages": [...]
}
        
      
GET /raw/{owner}/{pack}.markpact.md

Raw URL

Public Publiczny plik markdown. Pobieranie przez install_command (curl) lub raw_url w redeploy, CI, narzędziach Python — opcjonalnie urisys.

Przykład
        curl -sS https://markpact.com/raw/owner/pack.markpact.md
        
      

Przykładowa odpowiedź:

Response
        # UriPack: ...
        
      
POST /api/publish

Publikacja (JSON)

Bearer token Publikuje treść Markpact z bloku yaml markpact:pack. Wymaga Bearer token z dashboardu.

Przykład
        curl -X POST https://markpact.com/api/publish \
  -H "Authorization: Bearer $MARKPACT_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"name":"uricache","content":"# UriPack..."}'
        
      

Przykładowa odpowiedź:

Response
        {
  "ok": true,
  "package": { "url": "...", "raw_url": "..." }
}
        
      
POST /api/publish

Publikacja (multipart)

Bearer token Upload pliku *.markpact.md.

Przykład
        curl -X POST https://markpact.com/api/publish \
  -H "Authorization: Bearer $MARKPACT_TOKEN" \
  -F "file=@uricache.markpact.md" \
  -F "name=uricache"
        
      

Przykładowa odpowiedź:

Response
        {
  "ok": true,
  "package": {...}
}
        
      

Konto

GET /api/me

Aktualny użytkownik

Bearer token Zwraca profil powiązany z tokenem API.

Przykład
        curl -sS https://markpact.com/api/me \
  -H "Authorization: Bearer $MARKPACT_TOKEN"
        
      

Przykładowa odpowiedź:

Response
        {
  "ok": true,
  "user": { "id": 1, "email": "..." }
}
        
      

SSH

GET /api/ssh-keys

Lista kluczy SSH

Bearer token Publiczne klucze SSH zarejestrowane dla konta.

Przykład
        curl -sS https://markpact.com/api/ssh-keys \
  -H "Authorization: Bearer $MARKPACT_TOKEN"
        
      

Przykładowa odpowiedź:

Response
        {
  "ok": true,
  "keys": [...]
}
        
      
POST /api/ssh-keys

Dodaj klucz SSH

Bearer token Rejestruje klucz publiczny ssh-ed25519 / ssh-rsa.

Przykład
        curl -X POST https://markpact.com/api/ssh-keys \
  -H "Authorization: Bearer $MARKPACT_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"name":"laptop","public_key":"ssh-ed25519 AAAA..."}'
        
      

Przykładowa odpowiedź:

Response
        {
  "ok": true,
  "key": {...}
}
        
      
POST /api/publish-signed

Publikacja podpisana SSH

SSH signature Weryfikuje podpis ssh-keygen -Y sign. Zalecany klient: markpact publish --ssh-key.

Przykład
        markpact publish uricache.markpact.md --ssh-key ~/.ssh/markpact_ed25519
        
      

Przykładowa odpowiedź:

Response
        {
  "ok": true,
  "package": {...},
  "auth": "ssh-signature"
}
        
      
Szczegóły
        Kanoniczna wiadomość podpisu:
markpact-publish-v1
<timestamp>
<nonce>
<sha256(content)>
<name>
<description>