Začíname
veritra.io monitoruje verejné obstarávanie v celej EÚ. Službu môžete používať cez webový dashboard alebo sa pripojiť cez REST API.
Použiť cez web
Pre väčšinu používateľov. Registrácia, filtre, e-mailový digest, mobilná aplikácia.
Prejsť ↓Integrácia cez API
Pre vývojárov. REST API, webhooky, OpenAPI spec, MCP pre AI agentov.
Prejsť ↓Začíname v dashboarde
Nie je potrebné nič inštalovať ani programovať. Stačí prehliadač a e-mail.
1. Vytvorte si účet
Prejdite na /register a vyplňte e-mail, meno a voliteľne IČO firmy. Ak IČO vyplníte, názov firmy, DIČ aj adresa sa automaticky doplnia z registra ARES.
Heslo zatiaľ nezadávate — nastavíte si ho v ďalšom kroku po kliknutí na overovací odkaz v e-maile.
2. Overte e-mail a nastavte heslo
Do niekoľkých sekúnd dostanete e-mail s overovacím odkazom. Kliknite naň. Otvorí sa stránka, kde si nastavíte heslo (min. 8 znakov).
Po nastavení hesla ste prihlásení a môžete rovno pokračovať do dashboardu.
3. Vytvorte si prvý filter zákaziek
V dashboarde kliknite na Zákazky → Nový filter. Filter je uložená sada kritérií, podľa ktorých vám systém posiela zákazky:
- Región — kraj alebo viac krajov (Bratislava, Trnavský, …)
- Odbor — kategórie zákaziek (Pozemné stavby, IT vývoj, …) alebo CPV kód
- Kľúčové slová — slová, ktoré musia byť v názve alebo popise (napr. „rekonštrukcia mosta")
- Hodnota — min/max predpokladaná hodnota zákazky
Podrobný popis všetkých parametrov filtra nájdete v dokumentácii Hlídača zákaziek.
4. Zapnite e-mail digest
Pre každý filter môžete zapnúť denný e-mail digest. Každý deň o 7:00 dostanete e-mail so zákazkami, ktoré v daný deň pribudli a zodpovedajú vášmu filtru.
Digest sa zapína priamo v detaile filtra — prepínač „Email digest" v hornej časti. Môžete mať viac filtrov, každý s vlastným nastavením digestu.
REST API
Ak chcete dáta programaticky — napríklad ich prepojiť so svojím ERP alebo CRM — použite REST API. Všetky endpointy sú pod /api/v2, autentifikácia cez API kľúč. Väčšina endpointov vracia JSON v envelope s jediným kľúčom 'data'; výnimkami sú PDF faktúry (binárne), export zhôd (CSV/XLSX, pokiaľ nezvolíte format=json) a document preview (302 redirect na signed URL).
Hello world
Keď máte kľúč, voláte API takto:
curl -H "X-Api-Key: mrw_live_…" \ "https://veritra.io/api/v2/leads/tenders/search?qText=rekonstrukce%20mostu&limit=5"
Vráti JSON s najnovšími otvorenými zákazkami. Úplné parametre vyhľadávania nájdete v dokumentácii Hlídača zákaziek.
Ako získať kľúč
Prvý API kľúč vzniká cez dashboard: zaregistrujte sa na webe, overte e-mail a v Nastavenia → Integrácie kliknite „Vygenerovať kľúč". Kľúč sa zobrazí jedenkrát — uložte si ho ihneď (napr. do env / secrets store). Ak ho stratíte, vytvoríte nový a starý zmažete.
Použitie v MCP klientoch (Claude Desktop, Cursor, …)
Kľúč je rovnaký ako pre REST API. Líši sa len spôsob, akým ho klient posiela: MCP server beží na /api/mcp a kľúč ide do X-Api-Key headera handshaku. Plný setup pre Claude Desktop, Cursor a generické HTTP klienty je v dokumentácii MCP.
Autentifikácia
Všetky /api/v2 endpointy autentifikujete jedným API kľúčom (formát mrw_live_HEX64). Kľúč môžete poslať ako X-Api-Key header alebo ako Bearer token:
# header X-Api-Key curl -H "X-Api-Key: mrw_live_…" https://veritra.io/api/v2/account/me # nebo Bearer (kompatibilní s OpenAPI client generators) curl -H "Authorization: Bearer mrw_live_…" https://veritra.io/api/v2/account/me
Kľúč nesie identitu používateľa. Aké služby môže volať, riadi jeho predplatné (pozri sekciu Subscriptions). Môžete mať až 5 aktívnych kľúčov — užitočné na oddelenie prod / dev / per-systém.
Response envelope
Všetky v2 endpointy vracajú jednotný JSON envelope. Single resource pod data, paginované zoznamy pod data + pagination, chyby pod error.
Úspech
// Single resource
{ "data": { "id": "…", "field": "…" } }
// Paginated list
{
"data": [{ "…": "…" }],
"pagination": { "nextCursor": "abc123…", "totalCount": 42 }
}Chyba
{
"error": {
"code": "VALIDATION_ERROR",
"message": "Field 'url' must be a valid HTTPS URL.",
"details": { "field": "url" }
}
}Stabilné error codes: UNAUTHORIZED, FORBIDDEN, NOT_FOUND, VALIDATION_ERROR, CONFLICT, RATE_LIMITED, ENTITLEMENT_REQUIRED, INTERNAL. Klient by mal vetviť na code, nie na message — HTTP status sa mapuje na kód automaticky.
Rate limity
| Parameter | Typ | Popis |
|---|---|---|
| Account API — read | 60/min, 5 000/deň | GET na /api/v2/account/* |
| Account API — write | 10/min, 200/deň | POST, PUT, PATCH, DELETE |
| Servisné API | 100/h/kľúč | Mesačná kvóta podľa danej služby — pozri dokumentáciu služby |
Pri prekročení vracia API HTTP 429 a hlavičku Retry-After (sekundy).
Trial a fakturácia
Po vytvorení účtu máte 1 deň skúšobnej doby zadarmo pre Hlídač zakázek — bez karty, bez fakturačného profilu. Potom je potrebné mať pripojenú kartu alebo zaplatenú zálohovú faktúru, inak služba prejde do SUSPENDED a ďalšie volania vrátia 403. Žiadne tier balíčky — platíte za konkrétnu službu, zrušíte kedykoľvek.
Account API
Správa účtu, kľúčov, fakturácie a webhookov. Všetky /api/v2/account/* endpointy vyžadujú autentizáciu kľúčom.
/api/v2/account/meEkvivalent /profile + /subscriptions + apiKey info. Vhodné pre úvodné načítanie v UI klientoch.
{
"data": {
"account": { "email": "…", "name": "…", "company": "…", "ico": "…", "country": "CZ", "locale": "cs", "isComplete": true },
"subscriptions": [
{ "service": "LEADS", "scope": "CZ", "state": "ACTIVE", "tier": "PAID", "trialEndsAt": null, "paidUntil": "2026-06-30T22:00:00.000Z", "cancelAtPeriodEnd": false }
],
"apiKey": { "keyPrefix": "mrw_live_7fa7785c", "lastUsedAt": "…", "requestsMonth": 120, "requestsLimit": 500 }
}
}/api/v2/account/profile/api/v2/account/profileHeslo a session
/api/v2/account/password/api/v2/account/password/api/v2/account/sessions/revokeAPI kľúče
Kľúč autentizuje voči celému API. Môžete mať až 5 aktívnych kľúčov. Raw kľúč sa vracia len pri vytvorení alebo rotácii — potom ho možno získať späť len vytvorením nového.
/api/v2/account/keys/api/v2/account/keys{ "label": "Production ERP" }{
"data": {
"id": "cm…",
"key": "mrw_live_<hex64>",
"keyPrefix": "mrw_live_7fa7785c",
"label": "Production ERP",
"createdAt": "…"
}
}Kľúč v response je v plnej podobe len tu. Server ukladá len SHA-256 hash; raw kľúč potom nie je možné získať späť. Ak ho stratíte, vytvorte nový a starý vymažte.
/api/v2/account/keys/:id/api/v2/account/keys/:id/api/v2/account/keys/:id/api/v2/account/keys/:id/rotatePredplatné služieb
Aktivácia trialu, prehľad stavu, plánované zrušenie k dátumu paidUntil/trialEndsAt. Pre platené aktivácie (kartou) použite /billing/checkout.
/api/v2/account/subscriptions/api/v2/account/subscriptions{ "service": "LEADS", "scope": "CZ", "mode": "trial" }/api/v2/account/subscriptions/batch{ "service": "LEADS", "scopes": ["CZ","SK","DE"], "mode": "trial" }/api/v2/account/subscriptions/:service{ "cancelAtPeriodEnd": true }API usage
Denný agregát počtu volaní API kľúča za posledných N dní (default 30). Pre monitoring rate limit consumption.
/api/v2/account/usage?days=30Fakturácia
/api/v2/account/billing/api/v2/account/billing/api/v2/account/billing/checkout/api/v2/account/billing/customer-portal/api/v2/account/billing/proforma{ "cycle": "MONTHLY", "currency": "CZK", "scopes": ["CZ","SK"] }/api/v2/account/billing/invoices/api/v2/account/billing/invoices/:invoiceIdExport dát (GDPR)
/api/v2/account/export/api/v2/account/exportZrušenie účtu
/api/v2/account/cancel/request{ "action": "DEACTIVATE" }/api/v2/account/cancel/confirmWebhooky
Account-level webhooky — jeden endpoint pokrýva všetky filtre aj budúce služby. Každý event nesie HMAC-SHA256 podpis v X-Signature-256, idempotency kľúč v X-Idempotency-Key a typ v X-Event-Type. Retry s exponenciálnym backoffom až do ~33 h.
Max 5 endpointov na účet. Podporované eventy a payload schémy má každá služba vo svojej dokumentácii.
/api/v2/account/webhooks/api/v2/account/webhooks{
"url": "https://yourapp.cz/api/veritra-webhook",
"enabledEvents": ["leads.match.created"],
"description": "production"
}/api/v2/account/webhooks/:id/api/v2/account/webhooks/:id/api/v2/account/webhooks/:id/api/v2/account/webhooks/:id/rotate-secretNotifikácie
/api/v2/account/notifications/api/v2/account/notificationsSpätná väzba
/api/v2/feedbackOpenAPI 3.1 spec
Plnú strojovo-čitateľnú špecifikáciu API nájdete na /openapi.json. Použite na auto-generovanie typed klienta v ľubovoľnom jazyku (TypeScript, Python, Go, Rust, …) alebo na import do Postman / Insomnia / Swagger UI.
# Generate TypeScript client npx openapi-typescript https://veritra.io/openapi.json -o ./veritra-types.ts # Generate Python client (openapi-python-client) openapi-python-client generate --url https://veritra.io/openapi.json
Chybové kódy
| Kód | Význam |
|---|---|
| 400 | Chýba pole, neplatný JSON, neplatný formát |
| 401 | Chýba X-Api-Key / Bearer, expirovaný / neplatný token |
| 402 | Bez aktívneho predplatného pre danú službu |
| 403 | Token nepatrí k tomuto účtu, alebo služba je v beta verzii bez whitelistu |
| 404 | Kľúč / token / endpoint nebol nájdený |
| 409 | Email je už zaregistrovaný / kľúč už existuje / limit endpointov (5) / limit filtrov (20) |
| 410 | Token alebo kód vypršal, alebo už bol použitý |
| 412 | Email nie je overený — krok 2 ešte nebol dokončený |
| 429 | Rate limit (Retry-After v hlavičke) |
| 500 | Chyba servera |
Dostupné API služby
Account API (vyššie) je spoločný pre všetkých — onboarding, kľúče, fakturácia, webhooky. Konkrétne dáta sú v doménových API:
Hlídač zákaziek
Zákazky zo 7 portálov — filtre, denný digest, REST API a webhooky
Cenové položky stavieb
Ceny stavebných položiek — priemer, min/max zo zmlúv
Správa zákaziek
Programatické podávanie ponúk na portáloch (NEN, E-ZAK, TenderArena)
MCP — pre AI agentov
Pripojenie ku Claude Desktop alebo vlastnému LLM agentovi cez JSON-RPC tools
Otázky? michal@veritra.io