Dokumentacja API

Generator znaczników schema udostępnia dwa publiczne endpointy JSON. Oba są chronione przez Turnstile (wyzwanie Cloudflare) na publicznym formularzu lub darmowym, samodzielnie zakładanym kluczem API dla bezpośrednich wywołań. Nie jest wymagana rejestracja, aby używać formularza; możesz zarejestrować się na darmowy klucz API, aby uzyskać wyższe limity.

Endpointy

POST /api/scan

Uruchamia skan lub pobiera wynik z cache'u dla adresu URL.

Przesyła adres URL do analizy. Zwraca 200, jeśli świeży wynik jest w cache'u (do 24 godzin), lub 202, jeśli skan się uruchamia w tle. Wymaga prawidłowego tokena Turnstile (z formularza), darmowego klucza API lub wewnętrznego tokena uwierzytelniającego.

POST /api/scan — treść żądania

{
  "url": "https://example.com",
  "turnstileToken": "...",  // if from web form
  "forceRescan": false       // optional
}

Odpowiedzi

Status Znaczenie
200 Trafienie cache'u — wynik jest już świeży (do 24 h). Treść zawiera kompletny ScanRecord.
202 Skan uruchomiony w tle — odpytuj GET /api/report/:domain.json aż zwróci 200.
400 Zły lub nierozpoznawalny adres URL.
429 Limit szybkości przekroczony. Czekaj retryAfterSeconds przed ponowną próbą.

Przykład curl

curl -X POST https://schema.unomage.pl/api/scan \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer YOUR_TOKEN" \
  -d '{"url":"https://example.com"}'

Zastąp YOUR_TOKEN swoim darmowym kluczem API (zaczyna się od usk_) z konta, lub pomiń nagłówek Authorization i dołącz prawidłowy turnstileToken, jeśli wywołujesz z kontekstu przeglądarki. Pomiń całkowicie oba pola tokena, aby używać anonimowych limitów (chronione Turnstile).

GET /api/report/:domain.json

Pobiera pełny raport dla domeny.

Zwraca kompletny rekord skanowania dla domeny. Jeśli domena nigdy nie była skanowana, zwraca 404. Wyniki z cache'u (do 24 godzin) nie liczą się do limitów.

Odpowiedzi

curl https://schema.unomage.pl/api/report/example.com.json
Status Znaczenie
200 Full ScanRecord returned
404 Domain never scanned

Limity szybkości

Wyniki z cache'u (do 24 godzin) są zwracane natychmiast i nie liczą się do żadnego limitu.

Uwierzytelnianie

Trzy metody uwierzytelnienia żądania do POST /api/scan: (1) token Turnstile z formularza (tylko przeglądarka), (2) darmowy, samodzielnie założony klucz API (Bearer usk_...), (3) wewnętrzny token uwierzytelniający. GET /api/report/:domain.json nie wymaga uwierzytelniania.

Darmowy klucz API (samodzielny)

Nie masz klucza API? Załóż darmowe konto pod adresem /account/signup aby wygenerować swój z wyższym limitem.

Authorization: Bearer usk_your_key_here

Dla agentów AI używających MCP pomiń całe uwierzytelnianie i zamiast tego wywołaj POST /mcp (nie wymaga tokena).