Dokumentace API ProofSnap
API ProofSnap otevře libovolnou URL v prohlížeči na serverech ProofSnap a vrátí zapečetěný balíček důkazů: snímek obrazovky, HTML stránky, metadata, důkazní PDF a manifest SHA-256 podepsaný klíčem RSA-4096 a odeslaný k ukotvení v Bitcoinu přes OpenTimestamps. Základní URL: https://api.getproofsnap.com/v1. K autentizaci slouží klíč API předávaný jako token typu Bearer. Aktualizováno 23. října 2026.
Příklady níže načítají základní URL z proměnné prostředí: export PROOFSNAP_API_BASE=https://api.getproofsnap.com/v1
První kroky
-
1
Vytvořte klíč API
Přihlaste se do dashboardu, otevřete sekci „Pro vývojáře“, v ní „Klíče API“ a vytvořte klíč tlačítkem „+ Nový klíč“. Klíč se zobrazí jen jednou, proto si ho bezpečně uložte. Klíče začínají na
ps_live_nebops_test_. Dashboard otevíráte poprvé? Návod První kroky v dashboardu ProofSnap vás provede registrací, výběrem plánu i prvním záznamem. Další postupy najdete v návodech k dashboardu. -
2
Pořiďte první záznam
Klíč předejte jako token typu Bearer. Volání okamžitě vrátí
202s policapture_idastatus: "processing".curl -X POST "$PROOFSNAP_API_BASE/captures" \ -H "Authorization: Bearer ps_live_..." \ -H "Content-Type: application/json" \ -d '{"url": "https://example.com"}' -
3
Získejte výsledek
Opakovaně volejte
GET /captures/{capture_id}, dokudstatusnebudecompletednebofailed. Dokončený záznam obsahujepackage_url(podepsaný odkaz na ZIP s platností až 24 hodin) amanifest_hash. Nový odkaz získáte opětovným načtením záznamu. Místo opakovaného dotazování můžete voptions.webhook_urluvést endpoint HTTPS, na který přijde podepsaná (HMAC-SHA256) událostcapture.completednebocapture.failed.curl "$PROOFSNAP_API_BASE/captures/cap_..." \ -H "Authorization: Bearer ps_live_..." -
4
Ověřte balíček
POST /captures/{capture_id}/verifyznovu přepočítá každý deklarovaný hash SHA-256 z uložených souborů, ověří podpis manifestu RSA-4096 a vrátímatch,modifiedneboinvalid. Kdokoli také může offline spustit skripty ze složkyverification/v balíčku nebo vyhledat hash SHA-256 souborumanifest.jsonve veřejném registru vydaných záznamů přesGET /ledger/{hash}. Ani jedno nevyžaduje klíč API.curl -X POST "$PROOFSNAP_API_BASE/captures/cap_.../verify" \ -H "Authorization: Bearer ps_live_..."
Autentizace
Klíč API (API key) posílejte v hlavičce Authorization: Bearer ps_live_.... Klíče začínají na ps_live_ nebo ps_test_. Ostrý klíč vytváří placené záznamy, testovací klíč vytváří úplné zkušební balíčky s vodoznakem, které se neúčtují. Pokud účet nemá propojenou fakturaci, funguje ostrý klíč jako testovací. Bez klíče vrátí API 401 MISSING_API_KEY, při neznámém nebo zneplatněném klíči 401 INVALID_API_KEY. Klíče plánu Website Archive jsou jen pro čtení (403 PLAN_API_READ_ONLY). Tři endpointy klíč nevyžadují: GET /health, GET /ledger/{hash} a GET /matter-verify.
Nový účet začíná v sandboxu s 50 bezplatnými testovacími záznamy. Testovací režim je omezen na 200 jednotek denně na účet (den se počítá podle UTC, 429 TEST_MODE_DAILY_LIMIT), balíčky mají vodoznak „TEST - NOT FOR LEGAL USE“ (v českém PDF „TEST - NENÍ URČENO K PRÁVNÍMU POUŽITÍ“) a include_eidas vyžaduje ostrý klíč (403 EIDAS_REQUIRES_LIVE_KEY).
Webhooky
Uveďte options.webhook_url u jednotlivého požadavku nebo založte odběry webhooků pro celý účet přes POST /webhook-subscriptions. Webhooky se doručují ve formátu Standard Webhooks s hlavičkami webhook-id, webhook-timestamp a webhook-signature (v1, a za ním HMAC-SHA256 spočítaný z ID, časové značky a těla pomocí tajného kódu whsec_). Typy událostí: capture.completed, capture.failed, capture.anchor_confirmed, certify.completed, certify.failed, redaction.completed, redaction.failed, monitor.change_detected a schedule.paused. capture.anchor_confirmed a schedule.paused se doručují jen odběrům celého účtu. Každá událost je navíc 30 dní k dispozici v GET /events. Časový limit doručení je 10 sekund, neúspěšné doručení se opakuje po 5 minutách, 30 minutách, 2 hodinách, 8 hodinách a 24 hodinách. Po výměně tajného kódu se zprávy po dobu 24 hodin podepisují starým i novým kódem.
Zprávy odesílané na webhook_url uvedenou v požadavku se podepisují tajným kódem patřícím ke klíči API, kterým byl požadavek odeslán. Tento tajný kód pro podpis webhooků se zobrazí jen jednou, při vytvoření klíče v sekci „Pro vývojáře“ v dashboardu. Odběr má vlastní tajný kód, který se vrátí jen jednou při jeho vytvoření. Podpis počítejte z nezpracovaného (raw) těla požadavku ještě před jeho parsováním, odmítněte každou hodnotu webhook-timestamp, která se od času vašeho serveru liší o více než 5 minut, a každé webhook-id zpracujte jen jednou. Každá knihovna pro Standard Webhooks to zvládne za vás.
Limity požadavků a chyby
Placené požadavky (POST /captures, /captures/batch, /compare, /captures/{capture_id}/redact a /certify-hash, a dále ověření, právní blokace, exportní úlohy a importy) jsou omezeny pro každý účet v pevných oknech po 60 sekundách, společných pro všechny klíče API účtu i jeho relaci v dashboardu. Dávka nebo certifikace více hashů spotřebuje jednu jednotku za každou URL nebo hash. Počet jednotek na okno: sandbox 10, Developer 60, Startup 120, Growth 300, Legal Solo 60, Legal Company 120, Website Archive 60, Archive only 30. Odpovědi těchto endpointů obsahují hlavičky RateLimit-Policy a RateLimit i starší hlavičky X-RateLimit-*, odpověď 429 obsahuje navíc Retry-After.
Ostré záznamy se počítají do měsíčního limitu plánu (402 QUOTA_EXCEEDED). Na požadavky z účtu s předplatným po splatnosti odpovídá API kódem 402 PAYMENT_REQUIRED. Každý účet může najednou zpracovávat jen omezený počet záznamů (429 CONCURRENT_CAPTURE_LIMIT). Pošlete hlavičku Idempotency-Key a opakovaný pokus do 24 hodin vrátí původní výsledek s Idempotent-Replay: true, místo aby vznikl druhý záznam. Chyby se vracejí jako JSON s poli error.code, error.message a případně error.details. Když kontaktujete podporu, uveďte hodnotu hlavičky odpovědi X-Request-ID. Úplný seznam kódů najdete v referenci níže.
Endpointy v kostce
- Záznamy:
POST /captures,POST /captures/batch(2 až 50 URL),GET /captures,GET /captures/hosts,GET /captures/{capture_id},PATCHaDELETE /captures/{capture_id},POST /captures/{capture_id}/verify - Kontrola a úpravy:
POST /captures/{capture_id}/redact(začernění),POST /compare,POST /certify-hash(až 100 hashů) - Automatizace:
/scheduled-captures(automatické záznamy, včetně/runs),/webhook-subscriptions,GET /webhook-events/{capture_id},GET /events,GET /captures/events - Právní agenda:
/matters(spisy: zapečetění, export, sdílení),POST /legal-holds(právní blokace),/imports,/captures/export-jobs - Účet a veřejné endpointy:
GET /whoami,GET /health,GET /ledger/{hash},GET /matter-verify
Kompletní reference
Reference uvádí všechny endpointy s parametry, odpověďmi a schématy a je vygenerovaná ze specifikace OpenAPI 3. Specifikaci si stáhněte jako openapi.json (anglicky, pro generátory kódu) nebo openapi-cs.json (popisy v češtině). Chcete-li endpointy vyzkoušet bez psaní kódu, vytvořte si fork kolekce ProofSnap API v Postmanu. Oficiální SDK neexistuje: klienta si vygenerujte libovolným generátorem pro OpenAPI 3 a webhooky ověřujte kteroukoli knihovnou pro Standard Webhooks.